@strapi/strapi 5.9.0 → 5.10.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.
- package/dist/admin-test.js +11 -8
- package/dist/admin-test.js.map +1 -1
- package/dist/admin-test.mjs +1 -1
- package/dist/admin-test.mjs.map +1 -1
- package/dist/admin.js +36 -42
- package/dist/admin.js.map +1 -1
- package/dist/admin.mjs +28 -35
- package/dist/admin.mjs.map +1 -1
- package/dist/chunks/aliases-Ca20Yntz.js +80 -0
- package/dist/chunks/aliases-Ca20Yntz.js.map +1 -0
- package/dist/chunks/aliases-DQ51KexN.mjs +76 -0
- package/dist/chunks/aliases-DQ51KexN.mjs.map +1 -0
- package/dist/chunks/build-3I6A92J1.js +59 -0
- package/dist/chunks/build-3I6A92J1.js.map +1 -0
- package/dist/chunks/build-BqigoS45.mjs +85 -0
- package/dist/chunks/build-BqigoS45.mjs.map +1 -0
- package/dist/chunks/build-CWUlYFQo.js +87 -0
- package/dist/chunks/build-CWUlYFQo.js.map +1 -0
- package/dist/chunks/build-gBR43Dth.mjs +57 -0
- package/dist/chunks/build-gBR43Dth.mjs.map +1 -0
- package/dist/chunks/config-5tFWkbOi.js +154 -0
- package/dist/chunks/config-5tFWkbOi.js.map +1 -0
- package/dist/chunks/config-BSlsDIVc.mjs +243 -0
- package/dist/chunks/config-BSlsDIVc.mjs.map +1 -0
- package/dist/chunks/config-CLeubzgx.mjs +150 -0
- package/dist/chunks/config-CLeubzgx.mjs.map +1 -0
- package/dist/chunks/config-CQ94iNYq.js +247 -0
- package/dist/chunks/config-CQ94iNYq.js.map +1 -0
- package/dist/chunks/index-DtHH3PFG.mjs +3160 -0
- package/dist/chunks/index-DtHH3PFG.mjs.map +1 -0
- package/dist/chunks/index-kv_K5f7_.js +3185 -0
- package/dist/chunks/index-kv_K5f7_.js.map +1 -0
- package/dist/chunks/watch-B7qfL21s.js +146 -0
- package/dist/chunks/watch-B7qfL21s.js.map +1 -0
- package/dist/chunks/watch-BBDpuCFC.js +133 -0
- package/dist/chunks/watch-BBDpuCFC.js.map +1 -0
- package/dist/chunks/watch-Bhd-75O5.mjs +131 -0
- package/dist/chunks/watch-Bhd-75O5.mjs.map +1 -0
- package/dist/chunks/watch-CJr1UoWF.mjs +144 -0
- package/dist/chunks/watch-CJr1UoWF.mjs.map +1 -0
- package/dist/cli/commands/plugin/init/files/typescript.d.ts +20 -7
- package/dist/cli/commands/plugin/init/files/typescript.d.ts.map +1 -1
- package/dist/cli/commands/version.d.ts.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli.js +50 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.mjs +43 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/index.js +11 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/node/core/errors.d.ts.map +1 -1
- package/dist/node/create-build-context.d.ts +1 -1
- package/dist/node/create-build-context.d.ts.map +1 -1
- package/package.json +26 -26
- package/dist/cli/commands/admin/create-user.js +0 -91
- package/dist/cli/commands/admin/create-user.js.map +0 -1
- package/dist/cli/commands/admin/create-user.mjs +0 -88
- package/dist/cli/commands/admin/create-user.mjs.map +0 -1
- package/dist/cli/commands/admin/reset-user-password.js +0 -47
- package/dist/cli/commands/admin/reset-user-password.js.map +0 -1
- package/dist/cli/commands/admin/reset-user-password.mjs +0 -44
- package/dist/cli/commands/admin/reset-user-password.mjs.map +0 -1
- package/dist/cli/commands/build.js +0 -24
- package/dist/cli/commands/build.js.map +0 -1
- package/dist/cli/commands/build.mjs +0 -24
- package/dist/cli/commands/build.mjs.map +0 -1
- package/dist/cli/commands/components/list.js +0 -27
- package/dist/cli/commands/components/list.js.map +0 -1
- package/dist/cli/commands/components/list.mjs +0 -24
- package/dist/cli/commands/components/list.mjs.map +0 -1
- package/dist/cli/commands/configuration/dump.js +0 -43
- package/dist/cli/commands/configuration/dump.js.map +0 -1
- package/dist/cli/commands/configuration/dump.mjs +0 -41
- package/dist/cli/commands/configuration/dump.mjs.map +0 -1
- package/dist/cli/commands/configuration/restore.js +0 -142
- package/dist/cli/commands/configuration/restore.js.map +0 -1
- package/dist/cli/commands/configuration/restore.mjs +0 -139
- package/dist/cli/commands/configuration/restore.mjs.map +0 -1
- package/dist/cli/commands/console.js +0 -29
- package/dist/cli/commands/console.js.map +0 -1
- package/dist/cli/commands/console.mjs +0 -27
- package/dist/cli/commands/console.mjs.map +0 -1
- package/dist/cli/commands/content-types/list.js +0 -27
- package/dist/cli/commands/content-types/list.js.map +0 -1
- package/dist/cli/commands/content-types/list.mjs +0 -24
- package/dist/cli/commands/content-types/list.mjs.map +0 -1
- package/dist/cli/commands/controllers/list.js +0 -27
- package/dist/cli/commands/controllers/list.js.map +0 -1
- package/dist/cli/commands/controllers/list.mjs +0 -24
- package/dist/cli/commands/controllers/list.mjs.map +0 -1
- package/dist/cli/commands/develop.js +0 -29
- package/dist/cli/commands/develop.js.map +0 -1
- package/dist/cli/commands/develop.mjs +0 -27
- package/dist/cli/commands/develop.mjs.map +0 -1
- package/dist/cli/commands/export/action.js +0 -118
- package/dist/cli/commands/export/action.js.map +0 -1
- package/dist/cli/commands/export/action.mjs +0 -116
- package/dist/cli/commands/export/action.mjs.map +0 -1
- package/dist/cli/commands/export/command.js +0 -23
- package/dist/cli/commands/export/command.js.map +0 -1
- package/dist/cli/commands/export/command.mjs +0 -24
- package/dist/cli/commands/export/command.mjs.map +0 -1
- package/dist/cli/commands/generate.js +0 -35
- package/dist/cli/commands/generate.js.map +0 -1
- package/dist/cli/commands/generate.mjs +0 -13
- package/dist/cli/commands/generate.mjs.map +0 -1
- package/dist/cli/commands/hooks/list.js +0 -27
- package/dist/cli/commands/hooks/list.js.map +0 -1
- package/dist/cli/commands/hooks/list.mjs +0 -24
- package/dist/cli/commands/hooks/list.mjs.map +0 -1
- package/dist/cli/commands/import/action.js +0 -106
- package/dist/cli/commands/import/action.js.map +0 -1
- package/dist/cli/commands/import/action.mjs +0 -105
- package/dist/cli/commands/import/action.mjs.map +0 -1
- package/dist/cli/commands/import/command.js +0 -70
- package/dist/cli/commands/import/command.js.map +0 -1
- package/dist/cli/commands/import/command.mjs +0 -68
- package/dist/cli/commands/import/command.mjs.map +0 -1
- package/dist/cli/commands/index.js +0 -63
- package/dist/cli/commands/index.js.map +0 -1
- package/dist/cli/commands/index.mjs +0 -63
- package/dist/cli/commands/index.mjs.map +0 -1
- package/dist/cli/commands/middlewares/list.js +0 -27
- package/dist/cli/commands/middlewares/list.js.map +0 -1
- package/dist/cli/commands/middlewares/list.mjs +0 -24
- package/dist/cli/commands/middlewares/list.mjs.map +0 -1
- package/dist/cli/commands/policies/list.js +0 -27
- package/dist/cli/commands/policies/list.js.map +0 -1
- package/dist/cli/commands/policies/list.mjs +0 -24
- package/dist/cli/commands/policies/list.mjs.map +0 -1
- package/dist/cli/commands/report.js +0 -35
- package/dist/cli/commands/report.js.map +0 -1
- package/dist/cli/commands/report.mjs +0 -35
- package/dist/cli/commands/report.mjs.map +0 -1
- package/dist/cli/commands/routes/list.js +0 -31
- package/dist/cli/commands/routes/list.js.map +0 -1
- package/dist/cli/commands/routes/list.mjs +0 -28
- package/dist/cli/commands/routes/list.mjs.map +0 -1
- package/dist/cli/commands/services/list.js +0 -27
- package/dist/cli/commands/services/list.js.map +0 -1
- package/dist/cli/commands/services/list.mjs +0 -24
- package/dist/cli/commands/services/list.mjs.map +0 -1
- package/dist/cli/commands/start.js +0 -27
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/start.mjs +0 -24
- package/dist/cli/commands/start.mjs.map +0 -1
- package/dist/cli/commands/telemetry/disable.js +0 -70
- package/dist/cli/commands/telemetry/disable.js.map +0 -1
- package/dist/cli/commands/telemetry/disable.mjs +0 -67
- package/dist/cli/commands/telemetry/disable.mjs.map +0 -1
- package/dist/cli/commands/telemetry/enable.js +0 -89
- package/dist/cli/commands/telemetry/enable.js.map +0 -1
- package/dist/cli/commands/telemetry/enable.mjs +0 -86
- package/dist/cli/commands/telemetry/enable.mjs.map +0 -1
- package/dist/cli/commands/templates/generate.js +0 -11
- package/dist/cli/commands/templates/generate.js.map +0 -1
- package/dist/cli/commands/templates/generate.mjs +0 -11
- package/dist/cli/commands/templates/generate.mjs.map +0 -1
- package/dist/cli/commands/transfer/action.js +0 -130
- package/dist/cli/commands/transfer/action.js.map +0 -1
- package/dist/cli/commands/transfer/action.mjs +0 -131
- package/dist/cli/commands/transfer/action.mjs.map +0 -1
- package/dist/cli/commands/transfer/command.js +0 -85
- package/dist/cli/commands/transfer/command.js.map +0 -1
- package/dist/cli/commands/transfer/command.mjs +0 -84
- package/dist/cli/commands/transfer/command.mjs.map +0 -1
- package/dist/cli/commands/ts/generate-types.js +0 -36
- package/dist/cli/commands/ts/generate-types.js.map +0 -1
- package/dist/cli/commands/ts/generate-types.mjs +0 -34
- package/dist/cli/commands/ts/generate-types.mjs.map +0 -1
- package/dist/cli/commands/version.js +0 -13
- package/dist/cli/commands/version.js.map +0 -1
- package/dist/cli/commands/version.mjs +0 -13
- package/dist/cli/commands/version.mjs.map +0 -1
- package/dist/cli/index.js +0 -79
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/index.mjs +0 -79
- package/dist/cli/index.mjs.map +0 -1
- package/dist/cli/utils/commander.js +0 -111
- package/dist/cli/utils/commander.js.map +0 -1
- package/dist/cli/utils/commander.mjs +0 -108
- package/dist/cli/utils/commander.mjs.map +0 -1
- package/dist/cli/utils/data-transfer.js +0 -354
- package/dist/cli/utils/data-transfer.js.map +0 -1
- package/dist/cli/utils/data-transfer.mjs +0 -350
- package/dist/cli/utils/data-transfer.mjs.map +0 -1
- package/dist/cli/utils/helpers.js +0 -102
- package/dist/cli/utils/helpers.js.map +0 -1
- package/dist/cli/utils/helpers.mjs +0 -100
- package/dist/cli/utils/helpers.mjs.map +0 -1
- package/dist/cli/utils/logger.js +0 -137
- package/dist/cli/utils/logger.js.map +0 -1
- package/dist/cli/utils/logger.mjs +0 -116
- package/dist/cli/utils/logger.mjs.map +0 -1
- package/dist/cli/utils/telemetry.js +0 -22
- package/dist/cli/utils/telemetry.js.map +0 -1
- package/dist/cli/utils/telemetry.mjs +0 -22
- package/dist/cli/utils/telemetry.mjs.map +0 -1
- package/dist/cli/utils/tsconfig.js +0 -26
- package/dist/cli/utils/tsconfig.js.map +0 -1
- package/dist/cli/utils/tsconfig.mjs +0 -23
- package/dist/cli/utils/tsconfig.mjs.map +0 -1
- package/dist/node/build.js +0 -76
- package/dist/node/build.js.map +0 -1
- package/dist/node/build.mjs +0 -58
- package/dist/node/build.mjs.map +0 -1
- package/dist/node/core/admin-customisations.js +0 -24
- package/dist/node/core/admin-customisations.js.map +0 -1
- package/dist/node/core/admin-customisations.mjs +0 -22
- package/dist/node/core/admin-customisations.mjs.map +0 -1
- package/dist/node/core/aliases.js +0 -33
- package/dist/node/core/aliases.js.map +0 -1
- package/dist/node/core/aliases.mjs +0 -31
- package/dist/node/core/aliases.mjs.map +0 -1
- package/dist/node/core/config.js +0 -18
- package/dist/node/core/config.js.map +0 -1
- package/dist/node/core/config.mjs +0 -16
- package/dist/node/core/config.mjs.map +0 -1
- package/dist/node/core/dependencies.js +0 -163
- package/dist/node/core/dependencies.js.map +0 -1
- package/dist/node/core/dependencies.mjs +0 -155
- package/dist/node/core/dependencies.mjs.map +0 -1
- package/dist/node/core/env.js +0 -26
- package/dist/node/core/env.js.map +0 -1
- package/dist/node/core/env.mjs +0 -23
- package/dist/node/core/env.mjs.map +0 -1
- package/dist/node/core/errors.js +0 -33
- package/dist/node/core/errors.js.map +0 -1
- package/dist/node/core/errors.mjs +0 -29
- package/dist/node/core/errors.mjs.map +0 -1
- package/dist/node/core/files.js +0 -45
- package/dist/node/core/files.js.map +0 -1
- package/dist/node/core/files.mjs +0 -43
- package/dist/node/core/files.mjs.map +0 -1
- package/dist/node/core/managers.js +0 -17
- package/dist/node/core/managers.js.map +0 -1
- package/dist/node/core/managers.mjs +0 -17
- package/dist/node/core/managers.mjs.map +0 -1
- package/dist/node/core/monorepo.js +0 -23
- package/dist/node/core/monorepo.js.map +0 -1
- package/dist/node/core/monorepo.mjs +0 -20
- package/dist/node/core/monorepo.mjs.map +0 -1
- package/dist/node/core/plugins.js +0 -116
- package/dist/node/core/plugins.js.map +0 -1
- package/dist/node/core/plugins.mjs +0 -111
- package/dist/node/core/plugins.mjs.map +0 -1
- package/dist/node/core/timer.js +0 -27
- package/dist/node/core/timer.js.map +0 -1
- package/dist/node/core/timer.mjs +0 -27
- package/dist/node/core/timer.mjs.map +0 -1
- package/dist/node/create-build-context.js +0 -101
- package/dist/node/create-build-context.js.map +0 -1
- package/dist/node/create-build-context.mjs +0 -96
- package/dist/node/create-build-context.mjs.map +0 -1
- package/dist/node/develop.js +0 -275
- package/dist/node/develop.js.map +0 -1
- package/dist/node/develop.mjs +0 -252
- package/dist/node/develop.mjs.map +0 -1
- package/dist/node/staticFiles.js +0 -102
- package/dist/node/staticFiles.js.map +0 -1
- package/dist/node/staticFiles.mjs +0 -76
- package/dist/node/staticFiles.mjs.map +0 -1
- package/dist/node/vite/build.js +0 -34
- package/dist/node/vite/build.js.map +0 -1
- package/dist/node/vite/build.mjs +0 -12
- package/dist/node/vite/build.mjs.map +0 -1
- package/dist/node/vite/config.js +0 -106
- package/dist/node/vite/config.js.map +0 -1
- package/dist/node/vite/config.mjs +0 -103
- package/dist/node/vite/config.mjs.map +0 -1
- package/dist/node/vite/plugins.js +0 -43
- package/dist/node/vite/plugins.js.map +0 -1
- package/dist/node/vite/plugins.mjs +0 -43
- package/dist/node/vite/plugins.mjs.map +0 -1
- package/dist/node/vite/watch.js +0 -111
- package/dist/node/vite/watch.js.map +0 -1
- package/dist/node/vite/watch.mjs +0 -85
- package/dist/node/vite/watch.mjs.map +0 -1
- package/dist/node/webpack/build.js +0 -41
- package/dist/node/webpack/build.js.map +0 -1
- package/dist/node/webpack/build.mjs +0 -39
- package/dist/node/webpack/build.mjs.map +0 -1
- package/dist/node/webpack/config.js +0 -259
- package/dist/node/webpack/config.js.map +0 -1
- package/dist/node/webpack/config.mjs +0 -228
- package/dist/node/webpack/config.mjs.map +0 -1
- package/dist/node/webpack/watch.js +0 -95
- package/dist/node/webpack/watch.js.map +0 -1
- package/dist/node/webpack/watch.mjs +0 -90
- package/dist/node/webpack/watch.mjs.map +0 -1
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
-
for (let key of __getOwnPropNames(from))
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
}
|
|
14
|
-
return to;
|
|
15
|
-
};
|
|
16
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
-
mod
|
|
23
|
-
));
|
|
24
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
|
-
const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
|
|
26
|
-
const browserslistToEsbuild = require("browserslist-to-esbuild");
|
|
27
|
-
const esbuildLoader = require("esbuild-loader");
|
|
28
|
-
const ForkTsCheckerPlugin = require("fork-ts-checker-webpack-plugin");
|
|
29
|
-
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
30
|
-
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
31
|
-
const crypto = require("node:crypto");
|
|
32
|
-
const path = require("node:path");
|
|
33
|
-
const readPkgUp = require("read-pkg-up");
|
|
34
|
-
const webpack = require("webpack");
|
|
35
|
-
const webpackBundleAnalyzer = require("webpack-bundle-analyzer");
|
|
36
|
-
const monorepo = require("../core/monorepo.js");
|
|
37
|
-
const config = require("../core/config.js");
|
|
38
|
-
const aliases = require("../core/aliases.js");
|
|
39
|
-
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
40
|
-
const ReactRefreshWebpackPlugin__default = /* @__PURE__ */ _interopDefault(ReactRefreshWebpackPlugin);
|
|
41
|
-
const browserslistToEsbuild__default = /* @__PURE__ */ _interopDefault(browserslistToEsbuild);
|
|
42
|
-
const ForkTsCheckerPlugin__default = /* @__PURE__ */ _interopDefault(ForkTsCheckerPlugin);
|
|
43
|
-
const HtmlWebpackPlugin__default = /* @__PURE__ */ _interopDefault(HtmlWebpackPlugin);
|
|
44
|
-
const MiniCssExtractPlugin__default = /* @__PURE__ */ _interopDefault(MiniCssExtractPlugin);
|
|
45
|
-
const crypto__default = /* @__PURE__ */ _interopDefault(crypto);
|
|
46
|
-
const path__default = /* @__PURE__ */ _interopDefault(path);
|
|
47
|
-
const readPkgUp__default = /* @__PURE__ */ _interopDefault(readPkgUp);
|
|
48
|
-
const resolveBaseConfig = async (ctx) => {
|
|
49
|
-
const target = browserslistToEsbuild__default.default(ctx.target);
|
|
50
|
-
return {
|
|
51
|
-
experiments: {
|
|
52
|
-
topLevelAwait: true
|
|
53
|
-
},
|
|
54
|
-
entry: {
|
|
55
|
-
main: [`./${ctx.entry}`]
|
|
56
|
-
},
|
|
57
|
-
resolve: {
|
|
58
|
-
alias: {
|
|
59
|
-
react: getModulePath("react"),
|
|
60
|
-
"react-dom": getModulePath("react-dom"),
|
|
61
|
-
"styled-components": getModulePath("styled-components"),
|
|
62
|
-
"react-router-dom": getModulePath("react-router-dom")
|
|
63
|
-
},
|
|
64
|
-
extensions: [".js", ".jsx", ".react.js", ".ts", ".tsx"]
|
|
65
|
-
},
|
|
66
|
-
module: {
|
|
67
|
-
rules: [
|
|
68
|
-
{
|
|
69
|
-
test: /\.(ts|tsx)$/,
|
|
70
|
-
loader: require.resolve("esbuild-loader"),
|
|
71
|
-
options: {
|
|
72
|
-
loader: "tsx",
|
|
73
|
-
target,
|
|
74
|
-
jsx: "automatic"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
test: /\.(js|jsx|mjs)$/,
|
|
79
|
-
use: {
|
|
80
|
-
loader: require.resolve("esbuild-loader"),
|
|
81
|
-
options: {
|
|
82
|
-
loader: "jsx",
|
|
83
|
-
target,
|
|
84
|
-
jsx: "automatic"
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
test: /\.m?js/,
|
|
90
|
-
resolve: {
|
|
91
|
-
fullySpecified: false
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
test: /\.css$/i,
|
|
96
|
-
use: [require.resolve("style-loader"), require.resolve("css-loader")]
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
|
|
100
|
-
type: "asset/resource"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/, /\.ico$/],
|
|
104
|
-
type: "asset",
|
|
105
|
-
parser: {
|
|
106
|
-
dataUrlCondition: {
|
|
107
|
-
maxSize: 1e3
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
test: /\.(mp4|webm)$/,
|
|
113
|
-
type: "asset",
|
|
114
|
-
parser: {
|
|
115
|
-
dataUrlCondition: {
|
|
116
|
-
maxSize: 1e4
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
|
-
plugins: [
|
|
123
|
-
new HtmlWebpackPlugin__default.default({
|
|
124
|
-
inject: true,
|
|
125
|
-
template: path__default.default.resolve(ctx.runtimeDir, "index.html")
|
|
126
|
-
}),
|
|
127
|
-
new webpack.DefinePlugin(
|
|
128
|
-
Object.entries(ctx.env).reduce((acc, [key, value]) => {
|
|
129
|
-
acc[`process.env.${key}`] = JSON.stringify(value);
|
|
130
|
-
return acc;
|
|
131
|
-
}, {})
|
|
132
|
-
),
|
|
133
|
-
ctx.tsconfig && new ForkTsCheckerPlugin__default.default({
|
|
134
|
-
typescript: {
|
|
135
|
-
configFile: ctx.tsconfig.path,
|
|
136
|
-
configOverwrite: {
|
|
137
|
-
compilerOptions: {
|
|
138
|
-
sourceMap: ctx.options.sourcemaps
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
})
|
|
143
|
-
].filter(Boolean)
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
const resolveDevelopmentConfig = async (ctx) => {
|
|
147
|
-
const baseConfig = await resolveBaseConfig(ctx);
|
|
148
|
-
const monorepo$1 = await monorepo.loadStrapiMonorepo(ctx.cwd);
|
|
149
|
-
return {
|
|
150
|
-
...baseConfig,
|
|
151
|
-
cache: {
|
|
152
|
-
type: "filesystem",
|
|
153
|
-
// version cache when there are changes to aliases
|
|
154
|
-
buildDependencies: {
|
|
155
|
-
config: [__filename]
|
|
156
|
-
},
|
|
157
|
-
version: crypto__default.default.createHash("md5").update(Object.entries(baseConfig.resolve.alias ?? {}).join()).digest("hex")
|
|
158
|
-
},
|
|
159
|
-
resolve: {
|
|
160
|
-
...baseConfig.resolve,
|
|
161
|
-
alias: {
|
|
162
|
-
...baseConfig.resolve.alias,
|
|
163
|
-
...aliases.getMonorepoAliases({ monorepo: monorepo$1 })
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
entry: {
|
|
167
|
-
...baseConfig.entry,
|
|
168
|
-
main: [
|
|
169
|
-
`${require.resolve("webpack-hot-middleware/client")}?path=/__webpack_hmr`,
|
|
170
|
-
...baseConfig.entry.main
|
|
171
|
-
]
|
|
172
|
-
},
|
|
173
|
-
stats: "errors-warnings",
|
|
174
|
-
mode: "development",
|
|
175
|
-
devtool: "inline-source-map",
|
|
176
|
-
output: {
|
|
177
|
-
filename: "[name].js",
|
|
178
|
-
path: ctx.distPath,
|
|
179
|
-
publicPath: ctx.basePath
|
|
180
|
-
},
|
|
181
|
-
infrastructureLogging: {
|
|
182
|
-
level: "error"
|
|
183
|
-
},
|
|
184
|
-
plugins: [
|
|
185
|
-
...baseConfig.plugins,
|
|
186
|
-
new webpack.HotModuleReplacementPlugin(),
|
|
187
|
-
new ReactRefreshWebpackPlugin__default.default()
|
|
188
|
-
]
|
|
189
|
-
};
|
|
190
|
-
};
|
|
191
|
-
const resolveProductionConfig = async (ctx) => {
|
|
192
|
-
const target = browserslistToEsbuild__default.default(ctx.target);
|
|
193
|
-
const baseConfig = await resolveBaseConfig(ctx);
|
|
194
|
-
return {
|
|
195
|
-
...baseConfig,
|
|
196
|
-
stats: "errors-only",
|
|
197
|
-
mode: "production",
|
|
198
|
-
bail: true,
|
|
199
|
-
devtool: ctx.options.sourcemaps ? "source-map" : false,
|
|
200
|
-
output: {
|
|
201
|
-
path: ctx.distPath,
|
|
202
|
-
publicPath: ctx.basePath,
|
|
203
|
-
// Utilize long-term caching by adding content hashes (not compilation hashes)
|
|
204
|
-
// to compiled assets for production
|
|
205
|
-
filename: "[name].[contenthash:8].js",
|
|
206
|
-
chunkFilename: "[name].[contenthash:8].chunk.js"
|
|
207
|
-
},
|
|
208
|
-
optimization: {
|
|
209
|
-
minimize: ctx.options.minify,
|
|
210
|
-
minimizer: [
|
|
211
|
-
new esbuildLoader.ESBuildMinifyPlugin({
|
|
212
|
-
target,
|
|
213
|
-
css: true
|
|
214
|
-
// Apply minification to CSS assets
|
|
215
|
-
})
|
|
216
|
-
],
|
|
217
|
-
moduleIds: "deterministic",
|
|
218
|
-
runtimeChunk: true
|
|
219
|
-
},
|
|
220
|
-
plugins: [
|
|
221
|
-
...baseConfig.plugins,
|
|
222
|
-
new MiniCssExtractPlugin__default.default({
|
|
223
|
-
filename: "[name].[chunkhash].css",
|
|
224
|
-
chunkFilename: "[name].[chunkhash].chunkhash.css",
|
|
225
|
-
ignoreOrder: true
|
|
226
|
-
}),
|
|
227
|
-
ctx.options.stats && new webpackBundleAnalyzer.BundleAnalyzerPlugin()
|
|
228
|
-
// TODO: find out if this is an actual issue or just a ts bug
|
|
229
|
-
].filter(Boolean)
|
|
230
|
-
};
|
|
231
|
-
};
|
|
232
|
-
const USER_CONFIGS = ["webpack.config.js", "webpack.config.mjs", "webpack.config.ts"];
|
|
233
|
-
const mergeConfigWithUserConfig = async (config$1, ctx) => {
|
|
234
|
-
const userConfig = await config.getUserConfig(USER_CONFIGS, ctx);
|
|
235
|
-
if (userConfig) {
|
|
236
|
-
if (typeof userConfig === "function") {
|
|
237
|
-
const webpack2 = await import("webpack");
|
|
238
|
-
return userConfig(config$1, webpack2);
|
|
239
|
-
}
|
|
240
|
-
ctx.logger.warn(
|
|
241
|
-
`You've exported something other than a function from ${path__default.default.join(
|
|
242
|
-
ctx.appDir,
|
|
243
|
-
"src",
|
|
244
|
-
"admin",
|
|
245
|
-
"webpack.config"
|
|
246
|
-
)}, this will ignored.`
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
return config$1;
|
|
250
|
-
};
|
|
251
|
-
const getModulePath = (mod) => {
|
|
252
|
-
const modulePath = require.resolve(mod);
|
|
253
|
-
const pkg = readPkgUp__default.default.sync({ cwd: path__default.default.dirname(modulePath) });
|
|
254
|
-
return pkg ? path__default.default.dirname(pkg.path) : modulePath;
|
|
255
|
-
};
|
|
256
|
-
exports.mergeConfigWithUserConfig = mergeConfigWithUserConfig;
|
|
257
|
-
exports.resolveDevelopmentConfig = resolveDevelopmentConfig;
|
|
258
|
-
exports.resolveProductionConfig = resolveProductionConfig;
|
|
259
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../src/node/webpack/config.ts"],"sourcesContent":["import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport { ESBuildMinifyPlugin } 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 },\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 ESBuildMinifyPlugin({\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":["browserslistToEsbuild","HtmlWebpackPlugin","path","DefinePlugin","ForkTsCheckerPlugin","monorepo","loadStrapiMonorepo","crypto","getMonorepoAliases","HotModuleReplacementPlugin","ReactRefreshWebpackPlugin","ESBuildMinifyPlugin","MiniCssExtractPlugin","BundleAnalyzerPlugin","config","getUserConfig","webpack","readPkgUp"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,oBAAoB,OAAO,QAAsB;AAC/C,QAAA,SAASA,+BAAAA,QAAsB,IAAI,MAAM;AAExC,SAAA;AAAA,IACL,aAAa;AAAA,MACX,eAAe;AAAA,IACjB;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;AAAA,IACzB;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,QACL,OAAO,cAAc,OAAO;AAAA,QAC5B,aAAa,cAAc,WAAW;AAAA,QACtC,qBAAqB,cAAc,mBAAmB;AAAA,QACtD,oBAAoB,cAAc,kBAAkB;AAAA,MACtD;AAAA,MACA,YAAY,CAAC,OAAO,QAAQ,aAAa,OAAO,MAAM;AAAA,IACxD;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,QAAQ,gBAAgB,gBAAgB;AAAA,UACxC,SAAS;AAAA,YACP,QAAQ;AAAA,YACR;AAAA,YACA,KAAK;AAAA,UAAA;AAAA,QAET;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,KAAK;AAAA,YACH,QAAQ,gBAAgB,gBAAgB;AAAA,YACxC,SAAS;AAAA,cACP,QAAQ;AAAA,cACR;AAAA,cACA,KAAK;AAAA,YAAA;AAAA,UACP;AAAA,QAEJ;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,YACP,gBAAgB;AAAA,UAAA;AAAA,QAEpB;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,KAAK,CAAC,gBAAgB,cAAc,GAAG,gBAAgB,YAAY,CAAC;AAAA,QACtE;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,QACR;AAAA,QACA;AAAA,UACE,MAAM,CAAC,UAAU,UAAU,YAAY,UAAU,QAAQ;AAAA,UACzD,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,kBAAkB;AAAA,cAChB,SAAS;AAAA,YAAA;AAAA,UACX;AAAA,QAEJ;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,kBAAkB;AAAA,cAChB,SAAS;AAAA,YAAA;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,SAAS;AAAA,MACP,IAAIC,mCAAkB;AAAA,QACpB,QAAQ;AAAA,QACR,UAAUC,cAAAA,QAAK,QAAQ,IAAI,YAAY,YAAY;AAAA,MAAA,CACpD;AAAA,MACD,IAAIC,QAAA;AAAA,QACF,OAAO,QAAQ,IAAI,GAAG,EAAE,OAA+B,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;AAC5E,cAAI,eAAe,GAAG,EAAE,IAAI,KAAK,UAAU,KAAK;AACzC,iBAAA;AAAA,QAAA,GACN,CAAE,CAAA;AAAA,MACP;AAAA,MACA,IAAI,YACF,IAAIC,qCAAoB;AAAA,QACtB,YAAY;AAAA,UACV,YAAY,IAAI,SAAS;AAAA,UACzB,iBAAiB;AAAA,YACf,iBAAiB;AAAA,cACf,WAAW,IAAI,QAAQ;AAAA,YAAA;AAAA,UACzB;AAAA,QACF;AAAA,MAEH,CAAA;AAAA,IACL,EAAE,OAAO,OAAO;AAAA,EAClB;AACF;AAEM,MAAA,2BAA2B,OAAO,QAA8C;AAC9E,QAAA,aAAa,MAAM,kBAAkB,GAAG;AAC9C,QAAMC,aAAW,MAAMC,4BAAmB,IAAI,GAAG;AAE1C,SAAA;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,MACL,MAAM;AAAA;AAAA,MAEN,mBAAmB;AAAA,QACjB,QAAQ,CAAC,UAAU;AAAA,MACrB;AAAA,MACA,SAASC,gBACN,QAAA,WAAW,KAAK,EAChB,OAAO,OAAO,QAAQ,WAAW,QAAQ,SAAS,CAAE,CAAA,EAAE,KAAM,CAAA,EAC5D,OAAO,KAAK;AAAA,IACjB;AAAA,IACA,SAAS;AAAA,MACP,GAAG,WAAW;AAAA,MACd,OAAO;AAAA,QACL,GAAG,WAAW,QAAQ;AAAA,QACtB,GAAGC,QAAAA,mBAAmB,EAAA,UAAEH,WAAU,CAAA;AAAA,MAAA;AAAA,IAEtC;AAAA,IACA,OAAO;AAAA,MACL,GAAG,WAAW;AAAA,MACd,MAAM;AAAA,QACJ,GAAG,gBAAgB,+BAA+B,CAAC;AAAA,QACnD,GAAG,WAAW,MAAM;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,MAAM,IAAI;AAAA,MACV,YAAY,IAAI;AAAA,IAClB;AAAA,IACA,uBAAuB;AAAA,MACrB,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,GAAG,WAAW;AAAA,MACd,IAAII,mCAA2B;AAAA,MAC/B,IAAIC,mCAA0B,QAAA;AAAA,IAAA;AAAA,EAElC;AACF;AAEM,MAAA,0BAA0B,OAAO,QAA8C;AAC7E,QAAA,SAASV,+BAAAA,QAAsB,IAAI,MAAM;AAEzC,QAAA,aAAa,MAAM,kBAAkB,GAAG;AAEvC,SAAA;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS,IAAI,QAAQ,aAAa,eAAe;AAAA,IACjD,QAAQ;AAAA,MACN,MAAM,IAAI;AAAA,MACV,YAAY,IAAI;AAAA;AAAA;AAAA,MAGhB,UAAU;AAAA,MACV,eAAe;AAAA,IACjB;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,IAAI,QAAQ;AAAA,MACtB,WAAW;AAAA,QACT,IAAIW,kCAAoB;AAAA,UACtB;AAAA,UACA,KAAK;AAAA;AAAA,QACN,CAAA;AAAA,MACH;AAAA,MACA,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,SAAS;AAAA,MACP,GAAG,WAAW;AAAA,MACd,IAAIC,sCAAqB;AAAA,QACvB,UAAU;AAAA,QACV,eAAe;AAAA,QACf,aAAa;AAAA,MAAA,CACd;AAAA,MACD,IAAI,QAAQ,SAAU,IAAIC,sBAAqB,qBAAA;AAAA;AAAA,IACjD,EAAE,OAAO,OAAO;AAAA,EAClB;AACF;AAEA,MAAM,eAAe,CAAC,qBAAqB,sBAAsB,mBAAmB;AAI9E,MAAA,4BAA4B,OAAOC,UAAuB,QAAsB;AACpF,QAAM,aAAa,MAAMC,qBAAiC,cAAc,GAAG;AAE3E,MAAI,YAAY;AACV,QAAA,OAAO,eAAe,YAAY;AAC9B,YAAAC,WAAU,MAAM,OAAO,SAAS;AAC/B,aAAA,WAAWF,UAAQE,QAAO;AAAA,IAAA;AAGnC,QAAI,OAAO;AAAA,MACT,wDAAwDd,cAAAA,QAAK;AAAA,QAC3D,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGK,SAAAY;AACT;AAMA,MAAM,gBAAgB,CAAC,QAAgB;AAC/B,QAAA,aAAa,QAAQ,QAAQ,GAAG;AAChC,QAAA,MAAMG,2BAAU,KAAK,EAAE,KAAKf,sBAAK,QAAQ,UAAU,GAAG;AAC5D,SAAO,MAAMA,cAAAA,QAAK,QAAQ,IAAI,IAAI,IAAI;AACxC;;;;"}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import ReactRefreshWebpackPlugin from "@pmmmwh/react-refresh-webpack-plugin";
|
|
2
|
-
import browserslistToEsbuild from "browserslist-to-esbuild";
|
|
3
|
-
import { ESBuildMinifyPlugin } from "esbuild-loader";
|
|
4
|
-
import ForkTsCheckerPlugin from "fork-ts-checker-webpack-plugin";
|
|
5
|
-
import HtmlWebpackPlugin from "html-webpack-plugin";
|
|
6
|
-
import MiniCssExtractPlugin from "mini-css-extract-plugin";
|
|
7
|
-
import crypto from "node:crypto";
|
|
8
|
-
import path from "node:path";
|
|
9
|
-
import readPkgUp from "read-pkg-up";
|
|
10
|
-
import { HotModuleReplacementPlugin, DefinePlugin } from "webpack";
|
|
11
|
-
import { BundleAnalyzerPlugin } from "webpack-bundle-analyzer";
|
|
12
|
-
import { loadStrapiMonorepo } from "../core/monorepo.mjs";
|
|
13
|
-
import { getUserConfig } from "../core/config.mjs";
|
|
14
|
-
import { getMonorepoAliases } from "../core/aliases.mjs";
|
|
15
|
-
const resolveBaseConfig = async (ctx) => {
|
|
16
|
-
const target = browserslistToEsbuild(ctx.target);
|
|
17
|
-
return {
|
|
18
|
-
experiments: {
|
|
19
|
-
topLevelAwait: true
|
|
20
|
-
},
|
|
21
|
-
entry: {
|
|
22
|
-
main: [`./${ctx.entry}`]
|
|
23
|
-
},
|
|
24
|
-
resolve: {
|
|
25
|
-
alias: {
|
|
26
|
-
react: getModulePath("react"),
|
|
27
|
-
"react-dom": getModulePath("react-dom"),
|
|
28
|
-
"styled-components": getModulePath("styled-components"),
|
|
29
|
-
"react-router-dom": getModulePath("react-router-dom")
|
|
30
|
-
},
|
|
31
|
-
extensions: [".js", ".jsx", ".react.js", ".ts", ".tsx"]
|
|
32
|
-
},
|
|
33
|
-
module: {
|
|
34
|
-
rules: [
|
|
35
|
-
{
|
|
36
|
-
test: /\.(ts|tsx)$/,
|
|
37
|
-
loader: require.resolve("esbuild-loader"),
|
|
38
|
-
options: {
|
|
39
|
-
loader: "tsx",
|
|
40
|
-
target,
|
|
41
|
-
jsx: "automatic"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
test: /\.(js|jsx|mjs)$/,
|
|
46
|
-
use: {
|
|
47
|
-
loader: require.resolve("esbuild-loader"),
|
|
48
|
-
options: {
|
|
49
|
-
loader: "jsx",
|
|
50
|
-
target,
|
|
51
|
-
jsx: "automatic"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
test: /\.m?js/,
|
|
57
|
-
resolve: {
|
|
58
|
-
fullySpecified: false
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
test: /\.css$/i,
|
|
63
|
-
use: [require.resolve("style-loader"), require.resolve("css-loader")]
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
|
|
67
|
-
type: "asset/resource"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/, /\.ico$/],
|
|
71
|
-
type: "asset",
|
|
72
|
-
parser: {
|
|
73
|
-
dataUrlCondition: {
|
|
74
|
-
maxSize: 1e3
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
test: /\.(mp4|webm)$/,
|
|
80
|
-
type: "asset",
|
|
81
|
-
parser: {
|
|
82
|
-
dataUrlCondition: {
|
|
83
|
-
maxSize: 1e4
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
},
|
|
89
|
-
plugins: [
|
|
90
|
-
new HtmlWebpackPlugin({
|
|
91
|
-
inject: true,
|
|
92
|
-
template: path.resolve(ctx.runtimeDir, "index.html")
|
|
93
|
-
}),
|
|
94
|
-
new DefinePlugin(
|
|
95
|
-
Object.entries(ctx.env).reduce((acc, [key, value]) => {
|
|
96
|
-
acc[`process.env.${key}`] = JSON.stringify(value);
|
|
97
|
-
return acc;
|
|
98
|
-
}, {})
|
|
99
|
-
),
|
|
100
|
-
ctx.tsconfig && new ForkTsCheckerPlugin({
|
|
101
|
-
typescript: {
|
|
102
|
-
configFile: ctx.tsconfig.path,
|
|
103
|
-
configOverwrite: {
|
|
104
|
-
compilerOptions: {
|
|
105
|
-
sourceMap: ctx.options.sourcemaps
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
})
|
|
110
|
-
].filter(Boolean)
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
const resolveDevelopmentConfig = async (ctx) => {
|
|
114
|
-
const baseConfig = await resolveBaseConfig(ctx);
|
|
115
|
-
const monorepo = await loadStrapiMonorepo(ctx.cwd);
|
|
116
|
-
return {
|
|
117
|
-
...baseConfig,
|
|
118
|
-
cache: {
|
|
119
|
-
type: "filesystem",
|
|
120
|
-
// version cache when there are changes to aliases
|
|
121
|
-
buildDependencies: {
|
|
122
|
-
config: [__filename]
|
|
123
|
-
},
|
|
124
|
-
version: crypto.createHash("md5").update(Object.entries(baseConfig.resolve.alias ?? {}).join()).digest("hex")
|
|
125
|
-
},
|
|
126
|
-
resolve: {
|
|
127
|
-
...baseConfig.resolve,
|
|
128
|
-
alias: {
|
|
129
|
-
...baseConfig.resolve.alias,
|
|
130
|
-
...getMonorepoAliases({ monorepo })
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
entry: {
|
|
134
|
-
...baseConfig.entry,
|
|
135
|
-
main: [
|
|
136
|
-
`${require.resolve("webpack-hot-middleware/client")}?path=/__webpack_hmr`,
|
|
137
|
-
...baseConfig.entry.main
|
|
138
|
-
]
|
|
139
|
-
},
|
|
140
|
-
stats: "errors-warnings",
|
|
141
|
-
mode: "development",
|
|
142
|
-
devtool: "inline-source-map",
|
|
143
|
-
output: {
|
|
144
|
-
filename: "[name].js",
|
|
145
|
-
path: ctx.distPath,
|
|
146
|
-
publicPath: ctx.basePath
|
|
147
|
-
},
|
|
148
|
-
infrastructureLogging: {
|
|
149
|
-
level: "error"
|
|
150
|
-
},
|
|
151
|
-
plugins: [
|
|
152
|
-
...baseConfig.plugins,
|
|
153
|
-
new HotModuleReplacementPlugin(),
|
|
154
|
-
new ReactRefreshWebpackPlugin()
|
|
155
|
-
]
|
|
156
|
-
};
|
|
157
|
-
};
|
|
158
|
-
const resolveProductionConfig = async (ctx) => {
|
|
159
|
-
const target = browserslistToEsbuild(ctx.target);
|
|
160
|
-
const baseConfig = await resolveBaseConfig(ctx);
|
|
161
|
-
return {
|
|
162
|
-
...baseConfig,
|
|
163
|
-
stats: "errors-only",
|
|
164
|
-
mode: "production",
|
|
165
|
-
bail: true,
|
|
166
|
-
devtool: ctx.options.sourcemaps ? "source-map" : false,
|
|
167
|
-
output: {
|
|
168
|
-
path: ctx.distPath,
|
|
169
|
-
publicPath: ctx.basePath,
|
|
170
|
-
// Utilize long-term caching by adding content hashes (not compilation hashes)
|
|
171
|
-
// to compiled assets for production
|
|
172
|
-
filename: "[name].[contenthash:8].js",
|
|
173
|
-
chunkFilename: "[name].[contenthash:8].chunk.js"
|
|
174
|
-
},
|
|
175
|
-
optimization: {
|
|
176
|
-
minimize: ctx.options.minify,
|
|
177
|
-
minimizer: [
|
|
178
|
-
new ESBuildMinifyPlugin({
|
|
179
|
-
target,
|
|
180
|
-
css: true
|
|
181
|
-
// Apply minification to CSS assets
|
|
182
|
-
})
|
|
183
|
-
],
|
|
184
|
-
moduleIds: "deterministic",
|
|
185
|
-
runtimeChunk: true
|
|
186
|
-
},
|
|
187
|
-
plugins: [
|
|
188
|
-
...baseConfig.plugins,
|
|
189
|
-
new MiniCssExtractPlugin({
|
|
190
|
-
filename: "[name].[chunkhash].css",
|
|
191
|
-
chunkFilename: "[name].[chunkhash].chunkhash.css",
|
|
192
|
-
ignoreOrder: true
|
|
193
|
-
}),
|
|
194
|
-
ctx.options.stats && new BundleAnalyzerPlugin()
|
|
195
|
-
// TODO: find out if this is an actual issue or just a ts bug
|
|
196
|
-
].filter(Boolean)
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
const USER_CONFIGS = ["webpack.config.js", "webpack.config.mjs", "webpack.config.ts"];
|
|
200
|
-
const mergeConfigWithUserConfig = async (config, ctx) => {
|
|
201
|
-
const userConfig = await getUserConfig(USER_CONFIGS, ctx);
|
|
202
|
-
if (userConfig) {
|
|
203
|
-
if (typeof userConfig === "function") {
|
|
204
|
-
const webpack = await import("webpack");
|
|
205
|
-
return userConfig(config, webpack);
|
|
206
|
-
}
|
|
207
|
-
ctx.logger.warn(
|
|
208
|
-
`You've exported something other than a function from ${path.join(
|
|
209
|
-
ctx.appDir,
|
|
210
|
-
"src",
|
|
211
|
-
"admin",
|
|
212
|
-
"webpack.config"
|
|
213
|
-
)}, this will ignored.`
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
return config;
|
|
217
|
-
};
|
|
218
|
-
const getModulePath = (mod) => {
|
|
219
|
-
const modulePath = require.resolve(mod);
|
|
220
|
-
const pkg = readPkgUp.sync({ cwd: path.dirname(modulePath) });
|
|
221
|
-
return pkg ? path.dirname(pkg.path) : modulePath;
|
|
222
|
-
};
|
|
223
|
-
export {
|
|
224
|
-
mergeConfigWithUserConfig,
|
|
225
|
-
resolveDevelopmentConfig,
|
|
226
|
-
resolveProductionConfig
|
|
227
|
-
};
|
|
228
|
-
//# sourceMappingURL=config.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 { ESBuildMinifyPlugin } 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 },\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 ESBuildMinifyPlugin({\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":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const os = require("node:os");
|
|
4
|
-
const path = require("node:path");
|
|
5
|
-
const node_util = require("node:util");
|
|
6
|
-
const webpackDevMiddleware = require("webpack-dev-middleware");
|
|
7
|
-
const webpackHotMiddleware = require("webpack-hot-middleware");
|
|
8
|
-
const webpack = require("webpack");
|
|
9
|
-
const config = require("./config.js");
|
|
10
|
-
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
11
|
-
const os__default = /* @__PURE__ */ _interopDefault(os);
|
|
12
|
-
const path__default = /* @__PURE__ */ _interopDefault(path);
|
|
13
|
-
const webpackDevMiddleware__default = /* @__PURE__ */ _interopDefault(webpackDevMiddleware);
|
|
14
|
-
const webpackHotMiddleware__default = /* @__PURE__ */ _interopDefault(webpackHotMiddleware);
|
|
15
|
-
const watch = async (ctx) => {
|
|
16
|
-
const config$1 = await config.resolveDevelopmentConfig(ctx);
|
|
17
|
-
const finalConfig = await config.mergeConfigWithUserConfig(config$1, ctx);
|
|
18
|
-
ctx.logger.debug("Final webpack config:", os__default.default.EOL, finalConfig);
|
|
19
|
-
return new Promise((res) => {
|
|
20
|
-
const compiler = webpack.webpack(finalConfig);
|
|
21
|
-
const devMiddleware = webpackDevMiddleware__default.default(compiler);
|
|
22
|
-
const hotMiddleware = webpackHotMiddleware__default.default(compiler, {
|
|
23
|
-
log: false,
|
|
24
|
-
path: "/__webpack_hmr"
|
|
25
|
-
});
|
|
26
|
-
ctx.strapi.server.app.use((ctx2, next) => {
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
hotMiddleware(ctx2.req, ctx2.res, (err) => {
|
|
29
|
-
if (err) reject(err);
|
|
30
|
-
else resolve(next());
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
ctx.strapi.server.app.use((context, next) => {
|
|
35
|
-
const ready = new Promise((resolve) => {
|
|
36
|
-
devMiddleware.waitUntilValid(() => {
|
|
37
|
-
resolve(true);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
const init = new Promise((resolve) => {
|
|
41
|
-
devMiddleware(
|
|
42
|
-
context.req,
|
|
43
|
-
{
|
|
44
|
-
// @ts-expect-error ignored
|
|
45
|
-
end(content) {
|
|
46
|
-
context.body = content;
|
|
47
|
-
resolve(true);
|
|
48
|
-
},
|
|
49
|
-
getHeader: context.get.bind(context),
|
|
50
|
-
// @ts-expect-error ignored
|
|
51
|
-
setHeader: context.set.bind(context),
|
|
52
|
-
locals: context.state
|
|
53
|
-
},
|
|
54
|
-
() => resolve(next())
|
|
55
|
-
);
|
|
56
|
-
});
|
|
57
|
-
return Promise.all([ready, init]);
|
|
58
|
-
});
|
|
59
|
-
const serveAdmin = async (ctx2, next) => {
|
|
60
|
-
await next();
|
|
61
|
-
if (devMiddleware.context.outputFileSystem.createReadStream) {
|
|
62
|
-
if (ctx2.method !== "HEAD" && ctx2.method !== "GET") {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (ctx2.body != null || ctx2.status !== 404) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const filename = path__default.default.resolve(finalConfig.output?.path, "index.html");
|
|
69
|
-
ctx2.type = "html";
|
|
70
|
-
ctx2.body = devMiddleware.context.outputFileSystem.createReadStream(filename);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
ctx.strapi.server.routes([
|
|
74
|
-
{
|
|
75
|
-
method: "GET",
|
|
76
|
-
path: `${ctx.adminPath}/:path*`,
|
|
77
|
-
handler: serveAdmin,
|
|
78
|
-
config: { auth: false }
|
|
79
|
-
}
|
|
80
|
-
]);
|
|
81
|
-
devMiddleware.waitUntilValid(() => {
|
|
82
|
-
res({
|
|
83
|
-
async close() {
|
|
84
|
-
await Promise.all([
|
|
85
|
-
node_util.promisify(devMiddleware.close.bind(devMiddleware))(),
|
|
86
|
-
hotMiddleware.close(),
|
|
87
|
-
node_util.promisify(compiler.close.bind(compiler))()
|
|
88
|
-
]);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
exports.watch = watch;
|
|
95
|
-
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 { 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":["config","resolveDevelopmentConfig","mergeConfigWithUserConfig","os","webpack","webpackDevMiddleware","webpackHotMiddleware","ctx","path","promisify"],"mappings":";;;;;;;;;;;;;;AAcM,MAAA,QAAQ,OAAO,QAA+C;AAC5D,QAAAA,WAAS,MAAMC,OAAA,yBAAyB,GAAG;AACjD,QAAM,cAAc,MAAMC,iCAA0BF,UAAQ,GAAG;AAE/D,MAAI,OAAO,MAAM,yBAAyBG,YAAA,QAAG,KAAK,WAAW;AAEtD,SAAA,IAAI,QAAwB,CAAC,QAAQ;AACpC,UAAA,WAAWC,gBAAQ,WAAW;AAE9B,UAAA,gBAAgBC,sCAAqB,QAAQ;AAE7C,UAAA,gBAAgBC,sCAAqB,UAAU;AAAA,MACnD,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAED,QAAI,OAAO,OAAO,IAAI,IAAI,CAACC,MAAK,SAAS;AACvC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,sBAAcA,KAAI,KAAKA,KAAI,KAAK,CAAC,QAAQ;AACnC,cAAA,YAAY,GAAG;AAAA,cACd,SAAQ,MAAM;AAAA,QAAA,CACpB;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAED,QAAI,OAAO,OAAO,IAAI,IAAI,CAAC,SAAS,SAAS;AAE3C,YAAM,QAAQ,IAAI,QAAQ,CAAC,YAAY;AACrC,sBAAc,eAAe,MAAM;AACjC,kBAAQ,IAAI;AAAA,QAAA,CACb;AAAA,MAAA,CACF;AAED,YAAM,OAAO,IAAI,QAAQ,CAAC,YAAY;AACpC;AAAA,UACE,QAAQ;AAAA,UACR;AAAA;AAAA,YAEE,IAAI,SAAS;AAEX,sBAAQ,OAAO;AACf,sBAAQ,IAAI;AAAA,YACd;AAAA,YACA,WAAW,QAAQ,IAAI,KAAK,OAAO;AAAA;AAAA,YAEnC,WAAW,QAAQ,IAAI,KAAK,OAAO;AAAA,YACnC,QAAQ,QAAQ;AAAA,UAClB;AAAA,UACA,MAAM,QAAQ,KAAM,CAAA;AAAA,QACtB;AAAA,MAAA,CACD;AAED,aAAO,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC;AAAA,IAAA,CACjC;AAEK,UAAA,aAAqC,OAAOA,MAAK,SAAS;AAC9D,YAAM,KAAK;AAEP,UAAA,cAAc,QAAQ,iBAAiB,kBAAkB;AAC3D,YAAIA,KAAI,WAAW,UAAUA,KAAI,WAAW,OAAO;AACjD;AAAA,QAAA;AAGF,YAAIA,KAAI,QAAQ,QAAQA,KAAI,WAAW,KAAK;AAC1C;AAAA,QAAA;AAIF,cAAM,WAAWC,cAAAA,QAAK,QAAQ,YAAY,QAAQ,MAAO,YAAY;AACrED,aAAI,OAAO;AACXA,aAAI,OAAO,cAAc,QAAQ,iBAAiB,iBAAiB,QAAQ;AAAA,MAAA;AAAA,IAE/E;AAEI,QAAA,OAAO,OAAO,OAAO;AAAA,MACvB;AAAA,QACE,QAAQ;AAAA,QACR,MAAM,GAAG,IAAI,SAAS;AAAA,QACtB,SAAS;AAAA,QACT,QAAQ,EAAE,MAAM,MAAM;AAAA,MAAA;AAAA,IACxB,CACD;AAED,kBAAc,eAAe,MAAM;AAC7B,UAAA;AAAA,QACF,MAAM,QAAQ;AACZ,gBAAM,QAAQ,IAAI;AAAA,YAChBE,UAAAA,UAAU,cAAc,MAAM,KAAK,aAAa,CAAC,EAAE;AAAA,YACnD,cAAc,MAAM;AAAA,YACpBA,UAAAA,UAAU,SAAS,MAAM,KAAK,QAAQ,CAAC,EAAE;AAAA,UAAA,CAC1C;AAAA,QAAA;AAAA,MACH,CACD;AAAA,IAAA,CACF;AAAA,EAAA,CACF;AACH;;"}
|