Skip to content

Update typescript to version 6 - #32

Merged
slifty merged 1 commit into
mainfrom
28-typescript-6
Aug 10, 2026
Merged

slifty merged 1 commit into
mainfrom
28-typescript-6

Conversation

@slifty

@slifty slifty commented Aug 7, 2026

Copy link
Copy Markdown
Member

This PR updates to TS6.

It comes with a tiny bump because the new build doesn't include a .d.mts but from testing it seems that doesn't matter (and the file was identical to the .d.mjs)

Resolves #28

This is just an effort to stay up to date.  There should be no actual
implications on functionality.

Declarations are now generated by `tsc` instead of `tsup`, which drops the
redundant `dist/index.d.mts`.  That is the only consumer-visible change, so
this goes out as a patch release.

Issue #28 Update to TS6
@slifty
slifty requested review from bickelj and hminsky2002 and a lite review from Copilot August 7, 2026 21:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project toolchain to TypeScript 6 and adjusts the build process so declarations are generated via tsc (rather than tsup), aligning the published dist/ contents with the intended package outputs and documenting the release.

Changes:

  • Bump typescript to ^6.0.3 and increment package version to 1.0.2.
  • Switch type generation to tsc (build:types) and stop generating DTS via tsup.
  • Update tsconfig.json output layout (rootDir: "src") and record the release note in CHANGELOG.md.

Reviewed changes

Copilot reviewed 3 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tsup.config.ts Stops tsup from emitting declaration files.
tsconfig.json Sets rootDir to ensure declarations emit to dist/ paths that match package.json’s types entry.
package.json Updates version, TypeScript dependency, and build scripts to run tsc for types.
package-lock.json Locks updated dependency graph consistent with TS6 and refreshed lint/tooling dependencies.
CHANGELOG.md Adds a 1.0.2 entry noting the removal of the duplicated dist/index.d.mts artifact.
Suppressed comments (1)

package.json:41

  • The TS6/lint toolchain update pulls in dependencies that require newer Node than this package advertises. For example, @typescript-eslint/eslint-plugin in the lockfile requires Node ^18.18.0 || ^20.9.0 || >=21.1.0, and it also pulls eslint-visitor-keys@5.0.1 which declares Node ^20.19.0 || ^22.13.0 || >=24. With "engines": { "node": ">=16" }, contributors/CI running Node 16 (or even some Node 18 installs) can end up unable to run npm run lint / npm run build reliably.

Consider either (a) bumping the documented Node engine requirement to match the new minimum needed by the dev toolchain, or (b) pinning/overriding the lint deps to versions that still support Node 16/18 (if TS6 support allows it).

		"typescript": "^6.0.3"
	},
	"engines": {
		"node": ">=16"
	},

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hminsky2002 hminsky2002 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your service @slifty !

@slifty
slifty merged commit feaf2e0 into main Aug 10, 2026
7 checks passed
@slifty
slifty deleted the 28-typescript-6 branch August 10, 2026 01:13
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.

Update to TS6

3 participants