From f32f52cad4605468660564415926482740234c11 Mon Sep 17 00:00:00 2001 From: Tomasz Bazelczuk Date: Thu, 24 Mar 2022 16:36:47 +0100 Subject: [PATCH] fix: windows args (#61) --- .github/workflows/validate-code.yml | 5 +- examples/advanced/.kopytkorc | 12 +- .../{manifest.js => manifest/default.js} | 2 +- examples/advanced/manifest/dev.js | 1 + examples/advanced/manifest/test.js | 1 + examples/advanced/package-lock.json | 22 +- examples/advanced/package.json | 6 +- examples/basic/manifest.js | 2 +- examples/basic/package-lock.json | 9 +- examples/basic/package.json | 6 +- examples/kopytko-cli/.gitignore | 2 + examples/kopytko-cli/.kopytkorc | 8 + .../kopytko-cli/app/components/MainScene.xml | 13 + examples/kopytko-cli/app/images/icon.png | Bin 0 -> 10199 bytes examples/kopytko-cli/app/source/Main.brs | 15 + examples/kopytko-cli/manifest/default.js | 8 + examples/kopytko-cli/manifest/test.js | 1 + examples/kopytko-cli/package-lock.json | 1937 +++++++++++++++++ examples/kopytko-cli/package.json | 13 + src/env/args.js | 22 +- 20 files changed, 2047 insertions(+), 38 deletions(-) rename examples/advanced/{manifest.js => manifest/default.js} (69%) create mode 100644 examples/advanced/manifest/dev.js create mode 100644 examples/advanced/manifest/test.js create mode 100644 examples/kopytko-cli/.gitignore create mode 100644 examples/kopytko-cli/.kopytkorc create mode 100644 examples/kopytko-cli/app/components/MainScene.xml create mode 100644 examples/kopytko-cli/app/images/icon.png create mode 100644 examples/kopytko-cli/app/source/Main.brs create mode 100644 examples/kopytko-cli/manifest/default.js create mode 100644 examples/kopytko-cli/manifest/test.js create mode 100644 examples/kopytko-cli/package-lock.json create mode 100644 examples/kopytko-cli/package.json diff --git a/.github/workflows/validate-code.yml b/.github/workflows/validate-code.yml index d81fc42..038651e 100644 --- a/.github/workflows/validate-code.yml +++ b/.github/workflows/validate-code.yml @@ -32,9 +32,12 @@ jobs: npm ci npm ci --prefix=examples/basic npm ci --prefix=examples/advanced + npm ci --prefix=examples/kopytko-cli - name: Run build basic run: npm run build --prefix=examples/basic - name: Run build advanced - run: npm run build --prefix=examples/advanced + run: npm run build --prefix=examples/advanced -- test + - name: Run build kopytko-cli + run: npm run build --prefix=examples/kopytko-cli -- test diff --git a/examples/advanced/.kopytkorc b/examples/advanced/.kopytkorc index ecf3b7e..1854042 100644 --- a/examples/advanced/.kopytkorc +++ b/examples/advanced/.kopytkorc @@ -1,4 +1,12 @@ { - "baseManifest": "manifest.js", - "plugins": ["kopytko-copy-external-dependencies", "kopytko-import-dependencies"] + "baseManifest": "/manifest/default.js", + "plugins": ["kopytko-copy-external-dependencies", "kopytko-import-dependencies"], + "environments": { + "test": { + "manifest": "/manifest/test.js" + }, + "dev": { + "manifest": "/manifest/dev.js" + } + } } diff --git a/examples/advanced/manifest.js b/examples/advanced/manifest/default.js similarity index 69% rename from examples/advanced/manifest.js rename to examples/advanced/manifest/default.js index f7fdfe6..a793021 100644 --- a/examples/advanced/manifest.js +++ b/examples/advanced/manifest/default.js @@ -1,4 +1,4 @@ -const baseManifest = require('@kopytko/packager/base-manifest.js'); +const { baseManifest } = require('@dazn/kopytko-packager'); module.exports = { ...baseManifest, diff --git a/examples/advanced/manifest/dev.js b/examples/advanced/manifest/dev.js new file mode 100644 index 0000000..f053ebf --- /dev/null +++ b/examples/advanced/manifest/dev.js @@ -0,0 +1 @@ +module.exports = {}; diff --git a/examples/advanced/manifest/test.js b/examples/advanced/manifest/test.js new file mode 100644 index 0000000..f053ebf --- /dev/null +++ b/examples/advanced/manifest/test.js @@ -0,0 +1 @@ +module.exports = {}; diff --git a/examples/advanced/package-lock.json b/examples/advanced/package-lock.json index dae3317..09203e8 100644 --- a/examples/advanced/package-lock.json +++ b/examples/advanced/package-lock.json @@ -11,12 +11,11 @@ "@kopytko/example-module": "file:../module" }, "devDependencies": { - "@kopytko/packager": "file:../.." + "@dazn/kopytko-packager": "file:../.." } }, "../..": { - "name": "@dazn/kopytko-packager", - "version": "1.2.1", + "version": "1.2.2", "license": "MIT", "dependencies": { "adm-zip": "^0.5.5", @@ -45,23 +44,19 @@ } }, "../module": { - "name": "@kopytko/example-module", "version": "1.0.0" }, - "node_modules/@kopytko/example-module": { - "resolved": "../module", + "node_modules/@dazn/kopytko-packager": { + "resolved": "../..", "link": true }, - "node_modules/@kopytko/packager": { - "resolved": "../..", + "node_modules/@kopytko/example-module": { + "resolved": "../module", "link": true } }, "dependencies": { - "@kopytko/example-module": { - "version": "file:../module" - }, - "@kopytko/packager": { + "@dazn/kopytko-packager": { "version": "file:../..", "requires": { "@babel/core": "^7.14.3", @@ -82,6 +77,9 @@ "terminal-kit": "^2.1.0", "xml2js": "^0.4.23" } + }, + "@kopytko/example-module": { + "version": "file:../module" } } } diff --git a/examples/advanced/package.json b/examples/advanced/package.json index 4b6261f..17d3602 100644 --- a/examples/advanced/package.json +++ b/examples/advanced/package.json @@ -3,12 +3,12 @@ "version": "1.0.0", "description": "Advanced example kopytko-packager based app", "scripts": { - "build": "node ./node_modules/@kopytko/packager/scripts/build.js", - "start": "node ./node_modules/@kopytko/packager/scripts/start.js" + "build": "node ./node_modules/@dazn/kopytko-packager/scripts/build.js", + "start": "node ./node_modules/@dazn/kopytko-packager/scripts/start.js" }, "private": true, "devDependencies": { - "@kopytko/packager": "file:../.." + "@dazn/kopytko-packager": "file:../.." }, "dependencies": { "@kopytko/example-module": "file:../module" diff --git a/examples/basic/manifest.js b/examples/basic/manifest.js index 7d30ada..dc07b22 100644 --- a/examples/basic/manifest.js +++ b/examples/basic/manifest.js @@ -1,4 +1,4 @@ -const baseManifest = require('@kopytko/packager/base-manifest.js'); +const { baseManifest } = require('@dazn/kopytko-packager'); module.exports = { ...baseManifest, diff --git a/examples/basic/package-lock.json b/examples/basic/package-lock.json index cb44525..cce8d3b 100644 --- a/examples/basic/package-lock.json +++ b/examples/basic/package-lock.json @@ -8,12 +8,11 @@ "name": "basic-example", "version": "1.0.0", "devDependencies": { - "@kopytko/packager": "file:../.." + "@dazn/kopytko-packager": "file:../.." } }, "../..": { - "name": "@dazn/kopytko-packager", - "version": "1.2.1", + "version": "1.2.2", "dev": true, "license": "MIT", "dependencies": { @@ -42,13 +41,13 @@ "npm": ">=8.0.0" } }, - "node_modules/@kopytko/packager": { + "node_modules/@dazn/kopytko-packager": { "resolved": "../..", "link": true } }, "dependencies": { - "@kopytko/packager": { + "@dazn/kopytko-packager": { "version": "file:../..", "requires": { "@babel/core": "^7.14.3", diff --git a/examples/basic/package.json b/examples/basic/package.json index 8e5c241..38a8b97 100644 --- a/examples/basic/package.json +++ b/examples/basic/package.json @@ -3,11 +3,11 @@ "version": "1.0.0", "description": "Basic example kopytko-packager based app", "scripts": { - "build": "node ./node_modules/@kopytko/packager/scripts/build.js", - "start": "node ./node_modules/@kopytko/packager/scripts/start.js" + "build": "node ./node_modules/@dazn/kopytko-packager/scripts/build.js", + "start": "node ./node_modules/@dazn/kopytko-packager/scripts/start.js" }, "private": true, "devDependencies": { - "@kopytko/packager": "file:../.." + "@dazn/kopytko-packager": "file:../.." } } diff --git a/examples/kopytko-cli/.gitignore b/examples/kopytko-cli/.gitignore new file mode 100644 index 0000000..f06235c --- /dev/null +++ b/examples/kopytko-cli/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist diff --git a/examples/kopytko-cli/.kopytkorc b/examples/kopytko-cli/.kopytkorc new file mode 100644 index 0000000..1004e58 --- /dev/null +++ b/examples/kopytko-cli/.kopytkorc @@ -0,0 +1,8 @@ +{ + "baseManifest": "/manifest/default.js", + "environments": { + "test": { + "manifest": "/manifest/test.js" + } + } +} diff --git a/examples/kopytko-cli/app/components/MainScene.xml b/examples/kopytko-cli/app/components/MainScene.xml new file mode 100644 index 0000000..d2e1687 --- /dev/null +++ b/examples/kopytko-cli/app/components/MainScene.xml @@ -0,0 +1,13 @@ + + + + + + + diff --git a/examples/kopytko-cli/app/images/icon.png b/examples/kopytko-cli/app/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e0294eda774b588239df875197b632d4a3d94c0e GIT binary patch literal 10199 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 HVbK2oi4BGH literal 0 HcmV?d00001 diff --git a/examples/kopytko-cli/app/source/Main.brs b/examples/kopytko-cli/app/source/Main.brs new file mode 100644 index 0000000..5bd13b1 --- /dev/null +++ b/examples/kopytko-cli/app/source/Main.brs @@ -0,0 +1,15 @@ +sub main(launchArguments as Dynamic) + screen = CreateObject("roSGScreen") + port = CreateObject("roMessagePort") + + screen.setMessagePort(port) + screen.show() + + scene = screen.createScene("MainScene") + scene.setFocus(true) + + while (true) + message = Wait(0, port) + messageType = Type(message) + end while +end sub diff --git a/examples/kopytko-cli/manifest/default.js b/examples/kopytko-cli/manifest/default.js new file mode 100644 index 0000000..dc07b22 --- /dev/null +++ b/examples/kopytko-cli/manifest/default.js @@ -0,0 +1,8 @@ +const { baseManifest } = require('@dazn/kopytko-packager'); + +module.exports = { + ...baseManifest, + title: 'Kopytko Packager: Basic example', + mm_icon_focus_hd: 'pkg:/images/icon.png', + ui_resolutions: 'fhd', +} diff --git a/examples/kopytko-cli/manifest/test.js b/examples/kopytko-cli/manifest/test.js new file mode 100644 index 0000000..f053ebf --- /dev/null +++ b/examples/kopytko-cli/manifest/test.js @@ -0,0 +1 @@ +module.exports = {}; diff --git a/examples/kopytko-cli/package-lock.json b/examples/kopytko-cli/package-lock.json new file mode 100644 index 0000000..841f9d6 --- /dev/null +++ b/examples/kopytko-cli/package-lock.json @@ -0,0 +1,1937 @@ +{ + "name": "example", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "example", + "version": "1.0.0", + "devDependencies": { + "@dazn/kopytko-cli": "^1.0.1", + "@dazn/kopytko-packager": "file:../.." + } + }, + "../..": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "adm-zip": "^0.5.5", + "dotenv": "^9.0.2", + "fs-extra": "^10.0.0", + "glob-promise": "^4.1.0", + "latinize": "^0.5.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "ora": "^5.4.0", + "request": "^2.88.2", + "request-promise": "^4.2.6", + "telnet-client": "^1.4.9", + "terminal-kit": "^2.1.0", + "xml2js": "^0.4.23" + }, + "devDependencies": { + "@babel/core": "^7.14.3", + "@babel/eslint-parser": "^7.14.3", + "@babel/preset-env": "^7.14.2", + "eslint": "^7.26.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.0.tgz", + "integrity": "sha512-8YrreVbWlJVZnk5zs4vfkRItrPEtWhUcxWOBfYT/Kwu4FwJVAnNuhJAxxXOAQ2Ckd7cv30Idh/RFVLbTZ5Gs9w==", + "dev": true, + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.0.tgz", + "integrity": "sha512-hq7tqnB3uVT/iDgqWWZ4kvnijeAcgd4cfLzZiCPaYn1nuhZf0tWsho6exhJ/odMZHvVp7w8OibqWiUKxNY9zHA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.3.0", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@dazn/kopytko-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-cli/-/kopytko-cli-1.0.1.tgz", + "integrity": "sha512-21f3Od2e1mzgmaDw8I06gEf98HgjNq5YTZE/vctVyUK/HBIE/rKlFFSzKgOYXbwuwwneMeuOJvgt01Dcw+Vy6w==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "^13.1.4", + "@angular-devkit/schematics": "^13.1.4", + "ansi-colors": "^4.1.1", + "commander": "^8.3.0", + "inquirer": "^8.2.0" + }, + "bin": { + "kopytko": "bin/kopytko.js" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "peerDependencies": { + "@dazn/kopytko-packager": "^1.2.0", + "@dazn/kopytko-unit-testing-framework": "^1.0.2" + } + }, + "node_modules/@dazn/kopytko-packager": { + "resolved": "../..", + "link": true + }, + "node_modules/@dazn/kopytko-unit-testing-framework": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-1.0.3.tgz", + "integrity": "sha512-gCwz8l9dggmJbwl6vZXcdVrGRkwjzR0iO91V2387/cePXjoDOGR2HEHUaqEmOGOHQFPUZwWVTZDlDm9SuI5OGQ==", + "dev": true, + "peer": true, + "dependencies": { + "@dazn/kopytko-packager": "^1.0.1", + "fs-extra": "^10.0.0", + "glob-promise": "^4.2.0", + "telnet-client": "^1.4.9", + "uuid": "^8.3.2" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", + "dev": true, + "peer": true + }, + "node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "peer": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "peer": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "peer": true + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/emitter-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz", + "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=", + "dev": true, + "peer": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "peer": true + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-promise": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-4.2.2.tgz", + "integrity": "sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/glob": "^7.1.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/ahmadnassri" + }, + "peerDependencies": { + "glob": "^7.1.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true, + "peer": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inquirer": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.1.tgz", + "integrity": "sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/net": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/net/-/net-1.0.2.tgz", + "integrity": "sha1-0XV+yaf7I3HYPPR1XOPifhCCk4g=", + "dev": true, + "peer": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", + "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", + "dev": true, + "peer": true, + "dependencies": { + "emitter-component": "^1.1.1" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/telnet-client": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/telnet-client/-/telnet-client-1.4.11.tgz", + "integrity": "sha512-m15pRh7F74ZzWmqjUtOg3SYp8iSnH7xY1lD9hWk8icjuLRSItABPk1vRJFwSM7op6TgZuEXOWOSbiK9nknloSw==", + "dev": true, + "peer": true, + "dependencies": { + "bluebird": "^3.5.4", + "net": "^1.0.2", + "stream": "^0.0.2" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/kozjak" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "peer": true + } + }, + "dependencies": { + "@angular-devkit/core": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.0.tgz", + "integrity": "sha512-8YrreVbWlJVZnk5zs4vfkRItrPEtWhUcxWOBfYT/Kwu4FwJVAnNuhJAxxXOAQ2Ckd7cv30Idh/RFVLbTZ5Gs9w==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.0.tgz", + "integrity": "sha512-hq7tqnB3uVT/iDgqWWZ4kvnijeAcgd4cfLzZiCPaYn1nuhZf0tWsho6exhJ/odMZHvVp7w8OibqWiUKxNY9zHA==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.0", + "jsonc-parser": "3.0.0", + "magic-string": "0.25.7", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@dazn/kopytko-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-cli/-/kopytko-cli-1.0.1.tgz", + "integrity": "sha512-21f3Od2e1mzgmaDw8I06gEf98HgjNq5YTZE/vctVyUK/HBIE/rKlFFSzKgOYXbwuwwneMeuOJvgt01Dcw+Vy6w==", + "dev": true, + "requires": { + "@angular-devkit/core": "^13.1.4", + "@angular-devkit/schematics": "^13.1.4", + "ansi-colors": "^4.1.1", + "commander": "^8.3.0", + "inquirer": "^8.2.0" + } + }, + "@dazn/kopytko-packager": { + "version": "file:../..", + "requires": { + "@babel/core": "^7.14.3", + "@babel/eslint-parser": "^7.14.3", + "@babel/preset-env": "^7.14.2", + "adm-zip": "^0.5.5", + "dotenv": "^9.0.2", + "eslint": "^7.26.0", + "fs-extra": "^10.0.0", + "glob-promise": "^4.1.0", + "latinize": "^0.5.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "ora": "^5.4.0", + "request": "^2.88.2", + "request-promise": "^4.2.6", + "telnet-client": "^1.4.9", + "terminal-kit": "^2.1.0", + "xml2js": "^0.4.23" + } + }, + "@dazn/kopytko-unit-testing-framework": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-1.0.3.tgz", + "integrity": "sha512-gCwz8l9dggmJbwl6vZXcdVrGRkwjzR0iO91V2387/cePXjoDOGR2HEHUaqEmOGOHQFPUZwWVTZDlDm9SuI5OGQ==", + "dev": true, + "peer": true, + "requires": { + "@dazn/kopytko-packager": "^1.0.1", + "fs-extra": "^10.0.0", + "glob-promise": "^4.2.0", + "telnet-client": "^1.4.9", + "uuid": "^8.3.2" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "peer": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "peer": true + }, + "@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", + "dev": true, + "peer": true + }, + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "peer": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "peer": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "peer": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "emitter-component": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz", + "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY=", + "dev": true, + "peer": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fs-extra": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "peer": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "peer": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-promise": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-4.2.2.tgz", + "integrity": "sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==", + "dev": true, + "peer": true, + "requires": { + "@types/glob": "^7.1.3" + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "peer": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.1.tgz", + "integrity": "sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "net": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/net/-/net-1.0.2.tgz", + "integrity": "sha1-0XV+yaf7I3HYPPR1XOPifhCCk4g=", + "dev": true, + "peer": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "peer": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "peer": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", + "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", + "dev": true, + "peer": true, + "requires": { + "emitter-component": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "telnet-client": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/telnet-client/-/telnet-client-1.4.11.tgz", + "integrity": "sha512-m15pRh7F74ZzWmqjUtOg3SYp8iSnH7xY1lD9hWk8icjuLRSItABPk1vRJFwSM7op6TgZuEXOWOSbiK9nknloSw==", + "dev": true, + "peer": true, + "requires": { + "bluebird": "^3.5.4", + "net": "^1.0.2", + "stream": "^0.0.2" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "peer": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "peer": true + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "peer": true + } + } +} diff --git a/examples/kopytko-cli/package.json b/examples/kopytko-cli/package.json new file mode 100644 index 0000000..6487720 --- /dev/null +++ b/examples/kopytko-cli/package.json @@ -0,0 +1,13 @@ +{ + "name": "example", + "version": "1.0.0", + "description": "Example kopytko-cli", + "scripts": { + "build": "kopytko build" + }, + "private": true, + "devDependencies": { + "@dazn/kopytko-cli": "^1.0.1", + "@dazn/kopytko-packager": "file:../.." + } +} diff --git a/src/env/args.js b/src/env/args.js index 51fae0a..847ca63 100644 --- a/src/env/args.js +++ b/src/env/args.js @@ -2,21 +2,23 @@ require('dotenv').config(); const minimist = require('minimist'); -// runner parameter is calculated based on script execution context -// kopytko start --env=production -// '.../bin/node', -// '.../bin/kopytko', -// 'start', +// runner parameter depends on script execution context +// example of kopytko script +// kopytko build --env=production +// '.../bin/node', or '...\\bin\\node.exe', +// '.../bin/kopytko', or '...\\bin\\kopytko.js', +// 'build', // '--env=production' -// npm start -- --env=production +// example of start npm build script +// npm build -- --env=production // '.../bin/node', -// '.../@dazn/kopytko-packager/scripts/start.js', +// '.../@dazn/kopytko-packager/scripts/build.js', // '--env=production' -const runner = process.argv[1].split('/').slice(-1)[0]; -// we have to slice additional args if we execute script via kopytko cli -const args = runner === 'kopytko' ? process.argv.slice(3) : process.argv.slice(2); +const runner = process.argv[1] +// slice additional args if script is executed via kopytko command +const args = /kopytko(\.js)?$/.test(runner) ? process.argv.slice(3) : process.argv.slice(2); const firstArgument = args[0] || ''; const anonymousArgument = !firstArgument.includes('--') ? firstArgument : '';