@strapi/strapi 5.37.1 → 5.38.0

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 (151) hide show
  1. package/dist/admin.js.map +1 -1
  2. package/dist/admin.mjs.map +1 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cli.mjs.map +1 -1
  5. package/dist/node/core/linked-packages.d.ts +15 -0
  6. package/dist/node/core/linked-packages.d.ts.map +1 -0
  7. package/dist/node/core/resolve-module.d.ts +8 -0
  8. package/dist/node/core/resolve-module.d.ts.map +1 -0
  9. package/dist/node/vite/config.d.ts.map +1 -1
  10. package/dist/node/webpack/config.d.ts.map +1 -1
  11. package/dist/package.json.js +1 -1
  12. package/dist/package.json.mjs +1 -1
  13. package/dist/src/cli/commands/admin/create-user.js.map +1 -1
  14. package/dist/src/cli/commands/admin/create-user.mjs.map +1 -1
  15. package/dist/src/cli/commands/admin/reset-user-password.js.map +1 -1
  16. package/dist/src/cli/commands/admin/reset-user-password.mjs.map +1 -1
  17. package/dist/src/cli/commands/build.js.map +1 -1
  18. package/dist/src/cli/commands/build.mjs.map +1 -1
  19. package/dist/src/cli/commands/components/list.js.map +1 -1
  20. package/dist/src/cli/commands/components/list.mjs.map +1 -1
  21. package/dist/src/cli/commands/configuration/dump.js.map +1 -1
  22. package/dist/src/cli/commands/configuration/dump.mjs.map +1 -1
  23. package/dist/src/cli/commands/configuration/restore.js.map +1 -1
  24. package/dist/src/cli/commands/configuration/restore.mjs.map +1 -1
  25. package/dist/src/cli/commands/console.js.map +1 -1
  26. package/dist/src/cli/commands/console.mjs.map +1 -1
  27. package/dist/src/cli/commands/content-types/list.js.map +1 -1
  28. package/dist/src/cli/commands/content-types/list.mjs.map +1 -1
  29. package/dist/src/cli/commands/controllers/list.js.map +1 -1
  30. package/dist/src/cli/commands/controllers/list.mjs.map +1 -1
  31. package/dist/src/cli/commands/develop.js.map +1 -1
  32. package/dist/src/cli/commands/develop.mjs.map +1 -1
  33. package/dist/src/cli/commands/export/action.js +19 -19
  34. package/dist/src/cli/commands/export/action.js.map +1 -1
  35. package/dist/src/cli/commands/export/action.mjs +1 -1
  36. package/dist/src/cli/commands/export/action.mjs.map +1 -1
  37. package/dist/src/cli/commands/export/command.js.map +1 -1
  38. package/dist/src/cli/commands/export/command.mjs.map +1 -1
  39. package/dist/src/cli/commands/generate.js.map +1 -1
  40. package/dist/src/cli/commands/generate.mjs.map +1 -1
  41. package/dist/src/cli/commands/hooks/list.js.map +1 -1
  42. package/dist/src/cli/commands/hooks/list.mjs.map +1 -1
  43. package/dist/src/cli/commands/import/action.js +19 -19
  44. package/dist/src/cli/commands/import/action.js.map +1 -1
  45. package/dist/src/cli/commands/import/action.mjs +1 -1
  46. package/dist/src/cli/commands/import/action.mjs.map +1 -1
  47. package/dist/src/cli/commands/import/command.js.map +1 -1
  48. package/dist/src/cli/commands/import/command.mjs.map +1 -1
  49. package/dist/src/cli/commands/index.js.map +1 -1
  50. package/dist/src/cli/commands/index.mjs.map +1 -1
  51. package/dist/src/cli/commands/middlewares/list.js.map +1 -1
  52. package/dist/src/cli/commands/middlewares/list.mjs.map +1 -1
  53. package/dist/src/cli/commands/openapi/generate.js.map +1 -1
  54. package/dist/src/cli/commands/openapi/generate.mjs.map +1 -1
  55. package/dist/src/cli/commands/openapi/index.js.map +1 -1
  56. package/dist/src/cli/commands/openapi/index.mjs.map +1 -1
  57. package/dist/src/cli/commands/policies/list.js.map +1 -1
  58. package/dist/src/cli/commands/policies/list.mjs.map +1 -1
  59. package/dist/src/cli/commands/report.js.map +1 -1
  60. package/dist/src/cli/commands/report.mjs.map +1 -1
  61. package/dist/src/cli/commands/routes/list.js.map +1 -1
  62. package/dist/src/cli/commands/routes/list.mjs.map +1 -1
  63. package/dist/src/cli/commands/services/list.js.map +1 -1
  64. package/dist/src/cli/commands/services/list.mjs.map +1 -1
  65. package/dist/src/cli/commands/start.js.map +1 -1
  66. package/dist/src/cli/commands/start.mjs.map +1 -1
  67. package/dist/src/cli/commands/telemetry/disable.js.map +1 -1
  68. package/dist/src/cli/commands/telemetry/disable.mjs.map +1 -1
  69. package/dist/src/cli/commands/telemetry/enable.js.map +1 -1
  70. package/dist/src/cli/commands/telemetry/enable.mjs.map +1 -1
  71. package/dist/src/cli/commands/templates/generate.js.map +1 -1
  72. package/dist/src/cli/commands/templates/generate.mjs.map +1 -1
  73. package/dist/src/cli/commands/transfer/action.js +20 -20
  74. package/dist/src/cli/commands/transfer/action.js.map +1 -1
  75. package/dist/src/cli/commands/transfer/action.mjs.map +1 -1
  76. package/dist/src/cli/commands/transfer/command.js.map +1 -1
  77. package/dist/src/cli/commands/transfer/command.mjs.map +1 -1
  78. package/dist/src/cli/commands/ts/generate-types.js.map +1 -1
  79. package/dist/src/cli/commands/ts/generate-types.mjs.map +1 -1
  80. package/dist/src/cli/commands/version.js.map +1 -1
  81. package/dist/src/cli/commands/version.mjs.map +1 -1
  82. package/dist/src/cli/utils/commander.js.map +1 -1
  83. package/dist/src/cli/utils/commander.mjs.map +1 -1
  84. package/dist/src/cli/utils/data-transfer.js.map +1 -1
  85. package/dist/src/cli/utils/data-transfer.mjs +1 -1
  86. package/dist/src/cli/utils/data-transfer.mjs.map +1 -1
  87. package/dist/src/cli/utils/helpers.js.map +1 -1
  88. package/dist/src/cli/utils/helpers.mjs.map +1 -1
  89. package/dist/src/cli/utils/logger.js.map +1 -1
  90. package/dist/src/cli/utils/logger.mjs.map +1 -1
  91. package/dist/src/cli/utils/telemetry.js.map +1 -1
  92. package/dist/src/cli/utils/telemetry.mjs.map +1 -1
  93. package/dist/src/cli/utils/tsconfig.js.map +1 -1
  94. package/dist/src/cli/utils/tsconfig.mjs.map +1 -1
  95. package/dist/src/node/build.js.map +1 -1
  96. package/dist/src/node/build.mjs.map +1 -1
  97. package/dist/src/node/core/admin-customisations.js.map +1 -1
  98. package/dist/src/node/core/admin-customisations.mjs.map +1 -1
  99. package/dist/src/node/core/aliases.js.map +1 -1
  100. package/dist/src/node/core/aliases.mjs.map +1 -1
  101. package/dist/src/node/core/config.js.map +1 -1
  102. package/dist/src/node/core/config.mjs.map +1 -1
  103. package/dist/src/node/core/dependencies.js.map +1 -1
  104. package/dist/src/node/core/dependencies.mjs.map +1 -1
  105. package/dist/src/node/core/env.js.map +1 -1
  106. package/dist/src/node/core/env.mjs.map +1 -1
  107. package/dist/src/node/core/errors.js.map +1 -1
  108. package/dist/src/node/core/errors.mjs.map +1 -1
  109. package/dist/src/node/core/files.js.map +1 -1
  110. package/dist/src/node/core/files.mjs.map +1 -1
  111. package/dist/src/node/core/linked-packages.js +34 -0
  112. package/dist/src/node/core/linked-packages.js.map +1 -0
  113. package/dist/src/node/core/linked-packages.mjs +30 -0
  114. package/dist/src/node/core/linked-packages.mjs.map +1 -0
  115. package/dist/src/node/core/managers.js.map +1 -1
  116. package/dist/src/node/core/managers.mjs.map +1 -1
  117. package/dist/src/node/core/monorepo.js.map +1 -1
  118. package/dist/src/node/core/monorepo.mjs.map +1 -1
  119. package/dist/src/node/core/plugins.js.map +1 -1
  120. package/dist/src/node/core/plugins.mjs.map +1 -1
  121. package/dist/src/node/core/resolve-module.js +20 -0
  122. package/dist/src/node/core/resolve-module.js.map +1 -0
  123. package/dist/src/node/core/resolve-module.mjs +18 -0
  124. package/dist/src/node/core/resolve-module.mjs.map +1 -0
  125. package/dist/src/node/core/timer.js.map +1 -1
  126. package/dist/src/node/core/timer.mjs.map +1 -1
  127. package/dist/src/node/create-build-context.js.map +1 -1
  128. package/dist/src/node/create-build-context.mjs.map +1 -1
  129. package/dist/src/node/develop.js.map +1 -1
  130. package/dist/src/node/develop.mjs.map +1 -1
  131. package/dist/src/node/staticFiles.js.map +1 -1
  132. package/dist/src/node/staticFiles.mjs.map +1 -1
  133. package/dist/src/node/vite/build.js.map +1 -1
  134. package/dist/src/node/vite/build.mjs.map +1 -1
  135. package/dist/src/node/vite/config.js +27 -3
  136. package/dist/src/node/vite/config.js.map +1 -1
  137. package/dist/src/node/vite/config.mjs +27 -3
  138. package/dist/src/node/vite/config.mjs.map +1 -1
  139. package/dist/src/node/vite/plugins.js.map +1 -1
  140. package/dist/src/node/vite/plugins.mjs.map +1 -1
  141. package/dist/src/node/vite/watch.js.map +1 -1
  142. package/dist/src/node/vite/watch.mjs.map +1 -1
  143. package/dist/src/node/webpack/build.js.map +1 -1
  144. package/dist/src/node/webpack/build.mjs.map +1 -1
  145. package/dist/src/node/webpack/config.js +16 -18
  146. package/dist/src/node/webpack/config.js.map +1 -1
  147. package/dist/src/node/webpack/config.mjs +10 -12
  148. package/dist/src/node/webpack/config.mjs.map +1 -1
  149. package/dist/src/node/webpack/watch.js.map +1 -1
  150. package/dist/src/node/webpack/watch.mjs.map +1 -1
  151. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../../../../src/node/webpack/config.ts"],"sourcesContent":["import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport { EsbuildPlugin } from 'esbuild-loader';\nimport ForkTsCheckerPlugin from 'fork-ts-checker-webpack-plugin';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport crypto from 'node:crypto';\nimport path from 'node:path';\nimport readPkgUp from 'read-pkg-up';\nimport {\n Configuration,\n DefinePlugin,\n HotModuleReplacementPlugin,\n WebpackPluginInstance,\n} from 'webpack';\nimport { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';\n\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport type { BuildContext } from '../create-build-context';\nimport { getUserConfig } from '../core/config';\nimport { getMonorepoAliases } from '../core/aliases';\n\nconst resolveBaseConfig = async (ctx: BuildContext) => {\n const target = browserslistToEsbuild(ctx.target);\n\n return {\n experiments: {\n topLevelAwait: true,\n },\n entry: {\n main: [`./${ctx.entry}`],\n },\n resolve: {\n alias: {\n react: getModulePath('react'),\n 'react-dom': getModulePath('react-dom'),\n 'styled-components': getModulePath('styled-components'),\n 'react-router-dom': getModulePath('react-router-dom'),\n // Force single instance so plugin custom field chunks inherit root DesignSystemProvider context\n '@strapi/design-system': getModulePath('@strapi/design-system'),\n '@radix-ui/react-tooltip': getModulePath('@radix-ui/react-tooltip'),\n },\n extensions: ['.js', '.jsx', '.react.js', '.ts', '.tsx'],\n },\n module: {\n rules: [\n {\n test: /\\.(ts|tsx)$/,\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'tsx',\n target,\n jsx: 'automatic',\n },\n },\n {\n test: /\\.(js|jsx|mjs)$/,\n use: {\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'jsx',\n target,\n jsx: 'automatic',\n },\n },\n },\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.css$/i,\n use: [require.resolve('style-loader'), require.resolve('css-loader')],\n },\n {\n test: /\\.(svg|eot|otf|ttf|woff|woff2)$/,\n type: 'asset/resource',\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/, /\\.ico$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 1000,\n },\n },\n },\n {\n test: /\\.(mp4|webm)$/,\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 10000,\n },\n },\n },\n ],\n },\n plugins: [\n new HtmlWebpackPlugin({\n inject: true,\n template: path.resolve(ctx.runtimeDir, 'index.html'),\n }),\n new DefinePlugin(\n Object.entries(ctx.env).reduce<Record<string, string>>((acc, [key, value]) => {\n acc[`process.env.${key}`] = JSON.stringify(value);\n return acc;\n }, {})\n ),\n ctx.tsconfig &&\n new ForkTsCheckerPlugin({\n typescript: {\n configFile: ctx.tsconfig.path,\n configOverwrite: {\n compilerOptions: {\n sourceMap: ctx.options.sourcemaps,\n },\n },\n },\n }),\n ].filter(Boolean),\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const baseConfig = await resolveBaseConfig(ctx);\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n\n return {\n ...baseConfig,\n cache: {\n type: 'filesystem',\n // version cache when there are changes to aliases\n buildDependencies: {\n config: [__filename],\n },\n version: crypto\n .createHash('md5')\n .update(Object.entries(baseConfig.resolve.alias ?? {}).join())\n .digest('hex'),\n },\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n entry: {\n ...baseConfig.entry,\n main: [\n `${require.resolve('webpack-hot-middleware/client')}?path=/__webpack_hmr`,\n ...baseConfig.entry.main,\n ],\n },\n stats: 'errors-warnings',\n mode: 'development',\n devtool: 'inline-source-map',\n output: {\n filename: '[name].js',\n path: ctx.distPath,\n publicPath: ctx.basePath,\n },\n infrastructureLogging: {\n level: 'error',\n },\n plugins: [\n ...baseConfig.plugins,\n new HotModuleReplacementPlugin(),\n new ReactRefreshWebpackPlugin(),\n ],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const target = browserslistToEsbuild(ctx.target);\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n stats: 'errors-only',\n mode: 'production',\n bail: true,\n devtool: ctx.options.sourcemaps ? 'source-map' : false,\n output: {\n path: ctx.distPath,\n publicPath: ctx.basePath,\n // Utilize long-term caching by adding content hashes (not compilation hashes)\n // to compiled assets for production\n filename: '[name].[contenthash:8].js',\n chunkFilename: '[name].[contenthash:8].chunk.js',\n },\n optimization: {\n minimize: ctx.options.minify,\n minimizer: [\n new EsbuildPlugin({\n target,\n css: true, // Apply minification to CSS assets\n }),\n ],\n moduleIds: 'deterministic',\n runtimeChunk: true,\n },\n plugins: [\n ...baseConfig.plugins,\n new MiniCssExtractPlugin({\n filename: '[name].[chunkhash].css',\n chunkFilename: '[name].[chunkhash].chunkhash.css',\n ignoreOrder: true,\n }),\n ctx.options.stats && (new BundleAnalyzerPlugin() as unknown as WebpackPluginInstance), // TODO: find out if this is an actual issue or just a ts bug\n ].filter(Boolean),\n };\n};\n\nconst USER_CONFIGS = ['webpack.config.js', 'webpack.config.mjs', 'webpack.config.ts'];\n\ntype UserWebpackConfig = (config: Configuration, webpack: unknown) => Configuration;\n\nconst mergeConfigWithUserConfig = async (config: Configuration, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserWebpackConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n if (typeof userConfig === 'function') {\n const webpack = await import('webpack');\n return userConfig(config, webpack);\n }\n\n ctx.logger.warn(\n `You've exported something other than a function from ${path.join(\n ctx.appDir,\n 'src',\n 'admin',\n 'webpack.config'\n )}, this will ignored.`\n );\n }\n\n return config;\n};\n\n/**\n * @internal This function is used to resolve the path of a module.\n * It mimics what vite does internally already.\n */\nconst getModulePath = (mod: string) => {\n const modulePath = require.resolve(mod);\n const pkg = readPkgUp.sync({ cwd: path.dirname(modulePath) });\n return pkg ? path.dirname(pkg.path) : modulePath;\n};\n\nexport { mergeConfigWithUserConfig, resolveDevelopmentConfig, resolveProductionConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","experiments","topLevelAwait","entry","main","resolve","alias","react","getModulePath","extensions","module","rules","test","loader","require","options","jsx","use","fullySpecified","type","parser","dataUrlCondition","maxSize","plugins","HtmlWebpackPlugin","inject","template","path","runtimeDir","DefinePlugin","Object","entries","env","reduce","acc","key","value","JSON","stringify","tsconfig","ForkTsCheckerPlugin","typescript","configFile","configOverwrite","compilerOptions","sourceMap","sourcemaps","filter","Boolean","resolveDevelopmentConfig","baseConfig","monorepo","loadStrapiMonorepo","cwd","cache","buildDependencies","config","__filename","version","crypto","createHash","update","join","digest","getMonorepoAliases","stats","mode","devtool","output","filename","distPath","publicPath","basePath","infrastructureLogging","level","HotModuleReplacementPlugin","ReactRefreshWebpackPlugin","resolveProductionConfig","bail","chunkFilename","optimization","minimize","minify","minimizer","EsbuildPlugin","css","moduleIds","runtimeChunk","MiniCssExtractPlugin","ignoreOrder","BundleAnalyzerPlugin","USER_CONFIGS","mergeConfigWithUserConfig","userConfig","getUserConfig","webpack","logger","warn","appDir","mod","modulePath","pkg","readPkgUp","sync","dirname"],"mappings":"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"}
1
+ {"version":3,"file":"config.mjs","sources":["../../../../src/node/webpack/config.ts"],"sourcesContent":["import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport { EsbuildPlugin } from 'esbuild-loader';\nimport ForkTsCheckerPlugin from 'fork-ts-checker-webpack-plugin';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport crypto from 'node:crypto';\nimport path from 'node:path';\nimport {\n Configuration,\n DefinePlugin,\n HotModuleReplacementPlugin,\n WebpackPluginInstance,\n} from 'webpack';\nimport { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';\n\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport type { BuildContext } from '../create-build-context';\nimport { getUserConfig } from '../core/config';\nimport { getLinkedDesignSystemPath } from '../core/linked-packages';\nimport { getMonorepoAliases } from '../core/aliases';\nimport { getModulePath } from '../core/resolve-module';\n\nconst resolveBaseConfig = async (ctx: BuildContext) => {\n const target = browserslistToEsbuild(ctx.target);\n\n return {\n experiments: {\n topLevelAwait: true,\n },\n entry: {\n main: [`./${ctx.entry}`],\n },\n resolve: {\n alias: {\n react: getModulePath('react'),\n 'react-dom': getModulePath('react-dom'),\n 'styled-components': getModulePath('styled-components'),\n 'react-router-dom': getModulePath('react-router-dom'),\n // Force single instance so plugin custom field chunks inherit root DesignSystemProvider context\n '@strapi/design-system': getModulePath('@strapi/design-system'),\n '@radix-ui/react-tooltip': getModulePath('@radix-ui/react-tooltip'),\n },\n extensions: ['.js', '.jsx', '.react.js', '.ts', '.tsx'],\n },\n module: {\n rules: [\n {\n test: /\\.(ts|tsx)$/,\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'tsx',\n target,\n jsx: 'automatic',\n },\n },\n {\n test: /\\.(js|jsx|mjs)$/,\n use: {\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'jsx',\n target,\n jsx: 'automatic',\n },\n },\n },\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.css$/i,\n use: [require.resolve('style-loader'), require.resolve('css-loader')],\n },\n {\n test: /\\.(svg|eot|otf|ttf|woff|woff2)$/,\n type: 'asset/resource',\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/, /\\.ico$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 1000,\n },\n },\n },\n {\n test: /\\.(mp4|webm)$/,\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 10000,\n },\n },\n },\n ],\n },\n plugins: [\n new HtmlWebpackPlugin({\n inject: true,\n template: path.resolve(ctx.runtimeDir, 'index.html'),\n }),\n new DefinePlugin(\n Object.entries(ctx.env).reduce<Record<string, string>>((acc, [key, value]) => {\n acc[`process.env.${key}`] = JSON.stringify(value);\n return acc;\n }, {})\n ),\n ctx.tsconfig &&\n new ForkTsCheckerPlugin({\n typescript: {\n configFile: ctx.tsconfig.path,\n configOverwrite: {\n compilerOptions: {\n sourceMap: ctx.options.sourcemaps,\n },\n },\n },\n }),\n ].filter(Boolean),\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const baseConfig = await resolveBaseConfig(ctx);\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const linkedDesignSystemPath = getLinkedDesignSystemPath();\n\n return {\n ...baseConfig,\n cache: {\n type: 'filesystem',\n // version cache when there are changes to aliases\n buildDependencies: {\n config: [__filename],\n // When design-system is linked, invalidate cache when it changes\n ...(linkedDesignSystemPath && {\n designSystem: [path.join(linkedDesignSystemPath, 'dist')],\n }),\n },\n version: crypto\n .createHash('md5')\n .update(Object.entries(baseConfig.resolve.alias ?? {}).join())\n .digest('hex'),\n },\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n entry: {\n ...baseConfig.entry,\n main: [\n `${require.resolve('webpack-hot-middleware/client')}?path=/__webpack_hmr`,\n ...baseConfig.entry.main,\n ],\n },\n stats: 'errors-warnings',\n mode: 'development',\n devtool: 'inline-source-map',\n output: {\n filename: '[name].js',\n path: ctx.distPath,\n publicPath: ctx.basePath,\n },\n infrastructureLogging: {\n level: 'error',\n },\n plugins: [\n ...baseConfig.plugins,\n new HotModuleReplacementPlugin(),\n new ReactRefreshWebpackPlugin(),\n ],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const target = browserslistToEsbuild(ctx.target);\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n stats: 'errors-only',\n mode: 'production',\n bail: true,\n devtool: ctx.options.sourcemaps ? 'source-map' : false,\n output: {\n path: ctx.distPath,\n publicPath: ctx.basePath,\n // Utilize long-term caching by adding content hashes (not compilation hashes)\n // to compiled assets for production\n filename: '[name].[contenthash:8].js',\n chunkFilename: '[name].[contenthash:8].chunk.js',\n },\n optimization: {\n minimize: ctx.options.minify,\n minimizer: [\n new EsbuildPlugin({\n target,\n css: true, // Apply minification to CSS assets\n }),\n ],\n moduleIds: 'deterministic',\n runtimeChunk: true,\n },\n plugins: [\n ...baseConfig.plugins,\n new MiniCssExtractPlugin({\n filename: '[name].[chunkhash].css',\n chunkFilename: '[name].[chunkhash].chunkhash.css',\n ignoreOrder: true,\n }),\n ctx.options.stats && (new BundleAnalyzerPlugin() as unknown as WebpackPluginInstance), // TODO: find out if this is an actual issue or just a ts bug\n ].filter(Boolean),\n };\n};\n\nconst USER_CONFIGS = ['webpack.config.js', 'webpack.config.mjs', 'webpack.config.ts'];\n\ntype UserWebpackConfig = (config: Configuration, webpack: unknown) => Configuration;\n\nconst mergeConfigWithUserConfig = async (config: Configuration, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserWebpackConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n if (typeof userConfig === 'function') {\n const webpack = await import('webpack');\n return userConfig(config, webpack);\n }\n\n ctx.logger.warn(\n `You've exported something other than a function from ${path.join(\n ctx.appDir,\n 'src',\n 'admin',\n 'webpack.config'\n )}, this will ignored.`\n );\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveDevelopmentConfig, resolveProductionConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","experiments","topLevelAwait","entry","main","resolve","alias","react","getModulePath","extensions","module","rules","test","loader","require","options","jsx","use","fullySpecified","type","parser","dataUrlCondition","maxSize","plugins","HtmlWebpackPlugin","inject","template","path","runtimeDir","DefinePlugin","Object","entries","env","reduce","acc","key","value","JSON","stringify","tsconfig","ForkTsCheckerPlugin","typescript","configFile","configOverwrite","compilerOptions","sourceMap","sourcemaps","filter","Boolean","resolveDevelopmentConfig","baseConfig","monorepo","loadStrapiMonorepo","cwd","linkedDesignSystemPath","getLinkedDesignSystemPath","cache","buildDependencies","config","__filename","designSystem","join","version","crypto","createHash","update","digest","getMonorepoAliases","stats","mode","devtool","output","filename","distPath","publicPath","basePath","infrastructureLogging","level","HotModuleReplacementPlugin","ReactRefreshWebpackPlugin","resolveProductionConfig","bail","chunkFilename","optimization","minimize","minify","minimizer","EsbuildPlugin","css","moduleIds","runtimeChunk","MiniCssExtractPlugin","ignoreOrder","BundleAnalyzerPlugin","USER_CONFIGS","mergeConfigWithUserConfig","userConfig","getUserConfig","webpack","logger","warn","appDir"],"mappings":";;;;;;;;;;;;;;;;AAuBA,MAAMA,oBAAoB,OAAOC,GAAAA,GAAAA;IAC/B,MAAMC,MAAAA,GAASC,qBAAAA,CAAsBF,GAAAA,CAAIC,MAAM,CAAA;IAE/C,OAAO;QACLE,WAAAA,EAAa;YACXC,aAAAA,EAAe;AACjB,SAAA;QACAC,KAAAA,EAAO;YACLC,IAAAA,EAAM;AAAC,gBAAA,CAAC,EAAE,EAAEN,GAAAA,CAAIK,KAAK,CAAA;AAAG;AAC1B,SAAA;QACAE,OAAAA,EAAS;YACPC,KAAAA,EAAO;AACLC,gBAAAA,KAAAA,EAAOC,aAAAA,CAAc,OAAA,CAAA;AACrB,gBAAA,WAAA,EAAaA,aAAAA,CAAc,WAAA,CAAA;AAC3B,gBAAA,mBAAA,EAAqBA,aAAAA,CAAc,mBAAA,CAAA;AACnC,gBAAA,kBAAA,EAAoBA,aAAAA,CAAc,kBAAA,CAAA;;AAElC,gBAAA,uBAAA,EAAyBA,aAAAA,CAAc,uBAAA,CAAA;AACvC,gBAAA,yBAAA,EAA2BA,aAAAA,CAAc,yBAAA;AAC3C,aAAA;YACAC,UAAAA,EAAY;AAAC,gBAAA,KAAA;AAAO,gBAAA,MAAA;AAAQ,gBAAA,WAAA;AAAa,gBAAA,KAAA;AAAO,gBAAA;AAAO;AACzD,SAAA;QACAC,MAAAA,EAAQ;YACNC,KAAAA,EAAO;AACL,gBAAA;oBACEC,IAAAA,EAAM,aAAA;oBACNC,MAAAA,EAAQC,OAAAA,CAAQT,OAAO,CAAC,gBAAA,CAAA;oBACxBU,OAAAA,EAAS;wBACPF,MAAAA,EAAQ,KAAA;AACRd,wBAAAA,MAAAA;wBACAiB,GAAAA,EAAK;AACP;AACF,iBAAA;AACA,gBAAA;oBACEJ,IAAAA,EAAM,iBAAA;oBACNK,GAAAA,EAAK;wBACHJ,MAAAA,EAAQC,OAAAA,CAAQT,OAAO,CAAC,gBAAA,CAAA;wBACxBU,OAAAA,EAAS;4BACPF,MAAAA,EAAQ,KAAA;AACRd,4BAAAA,MAAAA;4BACAiB,GAAAA,EAAK;AACP;AACF;AACF,iBAAA;AACA,gBAAA;oBACEJ,IAAAA,EAAM,QAAA;oBACNP,OAAAA,EAAS;wBACPa,cAAAA,EAAgB;AAClB;AACF,iBAAA;AACA,gBAAA;oBACEN,IAAAA,EAAM,SAAA;oBACNK,GAAAA,EAAK;AAACH,wBAAAA,OAAAA,CAAQT,OAAO,CAAC,cAAA,CAAA;AAAiBS,wBAAAA,OAAAA,CAAQT,OAAO,CAAC,YAAA;AAAc;AACvE,iBAAA;AACA,gBAAA;oBACEO,IAAAA,EAAM,iCAAA;oBACNO,IAAAA,EAAM;AACR,iBAAA;AACA,gBAAA;oBACEP,IAAAA,EAAM;AAAC,wBAAA,QAAA;AAAU,wBAAA,QAAA;AAAU,wBAAA,UAAA;AAAY,wBAAA,QAAA;AAAU,wBAAA;AAAS,qBAAA;oBAC1DO,IAAAA,EAAM,OAAA;oBACNC,MAAAA,EAAQ;wBACNC,gBAAAA,EAAkB;4BAChBC,OAAAA,EAAS;AACX;AACF;AACF,iBAAA;AACA,gBAAA;oBACEV,IAAAA,EAAM,eAAA;oBACNO,IAAAA,EAAM,OAAA;oBACNC,MAAAA,EAAQ;wBACNC,gBAAAA,EAAkB;4BAChBC,OAAAA,EAAS;AACX;AACF;AACF;AACD;AACH,SAAA;QACAC,OAAAA,EAAS;AACP,YAAA,IAAIC,iBAAAA,CAAkB;gBACpBC,MAAAA,EAAQ,IAAA;AACRC,gBAAAA,QAAAA,EAAUC,IAAAA,CAAKtB,OAAO,CAACP,GAAAA,CAAI8B,UAAU,EAAE,YAAA;AACzC,aAAA,CAAA;AACA,YAAA,IAAIC,YAAAA,CACFC,MAAAA,CAAOC,OAAO,CAACjC,GAAAA,CAAIkC,GAAG,CAAA,CAAEC,MAAM,CAAyB,CAACC,GAAAA,EAAK,CAACC,KAAKC,KAAAA,CAAM,GAAA;gBACvEF,GAAG,CAAC,CAAC,YAAY,EAAEC,KAAK,CAAC,GAAGE,IAAAA,CAAKC,SAAS,CAACF,KAAAA,CAAAA;gBAC3C,OAAOF,GAAAA;AACT,YAAA,CAAA,EAAG,EAAC,CAAA,CAAA;YAENpC,GAAAA,CAAIyC,QAAQ,IACV,IAAIC,mBAAAA,CAAoB;gBACtBC,UAAAA,EAAY;oBACVC,UAAAA,EAAY5C,GAAAA,CAAIyC,QAAQ,CAACZ,IAAI;oBAC7BgB,eAAAA,EAAiB;wBACfC,eAAAA,EAAiB;4BACfC,SAAAA,EAAW/C,GAAAA,CAAIiB,OAAO,CAAC+B;AACzB;AACF;AACF;AACF,aAAA;AACH,SAAA,CAACC,MAAM,CAACC,OAAAA;AACX,KAAA;AACF,CAAA;AAEA,MAAMC,2BAA2B,OAAOnD,GAAAA,GAAAA;IACtC,MAAMoD,UAAAA,GAAa,MAAMrD,iBAAAA,CAAkBC,GAAAA,CAAAA;AAC3C,IAAA,MAAMqD,QAAAA,GAAW,MAAMC,kBAAAA,CAAmBtD,GAAAA,CAAIuD,GAAG,CAAA;AACjD,IAAA,MAAMC,sBAAAA,GAAyBC,yBAAAA,EAAAA;IAE/B,OAAO;AACL,QAAA,GAAGL,UAAU;QACbM,KAAAA,EAAO;YACLrC,IAAAA,EAAM,YAAA;;YAENsC,iBAAAA,EAAmB;gBACjBC,MAAAA,EAAQ;AAACC,oBAAAA;AAAW,iBAAA;;AAEpB,gBAAA,GAAIL,sBAAAA,IAA0B;oBAC5BM,YAAAA,EAAc;wBAACjC,IAAAA,CAAKkC,IAAI,CAACP,sBAAAA,EAAwB,MAAA;AAAQ;;AAE7D,aAAA;AACAQ,YAAAA,OAAAA,EAASC,OACNC,UAAU,CAAC,OACXC,MAAM,CAACnC,OAAOC,OAAO,CAACmB,WAAW7C,OAAO,CAACC,KAAK,IAAI,IAAIuD,IAAI,EAAA,CAAA,CAC1DK,MAAM,CAAC,KAAA;AACZ,SAAA;QACA7D,OAAAA,EAAS;AACP,YAAA,GAAG6C,WAAW7C,OAAO;YACrBC,KAAAA,EAAO;gBACL,GAAG4C,UAAAA,CAAW7C,OAAO,CAACC,KAAK;AAC3B,gBAAA,GAAG6D,kBAAAA,CAAmB;AAAEhB,oBAAAA;iBAAS;AACnC;AACF,SAAA;QACAhD,KAAAA,EAAO;AACL,YAAA,GAAG+C,WAAW/C,KAAK;YACnBC,IAAAA,EAAM;AACJ,gBAAA,CAAA,EAAGU,OAAAA,CAAQT,OAAO,CAAC,+BAAA,CAAA,CAAiC,oBAAoB,CAAC;mBACtE6C,UAAAA,CAAW/C,KAAK,CAACC;AACrB;AACH,SAAA;QACAgE,KAAAA,EAAO,iBAAA;QACPC,IAAAA,EAAM,aAAA;QACNC,OAAAA,EAAS,mBAAA;QACTC,MAAAA,EAAQ;YACNC,QAAAA,EAAU,WAAA;AACV7C,YAAAA,IAAAA,EAAM7B,IAAI2E,QAAQ;AAClBC,YAAAA,UAAAA,EAAY5E,IAAI6E;AAClB,SAAA;QACAC,qBAAAA,EAAuB;YACrBC,KAAAA,EAAO;AACT,SAAA;QACAtD,OAAAA,EAAS;AACJ2B,YAAAA,GAAAA,UAAAA,CAAW3B,OAAO;YACrB,IAAIuD,0BAAAA,EAAAA;YACJ,IAAIC,yBAAAA;AACL;AACH,KAAA;AACF;AAEA,MAAMC,0BAA0B,OAAOlF,GAAAA,GAAAA;IACrC,MAAMC,MAAAA,GAASC,qBAAAA,CAAsBF,GAAAA,CAAIC,MAAM,CAAA;IAE/C,MAAMmD,UAAAA,GAAa,MAAMrD,iBAAAA,CAAkBC,GAAAA,CAAAA;IAE3C,OAAO;AACL,QAAA,GAAGoD,UAAU;QACbkB,KAAAA,EAAO,aAAA;QACPC,IAAAA,EAAM,YAAA;QACNY,IAAAA,EAAM,IAAA;AACNX,QAAAA,OAAAA,EAASxE,GAAAA,CAAIiB,OAAO,CAAC+B,UAAU,GAAG,YAAA,GAAe,KAAA;QACjDyB,MAAAA,EAAQ;AACN5C,YAAAA,IAAAA,EAAM7B,IAAI2E,QAAQ;AAClBC,YAAAA,UAAAA,EAAY5E,IAAI6E,QAAQ;;;YAGxBH,QAAAA,EAAU,2BAAA;YACVU,aAAAA,EAAe;AACjB,SAAA;QACAC,YAAAA,EAAc;YACZC,QAAAA,EAAUtF,GAAAA,CAAIiB,OAAO,CAACsE,MAAM;YAC5BC,SAAAA,EAAW;AACT,gBAAA,IAAIC,aAAAA,CAAc;AAChBxF,oBAAAA,MAAAA;oBACAyF,GAAAA,EAAK;AACP,iBAAA;AACD,aAAA;YACDC,SAAAA,EAAW,eAAA;YACXC,YAAAA,EAAc;AAChB,SAAA;QACAnE,OAAAA,EAAS;AACJ2B,YAAAA,GAAAA,UAAAA,CAAW3B,OAAO;AACrB,YAAA,IAAIoE,oBAAAA,CAAqB;gBACvBnB,QAAAA,EAAU,wBAAA;gBACVU,aAAAA,EAAe,kCAAA;gBACfU,WAAAA,EAAa;AACf,aAAA,CAAA;AACA9F,YAAAA,GAAAA,CAAIiB,OAAO,CAACqD,KAAK,IAAK,IAAIyB,oBAAAA;AAC3B,SAAA,CAAC9C,MAAM,CAACC,OAAAA;AACX,KAAA;AACF;AAEA,MAAM8C,YAAAA,GAAe;AAAC,IAAA,mBAAA;AAAqB,IAAA,oBAAA;AAAsB,IAAA;AAAoB,CAAA;AAIrF,MAAMC,yBAAAA,GAA4B,OAAOrC,MAAAA,EAAuB5D,GAAAA,GAAAA;IAC9D,MAAMkG,UAAAA,GAAa,MAAMC,aAAAA,CAAiCH,YAAAA,EAAchG,GAAAA,CAAAA;AAExE,IAAA,IAAIkG,UAAAA,EAAY;QACd,IAAI,OAAOA,eAAe,UAAA,EAAY;YACpC,MAAME,OAAAA,GAAU,MAAM,OAAO,SAAA,CAAA;AAC7B,YAAA,OAAOF,WAAWtC,MAAAA,EAAQwC,OAAAA,CAAAA;AAC5B,QAAA;AAEApG,QAAAA,GAAAA,CAAIqG,MAAM,CAACC,IAAI,CACb,CAAC,qDAAqD,EAAEzE,IAAAA,CAAKkC,IAAI,CAC/D/D,IAAIuG,MAAM,EACV,OACA,OAAA,EACA,gBAAA,CAAA,CACA,oBAAoB,CAAC,CAAA;AAE3B,IAAA;IAEA,OAAO3C,MAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sources":["../../../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sources":["../../../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.mjs","sources":["../../../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":"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"}
1
+ {"version":3,"file":"watch.mjs","sources":["../../../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":";;;;;;;;AAcA,MAAMA,QAAQ,OAAOC,GAAAA,GAAAA;IACnB,MAAMC,MAAAA,GAAS,MAAMC,wBAAAA,CAAyBF,GAAAA,CAAAA;IAC9C,MAAMG,WAAAA,GAAc,MAAMC,yBAAAA,CAA0BH,MAAAA,EAAQD,GAAAA,CAAAA;AAE5DA,IAAAA,GAAAA,CAAIK,MAAM,CAACC,KAAK,CAAC,uBAAA,EAAyBC,EAAAA,CAAGC,GAAG,EAAEL,WAAAA,CAAAA;IAElD,OAAO,IAAIM,QAAwB,CAACC,GAAAA,GAAAA;AAClC,QAAA,MAAMC,WAAWC,OAAAA,CAAQT,WAAAA,CAAAA;AAEzB,QAAA,MAAMU,gBAAgBC,oBAAAA,CAAqBH,QAAAA,CAAAA;QAE3C,MAAMI,aAAAA,GAAgBC,qBAAqBL,QAAAA,EAAU;YACnDM,GAAAA,EAAK,KAAA;YACLC,IAAAA,EAAM;AACR,SAAA,CAAA;QAEAlB,GAAAA,CAAImB,MAAM,CAACC,MAAM,CAACC,GAAG,CAACC,GAAG,CAAC,CAACtB,GAAAA,EAAKuB,IAAAA,GAAAA;YAC9B,OAAO,IAAId,OAAAA,CAAQ,CAACe,OAAAA,EAASC,MAAAA,GAAAA;AAC3BV,gBAAAA,aAAAA,CAAcf,IAAI0B,GAAG,EAAE1B,GAAAA,CAAIU,GAAG,EAAE,CAACiB,GAAAA,GAAAA;AAC/B,oBAAA,IAAIA,KAAKF,MAAAA,CAAOE,GAAAA,CAAAA;yBACXH,OAAAA,CAAQD,IAAAA,EAAAA,CAAAA;AACf,gBAAA,CAAA,CAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA,CAAA,CAAA;QAEAvB,GAAAA,CAAImB,MAAM,CAACC,MAAM,CAACC,GAAG,CAACC,GAAG,CAAC,CAACM,OAAAA,EAASL,IAAAA,GAAAA;;YAElC,MAAMM,KAAAA,GAAQ,IAAIpB,OAAAA,CAAQ,CAACe,OAAAA,GAAAA;AACzBX,gBAAAA,aAAAA,CAAciB,cAAc,CAAC,IAAA;oBAC3BN,OAAAA,CAAQ,IAAA,CAAA;AACV,gBAAA,CAAA,CAAA;AACF,YAAA,CAAA,CAAA;;YAEA,MAAMO,IAAAA,GAAO,IAAItB,OAAAA,CAAQ,CAACe,OAAAA,GAAAA;gBACxBX,aAAAA,CACEe,OAAAA,CAAQF,GAAG,EACX;;AAEEM,oBAAAA,GAAAA,CAAAA,CAAIC,OAAO,EAAA;;AAETL,wBAAAA,OAAAA,CAAQM,IAAI,GAAGD,OAAAA;wBACfT,OAAAA,CAAQ,IAAA,CAAA;AACV,oBAAA,CAAA;AACAW,oBAAAA,SAAAA,EAAWP,OAAAA,CAAQQ,GAAG,CAACC,IAAI,CAACT,OAAAA,CAAAA;;AAE5BU,oBAAAA,SAAAA,EAAWV,OAAAA,CAAQW,GAAG,CAACF,IAAI,CAACT,OAAAA,CAAAA;AAC5BY,oBAAAA,MAAAA,EAAQZ,QAAQa;AAClB,iBAAA,EACA,IAAMjB,OAAAA,CAAQD,IAAAA,EAAAA,CAAAA,CAAAA;AAElB,YAAA,CAAA,CAAA;YAEA,OAAOd,OAAAA,CAAQiC,GAAG,CAAC;AAACb,gBAAAA,KAAAA;AAAOE,gBAAAA;AAAK,aAAA,CAAA;AAClC,QAAA,CAAA,CAAA;QAEA,MAAMY,UAAAA,GAAqC,OAAO3C,GAAAA,EAAKuB,IAAAA,GAAAA;YACrD,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAIV,cAAce,OAAO,CAACgB,gBAAgB,CAACC,gBAAgB,EAAE;AAC3D,gBAAA,IAAI7C,IAAI8C,MAAM,KAAK,UAAU9C,GAAAA,CAAI8C,MAAM,KAAK,KAAA,EAAO;AACjD,oBAAA;AACF,gBAAA;AAEA,gBAAA,IAAI9C,IAAIkC,IAAI,IAAI,QAAQlC,GAAAA,CAAI+C,MAAM,KAAK,GAAA,EAAK;AAC1C,oBAAA;AACF,gBAAA;;AAGA,gBAAA,MAAMC,WAAW9B,IAAAA,CAAKM,OAAO,CAACrB,WAAAA,CAAY8C,MAAM,EAAE/B,IAAAA,EAAO,YAAA,CAAA;AACzDlB,gBAAAA,GAAAA,CAAIkD,IAAI,GAAG,MAAA;gBACXlD,GAAAA,CAAIkC,IAAI,GAAGrB,aAAAA,CAAce,OAAO,CAACgB,gBAAgB,CAACC,gBAAgB,CAACG,QAAAA,CAAAA;AACrE,YAAA;AACF,QAAA,CAAA;AAEAhD,QAAAA,GAAAA,CAAImB,MAAM,CAACC,MAAM,CAAC+B,MAAM,CAAC;AACvB,YAAA;gBACEL,MAAAA,EAAQ,KAAA;AACR5B,gBAAAA,IAAAA,EAAM,CAAA,EAAGlB,GAAAA,CAAIoD,SAAS,CAAC,OAAO,CAAC;gBAC/BC,OAAAA,EAASV,UAAAA;gBACT1C,MAAAA,EAAQ;oBAAEqD,IAAAA,EAAM;AAAM;AACxB;AACD,SAAA,CAAA;AAEDzC,QAAAA,aAAAA,CAAciB,cAAc,CAAC,IAAA;YAC3BpB,GAAAA,CAAI;gBACF,MAAM6C,KAAAA,CAAAA,GAAAA;oBACJ,MAAM9C,OAAAA,CAAQiC,GAAG,CAAC;AAChBc,wBAAAA,SAAAA,CAAU3C,aAAAA,CAAc0C,KAAK,CAAClB,IAAI,CAACxB,aAAAA,CAAAA,CAAAA,EAAAA;AACnCE,wBAAAA,aAAAA,CAAcwC,KAAK,EAAA;AACnBC,wBAAAA,SAAAA,CAAU7C,QAAAA,CAAS4C,KAAK,CAAClB,IAAI,CAAC1B,QAAAA,CAAAA,CAAAA;AAC/B,qBAAA,CAAA;AACH,gBAAA;AACF,aAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/strapi",
3
- "version": "5.37.1",
3
+ "version": "5.38.0",
4
4
  "description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite",
5
5
  "keywords": [
6
6
  "strapi",
@@ -110,25 +110,25 @@
110
110
  },
111
111
  "dependencies": {
112
112
  "@pmmmwh/react-refresh-webpack-plugin": "0.5.15",
113
- "@strapi/admin": "5.37.1",
114
- "@strapi/cloud-cli": "5.37.1",
115
- "@strapi/content-manager": "5.37.1",
116
- "@strapi/content-releases": "5.37.1",
117
- "@strapi/content-type-builder": "5.37.1",
118
- "@strapi/core": "5.37.1",
119
- "@strapi/data-transfer": "5.37.1",
120
- "@strapi/database": "5.37.1",
121
- "@strapi/email": "5.37.1",
122
- "@strapi/generators": "5.37.1",
123
- "@strapi/i18n": "5.37.1",
124
- "@strapi/logger": "5.37.1",
125
- "@strapi/openapi": "5.37.1",
126
- "@strapi/permissions": "5.37.1",
127
- "@strapi/review-workflows": "5.37.1",
128
- "@strapi/types": "5.37.1",
129
- "@strapi/typescript-utils": "5.37.1",
130
- "@strapi/upload": "5.37.1",
131
- "@strapi/utils": "5.37.1",
113
+ "@strapi/admin": "5.38.0",
114
+ "@strapi/cloud-cli": "5.38.0",
115
+ "@strapi/content-manager": "5.38.0",
116
+ "@strapi/content-releases": "5.38.0",
117
+ "@strapi/content-type-builder": "5.38.0",
118
+ "@strapi/core": "5.38.0",
119
+ "@strapi/data-transfer": "5.38.0",
120
+ "@strapi/database": "5.38.0",
121
+ "@strapi/email": "5.38.0",
122
+ "@strapi/generators": "5.38.0",
123
+ "@strapi/i18n": "5.38.0",
124
+ "@strapi/logger": "5.38.0",
125
+ "@strapi/openapi": "5.38.0",
126
+ "@strapi/permissions": "5.38.0",
127
+ "@strapi/review-workflows": "5.38.0",
128
+ "@strapi/types": "5.38.0",
129
+ "@strapi/typescript-utils": "5.38.0",
130
+ "@strapi/upload": "5.38.0",
131
+ "@strapi/utils": "5.38.0",
132
132
  "@types/nodemon": "1.19.6",
133
133
  "@vitejs/plugin-react-swc": "3.6.0",
134
134
  "boxen": "5.1.2",
@@ -182,11 +182,11 @@
182
182
  "@types/node": "24.10.0",
183
183
  "@types/webpack-bundle-analyzer": "4.7.0",
184
184
  "@types/webpack-hot-middleware": "2.25.9",
185
- "eslint-config-custom": "5.37.1",
185
+ "eslint-config-custom": "5.38.0",
186
186
  "jest": "29.6.0",
187
187
  "react": "18.3.1",
188
188
  "react-dom": "18.3.1",
189
- "tsconfig": "5.37.1"
189
+ "tsconfig": "5.38.0"
190
190
  },
191
191
  "peerDependencies": {
192
192
  "react": "^17.0.0 || ^18.0.0",