Conversation
…t checks run separately for type definitions
|
Please take a look at my vision for this refactor: shadowspawn/commander.js@feature/type-checking...aweebit:commander.js:feature/type-checking. Explanations are given in the commit descriptions and the comment in You can simply merge my branch into yours if you like the changes. |
|
Moved to Draft while I have a look at ideas from #1969 (comment) |
Co-authored-by: Wee Bit <aweebit64@gmail.com>
|
FYI @aweebit : I was interested in your idea of having extra |
That is why I named the main TSConfig file
Not sure what you mean by "explicitly" here, but it is supported. Try this on my branch: echo 'export let myVar;' > demo.ts
cp demo.ts typings/demo.ts
code demo.ts # no error
code typings/demo.ts # error |
|
By the way, I used project references to separate configs in #1975. Works really well. |
By "explicitly" I mean that it is an intended pattern and not just a happy accident it works. e.g. documented, or used in official examples.
Thanks. I did read about project references, but I did not feel it was a good fit. |
| "typescript-checkJS": "tsc --allowJS --checkJS index.js lib/*.js --noEmit", | ||
| "test-all": "npm run test && npm run lint && npm run typescript-checkJS && npm run test-esm" | ||
| "typecheck-ts": "tsd && tsc -p tsconfig.ts.json", | ||
| "typecheck-js": "tsc -p tsconfig.js.json", |
There was a problem hiding this comment.
How about typecheck:ts instead of typecheck-ts?
We already use lint:typescript.
There was a problem hiding this comment.
I have been following a pattern I saw and liked long ago, but it is arbitrary. I use the colon for sub-scripts which are the parts of a combo script. So lint:typescript is one part of lint.
"lint": "npm run lint:javascript && npm run lint:typescript",
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
* Wrap command description in help (tj#1804) * Wrap command description. Replace trimRight by trimEnd. * Preserve empty lines when wrapping * Simplify line end handling * Translate Windows line endings to keep things sane * Bump supported versions (tj#1808) * Update minimum version of node in README (tj#1815) * Update dependencies (tj#1826) * Add Command.options to TypeScript (tj#1827) Make options and commands readonly to discourage direct manipulation. Co-authored-by: Cynthia <cynthia@cynthia.dev> Co-authored-by: Marcelo Shima <marceloshima@gmail.com> Co-authored-by: Dmitry Maganov <vonagam@gmail.com> * *: update dev deps and make tweaks - Update the developer dependencies to their latest versions. - Remove usage of the `--experimental-modules` CLI flag as it's a no-op now. - Change the typings file to make the linters happy. * Update CHANGELOG (tj#1840) * 10.0.0 * Remove unused property (tj#1844) * Assume a string parameter to implies is name of boolean option. (tj#1854) * Link to Help class in configure-help.js and README. * Describe help description wrapping * Add parsing life cycle and hooks * Add new documentation to README * Could be multiple hooks, pluralise * Update CHANGELOG and version for 10.0.1 * ci: add 20.x to `node-version` * Have help command call help directly for subcommands, when possible (tj#1864) * Add npm run-script to README (tj#1872) * trim() input string of .arguments method * Deprecate import from commander/esm.mjs (tj#1887) * Add separate type file for esm per TypeScript guidelines (tj#1886) * Update to minimum of node 16 - update dependencies - fresh package-lock.json * Lint fixes for latest rules * Update CHANGELOG for 11.0.0 * Adjust date * Bump version * Add example of displaying custom usage in subcommand list (tj#1896) * Add example of displaying custom usage in subcommand list * Make example more focused * Bump extra Commander version number in lock file (tj#1905) * Add missing checks for passThroughOptions * Add tests for illegal passThroughOptions * Remove illegal passThroughOptions check deemed unnecessary * Use weaker wording: "broken" instead of "illegal" * Unclutter error message in broken passThrough checks Co-authored-by: John Gee <john@ruru.gen.nz> * Refactor _checkForBrokenPassThrough() to make it instance-aware * Fix grammar in docs * Fix indentation Signed-off-by: abetomo <abe@enzou.tokyo> * Watch for npm package updates with dependabot Signed-off-by: abetomo <abe@enzou.tokyo> * Add note on inherited settings to docs (cherry picked from commit ac955dc) * Improve docs about inherited settings (cherry picked from commit dfe2fc7) Co-authored-by: John Gee <john@ruru.gen.nz> * Fix executableDir() return type * Fix version() parameter type Borrowed from a3f0e28 that was supposed to land in the now-closed tj#1921. * Change initial variable values in test for better error messages (cherry picked from commit 87db4ba) * Do not use undefined long help option flag in legacy code * Revert "Fix version() parameter type" This reverts commit e8bea4a. * Fix help for commands with executable handler & only a short help flag * Throw error on options-as-properties config after setting option values (cherry picked from commit 20c7cfa) * Add test for storeOptionsAsProperties() after setting option value * Call storeOptionsAsProperties() with appropriate parameter value in test * Introduce _getCommandAndAncestors() Replaces getCommandAndParents(): - turned into an instance method - used "ancestors" instead of "parents" because it is more precise (cherry picked from commit aa280af) * Use _getCommandAndAncestors() consistently (cherry picked from commit 777a452) * Use _getCommandAndAncestors() less aggressively Only call when all elements are to be iterated. Resort to manual iteration via .parent in other cases. * Improve chain variable name (tj#1958) * Refactor to wrap invalid argument (tj#1977) Wrap handling command.invalidArgument to simplify calling code * Types for version getter (tj#1982) * Update types since .version() returns version. * Remove extra space * Make OptionValueSource a string with well-known values for auto-complete. (tj#1983) * Move Jest configuration to config file (tj#2005) * Rework option inline doc (tj#2009) * Work-around bug in Jest (tj#2011) Co-authored-by: Wee Bit <aweebit64@gmail.com> * Add public Arguments property (tj#2010) Co-authored-by: Wee Bit <aweebit64@gmail.com> * Bump actions/checkout from 3 to 4 (tj#2012) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Explicitly export factory functions (tj#2013) Co-authored-by: Wee Bit <aweebit64@gmail.com> * Revert factory function reexport (tj#2014) * Replace {any} with {*} as native JSDoc (tj#2015) * Remove default export of global program (tj#2017) * Switch @api private to official JSDoc (tj#2018) * Add more Option and Argument properties to typings (tj#2019) * Refactor type-checking setup (tj#1969) * Refactor type-checking setup * Refactor tsconfig particularly to enable loose check in VSCode, strict checks run separately for type definitions * Simplify includes for tsconfig * Explicitly separate the tsconfig for use with npm run-scripts * Improve comment * Resolved couple of work-in-progress comments * Update tsconfig to recommended node16 lib/module/target * Make checks strict by default and opt-out * Restore broken code to merge later changes * Updates after merge --------- Co-authored-by: Wee Bit <aweebit64@gmail.com> * Drop Node.js 16 (tj#2027) * Exit with non-zero code when subprocess terminated by signal (tj#2023) * Comment out new misuse check until a major version (tj#2026) * Refactor headings (tj#2028) * Update CHANGELOG for 11.1.0 (tj#2025) * Update CHANGELOG for 11.1.0 * add tsconfig refactor to CHANGELOG * Add tentative release date * Add PR reference * Bump version * Restore extra sanity check when enabling storeOptionsAsProperties (tj#2029) * Bump @types/node from 20.2.5 to 20.8.5 (tj#2034) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.2.5 to 20.8.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint from 8.41.0 to 8.51.0 (tj#2033) Bumps [eslint](https://github.com/eslint/eslint) from 8.41.0 to 8.51.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v8.41.0...v8.51.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 5.59.7 to 5.62.0 (tj#2030) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.59.7 to 5.62.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.62.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-config-standard from 17.0.0 to 17.1.0 (tj#2031) Bumps [eslint-config-standard](https://github.com/standard/eslint-config-standard) from 17.0.0 to 17.1.0. - [Commits](standard/eslint-config-standard@v17.0.0...v17.1.0) --- updated-dependencies: - dependency-name: eslint-config-standard dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 5.59.7 to 6.7.5 (tj#2032) * Bump @typescript-eslint/eslint-plugin from 5.59.7 to 6.7.5 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.59.7 to 6.7.5. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.7.5/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Fix for `Could not resolve dependency` --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: abetomo <abe@enzou.tokyo> * Add explicit note to only call parse once (tj#2036) * Bump tsd from 0.28.1 to 0.29.0 Bumps [tsd](https://github.com/SamVerschueren/tsd) from 0.28.1 to 0.29.0. - [Release notes](https://github.com/SamVerschueren/tsd/releases) - [Commits](tsdjs/tsd@v0.28.1...v0.29.0) --- updated-dependencies: - dependency-name: tsd dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Add migration tips for default import * Bump @types/jest from 29.5.5 to 29.5.6 (tj#2047) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.5 to 29.5.6. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-n from 15.7.0 to 16.2.0 (tj#2044) Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 15.7.0 to 16.2.0. - [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases) - [Commits](eslint-community/eslint-plugin-n@15.7.0...16.2.0) --- updated-dependencies: - dependency-name: eslint-plugin-n dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.7.5 to 6.8.0 (tj#2043) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.7.5 to 6.8.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.8.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-jest from 27.4.2 to 27.4.3 (tj#2045) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.4.2 to 27.4.3. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v27.4.2...v27.4.3) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint from 8.51.0 to 8.52.0 (tj#2046) Bumps [eslint](https://github.com/eslint/eslint) from 8.51.0 to 8.52.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v8.51.0...v8.52.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-jest from 27.4.3 to 27.6.0 (tj#2049) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.4.3 to 27.6.0. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v27.4.3...v27.6.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/node from 20.8.6 to 20.8.9 (tj#2052) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.8.6 to 20.8.9. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-node from 3 to 4 (tj#2054) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 6.7.5 to 6.9.0 (tj#2053) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.7.5 to 6.9.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.9.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-import from 2.28.1 to 2.29.0 (tj#2051) Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.28.1 to 2.29.0. - [Release notes](https://github.com/import-js/eslint-plugin-import/releases) - [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md) - [Commits](import-js/eslint-plugin-import@v2.28.1...v2.29.0) --- updated-dependencies: - dependency-name: eslint-plugin-import dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.8.0 to 6.9.0 (tj#2050) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.8.0 to 6.9.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.9.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Change npm package checks in dependabot to monthly (tj#2057) github-actions will remain weekly as it is updated infrequently. * Throw error when add option with clashing flags (tj#2055) * Add check for overlapping command names or aliases (tj#2059) Co-authored-by: aweebit <aweebit64@gmail.com> * Update CHANGELOG for 12.0.0 (tj#2066) * Prepare for prerelease 12.0.0-0 * Bump required version in package-lock * 12.0.0-0 * Bump @types/jest from 29.5.6 to 29.5.7 (tj#2064) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.6 to 29.5.7. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint from 8.52.0 to 8.53.0 (tj#2061) Bumps [eslint](https://github.com/eslint/eslint) from 8.52.0 to 8.53.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v8.52.0...v8.53.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/node from 20.8.9 to 20.8.10 (tj#2063) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.8.9 to 20.8.10. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 6.9.0 to 6.9.1 (tj#2060) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.9.0 to 6.9.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.9.1/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.9.0 to 6.9.1 (tj#2062) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.9.0 to 6.9.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.9.1/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/jest from 29.5.7 to 29.5.8 (tj#2076) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.7 to 29.5.8. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/node from 20.8.10 to 20.9.0 (tj#2074) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.8.10 to 20.9.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 6.9.1 to 6.10.0 (tj#2072) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.9.1 to 6.10.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.10.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.9.1 to 6.10.0 (tj#2073) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.9.1 to 6.10.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.10.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-n from 16.2.0 to 16.3.1 (tj#2075) Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.2.0 to 16.3.1. - [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases) - [Commits](eslint-community/eslint-plugin-n@16.2.0...16.3.1) --- updated-dependencies: - dependency-name: eslint-plugin-n dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update url per npm advice (tj#2077) * Add Removed section to Deprecated (tj#2078) * Bump eslint from 8.53.0 to 8.54.0 (tj#2082) Bumps [eslint](https://github.com/eslint/eslint) from 8.53.0 to 8.54.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v8.53.0...v8.54.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-config-standard-with-typescript from 39.1.1 to 40.0.0 (tj#2083) Bumps [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript) from 39.1.1 to 40.0.0. - [Release notes](https://github.com/standard/eslint-config-standard-with-typescript/releases) - [Changelog](https://github.com/standard/eslint-config-standard-with-typescript/blob/master/CHANGELOG.md) - [Commits](mightyiam/eslint-config-love@v39.1.1...v40.0.0) --- updated-dependencies: - dependency-name: eslint-config-standard-with-typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.10.0 to 6.13.1 (tj#2091) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.10.0 to 6.13.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.13.1/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Rework exitOverride description (tj#2098) * Rework exitOverride description * Fix description to match implementation * Tweak wording again * Take out the first in case people think it is before displaying helper/error. * Improve JSDoc (tj#2103) * Bump github/codeql-action from 2 to 3 (tj#2108) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 6.10.0 to 6.18.0 (tj#2117) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.10.0 to 6.18.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump typescript from 5.2.2 to 5.3.3 (tj#2100) Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.2.2 to 5.3.3. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](microsoft/TypeScript@v5.2.2...v5.3.3) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/jest from 29.5.8 to 29.5.11 (tj#2102) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.8 to 29.5.11. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint from 8.54.0 to 8.56.0 (tj#2107) Bumps [eslint](https://github.com/eslint/eslint) from 8.54.0 to 8.56.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v8.54.0...v8.56.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Refactor help command implementation to hold actual Command (tj#2087) * Refactor help option implementation to hold actual Option (tj#2006) * Add 12.0.0-1 changes to CHANGELOG * 12.0.0-1 * Add links in CHANGELOG * Update dependencies preparing for release (tj#2132) * Update CHANGELOG for v12 (tj#2133) * Bump version to 12.0.0 * Simplify security policy (tj#2150) * Bump @types/node from 20.11.7 to 20.11.16 (tj#2141) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.7 to 20.11.16. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.19.1 to 6.20.0 (tj#2142) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.19.1 to 6.20.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.20.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/eslint-plugin from 6.19.1 to 6.20.0 (tj#2143) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.19.1 to 6.20.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.20.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/jest from 29.5.11 to 29.5.12 (tj#2144) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.11 to 29.5.12. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use standard import in examples (tj#2168) * ESLint changes preparing for Prettier (tj#2153) Switch from StandardJS to ESLint using flat configuration. Add Prettier and configuration. * Reformat code with Prettier (tj#2180) * Fix: Use `node`-prefixed requires for builtins (tj#2170) Fixes and closes tj#2169 by using Node-prefixed imports. Signed-off-by: Sam Gammon <sam@elide.dev> * Add auto-detection of args when node evaluating script code on command-line (tj#2164) * Wrap all eslint configs in tseslint.config (tj#2182) * Fix some JSDoc lint issues (tj#2181) * Bump typescript from 5.2.2 to 5.4.5 (tj#2189) Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.2.2 to 5.4.5. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](microsoft/TypeScript@v5.2.2...v5.4.5) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump eslint-plugin-jest from 27.9.0 to 28.3.0 (tj#2188) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.9.0 to 28.3.0. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v27.9.0...v28.3.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @types/node from 20.8.9 to 20.12.7 (tj#2187) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.8.9 to 20.12.7. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @typescript-eslint/parser from 6.14.0 to 6.21.0 (tj#2179) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.14.0 to 6.21.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.21.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump tsd from 0.30.4 to 0.31.0 (tj#2172) Bumps [tsd](https://github.com/tsdjs/tsd) from 0.30.4 to 0.31.0. - [Release notes](https://github.com/tsdjs/tsd/releases) - [Commits](tsdjs/tsd@v0.30.4...v0.31.0) --- updated-dependencies: - dependency-name: tsd dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove unimplemented fullDescription from TypeScript (tj#2191) * ci: add 22.x to node-version (tj#2192) * Prepare CHANGELOG for 12.1.0 (tj#2193) * 12.1.0 * disable subcommand execution * disable storeOptionsAsProperties * fork into @exodus/ namespace * chore: disable tests * fixup: remove stray ',' character * chore: update codeql-analysis.yml with exodus branch * chore: pin github actions to hashes, and update dependabot.yml branch * chore: cherry-pick 19fa79f from upstream * chore: ignore unused variables * fixup: lint * fixup: exodus-fork, not exodus-fork-12 --------- Signed-off-by: abetomo <abe@enzou.tokyo> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Sam Gammon <sam@elide.dev> Co-authored-by: John Gee <john@ruru.gen.nz> Co-authored-by: Cynthia <cynthia@cynthia.dev> Co-authored-by: Marcelo Shima <marceloshima@gmail.com> Co-authored-by: Dmitry Maganov <vonagam@gmail.com> Co-authored-by: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Co-authored-by: Raine Revere <raine@cybersemics.org> Co-authored-by: abetomo <abe@enzou.tokyo> Co-authored-by: Александр Шмелев <120136549+Felarn@users.noreply.github.com> Co-authored-by: Wee Bit <aweebit64@gmail.com> Co-authored-by: aweebit <36817090+aweebit@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sam Gammon <s@mg.sv> Co-authored-by: Matias Lang <matias.la@exodus.io>
Pull Request
Problem
Type-checking of the JavaScript files using TypeScript was quite fragile and partially misconfigured:
@ts-checkcomments were not working to enable checks in JavaScript code in VSCode, as only works on first linenpm run typescript-checkJSthan in VSCode so confusingnpm run typescript-checkJSdidn't work on Windows (glob not expanded)Related: #1960 #1962
Solution
tsconfig.jsonwith less strict settings covering mixed JavaScript and TypeScripttsconfig.ts.jsontypecheck-tsrun-scripttypecheck-tsnow included intestrun-script for strict checks on the published TypeScript typingstsconfig.js.jsontypecheck-js.jsonrun-script@ts-checkcomments as JavaScript processing now turned on intsconfig.jsonExplicitly separates the TypeScript and JavaScript files for using with npm run-scripts et al, and run-script naming, following suggestions by @aweebit.
I also updated the
libandmoduleandtargetsettings to match suggested configuration from https://github.com/tsconfig/bases/blob/main/bases/node16.jsonReferences:
ChangeLog