Carries the run-lint type check over the referenced projects, the
`export *` fix moved into a suggestion, and whole-line removal of unused
disable directives. dev depends on ^0.86.4 of the other two.
A minor version for the eslint 10 / typescript-eslint 8 toolchain (#9):
repositories that move to it get new rules from the eslint, typescript-eslint
and react-hooks presets, so it should not arrive through a ^0.85 range. dev
depends on ^0.86.0 of the other two.
eslint 8 and typescript-eslint 6 are past their support, and the webpack
dev server chain carried the dependency alerts every repository using this
package inherited. Upstream @polkadot/dev still pins the same versions, so
this leaves it on purpose.
The rules are carried over with their options, so the lint means what it
meant:
- eslint-config-standard 17 (written for eslint 8) is replaced by its 161
rules in config/eslint.standard.js, with their options. Its 48 formatting
rules, deprecated in eslint core, are the same rules in @stylistic;
no-new-object and no-new-symbol are no-object-constructor and
no-new-native-nonconstructor; import/* is import-x/*.
- eslint-plugin-import (eslint <= 9) is eslint-plugin-import-x;
eslint-plugin-deprecation is @typescript-eslint/no-deprecated; the
formatting rules of core, typescript-eslint and eslint-plugin-react used
in eslint.rules.js are their @stylistic versions with the same options.
- typescript-eslint 8's preset swaps core no-unused-expressions for its own
with default options; standard's (short circuit, ternary and tagged
templates allowed) are carried over to it.
- eslint-plugin-react and eslint-plugin-header still call context methods
eslint 10 removed; @eslint/compat's fixupPluginRules supplies them. The
header rule also gets `schema: false`, as eslint 9+ rejects options for a
rule with no schema. The original header plugin stays rather than its
fork: it reports at the first token after leading comments, so a
generated file's /* eslint-disable */ still covers it, as it always has.
The effective config was compared rule by rule (--print-config) for .ts,
.tsx, .spec.ts and .mjs files before and after. Every rule that left has
its successor active; option differences are eslint 10 spelling out
defaults. New rules come from the eslint 10, typescript-eslint 8 and
react-hooks 7 presets. no-inner-declarations left eslint's preset upstream.
Also current: webpack-dev-server 6, webpack-cli 7, webpack-merge 6, rollup
plugins, madge 8, gh-release 8, globals 17, espree 11; Node >= 20.19 for
the dev package, which eslint 10 requires.
In this repository the new rules found: Function types now named by
no-unsafe-function-type; optional chains, includes() and RegExp#exec where
they say the same thing; createWrapper returns Describe, so its three casts
were redundant; rootCjs.spec casts through unknown, so the lint result does
not depend on whether build/ exists. lint, build and test (149 passed) pass,
and lint leaves the tree unchanged with and without a build.
npm holds dev-test and dev-ts at 0.85.7 while this tree said 0.85.4 (the
published files match main's sources; the versions were bumped only where
they were published). All three move to 0.85.12, as upstream releases them
in step, and dev depends on ^0.85.12 of the other two, so the CJS import()
fix reaches all of them.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Commit cb6801a replaced packages/{dev,dev-test,dev-ts}/package.json with the
build's rewritten copies: exports pointing at ./index.d.ts, ./cjs/* and
other files that exist only under build/, and main/module/types to match.
In the workspace that made @pezkuwi/dev-test/globals.d.ts unresolvable, so
tsc failed on every describe/it/expect (build and test red since January),
and packages/dev lost its devDependencies.
The four fields are back to the source form (identical to upstream's),
packages/dev's devDependencies are restored with React aligned to dev-test's
19, dev-test's @types/jsdom returns, and the generated globals.d.cts that was
committed beside the sources is removed. packageInfo follows the version.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Build script was adding ./cjs/ prefix even when main already had it
- Fixed @testing-library/react dependency for tests
- Changed package-style imports to relative imports in rootJs/index.ts
- Bump version to 0.85.5
- Add explicit Describe and It interfaces with todo support
- Fix mock type compatibility in jest.ts
- Update import assertions to import attributes (assert -> with)
- Add dynamic.d.mts declaration file
- Fix spec files to use explicit type declarations
- Updated all copyright headers from 2025 to 2026 (system date shows 2026)
- Added build output files to eslint ignore list in packages/dev/config/eslint.js
- Added build output patterns to .gitignore
- Ignored: packages/*/*.{d.ts,js,mjs,cjs}, packages/*/cjs/**, packages/*/env/**,
packages/*/rootJs/**, packages/*/rootStatic/**
- Successfully resolved 521 lint errors by properly ignoring generated files
- Build outputs should not be linted (source files are linted instead)
- Lint and build now pass successfully