Skip to content

chore(deps-dev): upgrade eslint to 10 and typescript to 6 - #28

Merged
TimG1804 merged 2 commits into
mainfrom
deps/tooling-upgrade
Sep 18, 2026
Merged

TimG1804 merged 2 commits into
mainfrom
deps/tooling-upgrade

Conversation

@TimG1804

Copy link
Copy Markdown
Collaborator

Supersedes #22, which does not install. That PR moved typescript to
^7.0.2 while leaving typescript-eslint at ^8.67.0, whose peer range is
>=4.8.4 <6.1.0, so npm ci fails with ERESOLVE.

This is not a grouping mistake that can be fixed by regrouping: 8.70.0 is
the current typescript-eslint release and no version supports TypeScript 7
yet. 6.0.3 is as far as this can go today.

tsconfig changes

TypeScript 6 surfaced two pre-existing problems that would otherwise have
shipped broken type declarations:

  • rootDirs → rootDir. The plural form is for virtual source roots and
    was doing nothing here. Without an explicit rootDir, TS 6 emits
    declarations to dist/src/** and produces no dist/index.d.ts at all —
    so "types": "dist/index.d.ts" would point at a missing file and the
    published package would carry no types.
  • moduleResolution: node → bundler. node10 is deprecated in 6 and
    stops working in 7. Under bundler resolution TypeScript also checks the
    side-effect SCSS import, hence the one-line ambient declaration in
    src/scss.d.ts.

Also included

In-range updates for autoprefixer, globals, rollup, sass and
typescript-eslint.

Verification

eslint, tsc --noEmit and rollup all run clean, and the built dist/ is
byte-identical to the published 0.1.5 tarball — the upgrade changes the
toolchain, not the artifact.

Refs #9

TimG1804 and others added 2 commits September 18, 2026 14:12
Replaces Dependabot's grouped PR (#22), which did not install: it moved
typescript to ^7.0.2 while leaving typescript-eslint at ^8.67.0, whose
peer range is >=4.8.4 <6.1.0. That is not a grouping mistake — 8.70.0 is
the latest typescript-eslint and no release supports TypeScript 7 yet, so
6.0.3 is as far as this can go today.

TypeScript 6 surfaced two pre-existing problems in tsconfig.json that
would otherwise have shipped broken type declarations:

- rootDirs (plural, for virtual source roots) was doing nothing useful.
  Without an explicit rootDir, TS 6 emits declarations to dist/src/** and
  produces no dist/index.d.ts at all, so the "types" entry in package.json
  would point at a missing file.
- moduleResolution: node (node10) is deprecated in 6 and stops working in
  7. Under bundler resolution TypeScript checks the side-effect SCSS
  import, hence the ambient declaration in src/scss.d.ts.

Also picks up the in-range updates for autoprefixer, globals, rollup, sass
and typescript-eslint.

Verified: eslint, tsc --noEmit and rollup all clean, and dist/ is
byte-identical to the published 0.1.5 tarball.

Refs #9, #22

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TimG1804
TimG1804 merged commit 45bdcdb into main Sep 18, 2026
1 check passed
@TimG1804
TimG1804 deleted the deps/tooling-upgrade branch September 18, 2026 12:15
TimG1804 added a commit that referenced this pull request Sep 18, 2026
Replaces Dependabot's grouped PR (#22), which did not install: it moved
typescript to ^7.0.2 while leaving typescript-eslint at ^8.67.0, whose
peer range is >=4.8.4 <6.1.0. That is not a grouping mistake — 8.70.0 is
the latest typescript-eslint and no release supports TypeScript 7 yet, so
6.0.3 is as far as this can go today.

TypeScript 6 surfaced two pre-existing problems in tsconfig.json that
would otherwise have shipped broken type declarations:

- rootDirs (plural, for virtual source roots) was doing nothing useful.
  Without an explicit rootDir, TS 6 emits declarations to dist/src/** and
  produces no dist/index.d.ts at all, so the "types" entry in package.json
  would point at a missing file.
- moduleResolution: node (node10) is deprecated in 6 and stops working in
  7. Under bundler resolution TypeScript checks the side-effect SCSS
  import, hence the ambient declaration in src/scss.d.ts.

Also picks up the in-range updates for autoprefixer, globals, rollup, sass
and typescript-eslint.

Verified: eslint, tsc --noEmit and rollup all clean, and dist/ is
byte-identical to the published 0.1.5 tarball.

Refs #9, #22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant