Version Packages - #34
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@ingram-tech/nk-dev@0.10.0
Minor Changes
2622128: Move the bundled DOM test environment to
jsdom^30.0.1, and declare the Nodeversion it actually needs.
jsdom 30's only breaking change is a raised Node floor:
^22.22.2 || ^24.15.0 || >=26.0.0.nk-devstill advertised>=20, which isnow a promise it can't keep — installing on Node 20 would succeed and then fail
at runtime inside
nk testwith a jsdom error that says nothing about Node.engines.nodemirrors jsdom's range verbatim rather than approximating it: therange is deliberately gappy (23.x and 24.0–24.14 are excluded), so
>=22.22.2would let through versions jsdom rejects.
Sites on Node 24.15+ or 26 are unaffected. The test suite passes untouched
across the upgrade.
3bdaadf:
nk type-checknow recovers from damaged generated types, andnk cleanremoves regenerable build artifacts.
tsconfig.jsonfeeds Next's typed-routes output back intotsc. Killingnext devmid-write leaves.next/dev/types/validator.tstruncated, andnext typegendoes not repair that directory — it writes.next/types—so
tscreports the same syntax error inside.next/on every subsequent run.The error points at generated code, so the natural response is to hunt a type
error in
src/that doesn't exist.Worse, a syntax error in generated output suppresses semantic diagnostics
program-wide: real
src/errors are hidden behind it. Confirmed against atruncated validator, where
tscreported only the generated file while aplanted
src/type error went unmentioned.type-checknow captures the firsttscrun and, when every reportederror sits inside generated type output, cleans the artifacts, regenerates and
retries once. A run that also implicates
src/is passed through untouched:cleaning wouldn't fix those errors, and the retry would only cost a full
tscpass. Recovery never turns a failing check into a passing one — it surfaces the
errors that were masked and still exits non-zero.
The artifact registry behind it is shared, and exposed as
nk cleanfor manualuse: Next's generated types plus TypeScript incremental caches, the latter
discovered by extension rather than by fixed name (
tsBuildInfoFilerenamesthem, and a repo can carry several). Only the generated type output is
removed —
.next/cacheis left alone, so recovery doesn't become a coldrebuild.
cb49779: New oxlint rule
nextkit/satori-css(warn): validates inline styles insatori-rendered JSX — the properties
next/ogaccepts fromReact.CSSPropertiesbut satori silently drops,calc(), and the twostructural rules satori throws on (a multi-child node needs an explicit
display, text can't sit beside element siblings). Scoped to files importingnext/og/@vercel/ogor namedopengraph-image/twitter-image, anddeliberately conservative: conditional children and non-literal styles are left
alone. Closes the gap render tests can't see — a dropped property still yields a
valid PNG, just the wrong one.
Patch Changes
ba5df61: Move the vendored structural-search binary to
@ast-grep/cli^0.45.0.0.45 deprecates the
sgcommand alias, whichnk ast-grepnever used — itresolves the native
ast-grepbinary throughresolveBinaryPath, so thepassthrough is unaffected. Also in this release: ignore files outside
rule_dirsare no longer consulted during scans.6cf2320: Raise runtime dependency floors to the current patch/minor releases.
nk-authmoves tojose^6.2.6,nk-billingtostripe^22.4.0,nk-i18ntointl-messageformat^11.2.13, andnk-devtooxlint^1.76.0,knip^6.31.0and
@testing-library/jest-dom^6.10.0.No API changes.
nk-devships the toolchain as real dependencies, so its bumpis what moves a consuming site's linter and dead-code checker — the new
oxlintreported no findings against this repo.
24247fd: Move to
@testing-library/jest-dom^7.0.0, and bundle its new peer.jest-dom 7 promotes
@testing-library/domto a required peer dependency withno
peerDependenciesMeta.optional.nk-devnow depends on it directly ratherthan leaving every site to satisfy it:
nk-devalready ships the testtoolchain (vitest, jsdom) as real dependencies, and the alternative is an
unmet-peer warning on install for any site that doesn't happen to pull
@testing-library/react.The shipped
vitest/setup.tsstill imports cleanly, and 7.0.0 addstoContainAnyBy*/toContainOneBy*matchers. jest-dom 7 also raises its Nodefloor to 22, which the jsdom 30
engineschange already covers.61fc5e0: Move the bundled formatter to
oxfmt^0.61.0.No source file in this repo reformats across the bump, so a consuming site
should see no diff either. 0.61 adds a YAML formatter, but it does not claim
.ymlfiles on its own —oxfmt --check .matches the same set it did before,and
.github/workflowsis untouched.@ingram-tech/nk-seo@0.7.0
Minor Changes
d77e323: Make the package usable on localized sites and on nodes the builders don't
cover, from four issues raised while migrating a 4-locale reference site.
createMetadata: per-pagealternates(merged over the generatedcanonical) andlocale(overrides the site-wide OpenGraph locale). Bothwere previously unreachable, so localized sites had to spread-and-overwrite
the factory's output — strictly worse than the hand-written object.
hreflangAlternates/<HreflangLinks>:prefixDefaultLocaleexpresses theall-prefixed layout (
/en/about, no bare path), withx-defaultpointing atthe default locale's prefixed URL. The result also carries
languages, thelinks keyed by hreflang, ready for
Metadata.alternates.languages.extraobject, shallow-merged over the built payload,so one unsupported property no longer forces the whole node back to a literal.
article'stypegainsTechArticleandReport, and there are newdataset,definedTermanddefinedTermSetbuilders (also oncreateSeo,with path resolution).
ogImageMetadatahelper, plus README sections on the two silent ways agenerated OG card fails to reach pages: a page's own
openGraphreplacing theinherited image, and locale-negotiating middleware redirecting a root-level
/opengraph-image.@ingram-tech/nk-auth@0.13.3
Patch Changes
6cf2320: Raise runtime dependency floors to the current patch/minor releases.
nk-authmoves tojose^6.2.6,nk-billingtostripe^22.4.0,nk-i18ntointl-messageformat^11.2.13, andnk-devtooxlint^1.76.0,knip^6.31.0and
@testing-library/jest-dom^6.10.0.No API changes.
nk-devships the toolchain as real dependencies, so its bumpis what moves a consuming site's linter and dead-code checker — the new
oxlintreported no findings against this repo.
@ingram-tech/nk-billing@0.3.3
Patch Changes
6cf2320: Raise runtime dependency floors to the current patch/minor releases.
nk-authmoves tojose^6.2.6,nk-billingtostripe^22.4.0,nk-i18ntointl-messageformat^11.2.13, andnk-devtooxlint^1.76.0,knip^6.31.0and
@testing-library/jest-dom^6.10.0.No API changes.
nk-devships the toolchain as real dependencies, so its bumpis what moves a consuming site's linter and dead-code checker — the new
oxlintreported no findings against this repo.
@ingram-tech/nk-blog@0.1.4
Patch Changes
@ingram-tech/nk-i18n@0.3.3
Patch Changes
6cf2320: Raise runtime dependency floors to the current patch/minor releases.
nk-authmoves tojose^6.2.6,nk-billingtostripe^22.4.0,nk-i18ntointl-messageformat^11.2.13, andnk-devtooxlint^1.76.0,knip^6.31.0and
@testing-library/jest-dom^6.10.0.No API changes.
nk-devships the toolchain as real dependencies, so its bumpis what moves a consuming site's linter and dead-code checker — the new
oxlintreported no findings against this repo.