mirror of
https://github.com/actions/github-script.git
synced 2026-01-01 20:33:06 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ffc2c79a5b | ||
|
|
1ef439ceeb | ||
|
|
b86401ed73 |
42
.github/workflows/integration.yml
vendored
42
.github/workflows/integration.yml
vendored
@@ -2,15 +2,13 @@ name: Integration
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push: {branches: main}
|
push: {branches: main}
|
||||||
pull_request: {branches: main}
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-return:
|
integration:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- id: output-set
|
- id: output-set
|
||||||
uses: ./
|
uses: actions/github-script@main
|
||||||
with:
|
with:
|
||||||
script: return core.getInput('input-value')
|
script: return core.getInput('input-value')
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
@@ -19,39 +17,3 @@ jobs:
|
|||||||
if [[ "${{steps.output-set.outputs.result}}" != "output" ]]; then
|
if [[ "${{steps.output-set.outputs.result}}" != "output" ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test-relative-require:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- id: output-set
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
script: return require('./package.json').name
|
|
||||||
result-encoding: string
|
|
||||||
input-value: output
|
|
||||||
- run: |
|
|
||||||
if [[ "${{steps.output-set.outputs.result}}" != "github-script" ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
test-npm-require:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
with:
|
|
||||||
path: ~/.npm
|
|
||||||
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
|
|
||||||
restore-keys: ${{runner.os}}-npm-
|
|
||||||
- run: npm ci
|
|
||||||
- id: output-set
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
script: return require('@actions/core/package.json').name
|
|
||||||
result-encoding: string
|
|
||||||
input-value: output
|
|
||||||
- run: |
|
|
||||||
if [[ "${{steps.output-set.outputs.result}}" != "@actions/core" ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
2
.licenses/npm/@actions/core.dep.yml
generated
2
.licenses/npm/@actions/core.dep.yml
generated
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: "@actions/core"
|
name: "@actions/core"
|
||||||
version: 1.2.7
|
version: 1.2.6
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions core lib
|
summary: Actions core lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/main/packages/core
|
homepage: https://github.com/actions/toolkit/tree/main/packages/core
|
||||||
|
|||||||
77
README.md
77
README.md
@@ -12,18 +12,12 @@ input should be the body of an asynchronous function call. The following
|
|||||||
arguments will be provided:
|
arguments will be provided:
|
||||||
|
|
||||||
- `github` A pre-authenticated
|
- `github` A pre-authenticated
|
||||||
[octokit/rest.js](https://octokit.github.io/rest.js) client with pagination plugins
|
[octokit/core.js](https://github.com/octokit/core.js#readme) client with REST endpoints and pagination plugins
|
||||||
- `context` An object containing the [context of the workflow
|
- `context` An object containing the [context of the workflow
|
||||||
run](https://github.com/actions/toolkit/blob/main/packages/github/src/context.ts)
|
run](https://github.com/actions/toolkit/blob/main/packages/github/src/context.ts)
|
||||||
- `core` A reference to the [@actions/core](https://github.com/actions/toolkit/tree/main/packages/core) package
|
- `core` A reference to the [@actions/core](https://github.com/actions/toolkit/tree/main/packages/core) package
|
||||||
- `glob` A reference to the [@actions/glob](https://github.com/actions/toolkit/tree/main/packages/glob) package
|
- `glob` A reference to the [@actions/glob](https://github.com/actions/toolkit/tree/main/packages/glob) package
|
||||||
- `io` A reference to the [@actions/io](https://github.com/actions/toolkit/tree/main/packages/io) package
|
- `io` A reference to the [@actions/io](https://github.com/actions/toolkit/tree/main/packages/io) package
|
||||||
- `require` A proxy wrapper around the normal Node.js `require` to enable
|
|
||||||
requiring relative paths (relative to the current working directory) and
|
|
||||||
requiring npm packages installed in the current working directory. If for
|
|
||||||
some reason you need the non-wrapped `require`, there is an escape hatch
|
|
||||||
available: `__original_require__` is the original value of `require` without
|
|
||||||
our wrapping applied.
|
|
||||||
|
|
||||||
Since the `script` is just a function body, these values will already be
|
Since the `script` is just a function body, these values will already be
|
||||||
defined, so you don't have to (see examples below).
|
defined, so you don't have to (see examples below).
|
||||||
@@ -44,7 +38,7 @@ The return value of the script will be in the step's outputs under the
|
|||||||
"result" key.
|
"result" key.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
id: set-result
|
id: set-result
|
||||||
with:
|
with:
|
||||||
script: return "Hello!"
|
script: return "Hello!"
|
||||||
@@ -63,7 +57,7 @@ output of a github-script step. For some workflows, string encoding is preferred
|
|||||||
`result-encoding` input:
|
`result-encoding` input:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
id: my-script
|
id: my-script
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
@@ -82,7 +76,7 @@ By default, github-script will use the token provided to your workflow.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: View context attributes
|
- name: View context attributes
|
||||||
uses: actions/github-script@v4
|
uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
script: console.log(context)
|
script: console.log(context)
|
||||||
```
|
```
|
||||||
@@ -98,7 +92,7 @@ jobs:
|
|||||||
comment:
|
comment:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
script: |
|
script: |
|
||||||
@@ -121,7 +115,7 @@ jobs:
|
|||||||
apply-label:
|
apply-label:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
script: |
|
script: |
|
||||||
@@ -142,7 +136,7 @@ jobs:
|
|||||||
welcome:
|
welcome:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
script: |
|
script: |
|
||||||
@@ -186,7 +180,7 @@ jobs:
|
|||||||
diff:
|
diff:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
script: |
|
script: |
|
||||||
@@ -211,7 +205,7 @@ jobs:
|
|||||||
list-issues:
|
list-issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
script: |
|
script: |
|
||||||
@@ -246,13 +240,15 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const script = require('./path/to/script.js')
|
const script = require(`${process.env.GITHUB_WORKSPACE}/path/to/script.js`)
|
||||||
console.log(script({github, context}))
|
console.log(script({github, context}))
|
||||||
```
|
```
|
||||||
|
|
||||||
|
_Note that the script path given to `require()` must be an **absolute path** in this case, hence using [`GITHUB_WORKSPACE`](https://docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables)._
|
||||||
|
|
||||||
And then export a function from your module:
|
And then export a function from your module:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
@@ -261,6 +257,9 @@ module.exports = ({github, context}) => {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can also use async functions in this manner, as long as you `await` it in
|
||||||
|
the inline script.
|
||||||
|
|
||||||
Note that because you can't `require` things like the GitHub context or
|
Note that because you can't `require` things like the GitHub context or
|
||||||
Actions Toolkit libraries, you'll want to pass them as arguments to your
|
Actions Toolkit libraries, you'll want to pass them as arguments to your
|
||||||
external function.
|
external function.
|
||||||
@@ -269,44 +268,6 @@ Additionally, you'll want to use the [checkout
|
|||||||
action](https://github.com/actions/checkout) to make sure your script file is
|
action](https://github.com/actions/checkout) to make sure your script file is
|
||||||
available.
|
available.
|
||||||
|
|
||||||
### Run a separate file with an async function
|
|
||||||
|
|
||||||
You can also use async functions in this manner, as long as you `await` it in
|
|
||||||
the inline script.
|
|
||||||
|
|
||||||
In your workflow:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
on: push
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
echo-input:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/github-script@v4
|
|
||||||
env:
|
|
||||||
SHA: '${{env.parentSHA}}'
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const script = require('./path/to/script.js')
|
|
||||||
await script({github, context, core})
|
|
||||||
```
|
|
||||||
|
|
||||||
And then export an async function from your module:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
module.exports = async ({github, context, core}) => {
|
|
||||||
const {SHA} = process.env
|
|
||||||
const commit = await github.repos.getCommit({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
ref: `${SHA}`
|
|
||||||
})
|
|
||||||
core.exportVariable('author', commit.data.commit.author.email)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Use npm packages
|
### Use npm packages
|
||||||
|
|
||||||
Like importing your own files above, you can also use installed modules:
|
Like importing your own files above, you can also use installed modules:
|
||||||
@@ -325,10 +286,10 @@ jobs:
|
|||||||
- run: npm ci
|
- run: npm ci
|
||||||
# or one-off:
|
# or one-off:
|
||||||
- run: npm install execa
|
- run: npm install execa
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const execa = require('execa')
|
const execa = require(`${process.env.GITHUB_WORKSPACE}/node_modules/execa`)
|
||||||
|
|
||||||
const { stdout } = await execa('echo', ['hello', 'world'])
|
const { stdout } = await execa('echo', ['hello', 'world'])
|
||||||
|
|
||||||
@@ -346,7 +307,7 @@ jobs:
|
|||||||
echo-input:
|
echo-input:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v4
|
- uses: actions/github-script@v3
|
||||||
env:
|
env:
|
||||||
FIRST_NAME: Mona
|
FIRST_NAME: Mona
|
||||||
LAST_NAME: Octocat
|
LAST_NAME: Octocat
|
||||||
|
|||||||
2401
dist/index.js
vendored
2401
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
59
package-lock.json
generated
59
package-lock.json
generated
@@ -1,14 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "github-script",
|
"name": "github-script",
|
||||||
"version": "4.0.2",
|
"version": "3.1.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "4.0.2",
|
"name": "github-script",
|
||||||
|
"version": "3.1.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.7",
|
"@actions/core": "^1.10.0",
|
||||||
"@actions/github": "^4.0.0",
|
"@actions/github": "^4.0.0",
|
||||||
"@actions/glob": "^0.1.1",
|
"@actions/glob": "^0.1.1",
|
||||||
"@actions/io": "^1.0.2",
|
"@actions/io": "^1.0.2",
|
||||||
@@ -32,9 +33,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
"version": "1.2.7",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||||
"integrity": "sha512-kzLFD5BgEvq6ubcxdgPbRKGD2Qrgya/5j+wh4LZzqT915I0V3rED+MvjH6NXghbvk1MXknpNNQ3uKjXSEN00Ig=="
|
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||||
|
"dependencies": {
|
||||||
|
"@actions/http-client": "^2.0.1",
|
||||||
|
"uuid": "^8.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@actions/core/node_modules/@actions/http-client": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
|
||||||
|
"dependencies": {
|
||||||
|
"tunnel": "^0.0.6"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/github": {
|
"node_modules/@actions/github": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
@@ -8731,10 +8744,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/uuid": {
|
"node_modules/uuid": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
"integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"uuid": "dist/bin/uuid"
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
@@ -9083,9 +9095,23 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": {
|
"@actions/core": {
|
||||||
"version": "1.2.7",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
|
||||||
"integrity": "sha512-kzLFD5BgEvq6ubcxdgPbRKGD2Qrgya/5j+wh4LZzqT915I0V3rED+MvjH6NXghbvk1MXknpNNQ3uKjXSEN00Ig=="
|
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
|
||||||
|
"requires": {
|
||||||
|
"@actions/http-client": "^2.0.1",
|
||||||
|
"uuid": "^8.3.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@actions/http-client": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
|
||||||
|
"requires": {
|
||||||
|
"tunnel": "^0.0.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"@actions/github": {
|
"@actions/github": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
@@ -16303,10 +16329,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uuid": {
|
"uuid": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
"integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==",
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"v8-compile-cache": {
|
"v8-compile-cache": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "github-script",
|
"name": "github-script",
|
||||||
"description": "A GitHub action for executing a simple script",
|
"description": "A GitHub action for executing a simple script",
|
||||||
"version": "4.0.2",
|
"version": "3.2.0",
|
||||||
"author": "GitHub",
|
"author": "GitHub",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.7",
|
"@actions/core": "^1.10.0",
|
||||||
"@actions/github": "^4.0.0",
|
"@actions/github": "^4.0.0",
|
||||||
"@actions/glob": "^0.1.1",
|
"@actions/glob": "^0.1.1",
|
||||||
"@actions/io": "^1.0.2",
|
"@actions/io": "^1.0.2",
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ type AsyncFunctionArguments = {
|
|||||||
glob: typeof glob
|
glob: typeof glob
|
||||||
io: typeof io
|
io: typeof io
|
||||||
require: NodeRequire
|
require: NodeRequire
|
||||||
__original_require__: NodeRequire
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function callAsyncFunction<T>(
|
export function callAsyncFunction<T>(
|
||||||
|
|||||||
11
src/main.ts
11
src/main.ts
@@ -3,7 +3,6 @@ import {context, getOctokit} from '@actions/github'
|
|||||||
import * as glob from '@actions/glob'
|
import * as glob from '@actions/glob'
|
||||||
import * as io from '@actions/io'
|
import * as io from '@actions/io'
|
||||||
import {callAsyncFunction} from './async-function'
|
import {callAsyncFunction} from './async-function'
|
||||||
import {wrapRequire} from './wrap-require'
|
|
||||||
|
|
||||||
process.on('unhandledRejection', handleError)
|
process.on('unhandledRejection', handleError)
|
||||||
main().catch(handleError)
|
main().catch(handleError)
|
||||||
@@ -30,15 +29,7 @@ async function main(): Promise<void> {
|
|||||||
|
|
||||||
// Using property/value shorthand on `require` (e.g. `{require}`) causes compilation errors.
|
// Using property/value shorthand on `require` (e.g. `{require}`) causes compilation errors.
|
||||||
const result = await callAsyncFunction(
|
const result = await callAsyncFunction(
|
||||||
{
|
{require: require, github, context, core, glob, io},
|
||||||
require: wrapRequire,
|
|
||||||
__original_require__: __non_webpack_require__,
|
|
||||||
github,
|
|
||||||
context,
|
|
||||||
core,
|
|
||||||
glob,
|
|
||||||
io
|
|
||||||
},
|
|
||||||
script
|
script
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
import * as path from 'path'
|
|
||||||
|
|
||||||
export const wrapRequire = new Proxy(__non_webpack_require__, {
|
|
||||||
apply: (target, thisArg, [moduleID]) => {
|
|
||||||
if (moduleID.startsWith('.')) {
|
|
||||||
moduleID = path.resolve(moduleID)
|
|
||||||
return target.apply(thisArg, [moduleID])
|
|
||||||
}
|
|
||||||
|
|
||||||
const modulePath = target.resolve.apply(thisArg, [
|
|
||||||
moduleID,
|
|
||||||
{
|
|
||||||
// Webpack does not have an escape hatch for getting the actual
|
|
||||||
// module, other than `eval`.
|
|
||||||
paths: [process.cwd()]
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
return target.apply(thisArg, [modulePath])
|
|
||||||
},
|
|
||||||
|
|
||||||
get: (target, prop, receiver) => {
|
|
||||||
Reflect.get(target, prop, receiver)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
declare const __non_webpack_require__: NodeRequire
|
|
||||||
Reference in New Issue
Block a user