diff --git a/.commitlintrc.cjs b/.commitlintrc.cjs deleted file mode 100644 index 3000575b4..000000000 --- a/.commitlintrc.cjs +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - extends: ["@commitlint/config-conventional"], - parserPreset: { - parserOpts: { - headerPattern: /^(\w*)(?:\((.*)\))?!?: (.*)$/u, - }, - }, -}; diff --git a/.czrc b/.czrc deleted file mode 100644 index 727e32c51..000000000 --- a/.czrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "path": "./cz-adapter" -} diff --git a/.eslintrc.json b/.eslintrc.json index b51e8ac66..f2a1bd030 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -20,7 +20,6 @@ "/lib/", "/node_modules/", "/tests-compiled/", - "/cz-adapter/**/*.js", "/pnpm-lock.yaml" ], "rules": { @@ -43,27 +42,6 @@ "jsdoc/require-jsdoc": "off" } }, - { - "files": ["./cz-adapter/**/*"], - "extends": ["@rebeccastevens/eslint-config/script"], - "rules": { - "@typescript-eslint/no-unsafe-argument": "off", - "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/no-unsafe-call": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-unsafe-return": "off", - "import/no-extraneous-dependencies": [ - "error", - { - "devDependencies": true, - "peerDependencies": true - } - ], - "functional/immutable-data": "off", - "jsdoc/require-jsdoc": "off", - "unicorn/prefer-module": "off" - } - }, { "files": ["**/*.test.ts"], "plugins": ["vitest"], diff --git a/.github/renovate.json b/.github/renovate.json index e2e615d20..0de6b18bd 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -55,10 +55,6 @@ "allowedVersions": "<5", "matchPackageNames": ["escape-string-regexp"] }, - { - "allowedVersions": "<5", - "matchPackageNames": ["chalk"] - }, { "allowedVersions": "<9", "matchPackageNames": ["eslint"] diff --git a/.github/workflows/semantic-pr.yml b/.github/workflows/semantic-pr.yml index f097be0a3..8e1b4716b 100644 --- a/.github/workflows/semantic-pr.yml +++ b/.github/workflows/semantic-pr.yml @@ -1,5 +1,8 @@ name: "Semantic PR" +permissions: + pull-requests: write + on: pull_request_target: types: @@ -15,3 +18,46 @@ jobs: - uses: amannn/action-semantic-pull-request@v5.4.0 env: GITHUB_TOKEN: ${{ github.token }} + with: + types: | + feat + fix + perf + refactor + style + docs + test + build + ci + chore + part + scopes: | + functional-parameters + immutable-data + no-classes + no-conditional-statements + no-expression-statements + no-let + no-loop-statements + no-mixed-types + no-promise-reject + no-return-void + no-this-expressions + no-throw-statements + no-try-statements + prefer-immutable-types + prefer-property-signatures + prefer-readonly-types + prefer-tacit + readonly-type + type-declaration-immutability + requireScope: false + subjectPattern: ^(?![A-Z]).+$ # Don't start with an uppercase character. + subjectPatternError: | + The subject "{subject}" should not start with an uppercase character. + ignoreLabels: | + bot + ignore-semantic-pull-request + headerPattern: '^(\w*)(?:\(([\w$.\-*/ ]*)\))?!?: (.*)$' + headerPatternCorrespondence: type, scope, subject + wip: true diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index 6a2e4c842..000000000 --- a/.husky/commit-msg +++ /dev/null @@ -1 +0,0 @@ -pnpm exec commitlint --edit $1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d24e9c4e5..8fef1dfae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,12 +12,6 @@ To learn about ESLint plugin development see the [relevant section](https://esli In order to know which AST nodes are created for a snippet of TypeScript code you can use [AST explorer](https://astexplorer.net/) with options JavaScript and @typescript-eslint/parser. -### Commit Messages - -> tl;dr: use `npx cz` instead of `git commit`. - -Commit messages must follow [Conventional Commit messages guidelines](https://www.conventionalcommits.org/en/v1.0.0/). You can use `npx cz` instead of `git commit` to run an interactive prompt to generate the commit message. We've customize the prompt specifically for this project. For more information see [commitizen](https://github.com/commitizen/cz-cli#readme). - ### How to publish Publishing is handled by [semantic release](https://github.com/semantic-release/semantic-release#readme) - there shouldn't be any need to publish manually. diff --git a/cz-adapter/engine.ts b/cz-adapter/engine.ts deleted file mode 100644 index d5d1e3f30..000000000 --- a/cz-adapter/engine.ts +++ /dev/null @@ -1,296 +0,0 @@ -import chalk from "chalk"; -import wrap from "word-wrap"; - -import { rules } from "#/rules"; - -import { type Options } from "./options"; - -type Answers = Readonly<{ - type: string; - scope?: string; - scopeRules?: string; - subject: string; - body?: string; - isBreaking: boolean; - isIssueAffected: boolean; - issues?: string; -}>; - -type CZ = any; - -/** - * The engine. - */ -export default ( - options: Options, -): { prompter: (cz: CZ, commit: (msg: string) => unknown) => void } => { - return { - prompter: (cz, commit) => - promptUser(cz, options).then(doCommit(commit, options)), - }; -}; - -/** - * Prompt the user. - */ -function promptUser(cz: CZ, options: Options) { - const { - types, - defaultType, - defaultScope, - defaultSubject, - defaultBody, - defaultIssues, - } = options; - - const typesLength = - Object.keys(types).reduce( - (longest, current) => - longest >= current.length ? longest : current.length, - 0, - ) + 1; - const typesChoices = Object.entries(types).map(([key, type]) => { - const label = `${key}:`.padEnd(typesLength); - return { - name: `${label} ${type.description}`, - value: key, - }; - }); - - const scopeRulesType = new Set([ - "feat", - "fix", - "perf", - "refactor", - "test", - ]); - - const possibleBreakingRulesType = new Set([ - "feat", - "fix", - "perf", - "refactor", - "revert", - ]); - - return cz.prompt([ - { - type: "list", - name: "type", - message: "Select the type of change that you're committing:", - choices: typesChoices, - default: defaultType, - }, - { - type: "input", - name: "scope", - message: "What is the scope of this change: (press enter to skip)", - default: defaultScope, - when: (answers: Answers) => { - return !scopeRulesType.has(answers.type); - }, - filter: filterScope(options), - }, - { - type: "list", - name: "scopeRules", - message: "Which rule does this change apply to:", - choices: getRulesChoices(), - default: defaultScope, - when: (answers: Answers) => { - return scopeRulesType.has(answers.type); - }, - filter: filterScope(options), - }, - { - type: "confirm", - name: "isBreaking", - message: "Are there any breaking changes?", - default: false, - when: (answers: Answers) => { - return possibleBreakingRulesType.has(answers.type); - }, - }, - { - type: "input", - name: "subject", - message(answers: Answers) { - return `Write a short, imperative tense description of the change (max ${maxSummaryLength( - options, - answers, - )} chars):\n`; - }, - default: defaultSubject, - validate: (subject: string, answers: Answers) => { - const filteredSubject = filterSubject(options)(subject); - return filteredSubject.length === 0 - ? "subject is required" - : filteredSubject.length <= maxSummaryLength(options, answers) - ? true - : `Subject length must be less than or equal to ${maxSummaryLength( - options, - answers, - )} characters. Current length is ${ - filteredSubject.length - } characters.`; - }, - transformer: (subject: string, answers: Answers) => { - const filteredSubject = filterSubject(options)(subject); - const color = - filteredSubject.length <= maxSummaryLength(options, answers) - ? chalk.green - : chalk.red; - return color(`(${filteredSubject.length}) ${subject}`); - }, - filter: filterSubject(options), - }, - { - type: "input", - name: "body", - message: - "Provide a longer description of the change: (press enter to skip)\n", - default: defaultBody, - }, - { - type: "confirm", - name: "isIssueAffected", - message: "Does this change affect any open issues?", - default: Boolean(defaultIssues), - }, - { - type: "input", - name: "issues", - message: 'Add issue references (e.g. "fix #123", "re #123".):\n', - when: (answers: Answers) => { - return answers.isIssueAffected; - }, - default: defaultIssues, - }, - ]); -} - -/** - * Create the commit. - */ -function doCommit( - commit: (msg: string) => unknown, - options: Options, -): (answers: Answers) => unknown { - const wrapOptions = { - trim: true, - cut: false, - newline: "\n", - indent: "", - width: options.maxLineWidth, - }; - - return (answers: Answers) => { - const breakingMarker = answers.isBreaking ? "!" : ""; - - // Parentheses are only needed when a scope is present. - const scopeValue = answers.scope ?? answers.scopeRules ?? ""; - const scope = scopeValue.length > 0 ? `(${scopeValue})` : ""; - // Hard limit is applied by the validate. - const head = `${answers.type + scope + breakingMarker}: ${answers.subject}`; - - const bodyValue = (answers.body ?? "").trim(); - const bodyValueWithBreaking = - answers.isBreaking && bodyValue.length > 0 - ? `BREAKING CHANGE: ${bodyValue.replace(/^breaking change: /iu, "")}` - : bodyValue; - - const body = - bodyValueWithBreaking.length > 0 - ? wrap(bodyValueWithBreaking, wrapOptions) - : false; - - const issues = - (answers.issues?.length ?? 0) > 0 - ? wrap(answers.issues!, wrapOptions) - : false; - - // Assemble the commit message. - const message = arrayFilterFalsy([head, body, issues]).join("\n\n"); - - // Print the commit message. - const hr = `${"-".repeat(options.maxLineWidth)}\n`; - console.info(`\ncommit message:\n${hr}${message}\n${hr}`); - - // Do the commit. - return commit(message); - }; -} - -/** - * Filter out falsy values from the given array. - */ -function arrayFilterFalsy(array: T[]) { - return array.filter(Boolean); -} - -/** - * The all the rules as prompt choices. - */ -function getRulesChoices() { - return [ - { - name: "-- none/multiple --", - value: undefined, - }, - ...Object.keys(rules).map((name) => ({ name, value: name })), - ]; -} - -/** - * How long is the header? - */ -function headerLength(answers: Answers) { - const scopeLength = answers.scope?.length ?? answers.scopeRules?.length ?? 0; - - return ( - answers.type.length + - 2 + - (scopeLength > 0 ? scopeLength + 2 : 0) + - (answers.isBreaking ? 1 : 0) - ); -} - -/** - * What's the max length the summary can be. - */ -function maxSummaryLength(options: Options, answers: Answers) { - return options.maxHeaderWidth - headerLength(answers); -} - -/** - * Get a function to auto-process the scope. - */ -function filterScope(options: Options) { - return (value: string) => { - return options.disableScopeLowerCase - ? value.trim() - : value.trim().toLowerCase(); - }; -} - -/** - * Get a function to auto-process the subject. - */ -function filterSubject(options: Options) { - return (subject: string) => { - let m_subject = subject.trim(); - if ( - !options.disableSubjectLowerCase && - m_subject.charAt(0).toLowerCase() !== m_subject.charAt(0) - ) { - m_subject = - m_subject.charAt(0).toLowerCase() + - m_subject.slice(1, m_subject.length); - } - - while (m_subject.endsWith(".")) { - m_subject = m_subject.slice(0, -1); - } - return m_subject; - }; -} diff --git a/cz-adapter/index.js b/cz-adapter/index.js deleted file mode 100644 index c6d39d12e..000000000 --- a/cz-adapter/index.js +++ /dev/null @@ -1,8 +0,0 @@ -require("ts-node").register({ - cwd: __dirname, - project: "./tsconfig.json", -}); -require("tsconfig-paths").register(); - -// @ts-ignore -module.exports = require("./index.ts"); diff --git a/cz-adapter/index.ts b/cz-adapter/index.ts deleted file mode 100644 index b3dbf0803..000000000 --- a/cz-adapter/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import engine from "./engine"; -import options from "./options"; - -module.exports = engine(options); diff --git a/cz-adapter/options.ts b/cz-adapter/options.ts deleted file mode 100644 index 1e9356ec5..000000000 --- a/cz-adapter/options.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { types as conventionalCommitTypes } from "conventional-commit-types"; - -// Override the descriptions of some of the types. -const types = { - ...conventionalCommitTypes, - feat: { - ...conventionalCommitTypes.feat, - description: "A new feature (a rule or rule option)", - }, - fix: { - ...conventionalCommitTypes.fix, - description: "A bug fix", - }, - perf: { - ...conventionalCommitTypes.perf, - description: "A code change that improves performance", - }, - refactor: { - ...conventionalCommitTypes.refactor, - description: - "A code change that makes the code more readable/understandable", - }, - style: { - ...conventionalCommitTypes.style, - description: - "Changes that do not affect the meaning of the code (e.g. white-space, formatting, etc)", - }, - docs: { - ...conventionalCommitTypes.docs, - description: "Documentation only changes", - }, - test: { - ...conventionalCommitTypes.test, - description: "Adding or correcting tests", - }, - build: { - ...conventionalCommitTypes.build, - description: - "Changes that affect the build process or external dependencies", - }, - ci: { - ...conventionalCommitTypes.ci, - description: "Changes to the CI or other GH workflows", - }, - chore: { - ...conventionalCommitTypes.chore, - description: "Other changes that don't modify src or test files", - }, -}; - -const defaults: Readonly<{ - defaultType: string | undefined; - defaultScope: string | undefined; - defaultSubject: string | undefined; - defaultBody: string | undefined; - defaultIssues: string | undefined; -}> = { - defaultType: process.env["CZ_TYPE"], - defaultScope: process.env["CZ_SCOPE"], - defaultSubject: process.env["CZ_SUBJECT"], - defaultBody: process.env["CZ_BODY"], - defaultIssues: process.env["CZ_ISSUES"], -}; - -const options = { - ...defaults, - types, - disableScopeLowerCase: false, - disableSubjectLowerCase: false, - maxHeaderWidth: 100, - maxLineWidth: 100, -}; - -export type Options = typeof options; - -export default options; diff --git a/cz-adapter/tsconfig.json b/cz-adapter/tsconfig.json deleted file mode 100644 index c5a7547b2..000000000 --- a/cz-adapter/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "moduleResolution": "node", - "skipLibCheck": true - }, - "ts-node": { - "emit": true, - "transpileOnly": true - } -} diff --git a/knip.jsonc b/knip.jsonc index dd9e0b494..2b0bc130a 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -4,9 +4,8 @@ "src/flat.ts!", "src/classic.ts!", "tests/**/*.test.ts", - "cz-adapter/index.js", ], - "project": ["src/**/*.ts!", "tests/**/*.ts", "cz-adapter/**/*.{js,ts}"], + "project": ["src/**/*.ts!", "tests/**/*.ts"], "ignore": ["tests/fixture/file.ts", "src/utils/conditional-imports/esm/**/*"], "ignoreDependencies": ["@types/eslint", "@vitest/coverage-istanbul"], } diff --git a/package.json b/package.json index c41eda4e7..2670c23f5 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,6 @@ "build-tests": "rimraf tests-compiled && tsc -p tsconfig.tests-compiled.json && tsc-alias -p tsconfig.tests-compiled.json", "build:docs": "eslint-doc-generator", "build:node": "rimraf lib && rollup -c rollup.config.ts --configPlugin rollup-plugin-ts", - "cz": "git-cz", "lint": "pnpm run build:node && pnpm run lint:js && pnpm run lint:md && pnpm lint:eslint-docs && pnpm run lint:prettier && pnpm run lint:knip && pnpm run lint:spelling && pnpm run lint:packages", "lint-fix": "pnpm run build:node && pnpm run lint:js-fix && pnpm lint:eslint-docs-fix && pnpm run lint:prettier-fix && pnpm run lint:packages-fix", "lint:eslint-docs": "eslint-doc-generator --check", @@ -99,8 +98,6 @@ }, "devDependencies": { "@babel/eslint-parser": "7.25.1", - "@commitlint/cli": "19.3.0", - "@commitlint/config-conventional": "19.2.2", "@cspell/dict-cryptocurrencies": "5.0.0", "@rebeccastevens/eslint-config": "2.0.11", "@semantic-release/changelog": "6.0.3", @@ -119,7 +116,6 @@ "@typescript-eslint/rule-tester": "7.4.0", "@vitest/coverage-istanbul": "2.0.5", "@vitest/coverage-v8": "2.0.5", - "chalk": "4.1.2", "commitizen": "4.3.0", "conventional-commit-types": "3.0.0", "cspell": "8.13.0", @@ -156,14 +152,11 @@ "rollup-plugin-ts": "3.4.5", "semantic-release": "24.0.0", "semantic-release-replace-plugin": "1.2.7", - "ts-node": "10.9.2", - "tsc-alias": "1.8.8", "tsc-files": "1.1.4", "tsconfig-paths": "4.2.0", "typescript": "5.4.3", "vite-tsconfig-paths": "4.3.2", - "vitest": "2.0.5", - "word-wrap": "1.2.5" + "vitest": "2.0.5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc4b3fd88..bc19d7f9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,12 +28,6 @@ devDependencies: '@babel/eslint-parser': specifier: 7.25.1 version: 7.25.1(@babel/core@7.24.1)(eslint@8.57.0) - '@commitlint/cli': - specifier: 19.3.0 - version: 19.3.0(@types/node@16.18.93)(typescript@5.4.3) - '@commitlint/config-conventional': - specifier: 19.2.2 - version: 19.2.2 '@cspell/dict-cryptocurrencies': specifier: 5.0.0 version: 5.0.0 @@ -88,9 +82,6 @@ devDependencies: '@vitest/coverage-v8': specifier: 2.0.5 version: 2.0.5(vitest@2.0.5) - chalk: - specifier: 4.1.2 - version: 4.1.2 commitizen: specifier: 4.3.0 version: 4.3.0(@types/node@16.18.93)(typescript@5.4.3) @@ -199,12 +190,6 @@ devDependencies: semantic-release-replace-plugin: specifier: 1.2.7 version: 1.2.7(semantic-release@24.0.0) - ts-node: - specifier: 10.9.2 - version: 10.9.2(@types/node@16.18.93)(typescript@5.4.3) - tsc-alias: - specifier: 1.8.8 - version: 1.8.8 tsc-files: specifier: 1.1.4 version: 1.1.4(typescript@5.4.3) @@ -220,9 +205,6 @@ devDependencies: vitest: specifier: 2.0.5 version: 2.0.5(@types/node@16.18.93) - word-wrap: - specifier: 1.2.5 - version: 1.2.5 packages: @@ -471,85 +453,27 @@ packages: dev: true optional: true - /@commitlint/cli@19.3.0(@types/node@16.18.93)(typescript@5.4.3): - resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==} - engines: {node: '>=v18'} - hasBin: true - dependencies: - '@commitlint/format': 19.3.0 - '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@16.18.93)(typescript@5.4.3) - '@commitlint/read': 19.2.1 - '@commitlint/types': 19.0.3 - execa: 8.0.1 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - typescript - dev: true - - /@commitlint/config-conventional@19.2.2: - resolution: {integrity: sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/types': 19.0.3 - conventional-changelog-conventionalcommits: 7.0.2 - dev: true - /@commitlint/config-validator@19.0.3: resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@commitlint/types': 19.0.3 ajv: 8.12.0 dev: true - - /@commitlint/ensure@19.0.3: - resolution: {integrity: sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/types': 19.0.3 - lodash.camelcase: 4.3.0 - lodash.kebabcase: 4.1.1 - lodash.snakecase: 4.1.1 - lodash.startcase: 4.4.0 - lodash.upperfirst: 4.3.1 - dev: true + optional: true /@commitlint/execute-rule@19.0.0: resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} engines: {node: '>=v18'} + requiresBuild: true dev: true - - /@commitlint/format@19.3.0: - resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/types': 19.0.3 - chalk: 5.3.0 - dev: true - - /@commitlint/is-ignored@19.2.2: - resolution: {integrity: sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/types': 19.0.3 - semver: 7.6.3 - dev: true - - /@commitlint/lint@19.2.2: - resolution: {integrity: sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/is-ignored': 19.2.2 - '@commitlint/parse': 19.0.3 - '@commitlint/rules': 19.0.3 - '@commitlint/types': 19.0.3 - dev: true + optional: true /@commitlint/load@19.2.0(@types/node@16.18.93)(typescript@5.4.3): resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -565,35 +489,12 @@ packages: - '@types/node' - typescript dev: true - - /@commitlint/message@19.0.0: - resolution: {integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==} - engines: {node: '>=v18'} - dev: true - - /@commitlint/parse@19.0.3: - resolution: {integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/types': 19.0.3 - conventional-changelog-angular: 7.0.0 - conventional-commits-parser: 5.0.0 - dev: true - - /@commitlint/read@19.2.1: - resolution: {integrity: sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/top-level': 19.0.0 - '@commitlint/types': 19.0.3 - execa: 8.0.1 - git-raw-commits: 4.0.0 - minimist: 1.2.8 - dev: true + optional: true /@commitlint/resolve-extends@19.1.0: resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/types': 19.0.3 @@ -602,37 +503,17 @@ packages: lodash.mergewith: 4.6.2 resolve-from: 5.0.0 dev: true - - /@commitlint/rules@19.0.3: - resolution: {integrity: sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==} - engines: {node: '>=v18'} - dependencies: - '@commitlint/ensure': 19.0.3 - '@commitlint/message': 19.0.0 - '@commitlint/to-lines': 19.0.0 - '@commitlint/types': 19.0.3 - execa: 8.0.1 - dev: true - - /@commitlint/to-lines@19.0.0: - resolution: {integrity: sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==} - engines: {node: '>=v18'} - dev: true - - /@commitlint/top-level@19.0.0: - resolution: {integrity: sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==} - engines: {node: '>=v18'} - dependencies: - find-up: 7.0.0 - dev: true + optional: true /@commitlint/types@19.0.3: resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@types/conventional-commits-parser': 5.0.0 chalk: 5.3.0 dev: true + optional: true /@cspell/cspell-bundled-dicts@8.13.0: resolution: {integrity: sha512-vtABTJeicWtd1bO74OB1IYSY/+nhK7S5yyW2GRcq1c9dEqRkgJNcYm8SUCm4EOH2oNGzeptjjGgR8emnvCiTfQ==} @@ -952,13 +833,6 @@ packages: engines: {node: '>=18.0'} dev: true - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@ericcornelissen/bash-parser@0.5.2: resolution: {integrity: sha512-4pIMTa1nEFfMXitv7oaNEWOdM+zpOZavesa5GaiWTgda6Zk32CFGxjUp/iIaN0PwgUW1yTq/fztSjbpE8SLGZQ==} engines: {node: '>=4'} @@ -1323,13 +1197,6 @@ packages: '@jridgewell/sourcemap-codec': 1.5.0 dev: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - dev: true - /@mdn/browser-compat-data@5.5.16: resolution: {integrity: sha512-za4DOflM2h73Rs2ORnhS2IU73sVRjrN4x5ZmOZ8WgLCSOVuZ1+y1K0NQKy8xqaPW52ezN+ni2N2RBUKt532ULA==} dev: true @@ -2029,27 +1896,13 @@ packages: p-map: 4.0.0 dev: true - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true - /@types/conventional-commits-parser@5.0.0: resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} + requiresBuild: true dependencies: '@types/node': 16.18.93 dev: true + optional: true /@types/dedent@0.7.2: resolution: {integrity: sha512-kRiitIeUg1mPV9yH4VUJ/1uk2XjyANfeL8/7rH1tsjvHeO9PJLBHJIYsFWmAvmGj5u8rj+1TZx7PZzW2qLw3Lw==} @@ -2492,14 +2345,6 @@ packages: rimraf: 3.0.2 dev: true - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /acorn-jsx@5.3.2(acorn@8.12.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2614,23 +2459,11 @@ packages: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} dev: true - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -2759,11 +2592,6 @@ packages: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} dev: true - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: true - /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -2953,21 +2781,6 @@ packages: engines: {node: '>= 16'} dev: true - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} @@ -3120,11 +2933,6 @@ packages: engines: {node: '>= 6'} dev: true - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true - /comment-json@4.2.4: resolution: {integrity: sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==} engines: {node: '>= 6'} @@ -3198,13 +3006,6 @@ packages: proto-list: 1.2.4 dev: true - /conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} - dependencies: - compare-func: 2.0.0 - dev: true - /conventional-changelog-angular@8.0.0: resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} engines: {node: '>=18'} @@ -3212,13 +3013,6 @@ packages: compare-func: 2.0.0 dev: true - /conventional-changelog-conventionalcommits@7.0.2: - resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} - engines: {node: '>=16'} - dependencies: - compare-func: 2.0.0 - dev: true - /conventional-changelog-writer@8.0.0: resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} engines: {node: '>=18'} @@ -3240,17 +3034,6 @@ packages: engines: {node: '>=18'} dev: true - /conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 - dev: true - /conventional-commits-parser@6.0.0: resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} engines: {node: '>=18'} @@ -3281,6 +3064,7 @@ packages: /cosmiconfig-typescript-loader@5.0.0(@types/node@16.18.93)(cosmiconfig@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} + requiresBuild: true peerDependencies: '@types/node': '*' cosmiconfig: '>=8.2' @@ -3291,6 +3075,7 @@ packages: jiti: 1.21.0 typescript: 5.4.3 dev: true + optional: true /cosmiconfig@8.3.6(typescript@5.4.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} @@ -3324,10 +3109,6 @@ packages: typescript: 5.4.3 dev: true - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -3491,11 +3272,6 @@ packages: - typescript dev: true - /dargs@8.1.0: - resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} - engines: {node: '>=12'} - dev: true - /data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} @@ -3663,11 +3439,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -4623,15 +4394,6 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /find-up@7.0.0: - resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} - engines: {node: '>=18'} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - unicorn-magic: 0.1.0 - dev: true - /find-versions@6.0.0: resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} engines: {node: '>=18'} @@ -4845,16 +4607,6 @@ packages: traverse: 0.6.8 dev: true - /git-raw-commits@4.0.0: - resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} - engines: {node: '>=16'} - hasBin: true - dependencies: - dargs: 8.1.0 - meow: 12.1.1 - split2: 4.2.0 - dev: true - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5340,13 +5092,6 @@ packages: has-bigints: 1.0.2 dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.3.0 - dev: true - /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -5540,13 +5285,6 @@ packages: has-symbols: 1.0.3 dev: true - /is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - dependencies: - text-extensions: 2.4.0 - dev: true - /is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} @@ -5800,11 +5538,6 @@ packages: graceful-fs: 4.2.11 dev: true - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true - /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: @@ -5942,21 +5675,10 @@ packages: dependencies: p-locate: 5.0.0 - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: true - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: true - /lodash.capitalize@4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true @@ -5977,10 +5699,6 @@ packages: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} dev: true - /lodash.kebabcase@4.1.1: - resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - dev: true - /lodash.map@4.6.0: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true @@ -5990,28 +5708,20 @@ packages: /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + requiresBuild: true dev: true - - /lodash.snakecase@4.1.1: - resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - dev: true - - /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - dev: true + optional: true /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + requiresBuild: true dev: true + optional: true /lodash.uniqby@4.7.0: resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} dev: true - /lodash.upperfirst@4.3.1: - resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - dev: true - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -6102,10 +5812,6 @@ packages: semver: 7.6.3 dev: true - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - /map-age-cleaner@0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} @@ -6245,11 +5951,6 @@ packages: mimic-fn: 3.1.0 dev: true - /meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - dev: true - /meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -6373,11 +6074,6 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /mylas@2.1.13: - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} - engines: {node: '>=12.0.0'} - dev: true - /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -6756,13 +6452,6 @@ packages: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: true - /p-locate@2.0.0: resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} engines: {node: '>=4'} @@ -6783,13 +6472,6 @@ packages: dependencies: p-limit: 3.1.0 - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -6925,11 +6607,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -7027,13 +6704,6 @@ packages: load-json-file: 4.0.0 dev: true - /plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} - dependencies: - queue-lit: 1.5.2 - dev: true - /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -7154,11 +6824,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} - dev: true - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -7253,13 +6918,6 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -7813,11 +7471,6 @@ packages: readable-stream: 3.6.2 dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true - /ssri@10.0.5: resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8056,11 +7709,6 @@ packages: minimatch: 9.0.5 dev: true - /text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -8186,49 +7834,6 @@ packages: typescript: 5.4.3 dev: false - /ts-node@10.9.2(@types/node@16.18.93)(typescript@5.4.3): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 16.18.93 - acorn: 8.12.0 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.4.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /tsc-alias@1.8.8: - resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} - hasBin: true - dependencies: - chokidar: 3.6.0 - commander: 9.5.0 - globby: 11.1.0 - mylas: 2.1.13 - normalize-path: 3.0.0 - plimit-lit: 1.6.1 - dev: true - /tsc-files@1.1.4(typescript@5.4.3): resolution: {integrity: sha512-RePsRsOLru3BPpnf237y1Xe1oCGta8rmSYzM76kYo5tLGsv5R2r3s64yapYorGTPuuLyfS9NVbh9ydzmvNie2w==} hasBin: true @@ -8476,10 +8081,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -8815,20 +8416,10 @@ packages: yargs-parser: 21.1.1 dev: true - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - /yoctocolors@2.0.2: resolution: {integrity: sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==} engines: {node: '>=18'}