crates/next-error-code-swc-plugin/README.md
swc-plugin for Next.js Error Code TransformationThis plugin transforms Next.js source code by:
new Error or Error to include an additional property: Object.defineProperty(new Error(...), "__NEXT_ERROR_CODE", { value: $code, enumerable: false, configurable: true }). The enumerable: false ensures the error code won't show up in console logs while still being accessible for telemetry. The configurable: true ensures the error code can be overwritten, useful for transforming errors.packages/next/errors.jsonpnpm build automatically updates errors.json if new errors are introduced.errors.json file to avoid CI failures.Two-Pass Build:
packages/next/.errors/*.json.packages/next/errors.json and reruns the build step to confirm no further new errors.Concurrency Handling: The two-pass system ensures reliable ordering of inserted error codes during concurrent builds.
WASM Rebuild Required:
pnpm build-error-code-plugin and commit it to the repository.pnpm build runs without requiring cargo).Testing: Run cargo test inside the crates/next-error-code-swc-plugin directory to test the plugin.