├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── .releaserc.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── build.js ├── example ├── .gitignore ├── build.js ├── package.json ├── pnpm-lock.yaml ├── spago.dhall └── src │ ├── Main.purs │ ├── Message.purs │ └── index.js ├── package.json ├── pnpm-lock.yaml ├── spago.dhall ├── src ├── Main.purs └── index.js └── zephyr-example ├── .gitignore ├── build.js ├── package.json ├── pnpm-lock.yaml ├── spago.dhall └── src ├── Main.purs └── index.js /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Deploy 2 | on: 3 | - push 4 | - pull_request 5 | 6 | jobs: 7 | publish: 8 | runs-on: ubuntu-latest 9 | strategy: 10 | matrix: 11 | node-version: 12 | - 12.x 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | 17 | - name: "Use Node.js ${{ matrix.node-version }}" 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: "${{ matrix.node-version }}" 21 | 22 | - name: Cache pnpm modules 23 | uses: actions/cache@v2 24 | env: 25 | cache-name: cache-pnpm-modules 26 | with: 27 | path: ~/.pnpm-store 28 | key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-${{ hashFiles('**/package.json') }} 29 | restore-keys: | 30 | ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}- 31 | 32 | - uses: pnpm/action-setup@v1.2.1 33 | with: 34 | version: 5.17.2 35 | run_install: true 36 | 37 | - name: Install purescript-related tooling 38 | uses: purescript-contrib/setup-purescript@main 39 | 40 | - name: Cache PureScript dependencies 41 | uses: actions/cache@v2 42 | # This cache uses the .dhall files to know when it should reinstall 43 | # and rebuild packages. It caches both the installed packages from 44 | # the `.spago` directory and compilation artifacts from the `output` 45 | # directory. When restored the compiler will rebuild any files that 46 | # have changed. If you do not want to cache compiled output, remove 47 | # the `output` path. 48 | with: 49 | key: ${{ runner.os }}-spago-${{ hashFiles('**/*.dhall') }} 50 | path: | 51 | .spago 52 | 53 | - name: Build 54 | run: pnpm build 55 | 56 | - name: Release 57 | env: 58 | GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" 59 | NPM_TOKEN: "${{ secrets.NPM_TOKEN }}" 60 | run: pnpx semantic-release 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | 3 | # Here because of me testing the examples 4 | .psc-ide-port 5 | .purs-repl 6 | 7 | .spago 8 | output 9 | 10 | index.js -------------------------------------------------------------------------------- /.releaserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "branches": ["master"], 3 | "plugins": [ 4 | "@semantic-release/commit-analyzer", 5 | "@semantic-release/release-notes-generator", 6 | "@semantic-release/changelog", 7 | "@semantic-release/npm", 8 | [ 9 | "@semantic-release/git", 10 | { 11 | "message": "chore(release): released version ${nextRelease.version} [skip ci]" 12 | } 13 | ], 14 | "@semantic-release/github" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## [1.1.1](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/compare/v1.1.0...v1.1.1) (2021-08-11) 2 | 3 | 4 | ### Bug Fixes 5 | 6 | * working watch mode ([b201637](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/commit/b20163726567259a797592ca645c9caa0e40e6c1)) 7 | 8 | # [1.1.0](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/compare/v1.0.2...v1.1.0) (2021-08-10) 9 | 10 | 11 | ### Features 12 | 13 | * working watch mode based on `purs graph` ([431e367](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/commit/431e36776503ad7e47f37ce5b4adce67519345ce)) 14 | 15 | ## [1.0.2](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/compare/v1.0.1...v1.0.2) (2021-05-24) 16 | 17 | 18 | ### Bug Fixes 19 | 20 | * not really a bug fix, here only to manually trigger a deploy ([a90ed7e](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/commit/a90ed7e6afa41f7cf489f92a469237ad2fe6f209)) 21 | 22 | ## [1.0.1](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/compare/v1.0.0...v1.0.1) (2021-05-21) 23 | 24 | 25 | ### Bug Fixes 26 | 27 | * allow doc comments ([b646613](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/commit/b6466132c98b0a1b4c7a938afdb411ddc7040f6b)), closes [#1](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/issues/1) 28 | 29 | # 1.0.0 (2021-03-31) 30 | 31 | 32 | ### Features 33 | 34 | * Implemented .purs imports ([2045c27](https://github.com/Mateiadrielrafael/esbuild-plugin-purescript/commit/2045c27ba598f74cf8c458f6580c591f59c3c7e2)) 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Matei Adriel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PureScript esbuild plugin 2 | 3 | [esbuild](https://esbuild.github.io/) integration for [PureScript](https://www.purescript.org/) 4 | 5 | ### What this plugin **does**: 6 | 7 | - Allows you to import `.purs` files directly from your JavaScript 8 | 9 | ### What this plugin **does not do**: 10 | 11 | - Run `spago build` or similar commands for you. This plugin will only point esbuild to your existing `output` directory 12 | - Tree shake using [zephyr](https://github.com/coot/zephyr) for you. If you want to use zephyr, check out [this example](./zephyr-example) 13 | 14 | ## Usage 15 | 16 | First, install the library from npm: 17 | 18 | ```shell 19 | npm install esbuild-plugin-purescript 20 | ``` 21 | 22 | Example [`build.js`](./example/build.js): 23 | 24 | ```js 25 | const esbuild = require("esbuild"); 26 | const PureScriptPlugin = require("esbuild-plugin-purescript"); 27 | const path = require("path"); 28 | 29 | esbuild 30 | .build({ 31 | entryPoints: ["src/index.js"], 32 | bundle: true, 33 | outdir: "dist", 34 | plugins: [ 35 | PureScriptPlugin({ 36 | output: path.resolve( 37 | __dirname, 38 | "myOutput" 39 | ) /* set to 'output' by default */, 40 | sources: [ 41 | "some/**/glob/*.purs", 42 | ] /* set to `spago sources` by default */, 43 | }), 44 | ], 45 | }) 46 | .catch((_e) => process.exit(1)); 47 | ``` 48 | 49 | Example [`src/index.js`](./example/src/index.js): 50 | 51 | ```js 52 | import { main } from "./Main.purs"; 53 | 54 | console.log("Loaded PureScript code 🚀"); 55 | 56 | main(); 57 | ``` 58 | -------------------------------------------------------------------------------- /build.js: -------------------------------------------------------------------------------- 1 | const esbuild = require("esbuild"); 2 | 3 | esbuild 4 | .build({ 5 | entryPoints: ["src/index.js"], 6 | bundle: true, 7 | outdir: ".", 8 | plugins: [], 9 | platform: "node", 10 | minify: true, 11 | }) 12 | .catch((e) => { 13 | console.error(e); 14 | process.exit(1); 15 | }); 16 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | /bower_components/ 2 | /node_modules/ 3 | /.pulp-cache/ 4 | /output/ 5 | /generated-docs/ 6 | /.psc-package/ 7 | /.psc* 8 | /.purs* 9 | /.psa* 10 | /.spago 11 | dist -------------------------------------------------------------------------------- /example/build.js: -------------------------------------------------------------------------------- 1 | const esbuild = require("esbuild"); 2 | const PureScriptPlugin = require("../index"); // require('esbuild-plugin-purescript') 3 | 4 | const development = process.env.NODE_ENV === "development"; 5 | 6 | esbuild 7 | .build({ 8 | entryPoints: ["src/index.js"], 9 | bundle: true, 10 | outdir: "dist", 11 | watch: development, 12 | plugins: [PureScriptPlugin()], 13 | }) 14 | .catch((_e) => { 15 | console.log(_e); 16 | if (!development) process.exit(1); 17 | }); 18 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "main": "src/index.js", 4 | "scripts": { 5 | "build": "node ./build.js", 6 | "dev": "NODE_ENV=development node ./build.js" 7 | }, 8 | "dependencies": { 9 | "esbuild": "^0.11.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /example/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | esbuild: 0.11.1 3 | lockfileVersion: 5.1 4 | packages: 5 | /esbuild/0.11.1: 6 | dev: false 7 | hasBin: true 8 | requiresBuild: true 9 | resolution: 10 | integrity: sha512-aqhODgreee+PW3vFG96/jtVgzGYqDoUncOk2XEwEquJH/NrfvPtigqkth1QSAMrv/44Z/7pKxmcL6RTJm2L3Og== 11 | specifiers: 12 | esbuild: ^0.11.1 13 | -------------------------------------------------------------------------------- /example/spago.dhall: -------------------------------------------------------------------------------- 1 | let upstream = 2 | https://github.com/purescript/package-sets/releases/download/psc-0.14.0-20210329/packages.dhall sha256:32c90bbcd8c1018126be586097f05266b391f6aea9125cf10fba2292cb2b8c73 3 | 4 | in { name = "esbuild-example" 5 | , dependencies = [ "console", "effect", "psci-support", "prelude" ] 6 | , sources = [ "src/**/*.purs" ] 7 | , packages = upstream 8 | } 9 | -------------------------------------------------------------------------------- /example/src/Main.purs: -------------------------------------------------------------------------------- 1 | {- Works with comments -} 2 | module Main.Something where 3 | 4 | import Prelude 5 | 6 | import Effect (Effect) 7 | import Effect.Console (log) 8 | import Message (message) 9 | 10 | main :: Effect Unit 11 | main = do 12 | log message 13 | -------------------------------------------------------------------------------- /example/src/Message.purs: -------------------------------------------------------------------------------- 1 | {- Changing this file will also trigger a rebuild -} 2 | module Message where 3 | 4 | message :: String 5 | message = "Hello from a different file" -------------------------------------------------------------------------------- /example/src/index.js: -------------------------------------------------------------------------------- 1 | import { main } from "./Main.purs"; 2 | import { log } from "../.spago/console/v5.0.0/src/Effect/Console.purs"; 3 | 4 | log("Loaded purescript")(); 5 | main(); 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esbuild-plugin-purescript", 3 | "version": "1.1.1", 4 | "description": "esbuild plugin for PureScript", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "spago build && node ./build.js" 8 | }, 9 | "keywords": [ 10 | "purescript", 11 | "esbuild", 12 | "functional-programming" 13 | ], 14 | "author": "Matei Adriel ", 15 | "repository": "https://github.com/Mateiadrielrafael/esbuild-plugin-purescript", 16 | "files": [ 17 | "index.js" 18 | ], 19 | "publishConfig": { 20 | "access": "public" 21 | }, 22 | "license": "MIT", 23 | "devDependencies": { 24 | "@semantic-release/changelog": "^5.0.1", 25 | "@semantic-release/git": "^9.0.0", 26 | "esbuild": "^0.12.1", 27 | "semantic-release": "^17.1.1" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | devDependencies: 2 | '@semantic-release/changelog': 5.0.1_semantic-release@17.4.2 3 | '@semantic-release/git': 9.0.0_semantic-release@17.4.2 4 | esbuild: 0.12.1 5 | semantic-release: 17.4.2_semantic-release@17.4.2 6 | lockfileVersion: 5.1 7 | packages: 8 | /@babel/code-frame/7.12.13: 9 | dependencies: 10 | '@babel/highlight': 7.13.10 11 | dev: true 12 | resolution: 13 | integrity: sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== 14 | /@babel/helper-validator-identifier/7.12.11: 15 | dev: true 16 | resolution: 17 | integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 18 | /@babel/highlight/7.13.10: 19 | dependencies: 20 | '@babel/helper-validator-identifier': 7.12.11 21 | chalk: 2.4.2 22 | js-tokens: 4.0.0 23 | dev: true 24 | resolution: 25 | integrity: sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== 26 | /@nodelib/fs.scandir/2.1.4: 27 | dependencies: 28 | '@nodelib/fs.stat': 2.0.4 29 | run-parallel: 1.2.0 30 | dev: true 31 | engines: 32 | node: '>= 8' 33 | resolution: 34 | integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== 35 | /@nodelib/fs.stat/2.0.4: 36 | dev: true 37 | engines: 38 | node: '>= 8' 39 | resolution: 40 | integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== 41 | /@nodelib/fs.walk/1.2.6: 42 | dependencies: 43 | '@nodelib/fs.scandir': 2.1.4 44 | fastq: 1.11.0 45 | dev: true 46 | engines: 47 | node: '>= 8' 48 | resolution: 49 | integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== 50 | /@octokit/auth-token/2.4.5: 51 | dependencies: 52 | '@octokit/types': 6.13.0 53 | dev: true 54 | resolution: 55 | integrity: sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== 56 | /@octokit/core/3.3.2: 57 | dependencies: 58 | '@octokit/auth-token': 2.4.5 59 | '@octokit/graphql': 4.6.1 60 | '@octokit/request': 5.4.14 61 | '@octokit/request-error': 2.0.5 62 | '@octokit/types': 6.13.0 63 | before-after-hook: 2.2.0 64 | universal-user-agent: 6.0.0 65 | dev: true 66 | resolution: 67 | integrity: sha512-Jx83n4tuX/z7QtxnPsAKxXPzH3vANtKmlCB3W3vt18JbkEaBYm+C8dgAlA1FNtqNk3L21pxsKNbWkUQAhiV7ng== 68 | /@octokit/endpoint/6.0.11: 69 | dependencies: 70 | '@octokit/types': 6.13.0 71 | is-plain-object: 5.0.0 72 | universal-user-agent: 6.0.0 73 | dev: true 74 | resolution: 75 | integrity: sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ== 76 | /@octokit/graphql/4.6.1: 77 | dependencies: 78 | '@octokit/request': 5.4.14 79 | '@octokit/types': 6.13.0 80 | universal-user-agent: 6.0.0 81 | dev: true 82 | resolution: 83 | integrity: sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA== 84 | /@octokit/openapi-types/6.0.0: 85 | dev: true 86 | resolution: 87 | integrity: sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ== 88 | /@octokit/plugin-paginate-rest/2.13.3_@octokit+core@3.3.2: 89 | dependencies: 90 | '@octokit/core': 3.3.2 91 | '@octokit/types': 6.13.0 92 | dev: true 93 | peerDependencies: 94 | '@octokit/core': '>=2' 95 | resolution: 96 | integrity: sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg== 97 | /@octokit/plugin-request-log/1.0.3_@octokit+core@3.3.2: 98 | dependencies: 99 | '@octokit/core': 3.3.2 100 | dev: true 101 | peerDependencies: 102 | '@octokit/core': '>=3' 103 | resolution: 104 | integrity: sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== 105 | /@octokit/plugin-rest-endpoint-methods/5.0.0_@octokit+core@3.3.2: 106 | dependencies: 107 | '@octokit/core': 3.3.2 108 | '@octokit/types': 6.13.0 109 | deprecation: 2.3.1 110 | dev: true 111 | peerDependencies: 112 | '@octokit/core': '>=3' 113 | resolution: 114 | integrity: sha512-Jc7CLNUueIshXT+HWt6T+M0sySPjF32mSFQAK7UfAg8qGeRI6OM1GSBxDLwbXjkqy2NVdnqCedJcP1nC785JYg== 115 | /@octokit/request-error/2.0.5: 116 | dependencies: 117 | '@octokit/types': 6.13.0 118 | deprecation: 2.3.1 119 | once: 1.4.0 120 | dev: true 121 | resolution: 122 | integrity: sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== 123 | /@octokit/request/5.4.14: 124 | dependencies: 125 | '@octokit/endpoint': 6.0.11 126 | '@octokit/request-error': 2.0.5 127 | '@octokit/types': 6.13.0 128 | deprecation: 2.3.1 129 | is-plain-object: 5.0.0 130 | node-fetch: 2.6.1 131 | once: 1.4.0 132 | universal-user-agent: 6.0.0 133 | dev: true 134 | resolution: 135 | integrity: sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA== 136 | /@octokit/rest/18.5.2: 137 | dependencies: 138 | '@octokit/core': 3.3.2 139 | '@octokit/plugin-paginate-rest': 2.13.3_@octokit+core@3.3.2 140 | '@octokit/plugin-request-log': 1.0.3_@octokit+core@3.3.2 141 | '@octokit/plugin-rest-endpoint-methods': 5.0.0_@octokit+core@3.3.2 142 | dev: true 143 | resolution: 144 | integrity: sha512-Kz03XYfKS0yYdi61BkL9/aJ0pP2A/WK5vF/syhu9/kY30J8He3P68hv9GRpn8bULFx2K0A9MEErn4v3QEdbZcw== 145 | /@octokit/types/6.13.0: 146 | dependencies: 147 | '@octokit/openapi-types': 6.0.0 148 | dev: true 149 | resolution: 150 | integrity: sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA== 151 | /@semantic-release/changelog/5.0.1_semantic-release@17.4.2: 152 | dependencies: 153 | '@semantic-release/error': 2.2.0 154 | aggregate-error: 3.1.0 155 | fs-extra: 9.1.0 156 | lodash: 4.17.21 157 | semantic-release: 17.4.2_semantic-release@17.4.2 158 | dev: true 159 | engines: 160 | node: '>=10.18' 161 | peerDependencies: 162 | semantic-release: '>=15.8.0 <18.0.0' 163 | resolution: 164 | integrity: sha512-unvqHo5jk4dvAf2nZ3aw4imrlwQ2I50eVVvq9D47Qc3R+keNqepx1vDYwkjF8guFXnOYaYcR28yrZWno1hFbiw== 165 | /@semantic-release/commit-analyzer/8.0.1_semantic-release@17.4.2: 166 | dependencies: 167 | conventional-changelog-angular: 5.0.12 168 | conventional-commits-filter: 2.0.7 169 | conventional-commits-parser: 3.2.1 170 | debug: 4.3.1 171 | import-from: 3.0.0 172 | lodash: 4.17.21 173 | micromatch: 4.0.2 174 | semantic-release: 17.4.2_semantic-release@17.4.2 175 | dev: true 176 | engines: 177 | node: '>=10.18' 178 | peerDependencies: 179 | semantic-release: '>=16.0.0 <18.0.0' 180 | resolution: 181 | integrity: sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A== 182 | /@semantic-release/error/2.2.0: 183 | dev: true 184 | resolution: 185 | integrity: sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg== 186 | /@semantic-release/git/9.0.0_semantic-release@17.4.2: 187 | dependencies: 188 | '@semantic-release/error': 2.2.0 189 | aggregate-error: 3.1.0 190 | debug: 4.3.1 191 | dir-glob: 3.0.1 192 | execa: 4.1.0 193 | lodash: 4.17.21 194 | micromatch: 4.0.2 195 | p-reduce: 2.1.0 196 | semantic-release: 17.4.2_semantic-release@17.4.2 197 | dev: true 198 | engines: 199 | node: '>=10.18' 200 | peerDependencies: 201 | semantic-release: '>=16.0.0 <18.0.0' 202 | resolution: 203 | integrity: sha512-AZ4Zha5NAPAciIJH3ipzw/WU9qLAn8ENaoVAhD6srRPxTpTzuV3NhNh14rcAo8Paj9dO+5u4rTKcpetOBluYVw== 204 | /@semantic-release/github/7.2.0_semantic-release@17.4.2: 205 | dependencies: 206 | '@octokit/rest': 18.5.2 207 | '@semantic-release/error': 2.2.0 208 | aggregate-error: 3.1.0 209 | bottleneck: 2.19.5 210 | debug: 4.3.1 211 | dir-glob: 3.0.1 212 | fs-extra: 9.1.0 213 | globby: 11.0.3 214 | http-proxy-agent: 4.0.1 215 | https-proxy-agent: 5.0.0 216 | issue-parser: 6.0.0 217 | lodash: 4.17.21 218 | mime: 2.5.2 219 | p-filter: 2.1.0 220 | p-retry: 4.5.0 221 | semantic-release: 17.4.2_semantic-release@17.4.2 222 | url-join: 4.0.1 223 | dev: true 224 | engines: 225 | node: '>=10.18' 226 | peerDependencies: 227 | semantic-release: '>=16.0.0 <18.0.0' 228 | resolution: 229 | integrity: sha512-tMRnWiiWb43whRHvbDGXq4DGEbKRi56glDpXDJZit4PIiwDPX7Kx3QzmwRtDOcG+8lcpGjpdPabYZ9NBxoI2mw== 230 | /@semantic-release/npm/7.1.0_semantic-release@17.4.2: 231 | dependencies: 232 | '@semantic-release/error': 2.2.0 233 | aggregate-error: 3.1.0 234 | execa: 5.0.0 235 | fs-extra: 9.1.0 236 | lodash: 4.17.21 237 | nerf-dart: 1.0.0 238 | normalize-url: 5.3.0 239 | npm: 7.7.6 240 | rc: 1.2.8 241 | read-pkg: 5.2.0 242 | registry-auth-token: 4.2.1 243 | semantic-release: 17.4.2_semantic-release@17.4.2 244 | semver: 7.3.5 245 | tempy: 1.0.1 246 | dev: true 247 | engines: 248 | node: '>=10.19' 249 | peerDependencies: 250 | semantic-release: '>=16.0.0 <18.0.0' 251 | resolution: 252 | integrity: sha512-zr9kTlF3/84QE9XH765TwvG0ljysSrxEGPNL1prxpWS9fHD7Pa+58L7pgLQwmw4i1QIkhh9cANvY9l7uldvh5w== 253 | /@semantic-release/release-notes-generator/9.0.2_semantic-release@17.4.2: 254 | dependencies: 255 | conventional-changelog-angular: 5.0.12 256 | conventional-changelog-writer: 4.1.0 257 | conventional-commits-filter: 2.0.7 258 | conventional-commits-parser: 3.2.1 259 | debug: 4.3.1 260 | get-stream: 5.2.0 261 | import-from: 3.0.0 262 | into-stream: 6.0.0 263 | lodash: 4.17.21 264 | read-pkg-up: 7.0.1 265 | semantic-release: 17.4.2_semantic-release@17.4.2 266 | dev: true 267 | engines: 268 | node: '>=10.18' 269 | peerDependencies: 270 | semantic-release: '>=15.8.0 <18.0.0' 271 | resolution: 272 | integrity: sha512-xGFSidhGqB27uwgWCU6y0gbf4r/no5flOAkJyFFc4+bPf8S+LfAVm7xhhlK5VPXLt2Iu1RBH8F+IgMK2ah5YpA== 273 | /@tootallnate/once/1.1.2: 274 | dev: true 275 | engines: 276 | node: '>= 6' 277 | resolution: 278 | integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 279 | /@types/minimist/1.2.1: 280 | dev: true 281 | resolution: 282 | integrity: sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== 283 | /@types/normalize-package-data/2.4.0: 284 | dev: true 285 | resolution: 286 | integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 287 | /@types/parse-json/4.0.0: 288 | dev: true 289 | resolution: 290 | integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 291 | /@types/retry/0.12.0: 292 | dev: true 293 | resolution: 294 | integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== 295 | /JSONStream/1.3.5: 296 | dependencies: 297 | jsonparse: 1.3.1 298 | through: 2.3.8 299 | dev: true 300 | hasBin: true 301 | resolution: 302 | integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== 303 | /agent-base/6.0.2: 304 | dependencies: 305 | debug: 4.3.1 306 | dev: true 307 | engines: 308 | node: '>= 6.0.0' 309 | resolution: 310 | integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 311 | /aggregate-error/3.1.0: 312 | dependencies: 313 | clean-stack: 2.2.0 314 | indent-string: 4.0.0 315 | dev: true 316 | engines: 317 | node: '>=8' 318 | resolution: 319 | integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 320 | /ansi-escapes/4.3.2: 321 | dependencies: 322 | type-fest: 0.21.3 323 | dev: true 324 | engines: 325 | node: '>=8' 326 | resolution: 327 | integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 328 | /ansi-regex/5.0.0: 329 | dev: true 330 | engines: 331 | node: '>=8' 332 | resolution: 333 | integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 334 | /ansi-styles/3.2.1: 335 | dependencies: 336 | color-convert: 1.9.3 337 | dev: true 338 | engines: 339 | node: '>=4' 340 | resolution: 341 | integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 342 | /ansi-styles/4.3.0: 343 | dependencies: 344 | color-convert: 2.0.1 345 | dev: true 346 | engines: 347 | node: '>=8' 348 | resolution: 349 | integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 350 | /ansicolors/0.3.2: 351 | dev: true 352 | resolution: 353 | integrity: sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= 354 | /argv-formatter/1.0.0: 355 | dev: true 356 | resolution: 357 | integrity: sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk= 358 | /array-ify/1.0.0: 359 | dev: true 360 | resolution: 361 | integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= 362 | /array-union/2.1.0: 363 | dev: true 364 | engines: 365 | node: '>=8' 366 | resolution: 367 | integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 368 | /arrify/1.0.1: 369 | dev: true 370 | engines: 371 | node: '>=0.10.0' 372 | resolution: 373 | integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 374 | /at-least-node/1.0.0: 375 | dev: true 376 | engines: 377 | node: '>= 4.0.0' 378 | resolution: 379 | integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 380 | /balanced-match/1.0.0: 381 | dev: true 382 | resolution: 383 | integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 384 | /before-after-hook/2.2.0: 385 | dev: true 386 | resolution: 387 | integrity: sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ== 388 | /bottleneck/2.19.5: 389 | dev: true 390 | resolution: 391 | integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== 392 | /brace-expansion/1.1.11: 393 | dependencies: 394 | balanced-match: 1.0.0 395 | concat-map: 0.0.1 396 | dev: true 397 | resolution: 398 | integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 399 | /braces/3.0.2: 400 | dependencies: 401 | fill-range: 7.0.1 402 | dev: true 403 | engines: 404 | node: '>=8' 405 | resolution: 406 | integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 407 | /callsites/3.1.0: 408 | dev: true 409 | engines: 410 | node: '>=6' 411 | resolution: 412 | integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 413 | /camelcase-keys/6.2.2: 414 | dependencies: 415 | camelcase: 5.3.1 416 | map-obj: 4.2.0 417 | quick-lru: 4.0.1 418 | dev: true 419 | engines: 420 | node: '>=8' 421 | resolution: 422 | integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== 423 | /camelcase/5.3.1: 424 | dev: true 425 | engines: 426 | node: '>=6' 427 | resolution: 428 | integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 429 | /cardinal/2.1.1: 430 | dependencies: 431 | ansicolors: 0.3.2 432 | redeyed: 2.1.1 433 | dev: true 434 | hasBin: true 435 | resolution: 436 | integrity: sha1-fMEFXYItISlU0HsIXeolHMe8VQU= 437 | /chalk/2.4.2: 438 | dependencies: 439 | ansi-styles: 3.2.1 440 | escape-string-regexp: 1.0.5 441 | supports-color: 5.5.0 442 | dev: true 443 | engines: 444 | node: '>=4' 445 | resolution: 446 | integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 447 | /chalk/4.1.0: 448 | dependencies: 449 | ansi-styles: 4.3.0 450 | supports-color: 7.2.0 451 | dev: true 452 | engines: 453 | node: '>=10' 454 | resolution: 455 | integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 456 | /clean-stack/2.2.0: 457 | dev: true 458 | engines: 459 | node: '>=6' 460 | resolution: 461 | integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 462 | /cli-table/0.3.6: 463 | dependencies: 464 | colors: 1.0.3 465 | dev: true 466 | engines: 467 | node: '>= 0.2.0' 468 | resolution: 469 | integrity: sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ== 470 | /cliui/7.0.4: 471 | dependencies: 472 | string-width: 4.2.2 473 | strip-ansi: 6.0.0 474 | wrap-ansi: 7.0.0 475 | dev: true 476 | resolution: 477 | integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 478 | /color-convert/1.9.3: 479 | dependencies: 480 | color-name: 1.1.3 481 | dev: true 482 | resolution: 483 | integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 484 | /color-convert/2.0.1: 485 | dependencies: 486 | color-name: 1.1.4 487 | dev: true 488 | engines: 489 | node: '>=7.0.0' 490 | resolution: 491 | integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 492 | /color-name/1.1.3: 493 | dev: true 494 | resolution: 495 | integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 496 | /color-name/1.1.4: 497 | dev: true 498 | resolution: 499 | integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 500 | /colors/1.0.3: 501 | dev: true 502 | engines: 503 | node: '>=0.1.90' 504 | resolution: 505 | integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= 506 | /compare-func/2.0.0: 507 | dependencies: 508 | array-ify: 1.0.0 509 | dot-prop: 5.3.0 510 | dev: true 511 | resolution: 512 | integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== 513 | /concat-map/0.0.1: 514 | dev: true 515 | resolution: 516 | integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 517 | /conventional-changelog-angular/5.0.12: 518 | dependencies: 519 | compare-func: 2.0.0 520 | q: 1.5.1 521 | dev: true 522 | engines: 523 | node: '>=10' 524 | resolution: 525 | integrity: sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== 526 | /conventional-changelog-writer/4.1.0: 527 | dependencies: 528 | compare-func: 2.0.0 529 | conventional-commits-filter: 2.0.7 530 | dateformat: 3.0.3 531 | handlebars: 4.7.7 532 | json-stringify-safe: 5.0.1 533 | lodash: 4.17.21 534 | meow: 8.1.2 535 | semver: 6.3.0 536 | split: 1.0.1 537 | through2: 4.0.2 538 | dev: true 539 | engines: 540 | node: '>=10' 541 | hasBin: true 542 | resolution: 543 | integrity: sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== 544 | /conventional-commits-filter/2.0.7: 545 | dependencies: 546 | lodash.ismatch: 4.4.0 547 | modify-values: 1.0.1 548 | dev: true 549 | engines: 550 | node: '>=10' 551 | resolution: 552 | integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== 553 | /conventional-commits-parser/3.2.1: 554 | dependencies: 555 | JSONStream: 1.3.5 556 | is-text-path: 1.0.1 557 | lodash: 4.17.21 558 | meow: 8.1.2 559 | split2: 3.2.2 560 | through2: 4.0.2 561 | trim-off-newlines: 1.0.1 562 | dev: true 563 | engines: 564 | node: '>=10' 565 | hasBin: true 566 | resolution: 567 | integrity: sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA== 568 | /core-util-is/1.0.2: 569 | dev: true 570 | resolution: 571 | integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 572 | /cosmiconfig/7.0.0: 573 | dependencies: 574 | '@types/parse-json': 4.0.0 575 | import-fresh: 3.3.0 576 | parse-json: 5.2.0 577 | path-type: 4.0.0 578 | yaml: 1.10.2 579 | dev: true 580 | engines: 581 | node: '>=10' 582 | resolution: 583 | integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 584 | /cross-spawn/7.0.3: 585 | dependencies: 586 | path-key: 3.1.1 587 | shebang-command: 2.0.0 588 | which: 2.0.2 589 | dev: true 590 | engines: 591 | node: '>= 8' 592 | resolution: 593 | integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 594 | /crypto-random-string/2.0.0: 595 | dev: true 596 | engines: 597 | node: '>=8' 598 | resolution: 599 | integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== 600 | /dateformat/3.0.3: 601 | dev: true 602 | resolution: 603 | integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== 604 | /debug/4.3.1: 605 | dependencies: 606 | ms: 2.1.2 607 | dev: true 608 | engines: 609 | node: '>=6.0' 610 | peerDependencies: 611 | supports-color: '*' 612 | peerDependenciesMeta: 613 | supports-color: 614 | optional: true 615 | resolution: 616 | integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 617 | /decamelize-keys/1.1.0: 618 | dependencies: 619 | decamelize: 1.2.0 620 | map-obj: 1.0.1 621 | dev: true 622 | engines: 623 | node: '>=0.10.0' 624 | resolution: 625 | integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 626 | /decamelize/1.2.0: 627 | dev: true 628 | engines: 629 | node: '>=0.10.0' 630 | resolution: 631 | integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 632 | /deep-extend/0.6.0: 633 | dev: true 634 | engines: 635 | node: '>=4.0.0' 636 | resolution: 637 | integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 638 | /del/6.0.0: 639 | dependencies: 640 | globby: 11.0.3 641 | graceful-fs: 4.2.6 642 | is-glob: 4.0.1 643 | is-path-cwd: 2.2.0 644 | is-path-inside: 3.0.3 645 | p-map: 4.0.0 646 | rimraf: 3.0.2 647 | slash: 3.0.0 648 | dev: true 649 | engines: 650 | node: '>=10' 651 | resolution: 652 | integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== 653 | /deprecation/2.3.1: 654 | dev: true 655 | resolution: 656 | integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== 657 | /dir-glob/3.0.1: 658 | dependencies: 659 | path-type: 4.0.0 660 | dev: true 661 | engines: 662 | node: '>=8' 663 | resolution: 664 | integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 665 | /dot-prop/5.3.0: 666 | dependencies: 667 | is-obj: 2.0.0 668 | dev: true 669 | engines: 670 | node: '>=8' 671 | resolution: 672 | integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== 673 | /duplexer2/0.1.4: 674 | dependencies: 675 | readable-stream: 2.3.7 676 | dev: true 677 | resolution: 678 | integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= 679 | /emoji-regex/8.0.0: 680 | dev: true 681 | resolution: 682 | integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 683 | /end-of-stream/1.4.4: 684 | dependencies: 685 | once: 1.4.0 686 | dev: true 687 | resolution: 688 | integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 689 | /env-ci/5.0.2: 690 | dependencies: 691 | execa: 4.1.0 692 | java-properties: 1.0.2 693 | dev: true 694 | engines: 695 | node: '>=10.13' 696 | resolution: 697 | integrity: sha512-Xc41mKvjouTXD3Oy9AqySz1IeyvJvHZ20Twf5ZLYbNpPPIuCnL/qHCmNlD01LoNy0JTunw9HPYVptD19Ac7Mbw== 698 | /error-ex/1.3.2: 699 | dependencies: 700 | is-arrayish: 0.2.1 701 | dev: true 702 | resolution: 703 | integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 704 | /esbuild/0.12.1: 705 | dev: true 706 | hasBin: true 707 | requiresBuild: true 708 | resolution: 709 | integrity: sha512-WfQ00MKm/Y4ysz1u9PCUAsV66k5lbrcEvS6aG9jhBIavpB94FBdaWeBkaZXxCZB4w+oqh+j4ozJFWnnFprOXbg== 710 | /escalade/3.1.1: 711 | dev: true 712 | engines: 713 | node: '>=6' 714 | resolution: 715 | integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 716 | /escape-string-regexp/1.0.5: 717 | dev: true 718 | engines: 719 | node: '>=0.8.0' 720 | resolution: 721 | integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 722 | /esprima/4.0.1: 723 | dev: true 724 | engines: 725 | node: '>=4' 726 | hasBin: true 727 | resolution: 728 | integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 729 | /execa/4.1.0: 730 | dependencies: 731 | cross-spawn: 7.0.3 732 | get-stream: 5.2.0 733 | human-signals: 1.1.1 734 | is-stream: 2.0.0 735 | merge-stream: 2.0.0 736 | npm-run-path: 4.0.1 737 | onetime: 5.1.2 738 | signal-exit: 3.0.3 739 | strip-final-newline: 2.0.0 740 | dev: true 741 | engines: 742 | node: '>=10' 743 | resolution: 744 | integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== 745 | /execa/5.0.0: 746 | dependencies: 747 | cross-spawn: 7.0.3 748 | get-stream: 6.0.0 749 | human-signals: 2.1.0 750 | is-stream: 2.0.0 751 | merge-stream: 2.0.0 752 | npm-run-path: 4.0.1 753 | onetime: 5.1.2 754 | signal-exit: 3.0.3 755 | strip-final-newline: 2.0.0 756 | dev: true 757 | engines: 758 | node: '>=10' 759 | resolution: 760 | integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== 761 | /fast-glob/3.2.5: 762 | dependencies: 763 | '@nodelib/fs.stat': 2.0.4 764 | '@nodelib/fs.walk': 1.2.6 765 | glob-parent: 5.1.2 766 | merge2: 1.4.1 767 | micromatch: 4.0.2 768 | picomatch: 2.2.2 769 | dev: true 770 | engines: 771 | node: '>=8' 772 | resolution: 773 | integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== 774 | /fastq/1.11.0: 775 | dependencies: 776 | reusify: 1.0.4 777 | dev: true 778 | resolution: 779 | integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== 780 | /figures/2.0.0: 781 | dependencies: 782 | escape-string-regexp: 1.0.5 783 | dev: true 784 | engines: 785 | node: '>=4' 786 | resolution: 787 | integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 788 | /figures/3.2.0: 789 | dependencies: 790 | escape-string-regexp: 1.0.5 791 | dev: true 792 | engines: 793 | node: '>=8' 794 | resolution: 795 | integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 796 | /fill-range/7.0.1: 797 | dependencies: 798 | to-regex-range: 5.0.1 799 | dev: true 800 | engines: 801 | node: '>=8' 802 | resolution: 803 | integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 804 | /find-up/2.1.0: 805 | dependencies: 806 | locate-path: 2.0.0 807 | dev: true 808 | engines: 809 | node: '>=4' 810 | resolution: 811 | integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 812 | /find-up/4.1.0: 813 | dependencies: 814 | locate-path: 5.0.0 815 | path-exists: 4.0.0 816 | dev: true 817 | engines: 818 | node: '>=8' 819 | resolution: 820 | integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 821 | /find-versions/4.0.0: 822 | dependencies: 823 | semver-regex: 3.1.2 824 | dev: true 825 | engines: 826 | node: '>=10' 827 | resolution: 828 | integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== 829 | /from2/2.3.0: 830 | dependencies: 831 | inherits: 2.0.4 832 | readable-stream: 2.3.7 833 | dev: true 834 | resolution: 835 | integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= 836 | /fs-extra/9.1.0: 837 | dependencies: 838 | at-least-node: 1.0.0 839 | graceful-fs: 4.2.6 840 | jsonfile: 6.1.0 841 | universalify: 2.0.0 842 | dev: true 843 | engines: 844 | node: '>=10' 845 | resolution: 846 | integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 847 | /fs.realpath/1.0.0: 848 | dev: true 849 | resolution: 850 | integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 851 | /function-bind/1.1.1: 852 | dev: true 853 | resolution: 854 | integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 855 | /get-caller-file/2.0.5: 856 | dev: true 857 | engines: 858 | node: 6.* || 8.* || >= 10.* 859 | resolution: 860 | integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 861 | /get-stream/5.2.0: 862 | dependencies: 863 | pump: 3.0.0 864 | dev: true 865 | engines: 866 | node: '>=8' 867 | resolution: 868 | integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 869 | /get-stream/6.0.0: 870 | dev: true 871 | engines: 872 | node: '>=10' 873 | resolution: 874 | integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== 875 | /git-log-parser/1.2.0: 876 | dependencies: 877 | argv-formatter: 1.0.0 878 | spawn-error-forwarder: 1.0.0 879 | split2: 1.0.0 880 | stream-combiner2: 1.1.1 881 | through2: 2.0.5 882 | traverse: 0.6.6 883 | dev: true 884 | resolution: 885 | integrity: sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo= 886 | /glob-parent/5.1.2: 887 | dependencies: 888 | is-glob: 4.0.1 889 | dev: true 890 | engines: 891 | node: '>= 6' 892 | resolution: 893 | integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 894 | /glob/7.1.6: 895 | dependencies: 896 | fs.realpath: 1.0.0 897 | inflight: 1.0.6 898 | inherits: 2.0.4 899 | minimatch: 3.0.4 900 | once: 1.4.0 901 | path-is-absolute: 1.0.1 902 | dev: true 903 | resolution: 904 | integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 905 | /globby/11.0.3: 906 | dependencies: 907 | array-union: 2.1.0 908 | dir-glob: 3.0.1 909 | fast-glob: 3.2.5 910 | ignore: 5.1.8 911 | merge2: 1.4.1 912 | slash: 3.0.0 913 | dev: true 914 | engines: 915 | node: '>=10' 916 | resolution: 917 | integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== 918 | /graceful-fs/4.2.6: 919 | dev: true 920 | resolution: 921 | integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 922 | /handlebars/4.7.7: 923 | dependencies: 924 | minimist: 1.2.5 925 | neo-async: 2.6.2 926 | source-map: 0.6.1 927 | wordwrap: 1.0.0 928 | dev: true 929 | engines: 930 | node: '>=0.4.7' 931 | hasBin: true 932 | optionalDependencies: 933 | uglify-js: 3.13.3 934 | resolution: 935 | integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== 936 | /hard-rejection/2.1.0: 937 | dev: true 938 | engines: 939 | node: '>=6' 940 | resolution: 941 | integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== 942 | /has-flag/3.0.0: 943 | dev: true 944 | engines: 945 | node: '>=4' 946 | resolution: 947 | integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 948 | /has-flag/4.0.0: 949 | dev: true 950 | engines: 951 | node: '>=8' 952 | resolution: 953 | integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 954 | /has/1.0.3: 955 | dependencies: 956 | function-bind: 1.1.1 957 | dev: true 958 | engines: 959 | node: '>= 0.4.0' 960 | resolution: 961 | integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 962 | /hook-std/2.0.0: 963 | dev: true 964 | engines: 965 | node: '>=8' 966 | resolution: 967 | integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g== 968 | /hosted-git-info/2.8.8: 969 | dev: true 970 | resolution: 971 | integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== 972 | /hosted-git-info/4.0.2: 973 | dependencies: 974 | lru-cache: 6.0.0 975 | dev: true 976 | engines: 977 | node: '>=10' 978 | resolution: 979 | integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== 980 | /http-proxy-agent/4.0.1: 981 | dependencies: 982 | '@tootallnate/once': 1.1.2 983 | agent-base: 6.0.2 984 | debug: 4.3.1 985 | dev: true 986 | engines: 987 | node: '>= 6' 988 | resolution: 989 | integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 990 | /https-proxy-agent/5.0.0: 991 | dependencies: 992 | agent-base: 6.0.2 993 | debug: 4.3.1 994 | dev: true 995 | engines: 996 | node: '>= 6' 997 | resolution: 998 | integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 999 | /human-signals/1.1.1: 1000 | dev: true 1001 | engines: 1002 | node: '>=8.12.0' 1003 | resolution: 1004 | integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== 1005 | /human-signals/2.1.0: 1006 | dev: true 1007 | engines: 1008 | node: '>=10.17.0' 1009 | resolution: 1010 | integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1011 | /ignore/5.1.8: 1012 | dev: true 1013 | engines: 1014 | node: '>= 4' 1015 | resolution: 1016 | integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 1017 | /import-fresh/3.3.0: 1018 | dependencies: 1019 | parent-module: 1.0.1 1020 | resolve-from: 4.0.0 1021 | dev: true 1022 | engines: 1023 | node: '>=6' 1024 | resolution: 1025 | integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1026 | /import-from/3.0.0: 1027 | dependencies: 1028 | resolve-from: 5.0.0 1029 | dev: true 1030 | engines: 1031 | node: '>=8' 1032 | resolution: 1033 | integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== 1034 | /indent-string/4.0.0: 1035 | dev: true 1036 | engines: 1037 | node: '>=8' 1038 | resolution: 1039 | integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1040 | /inflight/1.0.6: 1041 | dependencies: 1042 | once: 1.4.0 1043 | wrappy: 1.0.2 1044 | dev: true 1045 | resolution: 1046 | integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1047 | /inherits/2.0.4: 1048 | dev: true 1049 | resolution: 1050 | integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1051 | /ini/1.3.8: 1052 | dev: true 1053 | resolution: 1054 | integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 1055 | /into-stream/6.0.0: 1056 | dependencies: 1057 | from2: 2.3.0 1058 | p-is-promise: 3.0.0 1059 | dev: true 1060 | engines: 1061 | node: '>=10' 1062 | resolution: 1063 | integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== 1064 | /is-arrayish/0.2.1: 1065 | dev: true 1066 | resolution: 1067 | integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1068 | /is-core-module/2.2.0: 1069 | dependencies: 1070 | has: 1.0.3 1071 | dev: true 1072 | resolution: 1073 | integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== 1074 | /is-extglob/2.1.1: 1075 | dev: true 1076 | engines: 1077 | node: '>=0.10.0' 1078 | resolution: 1079 | integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1080 | /is-fullwidth-code-point/3.0.0: 1081 | dev: true 1082 | engines: 1083 | node: '>=8' 1084 | resolution: 1085 | integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1086 | /is-glob/4.0.1: 1087 | dependencies: 1088 | is-extglob: 2.1.1 1089 | dev: true 1090 | engines: 1091 | node: '>=0.10.0' 1092 | resolution: 1093 | integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1094 | /is-number/7.0.0: 1095 | dev: true 1096 | engines: 1097 | node: '>=0.12.0' 1098 | resolution: 1099 | integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1100 | /is-obj/2.0.0: 1101 | dev: true 1102 | engines: 1103 | node: '>=8' 1104 | resolution: 1105 | integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 1106 | /is-path-cwd/2.2.0: 1107 | dev: true 1108 | engines: 1109 | node: '>=6' 1110 | resolution: 1111 | integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== 1112 | /is-path-inside/3.0.3: 1113 | dev: true 1114 | engines: 1115 | node: '>=8' 1116 | resolution: 1117 | integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1118 | /is-plain-obj/1.1.0: 1119 | dev: true 1120 | engines: 1121 | node: '>=0.10.0' 1122 | resolution: 1123 | integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 1124 | /is-plain-object/5.0.0: 1125 | dev: true 1126 | engines: 1127 | node: '>=0.10.0' 1128 | resolution: 1129 | integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== 1130 | /is-stream/2.0.0: 1131 | dev: true 1132 | engines: 1133 | node: '>=8' 1134 | resolution: 1135 | integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 1136 | /is-text-path/1.0.1: 1137 | dependencies: 1138 | text-extensions: 1.9.0 1139 | dev: true 1140 | engines: 1141 | node: '>=0.10.0' 1142 | resolution: 1143 | integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= 1144 | /isarray/1.0.0: 1145 | dev: true 1146 | resolution: 1147 | integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1148 | /isexe/2.0.0: 1149 | dev: true 1150 | resolution: 1151 | integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1152 | /issue-parser/6.0.0: 1153 | dependencies: 1154 | lodash.capitalize: 4.2.1 1155 | lodash.escaperegexp: 4.1.2 1156 | lodash.isplainobject: 4.0.6 1157 | lodash.isstring: 4.0.1 1158 | lodash.uniqby: 4.7.0 1159 | dev: true 1160 | engines: 1161 | node: '>=10.13' 1162 | resolution: 1163 | integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA== 1164 | /java-properties/1.0.2: 1165 | dev: true 1166 | engines: 1167 | node: '>= 0.6.0' 1168 | resolution: 1169 | integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== 1170 | /js-tokens/4.0.0: 1171 | dev: true 1172 | resolution: 1173 | integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1174 | /json-parse-better-errors/1.0.2: 1175 | dev: true 1176 | resolution: 1177 | integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1178 | /json-parse-even-better-errors/2.3.1: 1179 | dev: true 1180 | resolution: 1181 | integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1182 | /json-stringify-safe/5.0.1: 1183 | dev: true 1184 | resolution: 1185 | integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1186 | /jsonfile/6.1.0: 1187 | dependencies: 1188 | universalify: 2.0.0 1189 | dev: true 1190 | optionalDependencies: 1191 | graceful-fs: 4.2.6 1192 | resolution: 1193 | integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 1194 | /jsonparse/1.3.1: 1195 | dev: true 1196 | engines: 1197 | '0': node >= 0.2.0 1198 | resolution: 1199 | integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= 1200 | /kind-of/6.0.3: 1201 | dev: true 1202 | engines: 1203 | node: '>=0.10.0' 1204 | resolution: 1205 | integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1206 | /lines-and-columns/1.1.6: 1207 | dev: true 1208 | resolution: 1209 | integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1210 | /load-json-file/4.0.0: 1211 | dependencies: 1212 | graceful-fs: 4.2.6 1213 | parse-json: 4.0.0 1214 | pify: 3.0.0 1215 | strip-bom: 3.0.0 1216 | dev: true 1217 | engines: 1218 | node: '>=4' 1219 | resolution: 1220 | integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 1221 | /locate-path/2.0.0: 1222 | dependencies: 1223 | p-locate: 2.0.0 1224 | path-exists: 3.0.0 1225 | dev: true 1226 | engines: 1227 | node: '>=4' 1228 | resolution: 1229 | integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 1230 | /locate-path/5.0.0: 1231 | dependencies: 1232 | p-locate: 4.1.0 1233 | dev: true 1234 | engines: 1235 | node: '>=8' 1236 | resolution: 1237 | integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1238 | /lodash.capitalize/4.2.1: 1239 | dev: true 1240 | resolution: 1241 | integrity: sha1-+CbJtOKoUR2E46yinbBeGk87cqk= 1242 | /lodash.escaperegexp/4.1.2: 1243 | dev: true 1244 | resolution: 1245 | integrity: sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= 1246 | /lodash.ismatch/4.4.0: 1247 | dev: true 1248 | resolution: 1249 | integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= 1250 | /lodash.isplainobject/4.0.6: 1251 | dev: true 1252 | resolution: 1253 | integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= 1254 | /lodash.isstring/4.0.1: 1255 | dev: true 1256 | resolution: 1257 | integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= 1258 | /lodash.toarray/4.4.0: 1259 | dev: true 1260 | resolution: 1261 | integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= 1262 | /lodash.uniqby/4.7.0: 1263 | dev: true 1264 | resolution: 1265 | integrity: sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= 1266 | /lodash/4.17.21: 1267 | dev: true 1268 | resolution: 1269 | integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1270 | /lru-cache/6.0.0: 1271 | dependencies: 1272 | yallist: 4.0.0 1273 | dev: true 1274 | engines: 1275 | node: '>=10' 1276 | resolution: 1277 | integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1278 | /map-obj/1.0.1: 1279 | dev: true 1280 | engines: 1281 | node: '>=0.10.0' 1282 | resolution: 1283 | integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 1284 | /map-obj/4.2.0: 1285 | dev: true 1286 | engines: 1287 | node: '>=8' 1288 | resolution: 1289 | integrity: sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ== 1290 | /marked-terminal/4.1.1_marked@2.0.1: 1291 | dependencies: 1292 | ansi-escapes: 4.3.2 1293 | cardinal: 2.1.1 1294 | chalk: 4.1.0 1295 | cli-table: 0.3.6 1296 | marked: 2.0.1 1297 | node-emoji: 1.10.0 1298 | supports-hyperlinks: 2.1.0 1299 | dev: true 1300 | peerDependencies: 1301 | marked: ^1.0.0 || ^2.0.0 1302 | resolution: 1303 | integrity: sha512-t7Mdf6T3PvOEyN01c3tYxDzhyKZ8xnkp8Rs6Fohno63L/0pFTJ5Qtwto2AQVuDtbQiWzD+4E5AAu1Z2iLc8miQ== 1304 | /marked/2.0.1: 1305 | dev: true 1306 | engines: 1307 | node: '>= 8.16.2' 1308 | hasBin: true 1309 | resolution: 1310 | integrity: sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw== 1311 | /meow/8.1.2: 1312 | dependencies: 1313 | '@types/minimist': 1.2.1 1314 | camelcase-keys: 6.2.2 1315 | decamelize-keys: 1.1.0 1316 | hard-rejection: 2.1.0 1317 | minimist-options: 4.1.0 1318 | normalize-package-data: 3.0.2 1319 | read-pkg-up: 7.0.1 1320 | redent: 3.0.0 1321 | trim-newlines: 3.0.0 1322 | type-fest: 0.18.1 1323 | yargs-parser: 20.2.7 1324 | dev: true 1325 | engines: 1326 | node: '>=10' 1327 | resolution: 1328 | integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== 1329 | /merge-stream/2.0.0: 1330 | dev: true 1331 | resolution: 1332 | integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1333 | /merge2/1.4.1: 1334 | dev: true 1335 | engines: 1336 | node: '>= 8' 1337 | resolution: 1338 | integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1339 | /micromatch/4.0.2: 1340 | dependencies: 1341 | braces: 3.0.2 1342 | picomatch: 2.2.2 1343 | dev: true 1344 | engines: 1345 | node: '>=8' 1346 | resolution: 1347 | integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 1348 | /mime/2.5.2: 1349 | dev: true 1350 | engines: 1351 | node: '>=4.0.0' 1352 | hasBin: true 1353 | resolution: 1354 | integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== 1355 | /mimic-fn/2.1.0: 1356 | dev: true 1357 | engines: 1358 | node: '>=6' 1359 | resolution: 1360 | integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1361 | /min-indent/1.0.1: 1362 | dev: true 1363 | engines: 1364 | node: '>=4' 1365 | resolution: 1366 | integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 1367 | /minimatch/3.0.4: 1368 | dependencies: 1369 | brace-expansion: 1.1.11 1370 | dev: true 1371 | resolution: 1372 | integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1373 | /minimist-options/4.1.0: 1374 | dependencies: 1375 | arrify: 1.0.1 1376 | is-plain-obj: 1.1.0 1377 | kind-of: 6.0.3 1378 | dev: true 1379 | engines: 1380 | node: '>= 6' 1381 | resolution: 1382 | integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== 1383 | /minimist/1.2.5: 1384 | dev: true 1385 | resolution: 1386 | integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1387 | /modify-values/1.0.1: 1388 | dev: true 1389 | engines: 1390 | node: '>=0.10.0' 1391 | resolution: 1392 | integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== 1393 | /ms/2.1.2: 1394 | dev: true 1395 | resolution: 1396 | integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1397 | /neo-async/2.6.2: 1398 | dev: true 1399 | resolution: 1400 | integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1401 | /nerf-dart/1.0.0: 1402 | dev: true 1403 | resolution: 1404 | integrity: sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo= 1405 | /node-emoji/1.10.0: 1406 | dependencies: 1407 | lodash.toarray: 4.4.0 1408 | dev: true 1409 | resolution: 1410 | integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== 1411 | /node-fetch/2.6.1: 1412 | dev: true 1413 | engines: 1414 | node: 4.x || >=6.0.0 1415 | resolution: 1416 | integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1417 | /normalize-package-data/2.5.0: 1418 | dependencies: 1419 | hosted-git-info: 2.8.8 1420 | resolve: 1.20.0 1421 | semver: 5.7.1 1422 | validate-npm-package-license: 3.0.4 1423 | dev: true 1424 | resolution: 1425 | integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 1426 | /normalize-package-data/3.0.2: 1427 | dependencies: 1428 | hosted-git-info: 4.0.2 1429 | resolve: 1.20.0 1430 | semver: 7.3.5 1431 | validate-npm-package-license: 3.0.4 1432 | dev: true 1433 | engines: 1434 | node: '>=10' 1435 | resolution: 1436 | integrity: sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== 1437 | /normalize-url/5.3.0: 1438 | dev: true 1439 | engines: 1440 | node: '>=10' 1441 | resolution: 1442 | integrity: sha512-9/nOVLYYe/dO/eJeQUNaGUF4m4Z5E7cb9oNTKabH+bNf19mqj60txTcveQxL0GlcWLXCxkOu2/LwL8oW0idIDA== 1443 | /npm-run-path/4.0.1: 1444 | dependencies: 1445 | path-key: 3.1.1 1446 | dev: true 1447 | engines: 1448 | node: '>=8' 1449 | resolution: 1450 | integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 1451 | /npm/7.7.6: 1452 | bundledDependencies: 1453 | - '@npmcli/arborist' 1454 | - '@npmcli/ci-detect' 1455 | - '@npmcli/config' 1456 | - '@npmcli/run-script' 1457 | - abbrev 1458 | - ansicolors 1459 | - ansistyles 1460 | - archy 1461 | - byte-size 1462 | - cacache 1463 | - chalk 1464 | - chownr 1465 | - cli-columns 1466 | - cli-table3 1467 | - columnify 1468 | - glob 1469 | - graceful-fs 1470 | - hosted-git-info 1471 | - ini 1472 | - init-package-json 1473 | - is-cidr 1474 | - json-parse-even-better-errors 1475 | - leven 1476 | - libnpmaccess 1477 | - libnpmdiff 1478 | - libnpmfund 1479 | - libnpmhook 1480 | - libnpmorg 1481 | - libnpmpack 1482 | - libnpmpublish 1483 | - libnpmsearch 1484 | - libnpmteam 1485 | - libnpmversion 1486 | - make-fetch-happen 1487 | - minipass 1488 | - minipass-pipeline 1489 | - mkdirp 1490 | - mkdirp-infer-owner 1491 | - ms 1492 | - node-gyp 1493 | - nopt 1494 | - npm-audit-report 1495 | - npm-package-arg 1496 | - npm-pick-manifest 1497 | - npm-profile 1498 | - npm-registry-fetch 1499 | - npm-user-validate 1500 | - npmlog 1501 | - opener 1502 | - pacote 1503 | - parse-conflict-json 1504 | - qrcode-terminal 1505 | - read 1506 | - read-package-json 1507 | - read-package-json-fast 1508 | - readdir-scoped-modules 1509 | - rimraf 1510 | - semver 1511 | - ssri 1512 | - tar 1513 | - text-table 1514 | - tiny-relative-date 1515 | - treeverse 1516 | - validate-npm-package-name 1517 | - which 1518 | - write-file-atomic 1519 | dev: true 1520 | engines: 1521 | node: '>=10' 1522 | hasBin: true 1523 | resolution: 1524 | integrity: sha512-4dOo2M/SRzRNWH1e0tmcJMFkDjHJKsJQlxpi3OgJ/N/BsIvbdQFFMioG0vmuFVAev7P2f/rShApb18jk5RpdXA== 1525 | /once/1.4.0: 1526 | dependencies: 1527 | wrappy: 1.0.2 1528 | dev: true 1529 | resolution: 1530 | integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1531 | /onetime/5.1.2: 1532 | dependencies: 1533 | mimic-fn: 2.1.0 1534 | dev: true 1535 | engines: 1536 | node: '>=6' 1537 | resolution: 1538 | integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1539 | /p-each-series/2.2.0: 1540 | dev: true 1541 | engines: 1542 | node: '>=8' 1543 | resolution: 1544 | integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== 1545 | /p-filter/2.1.0: 1546 | dependencies: 1547 | p-map: 2.1.0 1548 | dev: true 1549 | engines: 1550 | node: '>=8' 1551 | resolution: 1552 | integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== 1553 | /p-is-promise/3.0.0: 1554 | dev: true 1555 | engines: 1556 | node: '>=8' 1557 | resolution: 1558 | integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== 1559 | /p-limit/1.3.0: 1560 | dependencies: 1561 | p-try: 1.0.0 1562 | dev: true 1563 | engines: 1564 | node: '>=4' 1565 | resolution: 1566 | integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 1567 | /p-limit/2.3.0: 1568 | dependencies: 1569 | p-try: 2.2.0 1570 | dev: true 1571 | engines: 1572 | node: '>=6' 1573 | resolution: 1574 | integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1575 | /p-locate/2.0.0: 1576 | dependencies: 1577 | p-limit: 1.3.0 1578 | dev: true 1579 | engines: 1580 | node: '>=4' 1581 | resolution: 1582 | integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 1583 | /p-locate/4.1.0: 1584 | dependencies: 1585 | p-limit: 2.3.0 1586 | dev: true 1587 | engines: 1588 | node: '>=8' 1589 | resolution: 1590 | integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1591 | /p-map/2.1.0: 1592 | dev: true 1593 | engines: 1594 | node: '>=6' 1595 | resolution: 1596 | integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== 1597 | /p-map/4.0.0: 1598 | dependencies: 1599 | aggregate-error: 3.1.0 1600 | dev: true 1601 | engines: 1602 | node: '>=10' 1603 | resolution: 1604 | integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 1605 | /p-reduce/2.1.0: 1606 | dev: true 1607 | engines: 1608 | node: '>=8' 1609 | resolution: 1610 | integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== 1611 | /p-retry/4.5.0: 1612 | dependencies: 1613 | '@types/retry': 0.12.0 1614 | retry: 0.12.0 1615 | dev: true 1616 | engines: 1617 | node: '>=8' 1618 | resolution: 1619 | integrity: sha512-5Hwh4aVQSu6BEP+w2zKlVXtFAaYQe1qWuVADSgoeVlLjwe/Q/AMSoRR4MDeaAfu8llT+YNbEijWu/YF3m6avkg== 1620 | /p-try/1.0.0: 1621 | dev: true 1622 | engines: 1623 | node: '>=4' 1624 | resolution: 1625 | integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 1626 | /p-try/2.2.0: 1627 | dev: true 1628 | engines: 1629 | node: '>=6' 1630 | resolution: 1631 | integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1632 | /parent-module/1.0.1: 1633 | dependencies: 1634 | callsites: 3.1.0 1635 | dev: true 1636 | engines: 1637 | node: '>=6' 1638 | resolution: 1639 | integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1640 | /parse-json/4.0.0: 1641 | dependencies: 1642 | error-ex: 1.3.2 1643 | json-parse-better-errors: 1.0.2 1644 | dev: true 1645 | engines: 1646 | node: '>=4' 1647 | resolution: 1648 | integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 1649 | /parse-json/5.2.0: 1650 | dependencies: 1651 | '@babel/code-frame': 7.12.13 1652 | error-ex: 1.3.2 1653 | json-parse-even-better-errors: 2.3.1 1654 | lines-and-columns: 1.1.6 1655 | dev: true 1656 | engines: 1657 | node: '>=8' 1658 | resolution: 1659 | integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1660 | /path-exists/3.0.0: 1661 | dev: true 1662 | engines: 1663 | node: '>=4' 1664 | resolution: 1665 | integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1666 | /path-exists/4.0.0: 1667 | dev: true 1668 | engines: 1669 | node: '>=8' 1670 | resolution: 1671 | integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1672 | /path-is-absolute/1.0.1: 1673 | dev: true 1674 | engines: 1675 | node: '>=0.10.0' 1676 | resolution: 1677 | integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1678 | /path-key/3.1.1: 1679 | dev: true 1680 | engines: 1681 | node: '>=8' 1682 | resolution: 1683 | integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1684 | /path-parse/1.0.6: 1685 | dev: true 1686 | resolution: 1687 | integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1688 | /path-type/4.0.0: 1689 | dev: true 1690 | engines: 1691 | node: '>=8' 1692 | resolution: 1693 | integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1694 | /picomatch/2.2.2: 1695 | dev: true 1696 | engines: 1697 | node: '>=8.6' 1698 | resolution: 1699 | integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 1700 | /pify/3.0.0: 1701 | dev: true 1702 | engines: 1703 | node: '>=4' 1704 | resolution: 1705 | integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 1706 | /pkg-conf/2.1.0: 1707 | dependencies: 1708 | find-up: 2.1.0 1709 | load-json-file: 4.0.0 1710 | dev: true 1711 | engines: 1712 | node: '>=4' 1713 | resolution: 1714 | integrity: sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= 1715 | /process-nextick-args/2.0.1: 1716 | dev: true 1717 | resolution: 1718 | integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1719 | /pump/3.0.0: 1720 | dependencies: 1721 | end-of-stream: 1.4.4 1722 | once: 1.4.0 1723 | dev: true 1724 | resolution: 1725 | integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1726 | /q/1.5.1: 1727 | dev: true 1728 | engines: 1729 | node: '>=0.6.0' 1730 | teleport: '>=0.2.0' 1731 | resolution: 1732 | integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= 1733 | /queue-microtask/1.2.3: 1734 | dev: true 1735 | resolution: 1736 | integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1737 | /quick-lru/4.0.1: 1738 | dev: true 1739 | engines: 1740 | node: '>=8' 1741 | resolution: 1742 | integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== 1743 | /rc/1.2.8: 1744 | dependencies: 1745 | deep-extend: 0.6.0 1746 | ini: 1.3.8 1747 | minimist: 1.2.5 1748 | strip-json-comments: 2.0.1 1749 | dev: true 1750 | hasBin: true 1751 | resolution: 1752 | integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 1753 | /read-pkg-up/7.0.1: 1754 | dependencies: 1755 | find-up: 4.1.0 1756 | read-pkg: 5.2.0 1757 | type-fest: 0.8.1 1758 | dev: true 1759 | engines: 1760 | node: '>=8' 1761 | resolution: 1762 | integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 1763 | /read-pkg/5.2.0: 1764 | dependencies: 1765 | '@types/normalize-package-data': 2.4.0 1766 | normalize-package-data: 2.5.0 1767 | parse-json: 5.2.0 1768 | type-fest: 0.6.0 1769 | dev: true 1770 | engines: 1771 | node: '>=8' 1772 | resolution: 1773 | integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 1774 | /readable-stream/2.3.7: 1775 | dependencies: 1776 | core-util-is: 1.0.2 1777 | inherits: 2.0.4 1778 | isarray: 1.0.0 1779 | process-nextick-args: 2.0.1 1780 | safe-buffer: 5.1.2 1781 | string_decoder: 1.1.1 1782 | util-deprecate: 1.0.2 1783 | dev: true 1784 | resolution: 1785 | integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1786 | /readable-stream/3.6.0: 1787 | dependencies: 1788 | inherits: 2.0.4 1789 | string_decoder: 1.3.0 1790 | util-deprecate: 1.0.2 1791 | dev: true 1792 | engines: 1793 | node: '>= 6' 1794 | resolution: 1795 | integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1796 | /redent/3.0.0: 1797 | dependencies: 1798 | indent-string: 4.0.0 1799 | strip-indent: 3.0.0 1800 | dev: true 1801 | engines: 1802 | node: '>=8' 1803 | resolution: 1804 | integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 1805 | /redeyed/2.1.1: 1806 | dependencies: 1807 | esprima: 4.0.1 1808 | dev: true 1809 | resolution: 1810 | integrity: sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= 1811 | /registry-auth-token/4.2.1: 1812 | dependencies: 1813 | rc: 1.2.8 1814 | dev: true 1815 | engines: 1816 | node: '>=6.0.0' 1817 | resolution: 1818 | integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== 1819 | /require-directory/2.1.1: 1820 | dev: true 1821 | engines: 1822 | node: '>=0.10.0' 1823 | resolution: 1824 | integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1825 | /resolve-from/4.0.0: 1826 | dev: true 1827 | engines: 1828 | node: '>=4' 1829 | resolution: 1830 | integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1831 | /resolve-from/5.0.0: 1832 | dev: true 1833 | engines: 1834 | node: '>=8' 1835 | resolution: 1836 | integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1837 | /resolve/1.20.0: 1838 | dependencies: 1839 | is-core-module: 2.2.0 1840 | path-parse: 1.0.6 1841 | dev: true 1842 | resolution: 1843 | integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1844 | /retry/0.12.0: 1845 | dev: true 1846 | engines: 1847 | node: '>= 4' 1848 | resolution: 1849 | integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= 1850 | /reusify/1.0.4: 1851 | dev: true 1852 | engines: 1853 | iojs: '>=1.0.0' 1854 | node: '>=0.10.0' 1855 | resolution: 1856 | integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1857 | /rimraf/3.0.2: 1858 | dependencies: 1859 | glob: 7.1.6 1860 | dev: true 1861 | hasBin: true 1862 | resolution: 1863 | integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1864 | /run-parallel/1.2.0: 1865 | dependencies: 1866 | queue-microtask: 1.2.3 1867 | dev: true 1868 | resolution: 1869 | integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1870 | /safe-buffer/5.1.2: 1871 | dev: true 1872 | resolution: 1873 | integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1874 | /safe-buffer/5.2.1: 1875 | dev: true 1876 | resolution: 1877 | integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1878 | /semantic-release/17.4.2_semantic-release@17.4.2: 1879 | dependencies: 1880 | '@semantic-release/commit-analyzer': 8.0.1_semantic-release@17.4.2 1881 | '@semantic-release/error': 2.2.0 1882 | '@semantic-release/github': 7.2.0_semantic-release@17.4.2 1883 | '@semantic-release/npm': 7.1.0_semantic-release@17.4.2 1884 | '@semantic-release/release-notes-generator': 9.0.2_semantic-release@17.4.2 1885 | aggregate-error: 3.1.0 1886 | cosmiconfig: 7.0.0 1887 | debug: 4.3.1 1888 | env-ci: 5.0.2 1889 | execa: 5.0.0 1890 | figures: 3.2.0 1891 | find-versions: 4.0.0 1892 | get-stream: 6.0.0 1893 | git-log-parser: 1.2.0 1894 | hook-std: 2.0.0 1895 | hosted-git-info: 4.0.2 1896 | lodash: 4.17.21 1897 | marked: 2.0.1 1898 | marked-terminal: 4.1.1_marked@2.0.1 1899 | micromatch: 4.0.2 1900 | p-each-series: 2.2.0 1901 | p-reduce: 2.1.0 1902 | read-pkg-up: 7.0.1 1903 | resolve-from: 5.0.0 1904 | semver: 7.3.5 1905 | semver-diff: 3.1.1 1906 | signale: 1.4.0 1907 | yargs: 16.2.0 1908 | dev: true 1909 | engines: 1910 | node: '>=10.18' 1911 | hasBin: true 1912 | peerDependencies: 1913 | semantic-release: '*' 1914 | resolution: 1915 | integrity: sha512-TPLWuoe2L2DmgnQEh+OLWW5V1T+ZAa1xWuHXsuPAWEko0BqSdLPl+5+BlQ+D5Bp27S5gDJ1//Y1tgbmvUhnOCw== 1916 | /semver-diff/3.1.1: 1917 | dependencies: 1918 | semver: 6.3.0 1919 | dev: true 1920 | engines: 1921 | node: '>=8' 1922 | resolution: 1923 | integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== 1924 | /semver-regex/3.1.2: 1925 | dev: true 1926 | engines: 1927 | node: '>=8' 1928 | resolution: 1929 | integrity: sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== 1930 | /semver/5.7.1: 1931 | dev: true 1932 | hasBin: true 1933 | resolution: 1934 | integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1935 | /semver/6.3.0: 1936 | dev: true 1937 | hasBin: true 1938 | resolution: 1939 | integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1940 | /semver/7.3.5: 1941 | dependencies: 1942 | lru-cache: 6.0.0 1943 | dev: true 1944 | engines: 1945 | node: '>=10' 1946 | hasBin: true 1947 | resolution: 1948 | integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1949 | /shebang-command/2.0.0: 1950 | dependencies: 1951 | shebang-regex: 3.0.0 1952 | dev: true 1953 | engines: 1954 | node: '>=8' 1955 | resolution: 1956 | integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1957 | /shebang-regex/3.0.0: 1958 | dev: true 1959 | engines: 1960 | node: '>=8' 1961 | resolution: 1962 | integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1963 | /signal-exit/3.0.3: 1964 | dev: true 1965 | resolution: 1966 | integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1967 | /signale/1.4.0: 1968 | dependencies: 1969 | chalk: 2.4.2 1970 | figures: 2.0.0 1971 | pkg-conf: 2.1.0 1972 | dev: true 1973 | engines: 1974 | node: '>=6' 1975 | resolution: 1976 | integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== 1977 | /slash/3.0.0: 1978 | dev: true 1979 | engines: 1980 | node: '>=8' 1981 | resolution: 1982 | integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1983 | /source-map/0.6.1: 1984 | dev: true 1985 | engines: 1986 | node: '>=0.10.0' 1987 | resolution: 1988 | integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1989 | /spawn-error-forwarder/1.0.0: 1990 | dev: true 1991 | resolution: 1992 | integrity: sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk= 1993 | /spdx-correct/3.1.1: 1994 | dependencies: 1995 | spdx-expression-parse: 3.0.1 1996 | spdx-license-ids: 3.0.7 1997 | dev: true 1998 | resolution: 1999 | integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 2000 | /spdx-exceptions/2.3.0: 2001 | dev: true 2002 | resolution: 2003 | integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 2004 | /spdx-expression-parse/3.0.1: 2005 | dependencies: 2006 | spdx-exceptions: 2.3.0 2007 | spdx-license-ids: 3.0.7 2008 | dev: true 2009 | resolution: 2010 | integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 2011 | /spdx-license-ids/3.0.7: 2012 | dev: true 2013 | resolution: 2014 | integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== 2015 | /split/1.0.1: 2016 | dependencies: 2017 | through: 2.3.8 2018 | dev: true 2019 | resolution: 2020 | integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== 2021 | /split2/1.0.0: 2022 | dependencies: 2023 | through2: 2.0.5 2024 | dev: true 2025 | resolution: 2026 | integrity: sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ= 2027 | /split2/3.2.2: 2028 | dependencies: 2029 | readable-stream: 3.6.0 2030 | dev: true 2031 | resolution: 2032 | integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== 2033 | /stream-combiner2/1.1.1: 2034 | dependencies: 2035 | duplexer2: 0.1.4 2036 | readable-stream: 2.3.7 2037 | dev: true 2038 | resolution: 2039 | integrity: sha1-+02KFCDqNidk4hrUeAOXvry0HL4= 2040 | /string-width/4.2.2: 2041 | dependencies: 2042 | emoji-regex: 8.0.0 2043 | is-fullwidth-code-point: 3.0.0 2044 | strip-ansi: 6.0.0 2045 | dev: true 2046 | engines: 2047 | node: '>=8' 2048 | resolution: 2049 | integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 2050 | /string_decoder/1.1.1: 2051 | dependencies: 2052 | safe-buffer: 5.1.2 2053 | dev: true 2054 | resolution: 2055 | integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 2056 | /string_decoder/1.3.0: 2057 | dependencies: 2058 | safe-buffer: 5.2.1 2059 | dev: true 2060 | resolution: 2061 | integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 2062 | /strip-ansi/6.0.0: 2063 | dependencies: 2064 | ansi-regex: 5.0.0 2065 | dev: true 2066 | engines: 2067 | node: '>=8' 2068 | resolution: 2069 | integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 2070 | /strip-bom/3.0.0: 2071 | dev: true 2072 | engines: 2073 | node: '>=4' 2074 | resolution: 2075 | integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 2076 | /strip-final-newline/2.0.0: 2077 | dev: true 2078 | engines: 2079 | node: '>=6' 2080 | resolution: 2081 | integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2082 | /strip-indent/3.0.0: 2083 | dependencies: 2084 | min-indent: 1.0.1 2085 | dev: true 2086 | engines: 2087 | node: '>=8' 2088 | resolution: 2089 | integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 2090 | /strip-json-comments/2.0.1: 2091 | dev: true 2092 | engines: 2093 | node: '>=0.10.0' 2094 | resolution: 2095 | integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= 2096 | /supports-color/5.5.0: 2097 | dependencies: 2098 | has-flag: 3.0.0 2099 | dev: true 2100 | engines: 2101 | node: '>=4' 2102 | resolution: 2103 | integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2104 | /supports-color/7.2.0: 2105 | dependencies: 2106 | has-flag: 4.0.0 2107 | dev: true 2108 | engines: 2109 | node: '>=8' 2110 | resolution: 2111 | integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2112 | /supports-hyperlinks/2.1.0: 2113 | dependencies: 2114 | has-flag: 4.0.0 2115 | supports-color: 7.2.0 2116 | dev: true 2117 | engines: 2118 | node: '>=8' 2119 | resolution: 2120 | integrity: sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== 2121 | /temp-dir/2.0.0: 2122 | dev: true 2123 | engines: 2124 | node: '>=8' 2125 | resolution: 2126 | integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== 2127 | /tempy/1.0.1: 2128 | dependencies: 2129 | del: 6.0.0 2130 | is-stream: 2.0.0 2131 | temp-dir: 2.0.0 2132 | type-fest: 0.16.0 2133 | unique-string: 2.0.0 2134 | dev: true 2135 | engines: 2136 | node: '>=10' 2137 | resolution: 2138 | integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== 2139 | /text-extensions/1.9.0: 2140 | dev: true 2141 | engines: 2142 | node: '>=0.10' 2143 | resolution: 2144 | integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== 2145 | /through/2.3.8: 2146 | dev: true 2147 | resolution: 2148 | integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 2149 | /through2/2.0.5: 2150 | dependencies: 2151 | readable-stream: 2.3.7 2152 | xtend: 4.0.2 2153 | dev: true 2154 | resolution: 2155 | integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 2156 | /through2/4.0.2: 2157 | dependencies: 2158 | readable-stream: 3.6.0 2159 | dev: true 2160 | resolution: 2161 | integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== 2162 | /to-regex-range/5.0.1: 2163 | dependencies: 2164 | is-number: 7.0.0 2165 | dev: true 2166 | engines: 2167 | node: '>=8.0' 2168 | resolution: 2169 | integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2170 | /traverse/0.6.6: 2171 | dev: true 2172 | resolution: 2173 | integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= 2174 | /trim-newlines/3.0.0: 2175 | dev: true 2176 | engines: 2177 | node: '>=8' 2178 | resolution: 2179 | integrity: sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== 2180 | /trim-off-newlines/1.0.1: 2181 | dev: true 2182 | engines: 2183 | node: '>=0.10.0' 2184 | resolution: 2185 | integrity: sha1-n5up2e+odkw4dpi8v+sshI8RrbM= 2186 | /type-fest/0.16.0: 2187 | dev: true 2188 | engines: 2189 | node: '>=10' 2190 | resolution: 2191 | integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== 2192 | /type-fest/0.18.1: 2193 | dev: true 2194 | engines: 2195 | node: '>=10' 2196 | resolution: 2197 | integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== 2198 | /type-fest/0.21.3: 2199 | dev: true 2200 | engines: 2201 | node: '>=10' 2202 | resolution: 2203 | integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2204 | /type-fest/0.6.0: 2205 | dev: true 2206 | engines: 2207 | node: '>=8' 2208 | resolution: 2209 | integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 2210 | /type-fest/0.8.1: 2211 | dev: true 2212 | engines: 2213 | node: '>=8' 2214 | resolution: 2215 | integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 2216 | /uglify-js/3.13.3: 2217 | dev: true 2218 | engines: 2219 | node: '>=0.8.0' 2220 | hasBin: true 2221 | optional: true 2222 | resolution: 2223 | integrity: sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig== 2224 | /unique-string/2.0.0: 2225 | dependencies: 2226 | crypto-random-string: 2.0.0 2227 | dev: true 2228 | engines: 2229 | node: '>=8' 2230 | resolution: 2231 | integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 2232 | /universal-user-agent/6.0.0: 2233 | dev: true 2234 | resolution: 2235 | integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== 2236 | /universalify/2.0.0: 2237 | dev: true 2238 | engines: 2239 | node: '>= 10.0.0' 2240 | resolution: 2241 | integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 2242 | /url-join/4.0.1: 2243 | dev: true 2244 | resolution: 2245 | integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== 2246 | /util-deprecate/1.0.2: 2247 | dev: true 2248 | resolution: 2249 | integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2250 | /validate-npm-package-license/3.0.4: 2251 | dependencies: 2252 | spdx-correct: 3.1.1 2253 | spdx-expression-parse: 3.0.1 2254 | dev: true 2255 | resolution: 2256 | integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2257 | /which/2.0.2: 2258 | dependencies: 2259 | isexe: 2.0.0 2260 | dev: true 2261 | engines: 2262 | node: '>= 8' 2263 | hasBin: true 2264 | resolution: 2265 | integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2266 | /wordwrap/1.0.0: 2267 | dev: true 2268 | resolution: 2269 | integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 2270 | /wrap-ansi/7.0.0: 2271 | dependencies: 2272 | ansi-styles: 4.3.0 2273 | string-width: 4.2.2 2274 | strip-ansi: 6.0.0 2275 | dev: true 2276 | engines: 2277 | node: '>=10' 2278 | resolution: 2279 | integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2280 | /wrappy/1.0.2: 2281 | dev: true 2282 | resolution: 2283 | integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2284 | /xtend/4.0.2: 2285 | dev: true 2286 | engines: 2287 | node: '>=0.4' 2288 | resolution: 2289 | integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2290 | /y18n/5.0.5: 2291 | dev: true 2292 | engines: 2293 | node: '>=10' 2294 | resolution: 2295 | integrity: sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== 2296 | /yallist/4.0.0: 2297 | dev: true 2298 | resolution: 2299 | integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2300 | /yaml/1.10.2: 2301 | dev: true 2302 | engines: 2303 | node: '>= 6' 2304 | resolution: 2305 | integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2306 | /yargs-parser/20.2.7: 2307 | dev: true 2308 | engines: 2309 | node: '>=10' 2310 | resolution: 2311 | integrity: sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== 2312 | /yargs/16.2.0: 2313 | dependencies: 2314 | cliui: 7.0.4 2315 | escalade: 3.1.1 2316 | get-caller-file: 2.0.5 2317 | require-directory: 2.1.1 2318 | string-width: 4.2.2 2319 | y18n: 5.0.5 2320 | yargs-parser: 20.2.7 2321 | dev: true 2322 | engines: 2323 | node: '>=10' 2324 | resolution: 2325 | integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2326 | specifiers: 2327 | '@semantic-release/changelog': ^5.0.1 2328 | '@semantic-release/git': ^9.0.0 2329 | esbuild: ^0.12.1 2330 | semantic-release: ^17.1.1 2331 | -------------------------------------------------------------------------------- /spago.dhall: -------------------------------------------------------------------------------- 1 | let upstream = 2 | https://github.com/purescript/package-sets/releases/download/psc-0.14.0-20210409/packages.dhall sha256:e81c2f2ce790c0e0d79869d22f7a37d16caeb5bd81cfda71d46c58f6199fd33f 3 | 4 | let additions = 5 | { language-cst-parser = 6 | { repo = 7 | "https://github.com/natefaubion/purescript-language-cst-parser/" 8 | , version = "v0.7.1" 9 | , dependencies = 10 | [ "arrays" 11 | , "console" 12 | , "const" 13 | , "debug" 14 | , "effect" 15 | , "either" 16 | , "filterable" 17 | , "foldable-traversable" 18 | , "free" 19 | , "functors" 20 | , "maybe" 21 | , "numbers" 22 | , "psci-support" 23 | , "strings" 24 | , "transformers" 25 | , "tuples" 26 | , "typelevel-prelude" 27 | ] 28 | } 29 | } 30 | 31 | in { name = "esbuild-plugin-purescript" 32 | , dependencies = 33 | [ "language-cst-parser", "psci-support", "prelude", "either" ] 34 | , packages = upstream // additions 35 | , sources = [ "src/**/*.purs" ] 36 | } 37 | -------------------------------------------------------------------------------- /src/Main.purs: -------------------------------------------------------------------------------- 1 | module Main 2 | ( module Data.Either 3 | , module PureScript.CST.Errors 4 | , getModuleName ) where 5 | 6 | import Prelude 7 | 8 | import Data.Either (Either(..), either) 9 | import PureScript.CST (PartialModule(..), RecoveredParserResult(..), parsePartialModule) 10 | import PureScript.CST.Errors (printParseError) 11 | import PureScript.CST.Parser.Monad (PositionedError) 12 | import PureScript.CST.Types (ModuleHeader(..), ModuleName(..), Name(..)) 13 | 14 | getModuleName :: String -> Either PositionedError String 15 | getModuleName = parsePartialModule >>> case _ of 16 | ParseSucceeded cst -> Right $ go cst 17 | ParseSucceededWithErrors cst errors -> Right $ go cst 18 | ParseFailed error -> Left error 19 | where 20 | go :: forall a. PartialModule a -> String 21 | go (PartialModule { header: ModuleHeader { name: Name { name: ModuleName name }}}) = name 22 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const fs = require("fs"); 3 | const util = require("util"); 4 | const purs = require("../output/Main"); 5 | const { exec } = require("child_process"); 6 | 7 | const readFile = (fileName) => util.promisify(fs.readFile)(fileName, "utf8"); 8 | 9 | const namespace = "purescript"; 10 | const fileFilter = /\.purs$/; 11 | 12 | const toBuildError = (error) => { 13 | if (error.fromPurs) 14 | // TODO: add location data 15 | return { 16 | text: `Couldn't find module name for module ${path.relative( 17 | process.cwd(), 18 | error.file 19 | )}`, 20 | detail: purs.printParseError(error.error.error), 21 | }; 22 | 23 | return { text: error ? error.message : error }; 24 | }; 25 | 26 | const getModuleName = async (pursFile) => { 27 | const text = await readFile(pursFile); 28 | 29 | const moduleName = purs.getModuleName(text); 30 | 31 | const result = purs.either((error) => { 32 | throw { fromPurs: true, error, file: pursFile }; 33 | })((name) => name)(moduleName); 34 | 35 | return result; 36 | }; 37 | 38 | const moduleDependencies = async (name, sources) => 39 | new Promise((resolve, reject) => { 40 | const withSources = (sources) => { 41 | const command = `purs graph ${sources 42 | .split("\n") 43 | .map((source) => source.trim()) 44 | .filter((source) => source.length) 45 | .map((source) => `'${source}'`) 46 | .join(" ")}`; 47 | 48 | exec(command, (error, stdout, stderr) => { 49 | if (error) { 50 | console.error(String(error)); 51 | return resolve([]); 52 | } else if (stderr) { 53 | console.error(stderr); 54 | return resolve([]); 55 | } 56 | try { 57 | const graph = JSON.parse(stdout); 58 | 59 | const visited = {} 60 | 61 | const go = function* (name) { 62 | if (!graph[name]) 63 | return reject(`No module ${name} in dependency graph`); 64 | 65 | yield name; 66 | 67 | const hasBeenVisited = name in visited; 68 | visited[name] = true; 69 | const dependencies = graph[name].depends; 70 | 71 | if (!hasBeenVisited) { 72 | for (const dependency of dependencies) { 73 | yield* go(dependency); 74 | } 75 | } 76 | }; 77 | 78 | resolve([...new Set(go(name))]); 79 | } catch (e) { 80 | return reject(e); 81 | } 82 | }); 83 | }; 84 | 85 | if (sources === null) 86 | exec("spago sources", (error, stdout, stderr) => { 87 | if (error) reject(error); 88 | else if (stderr) reject(stderr); 89 | else withSources(stdout); 90 | }); 91 | else withSources(sources); 92 | }); 93 | 94 | module.exports = ({ 95 | output = `${process.cwd()}/output`, 96 | sources = null, 97 | } = {}) => ({ 98 | name: "purescript", 99 | setup(build) { 100 | build.onResolve({ filter: fileFilter }, (args) => ({ 101 | path: path.join(args.resolveDir, args.path), 102 | namespace, 103 | watchDirs: [output], 104 | })); 105 | 106 | build.onLoad({ filter: /.*/, namespace }, async (args) => { 107 | try { 108 | const moduleName = await getModuleName(args.path); 109 | const dependencies = await moduleDependencies(moduleName, sources); 110 | 111 | const compiledPath = path.resolve(output, moduleName, "index.js"); 112 | 113 | return { 114 | contents: await readFile(compiledPath), 115 | resolveDir: path.resolve(output, moduleName), 116 | watchDirs: [output], 117 | watchFiles: dependencies.flatMap((dependency) => [ 118 | path.resolve(output, dependency, "index.js"), 119 | path.resolve(output, dependency, "foreign.js"), 120 | ]), 121 | }; 122 | } catch (e) { 123 | return { errors: [toBuildError(e)] }; 124 | } 125 | }); 126 | }, 127 | }); 128 | -------------------------------------------------------------------------------- /zephyr-example/.gitignore: -------------------------------------------------------------------------------- 1 | /bower_components/ 2 | /node_modules/ 3 | /.pulp-cache/ 4 | /output/ 5 | /generated-docs/ 6 | /.psc-package/ 7 | /.psc* 8 | /.purs* 9 | /.psa* 10 | /.spago 11 | 12 | dist 13 | dce-output -------------------------------------------------------------------------------- /zephyr-example/build.js: -------------------------------------------------------------------------------- 1 | const esbuild = require("esbuild"); 2 | const PureScriptPlugin = require("../index"); // require('esbuild-plugin-purescript') 3 | const path = require("path"); 4 | 5 | const isProd = process.env.NODE_ENV === "production"; 6 | 7 | esbuild 8 | .build({ 9 | entryPoints: ["src/index.js"], 10 | bundle: true, 11 | outdir: "dist", 12 | plugins: [ 13 | PureScriptPlugin({ 14 | output: isProd ? path.resolve(__dirname, "dce-output") : undefined, 15 | }), 16 | ], 17 | }) 18 | .catch((_e) => process.exit(1)); 19 | -------------------------------------------------------------------------------- /zephyr-example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zephyr-example", 3 | "main": "src/index.js", 4 | "scripts": { 5 | "bundle":"spago build --purs-args '--codegen corefn' && zephyr -f Main && NODE_ENV=production node ./build.js" 6 | }, 7 | "dependencies": { 8 | "esbuild": "^0.11.1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /zephyr-example/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | esbuild: 0.11.1 3 | lockfileVersion: 5.1 4 | packages: 5 | /esbuild/0.11.1: 6 | dev: false 7 | hasBin: true 8 | requiresBuild: true 9 | resolution: 10 | integrity: sha512-aqhODgreee+PW3vFG96/jtVgzGYqDoUncOk2XEwEquJH/NrfvPtigqkth1QSAMrv/44Z/7pKxmcL6RTJm2L3Og== 11 | specifiers: 12 | esbuild: ^0.11.1 13 | -------------------------------------------------------------------------------- /zephyr-example/spago.dhall: -------------------------------------------------------------------------------- 1 | let upstream = 2 | https://github.com/purescript/package-sets/releases/download/psc-0.14.0-20210329/packages.dhall sha256:32c90bbcd8c1018126be586097f05266b391f6aea9125cf10fba2292cb2b8c73 3 | 4 | in { name = "esbuild-zephyr-example" 5 | , dependencies = [ "console", "effect", "psci-support" ] 6 | , sources = [ "src/**/*.purs" ] 7 | , packages = upstream 8 | } 9 | -------------------------------------------------------------------------------- /zephyr-example/src/Main.purs: -------------------------------------------------------------------------------- 1 | module Main where 2 | 3 | import Prelude 4 | 5 | import Effect (Effect) 6 | import Effect.Console (log) 7 | 8 | main :: Effect Unit 9 | main = do 10 | log "🍝" 11 | -------------------------------------------------------------------------------- /zephyr-example/src/index.js: -------------------------------------------------------------------------------- 1 | import { main } from "./Main.purs"; 2 | import { log } from "../.spago/console/v5.0.0/src/Effect/Console.purs"; 3 | 4 | log("Loaded purescript")(); 5 | main(); 6 | --------------------------------------------------------------------------------