@mnaoumov/typescript-dev-toolkit 0.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +15 -1
- package/bundlers/esbuild-impl/change-extension-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/custom-esbuild-options-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/fix-esm-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/index/package.json +6 -0
- package/bundlers/esbuild-impl/package.json +6 -0
- package/bundlers/esbuild-impl/preprocess-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/svelte-wrapper-plugin/package.json +6 -0
- package/bundlers/index/package.json +6 -0
- package/bundlers/package.json +6 -0
- package/dist/lib/cjs/build.cjs +191 -0
- package/dist/lib/cjs/build.d.cts +59 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.cjs +139 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.d.cts +25 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +96 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +14 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.cjs +106 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.d.cts +13 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +111 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +6 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +211 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +143 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +129 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +14 -0
- package/dist/lib/cjs/bundlers/index.cjs +99 -0
- package/dist/lib/cjs/bundlers/index.d.cts +2 -0
- package/dist/lib/cjs/check-project-types.cjs +163 -0
- package/dist/lib/cjs/check-project-types.d.cts +92 -0
- package/dist/lib/cjs/cli-utils.cjs +276 -0
- package/dist/lib/cjs/cli-utils.d.cts +123 -0
- package/dist/lib/cjs/code-generator.cjs +96 -0
- package/dist/lib/cjs/code-generator.d.cts +14 -0
- package/dist/lib/cjs/commitlint-config.cjs +110 -0
- package/dist/lib/cjs/commitlint-config.d.cts +14 -0
- package/dist/lib/cjs/commitlint-forbidden-patterns.cjs +110 -0
- package/dist/lib/cjs/commitlint-forbidden-patterns.d.cts +37 -0
- package/dist/lib/cjs/commitlint-spellcheck-header.cjs +126 -0
- package/dist/lib/cjs/commitlint-spellcheck-header.d.cts +40 -0
- package/dist/lib/cjs/env-toggle.cjs +133 -0
- package/dist/lib/cjs/env-toggle.d.cts +42 -0
- package/dist/lib/cjs/exec.cjs +455 -0
- package/dist/lib/cjs/exec.d.cts +162 -0
- package/dist/lib/cjs/forbidden-patterns.cjs +157 -0
- package/dist/lib/cjs/forbidden-patterns.d.cts +57 -0
- package/dist/lib/cjs/formatters/dprint.cjs +108 -0
- package/dist/lib/cjs/formatters/dprint.d.cts +33 -0
- package/dist/lib/cjs/formatters/index.cjs +99 -0
- package/dist/lib/cjs/formatters/index.d.cts +2 -0
- package/dist/lib/cjs/fs.cjs +123 -0
- package/dist/lib/cjs/fs.d.cts +80 -0
- package/dist/lib/cjs/gate.cjs +140 -0
- package/dist/lib/cjs/gate.d.cts +93 -0
- package/dist/lib/cjs/git.cjs +109 -0
- package/dist/lib/cjs/git.d.cts +37 -0
- package/dist/lib/cjs/index.cjs +186 -0
- package/dist/lib/cjs/index.d.cts +35 -0
- package/dist/lib/cjs/json.cjs +141 -0
- package/dist/lib/cjs/json.d.cts +102 -0
- package/dist/lib/cjs/library-build.cjs +483 -0
- package/dist/lib/cjs/library-build.d.cts +101 -0
- package/dist/lib/cjs/library-references.d.cts +5 -0
- package/dist/lib/cjs/linters/cspell-content.cjs +124 -0
- package/dist/lib/cjs/linters/cspell-content.d.cts +46 -0
- package/dist/lib/cjs/linters/cspell.cjs +103 -0
- package/dist/lib/cjs/linters/cspell.d.cts +36 -0
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.cjs +94 -0
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.d.cts +49 -0
- package/dist/lib/cjs/linters/eslint-config.cjs +1068 -0
- package/dist/lib/cjs/linters/eslint-config.d.cts +123 -0
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +130 -0
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.d.cts +27 -0
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +116 -0
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.d.cts +26 -0
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +132 -0
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +13 -0
- package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +175 -0
- package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.cjs +290 -0
- package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.cjs +265 -0
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.d.cts +41 -0
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.cjs +134 -0
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.d.cts +20 -0
- package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.cjs +217 -0
- package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.d.cts +36 -0
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.cjs +126 -0
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.cjs +125 -0
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.d.cts +20 -0
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.cjs +181 -0
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.d.cts +14 -0
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.cjs +217 -0
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.cjs +92 -0
- package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.d.cts +18 -0
- package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.cjs +92 -0
- package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.d.cts +23 -0
- package/dist/lib/cjs/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +20 -0
- package/dist/lib/cjs/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +17 -0
- package/dist/lib/cjs/linters/eslint.cjs +196 -0
- package/dist/lib/cjs/linters/eslint.d.cts +74 -0
- package/dist/lib/cjs/linters/index.cjs +138 -0
- package/dist/lib/cjs/linters/index.d.cts +15 -0
- package/dist/lib/cjs/linters/lint-ignores.cjs +91 -0
- package/dist/lib/cjs/linters/lint-ignores.d.cts +30 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +169 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +11 -0
- package/dist/lib/cjs/linters/markdownlint-content.cjs +120 -0
- package/dist/lib/cjs/linters/markdownlint-content.d.cts +47 -0
- package/dist/lib/cjs/linters/markdownlint-ignores.cjs +95 -0
- package/dist/lib/cjs/linters/markdownlint-ignores.d.cts +35 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +99 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
- package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.cjs +152 -0
- package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.d.cts +35 -0
- package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1344 -0
- package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2.d.cts +67 -0
- package/dist/lib/cjs/linters/markdownlint.cjs +151 -0
- package/dist/lib/cjs/linters/markdownlint.d.cts +32 -0
- package/dist/lib/cjs/linters/over-exposure.cjs +685 -0
- package/dist/lib/cjs/linters/over-exposure.d.cts +357 -0
- package/dist/lib/cjs/nano-staged-config.cjs +148 -0
- package/dist/lib/cjs/nano-staged-config.d.cts +54 -0
- package/dist/lib/cjs/npm-publish.cjs +93 -0
- package/dist/lib/cjs/npm-publish.d.cts +19 -0
- package/dist/lib/cjs/npm-run.cjs +120 -0
- package/dist/lib/cjs/npm-run.d.cts +34 -0
- package/dist/lib/cjs/npm.cjs +200 -0
- package/dist/lib/cjs/npm.d.cts +168 -0
- package/dist/lib/cjs/package-lock-integrity.cjs +134 -0
- package/dist/lib/cjs/package-lock-integrity.d.cts +38 -0
- package/dist/lib/cjs/package-manager.cjs +291 -0
- package/dist/lib/cjs/package-manager.d.cts +93 -0
- package/dist/lib/cjs/released-issues.cjs +178 -0
- package/dist/lib/cjs/released-issues.d.cts +79 -0
- package/dist/lib/cjs/repo-paths.cjs +167 -0
- package/dist/lib/cjs/repo-paths.d.cts +318 -0
- package/dist/lib/cjs/root.cjs +150 -0
- package/dist/lib/cjs/root.d.cts +107 -0
- package/dist/lib/cjs/test-runners/index.cjs +102 -0
- package/dist/lib/cjs/test-runners/index.d.cts +3 -0
- package/dist/lib/cjs/test-runners/vitest-config.cjs +126 -0
- package/dist/lib/cjs/test-runners/vitest-config.d.cts +90 -0
- package/dist/lib/cjs/test-runners/vitest.cjs +115 -0
- package/dist/lib/cjs/test-runners/vitest.d.cts +52 -0
- package/dist/lib/cjs/validate-declarations.cjs +120 -0
- package/dist/lib/cjs/validate-declarations.d.cts +37 -0
- package/dist/lib/cjs/version.cjs +758 -0
- package/dist/lib/cjs/version.d.cts +418 -0
- package/dist/lib/esm/build.d.mts +59 -0
- package/dist/lib/esm/build.mjs +165 -0
- package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.d.mts +25 -0
- package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.mjs +101 -0
- package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +14 -0
- package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +59 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.d.mts +13 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.mjs +69 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +6 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +60 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +143 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +176 -0
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +14 -0
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +82 -0
- package/dist/lib/esm/bundlers/index.d.mts +2 -0
- package/dist/lib/esm/bundlers/index.mjs +52 -0
- package/dist/lib/esm/check-project-types.d.mts +92 -0
- package/dist/lib/esm/check-project-types.mjs +123 -0
- package/dist/lib/esm/cli-utils.d.mts +123 -0
- package/dist/lib/esm/cli-utils.mjs +225 -0
- package/dist/lib/esm/code-generator.d.mts +14 -0
- package/dist/lib/esm/code-generator.mjs +59 -0
- package/dist/lib/esm/commitlint-config.d.mts +14 -0
- package/dist/lib/esm/commitlint-config.mjs +79 -0
- package/dist/lib/esm/commitlint-forbidden-patterns.d.mts +37 -0
- package/dist/lib/esm/commitlint-forbidden-patterns.mjs +75 -0
- package/dist/lib/esm/commitlint-spellcheck-header.d.mts +40 -0
- package/dist/lib/esm/commitlint-spellcheck-header.mjs +87 -0
- package/dist/lib/esm/env-toggle.d.mts +42 -0
- package/dist/lib/esm/env-toggle.mjs +84 -0
- package/dist/lib/esm/exec.d.mts +162 -0
- package/dist/lib/esm/exec.mjs +410 -0
- package/dist/lib/esm/forbidden-patterns.d.mts +57 -0
- package/dist/lib/esm/forbidden-patterns.mjs +108 -0
- package/dist/lib/esm/formatters/dprint.d.mts +33 -0
- package/dist/lib/esm/formatters/dprint.mjs +75 -0
- package/dist/lib/esm/formatters/index.d.mts +2 -0
- package/dist/lib/esm/formatters/index.mjs +52 -0
- package/dist/lib/esm/fs.d.mts +80 -0
- package/dist/lib/esm/fs.mjs +89 -0
- package/dist/lib/esm/gate.d.mts +93 -0
- package/dist/lib/esm/gate.mjs +106 -0
- package/dist/lib/esm/git.d.mts +37 -0
- package/dist/lib/esm/git.mjs +72 -0
- package/dist/lib/esm/index.d.mts +35 -0
- package/dist/lib/esm/index.mjs +110 -0
- package/dist/lib/esm/json.d.mts +102 -0
- package/dist/lib/esm/json.mjs +106 -0
- package/dist/lib/esm/library-build.d.mts +101 -0
- package/dist/lib/esm/library-build.mjs +443 -0
- package/dist/lib/esm/library-references.d.mts +5 -0
- package/dist/lib/esm/linters/cspell-content.d.mts +46 -0
- package/dist/lib/esm/linters/cspell-content.mjs +87 -0
- package/dist/lib/esm/linters/cspell.d.mts +36 -0
- package/dist/lib/esm/linters/cspell.mjs +69 -0
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.d.mts +49 -0
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.mjs +57 -0
- package/dist/lib/esm/linters/eslint-config.d.mts +123 -0
- package/dist/lib/esm/linters/eslint-config.mjs +1022 -0
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.d.mts +27 -0
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +93 -0
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.d.mts +26 -0
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +77 -0
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +13 -0
- package/dist/lib/esm/linters/eslint-rules/index.mjs +74 -0
- package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +144 -0
- package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.mjs +277 -0
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.d.mts +41 -0
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.mjs +227 -0
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.d.mts +20 -0
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.mjs +96 -0
- package/dist/lib/esm/linters/eslint-rules/params-options-name-match.d.mts +36 -0
- package/dist/lib/esm/linters/eslint-rules/params-options-name-match.mjs +179 -0
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.mjs +88 -0
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.d.mts +20 -0
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.mjs +87 -0
- package/dist/lib/esm/linters/eslint-rules/require-method-template.d.mts +14 -0
- package/dist/lib/esm/linters/eslint-rules/require-method-template.mjs +142 -0
- package/dist/lib/esm/linters/eslint-rules/require-super-call.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/require-super-call.mjs +183 -0
- package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.d.mts +18 -0
- package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.mjs +55 -0
- package/dist/lib/esm/linters/eslint-rules/ts-estree-node.d.mts +23 -0
- package/dist/lib/esm/linters/eslint-rules/ts-estree-node.mjs +55 -0
- package/dist/lib/esm/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +20 -0
- package/dist/lib/esm/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +17 -0
- package/dist/lib/esm/linters/eslint.d.mts +74 -0
- package/dist/lib/esm/linters/eslint.mjs +159 -0
- package/dist/lib/esm/linters/index.d.mts +15 -0
- package/dist/lib/esm/linters/index.mjs +78 -0
- package/dist/lib/esm/linters/lint-ignores.d.mts +30 -0
- package/dist/lib/esm/linters/lint-ignores.mjs +54 -0
- package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +11 -0
- package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +122 -0
- package/dist/lib/esm/linters/markdownlint-content.d.mts +47 -0
- package/dist/lib/esm/linters/markdownlint-content.mjs +83 -0
- package/dist/lib/esm/linters/markdownlint-ignores.d.mts +35 -0
- package/dist/lib/esm/linters/markdownlint-ignores.mjs +57 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.mjs +52 -0
- package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.d.mts +35 -0
- package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.mjs +114 -0
- package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1344 -0
- package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2.d.mts +67 -0
- package/dist/lib/esm/linters/markdownlint.d.mts +32 -0
- package/dist/lib/esm/linters/markdownlint.mjs +124 -0
- package/dist/lib/esm/linters/over-exposure.d.mts +357 -0
- package/dist/lib/esm/linters/over-exposure.mjs +672 -0
- package/dist/lib/esm/nano-staged-config.d.mts +54 -0
- package/dist/lib/esm/nano-staged-config.mjs +103 -0
- package/dist/lib/esm/npm-publish.d.mts +19 -0
- package/dist/lib/esm/npm-publish.mjs +56 -0
- package/dist/lib/esm/npm-run.d.mts +34 -0
- package/dist/lib/esm/npm-run.mjs +81 -0
- package/dist/lib/esm/npm.d.mts +168 -0
- package/dist/lib/esm/npm.mjs +155 -0
- package/dist/lib/esm/package-lock-integrity.d.mts +38 -0
- package/dist/lib/esm/package-lock-integrity.mjs +99 -0
- package/dist/lib/esm/package-manager.d.mts +93 -0
- package/dist/lib/esm/package-manager.mjs +245 -0
- package/dist/lib/esm/released-issues.d.mts +79 -0
- package/dist/lib/esm/released-issues.mjs +143 -0
- package/dist/lib/esm/repo-paths.d.mts +318 -0
- package/dist/lib/esm/repo-paths.mjs +130 -0
- package/dist/lib/esm/root.d.mts +107 -0
- package/dist/lib/esm/root.mjs +115 -0
- package/dist/lib/esm/test-runners/index.d.mts +3 -0
- package/dist/lib/esm/test-runners/index.mjs +54 -0
- package/dist/lib/esm/test-runners/vitest-config.d.mts +90 -0
- package/dist/lib/esm/test-runners/vitest-config.mjs +86 -0
- package/dist/lib/esm/test-runners/vitest.d.mts +52 -0
- package/dist/lib/esm/test-runners/vitest.mjs +76 -0
- package/dist/lib/esm/validate-declarations.d.mts +37 -0
- package/dist/lib/esm/validate-declarations.mjs +87 -0
- package/dist/lib/esm/version.d.mts +418 -0
- package/dist/lib/esm/version.mjs +723 -0
- package/formatters/dprint/package.json +6 -0
- package/formatters/index/package.json +6 -0
- package/formatters/package.json +6 -0
- package/linters/cspell/package.json +6 -0
- package/linters/cspell-content/package.json +6 -0
- package/linters/eslint/package.json +6 -0
- package/linters/eslint-agnostic-core-boundary/package.json +6 -0
- package/linters/eslint-config/package.json +6 -0
- package/linters/eslint-no-restricted-syntax/package.json +6 -0
- package/linters/eslint-rules/in-house-plugin/package.json +6 -0
- package/linters/eslint-rules/index/package.json +6 -0
- package/linters/eslint-rules/no-async-callback-to-unsafe-return/package.json +6 -0
- package/linters/eslint-rules/no-unresolved-jsdoc-link/package.json +6 -0
- package/linters/eslint-rules/no-unused-params-members/package.json +6 -0
- package/linters/eslint-rules/no-used-underscore-variables/package.json +6 -0
- package/linters/eslint-rules/package.json +6 -0
- package/linters/eslint-rules/params-options-name-match/package.json +6 -0
- package/linters/eslint-rules/prefer-noop-async/package.json +6 -0
- package/linters/eslint-rules/readonly-params-options-result-members/package.json +6 -0
- package/linters/eslint-rules/require-method-template/package.json +6 -0
- package/linters/eslint-rules/require-super-call/package.json +6 -0
- package/linters/eslint-rules/rule-tester-helper/package.json +6 -0
- package/linters/eslint-rules/ts-estree-node/package.json +6 -0
- package/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs/package.json +4 -0
- package/linters/eslint-types/@types/eslint-plugin-verify-tsdoc/package.json +4 -0
- package/linters/index/package.json +6 -0
- package/linters/lint-ignores/package.json +6 -0
- package/linters/markdownlint/package.json +6 -0
- package/linters/markdownlint-cli2-config/package.json +6 -0
- package/linters/markdownlint-content/package.json +6 -0
- package/linters/markdownlint-ignores/package.json +6 -0
- package/linters/markdownlint-rules/index/package.json +6 -0
- package/linters/markdownlint-rules/no-soft-break-in-paragraph/package.json +6 -0
- package/linters/markdownlint-rules/package.json +6 -0
- package/linters/markdownlint-types/@types/markdownlint-cli2/package.json +4 -0
- package/linters/markdownlint-types/@types/markdownlint-cli2-config-schema/package.json +4 -0
- package/linters/over-exposure/package.json +6 -0
- package/linters/package.json +6 -0
- package/package.json +329 -13
- package/test-runners/index/package.json +6 -0
- package/test-runners/package.json +6 -0
- package/test-runners/vitest/package.json +6 -0
- package/test-runners/vitest-config/package.json +6 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const existingProcess = globalThis.process;
|
|
23
|
+
|
|
24
|
+
if (!existingProcess) {
|
|
25
|
+
globalThis.process = browserProcess;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (existingProcess.versions?.node) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const existingProcessRecord = existingProcess;
|
|
34
|
+
|
|
35
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
+
existingProcessRecord[key] ??= value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
existingProcessRecord['browser'] = true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function keepName($unknown) {
|
|
43
|
+
return $unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
(function initCjs() {
|
|
47
|
+
const globalThisRecord = globalThis;
|
|
48
|
+
ensureDisposeSymbols();
|
|
49
|
+
globalThisRecord['__name'] ??= keepName;
|
|
50
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
51
|
+
|
|
52
|
+
ensureBrowserProcess();
|
|
53
|
+
|
|
54
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
55
|
+
function extractDefault(module) {
|
|
56
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
57
|
+
}
|
|
58
|
+
})();
|
|
59
|
+
})();
|
|
60
|
+
|
|
61
|
+
"use strict";
|
|
62
|
+
var __defProp = Object.defineProperty;
|
|
63
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
64
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
65
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
66
|
+
var __export = (target, all) => {
|
|
67
|
+
for (var name in all)
|
|
68
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
69
|
+
};
|
|
70
|
+
var __copyProps = (to, from, except, desc) => {
|
|
71
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
72
|
+
for (let key of __getOwnPropNames(from))
|
|
73
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
74
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
75
|
+
}
|
|
76
|
+
return to;
|
|
77
|
+
};
|
|
78
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
79
|
+
var vitest_config_exports = {};
|
|
80
|
+
__export(vitest_config_exports, {
|
|
81
|
+
DEFAULT_VITEST_REPORTERS: () => DEFAULT_VITEST_REPORTERS,
|
|
82
|
+
DEFAULT_VITEST_TEST_EXCLUDE: () => DEFAULT_VITEST_TEST_EXCLUDE,
|
|
83
|
+
LIBRARY_VITEST_COVERAGE: () => LIBRARY_VITEST_COVERAGE,
|
|
84
|
+
defineLibraryVitestConfig: () => defineLibraryVitestConfig
|
|
85
|
+
});
|
|
86
|
+
module.exports = __toCommonJS(vitest_config_exports);
|
|
87
|
+
const DEFAULT_VITEST_REPORTERS = ["default"];
|
|
88
|
+
const DEFAULT_VITEST_TEST_EXCLUDE = ["node_modules", "dist"];
|
|
89
|
+
const LIBRARY_VITEST_COVERAGE = {
|
|
90
|
+
exclude: [
|
|
91
|
+
"src/**/@types/**",
|
|
92
|
+
"src/**/index.ts",
|
|
93
|
+
"src/**/*.d.ts",
|
|
94
|
+
"src/**/*.test.ts",
|
|
95
|
+
"src/test-helpers/**"
|
|
96
|
+
],
|
|
97
|
+
include: ["src/**/*.ts"],
|
|
98
|
+
provider: "v8",
|
|
99
|
+
reporter: ["text", "lcov", "html"],
|
|
100
|
+
reportsDirectory: "./coverage"
|
|
101
|
+
};
|
|
102
|
+
function defineLibraryVitestConfig(params) {
|
|
103
|
+
const config = {
|
|
104
|
+
plugins: params.plugins ?? [],
|
|
105
|
+
test: {
|
|
106
|
+
coverage: LIBRARY_VITEST_COVERAGE,
|
|
107
|
+
exclude: [...DEFAULT_VITEST_TEST_EXCLUDE],
|
|
108
|
+
globals: false,
|
|
109
|
+
onConsoleLog: () => false,
|
|
110
|
+
projects: params.projects,
|
|
111
|
+
reporters: [...DEFAULT_VITEST_REPORTERS]
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
if (params.resolve) {
|
|
115
|
+
config.resolve = params.resolve;
|
|
116
|
+
}
|
|
117
|
+
return config;
|
|
118
|
+
}
|
|
119
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
+
0 && (module.exports = {
|
|
121
|
+
DEFAULT_VITEST_REPORTERS,
|
|
122
|
+
DEFAULT_VITEST_TEST_EXCLUDE,
|
|
123
|
+
LIBRARY_VITEST_COVERAGE,
|
|
124
|
+
defineLibraryVitestConfig
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy92aXRlc3QtY29uZmlnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogU2hhcmVkIHZpdGVzdCBjb25maWd1cmF0aW9uIGZvciBUeXBlU2NyaXB0IExJQlJBUlkgcGFja2FnZXM6IHRoZSBwaW5uZWQgcmVwb3J0ZXJzLCB0aGUgdGVzdCBleGNsdWRlcywgdGhlIGNvdmVyYWdlXG4gKiBibG9jaywgYW5kIHtAbGluayBkZWZpbmVMaWJyYXJ5Vml0ZXN0Q29uZmlnfSwgd2hpY2ggd3JhcHMgYSBwYWNrYWdlJ3Mgb3duIHByb2plY3RzIGluIHRoZW0uXG4gKlxuICogVGhlIE9ic2lkaWFuIHBsdWdpbiBjb25maWd1cmF0aW9uIChgQG1uYW91bW92L29ic2lkaWFuLWRldi10b29sa2l0L3Rlc3QtcnVubmVycy92aXRlc3QtY29uZmlnYCkgYnVpbGRzIG9uIHRoZSBzYW1lXG4gKiByZXBvcnRlcnMgYW5kIGV4Y2x1ZGVzLCBzbyB0aGUgdHdvIGNhbm5vdCBkcmlmdCBhcGFydC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIFRlc3RQcm9qZWN0Q29uZmlndXJhdGlvbixcbiAgVml0ZVVzZXJDb25maWdcbn0gZnJvbSAndml0ZXN0L2NvbmZpZyc7XG5pbXBvcnQgdHlwZSB7IFJlcG9ydGVyIH0gZnJvbSAndml0ZXN0L25vZGUnO1xuXG4vKipcbiAqIE9uZSBlbnRyeSBvZiBhIHZpdGVzdCBgcmVwb3J0ZXJzYCBsaXN0OiB0aGUgbmFtZSBvZiBhIGJ1aWx0LWluIHJlcG9ydGVyIChgJ2RlZmF1bHQnYCwgYCdqdW5pdCdgLFxuICogYCdtaW5pbWFsJ2AsIFx1MjAyNikgb3IgYSByZXBvcnRlciBpbnN0YW5jZS5cbiAqXG4gKiBTcGVsbGVkIG91dCByYXRoZXIgdGhhbiBkZXJpdmVkIGZyb20gdml0ZXN0J3Mgb3duIG9wdGlvbiB0eXBlLCB3aG9zZSBwYXJ0cyAoYFJlcG9ydGVyTmFtZWAsXG4gKiBgSW5saW5lUmVwb3J0ZXJgKSBhcmUgaW50ZXJuYWwgdG8gdml0ZXN0IGFuZCBleHBvcnRlZCBmcm9tIG5vbmUgb2YgaXRzIGVudHJ5IHBvaW50cy4gTmFtaW5nIHRoZSB0d29cbiAqIHNoYXBlcyBkaXJlY3RseSBrZWVwcyBhIHJlcG9ydGVycyBsaXN0IGEgcGxhaW4gYXJyYXkgYSBjYWxsZXIgcHVzaGVzIG9udG8sIHdoaWNoIHRoZSBvcHRpb24gdHlwZSBpdHNlbGZcbiAqIGNhbm5vdCBiZSwgYmVjYXVzZSBpdCBpcyBhIHVuaW9uIG9mIGFuIGFycmF5IHdpdGggYSBzaW5nbGUgdmFsdWUuIFZpdGVzdCdzIHRoaXJkIGFjY2VwdGVkIHNoYXBlLCBhXG4gKiBgW25hbWUsIG9wdGlvbnNdYCB0dXBsZSwgaXMgZGVsaWJlcmF0ZWx5IGxlZnQgb3V0OiBubyByZXBvc2l0b3J5IG9uIHRoaXMgdG9vbGNoYWluIHVzZXMgb25lLlxuICovXG5leHBvcnQgdHlwZSBWaXRlc3RSZXBvcnRlciA9IFJlcG9ydGVyIHwgc3RyaW5nO1xuXG4vKipcbiAqIFRoZSByZXBvcnRlcnMgZXZlcnkgcmVwbyBvbiB0aGlzIHRvb2xjaGFpbiBwcmludHMgdGhyb3VnaC5cbiAqXG4gKiAqKlBpbm5lZCwgYmVjYXVzZSB2aXRlc3QncyBmYWxsYmFjayBpcyBub3Qgb25lIHJlcG9ydGVyIGJ1dCB0d28uKiogQW4gdW5zZXQgYHJlcG9ydGVyc2AgcmVzb2x2ZXMgdG9cbiAqIGBpc0FnZW50ID8gJ21pbmltYWwnIDogJ2RlZmF1bHQnYCwgYW5kIGBzdGQtZW52YCdzIGBpc0FnZW50YCBpcyB0cnVlIGluc2lkZSBldmVyeSBBSSBjb2Rpbmcgc2Vzc2lvbiBcdTIwMTRcbiAqIGl0IHJlYWRzIGBBSV9BR0VOVGAgcGx1cyBhIGRvemVuIHRvb2wtc3BlY2lmaWMgdmFyaWFibGVzLiBgTWluaW1hbFJlcG9ydGVyYCBleHRlbmRzIHRoZSBkZWZhdWx0IG9uZVxuICogd2l0aCBgc3VtbWFyeTogZmFsc2VgLCBgc2lsZW50OiAncGFzc2VkLW9ubHknYCwgYW5kIGEgYHByaW50VGVzdE1vZHVsZWAgdGhhdCByZXR1cm5zIGVhcmx5IHVubGVzcyB0aGVcbiAqIG1vZHVsZSBGQUlMRUQuIFNvIHRoZSBTQU1FIGBucG0gcnVuIHRlc3RgLCBvbiB0aGUgU0FNRSB0cmVlLCBwcmludHMgYSBsaW5lIHBlciB0ZXN0IGZpbGUgZm9yIGFcbiAqIGRldmVsb3BlciBhbmQgbm90IG9uZSBmb3IgYSBzZXNzaW9uLCBhbmQgc3dhbGxvd3MgYSBwYXNzaW5nIHRlc3QncyBjb25zb2xlIG91dHB1dCBpbiB0aGUgc2Vjb25kIGNhc2VcbiAqIG9ubHkuIE1lYXN1cmVkIG9uIHRoZSBgdW5pdC10ZXN0czpzY3JpcHQtdXRpbHNgIHByb2plY3Qgb2YgYG9ic2lkaWFuLWRldi11dGlsc2AgKDQzIGZpbGVzLCB2aXRlc3QgNS4wLjEsXG4gKiAyMDI2LTA5LTIzKTogNDYgcGVyLWZpbGUgbGluZXMgb3ZlciBhIDU4LWxpbmUgbG9nIHBpbm5lZCwgMCBvdmVyIGEgMTMtbGluZSBsb2cgdW5zZXQuXG4gKlxuICogQSBnYXRlIHNob3VsZCBub3QgcmVwb3J0IGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbiB3aG8gcnVucyBpdCwgYW5kIGEgYGNvbnNvbGUubG9nYCBhIGRldmVsb3BlciBhZGRzXG4gKiB0byBmaW5kIHNvbWV0aGluZyBzaG91bGQgbm90IHZhbmlzaCBiZWNhdXNlIGEgc2Vzc2lvbiByYW4gdGhlIHN1aXRlLiBUaGUgY29zdCBvZiB0aGUgcGluIGlzIHRoZSB+NDVcbiAqIGxpbmVzIGFib3ZlLlxuICpcbiAqICoqV2hhdCB0aGlzIGRlbGliZXJhdGVseSBkb2VzIE5PVCBjYXJyeSBpcyBhIHJlcG9ydGVyIG5hbWluZyB0aGUgZmlsZSBhIGRlYWQgcG9vbCB3b3JrZXIgdG9vayB3aXRoIGl0LFxuICogYmVjYXVzZSB2aXRlc3QgNSBhbHJlYWR5IGRvZXMgdGhhdCBpdHNlbGYuKiogYGVtaXRVbmV4cGVjdGVkRXhpdGAgaXMgYChjb2RlLCBzaWduYWwpID0+IFx1MjAyNmAgdGhlcmUsIGJ1aWxkaW5nXG4gKiBpdHMgbWVzc2FnZSBmcm9tIHRoZSBleGl0IGNvZGUsIHRoZSBzaWduYWwsIHRoZSBydW5uZXIgc3RhdGUgYW5kIHRoZSBmaWxlcyB0aGUgd29ya2VyIGhlbGQuIERyaXZlblxuICogYWdhaW5zdCByZWFsIHJ1bnMgb24gMjAyNi0wOS0yMyBpbiBhbGwgZm91ciBzaGFwZXM6IGEgd29ya2VyIGBTSUdLSUxMYGVkIG1pZC1maWxlLCBvbmUga2lsbGVkIGF0XG4gKiBpbXBvcnQgYmVmb3JlIGNvbGxlY3Rpb24sIHRoZSBzYW1lIHVuZGVyIGBtaW5pbWFsYCwgYW5kIHRoZSByZWFsaXN0aWMgb25lIFx1MjAxNCB0aGUgZHlpbmcgZmlsZSBhbW9uZyA0MlxuICogb3RoZXJzIGluIGEgcGFyYWxsZWwgcnVuIFx1MjAxNCB3aGljaCByZXBvcnRlZCBgNDIgcGFzc2VkICg0MylgIEFORCBuYW1lZCB0aGUgZmlsZS4gVW5kZXIgdml0ZXN0IDQgbm9uZSBvZlxuICogdGhhdCBleGlzdGVkIGFuZCB0aGUgcmVhZGVyIHdhcyBsZWZ0IHN1YnRyYWN0aW5nIG92ZXIgZmlsZSBuYW1lcyB0aGUgbG9nIGRpZCBub3QgY29udGFpbiwgd2hpY2ggaXNcbiAqIHdoYXQgYSByZWNvbmNpbGluZyByZXBvcnRlciB3YXMgd3JpdHRlbiBmb3I7IG9uIDUgaXQgd291bGQgYmUgYSBtb2R1bGUsIGEgdGVzdCBmaWxlIGFuZCBhIGNvdmVyYWdlXG4gKiBidXJkZW4gZm9yIGV2ZXJ5IGNvbnN1bWVyLCBjYXJyeWluZyBhIGNsYWltIHRoYXQgaXMgbm8gbG9uZ2VyIHRydWUuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1ZJVEVTVF9SRVBPUlRFUlM6IHJlYWRvbmx5IFZpdGVzdFJlcG9ydGVyW10gPSBbJ2RlZmF1bHQnXTtcblxuLyoqXG4gKiBGb2xkZXJzIHZpdGVzdCBuZXZlciBjb2xsZWN0cyB0ZXN0cyBmcm9tLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9WSVRFU1RfVEVTVF9FWENMVURFOiByZWFkb25seSBzdHJpbmdbXSA9IFsnbm9kZV9tb2R1bGVzJywgJ2Rpc3QnXTtcblxuLyoqXG4gKiBUaGUgY292ZXJhZ2Ugb3B0aW9ucyBvZiBhIGxpYnJhcnkgcGFja2FnZTogdjggb3ZlciBpdHMgb3duIGBzcmMvYCwgd2l0aG91dCB0aGUgZ2VuZXJhdGVkIGJhcnJlbHMsIHRoZVxuICogZGVjbGFyYXRpb25zLCB0aGUgdGVzdHMgYW5kIHRoZSB0ZXN0IGhlbHBlcnMuIFRoZSB0aHJlc2hvbGQgaXMgdGhlIGB0ZXN0OmNvdmVyYWdlYCBzY3JpcHQncyB0byBzZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBMSUJSQVJZX1ZJVEVTVF9DT1ZFUkFHRSA9IHtcbiAgZXhjbHVkZTogW1xuICAgICdzcmMvKiovQHR5cGVzLyoqJyxcbiAgICAnc3JjLyoqL2luZGV4LnRzJyxcbiAgICAnc3JjLyoqLyouZC50cycsXG4gICAgJ3NyYy8qKi8qLnRlc3QudHMnLFxuICAgICdzcmMvdGVzdC1oZWxwZXJzLyoqJ1xuICBdLFxuICBpbmNsdWRlOiBbJ3NyYy8qKi8qLnRzJ10sXG4gIHByb3ZpZGVyOiAndjgnIGFzIGNvbnN0LFxuICByZXBvcnRlcjogWyd0ZXh0JywgJ2xjb3YnLCAnaHRtbCddLFxuICByZXBvcnRzRGlyZWN0b3J5OiAnLi9jb3ZlcmFnZSdcbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGRlZmluZUxpYnJhcnlWaXRlc3RDb25maWd9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmluZUxpYnJhcnlWaXRlc3RDb25maWdQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHZpdGUgcGx1Z2lucywgZS5nLiBhIHJlc29sdmVyIG1hcHBpbmcgc2libGluZyBwYWNrYWdlcyBvbnRvIHRoZWlyIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbnM/OiBWaXRlVXNlckNvbmZpZ1sncGx1Z2lucyddO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSdzIHZpdGVzdCBwcm9qZWN0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RzOiBUZXN0UHJvamVjdENvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogVGhlIHRvcC1sZXZlbCBgcmVzb2x2ZWAgb3B0aW9ucywgYXBwbGllZCB0byBldmVyeSBwcm9qZWN0IHRoYXQgZG9lcyBub3Qgc2V0IGl0cyBvd24uXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlPzogVml0ZVVzZXJDb25maWdbJ3Jlc29sdmUnXTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgbGlicmFyeSBwYWNrYWdlJ3Mgdml0ZXN0IGNvbmZpZ3VyYXRpb246IGl0cyBvd24gcHJvamVjdHMsIHdyYXBwZWQgaW4gdGhlIHNoYXJlZCByZXBvcnRlcnMsIGV4Y2x1ZGVzIGFuZFxuICogY292ZXJhZ2UgYmxvY2ssIHdpdGggY29uc29sZSBvdXRwdXQgZnJvbSBwYXNzaW5nIHRlc3RzIHN1cHByZXNzZWQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBUaGUgdml0ZXN0IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVMaWJyYXJ5Vml0ZXN0Q29uZmlnKHBhcmFtczogRGVmaW5lTGlicmFyeVZpdGVzdENvbmZpZ1BhcmFtcyk6IFZpdGVVc2VyQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnOiBWaXRlVXNlckNvbmZpZyA9IHtcbiAgICBwbHVnaW5zOiBwYXJhbXMucGx1Z2lucyA/PyBbXSxcbiAgICB0ZXN0OiB7XG4gICAgICBjb3ZlcmFnZTogTElCUkFSWV9WSVRFU1RfQ09WRVJBR0UsXG4gICAgICBleGNsdWRlOiBbLi4uREVGQVVMVF9WSVRFU1RfVEVTVF9FWENMVURFXSxcbiAgICAgIGdsb2JhbHM6IGZhbHNlLFxuICAgICAgb25Db25zb2xlTG9nOiAoKTogZmFsc2UgPT4gZmFsc2UsXG4gICAgICBwcm9qZWN0czogcGFyYW1zLnByb2plY3RzLFxuICAgICAgcmVwb3J0ZXJzOiBbLi4uREVGQVVMVF9WSVRFU1RfUkVQT1JURVJTXVxuICAgIH1cbiAgfTtcblxuICBpZiAocGFyYW1zLnJlc29sdmUpIHtcbiAgICBjb25maWcucmVzb2x2ZSA9IHBhcmFtcy5yZXNvbHZlO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzRE8sTUFBTSwyQkFBc0QsQ0FBQyxTQUFTO0FBS3RFLE1BQU0sOEJBQWlELENBQUMsZ0JBQWdCLE1BQU07QUFNOUUsTUFBTSwwQkFBMEI7QUFBQSxFQUNyQyxTQUFTO0FBQUEsSUFDUDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQUEsRUFDQSxTQUFTLENBQUMsYUFBYTtBQUFBLEVBQ3ZCLFVBQVU7QUFBQSxFQUNWLFVBQVUsQ0FBQyxRQUFRLFFBQVEsTUFBTTtBQUFBLEVBQ2pDLGtCQUFrQjtBQUNwQjtBQTZCTyxTQUFTLDBCQUEwQixRQUF5RDtBQUNqRyxRQUFNLFNBQXlCO0FBQUEsSUFDN0IsU0FBUyxPQUFPLFdBQVcsQ0FBQztBQUFBLElBQzVCLE1BQU07QUFBQSxNQUNKLFVBQVU7QUFBQSxNQUNWLFNBQVMsQ0FBQyxHQUFHLDJCQUEyQjtBQUFBLE1BQ3hDLFNBQVM7QUFBQSxNQUNULGNBQWMsTUFBYTtBQUFBLE1BQzNCLFVBQVUsT0FBTztBQUFBLE1BQ2pCLFdBQVcsQ0FBQyxHQUFHLHdCQUF3QjtBQUFBLElBQ3pDO0FBQUEsRUFDRjtBQUVBLE1BQUksT0FBTyxTQUFTO0FBQ2xCLFdBQU8sVUFBVSxPQUFPO0FBQUEsRUFDMUI7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Shared vitest configuration for TypeScript LIBRARY packages: the pinned reporters, the test excludes, the coverage
|
|
6
|
+
* block, and {@link defineLibraryVitestConfig}, which wraps a package's own projects in them.
|
|
7
|
+
*
|
|
8
|
+
* The Obsidian plugin configuration (`@mnaoumov/obsidian-dev-toolkit/test-runners/vitest-config`) builds on the same
|
|
9
|
+
* reporters and excludes, so the two cannot drift apart.
|
|
10
|
+
*/
|
|
11
|
+
import type { TestProjectConfiguration, ViteUserConfig } from 'vitest/config' with { 'resolution-mode': 'import' };
|
|
12
|
+
import type { Reporter } from 'vitest/node' with { 'resolution-mode': 'import' };
|
|
13
|
+
/**
|
|
14
|
+
* One entry of a vitest `reporters` list: the name of a built-in reporter (`'default'`, `'junit'`,
|
|
15
|
+
* `'minimal'`, …) or a reporter instance.
|
|
16
|
+
*
|
|
17
|
+
* Spelled out rather than derived from vitest's own option type, whose parts (`ReporterName`,
|
|
18
|
+
* `InlineReporter`) are internal to vitest and exported from none of its entry points. Naming the two
|
|
19
|
+
* shapes directly keeps a reporters list a plain array a caller pushes onto, which the option type itself
|
|
20
|
+
* cannot be, because it is a union of an array with a single value. Vitest's third accepted shape, a
|
|
21
|
+
* `[name, options]` tuple, is deliberately left out: no repository on this toolchain uses one.
|
|
22
|
+
*/
|
|
23
|
+
export type VitestReporter = Reporter | string;
|
|
24
|
+
/**
|
|
25
|
+
* The reporters every repo on this toolchain prints through.
|
|
26
|
+
*
|
|
27
|
+
* **Pinned, because vitest's fallback is not one reporter but two.** An unset `reporters` resolves to
|
|
28
|
+
* `isAgent ? 'minimal' : 'default'`, and `std-env`'s `isAgent` is true inside every AI coding session —
|
|
29
|
+
* it reads `AI_AGENT` plus a dozen tool-specific variables. `MinimalReporter` extends the default one
|
|
30
|
+
* with `summary: false`, `silent: 'passed-only'`, and a `printTestModule` that returns early unless the
|
|
31
|
+
* module FAILED. So the SAME `npm run test`, on the SAME tree, prints a line per test file for a
|
|
32
|
+
* developer and not one for a session, and swallows a passing test's console output in the second case
|
|
33
|
+
* only. Measured on the `unit-tests:script-utils` project of `obsidian-dev-utils` (43 files, vitest 5.0.1,
|
|
34
|
+
* 2026-09-23): 46 per-file lines over a 58-line log pinned, 0 over a 13-line log unset.
|
|
35
|
+
*
|
|
36
|
+
* A gate should not report differently depending on who runs it, and a `console.log` a developer adds
|
|
37
|
+
* to find something should not vanish because a session ran the suite. The cost of the pin is the ~45
|
|
38
|
+
* lines above.
|
|
39
|
+
*
|
|
40
|
+
* **What this deliberately does NOT carry is a reporter naming the file a dead pool worker took with it,
|
|
41
|
+
* because vitest 5 already does that itself.** `emitUnexpectedExit` is `(code, signal) => …` there, building
|
|
42
|
+
* its message from the exit code, the signal, the runner state and the files the worker held. Driven
|
|
43
|
+
* against real runs on 2026-09-23 in all four shapes: a worker `SIGKILL`ed mid-file, one killed at
|
|
44
|
+
* import before collection, the same under `minimal`, and the realistic one — the dying file among 42
|
|
45
|
+
* others in a parallel run — which reported `42 passed (43)` AND named the file. Under vitest 4 none of
|
|
46
|
+
* that existed and the reader was left subtracting over file names the log did not contain, which is
|
|
47
|
+
* what a reconciling reporter was written for; on 5 it would be a module, a test file and a coverage
|
|
48
|
+
* burden for every consumer, carrying a claim that is no longer true.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DEFAULT_VITEST_REPORTERS: readonly VitestReporter[];
|
|
51
|
+
/**
|
|
52
|
+
* Folders vitest never collects tests from.
|
|
53
|
+
*/
|
|
54
|
+
export declare const DEFAULT_VITEST_TEST_EXCLUDE: readonly string[];
|
|
55
|
+
/**
|
|
56
|
+
* The coverage options of a library package: v8 over its own `src/`, without the generated barrels, the
|
|
57
|
+
* declarations, the tests and the test helpers. The threshold is the `test:coverage` script's to set.
|
|
58
|
+
*/
|
|
59
|
+
export declare const LIBRARY_VITEST_COVERAGE: {
|
|
60
|
+
exclude: string[];
|
|
61
|
+
include: string[];
|
|
62
|
+
provider: "v8";
|
|
63
|
+
reporter: string[];
|
|
64
|
+
reportsDirectory: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Parameters for {@link defineLibraryVitestConfig}.
|
|
68
|
+
*/
|
|
69
|
+
export interface DefineLibraryVitestConfigParams {
|
|
70
|
+
/**
|
|
71
|
+
* The vite plugins, e.g. a resolver mapping sibling packages onto their source.
|
|
72
|
+
*/
|
|
73
|
+
readonly plugins?: ViteUserConfig['plugins'];
|
|
74
|
+
/**
|
|
75
|
+
* The package's vitest projects.
|
|
76
|
+
*/
|
|
77
|
+
readonly projects: TestProjectConfiguration[];
|
|
78
|
+
/**
|
|
79
|
+
* The top-level `resolve` options, applied to every project that does not set its own.
|
|
80
|
+
*/
|
|
81
|
+
readonly resolve?: ViteUserConfig['resolve'];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Defines a library package's vitest configuration: its own projects, wrapped in the shared reporters, excludes and
|
|
85
|
+
* coverage block, with console output from passing tests suppressed.
|
|
86
|
+
*
|
|
87
|
+
* @param params - The configuration parameters.
|
|
88
|
+
* @returns The vitest configuration.
|
|
89
|
+
*/
|
|
90
|
+
export declare function defineLibraryVitestConfig(params: DefineLibraryVitestConfigParams): ViteUserConfig;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const existingProcess = globalThis.process;
|
|
23
|
+
|
|
24
|
+
if (!existingProcess) {
|
|
25
|
+
globalThis.process = browserProcess;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (existingProcess.versions?.node) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const existingProcessRecord = existingProcess;
|
|
34
|
+
|
|
35
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
+
existingProcessRecord[key] ??= value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
existingProcessRecord['browser'] = true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function keepName($unknown) {
|
|
43
|
+
return $unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
(function initCjs() {
|
|
47
|
+
const globalThisRecord = globalThis;
|
|
48
|
+
ensureDisposeSymbols();
|
|
49
|
+
globalThisRecord['__name'] ??= keepName;
|
|
50
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
51
|
+
|
|
52
|
+
ensureBrowserProcess();
|
|
53
|
+
|
|
54
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
55
|
+
function extractDefault(module) {
|
|
56
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
57
|
+
}
|
|
58
|
+
})();
|
|
59
|
+
})();
|
|
60
|
+
|
|
61
|
+
"use strict";
|
|
62
|
+
var __defProp = Object.defineProperty;
|
|
63
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
64
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
65
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
66
|
+
var __export = (target, all) => {
|
|
67
|
+
for (var name in all)
|
|
68
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
69
|
+
};
|
|
70
|
+
var __copyProps = (to, from, except, desc) => {
|
|
71
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
72
|
+
for (let key of __getOwnPropNames(from))
|
|
73
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
74
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
75
|
+
}
|
|
76
|
+
return to;
|
|
77
|
+
};
|
|
78
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
79
|
+
var vitest_exports = {};
|
|
80
|
+
__export(vitest_exports, {
|
|
81
|
+
test: () => test,
|
|
82
|
+
testCoverage: () => testCoverage,
|
|
83
|
+
testWatch: () => testWatch
|
|
84
|
+
});
|
|
85
|
+
module.exports = __toCommonJS(vitest_exports);
|
|
86
|
+
var import_root = require('../root.cjs');
|
|
87
|
+
async function test(options = {}) {
|
|
88
|
+
await (0, import_root.execFromRoot)(["vitest", "run", ...buildProjectFlags(options.projects)]);
|
|
89
|
+
}
|
|
90
|
+
async function testCoverage(options = {}) {
|
|
91
|
+
const threshold = String(options.minCoverageInPercents ?? 0);
|
|
92
|
+
await (0, import_root.execFromRoot)([
|
|
93
|
+
"vitest",
|
|
94
|
+
"run",
|
|
95
|
+
...buildProjectFlags(options.projects),
|
|
96
|
+
"--coverage",
|
|
97
|
+
`--coverage.thresholds.lines=${threshold}`,
|
|
98
|
+
`--coverage.thresholds.functions=${threshold}`,
|
|
99
|
+
`--coverage.thresholds.branches=${threshold}`,
|
|
100
|
+
`--coverage.thresholds.statements=${threshold}`
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
async function testWatch(options = {}) {
|
|
104
|
+
await (0, import_root.execFromRoot)(["vitest", ...buildProjectFlags(options.projects)]);
|
|
105
|
+
}
|
|
106
|
+
function buildProjectFlags(projects) {
|
|
107
|
+
return (projects ?? []).flatMap((project) => [`--project=${project}`, `--project=${project}:*`]);
|
|
108
|
+
}
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
test,
|
|
112
|
+
testCoverage,
|
|
113
|
+
testWatch
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy92aXRlc3QudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIHJ1bm5pbmcgdGVzdHMgdXNpbmcgdGhlIFZpdGVzdCBmcmFtZXdvcmsuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEV4ZWN1dGVzIHZpdGVzdCBhcyBhIENMSSBzdWJwcm9jZXNzOyBjb3JyZWN0bmVzcyBpcyB2ZXJpZmllZCBieSBydW5uaW5nIHRlc3RzLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHsgZXhlY0Zyb21Sb290IH0gZnJvbSAnLi4vcm9vdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcnVubmluZyB0ZXN0cyB3aXRoIGNvdmVyYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RDb3ZlcmFnZU9wdGlvbnMgZXh0ZW5kcyBUZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIGNvdmVyYWdlIHBlcmNlbnRhZ2UgcmVxdWlyZWQuIElmIHRoZSBhY3R1YWwgY292ZXJhZ2UgZmFsbHMgYmVsb3dcbiAgICogdGhpcyB0aHJlc2hvbGQsIHRoZSBwcm9jZXNzIGV4aXRzIHdpdGggYSBub24temVybyBjb2RlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgMGBcbiAgICovXG4gIHJlYWRvbmx5IG1pbkNvdmVyYWdlSW5QZXJjZW50cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBydW5uaW5nIHRlc3RzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0cyB0byBydW4uXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHJ1bm5pbmcgdGVzdHMgaW4gd2F0Y2ggbW9kZS5cbiAqL1xuZXhwb3J0IHR5cGUgVGVzdFdhdGNoT3B0aW9ucyA9IFRlc3RPcHRpb25zO1xuXG4vKipcbiAqIFJ1bnMgdGhlIHRlc3Qgc3VpdGUuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHRlc3QuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRlc3RzIGhhdmUgY29tcGxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdChvcHRpb25zOiBUZXN0T3B0aW9ucyA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ3ZpdGVzdCcsICdydW4nLCAuLi5idWlsZFByb2plY3RGbGFncyhvcHRpb25zLnByb2plY3RzKV0pO1xufVxuXG4vKipcbiAqIFJ1bnMgdGhlIHRlc3Qgc3VpdGUgd2l0aCBjb3ZlcmFnZS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGNvdmVyYWdlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRlc3RzIGhhdmUgY29tcGxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdENvdmVyYWdlKG9wdGlvbnM6IFRlc3RDb3ZlcmFnZU9wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB0aHJlc2hvbGQgPSBTdHJpbmcob3B0aW9ucy5taW5Db3ZlcmFnZUluUGVyY2VudHMgPz8gMCk7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbXG4gICAgJ3ZpdGVzdCcsXG4gICAgJ3J1bicsXG4gICAgLi4uYnVpbGRQcm9qZWN0RmxhZ3Mob3B0aW9ucy5wcm9qZWN0cyksXG4gICAgJy0tY292ZXJhZ2UnLFxuICAgIGAtLWNvdmVyYWdlLnRocmVzaG9sZHMubGluZXM9JHt0aHJlc2hvbGR9YCxcbiAgICBgLS1jb3ZlcmFnZS50aHJlc2hvbGRzLmZ1bmN0aW9ucz0ke3RocmVzaG9sZH1gLFxuICAgIGAtLWNvdmVyYWdlLnRocmVzaG9sZHMuYnJhbmNoZXM9JHt0aHJlc2hvbGR9YCxcbiAgICBgLS1jb3ZlcmFnZS50aHJlc2hvbGRzLnN0YXRlbWVudHM9JHt0aHJlc2hvbGR9YFxuICBdKTtcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSB0ZXN0IHN1aXRlIGluIHdhdGNoIG1vZGUuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHRlc3QuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRlc3RzIGhhdmUgY29tcGxldGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFdhdGNoKG9wdGlvbnM6IFRlc3RXYXRjaE9wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWyd2aXRlc3QnLCAuLi5idWlsZFByb2plY3RGbGFncyhvcHRpb25zLnByb2plY3RzKV0pO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBgLS1wcm9qZWN0YCBmbGFncyBmb3IgdGhlIGdpdmVuIHByb2plY3QgcHJlZml4ZXMuXG4gKiBFYWNoIHByZWZpeCBleHBhbmRzIHRvIGJvdGggYC0tcHJvamVjdD1wcmVmaXhgIChleGFjdCBtYXRjaClcbiAqIGFuZCBgLS1wcm9qZWN0PXByZWZpeDoqYCAoc3ViLXByb2plY3RzKS5cbiAqXG4gKiBAcGFyYW0gcHJvamVjdHMgLSBUaGUgcHJvamVjdCBuYW1lIHByZWZpeGVzLlxuICogQHJldHVybnMgVGhlIGAtLXByb2plY3RgIGZsYWdzIGFycmF5LlxuICovXG5mdW5jdGlvbiBidWlsZFByb2plY3RGbGFncyhwcm9qZWN0cz86IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gKHByb2plY3RzID8/IFtdKS5mbGF0TWFwKChwcm9qZWN0KSA9PiBbYC0tcHJvamVjdD0ke3Byb2plY3R9YCwgYC0tcHJvamVjdD0ke3Byb2plY3R9OipgXSk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLGtCQUE2QjtBQW9DN0IsZUFBc0IsS0FBSyxVQUF1QixDQUFDLEdBQWtCO0FBQ25FLFlBQU0sMEJBQWEsQ0FBQyxVQUFVLE9BQU8sR0FBRyxrQkFBa0IsUUFBUSxRQUFRLENBQUMsQ0FBQztBQUM5RTtBQVFBLGVBQXNCLGFBQWEsVUFBK0IsQ0FBQyxHQUFrQjtBQUNuRixRQUFNLFlBQVksT0FBTyxRQUFRLHlCQUF5QixDQUFDO0FBQzNELFlBQU0sMEJBQWE7QUFBQSxJQUNqQjtBQUFBLElBQ0E7QUFBQSxJQUNBLEdBQUcsa0JBQWtCLFFBQVEsUUFBUTtBQUFBLElBQ3JDO0FBQUEsSUFDQSwrQkFBK0IsU0FBUztBQUFBLElBQ3hDLG1DQUFtQyxTQUFTO0FBQUEsSUFDNUMsa0NBQWtDLFNBQVM7QUFBQSxJQUMzQyxvQ0FBb0MsU0FBUztBQUFBLEVBQy9DLENBQUM7QUFDSDtBQVFBLGVBQXNCLFVBQVUsVUFBNEIsQ0FBQyxHQUFrQjtBQUM3RSxZQUFNLDBCQUFhLENBQUMsVUFBVSxHQUFHLGtCQUFrQixRQUFRLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFO0FBVUEsU0FBUyxrQkFBa0IsVUFBK0I7QUFDeEQsVUFBUSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsT0FBTyxJQUFJLGFBQWEsT0FBTyxJQUFJLENBQUM7QUFDakc7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* This module provides functions for running tests using the Vitest framework.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Options for running tests with coverage.
|
|
9
|
+
*/
|
|
10
|
+
export interface TestCoverageOptions extends TestOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Minimum coverage percentage required. If the actual coverage falls below
|
|
13
|
+
* this threshold, the process exits with a non-zero code.
|
|
14
|
+
*
|
|
15
|
+
* @default `0`
|
|
16
|
+
*/
|
|
17
|
+
readonly minCoverageInPercents?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for running tests.
|
|
21
|
+
*/
|
|
22
|
+
export interface TestOptions {
|
|
23
|
+
/**
|
|
24
|
+
* The projects to run.
|
|
25
|
+
*/
|
|
26
|
+
readonly projects?: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for running tests in watch mode.
|
|
30
|
+
*/
|
|
31
|
+
export type TestWatchOptions = TestOptions;
|
|
32
|
+
/**
|
|
33
|
+
* Runs the test suite.
|
|
34
|
+
*
|
|
35
|
+
* @param options - The options for the test.
|
|
36
|
+
* @returns A {@link Promise} that resolves when the tests have completed.
|
|
37
|
+
*/
|
|
38
|
+
export declare function test(options?: TestOptions): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Runs the test suite with coverage.
|
|
41
|
+
*
|
|
42
|
+
* @param options - Optional coverage configuration.
|
|
43
|
+
* @returns A {@link Promise} that resolves when the tests have completed.
|
|
44
|
+
*/
|
|
45
|
+
export declare function testCoverage(options?: TestCoverageOptions): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Runs the test suite in watch mode.
|
|
48
|
+
*
|
|
49
|
+
* @param options - The options for the test.
|
|
50
|
+
* @returns A {@link Promise} that resolves when the tests have completed.
|
|
51
|
+
*/
|
|
52
|
+
export declare function testWatch(options?: TestWatchOptions): Promise<void>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const existingProcess = globalThis.process;
|
|
23
|
+
|
|
24
|
+
if (!existingProcess) {
|
|
25
|
+
globalThis.process = browserProcess;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (existingProcess.versions?.node) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const existingProcessRecord = existingProcess;
|
|
34
|
+
|
|
35
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
+
existingProcessRecord[key] ??= value;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
existingProcessRecord['browser'] = true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function keepName($unknown) {
|
|
43
|
+
return $unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
(function initCjs() {
|
|
47
|
+
const globalThisRecord = globalThis;
|
|
48
|
+
ensureDisposeSymbols();
|
|
49
|
+
globalThisRecord['__name'] ??= keepName;
|
|
50
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
51
|
+
|
|
52
|
+
ensureBrowserProcess();
|
|
53
|
+
|
|
54
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
55
|
+
function extractDefault(module) {
|
|
56
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
57
|
+
}
|
|
58
|
+
})();
|
|
59
|
+
})();
|
|
60
|
+
|
|
61
|
+
"use strict";
|
|
62
|
+
var __defProp = Object.defineProperty;
|
|
63
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
64
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
65
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
66
|
+
var __export = (target, all) => {
|
|
67
|
+
for (var name in all)
|
|
68
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
69
|
+
};
|
|
70
|
+
var __copyProps = (to, from, except, desc) => {
|
|
71
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
72
|
+
for (let key of __getOwnPropNames(from))
|
|
73
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
74
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
75
|
+
}
|
|
76
|
+
return to;
|
|
77
|
+
};
|
|
78
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
79
|
+
var validate_declarations_exports = {};
|
|
80
|
+
__export(validate_declarations_exports, {
|
|
81
|
+
validateDeclarations: () => validateDeclarations
|
|
82
|
+
});
|
|
83
|
+
module.exports = __toCommonJS(validate_declarations_exports);
|
|
84
|
+
var import_path = require('@mnaoumov/typescript-lib/path');
|
|
85
|
+
var import_check_project_types = require('./check-project-types.cjs');
|
|
86
|
+
var import_repo_paths = require('./repo-paths.cjs');
|
|
87
|
+
var import_root = require('./root.cjs');
|
|
88
|
+
const NODE_MODULES_SEGMENT = "/node_modules/";
|
|
89
|
+
const VALIDATE_DECLARATIONS_TS_CONFIG_FILE_NAMES = [
|
|
90
|
+
import_repo_paths.RepoPaths.TsConfigValidateDeclarationsJson,
|
|
91
|
+
import_repo_paths.RepoPaths.TsConfigValidateDeclarationsCjsJson
|
|
92
|
+
];
|
|
93
|
+
function validateDeclarations(options = {}) {
|
|
94
|
+
const root = (0, import_root.getRootFolder)();
|
|
95
|
+
if (!root) {
|
|
96
|
+
throw new Error("Could not find root folder");
|
|
97
|
+
}
|
|
98
|
+
const rootCanonical = (0, import_check_project_types.toCanonical)(root);
|
|
99
|
+
let isValid = true;
|
|
100
|
+
for (const tsConfigFileName of VALIDATE_DECLARATIONS_TS_CONFIG_FILE_NAMES) {
|
|
101
|
+
const { fileNames, options: compilerOptions } = (0, import_check_project_types.parseTsConfig)((0, import_path.join)(root, tsConfigFileName));
|
|
102
|
+
const isConfigValid = (0, import_check_project_types.checkProjectTypes)({
|
|
103
|
+
isVerbose: options.isVerbose ?? false,
|
|
104
|
+
options: compilerOptions,
|
|
105
|
+
rootNames: fileNames,
|
|
106
|
+
shouldKeepFile: (fileName) => shouldKeepProjectFile({ fileName, rootCanonical })
|
|
107
|
+
});
|
|
108
|
+
isValid &&= isConfigValid;
|
|
109
|
+
}
|
|
110
|
+
return isValid;
|
|
111
|
+
}
|
|
112
|
+
function shouldKeepProjectFile(params) {
|
|
113
|
+
const { fileName, rootCanonical } = params;
|
|
114
|
+
return fileName.startsWith(`${rootCanonical}/`) && !fileName.includes(NODE_MODULES_SEGMENT);
|
|
115
|
+
}
|
|
116
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
117
|
+
0 && (module.exports = {
|
|
118
|
+
validateDeclarations
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRlLWRlY2xhcmF0aW9ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFR5cGUtY2hlY2tzIHRoZSBnZW5lcmF0ZWQgZGVjbGFyYXRpb24gZmlsZXMgKGAuZC5jdHNgIC8gYC5kLm10c2ApIHRvIHByb3ZlIHRoZXkgYXJlIHNlbGYtY29udGFpbmVkXG4gKiBcdTIwMTQgZXZlcnkgYGxpYmAgYW5kIGludGVybmFsIGNyb3NzLXJlZmVyZW5jZSB0aGV5IHJlbHkgb24gcmVzb2x2ZXMgb24gaXRzIG93biwgaW5kZXBlbmRlbnQgb2YgdGhlXG4gKiBjb25zdW1lcidzIGB0c2NvbmZpZ2AuXG4gKlxuICogT25seSBkaWFnbm9zdGljcyB3aG9zZSBzb3VyY2UgZmlsZSBpcyBvbmUgd2Ugb3duICh1bmRlciB0aGUgcHJvamVjdCByb290LCBvdXRzaWRlIGBub2RlX21vZHVsZXNgKVxuICogYXJlIHJlcG9ydGVkLiBEaWFnbm9zdGljcyBpbnNpZGUgYG5vZGVfbW9kdWxlc2AgXHUyMDE0IGJyb2tlbiB1cHN0cmVhbSBgLmQudHNgIGZpbGVzIHdlIGRvIG5vdCBjb250cm9sIFx1MjAxNFxuICogYXJlIGlnbm9yZWQuIENyb3NzLW1vZHVsZS1mb3JtYXQgaW50ZXJvcCBkaWFnbm9zdGljcyBpbiBvdXIgb3duIGRlY2xhcmF0aW9ucyAoZm9yIGV4YW1wbGUgYVxuICogQ29tbW9uSlMgYC5kLmN0c2AgaW1wb3J0aW5nIGFuIEVTTS1vbmx5IHBhY2thZ2UsIGBUUzE1NDFgIC8gYFRTMTU0MmAgLyBgVFMxNDc5YCkgYXJlIE5PVCBpZ25vcmVkOlxuICogdGhleSBkZXNjcmliZSBkZWNsYXJhdGlvbnMgd2UgZW1pdCwgc28gdGhlIGdlbmVyYXRvciBtdXN0IHByb2R1Y2UgdmFsaWQgb3V0cHV0IChlLmcuIGFkZCB0aGVcbiAqIHJlcXVpcmVkIGByZXNvbHV0aW9uLW1vZGVgIGF0dHJpYnV0ZSkgcmF0aGVyIHRoYW4gdGhlIHZhbGlkYXRvciBoaWRpbmcgdGhlIHByb2JsZW0uXG4gKi9cblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcblxuaW1wb3J0IHtcbiAgY2hlY2tQcm9qZWN0VHlwZXMsXG4gIHBhcnNlVHNDb25maWcsXG4gIHRvQ2Fub25pY2FsXG59IGZyb20gJy4vY2hlY2stcHJvamVjdC10eXBlcy50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgZ2V0Um9vdEZvbGRlciB9IGZyb20gJy4vcm9vdC50cyc7XG5cbmNvbnN0IE5PREVfTU9EVUxFU19TRUdNRU5UID0gJy9ub2RlX21vZHVsZXMvJztcblxuY29uc3QgVkFMSURBVEVfREVDTEFSQVRJT05TX1RTX0NPTkZJR19GSUxFX05BTUVTID0gW1xuICBSZXBvUGF0aHMuVHNDb25maWdWYWxpZGF0ZURlY2xhcmF0aW9uc0pzb24sXG4gIFJlcG9QYXRocy5Uc0NvbmZpZ1ZhbGlkYXRlRGVjbGFyYXRpb25zQ2pzSnNvblxuXTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgdmFsaWRhdGVEZWNsYXJhdGlvbnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRlRGVjbGFyYXRpb25zT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGVuIGB0cnVlYCwgdGhlIGlnbm9yZWQgYG5vZGVfbW9kdWxlc2AgZGlhZ25vc3RpY3MgYXJlIHByaW50ZWQgaW4gZnVsbCBpbiBhZGRpdGlvbiB0byB0aGVpclxuICAgKiBjb3VudCwgc28gdGhleSBjYW4gYmUgaW5zcGVjdGVkLiBXaGVuIG9taXR0ZWQgb3IgYGZhbHNlYCwgb25seSB0aGUgY291bnQgaXMgcHJpbnRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNWZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgc2hvdWxkS2VlcFByb2plY3RGaWxlfS5cbiAqL1xuaW50ZXJmYWNlIFNob3VsZEtlZXBQcm9qZWN0RmlsZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIG9mIHRoZSBmaWxlIHVuZGVyIGNvbnNpZGVyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBYnNvbHV0ZSAoY2Fub25pY2FsKSBwYXRoIG9mIHRoZSBwcm9qZWN0IHJvb3QuXG4gICAqL1xuICByZWFkb25seSByb290Q2Fub25pY2FsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBnZW5lcmF0ZWQgZGVjbGFyYXRpb24gZmlsZXMgYWdhaW5zdCB0aGUgYHRzY29uZmlnLnZhbGlkYXRlLWRlY2xhcmF0aW9ucyouanNvbmBcbiAqIGNvbmZpZ3MsIHJlcG9ydGluZyBldmVyeSBkaWFnbm9zdGljIHRoYXQgY29uY2VybnMgdGhlIGxpYnJhcnkncyBvd24gZGVjbGFyYXRpb25zIGFuZCBpZ25vcmluZyBvbmx5XG4gKiB0aG9zZSB3aG9zZSBzb3VyY2UgZmlsZSBsaXZlcyBpbiBgbm9kZV9tb2R1bGVzYC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGNvbnRyb2xsaW5nIHZhbGlkYXRpb24gb3V0cHV0LlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGxpYnJhcnkncyBvd24gZGVjbGFyYXRpb25zIGhhdmUgbm8gdHlwZSBlcnJvcnMsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICogQHRocm93cyBJZiB0aGUgcm9vdCBmb2xkZXIgY2Fubm90IGJlIGZvdW5kLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9jb25zaXN0ZW50LWJvb2xlYW4tbmFtZSAtLSBUaGUgbmFtZSBzdGF0ZXMgdGhlIGFjdGlvbjsgdGhlIGJvb2xlYW4gb25seSByZXBvcnRzIHdoZXRoZXIgdmFsaWRhdGlvbiBwYXNzZWQuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEZWNsYXJhdGlvbnMob3B0aW9uczogVmFsaWRhdGVEZWNsYXJhdGlvbnNPcHRpb25zID0ge30pOiBib29sZWFuIHtcbiAgY29uc3Qgcm9vdCA9IGdldFJvb3RGb2xkZXIoKTtcblxuICBpZiAoIXJvb3QpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHJvb3QgZm9sZGVyJyk7XG4gIH1cblxuICBjb25zdCByb290Q2Fub25pY2FsID0gdG9DYW5vbmljYWwocm9vdCk7XG5cbiAgbGV0IGlzVmFsaWQgPSB0cnVlO1xuXG4gIGZvciAoY29uc3QgdHNDb25maWdGaWxlTmFtZSBvZiBWQUxJREFURV9ERUNMQVJBVElPTlNfVFNfQ09ORklHX0ZJTEVfTkFNRVMpIHtcbiAgICBjb25zdCB7IGZpbGVOYW1lcywgb3B0aW9uczogY29tcGlsZXJPcHRpb25zIH0gPSBwYXJzZVRzQ29uZmlnKGpvaW4ocm9vdCwgdHNDb25maWdGaWxlTmFtZSkpO1xuICAgIGNvbnN0IGlzQ29uZmlnVmFsaWQgPSBjaGVja1Byb2plY3RUeXBlcyh7XG4gICAgICBpc1ZlcmJvc2U6IG9wdGlvbnMuaXNWZXJib3NlID8/IGZhbHNlLFxuICAgICAgb3B0aW9uczogY29tcGlsZXJPcHRpb25zLFxuICAgICAgcm9vdE5hbWVzOiBmaWxlTmFtZXMsXG4gICAgICBzaG91bGRLZWVwRmlsZTogKGZpbGVOYW1lKSA9PiBzaG91bGRLZWVwUHJvamVjdEZpbGUoeyBmaWxlTmFtZSwgcm9vdENhbm9uaWNhbCB9KVxuICAgIH0pO1xuICAgIGlzVmFsaWQgJiY9IGlzQ29uZmlnVmFsaWQ7XG4gIH1cblxuICByZXR1cm4gaXNWYWxpZDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlIGJlbG9uZ3MgdG8gdGhlIHByb2plY3QgKHVuZGVyIHRoZSByb290IGZvbGRlciwgb3V0c2lkZSBgbm9kZV9tb2R1bGVzYCkuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgZmlsZSBiZWxvbmdzIHRvIHRoZSBwcm9qZWN0LlxuICovXG5mdW5jdGlvbiBzaG91bGRLZWVwUHJvamVjdEZpbGUocGFyYW1zOiBTaG91bGRLZWVwUHJvamVjdEZpbGVQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBmaWxlTmFtZSwgcm9vdENhbm9uaWNhbCB9ID0gcGFyYW1zO1xuICByZXR1cm4gZmlsZU5hbWUuc3RhcnRzV2l0aChgJHtyb290Q2Fub25pY2FsfS9gKSAmJiAhZmlsZU5hbWUuaW5jbHVkZXMoTk9ERV9NT0RVTEVTX1NFR01FTlQpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLGtCQUFxQjtBQUVyQixpQ0FJTztBQUNQLHdCQUEwQjtBQUMxQixrQkFBOEI7QUFFOUIsTUFBTSx1QkFBdUI7QUFFN0IsTUFBTSw2Q0FBNkM7QUFBQSxFQUNqRCw0QkFBVTtBQUFBLEVBQ1YsNEJBQVU7QUFDWjtBQXdDTyxTQUFTLHFCQUFxQixVQUF1QyxDQUFDLEdBQVk7QUFDdkYsUUFBTSxXQUFPLDJCQUFjO0FBRTNCLE1BQUksQ0FBQyxNQUFNO0FBQ1QsVUFBTSxJQUFJLE1BQU0sNEJBQTRCO0FBQUEsRUFDOUM7QUFFQSxRQUFNLG9CQUFnQix3Q0FBWSxJQUFJO0FBRXRDLE1BQUksVUFBVTtBQUVkLGFBQVcsb0JBQW9CLDRDQUE0QztBQUN6RSxVQUFNLEVBQUUsV0FBVyxTQUFTLGdCQUFnQixRQUFJLDhDQUFjLGtCQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsVUFBTSxvQkFBZ0IsOENBQWtCO0FBQUEsTUFDdEMsV0FBVyxRQUFRLGFBQWE7QUFBQSxNQUNoQyxTQUFTO0FBQUEsTUFDVCxXQUFXO0FBQUEsTUFDWCxnQkFBZ0IsQ0FBQyxhQUFhLHNCQUFzQixFQUFFLFVBQVUsY0FBYyxDQUFDO0FBQUEsSUFDakYsQ0FBQztBQUNELGdCQUFZO0FBQUEsRUFDZDtBQUVBLFNBQU87QUFDVDtBQVFBLFNBQVMsc0JBQXNCLFFBQThDO0FBQzNFLFFBQU0sRUFBRSxVQUFVLGNBQWMsSUFBSTtBQUNwQyxTQUFPLFNBQVMsV0FBVyxHQUFHLGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxTQUFTLG9CQUFvQjtBQUM1RjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference path="./library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Type-checks the generated declaration files (`.d.cts` / `.d.mts`) to prove they are self-contained
|
|
6
|
+
* — every `lib` and internal cross-reference they rely on resolves on its own, independent of the
|
|
7
|
+
* consumer's `tsconfig`.
|
|
8
|
+
*
|
|
9
|
+
* Only diagnostics whose source file is one we own (under the project root, outside `node_modules`)
|
|
10
|
+
* are reported. Diagnostics inside `node_modules` — broken upstream `.d.ts` files we do not control —
|
|
11
|
+
* are ignored. Cross-module-format interop diagnostics in our own declarations (for example a
|
|
12
|
+
* CommonJS `.d.cts` importing an ESM-only package, `TS1541` / `TS1542` / `TS1479`) are NOT ignored:
|
|
13
|
+
* they describe declarations we emit, so the generator must produce valid output (e.g. add the
|
|
14
|
+
* required `resolution-mode` attribute) rather than the validator hiding the problem.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Options for {@link validateDeclarations}.
|
|
18
|
+
*/
|
|
19
|
+
export interface ValidateDeclarationsOptions {
|
|
20
|
+
/**
|
|
21
|
+
* When `true`, the ignored `node_modules` diagnostics are printed in full in addition to their
|
|
22
|
+
* count, so they can be inspected. When omitted or `false`, only the count is printed.
|
|
23
|
+
*
|
|
24
|
+
* @default `false`
|
|
25
|
+
*/
|
|
26
|
+
readonly isVerbose?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validates the generated declaration files against the `tsconfig.validate-declarations*.json`
|
|
30
|
+
* configs, reporting every diagnostic that concerns the library's own declarations and ignoring only
|
|
31
|
+
* those whose source file lives in `node_modules`.
|
|
32
|
+
*
|
|
33
|
+
* @param options - The options controlling validation output.
|
|
34
|
+
* @returns `true` when the library's own declarations have no type errors, `false` otherwise.
|
|
35
|
+
* @throws If the root folder cannot be found.
|
|
36
|
+
*/
|
|
37
|
+
export declare function validateDeclarations(options?: ValidateDeclarationsOptions): boolean;
|