Skip to content

build: migrate to esm, vitest & oxlint - #804

Merged
SocketSomeone merged 2 commits into
masterfrom
build/esm-vitest-oxlint
Sep 2, 2026
Merged

build: migrate to esm, vitest & oxlint#804
SocketSomeone merged 2 commits into
masterfrom
build/esm-vitest-oxlint

Conversation

@SocketSomeone

Copy link
Copy Markdown
Owner

Please describe the changes this PR makes and why it should be merged:

Migrate the TypeScript open-source template to the canonical Necord TypeScript 7 toolchain:

  • publish native ESM with explicit root and package.json exports, a dist-only files allowlist, and the supported Node/npm engine range
  • separate TypeScript typechecking from build emit
  • replace ESLint configuration with the approved canonical Oxlint profile while preserving Prettier and the JS plugins Oxlint uses
  • replace Jest and ts-jest completely with canonical Vitest configuration using passWithNoTests for this zero-test template
  • run install, lint, typecheck, build, and Vitest across the supported Node matrix in CI

No tests, fixtures, package-smoke scripts, or migration helpers were added.

Status and versioning classification:

Breaking build/package-tooling change: the template now emits and advertises native ESM and requires Node ^20.19.0 or >=22.13.0.

Verification from Node v24.20.0 / npm 11.19.0:

  • npm install --package-lock-only --ignore-scripts — exit 0

  • npm ci — exit 0; 397 packages installed, 398 audited

  • npm run lint — exit 0; 0 warnings/errors

  • npm run typecheck — exit 0

  • npm run build — exit 0; dist/index.js and dist/index.d.ts emitted

  • npm test — exit 0; no test files found as expected

  • npm run test:ci — exit 0; no test files found as expected, V8 coverage 100% of 0/0

  • npm pack --dry-run --json — exit 0; 5 package entries, limited to LICENSE, README.md, dist output, and package.json

  • git diff --check — exit 0

  • canonical config parity checks — exit 0 for .oxlintrc.json, vitest.config.mts, tsconfig.json, and tsconfig.build.json

  • added test-file check — 0 test/spec files added

  • npm audit --json — exit 1 due to one pre-existing high-severity js-yaml@4.3.0 dev-only advisory already present at the base SHA; no audit fix is included in this focused migration

  • There are no application source code changes

  • Typings/build metadata have been updated

  • This PR includes breaking package/tooling changes

Copilot AI lite review requested due to automatic review settings September 2, 2026 02:50

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the ci label Sep 2, 2026
@pkg-pr-new

pkg-pr-new Bot commented Sep 2, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/SocketSomeone/typescript-open-source-template@804

commit: 495622a

@SocketSomeone
SocketSomeone merged commit 076c1a2 into master Sep 2, 2026
17 checks passed
@SocketSomeone
SocketSomeone deleted the build/esm-vitest-oxlint branch September 2, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants