@openuiai/next 15.6.0-bun.26 → 15.6.0-bun.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.js +3 -3
  3. package/dist/build/swc/index.js +1 -1
  4. package/dist/build/webpack/plugins/next-types-plugin/index.js +22 -20
  5. package/dist/build/webpack/plugins/next-types-plugin/index.js.map +1 -1
  6. package/dist/build/webpack-config.js +2 -2
  7. package/dist/client/app-bootstrap.js +1 -1
  8. package/dist/client/index.js +1 -1
  9. package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js +1 -1
  10. package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js.map +1 -1
  11. package/dist/compiled/next-server/pages-api.runtime.dev.js +1 -1
  12. package/dist/compiled/next-server/pages-api.runtime.dev.js.map +1 -1
  13. package/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
  14. package/dist/compiled/next-server/pages-turbo.runtime.prod.js.map +1 -1
  15. package/dist/compiled/next-server/pages.runtime.dev.js +1 -1
  16. package/dist/compiled/next-server/pages.runtime.dev.js.map +1 -1
  17. package/dist/esm/build/index.js +3 -3
  18. package/dist/esm/build/swc/index.js +1 -1
  19. package/dist/esm/build/webpack/plugins/next-types-plugin/index.js +22 -20
  20. package/dist/esm/build/webpack/plugins/next-types-plugin/index.js.map +1 -1
  21. package/dist/esm/build/webpack-config.js +2 -2
  22. package/dist/esm/client/app-bootstrap.js +1 -1
  23. package/dist/esm/client/index.js +1 -1
  24. package/dist/esm/lib/typescript/writeConfigurationDefaults.js +5 -0
  25. package/dist/esm/lib/typescript/writeConfigurationDefaults.js.map +1 -1
  26. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  27. package/dist/esm/server/lib/app-info-log.js +1 -1
  28. package/dist/esm/server/lib/start-server.js +1 -1
  29. package/dist/esm/shared/lib/canary-only.js +1 -1
  30. package/dist/lib/typescript/writeConfigurationDefaults.js +5 -0
  31. package/dist/lib/typescript/writeConfigurationDefaults.js.map +1 -1
  32. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  33. package/dist/server/lib/app-info-log.js +1 -1
  34. package/dist/server/lib/start-server.js +1 -1
  35. package/dist/shared/lib/canary-only.js +1 -1
  36. package/dist/telemetry/anonymous-meta.js +1 -1
  37. package/dist/telemetry/events/session-stopped.js +2 -2
  38. package/dist/telemetry/events/version.js +2 -2
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/typescript/writeConfigurationDefaults.ts"],"sourcesContent":["import { promises as fs } from 'fs'\nimport { bold, cyan, white } from '../picocolors'\nimport * as CommentJson from 'next/dist/compiled/comment-json'\nimport semver from 'next/dist/compiled/semver'\nimport os from 'os'\nimport path from 'path'\nimport type { CompilerOptions } from 'typescript'\nimport { getTypeScriptConfiguration } from './getTypeScriptConfiguration'\nimport * as Log from '../../build/output/log'\n\n// Read package name dynamically to support forked packages\n// From dist/lib/typescript, go up 3 levels to reach package root\nconst PKG_NAME = require(path.join(__dirname, '../../../package.json')).name\n\ntype DesiredCompilerOptionsShape = {\n [K in keyof CompilerOptions]:\n | { suggested: any; reason?: string }\n | {\n parsedValue?: any\n parsedValues?: Array<any>\n value: any\n reason: string\n }\n}\n\nfunction getDesiredCompilerOptions(\n ts: typeof import('typescript'),\n tsOptions?: CompilerOptions\n): DesiredCompilerOptionsShape {\n const o: DesiredCompilerOptionsShape = {\n target: {\n suggested: 'ES2017',\n reason:\n 'For top-level `await`. Note: Next.js only polyfills for the esmodules target.',\n },\n // These are suggested values and will be set when not present in the\n // tsconfig.json\n lib: { suggested: ['dom', 'dom.iterable', 'esnext'] },\n allowJs: { suggested: true },\n skipLibCheck: { suggested: true },\n strict: { suggested: false },\n ...(semver.lt(ts.version, '5.0.0')\n ? { forceConsistentCasingInFileNames: { suggested: true } }\n : undefined),\n noEmit: { suggested: true },\n ...(semver.gte(ts.version, '4.4.2')\n ? { incremental: { suggested: true } }\n : undefined),\n\n // These values are required and cannot be changed by the user\n // Keep this in sync with the webpack config\n // 'parsedValue' matches the output value from ts.parseJsonConfigFileContent()\n module: {\n parsedValue: ts.ModuleKind.ESNext,\n // All of these values work:\n parsedValues: [\n semver.gte(ts.version, '5.4.0') && (ts.ModuleKind as any).Preserve,\n ts.ModuleKind.ES2020,\n ts.ModuleKind.ESNext,\n ts.ModuleKind.CommonJS,\n ts.ModuleKind.AMD,\n ts.ModuleKind.NodeNext,\n ts.ModuleKind.Node16,\n ],\n value: 'esnext',\n reason: 'for dynamic import() support',\n },\n // TODO: Semver check not needed once Next.js repo uses 5.4.\n ...(semver.gte(ts.version, '5.4.0') &&\n tsOptions?.module === (ts.ModuleKind as any).Preserve\n ? {\n // TypeScript 5.4 introduced `Preserve`. Using `Preserve` implies\n // - `moduleResolution` is `Bundler`\n // - `esModuleInterop` is `true`\n // - `resolveJsonModule` is `true`\n // This means that if the user is using Preserve, they don't need these options\n }\n : {\n esModuleInterop: {\n value: true,\n reason: 'requirement for SWC / babel',\n },\n moduleResolution: {\n // In TypeScript 5.0, `NodeJs` has renamed to `Node10`\n parsedValue:\n ts.ModuleResolutionKind.Bundler ??\n ts.ModuleResolutionKind.NodeNext ??\n (ts.ModuleResolutionKind as any).Node10 ??\n ts.ModuleResolutionKind.NodeJs,\n // All of these values work:\n parsedValues: [\n (ts.ModuleResolutionKind as any).Node10 ??\n ts.ModuleResolutionKind.NodeJs,\n // only newer TypeScript versions have this field, it\n // will be filtered for new versions of TypeScript\n (ts.ModuleResolutionKind as any).Node12,\n ts.ModuleResolutionKind.Node16,\n ts.ModuleResolutionKind.NodeNext,\n ts.ModuleResolutionKind.Bundler,\n ].filter((val) => typeof val !== 'undefined'),\n value: 'node',\n reason: 'to match webpack resolution',\n },\n resolveJsonModule: {\n value: true,\n reason: 'to match webpack resolution',\n },\n }),\n ...(tsOptions?.verbatimModuleSyntax === true\n ? undefined\n : {\n isolatedModules: {\n value: true,\n reason: 'requirement for SWC / Babel',\n },\n }),\n jsx: {\n parsedValue: ts.JsxEmit.ReactJSX,\n value: 'react-jsx',\n reason: 'next.js uses the React automatic runtime',\n },\n }\n\n return o\n}\n\nexport function getRequiredConfiguration(\n ts: typeof import('typescript')\n): Partial<import('typescript').CompilerOptions> {\n const res: Partial<import('typescript').CompilerOptions> = {}\n\n const desiredCompilerOptions = getDesiredCompilerOptions(ts)\n for (const optionKey of Object.keys(desiredCompilerOptions)) {\n const ev = desiredCompilerOptions[optionKey]\n if (!('value' in ev)) {\n continue\n }\n res[optionKey] = ev.parsedValue ?? ev.value\n }\n\n return res\n}\n\nconst localDevTestFilesExcludeAction =\n 'NEXT_PRIVATE_LOCAL_DEV_TEST_FILES_EXCLUDE'\n\nexport async function writeConfigurationDefaults(\n ts: typeof import('typescript'),\n tsConfigPath: string,\n isFirstTimeSetup: boolean,\n hasAppDir: boolean,\n distDir: string,\n hasPagesDir: boolean\n): Promise<void> {\n if (isFirstTimeSetup) {\n await fs.writeFile(tsConfigPath, '{}' + os.EOL)\n }\n\n const { options: tsOptions, raw: rawConfig } =\n await getTypeScriptConfiguration(ts, tsConfigPath, true)\n\n const userTsConfigContent = await fs.readFile(tsConfigPath, {\n encoding: 'utf8',\n })\n const userTsConfig = CommentJson.parse(userTsConfigContent)\n if (userTsConfig.compilerOptions == null && !('extends' in rawConfig)) {\n userTsConfig.compilerOptions = {}\n isFirstTimeSetup = true\n }\n\n const desiredCompilerOptions = getDesiredCompilerOptions(ts, tsOptions)\n\n const suggestedActions: string[] = []\n const requiredActions: string[] = []\n for (const optionKey of Object.keys(desiredCompilerOptions)) {\n const check = desiredCompilerOptions[optionKey]\n if ('suggested' in check) {\n if (!(optionKey in tsOptions)) {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n userTsConfig.compilerOptions[optionKey] = check.suggested\n suggestedActions.push(\n cyan(optionKey) +\n ' was set to ' +\n bold(check.suggested) +\n (check.reason ? ` (${check.reason})` : '')\n )\n }\n } else if ('value' in check) {\n const ev = tsOptions[optionKey]\n if (\n !('parsedValues' in check\n ? check.parsedValues?.includes(ev)\n : 'parsedValue' in check\n ? check.parsedValue === ev\n : check.value === ev)\n ) {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n userTsConfig.compilerOptions[optionKey] = check.value\n requiredActions.push(\n cyan(optionKey) +\n ' was set to ' +\n bold(check.value) +\n ` (${check.reason})`\n )\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = check\n }\n }\n\n const nextAppTypes = `${distDir}/types/**/*.ts`\n\n if (!('include' in rawConfig)) {\n userTsConfig.include = hasAppDir\n ? ['next-env.d.ts', nextAppTypes, '**/*.ts', '**/*.tsx']\n : ['next-env.d.ts', '**/*.ts', '**/*.tsx']\n suggestedActions.push(\n cyan('include') +\n ' was set to ' +\n bold(\n hasAppDir\n ? `['next-env.d.ts', '${nextAppTypes}', '**/*.ts', '**/*.tsx']`\n : `['next-env.d.ts', '**/*.ts', '**/*.tsx']`\n )\n )\n } else if (hasAppDir && !rawConfig.include.includes(nextAppTypes)) {\n if (!Array.isArray(userTsConfig.include)) {\n userTsConfig.include = []\n }\n // rawConfig will resolve all extends and include paths (ex: tsconfig.json, tsconfig.base.json, etc.)\n // if it doesn't match userTsConfig then update the userTsConfig to add the\n // rawConfig's includes in addition to nextAppTypes\n if (\n rawConfig.include.length !== userTsConfig.include.length ||\n JSON.stringify(rawConfig.include.sort()) !==\n JSON.stringify(userTsConfig.include.sort())\n ) {\n userTsConfig.include.push(...rawConfig.include, nextAppTypes)\n suggestedActions.push(\n cyan('include') +\n ' was set to ' +\n bold(\n `[${[...rawConfig.include, nextAppTypes]\n .map((i) => `'${i}'`)\n .join(', ')}]`\n )\n )\n } else {\n userTsConfig.include.push(nextAppTypes)\n suggestedActions.push(\n cyan('include') + ' was updated to add ' + bold(`'${nextAppTypes}'`)\n )\n }\n }\n\n // Enable the Next.js typescript plugin.\n if (hasAppDir) {\n // Check if the config or the resolved config has the plugin already.\n const plugins = [\n ...(Array.isArray(tsOptions.plugins) ? tsOptions.plugins : []),\n ...(userTsConfig.compilerOptions &&\n Array.isArray(userTsConfig.compilerOptions.plugins)\n ? userTsConfig.compilerOptions.plugins\n : []),\n ]\n const hasNextPlugin = plugins.some(\n ({ name }: { name: string }) => name === 'next'\n )\n\n // If the TS config extends on another config, we can't add the `plugin` field\n // because that will override the parent config's plugins.\n // Instead we have to show a message to the user to add the plugin manually.\n if (\n !userTsConfig.compilerOptions ||\n (plugins.length &&\n !hasNextPlugin &&\n 'extends' in rawConfig &&\n (!rawConfig.compilerOptions || !rawConfig.compilerOptions.plugins))\n ) {\n Log.info(\n `\\nYour ${bold(\n 'tsconfig.json'\n )} extends another configuration, which means we cannot add the Next.js TypeScript plugin automatically. To improve your development experience, we recommend adding the Next.js plugin (\\`${cyan(\n '\"plugins\": [{ \"name\": \"next\" }]'\n )}\\`) manually to your TypeScript configuration. Learn more: https://nextjs.org/docs/app/api-reference/config/typescript#the-typescript-plugin\\n`\n )\n } else if (!hasNextPlugin) {\n if (!('plugins' in userTsConfig.compilerOptions)) {\n userTsConfig.compilerOptions.plugins = []\n }\n userTsConfig.compilerOptions.plugins.push({ name: 'next' })\n suggestedActions.push(\n cyan('plugins') + ' was updated to add ' + bold(`{ name: 'next' }`)\n )\n }\n\n // If `strict` is set to `false` and `strictNullChecks` is set to `false`,\n // then set `strictNullChecks` to `true`.\n if (\n hasPagesDir &&\n hasAppDir &&\n !tsOptions.strict &&\n !('strictNullChecks' in tsOptions)\n ) {\n userTsConfig.compilerOptions.strictNullChecks = true\n suggestedActions.push(\n cyan('strictNullChecks') + ' was set to ' + bold(`true`)\n )\n }\n }\n\n // If the package name is not 'next', add a path mapping to redirect 'next' imports\n // to the actual package name. This is necessary for forked packages.\n if (PKG_NAME !== 'next') {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n if (!userTsConfig.compilerOptions.paths) {\n userTsConfig.compilerOptions.paths = {}\n }\n\n // Add path mapping for 'next' and 'next/*' to redirect to the actual package\n const nextMapping = `${PKG_NAME}`\n const nextWildcardMapping = `${PKG_NAME}/*`\n\n if (!userTsConfig.compilerOptions.paths['next']) {\n userTsConfig.compilerOptions.paths['next'] = [nextMapping]\n suggestedActions.push(\n cyan('paths[\"next\"]') + ' was set to ' + bold(`[\"${nextMapping}\"]`) +\n ' (for forked package support)'\n )\n }\n\n if (!userTsConfig.compilerOptions.paths['next/*']) {\n userTsConfig.compilerOptions.paths['next/*'] = [nextWildcardMapping]\n suggestedActions.push(\n cyan('paths[\"next/*\"]') + ' was set to ' + bold(`[\"${nextWildcardMapping}\"]`) +\n ' (for forked package support)'\n )\n }\n }\n\n if (!('exclude' in rawConfig)) {\n userTsConfig.exclude = ['node_modules']\n suggestedActions.push(\n cyan('exclude') + ' was set to ' + bold(`['node_modules']`)\n )\n }\n\n // During local development inside Next.js repo, exclude the test files coverage by the local tsconfig\n if (process.env.NEXT_PRIVATE_LOCAL_DEV && userTsConfig.exclude) {\n const tsGlob = '**/*.test.ts'\n const tsxGlob = '**/*.test.tsx'\n let hasUpdates = false\n if (!userTsConfig.exclude.includes(tsGlob)) {\n userTsConfig.exclude.push(tsGlob)\n hasUpdates = true\n }\n if (!userTsConfig.exclude.includes(tsxGlob)) {\n userTsConfig.exclude.push(tsxGlob)\n hasUpdates = true\n }\n\n if (hasUpdates) {\n requiredActions.push(localDevTestFilesExcludeAction)\n }\n }\n\n if (suggestedActions.length < 1 && requiredActions.length < 1) {\n return\n }\n\n await fs.writeFile(\n tsConfigPath,\n CommentJson.stringify(userTsConfig, null, 2) + os.EOL\n )\n\n Log.info('')\n if (isFirstTimeSetup) {\n Log.info(\n `We detected TypeScript in your project and created a ${cyan(\n 'tsconfig.json'\n )} file for you.`\n )\n return\n }\n\n Log.info(\n `We detected TypeScript in your project and reconfigured your ${cyan(\n 'tsconfig.json'\n )} file for you.${\n userTsConfig.compilerOptions?.strict\n ? ''\n : ` Strict-mode is set to ${cyan('false')} by default.`\n }`\n )\n\n if (suggestedActions.length) {\n Log.info(\n `The following suggested values were added to your ${cyan(\n 'tsconfig.json'\n )}. These values ${cyan('can be changed')} to fit your project's needs:\\n`\n )\n\n suggestedActions.forEach((action) => Log.info(`\\t- ${action}`))\n\n Log.info('')\n }\n\n const requiredActionsToBeLogged = process.env.NEXT_PRIVATE_LOCAL_DEV\n ? requiredActions.filter(\n (action) => action !== localDevTestFilesExcludeAction\n )\n : requiredActions\n\n if (requiredActionsToBeLogged.length) {\n Log.info(\n `The following ${white('mandatory changes')} were made to your ${cyan(\n 'tsconfig.json'\n )}:\\n`\n )\n\n requiredActionsToBeLogged.forEach((action) => Log.info(`\\t- ${action}`))\n\n Log.info('')\n }\n}\n"],"names":["getRequiredConfiguration","writeConfigurationDefaults","PKG_NAME","require","path","join","__dirname","name","getDesiredCompilerOptions","ts","tsOptions","o","target","suggested","reason","lib","allowJs","skipLibCheck","strict","semver","lt","version","forceConsistentCasingInFileNames","undefined","noEmit","gte","incremental","module","parsedValue","ModuleKind","ESNext","parsedValues","Preserve","ES2020","CommonJS","AMD","NodeNext","Node16","value","esModuleInterop","moduleResolution","ModuleResolutionKind","Bundler","Node10","NodeJs","Node12","filter","val","resolveJsonModule","verbatimModuleSyntax","isolatedModules","jsx","JsxEmit","ReactJSX","res","desiredCompilerOptions","optionKey","Object","keys","ev","localDevTestFilesExcludeAction","tsConfigPath","isFirstTimeSetup","hasAppDir","distDir","hasPagesDir","userTsConfig","fs","writeFile","os","EOL","options","raw","rawConfig","getTypeScriptConfiguration","userTsConfigContent","readFile","encoding","CommentJson","parse","compilerOptions","suggestedActions","requiredActions","check","push","cyan","bold","includes","_","nextAppTypes","include","Array","isArray","length","JSON","stringify","sort","map","i","plugins","hasNextPlugin","some","Log","info","strictNullChecks","paths","nextMapping","nextWildcardMapping","exclude","process","env","NEXT_PRIVATE_LOCAL_DEV","tsGlob","tsxGlob","hasUpdates","forEach","action","requiredActionsToBeLogged","white"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../src/lib/typescript/writeConfigurationDefaults.ts"],"sourcesContent":["import { promises as fs } from 'fs'\nimport { bold, cyan, white } from '../picocolors'\nimport * as CommentJson from 'next/dist/compiled/comment-json'\nimport semver from 'next/dist/compiled/semver'\nimport os from 'os'\nimport path from 'path'\nimport type { CompilerOptions } from 'typescript'\nimport { getTypeScriptConfiguration } from './getTypeScriptConfiguration'\nimport * as Log from '../../build/output/log'\n\n// Read package name dynamically to support forked packages\n// From dist/lib/typescript, go up 3 levels to reach package root\nconst PKG_NAME = require(path.join(__dirname, '../../../package.json')).name\n\ntype DesiredCompilerOptionsShape = {\n [K in keyof CompilerOptions]:\n | { suggested: any; reason?: string }\n | {\n parsedValue?: any\n parsedValues?: Array<any>\n value: any\n reason: string\n }\n}\n\nfunction getDesiredCompilerOptions(\n ts: typeof import('typescript'),\n tsOptions?: CompilerOptions\n): DesiredCompilerOptionsShape {\n const o: DesiredCompilerOptionsShape = {\n target: {\n suggested: 'ES2017',\n reason:\n 'For top-level `await`. Note: Next.js only polyfills for the esmodules target.',\n },\n // These are suggested values and will be set when not present in the\n // tsconfig.json\n lib: { suggested: ['dom', 'dom.iterable', 'esnext'] },\n allowJs: { suggested: true },\n skipLibCheck: { suggested: true },\n strict: { suggested: false },\n ...(semver.lt(ts.version, '5.0.0')\n ? { forceConsistentCasingInFileNames: { suggested: true } }\n : undefined),\n noEmit: { suggested: true },\n ...(semver.gte(ts.version, '4.4.2')\n ? { incremental: { suggested: true } }\n : undefined),\n\n // These values are required and cannot be changed by the user\n // Keep this in sync with the webpack config\n // 'parsedValue' matches the output value from ts.parseJsonConfigFileContent()\n module: {\n parsedValue: ts.ModuleKind.ESNext,\n // All of these values work:\n parsedValues: [\n semver.gte(ts.version, '5.4.0') && (ts.ModuleKind as any).Preserve,\n ts.ModuleKind.ES2020,\n ts.ModuleKind.ESNext,\n ts.ModuleKind.CommonJS,\n ts.ModuleKind.AMD,\n ts.ModuleKind.NodeNext,\n ts.ModuleKind.Node16,\n ],\n value: 'esnext',\n reason: 'for dynamic import() support',\n },\n // TODO: Semver check not needed once Next.js repo uses 5.4.\n ...(semver.gte(ts.version, '5.4.0') &&\n tsOptions?.module === (ts.ModuleKind as any).Preserve\n ? {\n // TypeScript 5.4 introduced `Preserve`. Using `Preserve` implies\n // - `moduleResolution` is `Bundler`\n // - `esModuleInterop` is `true`\n // - `resolveJsonModule` is `true`\n // This means that if the user is using Preserve, they don't need these options\n }\n : {\n esModuleInterop: {\n value: true,\n reason: 'requirement for SWC / babel',\n },\n moduleResolution: {\n // In TypeScript 5.0, `NodeJs` has renamed to `Node10`\n parsedValue:\n ts.ModuleResolutionKind.Bundler ??\n ts.ModuleResolutionKind.NodeNext ??\n (ts.ModuleResolutionKind as any).Node10 ??\n ts.ModuleResolutionKind.NodeJs,\n // All of these values work:\n parsedValues: [\n (ts.ModuleResolutionKind as any).Node10 ??\n ts.ModuleResolutionKind.NodeJs,\n // only newer TypeScript versions have this field, it\n // will be filtered for new versions of TypeScript\n (ts.ModuleResolutionKind as any).Node12,\n ts.ModuleResolutionKind.Node16,\n ts.ModuleResolutionKind.NodeNext,\n ts.ModuleResolutionKind.Bundler,\n ].filter((val) => typeof val !== 'undefined'),\n value: 'node',\n reason: 'to match webpack resolution',\n },\n resolveJsonModule: {\n value: true,\n reason: 'to match webpack resolution',\n },\n }),\n ...(tsOptions?.verbatimModuleSyntax === true\n ? undefined\n : {\n isolatedModules: {\n value: true,\n reason: 'requirement for SWC / Babel',\n },\n }),\n jsx: {\n parsedValue: ts.JsxEmit.ReactJSX,\n value: 'react-jsx',\n reason: 'next.js uses the React automatic runtime',\n },\n }\n\n return o\n}\n\nexport function getRequiredConfiguration(\n ts: typeof import('typescript')\n): Partial<import('typescript').CompilerOptions> {\n const res: Partial<import('typescript').CompilerOptions> = {}\n\n const desiredCompilerOptions = getDesiredCompilerOptions(ts)\n for (const optionKey of Object.keys(desiredCompilerOptions)) {\n const ev = desiredCompilerOptions[optionKey]\n if (!('value' in ev)) {\n continue\n }\n res[optionKey] = ev.parsedValue ?? ev.value\n }\n\n return res\n}\n\nconst localDevTestFilesExcludeAction =\n 'NEXT_PRIVATE_LOCAL_DEV_TEST_FILES_EXCLUDE'\n\nexport async function writeConfigurationDefaults(\n ts: typeof import('typescript'),\n tsConfigPath: string,\n isFirstTimeSetup: boolean,\n hasAppDir: boolean,\n distDir: string,\n hasPagesDir: boolean\n): Promise<void> {\n if (isFirstTimeSetup) {\n await fs.writeFile(tsConfigPath, '{}' + os.EOL)\n }\n\n const { options: tsOptions, raw: rawConfig } =\n await getTypeScriptConfiguration(ts, tsConfigPath, true)\n\n const userTsConfigContent = await fs.readFile(tsConfigPath, {\n encoding: 'utf8',\n })\n const userTsConfig = CommentJson.parse(userTsConfigContent)\n if (userTsConfig.compilerOptions == null && !('extends' in rawConfig)) {\n userTsConfig.compilerOptions = {}\n isFirstTimeSetup = true\n }\n\n const desiredCompilerOptions = getDesiredCompilerOptions(ts, tsOptions)\n\n const suggestedActions: string[] = []\n const requiredActions: string[] = []\n for (const optionKey of Object.keys(desiredCompilerOptions)) {\n const check = desiredCompilerOptions[optionKey]\n if ('suggested' in check) {\n if (!(optionKey in tsOptions)) {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n userTsConfig.compilerOptions[optionKey] = check.suggested\n suggestedActions.push(\n cyan(optionKey) +\n ' was set to ' +\n bold(check.suggested) +\n (check.reason ? ` (${check.reason})` : '')\n )\n }\n } else if ('value' in check) {\n const ev = tsOptions[optionKey]\n if (\n !('parsedValues' in check\n ? check.parsedValues?.includes(ev)\n : 'parsedValue' in check\n ? check.parsedValue === ev\n : check.value === ev)\n ) {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n userTsConfig.compilerOptions[optionKey] = check.value\n requiredActions.push(\n cyan(optionKey) +\n ' was set to ' +\n bold(check.value) +\n ` (${check.reason})`\n )\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = check\n }\n }\n\n const nextAppTypes = `${distDir}/types/**/*.ts`\n\n if (!('include' in rawConfig)) {\n userTsConfig.include = hasAppDir\n ? ['next-env.d.ts', nextAppTypes, '**/*.ts', '**/*.tsx']\n : ['next-env.d.ts', '**/*.ts', '**/*.tsx']\n suggestedActions.push(\n cyan('include') +\n ' was set to ' +\n bold(\n hasAppDir\n ? `['next-env.d.ts', '${nextAppTypes}', '**/*.ts', '**/*.tsx']`\n : `['next-env.d.ts', '**/*.ts', '**/*.tsx']`\n )\n )\n } else if (hasAppDir && !rawConfig.include.includes(nextAppTypes)) {\n if (!Array.isArray(userTsConfig.include)) {\n userTsConfig.include = []\n }\n // rawConfig will resolve all extends and include paths (ex: tsconfig.json, tsconfig.base.json, etc.)\n // if it doesn't match userTsConfig then update the userTsConfig to add the\n // rawConfig's includes in addition to nextAppTypes\n if (\n rawConfig.include.length !== userTsConfig.include.length ||\n JSON.stringify(rawConfig.include.sort()) !==\n JSON.stringify(userTsConfig.include.sort())\n ) {\n userTsConfig.include.push(...rawConfig.include, nextAppTypes)\n suggestedActions.push(\n cyan('include') +\n ' was set to ' +\n bold(\n `[${[...rawConfig.include, nextAppTypes]\n .map((i) => `'${i}'`)\n .join(', ')}]`\n )\n )\n } else {\n userTsConfig.include.push(nextAppTypes)\n suggestedActions.push(\n cyan('include') + ' was updated to add ' + bold(`'${nextAppTypes}'`)\n )\n }\n }\n\n // Enable the Next.js typescript plugin.\n if (hasAppDir) {\n // Check if the config or the resolved config has the plugin already.\n const plugins = [\n ...(Array.isArray(tsOptions.plugins) ? tsOptions.plugins : []),\n ...(userTsConfig.compilerOptions &&\n Array.isArray(userTsConfig.compilerOptions.plugins)\n ? userTsConfig.compilerOptions.plugins\n : []),\n ]\n const hasNextPlugin = plugins.some(\n ({ name }: { name: string }) => name === 'next'\n )\n\n // If the TS config extends on another config, we can't add the `plugin` field\n // because that will override the parent config's plugins.\n // Instead we have to show a message to the user to add the plugin manually.\n if (\n !userTsConfig.compilerOptions ||\n (plugins.length &&\n !hasNextPlugin &&\n 'extends' in rawConfig &&\n (!rawConfig.compilerOptions || !rawConfig.compilerOptions.plugins))\n ) {\n Log.info(\n `\\nYour ${bold(\n 'tsconfig.json'\n )} extends another configuration, which means we cannot add the Next.js TypeScript plugin automatically. To improve your development experience, we recommend adding the Next.js plugin (\\`${cyan(\n '\"plugins\": [{ \"name\": \"next\" }]'\n )}\\`) manually to your TypeScript configuration. Learn more: https://nextjs.org/docs/app/api-reference/config/typescript#the-typescript-plugin\\n`\n )\n } else if (!hasNextPlugin) {\n if (!('plugins' in userTsConfig.compilerOptions)) {\n userTsConfig.compilerOptions.plugins = []\n }\n userTsConfig.compilerOptions.plugins.push({ name: 'next' })\n suggestedActions.push(\n cyan('plugins') + ' was updated to add ' + bold(`{ name: 'next' }`)\n )\n }\n\n // If `strict` is set to `false` and `strictNullChecks` is set to `false`,\n // then set `strictNullChecks` to `true`.\n if (\n hasPagesDir &&\n hasAppDir &&\n !tsOptions.strict &&\n !('strictNullChecks' in tsOptions)\n ) {\n userTsConfig.compilerOptions.strictNullChecks = true\n suggestedActions.push(\n cyan('strictNullChecks') + ' was set to ' + bold(`true`)\n )\n }\n }\n\n // If the package name is not 'next', add a path mapping to redirect 'next' imports\n // to the actual package name. This is necessary for forked packages.\n if (PKG_NAME !== 'next') {\n if (!userTsConfig.compilerOptions) {\n userTsConfig.compilerOptions = {}\n }\n\n // baseUrl is required for path mappings to work correctly\n if (!userTsConfig.compilerOptions.baseUrl) {\n userTsConfig.compilerOptions.baseUrl = '.'\n suggestedActions.push(\n cyan('baseUrl') + ' was set to ' + bold(`\".\"`) +\n ' (required for path mappings)'\n )\n }\n\n if (!userTsConfig.compilerOptions.paths) {\n userTsConfig.compilerOptions.paths = {}\n }\n\n // Add path mapping for 'next' and 'next/*' to redirect to the actual package\n const nextMapping = `${PKG_NAME}`\n const nextWildcardMapping = `${PKG_NAME}/*`\n\n if (!userTsConfig.compilerOptions.paths['next']) {\n userTsConfig.compilerOptions.paths['next'] = [nextMapping]\n suggestedActions.push(\n cyan('paths[\"next\"]') + ' was set to ' + bold(`[\"${nextMapping}\"]`) +\n ' (for forked package support)'\n )\n }\n\n if (!userTsConfig.compilerOptions.paths['next/*']) {\n userTsConfig.compilerOptions.paths['next/*'] = [nextWildcardMapping]\n suggestedActions.push(\n cyan('paths[\"next/*\"]') + ' was set to ' + bold(`[\"${nextWildcardMapping}\"]`) +\n ' (for forked package support)'\n )\n }\n }\n\n if (!('exclude' in rawConfig)) {\n userTsConfig.exclude = ['node_modules']\n suggestedActions.push(\n cyan('exclude') + ' was set to ' + bold(`['node_modules']`)\n )\n }\n\n // During local development inside Next.js repo, exclude the test files coverage by the local tsconfig\n if (process.env.NEXT_PRIVATE_LOCAL_DEV && userTsConfig.exclude) {\n const tsGlob = '**/*.test.ts'\n const tsxGlob = '**/*.test.tsx'\n let hasUpdates = false\n if (!userTsConfig.exclude.includes(tsGlob)) {\n userTsConfig.exclude.push(tsGlob)\n hasUpdates = true\n }\n if (!userTsConfig.exclude.includes(tsxGlob)) {\n userTsConfig.exclude.push(tsxGlob)\n hasUpdates = true\n }\n\n if (hasUpdates) {\n requiredActions.push(localDevTestFilesExcludeAction)\n }\n }\n\n if (suggestedActions.length < 1 && requiredActions.length < 1) {\n return\n }\n\n await fs.writeFile(\n tsConfigPath,\n CommentJson.stringify(userTsConfig, null, 2) + os.EOL\n )\n\n Log.info('')\n if (isFirstTimeSetup) {\n Log.info(\n `We detected TypeScript in your project and created a ${cyan(\n 'tsconfig.json'\n )} file for you.`\n )\n return\n }\n\n Log.info(\n `We detected TypeScript in your project and reconfigured your ${cyan(\n 'tsconfig.json'\n )} file for you.${\n userTsConfig.compilerOptions?.strict\n ? ''\n : ` Strict-mode is set to ${cyan('false')} by default.`\n }`\n )\n\n if (suggestedActions.length) {\n Log.info(\n `The following suggested values were added to your ${cyan(\n 'tsconfig.json'\n )}. These values ${cyan('can be changed')} to fit your project's needs:\\n`\n )\n\n suggestedActions.forEach((action) => Log.info(`\\t- ${action}`))\n\n Log.info('')\n }\n\n const requiredActionsToBeLogged = process.env.NEXT_PRIVATE_LOCAL_DEV\n ? requiredActions.filter(\n (action) => action !== localDevTestFilesExcludeAction\n )\n : requiredActions\n\n if (requiredActionsToBeLogged.length) {\n Log.info(\n `The following ${white('mandatory changes')} were made to your ${cyan(\n 'tsconfig.json'\n )}:\\n`\n )\n\n requiredActionsToBeLogged.forEach((action) => Log.info(`\\t- ${action}`))\n\n Log.info('')\n }\n}\n"],"names":["getRequiredConfiguration","writeConfigurationDefaults","PKG_NAME","require","path","join","__dirname","name","getDesiredCompilerOptions","ts","tsOptions","o","target","suggested","reason","lib","allowJs","skipLibCheck","strict","semver","lt","version","forceConsistentCasingInFileNames","undefined","noEmit","gte","incremental","module","parsedValue","ModuleKind","ESNext","parsedValues","Preserve","ES2020","CommonJS","AMD","NodeNext","Node16","value","esModuleInterop","moduleResolution","ModuleResolutionKind","Bundler","Node10","NodeJs","Node12","filter","val","resolveJsonModule","verbatimModuleSyntax","isolatedModules","jsx","JsxEmit","ReactJSX","res","desiredCompilerOptions","optionKey","Object","keys","ev","localDevTestFilesExcludeAction","tsConfigPath","isFirstTimeSetup","hasAppDir","distDir","hasPagesDir","userTsConfig","fs","writeFile","os","EOL","options","raw","rawConfig","getTypeScriptConfiguration","userTsConfigContent","readFile","encoding","CommentJson","parse","compilerOptions","suggestedActions","requiredActions","check","push","cyan","bold","includes","_","nextAppTypes","include","Array","isArray","length","JSON","stringify","sort","map","i","plugins","hasNextPlugin","some","Log","info","strictNullChecks","baseUrl","paths","nextMapping","nextWildcardMapping","exclude","process","env","NEXT_PRIVATE_LOCAL_DEV","tsGlob","tsxGlob","hasUpdates","forEach","action","requiredActionsToBeLogged","white"],"mappings":"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","ignoreList":[0]}
@@ -226,7 +226,7 @@ class HotReloaderWebpack {
226
226
  this.previewProps = previewProps;
227
227
  this.rewrites = rewrites;
228
228
  this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
229
- version: "15.6.0-bun.25"
229
+ version: "15.6.0-bun.27"
230
230
  });
