From 556ab6d6512828d9c285a86bb365faa026ce8a72 Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 18:21:43 +0200 Subject: [PATCH 1/7] feat: initial release --- .changeset/fifty-knives-itch.md | 7 + .github/workflows/pr.yaml | 8 +- .github/workflows/release.yaml | 10 +- README.md | 36 +- bun.lockb | Bin 158921 -> 0 bytes package-lock.json | 4159 +++++++++++++++++++++++++++++++ package.json | 4 +- src/display.ts | 13 +- src/git.ts | 19 +- src/gitlab.ts | 38 +- tsconfig.json | 11 +- tsup.config.ts | 4 +- 12 files changed, 4253 insertions(+), 56 deletions(-) create mode 100644 .changeset/fifty-knives-itch.md delete mode 100755 bun.lockb create mode 100644 package-lock.json diff --git a/.changeset/fifty-knives-itch.md b/.changeset/fifty-knives-itch.md new file mode 100644 index 0000000..0cf9ef9 --- /dev/null +++ b/.changeset/fifty-knives-itch.md @@ -0,0 +1,7 @@ +--- +"glab-status": major +--- + +Initial release + +First initial release of glab-status diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 89b90e2..3e3063d 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -11,9 +11,9 @@ jobs: steps: - name: Clone repository uses: actions/checkout@v3 - - uses: oven-sh/setup-bun@v1 - - run: bun install + - uses: actions/setup-node@v4 + - run: npm install - name: Generate build - run: bun run build + run: npm run build - name: Run Tests - run: bun run test + run: npm run test diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bacf7a6..4567cc7 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,14 +21,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: oven-sh/setup-bun@v1 - - run: bun install - - run: bun run build + - uses: actions/setup-node@v4 + - run: npm install + - run: npm run build - uses: changesets/action@v1 if: ${{ github.event_name != 'pull_request' }} with: - version: bun run ci:version - publish: bun run ci:publish + version: npm run ci:version + publish: npm run ci:publish commit: "[ci] release" title: "[ci] release" env: diff --git a/README.md b/README.md index d9492ff..33d506e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,36 @@ -# npm library template +# Gitlab Status -npm repo template using bun, tsup +GitLab CLI rich status display tool -## Build +This tool displays the status of your GitLab pipelines in your terminal. +For given repository directory, it will display the following information: + +- Commit +- Merge Request +- Environment +- Pipeline Jobs + +## Usage + +```bash +$ cd my-gitlab-project +$ glab-status +``` + +## Installation ```bash -bun build +$ npm install -g glab-status ``` -## Tech stack +or use npx + +```bash +$ npx glab-status +``` + +## Configuration + +You need to set the `GITLAB_TOKEN` environment variable to your GitLab token. -- bun -- tsup +Follow https://gitlab.com/-/user_settings/personal_access_tokens to generate a new token. diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 7096906f122b294b35a4905129e94e894b06d123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158921 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 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..693f7a9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4159 @@ +{ + "name": "glab-status", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "glab-status", + "version": "0.0.0", + "license": "MIT", + "dependencies": { + "date-fns": "4.1.0", + "dayjs": "1.11.13", + "picocolors": "1.1.0" + }, + "bin": { + "glab-status": "dist/cli.cjs" + }, + "devDependencies": { + "@changesets/cli": "^2.26.2", + "@types/node": "^22.7.2", + "tsup": "^7.2.0", + "typescript": "^5.2.2" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.1", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@changesets/apply-release-plan": { + "version": "6.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/config": "^2.3.1", + "@changesets/get-version-range-type": "^0.3.2", + "@changesets/git": "^2.0.0", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/assemble-release-plan": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.1.4", + "@changesets/get-dependents-graph": "^1.3.6", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/changelog-git": { + "version": "0.1.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^5.2.1" + } + }, + "node_modules/@changesets/cli": { + "version": "2.26.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/apply-release-plan": "^6.1.4", + "@changesets/assemble-release-plan": "^5.2.4", + "@changesets/changelog-git": "^0.1.14", + "@changesets/config": "^2.3.1", + "@changesets/errors": "^0.1.4", + "@changesets/get-dependents-graph": "^1.3.6", + "@changesets/get-release-plan": "^3.0.17", + "@changesets/git": "^2.0.0", + "@changesets/logger": "^0.0.5", + "@changesets/pre": "^1.0.14", + "@changesets/read": "^0.5.9", + "@changesets/types": "^5.2.1", + "@changesets/write": "^0.2.3", + "@manypkg/get-packages": "^1.1.3", + "@types/is-ci": "^3.0.0", + "@types/semver": "^7.5.0", + "ansi-colors": "^4.1.3", + "chalk": "^2.1.0", + "enquirer": "^2.3.0", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "is-ci": "^3.0.1", + "meow": "^6.0.0", + "outdent": "^0.5.0", + "p-limit": "^2.2.0", + "preferred-pm": "^3.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^2.0.0", + "term-size": "^2.1.0", + "tty-table": "^4.1.5" + }, + "bin": { + "changeset": "bin.js" + } + }, + "node_modules/@changesets/config": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/errors": "^0.1.4", + "@changesets/get-dependents-graph": "^1.3.6", + "@changesets/logger": "^0.0.5", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.2" + } + }, + "node_modules/@changesets/errors": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "extendable-error": "^0.1.5" + } + }, + "node_modules/@changesets/get-dependents-graph": { + "version": "1.3.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/get-release-plan": { + "version": "3.0.17", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/assemble-release-plan": "^5.2.4", + "@changesets/config": "^2.3.1", + "@changesets/pre": "^1.0.14", + "@changesets/read": "^0.5.9", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3" + } + }, + "node_modules/@changesets/get-version-range-type": { + "version": "0.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/git": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.1.4", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.2", + "spawndamnit": "^2.0.0" + } + }, + "node_modules/@changesets/logger": { + "version": "0.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.1.0" + } + }, + "node_modules/@changesets/parse": { + "version": "0.3.16", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/types": "^5.2.1", + "js-yaml": "^3.13.1" + } + }, + "node_modules/@changesets/pre": { + "version": "1.0.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/errors": "^0.1.4", + "@changesets/types": "^5.2.1", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" + } + }, + "node_modules/@changesets/read": { + "version": "0.5.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/git": "^2.0.0", + "@changesets/logger": "^0.0.5", + "@changesets/parse": "^0.3.16", + "@changesets/types": "^5.2.1", + "chalk": "^2.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0" + } + }, + "node_modules/@changesets/types": { + "version": "5.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@changesets/write": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@changesets/types": "^5.2.1", + "fs-extra": "^7.0.1", + "human-id": "^1.0.2", + "prettier": "^2.7.1" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" + } + }, + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/find-root/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/find-up/node_modules/locate-path/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" + } + }, + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/is-ci": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.1.0" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.2.tgz", + "integrity": "sha512-866lXSrpGpgyHBZUa2m9YNWqHDjjM0aBTJlNtYaGEw4rqY/dcD7deRVTbBBAJelfA7oaGDbNftXF/TL/A6RgoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/better-path-resolve": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-windows": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/breakword": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "wcwidth": "^1.0.1" + } + }, + "node_modules/bundle-require": { + "version": "4.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.17" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "dev": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/cross-spawn/node_modules/lru-cache/node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "license": "ISC" + }, + "node_modules/csv": { + "version": "5.5.3", + "dev": true, + "license": "MIT", + "dependencies": { + "csv-generate": "^3.4.3", + "csv-parse": "^4.16.3", + "csv-stringify": "^5.6.5", + "stream-transform": "^2.1.3" + }, + "engines": { + "node": ">= 0.1.90" + } + }, + "node_modules/csv-generate": { + "version": "3.4.3", + "dev": true, + "license": "MIT" + }, + "node_modules/csv-parse": { + "version": "4.16.3", + "dev": true, + "license": "MIT" + }, + "node_modules/csv-stringify": { + "version": "5.6.5", + "dev": true, + "license": "MIT" + }, + "node_modules/date-fns": { + "version": "4.1.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/enquirer": { + "version": "2.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa/node_modules/cross-spawn/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/cross-spawn/node_modules/shebang-command/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/extendable-error": { + "version": "0.1.7", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn/node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn/node_modules/shebang-command/node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "license": "ISC" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/human-id": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-subdir": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "better-path-resolve": "1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/joycon": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow": { + "version": "6.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mixme": { + "version": "0.5.9", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outdent": { + "version": "0.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/p-filter": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-map": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up/node_modules/locate-path/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/preferred-pm": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/punycode": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "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" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-yaml-file": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "dev": true, + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/resolve": { + "version": "1.22.6", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.22.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.5.4", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC" + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flat": "^1.2.3", + "breakword": "^1.0.5", + "grapheme-splitter": "^1.0.4", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1", + "yargs": "^15.1.0" + }, + "bin": { + "smartwrap": "src/terminal-adapter.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/smartwrap/node_modules/yargs": { + "version": "15.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/cliui": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/yargs/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/source-map": { + "version": "0.8.0-beta.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/spawndamnit": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.15", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stream-transform": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mixme": "^0.5.1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsup": { + "version": "7.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.19.2", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^4.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.0.2", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tty-table": { + "version": "4.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "csv": "^5.5.3", + "kleur": "^4.1.5", + "smartwrap": "^2.0.2", + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.1", + "yargs": "^17.7.1" + }, + "bin": { + "tty-table": "adapters/terminal-adapter.js" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tty-table/node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "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/tty-table/node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tty-table/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tty-table/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/tty-table/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tty-table/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/which-pm": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.1", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index b4ee5d7..ea08b69 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "glab-status", + "version": "0.0.0", "description": "GitLab CLI rich status display tool", "type": "module", "bin": { @@ -36,7 +37,7 @@ ], "devDependencies": { "@changesets/cli": "^2.26.2", - "bun-types": "latest", + "@types/node": "^22.7.2", "tsup": "^7.2.0", "typescript": "^5.2.2" }, @@ -46,6 +47,7 @@ "license": "MIT", "dependencies": { "date-fns": "4.1.0", + "dayjs": "1.11.13", "picocolors": "1.1.0" } } diff --git a/src/display.ts b/src/display.ts index e327a87..50efb3f 100644 --- a/src/display.ts +++ b/src/display.ts @@ -1,5 +1,8 @@ import colors from "picocolors"; -import { parseISO, formatRelative } from "date-fns"; +import dayjs from "dayjs"; +import relativeTime from "dayjs/plugin/relativeTime"; // ES 2015 + +dayjs.extend(relativeTime); export class Display { rows: string[] = []; @@ -37,9 +40,7 @@ export class DisplayMergeRequest extends Display { web_url: string; }) { const mrid = colors.red(`#${mr.iid}`); - const date = colors.green( - `(${formatRelative(parseISO(mr.merged_at), new Date())})` - ); + const date = colors.green(`(${dayjs(mr.merged_at).fromNow()})`); const statusEmojis = { opened: colors.greenBright("✅ Opened"), closed: colors.redBright("❌ Closed"), @@ -83,9 +84,7 @@ export class DisplayCommit extends Display { ) { const sha = colors.red(`${commit.short_id}`); const author = colors.blueBright(`<${commit.author_name}>`); - const date = colors.green( - `(${formatRelative(parseISO(commit.created_at), new Date())})` - ); + const date = colors.green(`(${dayjs(commit.created_at).fromNow()})`); const title = colors.whiteBright(commit.title); super([ diff --git a/src/git.ts b/src/git.ts index 25652e8..85ef7b4 100644 --- a/src/git.ts +++ b/src/git.ts @@ -1,5 +1,12 @@ -import { $ } from "bun"; +import { exec } from "node:child_process"; +import { promisify } from "node:util"; +import process from "node:process"; +const $ = (...args: Parameters) => { + const e = promisify(exec); + + return e(args[0], args[1]).then(({ stdout }) => stdout.toString().trim()); +}; export class Git { cwd: string; @@ -8,15 +15,15 @@ export class Git { } async branch() { - const stdout = await $`git rev-parse --abbrev-ref HEAD` - .cwd(this.cwd) - .text(); + const stdout = await $(`git rev-parse --abbrev-ref HEAD`, { + cwd: this.cwd, + }); return stdout.trim(); } async remoteUrl() { - const stdout = await $`git ls-remote --get-url`.cwd(this.cwd).text(); + const stdout = await $("git ls-remote --get-url", { cwd: this.cwd }); return stdout .trim() @@ -28,6 +35,6 @@ export class Git { async repoName() { const projectName = (remoteUrl: string) => remoteUrl.split("/").pop(); - return projectName(await this.remoteUrl()); + return projectName(await this.remoteUrl())!; } } diff --git a/src/gitlab.ts b/src/gitlab.ts index a0d9303..0ec293d 100644 --- a/src/gitlab.ts +++ b/src/gitlab.ts @@ -1,3 +1,11 @@ +export type GitLabProjectDTO = { + id: string; + name: string; + ssh_url_to_repo: string; + http_url_to_repo: string; + web_url: string; +}; + export class GitlabProject { GITLAB_API_PIPELINES_URL = `/projects/:id/pipelines`; GITLAB_API_PIPELINE_JOBS_URL = `/projects/:id/pipelines/:pipeline_id/jobs`; @@ -5,12 +13,9 @@ export class GitlabProject { GITLAB_API_PROJECT_MRS_URL = `/projects/:id/merge_requests`; GITLAB_API_ENVS_URL = `/projects/:id/environments`; - constructor(gitlab, projectId) { - this.gitlab = gitlab; - this.projectId = projectId; - } + constructor(public gitlab: GitLab, public projectId: string) {} - async commitBy(sha) { + async commitBy(sha: string) { return this.gitlab._get( this.GITLAB_API_COMMIT_URL.replace(":id", this.projectId).replace( ":sha", @@ -19,7 +24,7 @@ export class GitlabProject { ); } - async pipelineBy(branch) { + async pipelineBy(branch: string) { return this.gitlab ._get(this.GITLAB_API_PIPELINES_URL.replace(":id", this.projectId), { ref: branch, @@ -28,7 +33,7 @@ export class GitlabProject { .then((pipelines) => pipelines[0]); } - async mergeRequestBy(branch) { + async mergeRequestBy(branch: string) { return this.gitlab ._get(this.GITLAB_API_PROJECT_MRS_URL.replace(":id", this.projectId), { source_branch: branch, @@ -36,7 +41,7 @@ export class GitlabProject { .then((mrs) => mrs[0]); } - async environmentsBy(branch) { + async environmentsBy(branch: string) { return this.gitlab ._get(this.GITLAB_API_ENVS_URL.replace(":id", this.projectId), { search: branch, @@ -44,7 +49,7 @@ export class GitlabProject { .then((envs) => envs[0]); } - async pipelineJobsBy(pipelineId) { + async pipelineJobsBy(pipelineId: string) { return this.gitlab._get( this.GITLAB_API_PIPELINE_JOBS_URL.replace(":id", this.projectId).replace( ":pipeline_id", @@ -58,26 +63,23 @@ export class GitLab { BASE_URL = "https://gitlab.com/api/v4"; GITLAB_API_PROJECTS_URL = `/projects`; - constructor(token) { - this.token = token; - } + constructor(public token: string) {} - async _get(url, params = {}) { + async _get(url: string, params = {}) { return fetch( `${this.BASE_URL}${url}?${new URLSearchParams(params).toString()}`, { headers: { "Private-Token": this.token }, - params, } ).then((res) => res.json()); } - async projectsByName(name) { + async projectsByName(name: string) { return this._get(this.GITLAB_API_PROJECTS_URL, { search: name, per_page: 100, }).then((projects) => - projects.map((item) => ({ + projects.map((item: GitLabProjectDTO) => ({ id: item.id, name: item.name, ssh_url_to_repo: item.ssh_url_to_repo, @@ -87,8 +89,8 @@ export class GitLab { ); } - async myProjectsByName(name) { - const filterProjects = (projects, name) => + async myProjectsByName(name: string) { + const filterProjects = (projects: GitLabProjectDTO[], name: string) => projects.filter( (project) => project.ssh_url_to_repo.includes(name) || diff --git a/tsconfig.json b/tsconfig.json index 7556e1d..442e3b4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,12 @@ { "compilerOptions": { - "lib": ["ESNext"], + "lib": ["dom", "dom.iterable", "esnext"], "module": "esnext", "target": "esnext", "moduleResolution": "bundler", "moduleDetection": "force", "allowImportingTsExtensions": true, "noEmit": true, - "composite": true, "strict": true, "downlevelIteration": true, "skipLibCheck": true, @@ -15,8 +14,8 @@ "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, "allowJs": true, - "types": [ - "bun-types" // add Bun global - ] - } + "types": ["node"] + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] } diff --git a/tsup.config.ts b/tsup.config.ts index 138e1d3..476d5e3 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -2,13 +2,13 @@ import { defineConfig } from "tsup"; export default defineConfig(() => ({ entry: ["src/index.ts", "src/cli.ts"], - format: ["cjs", "esm"], + format: ["esm"], external: [], splitting: false, clean: true, cjsInterop: true, dts: true, - target: ["node18"], + target: ["node20"], shims: true, tsconfig: "./tsconfig.json", outExtension({ format }) { From 25b47e8f36d900c79a43aa0fac1d05e900f3c5f6 Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 18:24:53 +0200 Subject: [PATCH 2/7] fix: rollup ci build --- package-lock.json | 20 ++++++++++++++++++-- package.json | 3 +++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 693f7a9..9702a49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,9 @@ }, "devDependencies": { "@changesets/cli": "^2.26.2", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", "@types/node": "^22.7.2", "tsup": "^7.2.0", "typescript": "^5.2.2" @@ -566,12 +569,13 @@ }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], "dev": true, "license": "MIT", - "optional": true, "os": [ "darwin" ] @@ -585,11 +589,23 @@ ], "dev": true, "license": "MIT", - "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "os": [ + "linux" + ] + }, "node_modules/@types/estree": { "version": "1.0.5", "dev": true, diff --git a/package.json b/package.json index ea08b69..73feb10 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,9 @@ ], "devDependencies": { "@changesets/cli": "^2.26.2", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", "@types/node": "^22.7.2", "tsup": "^7.2.0", "typescript": "^5.2.2" From 30f8e0cb1ba9bb3be7bcec04472dd035d98811bc Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 18:26:17 +0200 Subject: [PATCH 3/7] fix: github build --- .github/workflows/pr.yaml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 3e3063d..a732924 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -12,7 +12,7 @@ jobs: - name: Clone repository uses: actions/checkout@v3 - uses: actions/setup-node@v4 - - run: npm install + - run: npm install --force - name: Generate build run: npm run build - name: Run Tests diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 4567cc7..8e9b38c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v4 - - run: npm install + - run: npm install --force - run: npm run build - uses: changesets/action@v1 if: ${{ github.event_name != 'pull_request' }} From 451af85f6cd39694c0ae01f32cb2268fa9d2ba53 Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 18:27:46 +0200 Subject: [PATCH 4/7] fix: remove bun fron env --- src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli.ts b/src/cli.ts index 5f70de9..e16cda2 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,4 +1,4 @@ -#!/usr/bin/env bun +#!/usr/bin/env node import colors from "picocolors"; import { Git } from "./git"; import { GitLab } from "./gitlab"; From 452e218978b903f2fc88c520ed075c790ae9b609 Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 20:46:36 +0200 Subject: [PATCH 5/7] fix: bin path --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 73feb10..a465f35 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "GitLab CLI rich status display tool", "type": "module", "bin": { - "glab-status": "dist/cli.cjs" + "glab-status": "dist/cli.mjs" }, "main": "dist/index.cjs", "module": "dist/index.mjs", From 8e6bb77820c3f2cc11e131127d5019f1bfadd0f5 Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 20:47:05 +0200 Subject: [PATCH 6/7] fix: main field --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index a465f35..d35aac4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "bin": { "glab-status": "dist/cli.mjs" }, - "main": "dist/index.cjs", "module": "dist/index.mjs", "types": "dist/index.d.ts", "scripts": { From bf4af87fc89272bf7a41e70eca98f5a778a4f4ed Mon Sep 17 00:00:00 2001 From: Nikolay Kostyurin Date: Thu, 26 Sep 2024 21:29:07 +0200 Subject: [PATCH 7/7] fix: add error detecting --- src/cli.ts | 84 ++++++++++++++++++++++++++++++++------------------ src/display.ts | 2 +- src/git.ts | 7 +++-- 3 files changed, 60 insertions(+), 33 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index e16cda2..d66a971 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -10,38 +10,62 @@ import { DisplayPipelineJobs, } from "./display"; -if (!process.env.GITLAB_TOKEN) { - console.error("Please set the GITLAB_TOKEN environment variable."); - console.error("You can generate a new token here:"); - console.error( - colors.blue("> https://gitlab.com/-/user_settings/personal_access_tokens") - ); - process.exit(1); -} +async function main() { + if (!process.env.GITLAB_TOKEN) { + console.error("Please set the GITLAB_TOKEN environment variable."); + console.error("You can generate a new token here:"); + console.error( + colors.blue("> https://gitlab.com/-/user_settings/personal_access_tokens") + ); + process.exit(1); + } + + try { + const git = new Git(); + const repoName = await git.repoName().catch(() => { + console.warn("Failed getting repository name"); + console.warn("It seems that you are not in a Git repository."); + process.exit(1); + }); + const branch = await git.branch().catch(() => { + console.warn("Failed getting branch name"); + process.exit(1); + }); -try { - const git = new Git(); - const gitlab = new GitLab(process.env.GITLAB_TOKEN); - const myProjects = await gitlab.myProjectsByName(await git.repoName()); - const branch = await git.branch(); - - for (const project of myProjects) { - const pipeline = await project.pipelineBy(branch); - - if (pipeline) { - new Display( - new DisplayCommit(await project.commitBy(pipeline.sha), pipeline), - new DisplayMergeRequest(await project.mergeRequestBy(branch)), - new DisplayEnvironment(await project.environmentsBy(branch)), - new DisplayPipelineJobs(await project.pipelineJobsBy(pipeline.id)) + const gitlab = new GitLab(process.env.GITLAB_TOKEN); + const myProjects = await gitlab.myProjectsByName(repoName); + + if (myProjects.length === 0) { + const name = colors.bold(repoName); + const branchName = colors.bold(branch); + + console.warn( + `Trying to find projects for ${name} on branch ${branchName}` ); - } else { - console.error("No pipelines found for this project."); + console.warn("No Gitlab projects found for this repository."); + process.exit(0); } + + for (const project of myProjects) { + const pipeline = await project.pipelineBy(branch); + + if (pipeline) { + new Display( + new DisplayCommit(await project.commitBy(pipeline.sha), pipeline), + new DisplayMergeRequest(await project.mergeRequestBy(branch)), + new DisplayEnvironment(await project.environmentsBy(branch)), + new DisplayPipelineJobs(await project.pipelineJobsBy(pipeline.id)) + ); + } else { + console.error("No pipelines found for this project."); + } + } + } catch (error: unknown) { + if (error instanceof Error) { + console.error("Error fetching pipeline status:", error.message); + } + console.error(error); } -} catch (error: unknown) { - if (error instanceof Error) { - console.error("Error fetching pipeline status:", error.message); - } - console.error(error); } + +main(); diff --git a/src/display.ts b/src/display.ts index 50efb3f..cfc726a 100644 --- a/src/display.ts +++ b/src/display.ts @@ -1,6 +1,6 @@ import colors from "picocolors"; import dayjs from "dayjs"; -import relativeTime from "dayjs/plugin/relativeTime"; // ES 2015 +import relativeTime from "dayjs/plugin/relativeTime.js"; // ES 2015 dayjs.extend(relativeTime); diff --git a/src/git.ts b/src/git.ts index 85ef7b4..9d94753 100644 --- a/src/git.ts +++ b/src/git.ts @@ -2,11 +2,14 @@ import { exec } from "node:child_process"; import { promisify } from "node:util"; import process from "node:process"; -const $ = (...args: Parameters) => { +const $ = async (...args: Parameters) => { const e = promisify(exec); - return e(args[0], args[1]).then(({ stdout }) => stdout.toString().trim()); + const { stdout } = await e(args[0], args[1]); + + return stdout.toString().trim(); }; + export class Git { cwd: string;