├── .editorconfig ├── .eslintrc.js ├── .gitattributes ├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .node-version ├── .npmrc ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── __tests__ ├── Octoken.test.ts └── TokenCreator.test.ts ├── action.yaml ├── dist ├── index.js ├── index.js.map ├── licnses.txt └── sourcemap-register.js ├── jest.config.js ├── package-lock.json ├── package.json ├── renovate.json5 ├── src ├── Octoken.ts ├── TokenCreator.ts └── main.ts ├── tsconfig.eslint.json └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_size = 2 8 | indent_style = space 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | "@cybozu/eslint-config/presets/node", 4 | "@cybozu/eslint-config/presets/typescript", 5 | "prettier", 6 | ], 7 | env: { 8 | node: true, 9 | es6: true, 10 | }, 11 | parserOptions: { 12 | ecmaVersion: 9, 13 | sourceType: "module", 14 | project: "./tsconfig.eslint.json", 15 | }, 16 | rules: { 17 | quotes: ["error", "double", { avoidEscape: true }], 18 | "object-curly-spacing": ["error", "always", { arraysInObjects: true }], 19 | "node/no-unsupported-features/es-syntax": "off", 20 | "node/no-unpublished-import": [ 21 | "error", 22 | { 23 | allowModules: ["nock"], 24 | }, 25 | ], 26 | }, 27 | }; 28 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | dist/** -diff linguist-generated=true 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | 9 | jobs: 10 | test: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4 15 | 16 | - name: Setup Node.js 17 | uses: actions/setup-node@v4 18 | with: 19 | node-version-file: .node-version 20 | cache: npm 21 | 22 | - name: Install Node modules 23 | run: npm ci 24 | 25 | - name: Run test 26 | run: npm test 27 | 28 | lint: 29 | runs-on: ubuntu-latest 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@v4 33 | 34 | - name: Setup Node.js 35 | uses: actions/setup-node@v4 36 | with: 37 | node-version-file: .node-version 38 | cache: npm 39 | 40 | - name: Install Node modules 41 | run: npm ci 42 | 43 | - name: Run lint 44 | run: npm run lint 45 | 46 | package: 47 | runs-on: ubuntu-latest 48 | steps: 49 | - name: Checkout 50 | uses: actions/checkout@v4 51 | 52 | - name: Setup Node.js 53 | uses: actions/setup-node@v4 54 | with: 55 | node-version-file: .node-version 56 | cache: npm 57 | 58 | - name: Install Node modules 59 | run: npm ci 60 | 61 | - name: Run package 62 | run: npm run package 63 | 64 | - name: Check for differences in compilation results 65 | run: | 66 | git update-index --refresh 67 | git diff-index --quiet HEAD -- 68 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 16.20.2 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # Refuse to install any package that claims to not be compatible with the current Node.js version. 2 | engine-strict=true 3 | 4 | # Configure with an exact version rather than using npm’s default semver range operator. 5 | save-exact=true 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | /lib/ 3 | node_modules/ 4 | package.json 5 | package-lock.json 6 | tsconfig.json 7 | tsconfig.eslint.json 8 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Cybozu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Octoken 2 | 3 | > [!WARNING] 4 | > **Please note: This action has been archived and should no longer be used. Please, migrate your workflows to the [actions/create-github-app-token](https://github.com/actions/create-github-app-token), which is being actively maintained by the official GitHub organization.** 5 | 6 | This action makes it easy to get a token for your GitHub App. 7 | 8 | [![GitHub Actions status](https://github.com/cybozu/octoken-action/workflows/Continuous%20Integration/badge.svg)](https://github.com/cybozu/octoken-action/actions?query=workflow%3A%22Continuous+Integration%22) 9 | 10 | ## Usage 11 | 12 | ### Pre-requisites 13 | 14 | [Create a GitHub App](https://docs.github.com/en/free-pro-team@latest/developers/apps/creating-a-github-app) and install it on the users or organizations you want to access from within Workflow. 15 | 16 | Then, [generate a private key](https://docs.github.com/en/free-pro-team@latest/developers/apps/authenticating-with-github-apps#generating-a-private-key) and save it as is in [encrypted secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets). 17 | 18 | ### Inputs 19 | 20 | - `github_app_id` - ID of the GitHub App used to create the Access Token 21 | - `github_app_private_key` - A private key of the GitHub App used to create the Access Token (Refers to the value stored in encrypted secrets) 22 | - `target_account` (Optional) - The target user or organization that you want to access with the token (Default: The owner of the repository in which the Workflow is running) 23 | 24 | ### Outputs 25 | 26 | - `token` - An installation access token created 27 | 28 | ### Example workflow 29 | 30 | ```yaml 31 | name: Using GitHub App token 32 | 33 | on: push 34 | 35 | jobs: 36 | build: 37 | runs-on: ubuntu-latest 38 | 39 | steps: 40 | - uses: cybozu/octoken-action@v1 41 | id: create-iat 42 | with: 43 | github_app_id: 12345 44 | github_app_private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} 45 | target_account: cybozu 46 | 47 | - name: Use Installation Access Token 48 | env: 49 | IAT: ${{ steps.create-iat.outputs.token }} 50 | run: | 51 | curl --include --fail -H "Authorization: token ${IAT}" https://api.github.com/installation/repositories 52 | ``` 53 | 54 | ## License 55 | 56 | The scripts and documentation in this project are released under the [MIT License](LICENSE). 57 | -------------------------------------------------------------------------------- /__tests__/Octoken.test.ts: -------------------------------------------------------------------------------- 1 | import { getInput, setFailed, setOutput, setSecret } from "@actions/core"; 2 | import { run } from "../src/Octoken"; 3 | import { TokenCreator } from "../src/TokenCreator"; 4 | 5 | jest.mock("@actions/core"); 6 | jest.mock("../src/TokenCreator"); 7 | 8 | describe("Octoken", () => { 9 | describe(".run", () => { 10 | let inputs: Record; 11 | 12 | beforeEach(() => { 13 | // Returns a dummy value from core.getInput 14 | inputs = { 15 | github_app_id: "1234", 16 | github_app_private_key: "dummy_key", 17 | target_account: "test_org", 18 | }; 19 | (getInput as jest.Mock).mockImplementation((name) => inputs[name]); 20 | 21 | // Revert core.setFailed to the original implementation 22 | const { setFailed: originalSetFailed } = 23 | jest.requireActual("@actions/core"); 24 | (setFailed as jest.Mock).mockImplementation(originalSetFailed); 25 | }); 26 | 27 | it("outputs the token settings", async () => { 28 | // setup 29 | const getInstallationAccessTokenMock = jest 30 | .spyOn(TokenCreator.prototype, "getInstallationAccessToken") 31 | .mockResolvedValue("dummy_token"); 32 | 33 | // exercise 34 | await run(); 35 | 36 | // verify 37 | expect(TokenCreator).toHaveBeenCalledTimes(1); 38 | expect(TokenCreator).toHaveBeenCalledWith({ 39 | appId: 1234, 40 | privateKey: "dummy_key", 41 | }); 42 | 43 | expect(getInstallationAccessTokenMock).toHaveBeenCalledTimes(1); 44 | expect(getInstallationAccessTokenMock).toHaveBeenCalledWith("test_org"); 45 | 46 | expect(setSecret).toHaveBeenCalledWith("dummy_token"); 47 | expect(setOutput).toHaveBeenCalledWith("token", "dummy_token"); 48 | 49 | expect(process.exitCode).toBeUndefined(); 50 | }); 51 | 52 | it("outputs the token settings for the specified account", async () => { 53 | // setup 54 | inputs.target_account = "other_org"; 55 | 56 | const getInstallationAccessTokenMock = jest 57 | .spyOn(TokenCreator.prototype, "getInstallationAccessToken") 58 | .mockResolvedValue("dummy_token_for_other_org"); 59 | 60 | // exercise 61 | await run(); 62 | 63 | // verify 64 | expect(TokenCreator).toHaveBeenCalledTimes(1); 65 | expect(TokenCreator).toHaveBeenCalledWith({ 66 | appId: 1234, 67 | privateKey: "dummy_key", 68 | }); 69 | 70 | expect(getInstallationAccessTokenMock).toHaveBeenCalledTimes(1); 71 | expect(getInstallationAccessTokenMock).toHaveBeenCalledWith("other_org"); 72 | 73 | expect(setSecret).toHaveBeenCalledWith("dummy_token_for_other_org"); 74 | expect(setOutput).toHaveBeenCalledWith( 75 | "token", 76 | "dummy_token_for_other_org", 77 | ); 78 | 79 | expect(process.exitCode).toBeUndefined(); 80 | }); 81 | 82 | it("sets the error status when an error occurs", async () => { 83 | // setup 84 | const getInstallationAccessTokenMock = jest 85 | .spyOn(TokenCreator.prototype, "getInstallationAccessToken") 86 | .mockRejectedValue(new Error("test error")); 87 | 88 | // exercise 89 | await run(); 90 | 91 | // verify 92 | expect(getInstallationAccessTokenMock).toHaveBeenCalledTimes(1); 93 | expect(getInstallationAccessTokenMock).toHaveBeenCalledWith("test_org"); 94 | 95 | expect(setFailed).toHaveBeenCalledTimes(1); 96 | expect(setFailed).toHaveBeenCalledWith("test error"); 97 | 98 | expect(process.exitCode).toBe(1); 99 | }); 100 | }); 101 | }); 102 | -------------------------------------------------------------------------------- /__tests__/TokenCreator.test.ts: -------------------------------------------------------------------------------- 1 | import { TokenCreator } from "../src/TokenCreator"; 2 | import nock from "nock"; 3 | import { createAppAuth } from "@octokit/auth-app"; 4 | 5 | jest.mock("@octokit/auth-app"); 6 | 7 | describe(TokenCreator, () => { 8 | describe("#getInstallationAccessToken", () => { 9 | beforeEach(() => { 10 | // Returns a dummy value from createAppAuth 11 | (createAppAuth as jest.Mock).mockImplementation(() => { 12 | return () => ({ 13 | type: "app", 14 | token: "dummy_jwt", 15 | }); 16 | }); 17 | 18 | // Returns a dummy value from GitHub API 19 | nock("https://api.github.com") 20 | .get("/app/installations") 21 | .reply(200, [ 22 | { id: 1, account: { login: "valid_user" } }, 23 | { id: 2, account: { login: "valid_org" } }, 24 | ]) 25 | .post("/app/installations/2/access_tokens") 26 | .reply(201, { token: "v1.1234567890dummy" }); 27 | }); 28 | 29 | it("returns a token when a valid account is specified", async () => { 30 | // setup 31 | const octoken = new TokenCreator({ 32 | appId: 1234, 33 | privateKey: "test_private_key", 34 | }); 35 | 36 | // exercise & verify 37 | await expect( 38 | octoken.getInstallationAccessToken("valid_org"), 39 | ).resolves.toBe("v1.1234567890dummy"); 40 | }); 41 | 42 | it("throws the error when a non-existent account is specified", async () => { 43 | // setup 44 | const octoken = new TokenCreator({ 45 | appId: 1234, 46 | privateKey: "test_private_key", 47 | }); 48 | 49 | // exercise & verify 50 | await expect( 51 | octoken.getInstallationAccessToken("non_existent_org"), 52 | ).rejects.toThrow( 53 | "Unable to find a installation for the specified account: non_existent_org", 54 | ); 55 | }); 56 | }); 57 | }); 58 | -------------------------------------------------------------------------------- /action.yaml: -------------------------------------------------------------------------------- 1 | name: Octoken 2 | description: GitHub Action for creating installation access tokens for a GitHub App 3 | author: Cybozu 4 | inputs: 5 | github_app_id: 6 | required: true 7 | description: ID of the GitHub App used to create the Access Token 8 | github_app_private_key: 9 | required: true 10 | description: A private key of the GitHub App used to create the Access Token 11 | target_account: 12 | required: false 13 | description: The target user or organization that you want to access with the token 14 | outputs: 15 | token: 16 | description: An installation access token created 17 | runs: 18 | using: node16 19 | main: dist/index.js 20 | branding: 21 | icon: lock 22 | color: gray-dark 23 | -------------------------------------------------------------------------------- /dist/licnses.txt: -------------------------------------------------------------------------------- 1 | @actions/core 2 | MIT 3 | The MIT License (MIT) 4 | 5 | Copyright 2019 GitHub 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 | 13 | @actions/github 14 | MIT 15 | 16 | @actions/http-client 17 | MIT 18 | Actions Http Client for Node.js 19 | 20 | Copyright (c) GitHub, Inc. 21 | 22 | All rights reserved. 23 | 24 | MIT License 25 | 26 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 27 | associated documentation files (the "Software"), to deal in the Software without restriction, 28 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 29 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 30 | subject to the following conditions: 31 | 32 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 33 | 34 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 35 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 36 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 38 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 39 | 40 | 41 | @octokit/auth-app 42 | MIT 43 | The MIT License 44 | 45 | Copyright (c) 2019 Octokit contributors 46 | 47 | Permission is hereby granted, free of charge, to any person obtaining a copy 48 | of this software and associated documentation files (the "Software"), to deal 49 | in the Software without restriction, including without limitation the rights 50 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 51 | copies of the Software, and to permit persons to whom the Software is 52 | furnished to do so, subject to the following conditions: 53 | 54 | The above copyright notice and this permission notice shall be included in 55 | all copies or substantial portions of the Software. 56 | 57 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 58 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 59 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 60 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 61 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 62 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 63 | THE SOFTWARE. 64 | 65 | 66 | @octokit/auth-token 67 | MIT 68 | The MIT License 69 | 70 | Copyright (c) 2019 Octokit contributors 71 | 72 | Permission is hereby granted, free of charge, to any person obtaining a copy 73 | of this software and associated documentation files (the "Software"), to deal 74 | in the Software without restriction, including without limitation the rights 75 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 76 | copies of the Software, and to permit persons to whom the Software is 77 | furnished to do so, subject to the following conditions: 78 | 79 | The above copyright notice and this permission notice shall be included in 80 | all copies or substantial portions of the Software. 81 | 82 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 83 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 84 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 85 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 86 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 87 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 88 | THE SOFTWARE. 89 | 90 | 91 | @octokit/core 92 | MIT 93 | The MIT License 94 | 95 | Copyright (c) 2019 Octokit contributors 96 | 97 | Permission is hereby granted, free of charge, to any person obtaining a copy 98 | of this software and associated documentation files (the "Software"), to deal 99 | in the Software without restriction, including without limitation the rights 100 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 101 | copies of the Software, and to permit persons to whom the Software is 102 | furnished to do so, subject to the following conditions: 103 | 104 | The above copyright notice and this permission notice shall be included in 105 | all copies or substantial portions of the Software. 106 | 107 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 108 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 109 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 110 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 111 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 112 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 113 | THE SOFTWARE. 114 | 115 | 116 | @octokit/endpoint 117 | MIT 118 | The MIT License 119 | 120 | Copyright (c) 2018 Octokit contributors 121 | 122 | Permission is hereby granted, free of charge, to any person obtaining a copy 123 | of this software and associated documentation files (the "Software"), to deal 124 | in the Software without restriction, including without limitation the rights 125 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 126 | copies of the Software, and to permit persons to whom the Software is 127 | furnished to do so, subject to the following conditions: 128 | 129 | The above copyright notice and this permission notice shall be included in 130 | all copies or substantial portions of the Software. 131 | 132 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 133 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 134 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 135 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 136 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 137 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 138 | THE SOFTWARE. 139 | 140 | 141 | @octokit/graphql 142 | MIT 143 | The MIT License 144 | 145 | Copyright (c) 2018 Octokit contributors 146 | 147 | Permission is hereby granted, free of charge, to any person obtaining a copy 148 | of this software and associated documentation files (the "Software"), to deal 149 | in the Software without restriction, including without limitation the rights 150 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 151 | copies of the Software, and to permit persons to whom the Software is 152 | furnished to do so, subject to the following conditions: 153 | 154 | The above copyright notice and this permission notice shall be included in 155 | all copies or substantial portions of the Software. 156 | 157 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 158 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 159 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 160 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 161 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 162 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 163 | THE SOFTWARE. 164 | 165 | 166 | @octokit/plugin-paginate-rest 167 | MIT 168 | MIT License Copyright (c) 2019 Octokit contributors 169 | 170 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 171 | 172 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 173 | 174 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 175 | 176 | 177 | @octokit/plugin-rest-endpoint-methods 178 | MIT 179 | MIT License Copyright (c) 2019 Octokit contributors 180 | 181 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 182 | 183 | The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. 184 | 185 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 186 | 187 | 188 | @octokit/request 189 | MIT 190 | The MIT License 191 | 192 | Copyright (c) 2018 Octokit contributors 193 | 194 | Permission is hereby granted, free of charge, to any person obtaining a copy 195 | of this software and associated documentation files (the "Software"), to deal 196 | in the Software without restriction, including without limitation the rights 197 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 198 | copies of the Software, and to permit persons to whom the Software is 199 | furnished to do so, subject to the following conditions: 200 | 201 | The above copyright notice and this permission notice shall be included in 202 | all copies or substantial portions of the Software. 203 | 204 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 205 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 206 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 207 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 208 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 209 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 210 | THE SOFTWARE. 211 | 212 | 213 | @octokit/request-error 214 | MIT 215 | The MIT License 216 | 217 | Copyright (c) 2019 Octokit contributors 218 | 219 | Permission is hereby granted, free of charge, to any person obtaining a copy 220 | of this software and associated documentation files (the "Software"), to deal 221 | in the Software without restriction, including without limitation the rights 222 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 223 | copies of the Software, and to permit persons to whom the Software is 224 | furnished to do so, subject to the following conditions: 225 | 226 | The above copyright notice and this permission notice shall be included in 227 | all copies or substantial portions of the Software. 228 | 229 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 230 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 231 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 232 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 233 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 234 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 235 | THE SOFTWARE. 236 | 237 | 238 | @vercel/ncc 239 | MIT 240 | Copyright 2018 ZEIT, Inc. 241 | 242 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 243 | 244 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 245 | 246 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 247 | 248 | before-after-hook 249 | Apache-2.0 250 | Apache License 251 | Version 2.0, January 2004 252 | http://www.apache.org/licenses/ 253 | 254 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 255 | 256 | 1. Definitions. 257 | 258 | "License" shall mean the terms and conditions for use, reproduction, 259 | and distribution as defined by Sections 1 through 9 of this document. 260 | 261 | "Licensor" shall mean the copyright owner or entity authorized by 262 | the copyright owner that is granting the License. 263 | 264 | "Legal Entity" shall mean the union of the acting entity and all 265 | other entities that control, are controlled by, or are under common 266 | control with that entity. For the purposes of this definition, 267 | "control" means (i) the power, direct or indirect, to cause the 268 | direction or management of such entity, whether by contract or 269 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 270 | outstanding shares, or (iii) beneficial ownership of such entity. 271 | 272 | "You" (or "Your") shall mean an individual or Legal Entity 273 | exercising permissions granted by this License. 274 | 275 | "Source" form shall mean the preferred form for making modifications, 276 | including but not limited to software source code, documentation 277 | source, and configuration files. 278 | 279 | "Object" form shall mean any form resulting from mechanical 280 | transformation or translation of a Source form, including but 281 | not limited to compiled object code, generated documentation, 282 | and conversions to other media types. 283 | 284 | "Work" shall mean the work of authorship, whether in Source or 285 | Object form, made available under the License, as indicated by a 286 | copyright notice that is included in or attached to the work 287 | (an example is provided in the Appendix below). 288 | 289 | "Derivative Works" shall mean any work, whether in Source or Object 290 | form, that is based on (or derived from) the Work and for which the 291 | editorial revisions, annotations, elaborations, or other modifications 292 | represent, as a whole, an original work of authorship. For the purposes 293 | of this License, Derivative Works shall not include works that remain 294 | separable from, or merely link (or bind by name) to the interfaces of, 295 | the Work and Derivative Works thereof. 296 | 297 | "Contribution" shall mean any work of authorship, including 298 | the original version of the Work and any modifications or additions 299 | to that Work or Derivative Works thereof, that is intentionally 300 | submitted to Licensor for inclusion in the Work by the copyright owner 301 | or by an individual or Legal Entity authorized to submit on behalf of 302 | the copyright owner. For the purposes of this definition, "submitted" 303 | means any form of electronic, verbal, or written communication sent 304 | to the Licensor or its representatives, including but not limited to 305 | communication on electronic mailing lists, source code control systems, 306 | and issue tracking systems that are managed by, or on behalf of, the 307 | Licensor for the purpose of discussing and improving the Work, but 308 | excluding communication that is conspicuously marked or otherwise 309 | designated in writing by the copyright owner as "Not a Contribution." 310 | 311 | "Contributor" shall mean Licensor and any individual or Legal Entity 312 | on behalf of whom a Contribution has been received by Licensor and 313 | subsequently incorporated within the Work. 314 | 315 | 2. Grant of Copyright License. Subject to the terms and conditions of 316 | this License, each Contributor hereby grants to You a perpetual, 317 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 318 | copyright license to reproduce, prepare Derivative Works of, 319 | publicly display, publicly perform, sublicense, and distribute the 320 | Work and such Derivative Works in Source or Object form. 321 | 322 | 3. Grant of Patent License. Subject to the terms and conditions of 323 | this License, each Contributor hereby grants to You a perpetual, 324 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 325 | (except as stated in this section) patent license to make, have made, 326 | use, offer to sell, sell, import, and otherwise transfer the Work, 327 | where such license applies only to those patent claims licensable 328 | by such Contributor that are necessarily infringed by their 329 | Contribution(s) alone or by combination of their Contribution(s) 330 | with the Work to which such Contribution(s) was submitted. If You 331 | institute patent litigation against any entity (including a 332 | cross-claim or counterclaim in a lawsuit) alleging that the Work 333 | or a Contribution incorporated within the Work constitutes direct 334 | or contributory patent infringement, then any patent licenses 335 | granted to You under this License for that Work shall terminate 336 | as of the date such litigation is filed. 337 | 338 | 4. Redistribution. You may reproduce and distribute copies of the 339 | Work or Derivative Works thereof in any medium, with or without 340 | modifications, and in Source or Object form, provided that You 341 | meet the following conditions: 342 | 343 | (a) You must give any other recipients of the Work or 344 | Derivative Works a copy of this License; and 345 | 346 | (b) You must cause any modified files to carry prominent notices 347 | stating that You changed the files; and 348 | 349 | (c) You must retain, in the Source form of any Derivative Works 350 | that You distribute, all copyright, patent, trademark, and 351 | attribution notices from the Source form of the Work, 352 | excluding those notices that do not pertain to any part of 353 | the Derivative Works; and 354 | 355 | (d) If the Work includes a "NOTICE" text file as part of its 356 | distribution, then any Derivative Works that You distribute must 357 | include a readable copy of the attribution notices contained 358 | within such NOTICE file, excluding those notices that do not 359 | pertain to any part of the Derivative Works, in at least one 360 | of the following places: within a NOTICE text file distributed 361 | as part of the Derivative Works; within the Source form or 362 | documentation, if provided along with the Derivative Works; or, 363 | within a display generated by the Derivative Works, if and 364 | wherever such third-party notices normally appear. The contents 365 | of the NOTICE file are for informational purposes only and 366 | do not modify the License. You may add Your own attribution 367 | notices within Derivative Works that You distribute, alongside 368 | or as an addendum to the NOTICE text from the Work, provided 369 | that such additional attribution notices cannot be construed 370 | as modifying the License. 371 | 372 | You may add Your own copyright statement to Your modifications and 373 | may provide additional or different license terms and conditions 374 | for use, reproduction, or distribution of Your modifications, or 375 | for any such Derivative Works as a whole, provided Your use, 376 | reproduction, and distribution of the Work otherwise complies with 377 | the conditions stated in this License. 378 | 379 | 5. Submission of Contributions. Unless You explicitly state otherwise, 380 | any Contribution intentionally submitted for inclusion in the Work 381 | by You to the Licensor shall be under the terms and conditions of 382 | this License, without any additional terms or conditions. 383 | Notwithstanding the above, nothing herein shall supersede or modify 384 | the terms of any separate license agreement you may have executed 385 | with Licensor regarding such Contributions. 386 | 387 | 6. Trademarks. This License does not grant permission to use the trade 388 | names, trademarks, service marks, or product names of the Licensor, 389 | except as required for reasonable and customary use in describing the 390 | origin of the Work and reproducing the content of the NOTICE file. 391 | 392 | 7. Disclaimer of Warranty. Unless required by applicable law or 393 | agreed to in writing, Licensor provides the Work (and each 394 | Contributor provides its Contributions) on an "AS IS" BASIS, 395 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 396 | implied, including, without limitation, any warranties or conditions 397 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 398 | PARTICULAR PURPOSE. You are solely responsible for determining the 399 | appropriateness of using or redistributing the Work and assume any 400 | risks associated with Your exercise of permissions under this License. 401 | 402 | 8. Limitation of Liability. In no event and under no legal theory, 403 | whether in tort (including negligence), contract, or otherwise, 404 | unless required by applicable law (such as deliberate and grossly 405 | negligent acts) or agreed to in writing, shall any Contributor be 406 | liable to You for damages, including any direct, indirect, special, 407 | incidental, or consequential damages of any character arising as a 408 | result of this License or out of the use or inability to use the 409 | Work (including but not limited to damages for loss of goodwill, 410 | work stoppage, computer failure or malfunction, or any and all 411 | other commercial damages or losses), even if such Contributor 412 | has been advised of the possibility of such damages. 413 | 414 | 9. Accepting Warranty or Additional Liability. While redistributing 415 | the Work or Derivative Works thereof, You may choose to offer, 416 | and charge a fee for, acceptance of support, warranty, indemnity, 417 | or other liability obligations and/or rights consistent with this 418 | License. However, in accepting such obligations, You may act only 419 | on Your own behalf and on Your sole responsibility, not on behalf 420 | of any other Contributor, and only if You agree to indemnify, 421 | defend, and hold each Contributor harmless for any liability 422 | incurred by, or claims asserted against, such Contributor by reason 423 | of your accepting any such warranty or additional liability. 424 | 425 | END OF TERMS AND CONDITIONS 426 | 427 | APPENDIX: How to apply the Apache License to your work. 428 | 429 | To apply the Apache License to your work, attach the following 430 | boilerplate notice, with the fields enclosed by brackets "{}" 431 | replaced with your own identifying information. (Don't include 432 | the brackets!) The text should be enclosed in the appropriate 433 | comment syntax for the file format. We also recommend that a 434 | file or class name and description of purpose be included on the 435 | same "printed page" as the copyright notice for easier 436 | identification within third-party archives. 437 | 438 | Copyright 2018 Gregor Martynus and other contributors. 439 | 440 | Licensed under the Apache License, Version 2.0 (the "License"); 441 | you may not use this file except in compliance with the License. 442 | You may obtain a copy of the License at 443 | 444 | http://www.apache.org/licenses/LICENSE-2.0 445 | 446 | Unless required by applicable law or agreed to in writing, software 447 | distributed under the License is distributed on an "AS IS" BASIS, 448 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 449 | See the License for the specific language governing permissions and 450 | limitations under the License. 451 | 452 | 453 | buffer-equal-constant-time 454 | BSD-3-Clause 455 | Copyright (c) 2013, GoInstant Inc., a salesforce.com company 456 | All rights reserved. 457 | 458 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 459 | 460 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 461 | 462 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 463 | 464 | * Neither the name of salesforce.com, nor GoInstant, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 465 | 466 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 467 | 468 | 469 | deprecation 470 | ISC 471 | The ISC License 472 | 473 | Copyright (c) Gregor Martynus and contributors 474 | 475 | Permission to use, copy, modify, and/or distribute this software for any 476 | purpose with or without fee is hereby granted, provided that the above 477 | copyright notice and this permission notice appear in all copies. 478 | 479 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 480 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 481 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 482 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 483 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 484 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 485 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 486 | 487 | 488 | ecdsa-sig-formatter 489 | Apache-2.0 490 | Apache License 491 | Version 2.0, January 2004 492 | http://www.apache.org/licenses/ 493 | 494 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 495 | 496 | 1. Definitions. 497 | 498 | "License" shall mean the terms and conditions for use, reproduction, 499 | and distribution as defined by Sections 1 through 9 of this document. 500 | 501 | "Licensor" shall mean the copyright owner or entity authorized by 502 | the copyright owner that is granting the License. 503 | 504 | "Legal Entity" shall mean the union of the acting entity and all 505 | other entities that control, are controlled by, or are under common 506 | control with that entity. For the purposes of this definition, 507 | "control" means (i) the power, direct or indirect, to cause the 508 | direction or management of such entity, whether by contract or 509 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 510 | outstanding shares, or (iii) beneficial ownership of such entity. 511 | 512 | "You" (or "Your") shall mean an individual or Legal Entity 513 | exercising permissions granted by this License. 514 | 515 | "Source" form shall mean the preferred form for making modifications, 516 | including but not limited to software source code, documentation 517 | source, and configuration files. 518 | 519 | "Object" form shall mean any form resulting from mechanical 520 | transformation or translation of a Source form, including but 521 | not limited to compiled object code, generated documentation, 522 | and conversions to other media types. 523 | 524 | "Work" shall mean the work of authorship, whether in Source or 525 | Object form, made available under the License, as indicated by a 526 | copyright notice that is included in or attached to the work 527 | (an example is provided in the Appendix below). 528 | 529 | "Derivative Works" shall mean any work, whether in Source or Object 530 | form, that is based on (or derived from) the Work and for which the 531 | editorial revisions, annotations, elaborations, or other modifications 532 | represent, as a whole, an original work of authorship. For the purposes 533 | of this License, Derivative Works shall not include works that remain 534 | separable from, or merely link (or bind by name) to the interfaces of, 535 | the Work and Derivative Works thereof. 536 | 537 | "Contribution" shall mean any work of authorship, including 538 | the original version of the Work and any modifications or additions 539 | to that Work or Derivative Works thereof, that is intentionally 540 | submitted to Licensor for inclusion in the Work by the copyright owner 541 | or by an individual or Legal Entity authorized to submit on behalf of 542 | the copyright owner. For the purposes of this definition, "submitted" 543 | means any form of electronic, verbal, or written communication sent 544 | to the Licensor or its representatives, including but not limited to 545 | communication on electronic mailing lists, source code control systems, 546 | and issue tracking systems that are managed by, or on behalf of, the 547 | Licensor for the purpose of discussing and improving the Work, but 548 | excluding communication that is conspicuously marked or otherwise 549 | designated in writing by the copyright owner as "Not a Contribution." 550 | 551 | "Contributor" shall mean Licensor and any individual or Legal Entity 552 | on behalf of whom a Contribution has been received by Licensor and 553 | subsequently incorporated within the Work. 554 | 555 | 2. Grant of Copyright License. Subject to the terms and conditions of 556 | this License, each Contributor hereby grants to You a perpetual, 557 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 558 | copyright license to reproduce, prepare Derivative Works of, 559 | publicly display, publicly perform, sublicense, and distribute the 560 | Work and such Derivative Works in Source or Object form. 561 | 562 | 3. Grant of Patent License. Subject to the terms and conditions of 563 | this License, each Contributor hereby grants to You a perpetual, 564 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 565 | (except as stated in this section) patent license to make, have made, 566 | use, offer to sell, sell, import, and otherwise transfer the Work, 567 | where such license applies only to those patent claims licensable 568 | by such Contributor that are necessarily infringed by their 569 | Contribution(s) alone or by combination of their Contribution(s) 570 | with the Work to which such Contribution(s) was submitted. If You 571 | institute patent litigation against any entity (including a 572 | cross-claim or counterclaim in a lawsuit) alleging that the Work 573 | or a Contribution incorporated within the Work constitutes direct 574 | or contributory patent infringement, then any patent licenses 575 | granted to You under this License for that Work shall terminate 576 | as of the date such litigation is filed. 577 | 578 | 4. Redistribution. You may reproduce and distribute copies of the 579 | Work or Derivative Works thereof in any medium, with or without 580 | modifications, and in Source or Object form, provided that You 581 | meet the following conditions: 582 | 583 | (a) You must give any other recipients of the Work or 584 | Derivative Works a copy of this License; and 585 | 586 | (b) You must cause any modified files to carry prominent notices 587 | stating that You changed the files; and 588 | 589 | (c) You must retain, in the Source form of any Derivative Works 590 | that You distribute, all copyright, patent, trademark, and 591 | attribution notices from the Source form of the Work, 592 | excluding those notices that do not pertain to any part of 593 | the Derivative Works; and 594 | 595 | (d) If the Work includes a "NOTICE" text file as part of its 596 | distribution, then any Derivative Works that You distribute must 597 | include a readable copy of the attribution notices contained 598 | within such NOTICE file, excluding those notices that do not 599 | pertain to any part of the Derivative Works, in at least one 600 | of the following places: within a NOTICE text file distributed 601 | as part of the Derivative Works; within the Source form or 602 | documentation, if provided along with the Derivative Works; or, 603 | within a display generated by the Derivative Works, if and 604 | wherever such third-party notices normally appear. The contents 605 | of the NOTICE file are for informational purposes only and 606 | do not modify the License. You may add Your own attribution 607 | notices within Derivative Works that You distribute, alongside 608 | or as an addendum to the NOTICE text from the Work, provided 609 | that such additional attribution notices cannot be construed 610 | as modifying the License. 611 | 612 | You may add Your own copyright statement to Your modifications and 613 | may provide additional or different license terms and conditions 614 | for use, reproduction, or distribution of Your modifications, or 615 | for any such Derivative Works as a whole, provided Your use, 616 | reproduction, and distribution of the Work otherwise complies with 617 | the conditions stated in this License. 618 | 619 | 5. Submission of Contributions. Unless You explicitly state otherwise, 620 | any Contribution intentionally submitted for inclusion in the Work 621 | by You to the Licensor shall be under the terms and conditions of 622 | this License, without any additional terms or conditions. 623 | Notwithstanding the above, nothing herein shall supersede or modify 624 | the terms of any separate license agreement you may have executed 625 | with Licensor regarding such Contributions. 626 | 627 | 6. Trademarks. This License does not grant permission to use the trade 628 | names, trademarks, service marks, or product names of the Licensor, 629 | except as required for reasonable and customary use in describing the 630 | origin of the Work and reproducing the content of the NOTICE file. 631 | 632 | 7. Disclaimer of Warranty. Unless required by applicable law or 633 | agreed to in writing, Licensor provides the Work (and each 634 | Contributor provides its Contributions) on an "AS IS" BASIS, 635 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 636 | implied, including, without limitation, any warranties or conditions 637 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 638 | PARTICULAR PURPOSE. You are solely responsible for determining the 639 | appropriateness of using or redistributing the Work and assume any 640 | risks associated with Your exercise of permissions under this License. 641 | 642 | 8. Limitation of Liability. In no event and under no legal theory, 643 | whether in tort (including negligence), contract, or otherwise, 644 | unless required by applicable law (such as deliberate and grossly 645 | negligent acts) or agreed to in writing, shall any Contributor be 646 | liable to You for damages, including any direct, indirect, special, 647 | incidental, or consequential damages of any character arising as a 648 | result of this License or out of the use or inability to use the 649 | Work (including but not limited to damages for loss of goodwill, 650 | work stoppage, computer failure or malfunction, or any and all 651 | other commercial damages or losses), even if such Contributor 652 | has been advised of the possibility of such damages. 653 | 654 | 9. Accepting Warranty or Additional Liability. While redistributing 655 | the Work or Derivative Works thereof, You may choose to offer, 656 | and charge a fee for, acceptance of support, warranty, indemnity, 657 | or other liability obligations and/or rights consistent with this 658 | License. However, in accepting such obligations, You may act only 659 | on Your own behalf and on Your sole responsibility, not on behalf 660 | of any other Contributor, and only if You agree to indemnify, 661 | defend, and hold each Contributor harmless for any liability 662 | incurred by, or claims asserted against, such Contributor by reason 663 | of your accepting any such warranty or additional liability. 664 | 665 | END OF TERMS AND CONDITIONS 666 | 667 | APPENDIX: How to apply the Apache License to your work. 668 | 669 | To apply the Apache License to your work, attach the following 670 | boilerplate notice, with the fields enclosed by brackets "{}" 671 | replaced with your own identifying information. (Don't include 672 | the brackets!) The text should be enclosed in the appropriate 673 | comment syntax for the file format. We also recommend that a 674 | file or class name and description of purpose be included on the 675 | same "printed page" as the copyright notice for easier 676 | identification within third-party archives. 677 | 678 | Copyright 2015 D2L Corporation 679 | 680 | Licensed under the Apache License, Version 2.0 (the "License"); 681 | you may not use this file except in compliance with the License. 682 | You may obtain a copy of the License at 683 | 684 | http://www.apache.org/licenses/LICENSE-2.0 685 | 686 | Unless required by applicable law or agreed to in writing, software 687 | distributed under the License is distributed on an "AS IS" BASIS, 688 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 689 | See the License for the specific language governing permissions and 690 | limitations under the License. 691 | 692 | 693 | is-plain-object 694 | MIT 695 | The MIT License (MIT) 696 | 697 | Copyright (c) 2014-2017, Jon Schlinkert. 698 | 699 | Permission is hereby granted, free of charge, to any person obtaining a copy 700 | of this software and associated documentation files (the "Software"), to deal 701 | in the Software without restriction, including without limitation the rights 702 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 703 | copies of the Software, and to permit persons to whom the Software is 704 | furnished to do so, subject to the following conditions: 705 | 706 | The above copyright notice and this permission notice shall be included in 707 | all copies or substantial portions of the Software. 708 | 709 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 710 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 711 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 712 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 713 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 714 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 715 | THE SOFTWARE. 716 | 717 | 718 | jsonwebtoken 719 | MIT 720 | The MIT License (MIT) 721 | 722 | Copyright (c) 2015 Auth0, Inc. (http://auth0.com) 723 | 724 | Permission is hereby granted, free of charge, to any person obtaining a copy 725 | of this software and associated documentation files (the "Software"), to deal 726 | in the Software without restriction, including without limitation the rights 727 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 728 | copies of the Software, and to permit persons to whom the Software is 729 | furnished to do so, subject to the following conditions: 730 | 731 | The above copyright notice and this permission notice shall be included in all 732 | copies or substantial portions of the Software. 733 | 734 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 735 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 736 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 737 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 738 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 739 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 740 | SOFTWARE. 741 | 742 | 743 | jwa 744 | MIT 745 | Copyright (c) 2013 Brian J. Brennan 746 | 747 | Permission is hereby granted, free of charge, to any person obtaining a copy 748 | of this software and associated documentation files (the "Software"), to deal in 749 | the Software without restriction, including without limitation the rights to use, 750 | copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the 751 | Software, and to permit persons to whom the Software is furnished to do so, 752 | subject to the following conditions: 753 | 754 | The above copyright notice and this permission notice shall be included in all 755 | copies or substantial portions of the Software. 756 | 757 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 758 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 759 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 760 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 761 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 762 | 763 | 764 | jws 765 | MIT 766 | Copyright (c) 2013 Brian J. Brennan 767 | 768 | Permission is hereby granted, free of charge, to any person obtaining a copy 769 | of this software and associated documentation files (the "Software"), to deal in 770 | the Software without restriction, including without limitation the rights to use, 771 | copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the 772 | Software, and to permit persons to whom the Software is furnished to do so, 773 | subject to the following conditions: 774 | 775 | The above copyright notice and this permission notice shall be included in all 776 | copies or substantial portions of the Software. 777 | 778 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 779 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 780 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 781 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 782 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 783 | 784 | 785 | lodash 786 | MIT 787 | Copyright OpenJS Foundation and other contributors 788 | 789 | Based on Underscore.js, copyright Jeremy Ashkenas, 790 | DocumentCloud and Investigative Reporters & Editors 791 | 792 | This software consists of voluntary contributions made by many 793 | individuals. For exact contribution history, see the revision history 794 | available at https://github.com/lodash/lodash 795 | 796 | The following license applies to all parts of this software except as 797 | documented below: 798 | 799 | ==== 800 | 801 | Permission is hereby granted, free of charge, to any person obtaining 802 | a copy of this software and associated documentation files (the 803 | "Software"), to deal in the Software without restriction, including 804 | without limitation the rights to use, copy, modify, merge, publish, 805 | distribute, sublicense, and/or sell copies of the Software, and to 806 | permit persons to whom the Software is furnished to do so, subject to 807 | the following conditions: 808 | 809 | The above copyright notice and this permission notice shall be 810 | included in all copies or substantial portions of the Software. 811 | 812 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 813 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 814 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 815 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 816 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 817 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 818 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 819 | 820 | ==== 821 | 822 | Copyright and related rights for sample code are waived via CC0. Sample 823 | code is defined as all source code displayed within the prose of the 824 | documentation. 825 | 826 | CC0: http://creativecommons.org/publicdomain/zero/1.0/ 827 | 828 | ==== 829 | 830 | Files located in the node_modules and vendor directories are externally 831 | maintained libraries used by this software which have their own 832 | licenses; we recommend you read them, as their terms may differ from the 833 | terms above. 834 | 835 | 836 | lru-cache 837 | ISC 838 | The ISC License 839 | 840 | Copyright (c) Isaac Z. Schlueter and Contributors 841 | 842 | Permission to use, copy, modify, and/or distribute this software for any 843 | purpose with or without fee is hereby granted, provided that the above 844 | copyright notice and this permission notice appear in all copies. 845 | 846 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 847 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 848 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 849 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 850 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 851 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 852 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 853 | 854 | 855 | ms 856 | MIT 857 | The MIT License (MIT) 858 | 859 | Copyright (c) 2016 Zeit, Inc. 860 | 861 | Permission is hereby granted, free of charge, to any person obtaining a copy 862 | of this software and associated documentation files (the "Software"), to deal 863 | in the Software without restriction, including without limitation the rights 864 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 865 | copies of the Software, and to permit persons to whom the Software is 866 | furnished to do so, subject to the following conditions: 867 | 868 | The above copyright notice and this permission notice shall be included in all 869 | copies or substantial portions of the Software. 870 | 871 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 872 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 873 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 874 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 875 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 876 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 877 | SOFTWARE. 878 | 879 | 880 | node-fetch 881 | MIT 882 | The MIT License (MIT) 883 | 884 | Copyright (c) 2016 David Frank 885 | 886 | Permission is hereby granted, free of charge, to any person obtaining a copy 887 | of this software and associated documentation files (the "Software"), to deal 888 | in the Software without restriction, including without limitation the rights 889 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 890 | copies of the Software, and to permit persons to whom the Software is 891 | furnished to do so, subject to the following conditions: 892 | 893 | The above copyright notice and this permission notice shall be included in all 894 | copies or substantial portions of the Software. 895 | 896 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 897 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 898 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 899 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 900 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 901 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 902 | SOFTWARE. 903 | 904 | 905 | 906 | once 907 | ISC 908 | The ISC License 909 | 910 | Copyright (c) Isaac Z. Schlueter and Contributors 911 | 912 | Permission to use, copy, modify, and/or distribute this software for any 913 | purpose with or without fee is hereby granted, provided that the above 914 | copyright notice and this permission notice appear in all copies. 915 | 916 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 917 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 918 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 919 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 920 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 921 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 922 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 923 | 924 | 925 | safe-buffer 926 | MIT 927 | The MIT License (MIT) 928 | 929 | Copyright (c) Feross Aboukhadijeh 930 | 931 | Permission is hereby granted, free of charge, to any person obtaining a copy 932 | of this software and associated documentation files (the "Software"), to deal 933 | in the Software without restriction, including without limitation the rights 934 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 935 | copies of the Software, and to permit persons to whom the Software is 936 | furnished to do so, subject to the following conditions: 937 | 938 | The above copyright notice and this permission notice shall be included in 939 | all copies or substantial portions of the Software. 940 | 941 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 942 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 943 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 944 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 945 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 946 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 947 | THE SOFTWARE. 948 | 949 | 950 | semver 951 | ISC 952 | The ISC License 953 | 954 | Copyright (c) Isaac Z. Schlueter and Contributors 955 | 956 | Permission to use, copy, modify, and/or distribute this software for any 957 | purpose with or without fee is hereby granted, provided that the above 958 | copyright notice and this permission notice appear in all copies. 959 | 960 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 961 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 962 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 963 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 964 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 965 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 966 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 967 | 968 | 969 | tr46 970 | MIT 971 | 972 | tunnel 973 | MIT 974 | The MIT License (MIT) 975 | 976 | Copyright (c) 2012 Koichi Kobayashi 977 | 978 | Permission is hereby granted, free of charge, to any person obtaining a copy 979 | of this software and associated documentation files (the "Software"), to deal 980 | in the Software without restriction, including without limitation the rights 981 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 982 | copies of the Software, and to permit persons to whom the Software is 983 | furnished to do so, subject to the following conditions: 984 | 985 | The above copyright notice and this permission notice shall be included in 986 | all copies or substantial portions of the Software. 987 | 988 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 989 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 990 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 991 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 992 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 993 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 994 | THE SOFTWARE. 995 | 996 | 997 | universal-github-app-jwt 998 | MIT 999 | The MIT License 1000 | 1001 | Copyright (c) 2019 Gregor Martynus 1002 | 1003 | Permission is hereby granted, free of charge, to any person obtaining a copy 1004 | of this software and associated documentation files (the "Software"), to deal 1005 | in the Software without restriction, including without limitation the rights 1006 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1007 | copies of the Software, and to permit persons to whom the Software is 1008 | furnished to do so, subject to the following conditions: 1009 | 1010 | The above copyright notice and this permission notice shall be included in 1011 | all copies or substantial portions of the Software. 1012 | 1013 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1014 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1015 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1016 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1017 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1018 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 1019 | THE SOFTWARE. 1020 | 1021 | 1022 | universal-user-agent 1023 | ISC 1024 | # [ISC License](https://spdx.org/licenses/ISC) 1025 | 1026 | Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) 1027 | 1028 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 1029 | 1030 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1031 | 1032 | 1033 | uuid 1034 | MIT 1035 | The MIT License (MIT) 1036 | 1037 | Copyright (c) 2010-2020 Robert Kieffer and other contributors 1038 | 1039 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 1040 | 1041 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 1042 | 1043 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 1044 | 1045 | 1046 | webidl-conversions 1047 | BSD-2-Clause 1048 | # The BSD 2-Clause License 1049 | 1050 | Copyright (c) 2014, Domenic Denicola 1051 | All rights reserved. 1052 | 1053 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1054 | 1055 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 1056 | 1057 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 1058 | 1059 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1060 | 1061 | 1062 | whatwg-url 1063 | MIT 1064 | The MIT License (MIT) 1065 | 1066 | Copyright (c) 2015–2016 Sebastian Mayr 1067 | 1068 | Permission is hereby granted, free of charge, to any person obtaining a copy 1069 | of this software and associated documentation files (the "Software"), to deal 1070 | in the Software without restriction, including without limitation the rights 1071 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1072 | copies of the Software, and to permit persons to whom the Software is 1073 | furnished to do so, subject to the following conditions: 1074 | 1075 | The above copyright notice and this permission notice shall be included in 1076 | all copies or substantial portions of the Software. 1077 | 1078 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1079 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1080 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1081 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1082 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1083 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 1084 | THE SOFTWARE. 1085 | 1086 | 1087 | wrappy 1088 | ISC 1089 | The ISC License 1090 | 1091 | Copyright (c) Isaac Z. Schlueter and Contributors 1092 | 1093 | Permission to use, copy, modify, and/or distribute this software for any 1094 | purpose with or without fee is hereby granted, provided that the above 1095 | copyright notice and this permission notice appear in all copies. 1096 | 1097 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1098 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1099 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1100 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1101 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1102 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 1103 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1104 | 1105 | 1106 | yallist 1107 | ISC 1108 | The ISC License 1109 | 1110 | Copyright (c) Isaac Z. Schlueter and Contributors 1111 | 1112 | Permission to use, copy, modify, and/or distribute this software for any 1113 | purpose with or without fee is hereby granted, provided that the above 1114 | copyright notice and this permission notice appear in all copies. 1115 | 1116 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1117 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1118 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1119 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1120 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1121 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 1122 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1123 | -------------------------------------------------------------------------------- /dist/sourcemap-register.js: -------------------------------------------------------------------------------- 1 | (()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var t=n(190);var o=5;var i=1<>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n{var t;var o=n(339);var i=n(345);var a=n(274).I;var u=n(449);var s=n(758).U;function SourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,r):new BasicSourceMapConsumer(n,r)}SourceMapConsumer.fromSourceMap=function(e,r){return BasicSourceMapConsumer.fromSourceMap(e,r)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,r){var n=e.charAt(r);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,r){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,r,n){var t=r||null;var i=n||SourceMapConsumer.GENERATED_ORDER;var a;switch(i){case SourceMapConsumer.GENERATED_ORDER:a=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:a=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;a.map((function(e){var r=e.source===null?null:this._sources.at(e.source);r=o.computeSourceURL(u,r,this._sourceMapURL);return{source:r,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}}),this).forEach(e,t)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var r=o.getArg(e,"line");var n={source:o.getArg(e,"source"),originalLine:r,originalColumn:o.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var t=[];var a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(a>=0){var u=this._originalMappings[a];if(e.column===undefined){var s=u.originalLine;while(u&&u.originalLine===s){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}else{var l=u.originalColumn;while(u&&u.originalLine===r&&u.originalColumn==l){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}}return t};r.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sources");var u=o.getArg(n,"names",[]);var s=o.getArg(n,"sourceRoot",null);var l=o.getArg(n,"sourcesContent",null);var c=o.getArg(n,"mappings");var p=o.getArg(n,"file",null);if(t!=this._version){throw new Error("Unsupported version: "+t)}if(s){s=o.normalize(s)}i=i.map(String).map(o.normalize).map((function(e){return s&&o.isAbsolute(s)&&o.isAbsolute(e)?o.relative(s,e):e}));this._names=a.fromArray(u.map(String),true);this._sources=a.fromArray(i,true);this._absoluteSources=this._sources.toArray().map((function(e){return o.computeSourceURL(s,e,r)}));this.sourceRoot=s;this.sourcesContent=l;this._mappings=c;this._sourceMapURL=r;this.file=p}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var r=e;if(this.sourceRoot!=null){r=o.relative(this.sourceRoot,r)}if(this._sources.has(r)){return this._sources.indexOf(r)}var n;for(n=0;n1){v.source=l+_[1];l+=_[1];v.originalLine=i+_[2];i=v.originalLine;v.originalLine+=1;v.originalColumn=a+_[3];a=v.originalColumn;if(_.length>4){v.name=c+_[4];c+=_[4]}}m.push(v);if(typeof v.originalLine==="number"){d.push(v)}}}s(m,o.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(d,o.compareByOriginalPositions);this.__originalMappings=d};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,r,n,t,o,a){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[t]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[t])}return i.search(e,r,o,a)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var t=this._generatedMappings[n];if(t.generatedLine===r.generatedLine){var i=o.getArg(t,"source",null);if(i!==null){i=this._sources.at(i);i=o.computeSourceURL(this.sourceRoot,i,this._sourceMapURL)}var a=o.getArg(t,"name",null);if(a!==null){a=this._names.at(a)}return{source:i,line:o.getArg(t,"originalLine",null),column:o.getArg(t,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return e==null}))};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,r){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var t=e;if(this.sourceRoot!=null){t=o.relative(this.sourceRoot,t)}var i;if(this.sourceRoot!=null&&(i=o.urlParse(this.sourceRoot))){var a=t.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(a)){return this.sourcesContent[this._sources.indexOf(a)]}if((!i.path||i.path=="/")&&this._sources.has("/"+t)){return this.sourcesContent[this._sources.indexOf("/"+t)]}}if(r){return null}else{throw new Error('"'+t+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var r=o.getArg(e,"source");r=this._findSourceIndex(r);if(r<0){return{line:null,column:null,lastColumn:null}}var n={source:r,originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")};var t=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(t>=0){var i=this._originalMappings[t];if(i.source===n.source){return{line:o.getArg(i,"generatedLine",null),column:o.getArg(i,"generatedColumn",null),lastColumn:o.getArg(i,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sections");if(t!=this._version){throw new Error("Unsupported version: "+t)}this._sources=new a;this._names=new a;var u={line:-1,column:0};this._sections=i.map((function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=o.getArg(e,"offset");var t=o.getArg(n,"line");var i=o.getArg(n,"column");if(t{var t=n(449);var o=n(339);var i=n(274).I;var a=n(680).H;function SourceMapGenerator(e){if(!e){e={}}this._file=o.getArg(e,"file",null);this._sourceRoot=o.getArg(e,"sourceRoot",null);this._skipValidation=o.getArg(e,"skipValidation",false);this._sources=new i;this._names=new i;this._mappings=new a;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var r=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:r});e.eachMapping((function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){t.source=e.source;if(r!=null){t.source=o.relative(r,t.source)}t.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){t.name=e.name}}n.addMapping(t)}));e.sources.forEach((function(t){var i=t;if(r!==null){i=o.relative(r,t)}if(!n._sources.has(i)){n._sources.add(i)}var a=e.sourceContentFor(t);if(a!=null){n.setSourceContent(t,a)}}));return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var r=o.getArg(e,"generated");var n=o.getArg(e,"original",null);var t=o.getArg(e,"source",null);var i=o.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(r,n,t,i)}if(t!=null){t=String(t);if(!this._sources.has(t)){this._sources.add(t)}}if(i!=null){i=String(i);if(!this._names.has(i)){this._names.add(i)}}this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:t,name:i})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,r){var n=e;if(this._sourceRoot!=null){n=o.relative(this._sourceRoot,n)}if(r!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[o.toSetString(n)]=r}else if(this._sourcesContents){delete this._sourcesContents[o.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,r,n){var t=r;if(r==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}t=e.file}var a=this._sourceRoot;if(a!=null){t=o.relative(a,t)}var u=new i;var s=new i;this._mappings.unsortedForEach((function(r){if(r.source===t&&r.originalLine!=null){var i=e.originalPositionFor({line:r.originalLine,column:r.originalColumn});if(i.source!=null){r.source=i.source;if(n!=null){r.source=o.join(n,r.source)}if(a!=null){r.source=o.relative(a,r.source)}r.originalLine=i.line;r.originalColumn=i.column;if(i.name!=null){r.name=i.name}}}var l=r.source;if(l!=null&&!u.has(l)){u.add(l)}var c=r.name;if(c!=null&&!s.has(c)){s.add(c)}}),this);this._sources=u;this._names=s;e.sources.forEach((function(r){var t=e.sourceContentFor(r);if(t!=null){if(n!=null){r=o.join(n,r)}if(a!=null){r=o.relative(a,r)}this.setSourceContent(r,t)}}),this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,r,n,t){if(r&&typeof r.line!=="number"&&typeof r.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!r&&!n&&!t){return}else if(e&&"line"in e&&"column"in e&&r&&"line"in r&&"column"in r&&e.line>0&&e.column>=0&&r.line>0&&r.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:r,name:t}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var r=1;var n=0;var i=0;var a=0;var u=0;var s="";var l;var c;var p;var f;var g=this._mappings.toArray();for(var h=0,d=g.length;h0){if(!o.compareByGeneratedPositionsInflated(c,g[h-1])){continue}l+=","}}l+=t.encode(c.generatedColumn-e);e=c.generatedColumn;if(c.source!=null){f=this._sources.indexOf(c.source);l+=t.encode(f-u);u=f;l+=t.encode(c.originalLine-1-i);i=c.originalLine-1;l+=t.encode(c.originalColumn-n);n=c.originalColumn;if(c.name!=null){p=this._names.indexOf(c.name);l+=t.encode(p-a);a=p}}s+=l}return s};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,r){return e.map((function(e){if(!this._sourcesContents){return null}if(r!=null){e=o.relative(r,e)}var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};r.h=SourceMapGenerator},351:(e,r,n)=>{var t;var o=n(591).h;var i=n(339);var a=/(\r?\n)/;var u=10;var s="$$$isSourceNode$$$";function SourceNode(e,r,n,t,o){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=r==null?null:r;this.source=n==null?null:n;this.name=o==null?null:o;this[s]=true;if(t!=null)this.add(t)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,r,n){var t=new SourceNode;var o=e.split(a);var u=0;var shiftNextLine=function(){var e=getNextLine();var r=getNextLine()||"";return e+r;function getNextLine(){return u=0;r--){this.prepend(e[r])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var r;for(var n=0,t=this.children.length;n0){r=[];for(n=0;n{function getArg(e,r,n){if(r in e){return e[r]}else if(arguments.length===3){return n}else{throw new Error('"'+r+'" is a required argument.')}}r.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var t=/^data:.+\,.+$/;function urlParse(e){var r=e.match(n);if(!r){return null}return{scheme:r[1],auth:r[2],host:r[3],port:r[4],path:r[5]}}r.urlParse=urlParse;function urlGenerate(e){var r="";if(e.scheme){r+=e.scheme+":"}r+="//";if(e.auth){r+=e.auth+"@"}if(e.host){r+=e.host}if(e.port){r+=":"+e.port}if(e.path){r+=e.path}return r}r.urlGenerate=urlGenerate;function normalize(e){var n=e;var t=urlParse(e);if(t){if(!t.path){return e}n=t.path}var o=r.isAbsolute(n);var i=n.split(/\/+/);for(var a,u=0,s=i.length-1;s>=0;s--){a=i[s];if(a==="."){i.splice(s,1)}else if(a===".."){u++}else if(u>0){if(a===""){i.splice(s+1,u);u=0}else{i.splice(s,2);u--}}}n=i.join("/");if(n===""){n=o?"/":"."}if(t){t.path=n;return urlGenerate(t)}return n}r.normalize=normalize;function join(e,r){if(e===""){e="."}if(r===""){r="."}var n=urlParse(r);var o=urlParse(e);if(o){e=o.path||"/"}if(n&&!n.scheme){if(o){n.scheme=o.scheme}return urlGenerate(n)}if(n||r.match(t)){return r}if(o&&!o.host&&!o.path){o.host=r;return urlGenerate(o)}var i=r.charAt(0)==="/"?r:normalize(e.replace(/\/+$/,"")+"/"+r);if(o){o.path=i;return urlGenerate(o)}return i}r.join=join;r.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,r){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(r.indexOf(e+"/")!==0){var t=e.lastIndexOf("/");if(t<0){return r}e=e.slice(0,t);if(e.match(/^([^\/]+:\/)?\/*$/)){return r}++n}return Array(n+1).join("../")+r.substr(e.length+1)}r.relative=relative;var o=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}r.toSetString=o?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}r.fromSetString=o?identity:fromSetString;function isProtoString(e){if(!e){return false}var r=e.length;if(r<9){return false}if(e.charCodeAt(r-1)!==95||e.charCodeAt(r-2)!==95||e.charCodeAt(r-3)!==111||e.charCodeAt(r-4)!==116||e.charCodeAt(r-5)!==111||e.charCodeAt(r-6)!==114||e.charCodeAt(r-7)!==112||e.charCodeAt(r-8)!==95||e.charCodeAt(r-9)!==95){return false}for(var n=r-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,r,n){var t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0||n){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0){return t}t=e.generatedLine-r.generatedLine;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,r,n){var t=e.generatedLine-r.generatedLine;if(t!==0){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0||n){return t}t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,r){if(e===r){return 0}if(e===null){return 1}if(r===null){return-1}if(e>r){return 1}return-1}function compareByGeneratedPositionsInflated(e,r){var n=e.generatedLine-r.generatedLine;if(n!==0){return n}n=e.generatedColumn-r.generatedColumn;if(n!==0){return n}n=strcmp(e.source,r.source);if(n!==0){return n}n=e.originalLine-r.originalLine;if(n!==0){return n}n=e.originalColumn-r.originalColumn;if(n!==0){return n}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}r.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,r,n){r=r||"";if(e){if(e[e.length-1]!=="/"&&r[0]!=="/"){e+="/"}r=e+r}if(n){var t=urlParse(n);if(!t){throw new Error("sourceMapURL could not be parsed")}if(t.path){var o=t.path.lastIndexOf("/");if(o>=0){t.path=t.path.substring(0,o+1)}}r=join(urlGenerate(t),r)}return normalize(r)}r.computeSourceURL=computeSourceURL},997:(e,r,n)=>{n(591).h;r.SourceMapConsumer=n(952).SourceMapConsumer;n(351)},284:(e,r,n)=>{e=n.nmd(e);var t=n(997).SourceMapConsumer;var o=n(17);var i;try{i=n(147);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(650);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var h=[];var d=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"")}}else if(u){o+="new "+(i||"")}else if(i){o+=i}else{o+=r;a=false}if(a){o+=" ("+r+")"}return o}function cloneCallSite(e){var r={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(n){r[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]}));r.toString=CallSiteToString;return r}function wrapCallSite(e,r){if(r===undefined){r={nextPosition:null,curPosition:null}}if(e.isNative()){r.curPosition=null;return e}var n=e.getFileName()||e.getScriptNameOrSourceURL();if(n){var t=e.getLineNumber();var o=e.getColumnNumber()-1;var i=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;var a=i.test(globalProcessVersion())?0:62;if(t===1&&o>a&&!isInBrowser()&&!e.isEval()){o-=a}var u=mapSourcePosition({source:n,line:t,column:o});r.curPosition=u;e=cloneCallSite(e);var s=e.getFunctionName;e.getFunctionName=function(){if(r.nextPosition==null){return s()}return r.nextPosition.name||s()};e.getFileName=function(){return u.source};e.getLineNumber=function(){return u.line};e.getColumnNumber=function(){return u.column+1};e.getScriptNameOrSourceURL=function(){return u.source};return e}var l=e.isEval()&&e.getEvalOrigin();if(l){l=mapEvalOrigin(l);e=cloneCallSite(e);e.getEvalOrigin=function(){return l};return e}return e}function prepareStackTrace(e,r){if(l){p={};f={}}var n=e.name||"Error";var t=e.message||"";var o=n+": "+t;var i={nextPosition:null,curPosition:null};var a=[];for(var u=r.length-1;u>=0;u--){a.push("\n at "+wrapCallSite(r[u],i));i.nextPosition=i.curPosition}i.curPosition=i.nextPosition=null;return o+a.reverse().join("")}function getErrorSource(e){var r=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(r){var n=r[1];var t=+r[2];var o=+r[3];var a=p[n];if(!a&&i&&i.existsSync(n)){try{a=i.readFileSync(n,"utf8")}catch(e){a=""}}if(a){var u=a.split(/(?:\r\n|\r|\n)/)[t-1];if(u){return n+":"+t+"\n"+u+"\n"+new Array(o).join(" ")+"^"}}}return null}function printErrorAndExit(e){var r=getErrorSource(e);var n=globalProcessStderr();if(n&&n._handle&&n._handle.setBlocking){n._handle.setBlocking(true)}if(r){console.error();console.error(r)}console.error(e.stack);globalProcessExit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(r){if(r==="uncaughtException"){var n=arguments[1]&&arguments[1].stack;var t=this.listeners(r).length>0;if(n&&!t){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var S=h.slice(0);var _=d.slice(0);r.wrapCallSite=wrapCallSite;r.getErrorSource=getErrorSource;r.mapSourcePosition=mapSourcePosition;r.retrieveSourceMap=v;r.install=function(r){r=r||{};if(r.environment){c=r.environment;if(["node","browser","auto"].indexOf(c)===-1){throw new Error("environment "+c+" was unknown. Available options are {auto, browser, node}")}}if(r.retrieveFile){if(r.overrideRetrieveFile){h.length=0}h.unshift(r.retrieveFile)}if(r.retrieveSourceMap){if(r.overrideRetrieveSourceMap){d.length=0}d.unshift(r.retrieveSourceMap)}if(r.hookRequire&&!isInBrowser()){var n=dynamicRequire(e,"module");var t=n.prototype._compile;if(!t.__sourceMapSupport){n.prototype._compile=function(e,r){p[r]=e;f[r]=undefined;return t.call(this,e,r)};n.prototype._compile.__sourceMapSupport=true}}if(!l){l="emptyCacheBetweenOperations"in r?r.emptyCacheBetweenOperations:false}if(!u){u=true;Error.prepareStackTrace=prepareStackTrace}if(!s){var o="handleUncaughtExceptions"in r?r.handleUncaughtExceptions:true;try{var i=dynamicRequire(e,"worker_threads");if(i.isMainThread===false){o=false}}catch(e){}if(o&&hasGlobalProcessEventEmitter()){s=true;shimEmitUncaughtException()}}};r.resetRetrieveHandlers=function(){h.length=0;d.length=0;h=S.slice(0);d=_.slice(0);v=handlerExec(d);m=handlerExec(h)}},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}};var r={};function __webpack_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={id:n,loaded:false,exports:{}};var i=true;try{e[n](o,o.exports,__webpack_require__);i=false}finally{if(i)delete r[n]}o.loaded=true;return o.exports}(()=>{__webpack_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var n={};(()=>{__webpack_require__(284).install()})();module.exports=n})(); -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ["/src", "/__tests__"], 3 | testEnvironment: "node", 4 | testMatch: ["**/__tests__/**/*.test.ts"], 5 | transform: { 6 | "^.+\\.ts$": "ts-jest", 7 | }, 8 | clearMocks: true, 9 | verbose: true, 10 | }; 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "author": "Cybozu, Inc.", 4 | "license": "MIT", 5 | "engines": { 6 | "node": "16.x" 7 | }, 8 | "main": "lib/main.js", 9 | "scripts": { 10 | "clean": "rimraf lib", 11 | "compile": "tsc", 12 | "compile:check": "tsc --noEmit", 13 | "build": "ncc build --source-map --license licnses.txt", 14 | "package": "run-s --print-label clean compile build", 15 | "eslint": "eslint 'src/**/*.ts'", 16 | "eslint:fix": "eslint --fix 'src/**/*.ts'", 17 | "prettier": "prettier --write '**/*.ts'", 18 | "prettier:check": "prettier --check '**/*.ts'", 19 | "lint": "run-p --print-label compile:check eslint prettier:check", 20 | "format": "run-s --print-label eslint:fix prettier", 21 | "test": "jest" 22 | }, 23 | "dependencies": { 24 | "@actions/core": "1.10.1", 25 | "@actions/github": "4.0.0", 26 | "@octokit/auth-app": "2.11.0", 27 | "@octokit/core": "3.6.0" 28 | }, 29 | "devDependencies": { 30 | "@cybozu/eslint-config": "22.0.2", 31 | "@types/jest": "29.5.12", 32 | "@types/node": "20.11.24", 33 | "@typescript-eslint/eslint-plugin": "7.1.0", 34 | "@vercel/ncc": "0.38.1", 35 | "eslint": "8.57.0", 36 | "eslint-config-prettier": "9.1.0", 37 | "jest": "29.7.0", 38 | "nock": "13.5.4", 39 | "npm-run-all2": "6.1.2", 40 | "prettier": "3.2.5", 41 | "ts-jest": "29.1.2", 42 | "typescript": "5.3.3" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /renovate.json5: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended", 5 | ":label(dependencies)", // Add label. 6 | ":prConcurrentLimit10", // Limit to maximum 10 open PRs. 7 | ":timezone(Asia/Tokyo)", 8 | ":enableVulnerabilityAlertsWithLabel(security)", // Raise PR when vulnerability alerts are detected with label security. 9 | ":semanticCommitTypeAll(chore)", // If semantic commits detected, use semantic commit type chore for all 10 | ], 11 | "schedule": ["after 3am on the first day of the month"], // Monthly(before 3am on the first day of the month) is unstable. 12 | "packageRules": [ 13 | // The lower rule always takes precedence. 14 | { 15 | "groupName": "non-major dependencies for npm", 16 | "matchManagers": ["npm"], 17 | "matchDepTypes": ["dependencies"], 18 | "matchUpdateTypes": ["minor", "patch"], 19 | }, 20 | { 21 | "description": "Ignore major dependencies for npm because we will upgrade major versions of them manually", 22 | "matchManagers": ["npm"], 23 | "matchDepTypes": ["dependencies"], 24 | "matchUpdateTypes": ["major"], 25 | "enabled": false, 26 | }, 27 | { 28 | "groupName": "devDependencies for npm", 29 | "matchManagers": ["npm"], 30 | "matchDepTypes": ["devDependencies"], 31 | "separateMajorMinor": false, 32 | "automerge": true, 33 | }, 34 | { 35 | "groupName": "GitHub Actions", 36 | "matchManagers": ["github-actions"], 37 | }, 38 | { 39 | "description": "Ignore nodejs engine version because we will upgrade it manually", 40 | "matchPackageNames": ["node"], 41 | "matchManagers": ["npm"], 42 | "matchDepTypes": [ "engines" ], 43 | "enabled": false, 44 | }, 45 | { 46 | "groupName": "non-major nodejs version", 47 | "matchPackageNames": ["node"], 48 | "matchManagers": ["nodenv"], 49 | "matchUpdateTypes": ["minor", "patch"], 50 | "automerge": true, 51 | }, 52 | { 53 | "description": "Ignore major nodejs version because we will upgrade it manually", 54 | "matchPackageNames": ["node"], 55 | "matchManagers": ["nodenv"], 56 | "matchUpdateTypes": ["major"], 57 | "enabled": false, 58 | }, 59 | ], 60 | } 61 | -------------------------------------------------------------------------------- /src/Octoken.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import * as github from "@actions/github"; 3 | import { TokenCreator } from "./TokenCreator"; 4 | 5 | export const run = async (): Promise => { 6 | try { 7 | const appId = parseInt( 8 | core.getInput("github_app_id", { required: true }), 9 | 10, 10 | ); 11 | const privateKey = core.getInput("github_app_private_key", { 12 | required: true, 13 | }); 14 | const targetAccountName = 15 | core.getInput("target_account") || github.context.repo.owner; 16 | 17 | const tokenCreator = new TokenCreator({ appId, privateKey }); 18 | 19 | const iat = 20 | await tokenCreator.getInstallationAccessToken(targetAccountName); 21 | 22 | core.setSecret(iat); 23 | core.setOutput("token", iat); 24 | } catch (error: any) { 25 | core.setFailed(error.message); 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /src/TokenCreator.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import * as github from "@actions/github"; 3 | import { createAppAuth } from "@octokit/auth-app"; 4 | 5 | type TokenCreatorOption = { 6 | appId: number; 7 | privateKey: string; 8 | }; 9 | 10 | export class TokenCreator { 11 | private readonly appId: number; 12 | private readonly privateKey: string; 13 | 14 | constructor({ appId, privateKey }: TokenCreatorOption) { 15 | this.appId = appId; 16 | this.privateKey = privateKey; 17 | } 18 | 19 | async getInstallationAccessToken(targetAccountName: string): Promise { 20 | const auth = createAppAuth({ 21 | appId: this.appId, 22 | privateKey: this.privateKey, 23 | }); 24 | const appAuthentication = await auth({ type: "app" }); 25 | const jwt = appAuthentication.token; 26 | 27 | const octokit = github.getOctokit(jwt); 28 | 29 | const listInstallationsResponse = await octokit.apps.listInstallations(); 30 | const targetInstallation = listInstallationsResponse.data.find( 31 | (installation) => installation.account.login === targetAccountName, 32 | ); 33 | if (targetInstallation === undefined) { 34 | throw new Error( 35 | `Unable to find a installation for the specified account: ${targetAccountName}`, 36 | ); 37 | } 38 | 39 | const createInstallationAccessTokenResponse = 40 | await octokit.apps.createInstallationAccessToken({ 41 | installation_id: targetInstallation.id, 42 | }); 43 | const iatData = createInstallationAccessTokenResponse.data; 44 | core.info( 45 | `Installation Access Token has been generated (Expiration: ${iatData.expires_at})`, 46 | ); 47 | 48 | return iatData.token; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { run } from "./Octoken"; 2 | 3 | // noinspection JSIgnoredPromiseFromCall 4 | run(); 5 | -------------------------------------------------------------------------------- /tsconfig.eslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": [ 4 | "src/**/*.ts", 5 | "__tests__/**/*.ts", 6 | ".eslintrc.js", 7 | "jest.config.js" 8 | ], 9 | "exclude": [ 10 | "node_modules", 11 | "lib" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", 4 | "module": "CommonJS", 5 | "outDir": "./lib", 6 | "rootDir": "./src", 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "esModuleInterop": true 10 | }, 11 | "exclude": [ 12 | "node_modules", 13 | "dist", 14 | "__tests__" 15 | ] 16 | } 17 | --------------------------------------------------------------------------------