This repository was archived by the owner on May 24, 2026. It is now read-only.
Harden CI: run on Node 20 & 22 and add entrypoint/pack smoke tests#6
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
20and22) and adding lightweight runtime checks that surface obvious packaging or import-time issues without changing schemas or package structure.Description
.github/workflows/validate.ymlto use a matrixnode-version: [20, 22], enablecache: npm, and switch installs tonpm ci, while preserving the existing validation steps and adding smoke-test steps for import and pack.scripts/smoke-import.mjswhich imports the package entrypoint and asserts exports exist, and addscripts/smoke-pack.mjswhich runsnpm pack --jsoninto a temp dir, tolerates mixed stdout fromprepack, and verifies a non-empty tarball is produced.package.json:test:smoke:importandtest:smoke:pack, and keep existingvalidateand checksum scripts unchanged.packscript only parsesnpm pack --jsonoutput more defensively to handleprepackstdout lines.Testing
npm run validatewhich executednpm run validate:schemasandnpm run validate:examplesand completed successfully (all schemas compiled and examples validated).npm run checksums:verifywhich verified checksums for all listed schema files and succeeded.npm run test:smoke:importwhich importedindex.jsand passed, reporting20exports.npm run test:smoke:packwhich produced annpm packtarball and verified it is present and non-empty.20run vianpx -p node@20but it was blocked by registry policy (npmreturned403), so Node20could not be validated locally here; the workflow matrix will validate Node20and22in CI.Files changed:
.github/workflows/validate.ymlpackage.jsonscripts/smoke-import.mjsscripts/smoke-pack.mjsCodex Task