mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
Following up on https://github.com/vercel/next.js/pull/83240 When using ESM syntax in `next.config.ts` on a CJS project, Node.js first assumes it as CJS, then parses it into ESM again, giving a warning: ``` (node:27529) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file://.../next.config.ts is not specified and it doesn't parse as CommonJS. Reparsing as ES module because module syntax was detected. This incurs a performance overhead. To eliminate this warning, add "type": "module" to .../package.json. ``` Therefore, give users the option to use `next.config.mts` which Node.js expects ESM syntax. The tests are a copy of `next-config-ts-native-ts` and only renamed the config to mts. --------- Co-authored-by: Sebastian "Sebbie" Silbermann <[email protected]>
18 lines
385 B
TypeScript
18 lines
385 B
TypeScript
import type { NextConfig } from 'next'
|
|
import fs from 'node:fs'
|
|
import { join } from 'node:path'
|
|
|
|
// top-level await will only work in Native TS mode.
|
|
// This is to ensure that the test is running in Native TS mode.
|
|
await Promise.resolve()
|
|
|
|
const foo = fs.readFileSync(join('.', 'foo.txt'), 'utf8')
|
|
|
|
const nextConfig: NextConfig = {
|
|
env: {
|
|
foo,
|
|
},
|
|
}
|
|
|
|
export default nextConfig
|