├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .licensed.yml ├── .licenses └── npm │ ├── @actions │ ├── cache.dep.yml │ ├── core.dep.yml │ ├── exec.dep.yml │ ├── glob.dep.yml │ ├── http-client.dep.yml │ └── io.dep.yml │ ├── @azure │ ├── abort-controller.dep.yml │ ├── core-asynciterator-polyfill.dep.yml │ ├── core-auth.dep.yml │ ├── core-http.dep.yml │ ├── core-lro.dep.yml │ ├── core-paging.dep.yml │ ├── core-tracing-1.0.0-preview.8.dep.yml │ ├── core-tracing-1.0.0-preview.9.dep.yml │ ├── logger.dep.yml │ ├── ms-rest-js.dep.yml │ └── storage-blob.dep.yml │ ├── @opencensus │ └── web-types.dep.yml │ ├── @opentelemetry │ ├── api-0.10.2.dep.yml │ ├── api-0.6.1.dep.yml │ ├── context-base-0.10.2.dep.yml │ └── context-base-0.6.1.dep.yml │ ├── @types │ ├── node-fetch.dep.yml │ ├── node.dep.yml │ └── tunnel.dep.yml │ ├── abort-controller.dep.yml │ ├── asynckit.dep.yml │ ├── balanced-match.dep.yml │ ├── brace-expansion.dep.yml │ ├── combined-stream.dep.yml │ ├── concat-map.dep.yml │ ├── delayed-stream.dep.yml │ ├── event-target-shim.dep.yml │ ├── events.dep.yml │ ├── form-data-2.5.1.dep.yml │ ├── form-data-3.0.0.dep.yml │ ├── ip-regex.dep.yml │ ├── mime-db.dep.yml │ ├── mime-types.dep.yml │ ├── minimatch.dep.yml │ ├── node-fetch.dep.yml │ ├── process.dep.yml │ ├── psl.dep.yml │ ├── punycode.dep.yml │ ├── sax.dep.yml │ ├── semver.dep.yml │ ├── tough-cookie-3.0.1.dep.yml │ ├── tough-cookie-4.0.0.dep.yml │ ├── tslib-1.13.0.dep.yml │ ├── tslib-1.14.1.dep.yml │ ├── tslib-2.0.3.dep.yml │ ├── tunnel.dep.yml │ ├── universalify.dep.yml │ ├── uuid-3.4.0.dep.yml │ ├── uuid-8.3.2.dep.yml │ ├── xml2js.dep.yml │ └── xmlbuilder.dep.yml ├── .prettierrc.json ├── LICENSE ├── README.md ├── action.yml ├── dist ├── restore │ └── index.js └── save │ └── index.js ├── jest.config.js ├── package-lock.json ├── package.json ├── src ├── constants.ts ├── restore.ts ├── save.ts └── utils │ ├── actionUtils.ts │ ├── constants.ts │ ├── maven.ts │ └── requestUtils.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { "node": true, "jest": true }, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { "ecmaVersion": 2020, "sourceType": "module" }, 5 | "extends": [ 6 | "eslint:recommended", 7 | "plugin:@typescript-eslint/eslint-recommended", 8 | "plugin:@typescript-eslint/recommended", 9 | "plugin:import/errors", 10 | "plugin:import/warnings", 11 | "plugin:import/typescript", 12 | "plugin:prettier/recommended" 13 | ], 14 | "plugins": ["@typescript-eslint", "simple-import-sort", "jest"], 15 | "rules": { 16 | "import/first": "error", 17 | "import/newline-after-import": "error", 18 | "import/no-duplicates": "error", 19 | "simple-import-sort/imports": "error", 20 | "sort-imports": "off" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | .licenses/** -diff linguist-generated=true 2 | * text=auto eol=lf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __tests__/runner/* 2 | 3 | node_modules/ 4 | lib/ 5 | 6 | # Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore 7 | # Logs 8 | logs 9 | *.log 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | lerna-debug.log* 14 | 15 | # Diagnostic reports (https://nodejs.org/api/report.html) 16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 17 | 18 | # Runtime data 19 | pids 20 | *.pid 21 | *.seed 22 | *.pid.lock 23 | 24 | # Directory for instrumented libs generated by jscoverage/JSCover 25 | lib-cov 26 | 27 | # Coverage directory used by tools like istanbul 28 | coverage 29 | *.lcov 30 | 31 | # nyc test coverage 32 | .nyc_output 33 | 34 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 35 | .grunt 36 | 37 | # Bower dependency directory (https://bower.io/) 38 | bower_components 39 | 40 | # node-waf configuration 41 | .lock-wscript 42 | 43 | # Compiled binary addons (https://nodejs.org/api/addons.html) 44 | build/Release 45 | 46 | # Dependency directories 47 | jspm_packages/ 48 | 49 | # TypeScript v1 declaration files 50 | typings/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Optional REPL history 62 | .node_repl_history 63 | 64 | # Output of 'npm pack' 65 | *.tgz 66 | 67 | # Yarn Integrity file 68 | .yarn-integrity 69 | 70 | # dotenv environment variables file 71 | .env 72 | .env.test 73 | 74 | # parcel-bundler cache (https://parceljs.org/) 75 | .cache 76 | 77 | # next.js build output 78 | .next 79 | 80 | # nuxt.js build output 81 | .nuxt 82 | 83 | # vuepress build output 84 | .vuepress/dist 85 | 86 | # Serverless directories 87 | .serverless/ 88 | 89 | # FuseBox cache 90 | .fusebox/ 91 | 92 | # DynamoDB Local files 93 | .dynamodb/ 94 | 95 | # Text editor files 96 | .vscode/ 97 | 98 | .idea/ 99 | 100 | target/ -------------------------------------------------------------------------------- /.licensed.yml: -------------------------------------------------------------------------------- 1 | sources: 2 | npm: true 3 | 4 | allowed: 5 | - apache-2.0 6 | - bsd-2-clause 7 | - bsd-3-clause 8 | - isc 9 | - mit 10 | - cc0-1.0 11 | - unlicense 12 | - 0bsd 13 | 14 | reviewed: 15 | npm: 16 | - sax -------------------------------------------------------------------------------- /.licenses/npm/@actions/cache.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/cache" 3 | version: 1.0.5 4 | type: npm 5 | summary: Actions cache lib 6 | homepage: https://github.com/actions/toolkit/tree/main/packages/cache 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: |- 11 | The MIT License (MIT) 12 | 13 | Copyright 2019 GitHub 14 | 15 | 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: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | 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. 20 | notices: [] 21 | -------------------------------------------------------------------------------- /.licenses/npm/@actions/core.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/core" 3 | version: 1.2.6 4 | type: npm 5 | summary: Actions core lib 6 | homepage: https://github.com/actions/toolkit/tree/main/packages/core 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: |- 11 | The MIT License (MIT) 12 | 13 | Copyright 2019 GitHub 14 | 15 | 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: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | 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. 20 | notices: [] 21 | -------------------------------------------------------------------------------- /.licenses/npm/@actions/exec.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/exec" 3 | version: 1.0.4 4 | type: npm 5 | summary: Actions exec lib 6 | homepage: https://github.com/actions/toolkit/tree/master/packages/exec 7 | license: mit 8 | licenses: 9 | - sources: Auto-generated MIT license text 10 | text: | 11 | MIT License 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in all 21 | copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 29 | SOFTWARE. 30 | notices: [] 31 | -------------------------------------------------------------------------------- /.licenses/npm/@actions/glob.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/glob" 3 | version: 0.1.1 4 | type: npm 5 | summary: Actions glob lib 6 | homepage: https://github.com/actions/toolkit/tree/main/packages/glob 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: |- 11 | The MIT License (MIT) 12 | 13 | Copyright 2019 GitHub 14 | 15 | 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: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | 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. 20 | notices: [] 21 | -------------------------------------------------------------------------------- /.licenses/npm/@actions/http-client.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/http-client" 3 | version: 1.0.9 4 | type: npm 5 | summary: Actions Http Client 6 | homepage: https://github.com/actions/http-client#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Actions Http Client for Node.js 12 | 13 | Copyright (c) GitHub, Inc. 14 | 15 | All rights reserved. 16 | 17 | MIT License 18 | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 20 | associated documentation files (the "Software"), to deal in the Software without restriction, 21 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 22 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 23 | subject to the following conditions: 24 | 25 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 26 | 27 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 28 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 29 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 30 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 31 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@actions/io.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@actions/io" 3 | version: 1.0.2 4 | type: npm 5 | summary: Actions io lib 6 | homepage: https://github.com/actions/toolkit/tree/master/packages/io 7 | license: mit 8 | licenses: 9 | - sources: Auto-generated MIT license text 10 | text: | 11 | MIT License 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in all 21 | copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 29 | SOFTWARE. 30 | notices: [] 31 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/abort-controller.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/abort-controller" 3 | version: 1.0.1 4 | type: npm 5 | summary: Microsoft Azure SDK for JavaScript - Aborter 6 | homepage: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/abort-controller 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | MIT License 12 | 13 | Copyright (c) Microsoft Corporation. All rights reserved. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-asynciterator-polyfill.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-asynciterator-polyfill" 3 | version: 1.0.0 4 | type: npm 5 | summary: Polyfill for IE/Node 8 for Symbol.asyncIterator 6 | homepage: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/core-asynciterator-polyfill 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | MIT License 12 | 13 | Copyright (c) Microsoft Corporation. All rights reserved. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-auth.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-auth" 3 | version: 1.1.3 4 | type: npm 5 | summary: Provides low-level interfaces and helper methods for authentication in Azure 6 | SDK 7 | homepage: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/core/core-auth/README.md 8 | license: mit 9 | licenses: 10 | - sources: LICENSE 11 | text: | 12 | The MIT License (MIT) 13 | 14 | Copyright (c) 2020 Microsoft 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining a copy 17 | of this software and associated documentation files (the "Software"), to deal 18 | in the Software without restriction, including without limitation the rights 19 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 20 | copies of the Software, and to permit persons to whom the Software is 21 | furnished to do so, subject to the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included in all 24 | copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 29 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 31 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 32 | SOFTWARE. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-http.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-http" 3 | version: 1.2.1 4 | type: npm 5 | summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client 6 | libraries generated using AutoRest 7 | homepage: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/core/core-http/README.md 8 | license: mit 9 | licenses: 10 | - sources: LICENSE 11 | text: | 12 | The MIT License (MIT) 13 | 14 | Copyright (c) 2020 Microsoft 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining a copy 17 | of this software and associated documentation files (the "Software"), to deal 18 | in the Software without restriction, including without limitation the rights 19 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 20 | copies of the Software, and to permit persons to whom the Software is 21 | furnished to do so, subject to the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included in all 24 | copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 29 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 31 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 32 | SOFTWARE. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-lro.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-lro" 3 | version: 1.0.2 4 | type: npm 5 | summary: LRO Polling strtegy for the Azure SDK in TypeScript 6 | homepage: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/core/core-lro 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2020 Microsoft 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-paging.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-paging" 3 | version: 1.1.3 4 | type: npm 5 | summary: Core types for paging async iterable iterators 6 | homepage: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/core-paging/README.md 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2020 Microsoft 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-tracing-1.0.0-preview.8.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-tracing" 3 | version: 1.0.0-preview.8 4 | type: npm 5 | summary: Provides low-level interfaces and helper methods for tracing in Azure SDK 6 | homepage: https://github.com/azure/azure-sdk-for-js/tree/master/sdk/core/core-tracing 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2020 Microsoft 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/core-tracing-1.0.0-preview.9.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/core-tracing" 3 | version: 1.0.0-preview.9 4 | type: npm 5 | summary: Provides low-level interfaces and helper methods for tracing in Azure SDK 6 | homepage: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/core/core-tracing/README.md 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2020 Microsoft 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/logger.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/logger" 3 | version: 1.0.0 4 | type: npm 5 | summary: Microsoft Azure SDK for JavaScript - Logger 6 | homepage: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/logger 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | MIT License 12 | 13 | Copyright (c) Microsoft Corporation. All rights reserved. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/ms-rest-js.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/ms-rest-js" 3 | version: 2.1.0 4 | type: npm 5 | summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client 6 | libraries generated using AutoRest 7 | homepage: https://github.com/Azure/ms-rest-js 8 | license: mit 9 | licenses: 10 | - sources: LICENSE 11 | text: |2 12 | MIT License 13 | 14 | Copyright (c) Microsoft Corporation. All rights reserved. 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining a copy 17 | of this software and associated documentation files (the "Software"), to deal 18 | in the Software without restriction, including without limitation the rights 19 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 20 | copies of the Software, and to permit persons to whom the Software is 21 | furnished to do so, subject to the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included in all 24 | copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 29 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 31 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 32 | SOFTWARE 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/@azure/storage-blob.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@azure/storage-blob" 3 | version: 12.3.0 4 | type: npm 5 | summary: Microsoft Azure Storage SDK for JavaScript - Blob 6 | homepage: https://github.com/Azure/azure-sdk-for-js#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2020 Microsoft 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@opencensus/web-types.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@opencensus/web-types" 3 | version: 0.0.7 4 | type: npm 5 | summary: OpenCensus Web types is a slightly-patched copy of the `types.ts` files from 6 | `@opencensus/core` so that they can be easily imported in web-specific packages. 7 | homepage: https://github.com/census-instrumentation/opencensus-web#readme 8 | license: apache-2.0 9 | licenses: 10 | - sources: LICENSE 11 | text: |2 12 | 13 | Apache License 14 | Version 2.0, January 2004 15 | http://www.apache.org/licenses/ 16 | 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 18 | 19 | 1. Definitions. 20 | 21 | "License" shall mean the terms and conditions for use, reproduction, 22 | and distribution as defined by Sections 1 through 9 of this document. 23 | 24 | "Licensor" shall mean the copyright owner or entity authorized by 25 | the copyright owner that is granting the License. 26 | 27 | "Legal Entity" shall mean the union of the acting entity and all 28 | other entities that control, are controlled by, or are under common 29 | control with that entity. For the purposes of this definition, 30 | "control" means (i) the power, direct or indirect, to cause the 31 | direction or management of such entity, whether by contract or 32 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 33 | outstanding shares, or (iii) beneficial ownership of such entity. 34 | 35 | "You" (or "Your") shall mean an individual or Legal Entity 36 | exercising permissions granted by this License. 37 | 38 | "Source" form shall mean the preferred form for making modifications, 39 | including but not limited to software source code, documentation 40 | source, and configuration files. 41 | 42 | "Object" form shall mean any form resulting from mechanical 43 | transformation or translation of a Source form, including but 44 | not limited to compiled object code, generated documentation, 45 | and conversions to other media types. 46 | 47 | "Work" shall mean the work of authorship, whether in Source or 48 | Object form, made available under the License, as indicated by a 49 | copyright notice that is included in or attached to the work 50 | (an example is provided in the Appendix below). 51 | 52 | "Derivative Works" shall mean any work, whether in Source or Object 53 | form, that is based on (or derived from) the Work and for which the 54 | editorial revisions, annotations, elaborations, or other modifications 55 | represent, as a whole, an original work of authorship. For the purposes 56 | of this License, Derivative Works shall not include works that remain 57 | separable from, or merely link (or bind by name) to the interfaces of, 58 | the Work and Derivative Works thereof. 59 | 60 | "Contribution" shall mean any work of authorship, including 61 | the original version of the Work and any modifications or additions 62 | to that Work or Derivative Works thereof, that is intentionally 63 | submitted to Licensor for inclusion in the Work by the copyright owner 64 | or by an individual or Legal Entity authorized to submit on behalf of 65 | the copyright owner. For the purposes of this definition, "submitted" 66 | means any form of electronic, verbal, or written communication sent 67 | to the Licensor or its representatives, including but not limited to 68 | communication on electronic mailing lists, source code control systems, 69 | and issue tracking systems that are managed by, or on behalf of, the 70 | Licensor for the purpose of discussing and improving the Work, but 71 | excluding communication that is conspicuously marked or otherwise 72 | designated in writing by the copyright owner as "Not a Contribution." 73 | 74 | "Contributor" shall mean Licensor and any individual or Legal Entity 75 | on behalf of whom a Contribution has been received by Licensor and 76 | subsequently incorporated within the Work. 77 | 78 | 2. Grant of Copyright License. Subject to the terms and conditions of 79 | this License, each Contributor hereby grants to You a perpetual, 80 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 81 | copyright license to reproduce, prepare Derivative Works of, 82 | publicly display, publicly perform, sublicense, and distribute the 83 | Work and such Derivative Works in Source or Object form. 84 | 85 | 3. Grant of Patent License. Subject to the terms and conditions of 86 | this License, each Contributor hereby grants to You a perpetual, 87 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 88 | (except as stated in this section) patent license to make, have made, 89 | use, offer to sell, sell, import, and otherwise transfer the Work, 90 | where such license applies only to those patent claims licensable 91 | by such Contributor that are necessarily infringed by their 92 | Contribution(s) alone or by combination of their Contribution(s) 93 | with the Work to which such Contribution(s) was submitted. If You 94 | institute patent litigation against any entity (including a 95 | cross-claim or counterclaim in a lawsuit) alleging that the Work 96 | or a Contribution incorporated within the Work constitutes direct 97 | or contributory patent infringement, then any patent licenses 98 | granted to You under this License for that Work shall terminate 99 | as of the date such litigation is filed. 100 | 101 | 4. Redistribution. You may reproduce and distribute copies of the 102 | Work or Derivative Works thereof in any medium, with or without 103 | modifications, and in Source or Object form, provided that You 104 | meet the following conditions: 105 | 106 | (a) You must give any other recipients of the Work or 107 | Derivative Works a copy of this License; and 108 | 109 | (b) You must cause any modified files to carry prominent notices 110 | stating that You changed the files; and 111 | 112 | (c) You must retain, in the Source form of any Derivative Works 113 | that You distribute, all copyright, patent, trademark, and 114 | attribution notices from the Source form of the Work, 115 | excluding those notices that do not pertain to any part of 116 | the Derivative Works; and 117 | 118 | (d) If the Work includes a "NOTICE" text file as part of its 119 | distribution, then any Derivative Works that You distribute must 120 | include a readable copy of the attribution notices contained 121 | within such NOTICE file, excluding those notices that do not 122 | pertain to any part of the Derivative Works, in at least one 123 | of the following places: within a NOTICE text file distributed 124 | as part of the Derivative Works; within the Source form or 125 | documentation, if provided along with the Derivative Works; or, 126 | within a display generated by the Derivative Works, if and 127 | wherever such third-party notices normally appear. The contents 128 | of the NOTICE file are for informational purposes only and 129 | do not modify the License. You may add Your own attribution 130 | notices within Derivative Works that You distribute, alongside 131 | or as an addendum to the NOTICE text from the Work, provided 132 | that such additional attribution notices cannot be construed 133 | as modifying the License. 134 | 135 | You may add Your own copyright statement to Your modifications and 136 | may provide additional or different license terms and conditions 137 | for use, reproduction, or distribution of Your modifications, or 138 | for any such Derivative Works as a whole, provided Your use, 139 | reproduction, and distribution of the Work otherwise complies with 140 | the conditions stated in this License. 141 | 142 | 5. Submission of Contributions. Unless You explicitly state otherwise, 143 | any Contribution intentionally submitted for inclusion in the Work 144 | by You to the Licensor shall be under the terms and conditions of 145 | this License, without any additional terms or conditions. 146 | Notwithstanding the above, nothing herein shall supersede or modify 147 | the terms of any separate license agreement you may have executed 148 | with Licensor regarding such Contributions. 149 | 150 | 6. Trademarks. This License does not grant permission to use the trade 151 | names, trademarks, service marks, or product names of the Licensor, 152 | except as required for reasonable and customary use in describing the 153 | origin of the Work and reproducing the content of the NOTICE file. 154 | 155 | 7. Disclaimer of Warranty. Unless required by applicable law or 156 | agreed to in writing, Licensor provides the Work (and each 157 | Contributor provides its Contributions) on an "AS IS" BASIS, 158 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 159 | implied, including, without limitation, any warranties or conditions 160 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 161 | PARTICULAR PURPOSE. You are solely responsible for determining the 162 | appropriateness of using or redistributing the Work and assume any 163 | risks associated with Your exercise of permissions under this License. 164 | 165 | 8. Limitation of Liability. In no event and under no legal theory, 166 | whether in tort (including negligence), contract, or otherwise, 167 | unless required by applicable law (such as deliberate and grossly 168 | negligent acts) or agreed to in writing, shall any Contributor be 169 | liable to You for damages, including any direct, indirect, special, 170 | incidental, or consequential damages of any character arising as a 171 | result of this License or out of the use or inability to use the 172 | Work (including but not limited to damages for loss of goodwill, 173 | work stoppage, computer failure or malfunction, or any and all 174 | other commercial damages or losses), even if such Contributor 175 | has been advised of the possibility of such damages. 176 | 177 | 9. Accepting Warranty or Additional Liability. While redistributing 178 | the Work or Derivative Works thereof, You may choose to offer, 179 | and charge a fee for, acceptance of support, warranty, indemnity, 180 | or other liability obligations and/or rights consistent with this 181 | License. However, in accepting such obligations, You may act only 182 | on Your own behalf and on Your sole responsibility, not on behalf 183 | of any other Contributor, and only if You agree to indemnify, 184 | defend, and hold each Contributor harmless for any liability 185 | incurred by, or claims asserted against, such Contributor by reason 186 | of your accepting any such warranty or additional liability. 187 | 188 | END OF TERMS AND CONDITIONS 189 | 190 | APPENDIX: How to apply the Apache License to your work. 191 | 192 | To apply the Apache License to your work, attach the following 193 | boilerplate notice, with the fields enclosed by brackets "[]" 194 | replaced with your own identifying information. (Don't include 195 | the brackets!) The text should be enclosed in the appropriate 196 | comment syntax for the file format. We also recommend that a 197 | file or class name and description of purpose be included on the 198 | same "printed page" as the copyright notice for easier 199 | identification within third-party archives. 200 | 201 | Copyright [yyyy] [name of copyright owner] 202 | 203 | Licensed under the Apache License, Version 2.0 (the "License"); 204 | you may not use this file except in compliance with the License. 205 | You may obtain a copy of the License at 206 | 207 | http://www.apache.org/licenses/LICENSE-2.0 208 | 209 | Unless required by applicable law or agreed to in writing, software 210 | distributed under the License is distributed on an "AS IS" BASIS, 211 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 212 | See the License for the specific language governing permissions and 213 | limitations under the License. 214 | - sources: README.md 215 | text: |- 216 | Apache 2.0 - See [LICENSE][license-url] for more information. 217 | 218 | [gitter-image]: https://badges.gitter.im/census-instrumentation/lobby.svg 219 | [gitter-url]: https://gitter.im/census-instrumentation/lobby 220 | [opencensus-core-url]: https://github.com/census-instrumentation/opencensus-node/tree/master/packages/opencensus-core 221 | [oc-web-readme-url]: https://github.com/census-instrumentation/opencensus-web/blob/master/README.md 222 | [license-url]: https://github.com/census-instrumentation/opencensus-web/blob/master/packages/opencensus-web-instrumentation-perf/LICENSE 223 | [rules-typescript-url]: https://github.com/bazelbuild/rules_typescript 224 | [tsickle-url]: https://github.com/angular/tsickle 225 | [closure-url]: https://github.com/google/closure-compiler 226 | notices: [] 227 | -------------------------------------------------------------------------------- /.licenses/npm/@opentelemetry/api-0.10.2.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@opentelemetry/api" 3 | version: 0.10.2 4 | type: npm 5 | summary: Public API for OpenTelemetry 6 | homepage: https://github.com/open-telemetry/opentelemetry-js#readme 7 | license: apache-2.0 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | Apache License 12 | Version 2.0, January 2004 13 | http://www.apache.org/licenses/ 14 | 15 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 16 | 17 | 1. Definitions. 18 | 19 | "License" shall mean the terms and conditions for use, reproduction, 20 | and distribution as defined by Sections 1 through 9 of this document. 21 | 22 | "Licensor" shall mean the copyright owner or entity authorized by 23 | the copyright owner that is granting the License. 24 | 25 | "Legal Entity" shall mean the union of the acting entity and all 26 | other entities that control, are controlled by, or are under common 27 | control with that entity. For the purposes of this definition, 28 | "control" means (i) the power, direct or indirect, to cause the 29 | direction or management of such entity, whether by contract or 30 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 31 | outstanding shares, or (iii) beneficial ownership of such entity. 32 | 33 | "You" (or "Your") shall mean an individual or Legal Entity 34 | exercising permissions granted by this License. 35 | 36 | "Source" form shall mean the preferred form for making modifications, 37 | including but not limited to software source code, documentation 38 | source, and configuration files. 39 | 40 | "Object" form shall mean any form resulting from mechanical 41 | transformation or translation of a Source form, including but 42 | not limited to compiled object code, generated documentation, 43 | and conversions to other media types. 44 | 45 | "Work" shall mean the work of authorship, whether in Source or 46 | Object form, made available under the License, as indicated by a 47 | copyright notice that is included in or attached to the work 48 | (an example is provided in the Appendix below). 49 | 50 | "Derivative Works" shall mean any work, whether in Source or Object 51 | form, that is based on (or derived from) the Work and for which the 52 | editorial revisions, annotations, elaborations, or other modifications 53 | represent, as a whole, an original work of authorship. For the purposes 54 | of this License, Derivative Works shall not include works that remain 55 | separable from, or merely link (or bind by name) to the interfaces of, 56 | the Work and Derivative Works thereof. 57 | 58 | "Contribution" shall mean any work of authorship, including 59 | the original version of the Work and any modifications or additions 60 | to that Work or Derivative Works thereof, that is intentionally 61 | submitted to Licensor for inclusion in the Work by the copyright owner 62 | or by an individual or Legal Entity authorized to submit on behalf of 63 | the copyright owner. For the purposes of this definition, "submitted" 64 | means any form of electronic, verbal, or written communication sent 65 | to the Licensor or its representatives, including but not limited to 66 | communication on electronic mailing lists, source code control systems, 67 | and issue tracking systems that are managed by, or on behalf of, the 68 | Licensor for the purpose of discussing and improving the Work, but 69 | excluding communication that is conspicuously marked or otherwise 70 | designated in writing by the copyright owner as "Not a Contribution." 71 | 72 | "Contributor" shall mean Licensor and any individual or Legal Entity 73 | on behalf of whom a Contribution has been received by Licensor and 74 | subsequently incorporated within the Work. 75 | 76 | 2. Grant of Copyright License. Subject to the terms and conditions of 77 | this License, each Contributor hereby grants to You a perpetual, 78 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 79 | copyright license to reproduce, prepare Derivative Works of, 80 | publicly display, publicly perform, sublicense, and distribute the 81 | Work and such Derivative Works in Source or Object form. 82 | 83 | 3. Grant of Patent License. Subject to the terms and conditions of 84 | this License, each Contributor hereby grants to You a perpetual, 85 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 86 | (except as stated in this section) patent license to make, have made, 87 | use, offer to sell, sell, import, and otherwise transfer the Work, 88 | where such license applies only to those patent claims licensable 89 | by such Contributor that are necessarily infringed by their 90 | Contribution(s) alone or by combination of their Contribution(s) 91 | with the Work to which such Contribution(s) was submitted. If You 92 | institute patent litigation against any entity (including a 93 | cross-claim or counterclaim in a lawsuit) alleging that the Work 94 | or a Contribution incorporated within the Work constitutes direct 95 | or contributory patent infringement, then any patent licenses 96 | granted to You under this License for that Work shall terminate 97 | as of the date such litigation is filed. 98 | 99 | 4. Redistribution. You may reproduce and distribute copies of the 100 | Work or Derivative Works thereof in any medium, with or without 101 | modifications, and in Source or Object form, provided that You 102 | meet the following conditions: 103 | 104 | (a) You must give any other recipients of the Work or 105 | Derivative Works a copy of this License; and 106 | 107 | (b) You must cause any modified files to carry prominent notices 108 | stating that You changed the files; and 109 | 110 | (c) You must retain, in the Source form of any Derivative Works 111 | that You distribute, all copyright, patent, trademark, and 112 | attribution notices from the Source form of the Work, 113 | excluding those notices that do not pertain to any part of 114 | the Derivative Works; and 115 | 116 | (d) If the Work includes a "NOTICE" text file as part of its 117 | distribution, then any Derivative Works that You distribute must 118 | include a readable copy of the attribution notices contained 119 | within such NOTICE file, excluding those notices that do not 120 | pertain to any part of the Derivative Works, in at least one 121 | of the following places: within a NOTICE text file distributed 122 | as part of the Derivative Works; within the Source form or 123 | documentation, if provided along with the Derivative Works; or, 124 | within a display generated by the Derivative Works, if and 125 | wherever such third-party notices normally appear. The contents 126 | of the NOTICE file are for informational purposes only and 127 | do not modify the License. You may add Your own attribution 128 | notices within Derivative Works that You distribute, alongside 129 | or as an addendum to the NOTICE text from the Work, provided 130 | that such additional attribution notices cannot be construed 131 | as modifying the License. 132 | 133 | You may add Your own copyright statement to Your modifications and 134 | may provide additional or different license terms and conditions 135 | for use, reproduction, or distribution of Your modifications, or 136 | for any such Derivative Works as a whole, provided Your use, 137 | reproduction, and distribution of the Work otherwise complies with 138 | the conditions stated in this License. 139 | 140 | 5. Submission of Contributions. Unless You explicitly state otherwise, 141 | any Contribution intentionally submitted for inclusion in the Work 142 | by You to the Licensor shall be under the terms and conditions of 143 | this License, without any additional terms or conditions. 144 | Notwithstanding the above, nothing herein shall supersede or modify 145 | the terms of any separate license agreement you may have executed 146 | with Licensor regarding such Contributions. 147 | 148 | 6. Trademarks. This License does not grant permission to use the trade 149 | names, trademarks, service marks, or product names of the Licensor, 150 | except as required for reasonable and customary use in describing the 151 | origin of the Work and reproducing the content of the NOTICE file. 152 | 153 | 7. Disclaimer of Warranty. Unless required by applicable law or 154 | agreed to in writing, Licensor provides the Work (and each 155 | Contributor provides its Contributions) on an "AS IS" BASIS, 156 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 157 | implied, including, without limitation, any warranties or conditions 158 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 159 | PARTICULAR PURPOSE. You are solely responsible for determining the 160 | appropriateness of using or redistributing the Work and assume any 161 | risks associated with Your exercise of permissions under this License. 162 | 163 | 8. Limitation of Liability. In no event and under no legal theory, 164 | whether in tort (including negligence), contract, or otherwise, 165 | unless required by applicable law (such as deliberate and grossly 166 | negligent acts) or agreed to in writing, shall any Contributor be 167 | liable to You for damages, including any direct, indirect, special, 168 | incidental, or consequential damages of any character arising as a 169 | result of this License or out of the use or inability to use the 170 | Work (including but not limited to damages for loss of goodwill, 171 | work stoppage, computer failure or malfunction, or any and all 172 | other commercial damages or losses), even if such Contributor 173 | has been advised of the possibility of such damages. 174 | 175 | 9. Accepting Warranty or Additional Liability. While redistributing 176 | the Work or Derivative Works thereof, You may choose to offer, 177 | and charge a fee for, acceptance of support, warranty, indemnity, 178 | or other liability obligations and/or rights consistent with this 179 | License. However, in accepting such obligations, You may act only 180 | on Your own behalf and on Your sole responsibility, not on behalf 181 | of any other Contributor, and only if You agree to indemnify, 182 | defend, and hold each Contributor harmless for any liability 183 | incurred by, or claims asserted against, such Contributor by reason 184 | of your accepting any such warranty or additional liability. 185 | 186 | END OF TERMS AND CONDITIONS 187 | 188 | APPENDIX: How to apply the Apache License to your work. 189 | 190 | To apply the Apache License to your work, attach the following 191 | boilerplate notice, with the fields enclosed by brackets "[]" 192 | replaced with your own identifying information. (Don't include 193 | the brackets!) The text should be enclosed in the appropriate 194 | comment syntax for the file format. We also recommend that a 195 | file or class name and description of purpose be included on the 196 | same "printed page" as the copyright notice for easier 197 | identification within third-party archives. 198 | 199 | Copyright [yyyy] [name of copyright owner] 200 | 201 | Licensed under the Apache License, Version 2.0 (the "License"); 202 | you may not use this file except in compliance with the License. 203 | You may obtain a copy of the License at 204 | 205 | http://www.apache.org/licenses/LICENSE-2.0 206 | 207 | Unless required by applicable law or agreed to in writing, software 208 | distributed under the License is distributed on an "AS IS" BASIS, 209 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 210 | See the License for the specific language governing permissions and 211 | limitations under the License. 212 | - sources: README.md 213 | text: |- 214 | Apache 2.0 - See [LICENSE][license-url] for more information. 215 | 216 | [gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg 217 | [gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge 218 | [license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE 219 | [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat 220 | [dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-api 221 | [dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-api 222 | [devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-api 223 | [devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-api&type=dev 224 | [npm-url]: https://www.npmjs.com/package/@opentelemetry/api 225 | [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fapi.svg 226 | 227 | [trace-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/traceapi.html 228 | [metrics-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/metricsapi.html 229 | [propagation-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/propagationapi.html 230 | [context-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/contextapi.html 231 | 232 | [web]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-web 233 | [tracing]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-tracing 234 | [node]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-node 235 | [metrics]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-metrics 236 | 237 | [other-tracing-backends]: https://github.com/open-telemetry/opentelemetry-js#trace-exporters 238 | notices: [] 239 | -------------------------------------------------------------------------------- /.licenses/npm/@opentelemetry/api-0.6.1.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@opentelemetry/api" 3 | version: 0.6.1 4 | type: npm 5 | summary: Public API for OpenTelemetry 6 | homepage: https://github.com/open-telemetry/opentelemetry-js#readme 7 | license: apache-2.0 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | Apache License 12 | Version 2.0, January 2004 13 | http://www.apache.org/licenses/ 14 | 15 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 16 | 17 | 1. Definitions. 18 | 19 | "License" shall mean the terms and conditions for use, reproduction, 20 | and distribution as defined by Sections 1 through 9 of this document. 21 | 22 | "Licensor" shall mean the copyright owner or entity authorized by 23 | the copyright owner that is granting the License. 24 | 25 | "Legal Entity" shall mean the union of the acting entity and all 26 | other entities that control, are controlled by, or are under common 27 | control with that entity. For the purposes of this definition, 28 | "control" means (i) the power, direct or indirect, to cause the 29 | direction or management of such entity, whether by contract or 30 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 31 | outstanding shares, or (iii) beneficial ownership of such entity. 32 | 33 | "You" (or "Your") shall mean an individual or Legal Entity 34 | exercising permissions granted by this License. 35 | 36 | "Source" form shall mean the preferred form for making modifications, 37 | including but not limited to software source code, documentation 38 | source, and configuration files. 39 | 40 | "Object" form shall mean any form resulting from mechanical 41 | transformation or translation of a Source form, including but 42 | not limited to compiled object code, generated documentation, 43 | and conversions to other media types. 44 | 45 | "Work" shall mean the work of authorship, whether in Source or 46 | Object form, made available under the License, as indicated by a 47 | copyright notice that is included in or attached to the work 48 | (an example is provided in the Appendix below). 49 | 50 | "Derivative Works" shall mean any work, whether in Source or Object 51 | form, that is based on (or derived from) the Work and for which the 52 | editorial revisions, annotations, elaborations, or other modifications 53 | represent, as a whole, an original work of authorship. For the purposes 54 | of this License, Derivative Works shall not include works that remain 55 | separable from, or merely link (or bind by name) to the interfaces of, 56 | the Work and Derivative Works thereof. 57 | 58 | "Contribution" shall mean any work of authorship, including 59 | the original version of the Work and any modifications or additions 60 | to that Work or Derivative Works thereof, that is intentionally 61 | submitted to Licensor for inclusion in the Work by the copyright owner 62 | or by an individual or Legal Entity authorized to submit on behalf of 63 | the copyright owner. For the purposes of this definition, "submitted" 64 | means any form of electronic, verbal, or written communication sent 65 | to the Licensor or its representatives, including but not limited to 66 | communication on electronic mailing lists, source code control systems, 67 | and issue tracking systems that are managed by, or on behalf of, the 68 | Licensor for the purpose of discussing and improving the Work, but 69 | excluding communication that is conspicuously marked or otherwise 70 | designated in writing by the copyright owner as "Not a Contribution." 71 | 72 | "Contributor" shall mean Licensor and any individual or Legal Entity 73 | on behalf of whom a Contribution has been received by Licensor and 74 | subsequently incorporated within the Work. 75 | 76 | 2. Grant of Copyright License. Subject to the terms and conditions of 77 | this License, each Contributor hereby grants to You a perpetual, 78 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 79 | copyright license to reproduce, prepare Derivative Works of, 80 | publicly display, publicly perform, sublicense, and distribute the 81 | Work and such Derivative Works in Source or Object form. 82 | 83 | 3. Grant of Patent License. Subject to the terms and conditions of 84 | this License, each Contributor hereby grants to You a perpetual, 85 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 86 | (except as stated in this section) patent license to make, have made, 87 | use, offer to sell, sell, import, and otherwise transfer the Work, 88 | where such license applies only to those patent claims licensable 89 | by such Contributor that are necessarily infringed by their 90 | Contribution(s) alone or by combination of their Contribution(s) 91 | with the Work to which such Contribution(s) was submitted. If You 92 | institute patent litigation against any entity (including a 93 | cross-claim or counterclaim in a lawsuit) alleging that the Work 94 | or a Contribution incorporated within the Work constitutes direct 95 | or contributory patent infringement, then any patent licenses 96 | granted to You under this License for that Work shall terminate 97 | as of the date such litigation is filed. 98 | 99 | 4. Redistribution. You may reproduce and distribute copies of the 100 | Work or Derivative Works thereof in any medium, with or without 101 | modifications, and in Source or Object form, provided that You 102 | meet the following conditions: 103 | 104 | (a) You must give any other recipients of the Work or 105 | Derivative Works a copy of this License; and 106 | 107 | (b) You must cause any modified files to carry prominent notices 108 | stating that You changed the files; and 109 | 110 | (c) You must retain, in the Source form of any Derivative Works 111 | that You distribute, all copyright, patent, trademark, and 112 | attribution notices from the Source form of the Work, 113 | excluding those notices that do not pertain to any part of 114 | the Derivative Works; and 115 | 116 | (d) If the Work includes a "NOTICE" text file as part of its 117 | distribution, then any Derivative Works that You distribute must 118 | include a readable copy of the attribution notices contained 119 | within such NOTICE file, excluding those notices that do not 120 | pertain to any part of the Derivative Works, in at least one 121 | of the following places: within a NOTICE text file distributed 122 | as part of the Derivative Works; within the Source form or 123 | documentation, if provided along with the Derivative Works; or, 124 | within a display generated by the Derivative Works, if and 125 | wherever such third-party notices normally appear. The contents 126 | of the NOTICE file are for informational purposes only and 127 | do not modify the License. You may add Your own attribution 128 | notices within Derivative Works that You distribute, alongside 129 | or as an addendum to the NOTICE text from the Work, provided 130 | that such additional attribution notices cannot be construed 131 | as modifying the License. 132 | 133 | You may add Your own copyright statement to Your modifications and 134 | may provide additional or different license terms and conditions 135 | for use, reproduction, or distribution of Your modifications, or 136 | for any such Derivative Works as a whole, provided Your use, 137 | reproduction, and distribution of the Work otherwise complies with 138 | the conditions stated in this License. 139 | 140 | 5. Submission of Contributions. Unless You explicitly state otherwise, 141 | any Contribution intentionally submitted for inclusion in the Work 142 | by You to the Licensor shall be under the terms and conditions of 143 | this License, without any additional terms or conditions. 144 | Notwithstanding the above, nothing herein shall supersede or modify 145 | the terms of any separate license agreement you may have executed 146 | with Licensor regarding such Contributions. 147 | 148 | 6. Trademarks. This License does not grant permission to use the trade 149 | names, trademarks, service marks, or product names of the Licensor, 150 | except as required for reasonable and customary use in describing the 151 | origin of the Work and reproducing the content of the NOTICE file. 152 | 153 | 7. Disclaimer of Warranty. Unless required by applicable law or 154 | agreed to in writing, Licensor provides the Work (and each 155 | Contributor provides its Contributions) on an "AS IS" BASIS, 156 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 157 | implied, including, without limitation, any warranties or conditions 158 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 159 | PARTICULAR PURPOSE. You are solely responsible for determining the 160 | appropriateness of using or redistributing the Work and assume any 161 | risks associated with Your exercise of permissions under this License. 162 | 163 | 8. Limitation of Liability. In no event and under no legal theory, 164 | whether in tort (including negligence), contract, or otherwise, 165 | unless required by applicable law (such as deliberate and grossly 166 | negligent acts) or agreed to in writing, shall any Contributor be 167 | liable to You for damages, including any direct, indirect, special, 168 | incidental, or consequential damages of any character arising as a 169 | result of this License or out of the use or inability to use the 170 | Work (including but not limited to damages for loss of goodwill, 171 | work stoppage, computer failure or malfunction, or any and all 172 | other commercial damages or losses), even if such Contributor 173 | has been advised of the possibility of such damages. 174 | 175 | 9. Accepting Warranty or Additional Liability. While redistributing 176 | the Work or Derivative Works thereof, You may choose to offer, 177 | and charge a fee for, acceptance of support, warranty, indemnity, 178 | or other liability obligations and/or rights consistent with this 179 | License. However, in accepting such obligations, You may act only 180 | on Your own behalf and on Your sole responsibility, not on behalf 181 | of any other Contributor, and only if You agree to indemnify, 182 | defend, and hold each Contributor harmless for any liability 183 | incurred by, or claims asserted against, such Contributor by reason 184 | of your accepting any such warranty or additional liability. 185 | 186 | END OF TERMS AND CONDITIONS 187 | 188 | APPENDIX: How to apply the Apache License to your work. 189 | 190 | To apply the Apache License to your work, attach the following 191 | boilerplate notice, with the fields enclosed by brackets "[]" 192 | replaced with your own identifying information. (Don't include 193 | the brackets!) The text should be enclosed in the appropriate 194 | comment syntax for the file format. We also recommend that a 195 | file or class name and description of purpose be included on the 196 | same "printed page" as the copyright notice for easier 197 | identification within third-party archives. 198 | 199 | Copyright [yyyy] [name of copyright owner] 200 | 201 | Licensed under the Apache License, Version 2.0 (the "License"); 202 | you may not use this file except in compliance with the License. 203 | You may obtain a copy of the License at 204 | 205 | http://www.apache.org/licenses/LICENSE-2.0 206 | 207 | Unless required by applicable law or agreed to in writing, software 208 | distributed under the License is distributed on an "AS IS" BASIS, 209 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 210 | See the License for the specific language governing permissions and 211 | limitations under the License. 212 | - sources: README.md 213 | text: |- 214 | Apache 2.0 - See [LICENSE][license-url] for more information. 215 | 216 | [gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg 217 | [gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge 218 | [license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE 219 | [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat 220 | [dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-api 221 | [dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-api 222 | [devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-api 223 | [devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-api&type=dev 224 | [npm-url]: https://www.npmjs.com/package/@opentelemetry/api 225 | [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fapi.svg 226 | 227 | [trace-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/traceapi.html 228 | [metrics-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/metricsapi.html 229 | [propagation-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/propagationapi.html 230 | [context-api-docs]: https://open-telemetry.github.io/opentelemetry-js/classes/contextapi.html 231 | 232 | [web]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-web 233 | [tracing]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-tracing 234 | [node]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-node 235 | [metrics]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-metrics 236 | 237 | [other-tracing-backends]: https://github.com/open-telemetry/opentelemetry-js#trace-exporters 238 | notices: [] 239 | -------------------------------------------------------------------------------- /.licenses/npm/@opentelemetry/context-base-0.10.2.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@opentelemetry/context-base" 3 | version: 0.10.2 4 | type: npm 5 | summary: OpenTelemetry Base Context Manager 6 | homepage: https://github.com/open-telemetry/opentelemetry-js#readme 7 | license: apache-2.0 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | Apache License 12 | Version 2.0, January 2004 13 | http://www.apache.org/licenses/ 14 | 15 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 16 | 17 | 1. Definitions. 18 | 19 | "License" shall mean the terms and conditions for use, reproduction, 20 | and distribution as defined by Sections 1 through 9 of this document. 21 | 22 | "Licensor" shall mean the copyright owner or entity authorized by 23 | the copyright owner that is granting the License. 24 | 25 | "Legal Entity" shall mean the union of the acting entity and all 26 | other entities that control, are controlled by, or are under common 27 | control with that entity. For the purposes of this definition, 28 | "control" means (i) the power, direct or indirect, to cause the 29 | direction or management of such entity, whether by contract or 30 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 31 | outstanding shares, or (iii) beneficial ownership of such entity. 32 | 33 | "You" (or "Your") shall mean an individual or Legal Entity 34 | exercising permissions granted by this License. 35 | 36 | "Source" form shall mean the preferred form for making modifications, 37 | including but not limited to software source code, documentation 38 | source, and configuration files. 39 | 40 | "Object" form shall mean any form resulting from mechanical 41 | transformation or translation of a Source form, including but 42 | not limited to compiled object code, generated documentation, 43 | and conversions to other media types. 44 | 45 | "Work" shall mean the work of authorship, whether in Source or 46 | Object form, made available under the License, as indicated by a 47 | copyright notice that is included in or attached to the work 48 | (an example is provided in the Appendix below). 49 | 50 | "Derivative Works" shall mean any work, whether in Source or Object 51 | form, that is based on (or derived from) the Work and for which the 52 | editorial revisions, annotations, elaborations, or other modifications 53 | represent, as a whole, an original work of authorship. For the purposes 54 | of this License, Derivative Works shall not include works that remain 55 | separable from, or merely link (or bind by name) to the interfaces of, 56 | the Work and Derivative Works thereof. 57 | 58 | "Contribution" shall mean any work of authorship, including 59 | the original version of the Work and any modifications or additions 60 | to that Work or Derivative Works thereof, that is intentionally 61 | submitted to Licensor for inclusion in the Work by the copyright owner 62 | or by an individual or Legal Entity authorized to submit on behalf of 63 | the copyright owner. For the purposes of this definition, "submitted" 64 | means any form of electronic, verbal, or written communication sent 65 | to the Licensor or its representatives, including but not limited to 66 | communication on electronic mailing lists, source code control systems, 67 | and issue tracking systems that are managed by, or on behalf of, the 68 | Licensor for the purpose of discussing and improving the Work, but 69 | excluding communication that is conspicuously marked or otherwise 70 | designated in writing by the copyright owner as "Not a Contribution." 71 | 72 | "Contributor" shall mean Licensor and any individual or Legal Entity 73 | on behalf of whom a Contribution has been received by Licensor and 74 | subsequently incorporated within the Work. 75 | 76 | 2. Grant of Copyright License. Subject to the terms and conditions of 77 | this License, each Contributor hereby grants to You a perpetual, 78 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 79 | copyright license to reproduce, prepare Derivative Works of, 80 | publicly display, publicly perform, sublicense, and distribute the 81 | Work and such Derivative Works in Source or Object form. 82 | 83 | 3. Grant of Patent License. Subject to the terms and conditions of 84 | this License, each Contributor hereby grants to You a perpetual, 85 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 86 | (except as stated in this section) patent license to make, have made, 87 | use, offer to sell, sell, import, and otherwise transfer the Work, 88 | where such license applies only to those patent claims licensable 89 | by such Contributor that are necessarily infringed by their 90 | Contribution(s) alone or by combination of their Contribution(s) 91 | with the Work to which such Contribution(s) was submitted. If You 92 | institute patent litigation against any entity (including a 93 | cross-claim or counterclaim in a lawsuit) alleging that the Work 94 | or a Contribution incorporated within the Work constitutes direct 95 | or contributory patent infringement, then any patent licenses 96 | granted to You under this License for that Work shall terminate 97 | as of the date such litigation is filed. 98 | 99 | 4. Redistribution. You may reproduce and distribute copies of the 100 | Work or Derivative Works thereof in any medium, with or without 101 | modifications, and in Source or Object form, provided that You 102 | meet the following conditions: 103 | 104 | (a) You must give any other recipients of the Work or 105 | Derivative Works a copy of this License; and 106 | 107 | (b) You must cause any modified files to carry prominent notices 108 | stating that You changed the files; and 109 | 110 | (c) You must retain, in the Source form of any Derivative Works 111 | that You distribute, all copyright, patent, trademark, and 112 | attribution notices from the Source form of the Work, 113 | excluding those notices that do not pertain to any part of 114 | the Derivative Works; and 115 | 116 | (d) If the Work includes a "NOTICE" text file as part of its 117 | distribution, then any Derivative Works that You distribute must 118 | include a readable copy of the attribution notices contained 119 | within such NOTICE file, excluding those notices that do not 120 | pertain to any part of the Derivative Works, in at least one 121 | of the following places: within a NOTICE text file distributed 122 | as part of the Derivative Works; within the Source form or 123 | documentation, if provided along with the Derivative Works; or, 124 | within a display generated by the Derivative Works, if and 125 | wherever such third-party notices normally appear. The contents 126 | of the NOTICE file are for informational purposes only and 127 | do not modify the License. You may add Your own attribution 128 | notices within Derivative Works that You distribute, alongside 129 | or as an addendum to the NOTICE text from the Work, provided 130 | that such additional attribution notices cannot be construed 131 | as modifying the License. 132 | 133 | You may add Your own copyright statement to Your modifications and 134 | may provide additional or different license terms and conditions 135 | for use, reproduction, or distribution of Your modifications, or 136 | for any such Derivative Works as a whole, provided Your use, 137 | reproduction, and distribution of the Work otherwise complies with 138 | the conditions stated in this License. 139 | 140 | 5. Submission of Contributions. Unless You explicitly state otherwise, 141 | any Contribution intentionally submitted for inclusion in the Work 142 | by You to the Licensor shall be under the terms and conditions of 143 | this License, without any additional terms or conditions. 144 | Notwithstanding the above, nothing herein shall supersede or modify 145 | the terms of any separate license agreement you may have executed 146 | with Licensor regarding such Contributions. 147 | 148 | 6. Trademarks. This License does not grant permission to use the trade 149 | names, trademarks, service marks, or product names of the Licensor, 150 | except as required for reasonable and customary use in describing the 151 | origin of the Work and reproducing the content of the NOTICE file. 152 | 153 | 7. Disclaimer of Warranty. Unless required by applicable law or 154 | agreed to in writing, Licensor provides the Work (and each 155 | Contributor provides its Contributions) on an "AS IS" BASIS, 156 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 157 | implied, including, without limitation, any warranties or conditions 158 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 159 | PARTICULAR PURPOSE. You are solely responsible for determining the 160 | appropriateness of using or redistributing the Work and assume any 161 | risks associated with Your exercise of permissions under this License. 162 | 163 | 8. Limitation of Liability. In no event and under no legal theory, 164 | whether in tort (including negligence), contract, or otherwise, 165 | unless required by applicable law (such as deliberate and grossly 166 | negligent acts) or agreed to in writing, shall any Contributor be 167 | liable to You for damages, including any direct, indirect, special, 168 | incidental, or consequential damages of any character arising as a 169 | result of this License or out of the use or inability to use the 170 | Work (including but not limited to damages for loss of goodwill, 171 | work stoppage, computer failure or malfunction, or any and all 172 | other commercial damages or losses), even if such Contributor 173 | has been advised of the possibility of such damages. 174 | 175 | 9. Accepting Warranty or Additional Liability. While redistributing 176 | the Work or Derivative Works thereof, You may choose to offer, 177 | and charge a fee for, acceptance of support, warranty, indemnity, 178 | or other liability obligations and/or rights consistent with this 179 | License. However, in accepting such obligations, You may act only 180 | on Your own behalf and on Your sole responsibility, not on behalf 181 | of any other Contributor, and only if You agree to indemnify, 182 | defend, and hold each Contributor harmless for any liability 183 | incurred by, or claims asserted against, such Contributor by reason 184 | of your accepting any such warranty or additional liability. 185 | 186 | END OF TERMS AND CONDITIONS 187 | 188 | APPENDIX: How to apply the Apache License to your work. 189 | 190 | To apply the Apache License to your work, attach the following 191 | boilerplate notice, with the fields enclosed by brackets "[]" 192 | replaced with your own identifying information. (Don't include 193 | the brackets!) The text should be enclosed in the appropriate 194 | comment syntax for the file format. We also recommend that a 195 | file or class name and description of purpose be included on the 196 | same "printed page" as the copyright notice for easier 197 | identification within third-party archives. 198 | 199 | Copyright [yyyy] [name of copyright owner] 200 | 201 | Licensed under the Apache License, Version 2.0 (the "License"); 202 | you may not use this file except in compliance with the License. 203 | You may obtain a copy of the License at 204 | 205 | http://www.apache.org/licenses/LICENSE-2.0 206 | 207 | Unless required by applicable law or agreed to in writing, software 208 | distributed under the License is distributed on an "AS IS" BASIS, 209 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 210 | See the License for the specific language governing permissions and 211 | limitations under the License. 212 | - sources: README.md 213 | text: |- 214 | Apache 2.0 - See [LICENSE][license-url] for more information. 215 | 216 | [gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg 217 | [gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge 218 | [license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE 219 | [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat 220 | [dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-context-base 221 | [dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-context-base 222 | [devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-context-base 223 | [devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-context-base&type=dev 224 | [ah-context-manager]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-context-async-hooks 225 | [npm-url]: https://www.npmjs.com/package/@opentelemetry/context-base 226 | [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fcontext-base.svg 227 | notices: [] 228 | -------------------------------------------------------------------------------- /.licenses/npm/@opentelemetry/context-base-0.6.1.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@opentelemetry/context-base" 3 | version: 0.6.1 4 | type: npm 5 | summary: OpenTelemetry Base Context Manager 6 | homepage: https://github.com/open-telemetry/opentelemetry-js#readme 7 | license: apache-2.0 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | Apache License 12 | Version 2.0, January 2004 13 | http://www.apache.org/licenses/ 14 | 15 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 16 | 17 | 1. Definitions. 18 | 19 | "License" shall mean the terms and conditions for use, reproduction, 20 | and distribution as defined by Sections 1 through 9 of this document. 21 | 22 | "Licensor" shall mean the copyright owner or entity authorized by 23 | the copyright owner that is granting the License. 24 | 25 | "Legal Entity" shall mean the union of the acting entity and all 26 | other entities that control, are controlled by, or are under common 27 | control with that entity. For the purposes of this definition, 28 | "control" means (i) the power, direct or indirect, to cause the 29 | direction or management of such entity, whether by contract or 30 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 31 | outstanding shares, or (iii) beneficial ownership of such entity. 32 | 33 | "You" (or "Your") shall mean an individual or Legal Entity 34 | exercising permissions granted by this License. 35 | 36 | "Source" form shall mean the preferred form for making modifications, 37 | including but not limited to software source code, documentation 38 | source, and configuration files. 39 | 40 | "Object" form shall mean any form resulting from mechanical 41 | transformation or translation of a Source form, including but 42 | not limited to compiled object code, generated documentation, 43 | and conversions to other media types. 44 | 45 | "Work" shall mean the work of authorship, whether in Source or 46 | Object form, made available under the License, as indicated by a 47 | copyright notice that is included in or attached to the work 48 | (an example is provided in the Appendix below). 49 | 50 | "Derivative Works" shall mean any work, whether in Source or Object 51 | form, that is based on (or derived from) the Work and for which the 52 | editorial revisions, annotations, elaborations, or other modifications 53 | represent, as a whole, an original work of authorship. For the purposes 54 | of this License, Derivative Works shall not include works that remain 55 | separable from, or merely link (or bind by name) to the interfaces of, 56 | the Work and Derivative Works thereof. 57 | 58 | "Contribution" shall mean any work of authorship, including 59 | the original version of the Work and any modifications or additions 60 | to that Work or Derivative Works thereof, that is intentionally 61 | submitted to Licensor for inclusion in the Work by the copyright owner 62 | or by an individual or Legal Entity authorized to submit on behalf of 63 | the copyright owner. For the purposes of this definition, "submitted" 64 | means any form of electronic, verbal, or written communication sent 65 | to the Licensor or its representatives, including but not limited to 66 | communication on electronic mailing lists, source code control systems, 67 | and issue tracking systems that are managed by, or on behalf of, the 68 | Licensor for the purpose of discussing and improving the Work, but 69 | excluding communication that is conspicuously marked or otherwise 70 | designated in writing by the copyright owner as "Not a Contribution." 71 | 72 | "Contributor" shall mean Licensor and any individual or Legal Entity 73 | on behalf of whom a Contribution has been received by Licensor and 74 | subsequently incorporated within the Work. 75 | 76 | 2. Grant of Copyright License. Subject to the terms and conditions of 77 | this License, each Contributor hereby grants to You a perpetual, 78 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 79 | copyright license to reproduce, prepare Derivative Works of, 80 | publicly display, publicly perform, sublicense, and distribute the 81 | Work and such Derivative Works in Source or Object form. 82 | 83 | 3. Grant of Patent License. Subject to the terms and conditions of 84 | this License, each Contributor hereby grants to You a perpetual, 85 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 86 | (except as stated in this section) patent license to make, have made, 87 | use, offer to sell, sell, import, and otherwise transfer the Work, 88 | where such license applies only to those patent claims licensable 89 | by such Contributor that are necessarily infringed by their 90 | Contribution(s) alone or by combination of their Contribution(s) 91 | with the Work to which such Contribution(s) was submitted. If You 92 | institute patent litigation against any entity (including a 93 | cross-claim or counterclaim in a lawsuit) alleging that the Work 94 | or a Contribution incorporated within the Work constitutes direct 95 | or contributory patent infringement, then any patent licenses 96 | granted to You under this License for that Work shall terminate 97 | as of the date such litigation is filed. 98 | 99 | 4. Redistribution. You may reproduce and distribute copies of the 100 | Work or Derivative Works thereof in any medium, with or without 101 | modifications, and in Source or Object form, provided that You 102 | meet the following conditions: 103 | 104 | (a) You must give any other recipients of the Work or 105 | Derivative Works a copy of this License; and 106 | 107 | (b) You must cause any modified files to carry prominent notices 108 | stating that You changed the files; and 109 | 110 | (c) You must retain, in the Source form of any Derivative Works 111 | that You distribute, all copyright, patent, trademark, and 112 | attribution notices from the Source form of the Work, 113 | excluding those notices that do not pertain to any part of 114 | the Derivative Works; and 115 | 116 | (d) If the Work includes a "NOTICE" text file as part of its 117 | distribution, then any Derivative Works that You distribute must 118 | include a readable copy of the attribution notices contained 119 | within such NOTICE file, excluding those notices that do not 120 | pertain to any part of the Derivative Works, in at least one 121 | of the following places: within a NOTICE text file distributed 122 | as part of the Derivative Works; within the Source form or 123 | documentation, if provided along with the Derivative Works; or, 124 | within a display generated by the Derivative Works, if and 125 | wherever such third-party notices normally appear. The contents 126 | of the NOTICE file are for informational purposes only and 127 | do not modify the License. You may add Your own attribution 128 | notices within Derivative Works that You distribute, alongside 129 | or as an addendum to the NOTICE text from the Work, provided 130 | that such additional attribution notices cannot be construed 131 | as modifying the License. 132 | 133 | You may add Your own copyright statement to Your modifications and 134 | may provide additional or different license terms and conditions 135 | for use, reproduction, or distribution of Your modifications, or 136 | for any such Derivative Works as a whole, provided Your use, 137 | reproduction, and distribution of the Work otherwise complies with 138 | the conditions stated in this License. 139 | 140 | 5. Submission of Contributions. Unless You explicitly state otherwise, 141 | any Contribution intentionally submitted for inclusion in the Work 142 | by You to the Licensor shall be under the terms and conditions of 143 | this License, without any additional terms or conditions. 144 | Notwithstanding the above, nothing herein shall supersede or modify 145 | the terms of any separate license agreement you may have executed 146 | with Licensor regarding such Contributions. 147 | 148 | 6. Trademarks. This License does not grant permission to use the trade 149 | names, trademarks, service marks, or product names of the Licensor, 150 | except as required for reasonable and customary use in describing the 151 | origin of the Work and reproducing the content of the NOTICE file. 152 | 153 | 7. Disclaimer of Warranty. Unless required by applicable law or 154 | agreed to in writing, Licensor provides the Work (and each 155 | Contributor provides its Contributions) on an "AS IS" BASIS, 156 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 157 | implied, including, without limitation, any warranties or conditions 158 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 159 | PARTICULAR PURPOSE. You are solely responsible for determining the 160 | appropriateness of using or redistributing the Work and assume any 161 | risks associated with Your exercise of permissions under this License. 162 | 163 | 8. Limitation of Liability. In no event and under no legal theory, 164 | whether in tort (including negligence), contract, or otherwise, 165 | unless required by applicable law (such as deliberate and grossly 166 | negligent acts) or agreed to in writing, shall any Contributor be 167 | liable to You for damages, including any direct, indirect, special, 168 | incidental, or consequential damages of any character arising as a 169 | result of this License or out of the use or inability to use the 170 | Work (including but not limited to damages for loss of goodwill, 171 | work stoppage, computer failure or malfunction, or any and all 172 | other commercial damages or losses), even if such Contributor 173 | has been advised of the possibility of such damages. 174 | 175 | 9. Accepting Warranty or Additional Liability. While redistributing 176 | the Work or Derivative Works thereof, You may choose to offer, 177 | and charge a fee for, acceptance of support, warranty, indemnity, 178 | or other liability obligations and/or rights consistent with this 179 | License. However, in accepting such obligations, You may act only 180 | on Your own behalf and on Your sole responsibility, not on behalf 181 | of any other Contributor, and only if You agree to indemnify, 182 | defend, and hold each Contributor harmless for any liability 183 | incurred by, or claims asserted against, such Contributor by reason 184 | of your accepting any such warranty or additional liability. 185 | 186 | END OF TERMS AND CONDITIONS 187 | 188 | APPENDIX: How to apply the Apache License to your work. 189 | 190 | To apply the Apache License to your work, attach the following 191 | boilerplate notice, with the fields enclosed by brackets "[]" 192 | replaced with your own identifying information. (Don't include 193 | the brackets!) The text should be enclosed in the appropriate 194 | comment syntax for the file format. We also recommend that a 195 | file or class name and description of purpose be included on the 196 | same "printed page" as the copyright notice for easier 197 | identification within third-party archives. 198 | 199 | Copyright [yyyy] [name of copyright owner] 200 | 201 | Licensed under the Apache License, Version 2.0 (the "License"); 202 | you may not use this file except in compliance with the License. 203 | You may obtain a copy of the License at 204 | 205 | http://www.apache.org/licenses/LICENSE-2.0 206 | 207 | Unless required by applicable law or agreed to in writing, software 208 | distributed under the License is distributed on an "AS IS" BASIS, 209 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 210 | See the License for the specific language governing permissions and 211 | limitations under the License. 212 | - sources: README.md 213 | text: |- 214 | Apache 2.0 - See [LICENSE][license-url] for more information. 215 | 216 | [gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg 217 | [gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge 218 | [license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE 219 | [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat 220 | [dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=packages/opentelemetry-context-base 221 | [dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-context-base 222 | [devDependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/dev-status.svg?path=packages/opentelemetry-context-base 223 | [devDependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetry-context-base&type=dev 224 | [ah-context-manager]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-context-async-hooks 225 | [npm-url]: https://www.npmjs.com/package/@opentelemetry/context-base 226 | [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fcontext-base.svg 227 | notices: [] 228 | -------------------------------------------------------------------------------- /.licenses/npm/@types/node-fetch.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@types/node-fetch" 3 | version: 2.5.7 4 | type: npm 5 | summary: TypeScript definitions for node-fetch 6 | homepage: https://github.com/DefinitelyTyped/DefinitelyTyped#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | MIT License 12 | 13 | Copyright (c) Microsoft Corporation. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@types/node.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@types/node" 3 | version: 12.12.40 4 | type: npm 5 | summary: TypeScript definitions for Node.js 6 | homepage: https://github.com/DefinitelyTyped/DefinitelyTyped#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | MIT License 12 | 13 | Copyright (c) Microsoft Corporation. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/@types/tunnel.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: "@types/tunnel" 3 | version: 0.0.1 4 | type: npm 5 | summary: TypeScript definitions for tunnel 6 | homepage: https://github.com/DefinitelyTyped/DefinitelyTyped#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: " MIT License\r\n\r\n Copyright (c) Microsoft Corporation. All rights 11 | reserved.\r\n\r\n Permission is hereby granted, free of charge, to any person 12 | obtaining a copy\r\n of this software and associated documentation files (the 13 | \"Software\"), to deal\r\n in the Software without restriction, including without 14 | limitation the rights\r\n to use, copy, modify, merge, publish, distribute, 15 | sublicense, and/or sell\r\n copies of the Software, and to permit persons to 16 | whom the Software is\r\n furnished to do so, subject to the following conditions:\r\n\r\n 17 | \ The above copyright notice and this permission notice shall be included in 18 | all\r\n copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE 19 | IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n IMPLIED, 20 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS 21 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n AUTHORS 22 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n LIABILITY, 23 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT 24 | OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n 25 | \ SOFTWARE\r\n" 26 | notices: [] 27 | -------------------------------------------------------------------------------- /.licenses/npm/abort-controller.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: abort-controller 3 | version: 3.0.0 4 | type: npm 5 | summary: An implementation of WHATWG AbortController interface. 6 | homepage: https://github.com/mysticatea/abort-controller#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | MIT License 12 | 13 | Copyright (c) 2017 Toru Nagashima 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/asynckit.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: asynckit 3 | version: 0.4.0 4 | type: npm 5 | summary: Minimal async jobs utility library, with streams support 6 | homepage: https://github.com/alexindigo/asynckit#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2016 Alex Indigo 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | - sources: README.md 33 | text: AsyncKit is licensed under the MIT license. 34 | notices: [] 35 | -------------------------------------------------------------------------------- /.licenses/npm/balanced-match.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: balanced-match 3 | version: 1.0.0 4 | type: npm 5 | summary: Match balanced character pairs, like "{" and "}" 6 | homepage: https://github.com/juliangruber/balanced-match 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: | 11 | (MIT) 12 | 13 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy of 16 | this software and associated documentation files (the "Software"), to deal in 17 | the Software without restriction, including without limitation the rights to 18 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 19 | of the Software, and to permit persons to whom the Software is furnished to do 20 | so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | - sources: README.md 33 | text: |- 34 | (MIT) 35 | 36 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy of 39 | this software and associated documentation files (the "Software"), to deal in 40 | the Software without restriction, including without limitation the rights to 41 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 42 | of the Software, and to permit persons to whom the Software is furnished to do 43 | so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in all 46 | copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 54 | SOFTWARE. 55 | notices: [] 56 | -------------------------------------------------------------------------------- /.licenses/npm/brace-expansion.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: brace-expansion 3 | version: 1.1.11 4 | type: npm 5 | summary: Brace expansion as known from sh/bash 6 | homepage: https://github.com/juliangruber/brace-expansion 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | MIT License 12 | 13 | Copyright (c) 2013 Julian Gruber 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | - sources: README.md 33 | text: |- 34 | (MIT) 35 | 36 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy of 39 | this software and associated documentation files (the "Software"), to deal in 40 | the Software without restriction, including without limitation the rights to 41 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 42 | of the Software, and to permit persons to whom the Software is furnished to do 43 | so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in all 46 | copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 54 | SOFTWARE. 55 | notices: [] 56 | -------------------------------------------------------------------------------- /.licenses/npm/combined-stream.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: combined-stream 3 | version: 1.0.8 4 | type: npm 5 | summary: A stream that emits multiple other streams one after another. 6 | homepage: https://github.com/felixge/node-combined-stream 7 | license: mit 8 | licenses: 9 | - sources: License 10 | text: | 11 | Copyright (c) 2011 Debuggable Limited 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 | THE SOFTWARE. 30 | - sources: Readme.md 31 | text: combined-stream is licensed under the MIT license. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/concat-map.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: concat-map 3 | version: 0.0.1 4 | type: npm 5 | summary: concatenative mapdashery 6 | homepage: https://github.com/substack/node-concat-map#readme 7 | license: other 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | This software is released under the MIT license: 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy of 14 | this software and associated documentation files (the "Software"), to deal in 15 | the Software without restriction, including without limitation the rights to 16 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 17 | the Software, and to permit persons to whom the Software is furnished to do so, 18 | subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in all 21 | copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 25 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 26 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 27 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 28 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 | - sources: README.markdown 30 | text: MIT 31 | notices: [] 32 | -------------------------------------------------------------------------------- /.licenses/npm/delayed-stream.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: delayed-stream 3 | version: 1.0.0 4 | type: npm 5 | summary: Buffers events from a stream until you are ready to handle them. 6 | homepage: https://github.com/felixge/node-delayed-stream 7 | license: mit 8 | licenses: 9 | - sources: License 10 | text: | 11 | Copyright (c) 2011 Debuggable Limited 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 | THE SOFTWARE. 30 | - sources: Readme.md 31 | text: delayed-stream is licensed under the MIT license. 32 | notices: [] 33 | -------------------------------------------------------------------------------- /.licenses/npm/event-target-shim.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: event-target-shim 3 | version: 5.0.1 4 | type: npm 5 | summary: An implementation of WHATWG EventTarget interface. 6 | homepage: https://github.com/mysticatea/event-target-shim 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |+ 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2015 Toru Nagashima 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/events.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: events 3 | version: 3.2.0 4 | type: npm 5 | summary: Node's event emitter for all engines. 6 | homepage: https://github.com/Gozala/events#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | MIT 12 | 13 | Copyright Joyent, Inc. and other Node contributors. 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a 16 | copy of this software and associated documentation files (the 17 | "Software"), to deal in the Software without restriction, including 18 | without limitation the rights to use, copy, modify, merge, publish, 19 | distribute, sublicense, and/or sell copies of the Software, and to permit 20 | persons to whom the Software is furnished to do so, subject to the 21 | following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included 24 | in all copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 27 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 29 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 30 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 31 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 32 | USE OR OTHER DEALINGS IN THE SOFTWARE. 33 | - sources: Readme.md 34 | text: |- 35 | [MIT](./LICENSE) 36 | [node.js docs]: https://nodejs.org/dist/v11.13.0/docs/api/events.html 37 | notices: [] 38 | -------------------------------------------------------------------------------- /.licenses/npm/form-data-2.5.1.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: form-data 3 | version: 2.5.1 4 | type: npm 5 | summary: A library to create readable "multipart/form-data" streams. Can be used to 6 | submit forms and file uploads to other web applications. 7 | homepage: https://github.com/form-data/form-data#readme 8 | license: mit 9 | licenses: 10 | - sources: License 11 | text: | 12 | Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining a copy 15 | of this software and associated documentation files (the "Software"), to deal 16 | in the Software without restriction, including without limitation the rights 17 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 18 | copies of the Software, and to permit persons to whom the Software is 19 | furnished to do so, subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be included in 22 | all copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 27 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 28 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 29 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 30 | THE SOFTWARE. 31 | - sources: README.md 32 | text: Form-Data is released under the [MIT](License) license. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/form-data-3.0.0.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: form-data 3 | version: 3.0.0 4 | type: npm 5 | summary: A library to create readable "multipart/form-data" streams. Can be used to 6 | submit forms and file uploads to other web applications. 7 | homepage: https://github.com/form-data/form-data#readme 8 | license: mit 9 | licenses: 10 | - sources: License 11 | text: | 12 | Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining a copy 15 | of this software and associated documentation files (the "Software"), to deal 16 | in the Software without restriction, including without limitation the rights 17 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 18 | copies of the Software, and to permit persons to whom the Software is 19 | furnished to do so, subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be included in 22 | all copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 27 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 28 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 29 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 30 | THE SOFTWARE. 31 | - sources: README.md 32 | text: Form-Data is released under the [MIT](License) license. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/ip-regex.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ip-regex 3 | version: 2.1.0 4 | type: npm 5 | summary: Regular expression for matching IP addresses (IPv4 & IPv6) 6 | homepage: https://github.com/sindresorhus/ip-regex#readme 7 | license: mit 8 | licenses: 9 | - sources: license 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) Sindre Sorhus (sindresorhus.com) 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in 23 | all copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 31 | THE SOFTWARE. 32 | - sources: readme.md 33 | text: MIT © [Sindre Sorhus](https://sindresorhus.com) 34 | notices: [] 35 | -------------------------------------------------------------------------------- /.licenses/npm/mime-db.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: mime-db 3 | version: 1.44.0 4 | type: npm 5 | summary: Media Type Database 6 | homepage: https://github.com/jshttp/mime-db#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: |2 11 | 12 | The MIT License (MIT) 13 | 14 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining a copy 17 | of this software and associated documentation files (the "Software"), to deal 18 | in the Software without restriction, including without limitation the rights 19 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 20 | copies of the Software, and to permit persons to whom the Software is 21 | furnished to do so, subject to the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be included in 24 | all copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 27 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 29 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 30 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 31 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 32 | THE SOFTWARE. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/mime-types.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: mime-types 3 | version: 2.1.27 4 | type: npm 5 | summary: The ultimate javascript content-type utility. 6 | homepage: https://github.com/jshttp/mime-types#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | (The MIT License) 12 | 13 | Copyright (c) 2014 Jonathan Ong 14 | Copyright (c) 2015 Douglas Christopher Wilson 15 | 16 | Permission is hereby granted, free of charge, to any person obtaining 17 | a copy of this software and associated documentation files (the 18 | 'Software'), to deal in the Software without restriction, including 19 | without limitation the rights to use, copy, modify, merge, publish, 20 | distribute, sublicense, and/or sell copies of the Software, and to 21 | permit persons to whom the Software is furnished to do so, subject to 22 | the following conditions: 23 | 24 | The above copyright notice and this permission notice shall be 25 | included in all copies or substantial portions of the Software. 26 | 27 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 28 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 29 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 30 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 31 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 32 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 33 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 34 | - sources: README.md 35 | text: |- 36 | [MIT](LICENSE) 37 | 38 | [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master 39 | [coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master 40 | [node-version-image]: https://badgen.net/npm/node/mime-types 41 | [node-version-url]: https://nodejs.org/en/download 42 | [npm-downloads-image]: https://badgen.net/npm/dm/mime-types 43 | [npm-url]: https://npmjs.org/package/mime-types 44 | [npm-version-image]: https://badgen.net/npm/v/mime-types 45 | [travis-image]: https://badgen.net/travis/jshttp/mime-types/master 46 | [travis-url]: https://travis-ci.org/jshttp/mime-types 47 | notices: [] 48 | -------------------------------------------------------------------------------- /.licenses/npm/minimatch.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: minimatch 3 | version: 3.0.4 4 | type: npm 5 | summary: a glob matcher in javascript 6 | homepage: https://github.com/isaacs/minimatch#readme 7 | license: isc 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The ISC License 12 | 13 | Copyright (c) Isaac Z. Schlueter and Contributors 14 | 15 | Permission to use, copy, modify, and/or distribute this software for any 16 | purpose with or without fee is hereby granted, provided that the above 17 | copyright notice and this permission notice appear in all copies. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 20 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 21 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 22 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 23 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 24 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 25 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 26 | notices: [] 27 | -------------------------------------------------------------------------------- /.licenses/npm/node-fetch.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: node-fetch 3 | version: 2.6.1 4 | type: npm 5 | summary: A light-weight module that brings window.fetch to node.js 6 | homepage: https://github.com/bitinn/node-fetch 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: |+ 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2016 David Frank 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | 33 | - sources: README.md 34 | text: |- 35 | MIT 36 | 37 | [npm-image]: https://flat.badgen.net/npm/v/node-fetch 38 | [npm-url]: https://www.npmjs.com/package/node-fetch 39 | [travis-image]: https://flat.badgen.net/travis/bitinn/node-fetch 40 | [travis-url]: https://travis-ci.org/bitinn/node-fetch 41 | [codecov-image]: https://flat.badgen.net/codecov/c/github/bitinn/node-fetch/master 42 | [codecov-url]: https://codecov.io/gh/bitinn/node-fetch 43 | [install-size-image]: https://flat.badgen.net/packagephobia/install/node-fetch 44 | [install-size-url]: https://packagephobia.now.sh/result?p=node-fetch 45 | [discord-image]: https://img.shields.io/discord/619915844268326952?color=%237289DA&label=Discord&style=flat-square 46 | [discord-url]: https://discord.gg/Zxbndcm 47 | [opencollective-image]: https://opencollective.com/node-fetch/backers.svg 48 | [opencollective-url]: https://opencollective.com/node-fetch 49 | [whatwg-fetch]: https://fetch.spec.whatwg.org/ 50 | [response-init]: https://fetch.spec.whatwg.org/#responseinit 51 | [node-readable]: https://nodejs.org/api/stream.html#stream_readable_streams 52 | [mdn-headers]: https://developer.mozilla.org/en-US/docs/Web/API/Headers 53 | [LIMITS.md]: https://github.com/bitinn/node-fetch/blob/master/LIMITS.md 54 | [ERROR-HANDLING.md]: https://github.com/bitinn/node-fetch/blob/master/ERROR-HANDLING.md 55 | [UPGRADE-GUIDE.md]: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md 56 | notices: [] 57 | -------------------------------------------------------------------------------- /.licenses/npm/process.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: process 3 | version: 0.11.10 4 | type: npm 5 | summary: process information for node.js and browsers 6 | homepage: https://github.com/shtylman/node-process#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | (The MIT License) 12 | 13 | Copyright (c) 2013 Roman Shtylman 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining 16 | a copy of this software and associated documentation files (the 17 | 'Software'), to deal in the Software without restriction, including 18 | without limitation the rights to use, copy, modify, merge, publish, 19 | distribute, sublicense, and/or sell copies of the Software, and to 20 | permit persons to whom the Software is furnished to do so, subject to 21 | the following conditions: 22 | 23 | The above copyright notice and this permission notice shall be 24 | included in all copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 27 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 29 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 30 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 31 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 32 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/psl.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: psl 3 | version: 1.8.0 4 | type: npm 5 | summary: Domain name parser based on the Public Suffix List 6 | homepage: https://github.com/lupomontero/psl#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2017 Lupo Montero lupomontero@gmail.com 14 | 15 | 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: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | 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. 20 | - sources: README.md 21 | text: |- 22 | The MIT License (MIT) 23 | 24 | Copyright (c) 2017 Lupo Montero 25 | 26 | Permission is hereby granted, free of charge, to any person obtaining a copy 27 | of this software and associated documentation files (the "Software"), to deal 28 | in the Software without restriction, including without limitation the rights 29 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 30 | copies of the Software, and to permit persons to whom the Software is 31 | furnished to do so, subject to the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be included in 34 | all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 37 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 39 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 40 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 41 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 42 | THE SOFTWARE. 43 | notices: [] 44 | -------------------------------------------------------------------------------- /.licenses/npm/punycode.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: punycode 3 | version: 2.1.1 4 | type: npm 5 | summary: A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, 6 | and works on nearly all JavaScript platforms. 7 | homepage: https://mths.be/punycode 8 | license: mit 9 | licenses: 10 | - sources: LICENSE-MIT.txt 11 | text: | 12 | Copyright Mathias Bynens 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining 15 | a copy of this software and associated documentation files (the 16 | "Software"), to deal in the Software without restriction, including 17 | without limitation the rights to use, copy, modify, merge, publish, 18 | distribute, sublicense, and/or sell copies of the Software, and to 19 | permit persons to whom the Software is furnished to do so, subject to 20 | the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be 23 | included in all copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 26 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 27 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 28 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 29 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 30 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 31 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 32 | - sources: README.md 33 | text: Punycode.js is available under the [MIT](https://mths.be/mit) license. 34 | notices: [] 35 | -------------------------------------------------------------------------------- /.licenses/npm/sax.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: sax 3 | version: 1.2.4 4 | type: npm 5 | summary: An evented streaming XML parser in JavaScript 6 | homepage: https://github.com/isaacs/sax-js#readme 7 | license: other 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The ISC License 12 | 13 | Copyright (c) Isaac Z. Schlueter and Contributors 14 | 15 | Permission to use, copy, modify, and/or distribute this software for any 16 | purpose with or without fee is hereby granted, provided that the above 17 | copyright notice and this permission notice appear in all copies. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 20 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 21 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 22 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 23 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 24 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 25 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 26 | 27 | ==== 28 | 29 | `String.fromCodePoint` by Mathias Bynens used according to terms of MIT 30 | License, as follows: 31 | 32 | Copyright Mathias Bynens 33 | 34 | Permission is hereby granted, free of charge, to any person obtaining 35 | a copy of this software and associated documentation files (the 36 | "Software"), to deal in the Software without restriction, including 37 | without limitation the rights to use, copy, modify, merge, publish, 38 | distribute, sublicense, and/or sell copies of the Software, and to 39 | permit persons to whom the Software is furnished to do so, subject to 40 | the following conditions: 41 | 42 | The above copyright notice and this permission notice shall be 43 | included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 46 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 47 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 48 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 49 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 50 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 51 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 52 | notices: [] 53 | -------------------------------------------------------------------------------- /.licenses/npm/semver.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: semver 3 | version: 6.3.0 4 | type: npm 5 | summary: The semantic version parser used by npm. 6 | homepage: https://github.com/npm/node-semver#readme 7 | license: isc 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The ISC License 12 | 13 | Copyright (c) Isaac Z. Schlueter and Contributors 14 | 15 | Permission to use, copy, modify, and/or distribute this software for any 16 | purpose with or without fee is hereby granted, provided that the above 17 | copyright notice and this permission notice appear in all copies. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 20 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 21 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 22 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 23 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 24 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 25 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 26 | notices: [] 27 | -------------------------------------------------------------------------------- /.licenses/npm/tough-cookie-3.0.1.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tough-cookie 3 | version: 3.0.1 4 | type: npm 5 | summary: RFC6265 Cookies and Cookie Jar for node.js 6 | homepage: https://github.com/salesforce/tough-cookie 7 | license: bsd-3-clause 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Copyright (c) 2015, Salesforce.com, Inc. 12 | All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 15 | 16 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 17 | 18 | 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. 19 | 20 | 3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 21 | 22 | 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. 23 | notices: [] 24 | -------------------------------------------------------------------------------- /.licenses/npm/tough-cookie-4.0.0.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tough-cookie 3 | version: 4.0.0 4 | type: npm 5 | summary: RFC6265 Cookies and Cookie Jar for node.js 6 | homepage: https://github.com/salesforce/tough-cookie 7 | license: bsd-3-clause 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Copyright (c) 2015, Salesforce.com, Inc. 12 | All rights reserved. 13 | 14 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 15 | 16 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 17 | 18 | 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. 19 | 20 | 3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 21 | 22 | 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. 23 | notices: [] 24 | -------------------------------------------------------------------------------- /.licenses/npm/tslib-1.13.0.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tslib 3 | version: 1.13.0 4 | type: npm 5 | summary: Runtime library for TypeScript helper functions 6 | homepage: https://www.typescriptlang.org/ 7 | license: 0bsd 8 | licenses: 9 | - sources: LICENSE.txt 10 | text: "Copyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, 11 | and/or distribute this software for any\r\npurpose with or without fee is hereby 12 | granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL 13 | WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 14 | MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 15 | SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER 16 | RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 17 | NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE 18 | USE OR\r\nPERFORMANCE OF THIS SOFTWARE." 19 | notices: 20 | - sources: CopyrightNotice.txt 21 | text: "/*! *****************************************************************************\r\nCopyright 22 | (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute 23 | this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE 24 | SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD 25 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. 26 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR 27 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, 28 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS 29 | ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS 30 | SOFTWARE.\r\n***************************************************************************** 31 | */" 32 | -------------------------------------------------------------------------------- /.licenses/npm/tslib-1.14.1.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tslib 3 | version: 1.14.1 4 | type: npm 5 | summary: Runtime library for TypeScript helper functions 6 | homepage: https://www.typescriptlang.org/ 7 | license: 0bsd 8 | licenses: 9 | - sources: LICENSE.txt 10 | text: "Copyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, 11 | and/or distribute this software for any\r\npurpose with or without fee is hereby 12 | granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL 13 | WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 14 | MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 15 | SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER 16 | RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 17 | NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE 18 | USE OR\r\nPERFORMANCE OF THIS SOFTWARE." 19 | notices: 20 | - sources: CopyrightNotice.txt 21 | text: "/*! *****************************************************************************\r\nCopyright 22 | (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute 23 | this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE 24 | SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD 25 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. 26 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR 27 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, 28 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS 29 | ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS 30 | SOFTWARE.\r\n***************************************************************************** 31 | */" 32 | -------------------------------------------------------------------------------- /.licenses/npm/tslib-2.0.3.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tslib 3 | version: 2.0.3 4 | type: npm 5 | summary: Runtime library for TypeScript helper functions 6 | homepage: https://www.typescriptlang.org/ 7 | license: 0bsd 8 | licenses: 9 | - sources: LICENSE.txt 10 | text: "Copyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, 11 | and/or distribute this software for any\r\npurpose with or without fee is hereby 12 | granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL 13 | WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 14 | MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 15 | SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER 16 | RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 17 | NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE 18 | USE OR\r\nPERFORMANCE OF THIS SOFTWARE." 19 | notices: 20 | - sources: CopyrightNotice.txt 21 | text: "/*! *****************************************************************************\r\nCopyright 22 | (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute 23 | this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE 24 | SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD 25 | TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. 26 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR 27 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, 28 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS 29 | ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS 30 | SOFTWARE.\r\n***************************************************************************** 31 | */" 32 | -------------------------------------------------------------------------------- /.licenses/npm/tunnel.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: tunnel 3 | version: 0.0.6 4 | type: npm 5 | summary: Node HTTP/HTTPS Agents for tunneling proxies 6 | homepage: https://github.com/koichik/node-tunnel/ 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2012 Koichi Kobayashi 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in 23 | all copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 31 | THE SOFTWARE. 32 | - sources: README.md 33 | text: Licensed under the [MIT](https://github.com/koichik/node-tunnel/blob/master/LICENSE) 34 | license. 35 | notices: [] 36 | -------------------------------------------------------------------------------- /.licenses/npm/universalify.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: universalify 3 | version: 0.1.2 4 | type: npm 5 | summary: Make a callback- or promise-based function support both promises and callbacks. 6 | homepage: https://github.com/RyanZim/universalify#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | (The MIT License) 12 | 13 | Copyright (c) 2017, Ryan Zimmerman 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy of 16 | this software and associated documentation files (the 'Software'), to deal in 17 | the Software without restriction, including without limitation the rights to 18 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 19 | the Software, and to permit persons to whom the Software is furnished to do so, 20 | subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 27 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 28 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 29 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 31 | - sources: README.md 32 | text: MIT 33 | notices: [] 34 | -------------------------------------------------------------------------------- /.licenses/npm/uuid-3.4.0.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: uuid 3 | version: 3.4.0 4 | type: npm 5 | summary: RFC4122 (v1, v4, and v5) UUIDs 6 | homepage: https://github.com/uuidjs/uuid#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2010-2016 Robert Kieffer and other contributors 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | notices: 33 | - sources: AUTHORS 34 | text: |- 35 | Robert Kieffer 36 | Christoph Tavan 37 | AJ ONeal 38 | Vincent Voyer 39 | Roman Shtylman 40 | -------------------------------------------------------------------------------- /.licenses/npm/uuid-8.3.2.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: uuid 3 | version: 8.3.2 4 | type: npm 5 | summary: RFC4122 (v1, v4, and v5) UUIDs 6 | homepage: https://github.com/uuidjs/uuid#readme 7 | license: mit 8 | licenses: 9 | - sources: LICENSE.md 10 | text: | 11 | The MIT License (MIT) 12 | 13 | Copyright (c) 2010-2020 Robert Kieffer and other contributors 14 | 15 | 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: 16 | 17 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 18 | 19 | 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. 20 | notices: [] 21 | -------------------------------------------------------------------------------- /.licenses/npm/xml2js.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: xml2js 3 | version: 0.4.23 4 | type: npm 5 | summary: Simple XML to JavaScript object converter. 6 | homepage: https://github.com/Leonidas-from-XIV/node-xml2js 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: | 11 | Copyright 2010, 2011, 2012, 2013. All rights reserved. 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to 15 | deal in the Software without restriction, including without limitation the 16 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 17 | sell copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 28 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 29 | IN THE SOFTWARE. 30 | notices: [] 31 | -------------------------------------------------------------------------------- /.licenses/npm/xmlbuilder.dep.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: xmlbuilder 3 | version: 11.0.1 4 | type: npm 5 | summary: An XML builder for node.js 6 | homepage: http://github.com/oozcitak/xmlbuilder-js 7 | license: mit 8 | licenses: 9 | - sources: LICENSE 10 | text: "The MIT License (MIT)\r\n\r\nCopyright (c) 2013 Ozgur Ozcitak\r\n\r\nPermission 11 | is hereby granted, free of charge, to any person obtaining a copy\r\nof this software 12 | and associated documentation files (the \"Software\"), to deal\r\nin the Software 13 | without restriction, including without limitation the rights\r\nto use, copy, 14 | modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, 15 | and to permit persons to whom the Software is\r\nfurnished to do so, subject to 16 | the following conditions:\r\n\r\nThe above copyright notice and this permission 17 | notice shall be included in\r\nall copies or substantial portions of the Software.\r\n\r\nTHE 18 | SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, 19 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR 20 | A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR 21 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER 22 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION 23 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\nTHE SOFTWARE.\r\n" 24 | notices: [] 25 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 4, 4 | "useTabs": false, 5 | "semi": true, 6 | "singleQuote": false, 7 | "trailingComma": "none", 8 | "bracketSpacing": true, 9 | "arrowParens": "avoid", 10 | "parser": "typescript" 11 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2018 GitHub, Inc. and contributors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Maven Cache Github Action 2 | This [Github Action](https://docs.github.com/en/actions) adds improved support for __caching Maven dependencies between builds__ compared to Github's built-in Maven cache. 3 | 4 | Features: 5 | * restores dependency cache with the help of the git history 6 | * clears unused dependencies before saving caches 7 | * caches the Maven wrapper if present 8 | * relies on Github Action's built-in cache infrastructure (just like Github's [Cache Action](https://github.com/actions/cache)) 9 | 10 | Benefits: 11 | * faster and more predictable builds times 12 | * considerable load reduction on artifact repositories 13 | 14 | Audience: 15 | * primarily intended for use with (private) third party repositories, i.e. 'one repo to rule them all' 16 | * repos which act as artifact caches for other remote repositories and/or 17 | * repos with limited transfer capacity, and/or 18 | * repos where data transfer is limited or [increases cost](https://jfrog.com/pricing/) 19 | * also works well with Maven Central 20 | 21 | Note that Github seems to have an excellent network connection to Maven Central, so reducing the reliance of the (private) third party repositories by lettings projects additionally (i.e. first) connect directly to Maven Central might be a good alternative. 22 | 23 | ## Usage 24 | The `skjolber/maven-cache-github-action` action must be present __twice__ in your build job, with `step: restore` and `step: save` parameters: 25 | 26 | ```yaml 27 | jobs: 28 | hello_world_job: 29 | runs-on: ubuntu-latest 30 | name: Maven build with caching 31 | steps: 32 | - name: Checkout 33 | uses: actions/checkout@v4 34 | - name: Set up JDK 21 35 | uses: actions/setup-java@v4 36 | with: 37 | java-version: 21 38 | distribution: liberica 39 | - name: Restore Maven cache 40 | uses: skjolber/maven-cache-github-action@v3.1.1 41 | with: 42 | step: restore 43 | - name: Build hello-world application with Maven 44 | run: mvn --batch-mode --update-snapshots verify 45 | - name: Save Maven cache 46 | uses: skjolber/maven-cache-github-action@v3.1.1 47 | with: 48 | step: save 49 | ``` 50 | 51 | The second steps saves your cache even if the dependencies were only partially resolved: 52 | 53 | * artifact transfers fails 54 | * partial build 55 | 56 | ### Inputs 57 | 58 | Required: 59 | 60 | * `step` - Build step, i.e. `restore` or `save` 61 | 62 | Optional: 63 | 64 | * `key-path`: A list of files and wildcard patterns used to detect files which affects dependency cache content (default: **/pom.xml) 65 | * `cache-key-prefix`: Prefix for cache keys (default: maven-cache-github-action) 66 | * `wrapper`: Enable Maven wrapper cache (default: true, but skipped if `.mvn/wrapper/maven-wrapper.properties` is not present) 67 | * `depth` - Maximum git history depth to search for changes to build files (default: 100 commits). 68 | * `upload-chunk-size` - The chunk size used to split up large files during upload, in bytes. 69 | * `enableCrossOsArchive` - An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms (defaults: false). 70 | 71 | ### Outputs 72 | 73 | * `cache-restore` - A value to indicate result of cache restore: 74 | * `none` - no cache was restored 75 | * `partial` - a cache was restored, but from a previous version of the build files (or a failed build for the current). 76 | * `full` - cache was restored and is up to date. 77 | 78 | ### Cache scopes 79 | Combine `cache-key-prefix` with `key-path` to have seperate caches within the same repo. 80 | 81 | ### Flushing the depenency cache 82 | While unused dependencies are contiously removed from the (incremental) cache, it is sometimes necessary to clean the cache completely. 83 | 84 | Add `[cache clear]` to a commit-message build with a new, empty cache entry. 85 | 86 | ## Privacy 87 | This action only saves/loads dependency data to/from the Github Action cache infrastructure. 88 | 89 | On initial setup, it additionally transfers a [cache cleaning utility](https://github.com/skjolber/maven-pom-recorder) from Maven Central using an HTTP call. 90 | 91 | ## License 92 | The scripts and documentation in this project are released under the [MIT License](LICENSE) 93 | 94 | ## See Also 95 | * [Tidy Cache](https://github.com/marketplace/actions/tidy-cache) - clear cache (for successful builds only) 96 | * Entur [CircleCI Maven Orb](https://github.com/entur/maven-orb) 97 | * Github [Cache Action](https://github.com/actions/cache) 98 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'Maven Cache' 2 | description: "Better Maven dependency caching than Github's own cache action." 3 | author: 'Thomas Skjølberg' 4 | inputs: 5 | step: 6 | description: 'Build step step, i.e. restore or save' 7 | required: true 8 | depth: 9 | description: 'Maximum git history depth to search for changes to build files. Defaults to 100 commits.' 10 | required: false 11 | upload-chunk-size: 12 | description: 'The chunk size used to split up large files during upload, in bytes' 13 | required: false 14 | enableCrossOsArchive: 15 | description: 'An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms' 16 | default: 'false' 17 | required: false 18 | key-path: 19 | description: 'A list of files, directories, and wildcard patterns used to detect files which affects cache content' 20 | default: '**/pom.xml' 21 | required: false 22 | wrapper: 23 | description: 'Cache the Maven wrapper if the .mvn wrapper directory is detected' 24 | default: 'true' 25 | required: false 26 | cache-key-prefix: 27 | description: 'Prefix for cache keys' 28 | default: 'maven-cache-github-action' 29 | required: false 30 | outputs: 31 | cache-restore: 32 | description: 'A value to indicate result of cache restore: none, partial or full.' 33 | runs: 34 | using: 'node20' 35 | main: 'dist/restore/index.js' 36 | post: 'dist/save/index.js' 37 | post-if: failure() 38 | branding: 39 | icon: 'archive' 40 | color: 'gray-dark' 41 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | require("nock").disableNetConnect(); 2 | 3 | module.exports = { 4 | clearMocks: true, 5 | moduleFileExtensions: ["js", "ts"], 6 | testEnvironment: "node", 7 | testMatch: ["**/*.test.ts"], 8 | testRunner: "jest-circus/runner", 9 | transform: { 10 | "^.+\\.ts$": "ts-jest" 11 | }, 12 | verbose: true 13 | }; 14 | 15 | const processStdoutWrite = process.stdout.write.bind(process.stdout); 16 | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type 17 | process.stdout.write = (str, encoding, cb) => { 18 | // Core library will directly call process.stdout.write for commands 19 | // We don't want :: commands to be executed by the runner during tests 20 | if (!String(str).match(/^::/)) { 21 | return processStdoutWrite(str, encoding, cb); 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "maven-cache-github-action", 3 | "version": "3.1.0", 4 | "private": true, 5 | "description": "Cache Maven dependencies and wrapper", 6 | "main": "dist/restore/index.js", 7 | "scripts": { 8 | "build": "tsc && ncc build -o dist/restore src/restore.ts && ncc build -o dist/save src/save.ts", 9 | "test": "tsc --noEmit && jest --coverage", 10 | "lint": "eslint **/*.ts --cache", 11 | "format": "prettier --write **/*.ts", 12 | "format-check": "prettier --check **/*.ts" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/skjolber/maven-cache-github-action.git" 17 | }, 18 | "keywords": [ 19 | "actions", 20 | "node", 21 | "cache" 22 | ], 23 | "author": "Thomas Rørvik Skjølberg", 24 | "license": "MIT", 25 | "dependencies": { 26 | "@actions/cache": "^4.0.1", 27 | "@actions/core": "^1.11.1", 28 | "@actions/exec": "^1.1.1", 29 | "@actions/glob": "^0.5.0", 30 | "@actions/http-client": "^2.2.3", 31 | "@actions/io": "^1.1.3" 32 | }, 33 | "devDependencies": { 34 | "@types/jest": "^27.5.2", 35 | "@types/nock": "^11.1.0", 36 | "@types/node": "^16.18.3", 37 | "@typescript-eslint/eslint-plugin": "^5.45.0", 38 | "@typescript-eslint/parser": "^5.45.0", 39 | "@vercel/ncc": "^0.38.1", 40 | "eslint": "^8.28.0", 41 | "eslint-config-prettier": "^8.5.0", 42 | "eslint-plugin-import": "^2.26.0", 43 | "eslint-plugin-jest": "^26.9.0", 44 | "eslint-plugin-prettier": "^4.2.1", 45 | "eslint-plugin-simple-import-sort": "^7.0.0", 46 | "jest": "^28.1.3", 47 | "jest-circus": "^27.5.1", 48 | "nock": "^13.2.9", 49 | "prettier": "^2.8.0", 50 | "ts-jest": "^28.0.8", 51 | "typescript": "^4.9.3" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- 1 | export const MaxCacheKeys = 10; 2 | export const CacheClearSearchString = "[cache clear]"; 3 | export const DefaultKeyPaths = ["**/pom.xml"]; 4 | export const M2Path = "~/.m2"; 5 | export const M2RepositoryPath = "~/.m2/repository"; 6 | export const DefaultGitHistoryDepth = 100; 7 | export const RestoreKeyPath = M2Path + "/cache-restore-key-success"; 8 | export const RestoreWrapperKeyPath = M2Path + "/cache-restore-wrapper-key"; 9 | export const MavenWrapperPropertiesPath = 10 | ".mvn/wrapper/maven-wrapper.properties"; 11 | export const MavenWrapperPath = "~/.m2/wrapper"; 12 | 13 | export enum Inputs { 14 | Step = "step", 15 | Depth = "depth", 16 | UploadChunkSize = "upload-chunk-size", // Input for cache, save action 17 | EnableCrossOsArchive = "enableCrossOsArchive", // Input for cache, restore, save action 18 | KeyPath = "key-path", 19 | Wrapper = "wrapper", 20 | CacheKeyPrefix = "cache-key-prefix" 21 | } 22 | 23 | export enum Outputs { 24 | CacheRestore = "cache-restore" 25 | } 26 | 27 | export enum State { 28 | Step = "STEP", 29 | FailureHash = "FAILUREHASH", 30 | UploadChunkSize = "UPLOADCHUNKSIZE", 31 | EnableCrossOsArchive = "ENABLECROSSOSARCHIVE" 32 | } 33 | 34 | export enum BuildSystems { 35 | Maven = "maven" 36 | } 37 | 38 | export enum Events { 39 | Key = "GITHUB_EVENT_NAME", 40 | Push = "push", 41 | PullRequest = "pull_request" 42 | } 43 | 44 | export enum Restore { 45 | Full = "full", 46 | Partial = "partial", 47 | None = "none" 48 | } 49 | 50 | export const RefKey = "GITHUB_REF"; 51 | -------------------------------------------------------------------------------- /src/restore.ts: -------------------------------------------------------------------------------- 1 | import * as cache from "@actions/cache"; 2 | import * as core from "@actions/core"; 3 | import * as exec from "@actions/exec"; 4 | import * as fs from "fs"; 5 | import * as path from "path"; 6 | 7 | import { 8 | DefaultGitHistoryDepth, 9 | Events, 10 | Inputs, 11 | MaxCacheKeys, 12 | Restore, 13 | RestoreKeyPath, 14 | State 15 | } from "./constants"; 16 | import * as utils from "./utils/actionUtils"; 17 | import * as maven from "./utils/maven"; 18 | 19 | class GitOutput { 20 | standardOut: string; 21 | errorOut: string; 22 | 23 | constructor(standardOut: string, errorOut: string) { 24 | this.standardOut = standardOut; 25 | this.errorOut = errorOut; 26 | } 27 | 28 | getStandardOut() { 29 | return this.standardOut; 30 | } 31 | 32 | getErrorOut() { 33 | return this.errorOut; 34 | } 35 | 36 | standardOutAsString() { 37 | return this.standardOut.trim(); 38 | } 39 | 40 | standardOutAsStringArray() { 41 | return this.standardOut 42 | .split("\n") 43 | .map(s => s.trim()) 44 | .filter(x => x !== ""); 45 | } 46 | } 47 | 48 | async function getCommitLogTarget(): Promise { 49 | // git show --pretty=raw 50 | const showOutput = await runGitCommand(["show", "--pretty=raw"]); 51 | 52 | const show = showOutput.standardOutAsString(); 53 | 54 | const search = "parent "; 55 | 56 | const index = show.indexOf(search); 57 | if (index != -1) { 58 | const endIndex = show.indexOf("\n", index + search.length); 59 | if (endIndex != -1) { 60 | return show.substring(index + search.length, endIndex); 61 | } 62 | } 63 | return undefined; 64 | } 65 | 66 | async function runGitCommand(parameters: Array): Promise { 67 | let standardOut = ""; 68 | let errorOut = ""; 69 | 70 | await exec.exec("git", parameters, { 71 | silent: true, 72 | failOnStdErr: false, 73 | ignoreReturnCode: false, 74 | listeners: { 75 | stdout: (data: Buffer) => { 76 | standardOut += data.toString(); 77 | }, 78 | stderr: (data: Buffer) => { 79 | errorOut += data.toString(); 80 | } 81 | } 82 | }); 83 | 84 | return new GitOutput(standardOut, errorOut); 85 | } 86 | 87 | async function restoreCache(keys: Array): Promise { 88 | for (let offset = 0; offset < keys.length; offset += MaxCacheKeys) { 89 | const limit = Math.min(offset + MaxCacheKeys, keys.length); 90 | 91 | const subkeys = keys.slice(offset, limit); 92 | 93 | const firstSubkey = subkeys[0]; 94 | subkeys.shift(); 95 | 96 | const enableCrossOsArchive = utils.getInputAsBool( 97 | Inputs.EnableCrossOsArchive 98 | ); 99 | 100 | const cachePaths = utils.getCachePaths(); 101 | 102 | const cacheKey = await cache.restoreCache( 103 | cachePaths, 104 | firstSubkey, 105 | subkeys, 106 | { lookupOnly: false }, 107 | enableCrossOsArchive 108 | ); 109 | 110 | if (cacheKey) { 111 | return cacheKey; 112 | } 113 | } 114 | return undefined; 115 | } 116 | 117 | function printFriendlyKeyPathResult(gitFiles: Array) { 118 | if (gitFiles.length == 1) { 119 | console.info("Found build file " + gitFiles[0]); 120 | } else { 121 | // 2 or more 122 | const message = new Array(); 123 | message.push("Found "); 124 | message.push(gitFiles.length.toString()); 125 | message.push(" build files: "); 126 | for (let i = 0; i < gitFiles.length - 2; i++) { 127 | message.push(gitFiles[i]); 128 | message.push(", "); 129 | } 130 | message.push(gitFiles[gitFiles.length - 2]); 131 | message.push(" and "); 132 | message.push(gitFiles[gitFiles.length - 1]); 133 | console.info(message.join("")); 134 | } 135 | } 136 | 137 | /* 138 | Overall plan: 139 | 140 | - search for the relevant build files in the file system 141 | - if no build files, cache cannot be restored 142 | - fetch the last n commits of the git history 143 | - search git history for changes to the build files, get commit hashes 144 | - if not commit hashes, go by file content hashes 145 | - search commit history for manual cache resets; filter older commit hashes 146 | - construct cache keys; two for each hash (success and failure variants) 147 | - attempt to restore caches, in steps. 148 | - if hit on the primary (success) key, skip persisting caches. In other words do not prepare/perform a cleanup either. 149 | - if hit on the secondary (failure) key, persist the cache on successful build 150 | - otherwise persist the cache. 151 | - if successful build, clean and persist cache 152 | - if failed build, just persist cache 153 | 154 | */ 155 | async function run(): Promise { 156 | try { 157 | const step = core.getInput(Inputs.Step, { required: true }); 158 | 159 | core.saveState(State.Step, step); 160 | 161 | if (step === "restore") { 162 | if (utils.isGhes()) { 163 | utils.logWarning("Cache action is not supported on GHES"); 164 | utils.setCacheRestoreOutput(Restore.None); 165 | return; 166 | } 167 | 168 | // https://github.com/actions/runner/blob/c18c8746db0b7662a13da5596412c05c1ffb07dd/src/Misc/expressionFunc/hashFiles/src/hashFiles.ts 169 | 170 | // Validate inputs, this can cause task failure 171 | if (!utils.isValidEvent()) { 172 | utils.logWarning( 173 | `Event Validation Error: The event type ${ 174 | process.env[Events.Key] 175 | } is not supported because it's not tied to a branch or tag ref.` 176 | ); 177 | return; 178 | } 179 | 180 | const parameterCacheKeyPrefix = utils.getCacheKeyPrefix(); 181 | 182 | const keyPaths = utils.getKeyPaths(); 183 | 184 | const files = await maven.findFiles(keyPaths); 185 | if (files.length == 0) { 186 | utils.logWarning( 187 | "No key files found for expression " + 188 | keyPaths + 189 | ", cache cannot be restored" 190 | ); 191 | return; 192 | } 193 | 194 | const depth = 195 | core.getInput(Inputs.Depth, { required: false }) || 196 | DefaultGitHistoryDepth; 197 | await runGitCommand(["fetch", "--deepen=" + depth]); 198 | 199 | const githubWorkspace = process.cwd(); 200 | const prefix = `${githubWorkspace}${path.sep}`; 201 | 202 | const gitFiles = new Array(); 203 | for (const file of files) { 204 | const fileInGitRepo = file.substring(prefix.length); 205 | gitFiles.push(fileInGitRepo); 206 | } 207 | 208 | printFriendlyKeyPathResult(gitFiles); 209 | 210 | let logTarget = "HEAD"; 211 | // check whether we are on a PR or 212 | const gitRevParse = await runGitCommand([ 213 | "rev-parse", 214 | "--abbrev-ref", 215 | "--symbolic-full-name", 216 | "HEAD" 217 | ]); 218 | 219 | const detached = 220 | gitRevParse.standardOutAsString().trim() === "HEAD"; 221 | if (detached) { 222 | // ups, on a detached branch, most likely a pull request 223 | // so no history is available 224 | console.log("Try to determine parent for detached commit"); 225 | const detachedLogTarget = await getCommitLogTarget(); 226 | if (detachedLogTarget) { 227 | logTarget = detachedLogTarget; 228 | console.log("Found detached parent " + logTarget); 229 | } else { 230 | console.log("Unable to determine detached parent"); 231 | } 232 | } 233 | 234 | let hashes = new Array(); 235 | 236 | if (detached) { 237 | const gitFilesHashOutput = await runGitCommand( 238 | ["log", "--pretty=format:%H", "--"].concat(gitFiles) 239 | ); 240 | for (const hash of gitFilesHashOutput.standardOutAsStringArray()) { 241 | hashes.push(hash); 242 | } 243 | } 244 | 245 | const gitFilesHashOutput = await runGitCommand( 246 | ["log", "--pretty=format:%H", logTarget, "--"].concat(gitFiles) 247 | ); 248 | for (const hash of gitFilesHashOutput.standardOutAsStringArray()) { 249 | hashes.push(hash); 250 | } 251 | // get the commit hash messages 252 | const commmitHashMessages = new Array(); 253 | if (detached) { 254 | const commitMessages = await runGitCommand([ 255 | "log", 256 | "--format=%H %B" 257 | ]); 258 | for (const hash of commitMessages.standardOutAsStringArray()) { 259 | commmitHashMessages.push(hash); 260 | } 261 | } 262 | const commitMessages = await runGitCommand([ 263 | "log", 264 | "--format=%H %B", 265 | logTarget 266 | ]); 267 | for (const hash of commitMessages.standardOutAsStringArray()) { 268 | commmitHashMessages.push(hash); 269 | } 270 | 271 | const restoreKeys = new Array(); 272 | if (hashes.length > 0) { 273 | // check commit history for [cache clear] messages, 274 | // delete all previous hash commits up to and including [cache clear], insert the [cache clear] itself 275 | // check commit messages for [cache clear] commit messages 276 | const commitIndex = 277 | utils.searchCommitMessages(commmitHashMessages); 278 | if (commitIndex != -1) { 279 | console.log( 280 | `Cache cleaned in commit ${commmitHashMessages[commitIndex]}. Ignore all previous caches.` 281 | ); 282 | 283 | // determine which commits should be ejected 284 | // scan through all later commits from the [clear cache] message 285 | // and nuke all hash keys if a match is found 286 | for ( 287 | let k = commitIndex; 288 | k < commmitHashMessages.length; 289 | k++ 290 | ) { 291 | const str = commmitHashMessages[k]; 292 | const h = str.substring(0, str.indexOf(" ")); 293 | const index = hashes.indexOf(h); 294 | if (index > -1) { 295 | hashes = hashes.splice(0, index); 296 | break; 297 | } 298 | } 299 | 300 | // add the commit with the [clean cache] as a potential cache restore point 301 | const str = commmitHashMessages[commitIndex]; 302 | hashes.push(str.substring(0, str.indexOf(" "))); 303 | } 304 | 305 | console.log( 306 | `Attempt to restore cache from build file changes in ${hashes.length} commits` 307 | ); 308 | 309 | for (const hash of hashes) { 310 | restoreKeys.push( 311 | `${parameterCacheKeyPrefix}-${hash}-success` 312 | ); 313 | restoreKeys.push( 314 | `${parameterCacheKeyPrefix}-${hash}-failure` 315 | ); 316 | } 317 | } else { 318 | // search all of history for a [clear cache] message 319 | const commitIndex = 320 | utils.searchCommitMessages(commmitHashMessages); 321 | if (commitIndex != -1) { 322 | console.log( 323 | `Cache cleaned in commit ${commmitHashMessages[commitIndex]}. Ignore all previous caches.` 324 | ); 325 | 326 | restoreKeys.push( 327 | `${parameterCacheKeyPrefix}-${commmitHashMessages[commitIndex]}-success` 328 | ); 329 | restoreKeys.push( 330 | `${parameterCacheKeyPrefix}-${commmitHashMessages[commitIndex]}-failure` 331 | ); 332 | } else { 333 | console.log( 334 | "No git history found for build files, fall back to using file hash instead" 335 | ); 336 | 337 | const hashAsString = await maven.getFileHash(files); 338 | 339 | restoreKeys.push( 340 | `${parameterCacheKeyPrefix}-${hashAsString}-success` 341 | ); 342 | restoreKeys.push( 343 | `${parameterCacheKeyPrefix}-${hashAsString}-failure` 344 | ); 345 | } 346 | } 347 | 348 | const restoreKeySuccess = restoreKeys[0]; 349 | const restoreKeyFailure = restoreKeys[1]; 350 | 351 | try { 352 | const cacheKey = await restoreCache(restoreKeys); 353 | 354 | if (!cacheKey) { 355 | console.log( 356 | "No cache found for current or previous build files. Expect to save a new cache." 357 | ); 358 | utils.setCacheRestoreOutput(Restore.None); 359 | 360 | utils.ensureMavenDirectoryExists(); 361 | console.log( 362 | "If build is successful, save to key " + 363 | restoreKeySuccess + 364 | ". If build fails, save to " + 365 | restoreKeyFailure 366 | ); 367 | fs.writeFileSync( 368 | utils.toAbsolutePath(RestoreKeyPath), 369 | restoreKeySuccess 370 | ); 371 | core.saveState(State.FailureHash, restoreKeyFailure); 372 | 373 | // no point in cleaning cache 374 | } else { 375 | const primaryMatch = 376 | cacheKey != null && 377 | utils.isExactKeyMatch(restoreKeySuccess, cacheKey); 378 | if (primaryMatch) { 379 | core.info(`Cache is up to date.`); 380 | utils.setCacheRestoreOutput(Restore.Full); 381 | } else { 382 | const secondaryMatch = 383 | cacheKey != null && 384 | utils.isExactKeyMatch(restoreKeyFailure, cacheKey); 385 | if (secondaryMatch) { 386 | core.info( 387 | `Cache was left over after a failed build, expect to clean and save a new cache if build is successful.` 388 | ); 389 | utils.ensureMavenDirectoryExists(); 390 | 391 | console.log( 392 | "If build is successful, save to key " + 393 | restoreKeySuccess + 394 | ". If build fails, save to " + 395 | restoreKeyFailure 396 | ); 397 | fs.writeFileSync( 398 | utils.toAbsolutePath(RestoreKeyPath), 399 | restoreKeySuccess 400 | ); 401 | 402 | // i.e. do not save another cache if the build fails again 403 | } else { 404 | core.info( 405 | `Cache is outdated, expect to save a new cache.` 406 | ); 407 | console.log( 408 | "If build is successful, save to key " + 409 | restoreKeySuccess + 410 | ". If build fails, save to " + 411 | restoreKeyFailure 412 | ); 413 | utils.ensureMavenDirectoryExists(); 414 | fs.writeFileSync( 415 | utils.toAbsolutePath(RestoreKeyPath), 416 | restoreKeySuccess 417 | ); 418 | 419 | core.saveState( 420 | State.FailureHash, 421 | restoreKeyFailure 422 | ); 423 | 424 | core.saveState( 425 | State.EnableCrossOsArchive, 426 | utils.getInputAsBool( 427 | Inputs.EnableCrossOsArchive 428 | ) 429 | ); 430 | 431 | const uploadChunkSize = utils.getInputAsInt( 432 | Inputs.UploadChunkSize 433 | ); 434 | 435 | // note: might be undefined 436 | core.saveState( 437 | State.UploadChunkSize, 438 | uploadChunkSize ? uploadChunkSize : -1 439 | ); 440 | } 441 | utils.setCacheRestoreOutput(Restore.Partial); 442 | 443 | maven.prepareCleanup(); 444 | } 445 | } 446 | } catch (err: unknown) { 447 | const error = err as Error; 448 | if (error.name === cache.ValidationError.name) { 449 | throw error; 450 | } else { 451 | utils.logWarning(error.message); 452 | utils.setCacheRestoreOutput(Restore.None); 453 | } 454 | } 455 | 456 | const wrapper = utils.getInputAsBool(Inputs.Wrapper); 457 | if (wrapper) { 458 | try { 459 | await maven.restoreWrapperCache(); 460 | } catch (err: unknown) { 461 | console.log("Problem restoring wrapper cache", err); 462 | } 463 | } 464 | } else if (step === "save") { 465 | try { 466 | const absolutePath = utils.toAbsolutePath(RestoreKeyPath); 467 | if (fs.existsSync(absolutePath)) { 468 | console.log("Save cache for successful build.."); 469 | 470 | //file exists 471 | const successKey = fs.readFileSync(absolutePath, { 472 | encoding: "utf8", 473 | flag: "r" 474 | }); 475 | 476 | const cachePaths = utils.getCachePaths(); 477 | 478 | await maven.performCleanup(cachePaths); 479 | 480 | const enableCrossOsArchive = utils.getInputAsBool( 481 | Inputs.EnableCrossOsArchive 482 | ); 483 | 484 | try { 485 | await cache.saveCache( 486 | cachePaths, 487 | successKey, 488 | { 489 | uploadChunkSize: utils.getInputAsInt( 490 | Inputs.UploadChunkSize 491 | ) 492 | }, 493 | enableCrossOsArchive 494 | ); 495 | } catch (err) { 496 | const error = err as Error; 497 | if (error.name === cache.ValidationError.name) { 498 | throw error; 499 | } else if ( 500 | error.name === cache.ReserveCacheError.name 501 | ) { 502 | core.info(error.message); 503 | } else { 504 | utils.logWarning(error.message); 505 | } 506 | } 507 | } else { 508 | console.error( 509 | "Skip saving cache for successful build; cache is already up to date." 510 | ); 511 | } 512 | } catch (err) { 513 | console.error(err); 514 | } 515 | 516 | try { 517 | await maven.saveWrapperCache(); 518 | } catch (err: unknown) { 519 | console.log("Problem saving wrapper cache", err); 520 | } 521 | } else { 522 | core.setFailed("Step must be 'restore' or 'save'"); 523 | } 524 | } catch (err) { 525 | const error = err as Error; 526 | core.setFailed(error.message); 527 | } 528 | } 529 | 530 | run(); 531 | 532 | export default run; 533 | -------------------------------------------------------------------------------- /src/save.ts: -------------------------------------------------------------------------------- 1 | import * as cache from "@actions/cache"; 2 | import * as core from "@actions/core"; 3 | 4 | import { State } from "./constants"; 5 | import * as utils from "./utils/actionUtils"; 6 | import * as maven from "./utils/maven"; 7 | 8 | async function run(): Promise { 9 | // so job failed 10 | // however was the cache already saved 11 | const step = core.getState(State.Step); 12 | 13 | if (step === "restore") { 14 | const hash = core.getState(State.FailureHash); 15 | 16 | if (hash.length > 0) { 17 | console.log("Save cache for failed build.."); 18 | 19 | // nuke resolution attempts, so that resolution is always reattempted on next build 20 | 21 | const cachePaths = utils.getCachePaths(); 22 | 23 | await maven.removeResolutionAttempts(cachePaths); 24 | 25 | const enableCrossOsArchive = 26 | core.getState(State.EnableCrossOsArchive) == "true"; 27 | 28 | const uploadChunkSizeString = core.getState(State.UploadChunkSize); 29 | const uploadChunkSize = parseInt(uploadChunkSizeString); 30 | 31 | try { 32 | const cacheId = await cache.saveCache( 33 | cachePaths, 34 | hash, 35 | { 36 | uploadChunkSize: 37 | uploadChunkSize == -1 ? undefined : uploadChunkSize 38 | }, 39 | enableCrossOsArchive 40 | ); 41 | 42 | if (cacheId != -1) { 43 | core.info(`Cache saved with key: ${hash}`); 44 | } 45 | } catch (err: unknown) { 46 | const error = err as Error; 47 | if (error.name === cache.ValidationError.name) { 48 | throw error; 49 | } else if (error.name === cache.ReserveCacheError.name) { 50 | core.info(error.message); 51 | } else { 52 | utils.logWarning(error.message); 53 | } 54 | } 55 | } else { 56 | console.log("Do not save cache for failed build"); 57 | } 58 | 59 | try { 60 | await maven.saveWrapperCache(); 61 | } catch (err: unknown) { 62 | console.log("Problem saving wrapper cache", err); 63 | } 64 | } 65 | } 66 | 67 | run(); 68 | 69 | export default run; 70 | -------------------------------------------------------------------------------- /src/utils/actionUtils.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import * as fs from "fs"; 3 | import * as os from "os"; 4 | 5 | import { 6 | CacheClearSearchString, 7 | DefaultKeyPaths, 8 | Inputs, 9 | M2RepositoryPath, 10 | MavenWrapperPath, 11 | Outputs, 12 | RefKey, 13 | Restore 14 | } from "../constants"; 15 | 16 | export function isGhes(): boolean { 17 | const ghUrl = new URL( 18 | process.env["GITHUB_SERVER_URL"] || "https://github.com" 19 | ); 20 | return ghUrl.hostname.toUpperCase() !== "GITHUB.COM"; 21 | } 22 | 23 | export function isExactKeyMatch(key: string, cacheKey?: string): boolean { 24 | return !!( 25 | cacheKey && 26 | cacheKey.localeCompare(key, undefined, { 27 | sensitivity: "accent" 28 | }) === 0 29 | ); 30 | } 31 | 32 | export function setCacheRestoreOutput(result: Restore): void { 33 | core.setOutput(Outputs.CacheRestore, result.toString()); 34 | } 35 | 36 | export function logWarning(message: string): void { 37 | const warningPrefix = "[warning]"; 38 | core.info(`${warningPrefix}${message}`); 39 | } 40 | 41 | // Cache token authorized for all events that are tied to a ref 42 | // See GitHub Context https://help.github.com/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context 43 | export function isValidEvent(): boolean { 44 | return RefKey in process.env && Boolean(process.env[RefKey]); 45 | } 46 | 47 | export function toAbsolutePath(path: string): string { 48 | if (path[0] === "~") { 49 | path = os.homedir() + path.slice(1); 50 | } 51 | return path; 52 | } 53 | 54 | export function ensureMavenDirectoryExists(): string { 55 | const mavenDirectory = toAbsolutePath(M2RepositoryPath); 56 | if (!fs.existsSync(mavenDirectory)) { 57 | fs.mkdirSync(mavenDirectory, { recursive: true }); 58 | } 59 | return mavenDirectory; 60 | } 61 | 62 | export function isMavenWrapperDirectory(): boolean { 63 | const mavenDirectory = toAbsolutePath(MavenWrapperPath); 64 | return fs.existsSync(mavenDirectory) 65 | } 66 | 67 | 68 | export function getOptionalInputAsString( 69 | name: string, 70 | defaultValue: string 71 | ): string { 72 | const x = core.getInput(name, { required: false }).trim(); 73 | if (x !== "") { 74 | return x; 75 | } 76 | return defaultValue; 77 | } 78 | 79 | export function searchCommitMessages( 80 | commmitHashMessages: Array 81 | ): number { 82 | for (let i = 0; i < commmitHashMessages.length; i++) { 83 | if (commmitHashMessages[i].includes(CacheClearSearchString)) { 84 | return i; 85 | } 86 | } 87 | return -1; 88 | } 89 | 90 | export function getOptionalInputAsStringArray( 91 | name: string, 92 | defaultValue: Array 93 | ): string[] { 94 | const value = core 95 | .getInput(name, { required: false }) 96 | .split("\n") 97 | .map(s => s.trim()) 98 | .filter(x => x !== ""); 99 | if (value.length > 0) { 100 | return value; 101 | } 102 | return defaultValue; 103 | } 104 | 105 | export function getInputAsArray( 106 | name: string, 107 | options?: core.InputOptions 108 | ): string[] { 109 | return core 110 | .getInput(name, options) 111 | .split("\n") 112 | .map(s => s.trim()) 113 | .filter(x => x !== ""); 114 | } 115 | 116 | export function getInputAsInt( 117 | name: string, 118 | options?: core.InputOptions 119 | ): number | undefined { 120 | const value = parseInt(core.getInput(name, options)); 121 | if (isNaN(value) || value < 0) { 122 | return undefined; 123 | } 124 | return value; 125 | } 126 | 127 | export function getInputAsBool( 128 | name: string, 129 | options?: core.InputOptions 130 | ): boolean { 131 | const result = core.getInput(name, options); 132 | return result.toLowerCase() === "true"; 133 | } 134 | 135 | export function getCachePaths() { 136 | return [M2RepositoryPath]; 137 | } 138 | 139 | export function getKeyPaths() { 140 | let keyPaths = getInputAsArray(Inputs.KeyPath, { 141 | required: false 142 | }); 143 | 144 | if (keyPaths.length == 0) { 145 | keyPaths = DefaultKeyPaths; 146 | } 147 | return keyPaths; 148 | } 149 | 150 | export function getCacheKeyPrefix() { 151 | return getOptionalInputAsString(Inputs.CacheKeyPrefix, 'maven-cache-github-action'); 152 | } 153 | -------------------------------------------------------------------------------- /src/utils/constants.ts: -------------------------------------------------------------------------------- 1 | // The default number of retry attempts. 2 | export const DefaultRetryAttempts = 2; 3 | 4 | // The default delay in milliseconds between retry attempts. 5 | export const DefaultRetryDelay = 5000; 6 | 7 | // Socket timeout in milliseconds during download. If no traffic is received 8 | // over the socket during this period, the socket is destroyed and the download 9 | // is aborted. 10 | export const SocketTimeout = 5000; 11 | -------------------------------------------------------------------------------- /src/utils/maven.ts: -------------------------------------------------------------------------------- 1 | import * as cache from "@actions/cache"; 2 | import * as core from "@actions/core"; 3 | import * as crypto from "crypto"; 4 | import * as glob from "@actions/glob"; 5 | import { HttpClient, HttpClientResponse } from "@actions/http-client"; 6 | import * as fs from "fs"; 7 | import * as os from "os"; 8 | import * as path from "path"; 9 | import * as stream from "stream"; 10 | import * as util from "util"; 11 | 12 | import { Inputs, M2Path, MavenWrapperPath, MavenWrapperPropertiesPath, RestoreWrapperKeyPath } from "./../constants"; 13 | import * as utils from "./actionUtils"; 14 | import { SocketTimeout } from "./constants"; 15 | import { retryHttpClientResponse } from "./requestUtils"; 16 | 17 | export async function downloadCacheHttpClient( 18 | archiveLocation: string, 19 | archivePath: string 20 | ): Promise { 21 | const writeStream = fs.createWriteStream(archivePath); 22 | const httpClient = new HttpClient("actions/cache"); 23 | const downloadResponse = await retryHttpClientResponse( 24 | "downloadCache", 25 | async () => httpClient.get(archiveLocation) 26 | ); 27 | 28 | // Abort download if no traffic received over the socket. 29 | downloadResponse.message.socket.setTimeout(SocketTimeout, () => { 30 | downloadResponse.message.destroy(); 31 | core.debug( 32 | `Aborting download, socket timed out after ${SocketTimeout} ms` 33 | ); 34 | }); 35 | 36 | await pipeResponseToStream(downloadResponse, writeStream); 37 | } 38 | 39 | /** 40 | * Pipes the body of a HTTP response to a stream 41 | * 42 | * @param response the HTTP response 43 | * @param output the writable stream 44 | */ 45 | async function pipeResponseToStream( 46 | response: HttpClientResponse, 47 | output: NodeJS.WritableStream 48 | ): Promise { 49 | const pipeline = util.promisify(stream.pipeline); 50 | await pipeline(response.message, output); 51 | } 52 | 53 | export async function prepareCleanup(): Promise { 54 | console.log("Prepare for cleanup of Maven cache.."); 55 | 56 | const mavenDirectory = utils.ensureMavenDirectoryExists(); 57 | 58 | const path = mavenDirectory + "/agent-1.0.1.jar"; 59 | if (!fs.existsSync(path)) { 60 | await downloadCacheHttpClient( 61 | "https://repo1.maven.org/maven2/com/github/skjolber/maven-pom-recorder/agent/1.0.1/agent-1.0.1.jar", 62 | path 63 | ); 64 | } 65 | if (fs.existsSync(path)) { 66 | const mavenrc = os.homedir() + "/.mavenrc"; 67 | const command = `export MAVEN_OPTS="$MAVEN_OPTS -javaagent:${path}"\n`; 68 | fs.appendFileSync(mavenrc, command); 69 | } else { 70 | console.log("Unable to prepare cleanup"); 71 | } 72 | } 73 | 74 | async function findPoms(paths: Array): Promise> { 75 | const buildFiles = new Set(); 76 | 77 | for (const path of paths) { 78 | const globber = await glob.create(path + "/**/*.pom", { 79 | followSymbolicLinks: false 80 | }); 81 | for await (const file of globber.globGenerator()) { 82 | buildFiles.add(file); 83 | } 84 | } 85 | return buildFiles; 86 | } 87 | 88 | export async function removeResolutionAttempts( 89 | paths: Array 90 | ): Promise { 91 | console.log("Remove resolution attempts.."); 92 | for (const path of paths) { 93 | const globber = await glob.create(path + "/**/*.lastUpdated", { 94 | followSymbolicLinks: false 95 | }); 96 | for await (const file of globber.globGenerator()) { 97 | fs.unlinkSync(file); 98 | } 99 | } 100 | } 101 | 102 | // although this function does not clean up anything, we still need to save the cache since there might be new additions 103 | export async function performCleanup(paths: Array): Promise { 104 | const pomsInUse = new Set(); 105 | 106 | const m2 = utils.toAbsolutePath(M2Path); 107 | fs.readdirSync(utils.toAbsolutePath(M2Path)).forEach(file => { 108 | const fileName = path.basename(file); 109 | if ( 110 | fileName.startsWith("maven-pom-recorder-poms-") && 111 | fileName.endsWith(".txt") 112 | ) { 113 | console.log("Read file " + file); 114 | const poms = fs 115 | .readFileSync(m2 + "/" + file, { encoding: "utf8", flag: "r" }) 116 | .split("\n") 117 | .map(s => s.trim()) 118 | .filter(x => x !== ""); 119 | 120 | poms.forEach(item => pomsInUse.add(item)); 121 | } 122 | }); 123 | 124 | if (pomsInUse.size > 0) { 125 | console.log("Perform cleanup of Maven cache.."); 126 | 127 | const poms = await findPoms(paths); 128 | 129 | console.log( 130 | "Found " + 131 | poms.size + 132 | " cached artifacts, of which " + 133 | pomsInUse.size + 134 | " are in use" 135 | ); 136 | 137 | for (const pom of pomsInUse) { 138 | poms.delete(pom); 139 | } 140 | 141 | if(poms.size > 0) { 142 | console.log( 143 | "Delete " + 144 | poms.size + 145 | " cached artifacts which are no longer in use." 146 | ); 147 | 148 | for (const pom of poms) { 149 | const parent = path.dirname(pom); 150 | console.log("Delete directory " + parent); 151 | if (!fs.existsSync(parent)) { 152 | console.log("Parent unexpectedly does not exist"); 153 | } 154 | 155 | fs.rmSync(parent, { recursive: true }); 156 | 157 | if (fs.existsSync(parent)) { 158 | console.log("Parent unexpectedly still exists"); 159 | } 160 | } 161 | } 162 | } else { 163 | console.log("Cache cleanup not necessary."); 164 | } 165 | } 166 | 167 | 168 | export async function getFileHash(files: Array) { 169 | const result = crypto.createHash("sha256"); 170 | for (const file of files) { 171 | const hash = crypto.createHash("sha256"); 172 | const pipeline = util.promisify(stream.pipeline); 173 | await pipeline(fs.createReadStream(file), hash); 174 | result.write(hash.digest()); 175 | } 176 | result.end(); 177 | 178 | return result.digest("hex"); 179 | } 180 | 181 | export async function saveWrapperCache() { 182 | // simple file-hash based wrapper cache 183 | 184 | const key = loadWrapperCacheKey(); 185 | if (key) { 186 | if (utils.isMavenWrapperDirectory()) { 187 | const enableCrossOsArchive = utils.getInputAsBool( 188 | Inputs.EnableCrossOsArchive 189 | ); 190 | 191 | try { 192 | console.log("Saving Maven wrapper.."); 193 | const result = await cache.saveCache( 194 | [MavenWrapperPath], 195 | key, 196 | { 197 | uploadChunkSize: utils.getInputAsInt( 198 | Inputs.UploadChunkSize 199 | ) 200 | }, 201 | enableCrossOsArchive 202 | ); 203 | console.log("Saved Maven wrapper."); 204 | return result; 205 | } catch (err) { 206 | const error = err as Error; 207 | if (error.name === cache.ValidationError.name) { 208 | throw error; 209 | } else if (error.name === cache.ReserveCacheError.name) { 210 | core.info(error.message); 211 | } else { 212 | utils.logWarning(error.message); 213 | } 214 | console.log("Unable to save maven wrapper."); 215 | } 216 | } else { 217 | console.log( 218 | "Not saving Maven wrapper, directory " + 219 | MavenWrapperPath + 220 | " does not exist." 221 | ); 222 | } 223 | } else { 224 | console.log("Not saving Maven wrapper"); 225 | } 226 | return undefined; 227 | } 228 | 229 | export async function restoreWrapperCache() { 230 | // simple file-hash based wrapper cache 231 | 232 | const files = await findFiles([MavenWrapperPropertiesPath]); 233 | if (files.length > 0) { 234 | const hash = await getFileHash(files); 235 | 236 | const enableCrossOsArchive = utils.getInputAsBool( 237 | Inputs.EnableCrossOsArchive 238 | ); 239 | 240 | const cacheKeyPrefix = utils.getCacheKeyPrefix(); 241 | 242 | const key = cacheKeyPrefix + "-wrapper-" + hash; 243 | 244 | console.log("Restoring Maven wrapper.."); 245 | const cacheKey = await cache.restoreCache( 246 | [MavenWrapperPath], 247 | key, 248 | [], 249 | { lookupOnly: false }, 250 | enableCrossOsArchive 251 | ); 252 | 253 | if (cacheKey) { 254 | console.log("Maven wrapper restored successfully"); 255 | 256 | return cacheKey; 257 | } 258 | console.log("Unable to restore Maven wrapper, cache miss."); 259 | 260 | // save wrapper once build completes 261 | saveWrapperCacheKey(key); 262 | } else { 263 | console.log( 264 | "Not restoring Maven wrapper, no files fount for " + 265 | MavenWrapperPropertiesPath + 266 | "." 267 | ); 268 | } 269 | return undefined; 270 | } 271 | 272 | const loadWrapperCacheKey = function () { 273 | const absolutePath = utils.toAbsolutePath(RestoreWrapperKeyPath); 274 | if (fs.existsSync(absolutePath)) { 275 | //file exists 276 | const key = fs.readFileSync(absolutePath, { 277 | encoding: "utf8", 278 | flag: "r" 279 | }); 280 | return key; 281 | } 282 | return undefined; 283 | }; 284 | 285 | const saveWrapperCacheKey = function (value: string) { 286 | utils.ensureMavenDirectoryExists(); 287 | console.log("If build is successful, save wrapper to key " + value); 288 | fs.writeFileSync(utils.toAbsolutePath(RestoreWrapperKeyPath), value); 289 | }; 290 | 291 | export async function findFiles(matchPatterns: Array): Promise> { 292 | const buildFiles = new Array(); 293 | 294 | let followSymbolicLinks = false; 295 | if (process.env.followSymbolicLinks === "true") { 296 | console.log("Follow symbolic links"); 297 | followSymbolicLinks = true; 298 | } 299 | 300 | const githubWorkspace = process.cwd(); 301 | const prefix = `${githubWorkspace}${path.sep}`; 302 | 303 | for (const matchPattern of matchPatterns) { 304 | const globber = await glob.create(matchPattern, { 305 | followSymbolicLinks: followSymbolicLinks 306 | }); 307 | for await (const file of globber.globGenerator()) { 308 | if (!file.startsWith(prefix)) { 309 | console.log( 310 | `Ignore '${file}' since it is not under GITHUB_WORKSPACE.` 311 | ); 312 | continue; 313 | } 314 | if (fs.statSync(file).isDirectory()) { 315 | console.log(`Skip directory '${file}'.`); 316 | continue; 317 | } 318 | 319 | buildFiles.push(file); 320 | } 321 | } 322 | return buildFiles; 323 | } 324 | -------------------------------------------------------------------------------- /src/utils/requestUtils.ts: -------------------------------------------------------------------------------- 1 | import * as core from "@actions/core"; 2 | import { HttpClientResponse, HttpCodes } from "@actions/http-client"; 3 | 4 | import { DefaultRetryAttempts, DefaultRetryDelay } from "./constants"; 5 | 6 | export function isSuccessStatusCode(statusCode?: number): boolean { 7 | if (!statusCode) { 8 | return false; 9 | } 10 | return statusCode >= 200 && statusCode < 300; 11 | } 12 | 13 | export function isServerErrorStatusCode(statusCode?: number): boolean { 14 | if (!statusCode) { 15 | return true; 16 | } 17 | return statusCode >= 500; 18 | } 19 | 20 | export function isRetryableStatusCode(statusCode?: number): boolean { 21 | if (!statusCode) { 22 | return false; 23 | } 24 | const retryableStatusCodes = [ 25 | HttpCodes.BadGateway, 26 | HttpCodes.ServiceUnavailable, 27 | HttpCodes.GatewayTimeout 28 | ]; 29 | return retryableStatusCodes.includes(statusCode); 30 | } 31 | 32 | async function sleep(milliseconds: number): Promise { 33 | return new Promise(resolve => setTimeout(resolve, milliseconds)); 34 | } 35 | 36 | export async function retry( 37 | name: string, 38 | method: () => Promise, 39 | getStatusCode: (arg0: T) => number | undefined, 40 | maxAttempts = DefaultRetryAttempts, 41 | delay = DefaultRetryDelay, 42 | onError: ((arg0: Error) => T | undefined) | undefined = undefined 43 | ): Promise { 44 | let errorMessage = ""; 45 | let attempt = 1; 46 | 47 | while (attempt <= maxAttempts) { 48 | let response: T | undefined = undefined; 49 | let statusCode: number | undefined = undefined; 50 | let isRetryable = false; 51 | 52 | try { 53 | response = await method(); 54 | } catch (err: unknown) { 55 | const error = err as Error; 56 | if (onError) { 57 | response = onError(error); 58 | } 59 | 60 | isRetryable = true; 61 | errorMessage = error.message; 62 | } 63 | 64 | if (response) { 65 | statusCode = getStatusCode(response); 66 | 67 | if (!isServerErrorStatusCode(statusCode)) { 68 | return response; 69 | } 70 | } 71 | 72 | if (statusCode) { 73 | isRetryable = isRetryableStatusCode(statusCode); 74 | errorMessage = `Cache service responded with ${statusCode}`; 75 | } 76 | 77 | core.debug( 78 | `${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}` 79 | ); 80 | 81 | if (!isRetryable) { 82 | core.debug(`${name} - Error is not retryable`); 83 | break; 84 | } 85 | 86 | await sleep(delay); 87 | attempt++; 88 | } 89 | 90 | throw Error(`${name} failed: ${errorMessage}`); 91 | } 92 | 93 | export async function retryHttpClientResponse( 94 | name: string, 95 | method: () => Promise, 96 | maxAttempts = DefaultRetryAttempts, 97 | delay = DefaultRetryDelay 98 | ): Promise { 99 | return await retry( 100 | name, 101 | method, 102 | (response: HttpClientResponse) => response.message.statusCode, 103 | maxAttempts, 104 | delay 105 | ); 106 | } 107 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | // "incremental": true, /* Enable incremental compilation */ 5 | "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ 6 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 7 | // "allowJs": true, /* Allow javascript files to be compiled. */ 8 | // "checkJs": true, /* Report errors in .js files. */ 9 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 10 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 11 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 12 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 13 | // "outFile": "./", /* Concatenate and emit output to single file. */ 14 | "outDir": "./lib", /* Redirect output structure to the directory. */ 15 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 16 | // "composite": true, /* Enable project compilation */ 17 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 18 | // "removeComments": true, /* Do not emit comments to output. */ 19 | // "noEmit": true, /* Do not emit outputs. */ 20 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 21 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 22 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 23 | 24 | /* Strict Type-Checking Options */ 25 | "strict": true, /* Enable all strict type-checking options. */ 26 | "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ 27 | // "strictNullChecks": true, /* Enable strict null checks. */ 28 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 29 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 30 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 31 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 32 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 33 | 34 | /* Additional Checks */ 35 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 36 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 37 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 38 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 39 | 40 | /* Module Resolution Options */ 41 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 42 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 43 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 44 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 45 | // "typeRoots": [], /* List of folders to include type definitions from. */ 46 | // "types": [], /* Type declaration files to be included in compilation. */ 47 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 48 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 49 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 50 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 51 | 52 | /* Source Map Options */ 53 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 54 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 55 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 56 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 57 | 58 | /* Experimental Options */ 59 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 60 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 61 | }, 62 | "exclude": ["node_modules", "**/*.test.ts"] 63 | } 64 | --------------------------------------------------------------------------------