f5b186cb69
Next.js forcibly setting `module: 'esnext'` in `tsconfig.json` is necessary to prevent TypeScript from erroring on the following code: ```tsx import dynamic from 'next/dynamic'; const A = dynamic(() => import('../A')); ``` ``` ERROR in /Users/joe/Desktop/scratch/test-cjs/pages/index.tsx(5,25): 5:25 Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'. > 5 | const A = dynamic(() => import("../test")); ``` However, users may want to use one of the many other targets for better interoperability with projects that co-exist with their Next.js project (like `commonjs`). When cross referenced with: ``` Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'.ts ``` That means we can permit any of these values: ```json5 parsedValues: [ ts.ModuleKind.ES2020, ts.ModuleKind.ESNext, ts.ModuleKind.CommonJS, ts.ModuleKind.AMD, ], ``` This PR updates Next.js to allow those! --- Fixes #15275 |
||
---|---|---|
.. | ||
pages | ||
test | ||
value.ts |