231
231
  // Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
232
232
  // of the current `next dev` invocation.
@@ -82,7 +82,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, logBu
82
82
  bundlerSuffix = ' (webpack)';
83
83
  }
84
84
  }
85
- _log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-bun.25"}`))}${bundlerSuffix}`);
85
+ _log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-bun.27"}`))}${bundlerSuffix}`);
86
86
  if (appUrl) {
87
87
  _log.bootstrap(`- Local: ${appUrl}`);
88
88
  }
@@ -155,7 +155,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
155
155
  async function startServer(serverOptions) {
156
156
  const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
157
157
  let { port } = serverOptions;
158
- process.title = `next-server (v${"15.6.0-bun.25"})`;
158
+ process.title = `next-server (v${"15.6.0-bun.27"})`;
159
159
  let handlersReady = ()=>{};
160
160
  let handlersError = ()=>{};
161
161
  let handlersPromise = new Promise((resolve, reject)=>{
@@ -22,7 +22,7 @@ _export(exports, {
22
22
  });
23
23
  function isStableBuild() {
24
24
  var _process_env___NEXT_VERSION;
25
- return !((_process_env___NEXT_VERSION = "15.6.0-bun.25") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
25
+ return !((_process_env___NEXT_VERSION = "15.6.0-bun.27") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
26
26
  }
27
27
  class CanaryOnlyError extends Error {
28
28
  constructor(arg){
@@ -81,7 +81,7 @@ function getAnonymousMeta() {
81
81
  isWsl: _iswsl.default,
82
82
  isCI: _ciinfo.isCI,
83
83
  ciName: _ciinfo.isCI && _ciinfo.name || null,
84
- nextVersion: "15.6.0-bun.25"
84
+ nextVersion: "15.6.0-bun.27"
85
85
  };
86
86
  return traits;
87
87
  }
@@ -11,11 +11,11 @@ Object.defineProperty(exports, "eventCliSessionStopped", {
11
11
  const EVENT_VERSION = 'NEXT_CLI_SESSION_STOPPED';
12
12
  function eventCliSessionStopped(event) {
13
13
  // This should be an invariant, if it fails our build tooling is broken.
14
- if (typeof "15.6.0-bun.25" !== 'string') {
14
+ if (typeof "15.6.0-bun.27" !== 'string') {
15
15
  return [];
16
16
  }
17
17
  const payload = {
18
- nextVersion: "15.6.0-bun.25",
18
+ nextVersion: "15.6.0-bun.27",
19
19
  nodeVersion: process.version,
20
20
  cliCommand: event.cliCommand,
21
21
  durationMilliseconds: event.durationMilliseconds,
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
12
12
  function eventCliSession(nextConfig, event) {
13
13
  var _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_experimental_reactCompiler, _nextConfig_experimental_reactCompiler1;
14
14
  // This should be an invariant, if it fails our build tooling is broken.
15
- if (typeof "15.6.0-bun.25" !== 'string') {
15
+ if (typeof "15.6.0-bun.27" !== 'string') {
16
16
  return [];
17
17
  }
18
18
  const { images, i18n } = nextConfig || {};
19
19
  const payload = {
20
- nextVersion: "15.6.0-bun.25",
20
+ nextVersion: "15.6.0-bun.27",
21
21
  nodeVersion: process.version,
22
22
  cliCommand: event.cliCommand,
23
23
  isSrcDir: event.isSrcDir,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openuiai/next",
3
- "version": "15.6.0-bun.26",
3
+ "version": "15.6.0-bun.28",
4
4
  "description": "The React Framework - Self-Hosted First Fork with Full Bun Support",
5
5
  "main": "./dist/server/next.js",
6
6
  "license": "MIT",