Repository navigation
feat: accept Next.js 16.4.4 on the native Node path #437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+4,433
−289
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
7d81b2f
ci(native): produce the Pages handler corpus per Next.js release
soleil-colza 0426465
ci(native): take the producer's pnpm from its fixture
soleil-colza 8258ee8
Merge remote-tracking branch 'origin/chore/next-16.4.4-20261102' into…
soleil-colza 347f125
feat(adapter): qualify the native Next.js sources of 16.4.4 beside 16…
soleil-colza ae47979
feat(adapter): fingerprint the Turbopack runtime of Next.js 16.4.4
soleil-colza f6c0738
feat: qualify fast-jwt, the JWT library of Next.js 16.4.4, for native…
soleil-colza 3371056
ci(native): build the native fixtures on a chosen reviewed release
soleil-colza 05c7de0
docs: describe native support for Next.js 16.4.3 and 16.4.4
soleil-colza 87ff601
style: format the files the native release pins touched
soleil-colza ddfcad9
fix(adapter): hold the native Next.js package to its release's bytes
soleil-colza 993f0c8
fix(adapter): read strict factory tables only where a runtime install…
soleil-colza cae9167
Merge remote-tracking branch 'origin/main' into feat/native-next-16-4…
soleil-colza 1c790fd
fix(adapter): check only the tables a 16.4.4 runtime installs
soleil-colza eb69d44
fix(adapter): keep native Next.js release pins immutable
soleil-colza 30695b2
feat(adapter): add Next.js 16.4.4 Pages handler references
soleil-colza 915fdd1
ci(native): build the official fixtures on Next.js 16.4.3 and 16.4.4
soleil-colza e89b05e
docs: lift the pending Pages-only limitation on Next.js 16.4.4
soleil-colza File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| import type { Node } from './lexical-scope.ts'; | ||
| import { nodeJwtGlobalRecoverySite } from './node-jwt-compiler-sites.ts'; | ||
| import { nodeFastJwtBindingSite } from './node-jwt-fast-sites.ts'; | ||
| import type { NodeNextRequireHookSites } from './node-next-require-hook-sites.ts'; | ||
|
|
||
| /** The one site of a qualified source the ordinary closure walker refuses, and how it reads it. */ | ||
| export interface NodeJwtCompilerSite { | ||
| /** A code compiler call, or a Node loader read. */ | ||
| readonly kind: 'compiler' | 'loader'; | ||
| readonly node: Node; | ||
| } | ||
|
|
||
| /** The JWT library a release of Next.js compiles in, by its exact published bytes. */ | ||
| export interface NodeJwtCompilerProfile { | ||
| readonly name: 'next-16.4.3-jsonwebtoken-ncc-v1' | 'next-16.4.4-fast-jwt-ncc-v1'; | ||
| readonly release: '16.4.3' | '16.4.4'; | ||
| readonly suffix: string; | ||
| readonly sha256: string; | ||
| readonly bytes: number; | ||
| /** The builtins it loads, each by the exact specifier it writes. */ | ||
| readonly builtins: readonly string[]; | ||
| /** The no-op module Next.js substitutes for its `semver`, where it has one. */ | ||
| readonly semverSha256?: string; | ||
| site(program: unknown): NodeJwtCompilerSite | undefined; | ||
| } | ||
|
|
||
| /** The require hook's exempt loader operations, with a qualified source's own loader read. */ | ||
| export function withNodeJwtLoader( | ||
| hooks: NodeNextRequireHookSites, | ||
| site: NodeJwtCompilerSite | undefined, | ||
| ): NodeNextRequireHookSites { | ||
| if (site?.kind !== 'loader') return hooks; | ||
| return { ...hooks, operations: new Set([...hooks.operations, site.node]) }; | ||
| } | ||
|
|
||
| function siteOf(kind: NodeJwtCompilerSite['kind'], node: Node | undefined) { | ||
| return node === undefined ? undefined : Object.freeze({ kind, node }); | ||
| } | ||
|
|
||
| export const NODE_JWT_COMPILER_PROFILES: readonly NodeJwtCompilerProfile[] = Object.freeze([ | ||
| Object.freeze({ | ||
| name: 'next-16.4.3-jsonwebtoken-ncc-v1', | ||
| release: '16.4.3', | ||
| suffix: '/dist/compiled/jsonwebtoken/index.js', | ||
| sha256: '056c2dddba96faa35f4dc0740228a241990561290ff3bd5456c7c7dbc5a7a6b9', | ||
| bytes: 121_051, | ||
| builtins: Object.freeze(['buffer', 'crypto', 'stream', 'util']), | ||
| semverSha256: '34c5853dd094229baa28a8b15b86e2143eeb0de0360530798ef3e9a7890942b6', | ||
| site: (program: unknown) => siteOf('compiler', nodeJwtGlobalRecoverySite(program)), | ||
| }), | ||
| Object.freeze({ | ||
| name: 'next-16.4.4-fast-jwt-ncc-v1', | ||
| release: '16.4.4', | ||
| suffix: '/dist/compiled/fast-jwt/index.js', | ||
| sha256: '8cc4cea3ed6b85a6771a2546bbb88dcd1ca21e6061d89057728d3da4ecccfabf', | ||
| bytes: 131_737, | ||
| builtins: Object.freeze(['buffer', 'node:crypto', 'node:util', 'util']), | ||
| site: (program: unknown) => siteOf('loader', nodeFastJwtBindingSite(program)), | ||
| }), | ||
| ]); |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.