-
Notifications
You must be signed in to change notification settings - Fork 444
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
5,147 additions
and
568 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import {callAsyncFunction} from '../src/async-function' | ||
|
||
describe('callAsyncFunction', () => { | ||
test('calls the function with its arguments', async () => { | ||
const result = await callAsyncFunction({foo: 'bar'}, 'return foo') | ||
expect(result).toEqual('bar') | ||
}) | ||
|
||
test('throws on ReferenceError', async () => { | ||
expect.assertions(1) | ||
|
||
try { | ||
await callAsyncFunction({}, 'proces') | ||
} catch (err) { | ||
expect(err).toBeInstanceOf(ReferenceError) | ||
} | ||
}) | ||
|
||
test('can access process', async () => { | ||
await callAsyncFunction({}, 'process') | ||
}) | ||
|
||
test('can access console', async () => { | ||
await callAsyncFunction({}, 'console') | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,7 +34,7 @@ module.exports = | |
/******/ // the startup function | ||
/******/ function startup() { | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(131); | ||
/******/ return __webpack_require__(833); | ||
/******/ }; | ||
/******/ // initialize runtime | ||
/******/ runtime(__webpack_require__); | ||
|
@@ -1442,64 +1442,6 @@ module.exports = uniq; | |
|
||
module.exports = require("child_process"); | ||
|
||
/***/ }), | ||
|
||
/***/ 131: | ||
/***/ (function(__unusedmodule, __webpack_exports__, __webpack_require__) { | ||
|
||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); | ||
/* harmony import */ var _actions_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_actions_core__WEBPACK_IMPORTED_MODULE_0__); | ||
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(469); | ||
/* harmony import */ var _actions_github__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_actions_github__WEBPACK_IMPORTED_MODULE_1__); | ||
|
||
|
||
process.on('unhandledRejection', handleError); | ||
main().catch(handleError); | ||
async function main() { | ||
const AsyncFunction = Object.getPrototypeOf(async () => { }).constructor; | ||
const token = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('github-token', { required: true }); | ||
const debug = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('debug'); | ||
const userAgent = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('user-agent'); | ||
const previews = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('previews'); | ||
const opts = {}; | ||
if (debug === 'true') | ||
opts.log = console; | ||
if (userAgent != null) | ||
opts.userAgent = userAgent; | ||
if (previews != null) | ||
opts.previews = previews.split(','); | ||
const client = new _actions_github__WEBPACK_IMPORTED_MODULE_1__.GitHub(token, opts); | ||
const script = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('script', { required: true }); | ||
const fn = new AsyncFunction('require', 'github', 'context', script); | ||
const result = await fn(__webpack_require__(875), client, _actions_github__WEBPACK_IMPORTED_MODULE_1__.context); | ||
let encoding = _actions_core__WEBPACK_IMPORTED_MODULE_0__.getInput('result-encoding'); | ||
encoding = encoding ? encoding : 'json'; | ||
let output; | ||
switch (encoding) { | ||
case 'json': | ||
output = JSON.stringify(result); | ||
break; | ||
case 'string': | ||
output = String(result); | ||
break; | ||
default: | ||
throw new Error('"result-encoding" must be either "string" or "json"'); | ||
} | ||
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setOutput('result', output); | ||
} | ||
function handleError(err) { | ||
console.error(err); | ||
if (err && err.message) { | ||
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setFailed(err.message); | ||
} | ||
else { | ||
_actions_core__WEBPACK_IMPORTED_MODULE_0__.setFailed(`Unhandled error: ${err}`); | ||
} | ||
} | ||
|
||
|
||
/***/ }), | ||
|
||
/***/ 141: | ||
|
@@ -2089,7 +2031,7 @@ exports.getUserAgent = getUserAgent; | |
/***/ 215: | ||
/***/ (function(module) { | ||
|
||
module.exports = {"_from":"@octokit/rest@^16.43.1","_id":"@octokit/[email protected]","_inBundle":false,"_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_location":"/@octokit/rest","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"@octokit/rest@^16.43.1","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"^16.43.1","saveSpec":null,"fetchSpec":"^16.43.1"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_shasum":"3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b","_spec":"@octokit/rest@^16.43.1","_where":"/Users/jclem/src/github.com/actions/github-script/node_modules/@actions/github","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"[email protected]"},{"name":"Fabian Jakobs","email":"[email protected]"},{"name":"Joe Gallo","email":"[email protected]"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"deprecated":false,"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.43.1"}; | ||
module.exports = {"name":"@octokit/rest","version":"16.43.1","publishConfig":{"access":"public"},"description":"GitHub REST API client for Node.js","keywords":["octokit","github","rest","api-client"],"author":"Gregor Martynus (https://github.com/gr2m)","contributors":[{"name":"Mike de Boer","email":"[email protected]"},{"name":"Fabian Jakobs","email":"[email protected]"},{"name":"Joe Gallo","email":"[email protected]"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"repository":"https://github.com/octokit/rest.js","dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"types":"index.d.ts","scripts":{"coverage":"nyc report --reporter=html && open coverage/index.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","pretest":"npm run -s lint","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","build":"npm-run-all build:*","build:ts":"npm run -s update-endpoints:typescript","prebuild:browser":"mkdirp dist/","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","prevalidate:ts":"npm run -s build:ts","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","start-fixtures-server":"octokit-fixtures-server"},"license":"MIT","files":["index.js","index.d.ts","lib","plugins"],"nyc":{"ignore":["test"]},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_from":"@octokit/[email protected]"}; | ||
|
||
/***/ }), | ||
|
||
|
@@ -9194,6 +9136,75 @@ function sync (path, options) { | |
} | ||
|
||
|
||
/***/ }), | ||
|
||
/***/ 833: | ||
/***/ (function(__unusedmodule, __webpack_exports__, __webpack_require__) { | ||
|
||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
|
||
// EXTERNAL MODULE: ./node_modules/@actions/core/lib/core.js | ||
var core = __webpack_require__(470); | ||
|
||
// EXTERNAL MODULE: ./node_modules/@actions/github/lib/github.js | ||
var lib_github = __webpack_require__(469); | ||
|
||
// CONCATENATED MODULE: ./src/async-function.ts | ||
const AsyncFunction = Object.getPrototypeOf(async () => { }).constructor; | ||
async function callAsyncFunction(args, source) { | ||
const fn = new AsyncFunction(...Object.keys(args), source); | ||
return fn(...Object.values(args)); | ||
} | ||
|
||
// CONCATENATED MODULE: ./src/main.ts | ||
|
||
|
||
|
||
process.on('unhandledRejection', handleError); | ||
main().catch(handleError); | ||
async function main() { | ||
const token = Object(core.getInput)('github-token', { required: true }); | ||
const debug = Object(core.getInput)('debug'); | ||
const userAgent = Object(core.getInput)('user-agent'); | ||
const previews = Object(core.getInput)('previews'); | ||
const opts = {}; | ||
if (debug === 'true') | ||
opts.log = console; | ||
if (userAgent != null) | ||
opts.userAgent = userAgent; | ||
if (previews != null) | ||
opts.previews = previews.split(','); | ||
const github = new lib_github.GitHub(token, opts); | ||
const script = Object(core.getInput)('script', { required: true }); | ||
// Using property/value shorthand on `require` (e.g. `{require}`) causes compilatin errors. | ||
const result = callAsyncFunction({ require: __webpack_require__(875), github: github, context: lib_github.context }, script); | ||
let encoding = Object(core.getInput)('result-encoding'); | ||
encoding = encoding ? encoding : 'json'; | ||
let output; | ||
switch (encoding) { | ||
case 'json': | ||
output = JSON.stringify(result); | ||
break; | ||
case 'string': | ||
output = String(result); | ||
break; | ||
default: | ||
throw new Error('"result-encoding" must be either "string" or "json"'); | ||
} | ||
Object(core.setOutput)('result', output); | ||
} | ||
function handleError(err) { | ||
console.error(err); | ||
if (err && err.message) { | ||
Object(core.setFailed)(err.message); | ||
} | ||
else { | ||
Object(core.setFailed)(`Unhandled error: ${err}`); | ||
} | ||
} | ||
|
||
|
||
/***/ }), | ||
|
||
/***/ 835: | ||
|
@@ -25309,6 +25320,36 @@ function onceStrict (fn) { | |
/******/ }; | ||
/******/ }(); | ||
/******/ | ||
/******/ /* webpack/runtime/define property getter */ | ||
/******/ !function() { | ||
/******/ // define getter function for harmony exports | ||
/******/ var hasOwnProperty = Object.prototype.hasOwnProperty; | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!hasOwnProperty.call(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ }(); | ||
/******/ | ||
/******/ /* webpack/runtime/create fake namespace object */ | ||
/******/ !function() { | ||
/******/ // create a fake namespace object | ||
/******/ // mode & 1: value is a module id, require it | ||
/******/ // mode & 2: merge all properties of value into the ns | ||
/******/ // mode & 4: return value when already ns object | ||
/******/ // mode & 8|1: behave like require | ||
/******/ __webpack_require__.t = function(value, mode) { | ||
/******/ if(mode & 1) value = this(value); | ||
/******/ if(mode & 8) return value; | ||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
/******/ var ns = Object.create(null); | ||
/******/ __webpack_require__.r(ns); | ||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
/******/ return ns; | ||
/******/ }; | ||
/******/ }(); | ||
/******/ | ||
/******/ /* webpack/runtime/compat get default export */ | ||
/******/ !function() { | ||
/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
|
@@ -25321,16 +25362,5 @@ function onceStrict (fn) { | |
/******/ }; | ||
/******/ }(); | ||
/******/ | ||
/******/ /* webpack/runtime/define property getter */ | ||
/******/ !function() { | ||
/******/ // define getter function for harmony exports | ||
/******/ var hasOwnProperty = Object.prototype.hasOwnProperty; | ||
/******/ __webpack_require__.d = function(exports, name, getter) { | ||
/******/ if(!hasOwnProperty.call(exports, name)) { | ||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
/******/ } | ||
/******/ }; | ||
/******/ }(); | ||
/******/ | ||
/******/ } | ||
); |
Oops, something went wrong.