@strapi/strapi 5.48.1 → 5.50.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.d.ts +0 -1
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +17 -7
- package/dist/admin.js.map +1 -1
- package/dist/cli/commands/admin/active-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/block-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/create-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
- package/dist/cli/commands/admin/reset-user-password.d.ts.map +1 -1
- package/dist/cli/commands/configuration/dump.d.ts.map +1 -1
- package/dist/cli/commands/configuration/restore.d.ts.map +1 -1
- package/dist/cli/commands/export/action.d.ts.map +1 -1
- package/dist/cli/commands/import/action.d.ts.map +1 -1
- package/dist/cli/commands/openapi/generate.d.ts.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/transfer/action.d.ts.map +1 -1
- package/dist/cli/commands/ts/generate-types.d.ts.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/utils/commander.d.ts.map +1 -1
- package/dist/cli/utils/data-transfer.d.ts +1 -1
- package/dist/cli/utils/data-transfer.d.ts.map +1 -1
- package/dist/cli/utils/helpers.d.ts +0 -1
- package/dist/cli/utils/helpers.d.ts.map +1 -1
- package/dist/cli/utils/logger.d.ts.map +1 -1
- package/dist/cli/utils/pkg.d.ts.map +1 -1
- package/dist/cli/utils/telemetry.d.ts.map +1 -1
- package/dist/cli/utils/try-quick-outdir.d.ts +12 -0
- package/dist/cli/utils/try-quick-outdir.d.ts.map +1 -0
- package/dist/cli/utils/tsconfig.d.ts +1 -1
- package/dist/cli/utils/tsconfig.d.ts.map +1 -1
- package/dist/cli.js +18 -7
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +18 -7
- package/dist/cli.mjs.map +1 -1
- package/dist/load/package-path.d.ts.map +1 -1
- package/dist/node/build.d.ts.map +1 -1
- package/dist/node/core/admin-customisations.d.ts +1 -1
- package/dist/node/core/admin-customisations.d.ts.map +1 -1
- package/dist/node/core/aliases.d.ts.map +1 -1
- package/dist/node/core/config.d.ts.map +1 -1
- package/dist/node/core/dependencies.d.ts.map +1 -1
- package/dist/node/core/ensure-admin-dependencies.d.ts.map +1 -1
- package/dist/node/core/env.d.ts.map +1 -1
- package/dist/node/core/errors.d.ts.map +1 -1
- package/dist/node/core/files.d.ts.map +1 -1
- package/dist/node/core/linked-packages.d.ts.map +1 -1
- package/dist/node/core/plugins.d.ts +4 -4
- package/dist/node/core/plugins.d.ts.map +1 -1
- package/dist/node/core/resolve-module.d.ts.map +1 -1
- package/dist/node/core/timer.d.ts.map +1 -1
- package/dist/node/create-build-context.d.ts +0 -4
- package/dist/node/create-build-context.d.ts.map +1 -1
- package/dist/node/develop.d.ts.map +1 -1
- package/dist/node/staticFiles.d.ts.map +1 -1
- package/dist/node/vite/build.d.ts.map +1 -1
- package/dist/node/vite/config.d.ts.map +1 -1
- package/dist/node/vite/plugins.d.ts.map +1 -1
- package/dist/node/vite/resolve-development-config.test.d.ts +2 -0
- package/dist/node/vite/resolve-development-config.test.d.ts.map +1 -0
- package/dist/node/vite/watch.d.ts.map +1 -1
- package/dist/node/webpack/build.d.ts.map +1 -1
- package/dist/node/webpack/config.d.ts.map +1 -1
- package/dist/node/webpack/watch.d.ts.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/cli/commands/admin/active-user.js +6 -2
- package/dist/src/cli/commands/admin/active-user.js.map +1 -1
- package/dist/src/cli/commands/admin/block-user.js +6 -2
- package/dist/src/cli/commands/admin/block-user.js.map +1 -1
- package/dist/src/cli/commands/admin/create-user.js +5 -1
- package/dist/src/cli/commands/admin/create-user.js.map +1 -1
- package/dist/src/cli/commands/admin/delete-user.js +6 -2
- package/dist/src/cli/commands/admin/delete-user.js.map +1 -1
- package/dist/src/cli/commands/admin/list-users.js +16 -11
- package/dist/src/cli/commands/admin/list-users.js.map +1 -1
- package/dist/src/cli/commands/admin/reset-user-password.js +6 -2
- package/dist/src/cli/commands/admin/reset-user-password.js.map +1 -1
- package/dist/src/cli/commands/components/list.js +7 -2
- package/dist/src/cli/commands/components/list.js.map +1 -1
- package/dist/src/cli/commands/configuration/dump.js +5 -1
- package/dist/src/cli/commands/configuration/dump.js.map +1 -1
- package/dist/src/cli/commands/configuration/restore.js +8 -3
- package/dist/src/cli/commands/configuration/restore.js.map +1 -1
- package/dist/src/cli/commands/console.js +5 -1
- package/dist/src/cli/commands/console.js.map +1 -1
- package/dist/src/cli/commands/content-types/list.js +7 -2
- package/dist/src/cli/commands/content-types/list.js.map +1 -1
- package/dist/src/cli/commands/controllers/list.js +7 -2
- package/dist/src/cli/commands/controllers/list.js.map +1 -1
- package/dist/src/cli/commands/develop.js +5 -1
- package/dist/src/cli/commands/develop.js.map +1 -1
- package/dist/src/cli/commands/export/action.js +11 -5
- package/dist/src/cli/commands/export/action.js.map +1 -1
- package/dist/src/cli/commands/hooks/list.js +7 -2
- package/dist/src/cli/commands/hooks/list.js.map +1 -1
- package/dist/src/cli/commands/import/action.js +7 -2
- package/dist/src/cli/commands/import/action.js.map +1 -1
- package/dist/src/cli/commands/import/command.js +6 -2
- package/dist/src/cli/commands/import/command.js.map +1 -1
- package/dist/src/cli/commands/middlewares/list.js +7 -2
- package/dist/src/cli/commands/middlewares/list.js.map +1 -1
- package/dist/src/cli/commands/openapi/generate.js +17 -11
- package/dist/src/cli/commands/openapi/generate.js.map +1 -1
- package/dist/src/cli/commands/policies/list.js +7 -2
- package/dist/src/cli/commands/policies/list.js.map +1 -1
- package/dist/src/cli/commands/routes/list.js +8 -3
- package/dist/src/cli/commands/routes/list.js.map +1 -1
- package/dist/src/cli/commands/services/list.js +7 -2
- package/dist/src/cli/commands/services/list.js.map +1 -1
- package/dist/src/cli/commands/start.js +27 -6
- package/dist/src/cli/commands/start.js.map +1 -1
- package/dist/src/cli/commands/start.mjs +22 -6
- package/dist/src/cli/commands/start.mjs.map +1 -1
- package/dist/src/cli/commands/telemetry/disable.js +14 -9
- package/dist/src/cli/commands/telemetry/disable.js.map +1 -1
- package/dist/src/cli/commands/telemetry/enable.js +14 -9
- package/dist/src/cli/commands/telemetry/enable.js.map +1 -1
- package/dist/src/cli/commands/transfer/action.js +5 -1
- package/dist/src/cli/commands/transfer/action.js.map +1 -1
- package/dist/src/cli/commands/ts/generate-types.js +7 -4
- package/dist/src/cli/commands/ts/generate-types.js.map +1 -1
- package/dist/src/cli/commands/ts/generate-types.mjs +6 -3
- package/dist/src/cli/commands/ts/generate-types.mjs.map +1 -1
- package/dist/src/cli/utils/commander.js +5 -1
- package/dist/src/cli/utils/commander.js.map +1 -1
- package/dist/src/cli/utils/data-transfer.js +28 -21
- package/dist/src/cli/utils/data-transfer.js.map +1 -1
- package/dist/src/cli/utils/helpers.js +7 -3
- package/dist/src/cli/utils/helpers.js.map +1 -1
- package/dist/src/cli/utils/logger.js +15 -10
- package/dist/src/cli/utils/logger.js.map +1 -1
- package/dist/src/cli/utils/try-quick-outdir.js +80 -0
- package/dist/src/cli/utils/try-quick-outdir.js.map +1 -0
- package/dist/src/cli/utils/try-quick-outdir.mjs +72 -0
- package/dist/src/cli/utils/try-quick-outdir.mjs.map +1 -0
- package/dist/src/cli/utils/tsconfig.js +18 -5
- package/dist/src/cli/utils/tsconfig.js.map +1 -1
- package/dist/src/cli/utils/tsconfig.mjs +13 -4
- package/dist/src/cli/utils/tsconfig.mjs.map +1 -1
- package/dist/src/node/build.js +3 -2
- package/dist/src/node/build.js.map +1 -1
- package/dist/src/node/core/admin-customisations.js +6 -2
- package/dist/src/node/core/admin-customisations.js.map +1 -1
- package/dist/src/node/core/aliases.js +5 -1
- package/dist/src/node/core/aliases.js.map +1 -1
- package/dist/src/node/core/config.js +5 -1
- package/dist/src/node/core/config.js.map +1 -1
- package/dist/src/node/core/dependencies.js +33 -22
- package/dist/src/node/core/dependencies.js.map +1 -1
- package/dist/src/node/core/ensure-admin-dependencies.js +5 -1
- package/dist/src/node/core/ensure-admin-dependencies.js.map +1 -1
- package/dist/src/node/core/env.js +7 -2
- package/dist/src/node/core/env.js.map +1 -1
- package/dist/src/node/core/errors.js +9 -3
- package/dist/src/node/core/errors.js.map +1 -1
- package/dist/src/node/core/files.js +6 -2
- package/dist/src/node/core/files.js.map +1 -1
- package/dist/src/node/core/linked-packages.js +5 -1
- package/dist/src/node/core/linked-packages.js.map +1 -1
- package/dist/src/node/core/monorepo.js +8 -3
- package/dist/src/node/core/monorepo.js.map +1 -1
- package/dist/src/node/core/plugins.js +17 -10
- package/dist/src/node/core/plugins.js.map +1 -1
- package/dist/src/node/core/resolve-module.js +8 -3
- package/dist/src/node/core/resolve-module.js.map +1 -1
- package/dist/src/node/create-build-context.js +16 -9
- package/dist/src/node/create-build-context.js.map +1 -1
- package/dist/src/node/create-build-context.mjs.map +1 -1
- package/dist/src/node/develop.js +14 -8
- package/dist/src/node/develop.js.map +1 -1
- package/dist/src/node/staticFiles.js +11 -5
- package/dist/src/node/staticFiles.js.map +1 -1
- package/dist/src/node/vite/config.js +14 -3
- package/dist/src/node/vite/config.js.map +1 -1
- package/dist/src/node/vite/config.mjs +9 -2
- package/dist/src/node/vite/config.mjs.map +1 -1
- package/dist/src/node/vite/watch.js +7 -62
- package/dist/src/node/vite/watch.js.map +1 -1
- package/dist/src/node/vite/watch.mjs +2 -62
- package/dist/src/node/vite/watch.mjs.map +1 -1
- package/dist/src/node/webpack/build.js +5 -1
- package/dist/src/node/webpack/build.js.map +1 -1
- package/dist/src/node/webpack/config.js +17 -8
- package/dist/src/node/webpack/config.js.map +1 -1
- package/dist/src/node/webpack/watch.js +11 -4
- package/dist/src/node/webpack/watch.js.map +1 -1
- package/dist/test/mocks/inquirer.d.ts +0 -1
- package/dist/test/mocks/inquirer.d.ts.map +1 -1
- package/package.json +24 -25
|
@@ -4,7 +4,10 @@ var chalk = require('chalk');
|
|
|
4
4
|
var ora = require('ora');
|
|
5
5
|
var cliProgress = require('cli-progress');
|
|
6
6
|
|
|
7
|
-
function
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
8
11
|
var n = Object.create(null);
|
|
9
12
|
if (e) {
|
|
10
13
|
Object.keys(e).forEach(function (k) {
|
|
@@ -21,7 +24,9 @@ function _interopNamespaceDefault(e) {
|
|
|
21
24
|
return Object.freeze(n);
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
var
|
|
27
|
+
var chalk__default = /*#__PURE__*/_interopDefault(chalk);
|
|
28
|
+
var ora__default = /*#__PURE__*/_interopDefault(ora);
|
|
29
|
+
var cliProgress__namespace = /*#__PURE__*/_interopNamespace(cliProgress);
|
|
25
30
|
|
|
26
31
|
const silentSpinner = {
|
|
27
32
|
succeed () {
|
|
@@ -64,52 +69,52 @@ const createLogger = (options = {})=>{
|
|
|
64
69
|
if (silent || !debug) {
|
|
65
70
|
return;
|
|
66
71
|
}
|
|
67
|
-
console.log(
|
|
72
|
+
console.log(chalk__default.default.cyan(`[DEBUG]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
68
73
|
},
|
|
69
74
|
info (...args) {
|
|
70
75
|
if (silent) {
|
|
71
76
|
return;
|
|
72
77
|
}
|
|
73
|
-
console.info(
|
|
78
|
+
console.info(chalk__default.default.blue(`[INFO]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
74
79
|
},
|
|
75
80
|
log (...args) {
|
|
76
81
|
if (silent) {
|
|
77
82
|
return;
|
|
78
83
|
}
|
|
79
|
-
console.info(
|
|
84
|
+
console.info(chalk__default.default.blue(`${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
80
85
|
},
|
|
81
86
|
success (...args) {
|
|
82
87
|
if (silent) {
|
|
83
88
|
return;
|
|
84
89
|
}
|
|
85
|
-
console.info(
|
|
90
|
+
console.info(chalk__default.default.green(`[SUCCESS]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
86
91
|
},
|
|
87
92
|
warn (...args) {
|
|
88
93
|
state.warning += 1;
|
|
89
94
|
if (silent) {
|
|
90
95
|
return;
|
|
91
96
|
}
|
|
92
|
-
console.warn(
|
|
97
|
+
console.warn(chalk__default.default.yellow(`[WARN]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
93
98
|
},
|
|
94
99
|
error (...args) {
|
|
95
100
|
state.errors += 1;
|
|
96
101
|
if (silent) {
|
|
97
102
|
return;
|
|
98
103
|
}
|
|
99
|
-
console.error(
|
|
104
|
+
console.error(chalk__default.default.red(`[ERROR]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args);
|
|
100
105
|
},
|
|
101
106
|
spinner (text) {
|
|
102
107
|
if (silent) {
|
|
103
108
|
return silentSpinner;
|
|
104
109
|
}
|
|
105
|
-
return
|
|
110
|
+
return ora__default.default(text);
|
|
106
111
|
},
|
|
107
112
|
progressBar (totalSize, text) {
|
|
108
113
|
if (silent) {
|
|
109
114
|
return silentProgressBar;
|
|
110
115
|
}
|
|
111
116
|
const progressBar = new cliProgress__namespace.SingleBar({
|
|
112
|
-
format: `${text ? `${text} |` : ''}${
|
|
117
|
+
format: `${text ? `${text} |` : ''}${chalk__default.default.green('{bar}')}| {percentage}%`,
|
|
113
118
|
barCompleteChar: '\u2588',
|
|
114
119
|
barIncompleteChar: '\u2591',
|
|
115
120
|
hideCursor: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../../../../src/cli/utils/logger.ts"],"sourcesContent":["import chalk from 'chalk';\nimport ora, { Ora } from 'ora';\nimport * as cliProgress from 'cli-progress';\n\nexport interface LoggerOptions {\n silent?: boolean;\n debug?: boolean;\n timestamp?: boolean;\n}\n\nexport interface Logger {\n warnings: number;\n errors: number;\n debug: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n success: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n log: (...args: unknown[]) => void;\n spinner: (text: string) => Pick<ora.Ora, 'succeed' | 'fail' | 'start' | 'text' | 'isSpinning'>;\n progressBar: (\n totalSize: number,\n text: string\n ) => Pick<cliProgress.SingleBar, 'start' | 'stop' | 'update'>;\n}\n\nconst silentSpinner = {\n succeed() {\n return this;\n },\n fail() {\n return this;\n },\n start() {\n return this;\n },\n text: '',\n isSpinning: false,\n} as Ora;\n\nconst silentProgressBar = {\n start() {\n return this;\n },\n stop() {\n return this;\n },\n update() {\n return this;\n },\n} as unknown as cliProgress.SingleBar;\n\nconst createLogger = (options: LoggerOptions = {}): Logger => {\n const { silent = false, debug = false, timestamp = true } = options;\n\n const state = { errors: 0, warning: 0 };\n\n return {\n get warnings() {\n return state.warning;\n },\n\n get errors() {\n return state.errors;\n },\n\n debug(...args) {\n if (silent || !debug) {\n return;\n }\n\n console.log(\n chalk.cyan(`[DEBUG]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n info(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`[INFO]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n log(...args) {\n if (silent) {\n return;\n }\n\n console.info(chalk.blue(`${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`), ...args);\n },\n\n success(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.green(`[SUCCESS]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n warn(...args) {\n state.warning += 1;\n\n if (silent) {\n return;\n }\n\n console.warn(\n chalk.yellow(`[WARN]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n error(...args) {\n state.errors += 1;\n\n if (silent) {\n return;\n }\n\n console.error(\n chalk.red(`[ERROR]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n spinner(text: string) {\n if (silent) {\n return silentSpinner;\n }\n\n return ora(text);\n },\n\n progressBar(totalSize: number, text: string) {\n if (silent) {\n return silentProgressBar;\n }\n\n const progressBar = new cliProgress.SingleBar({\n format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n forceRedraw: true,\n });\n\n progressBar.start(totalSize, 0);\n\n return progressBar;\n },\n };\n};\n\nexport { createLogger };\n"],"names":["silentSpinner","succeed","fail","start","text","isSpinning","silentProgressBar","stop","update","createLogger","options","silent","debug","timestamp","state","errors","warning","warnings","args","console","log","chalk","cyan","Date","toISOString","info","blue","success","green","warn","yellow","error","red","spinner","ora","progressBar","totalSize","cliProgress","SingleBar","format","barCompleteChar","barIncompleteChar","hideCursor","forceRedraw"],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../../src/cli/utils/logger.ts"],"sourcesContent":["import chalk from 'chalk';\nimport ora, { Ora } from 'ora';\nimport * as cliProgress from 'cli-progress';\n\nexport interface LoggerOptions {\n silent?: boolean;\n debug?: boolean;\n timestamp?: boolean;\n}\n\nexport interface Logger {\n warnings: number;\n errors: number;\n debug: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n success: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n log: (...args: unknown[]) => void;\n spinner: (text: string) => Pick<ora.Ora, 'succeed' | 'fail' | 'start' | 'text' | 'isSpinning'>;\n progressBar: (\n totalSize: number,\n text: string\n ) => Pick<cliProgress.SingleBar, 'start' | 'stop' | 'update'>;\n}\n\nconst silentSpinner = {\n succeed() {\n return this;\n },\n fail() {\n return this;\n },\n start() {\n return this;\n },\n text: '',\n isSpinning: false,\n} as Ora;\n\nconst silentProgressBar = {\n start() {\n return this;\n },\n stop() {\n return this;\n },\n update() {\n return this;\n },\n} as unknown as cliProgress.SingleBar;\n\nconst createLogger = (options: LoggerOptions = {}): Logger => {\n const { silent = false, debug = false, timestamp = true } = options;\n\n const state = { errors: 0, warning: 0 };\n\n return {\n get warnings() {\n return state.warning;\n },\n\n get errors() {\n return state.errors;\n },\n\n debug(...args) {\n if (silent || !debug) {\n return;\n }\n\n console.log(\n chalk.cyan(`[DEBUG]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n info(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`[INFO]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n log(...args) {\n if (silent) {\n return;\n }\n\n console.info(chalk.blue(`${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`), ...args);\n },\n\n success(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.green(`[SUCCESS]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n warn(...args) {\n state.warning += 1;\n\n if (silent) {\n return;\n }\n\n console.warn(\n chalk.yellow(`[WARN]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n error(...args) {\n state.errors += 1;\n\n if (silent) {\n return;\n }\n\n console.error(\n chalk.red(`[ERROR]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args\n );\n },\n\n spinner(text: string) {\n if (silent) {\n return silentSpinner;\n }\n\n return ora(text);\n },\n\n progressBar(totalSize: number, text: string) {\n if (silent) {\n return silentProgressBar;\n }\n\n const progressBar = new cliProgress.SingleBar({\n format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n forceRedraw: true,\n });\n\n progressBar.start(totalSize, 0);\n\n return progressBar;\n },\n };\n};\n\nexport { createLogger };\n"],"names":["silentSpinner","succeed","fail","start","text","isSpinning","silentProgressBar","stop","update","createLogger","options","silent","debug","timestamp","state","errors","warning","warnings","args","console","log","chalk","cyan","Date","toISOString","info","blue","success","green","warn","yellow","error","red","spinner","ora","progressBar","totalSize","cliProgress","SingleBar","format","barCompleteChar","barIncompleteChar","hideCursor","forceRedraw"],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
9
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
10
|
+
|
|
11
|
+
const DEFAULT_OUT_DIR = 'dist';
|
|
12
|
+
/**
|
|
13
|
+
* Strip `//` and `/* *\/` comments from JSON-like text without loading `typescript`.
|
|
14
|
+
*/ const stripJsonComments = (input)=>{
|
|
15
|
+
let result = '';
|
|
16
|
+
let inString = false;
|
|
17
|
+
let stringChar = '';
|
|
18
|
+
let i = 0;
|
|
19
|
+
while(i < input.length){
|
|
20
|
+
const char = input[i];
|
|
21
|
+
const next = input[i + 1];
|
|
22
|
+
if (inString) {
|
|
23
|
+
result += char;
|
|
24
|
+
if (char === '\\') {
|
|
25
|
+
result += input[i + 1] ?? '';
|
|
26
|
+
i += 2;
|
|
27
|
+
} else if (char === stringChar) {
|
|
28
|
+
inString = false;
|
|
29
|
+
i += 1;
|
|
30
|
+
} else {
|
|
31
|
+
i += 1;
|
|
32
|
+
}
|
|
33
|
+
} else if (char === '"' || char === "'") {
|
|
34
|
+
inString = true;
|
|
35
|
+
stringChar = char;
|
|
36
|
+
result += char;
|
|
37
|
+
i += 1;
|
|
38
|
+
} else if (char === '/' && next === '/') {
|
|
39
|
+
while(i < input.length && input[i] !== '\n'){
|
|
40
|
+
i += 1;
|
|
41
|
+
}
|
|
42
|
+
} else if (char === '/' && next === '*') {
|
|
43
|
+
i += 2;
|
|
44
|
+
while(i < input.length && !(input[i] === '*' && input[i + 1] === '/')){
|
|
45
|
+
i += 1;
|
|
46
|
+
}
|
|
47
|
+
i += 2;
|
|
48
|
+
} else {
|
|
49
|
+
result += char;
|
|
50
|
+
i += 1;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Read `compilerOptions.outDir` from tsconfig.json without loading `typescript` or
|
|
57
|
+
* `@strapi/typescript-utils`. Returns null when the file cannot be parsed or when
|
|
58
|
+
* `extends` may define outDir (fall back to resolveOutDir).
|
|
59
|
+
*/ const tryQuickOutDir = (appDir, tsconfigPath)=>{
|
|
60
|
+
let raw;
|
|
61
|
+
try {
|
|
62
|
+
const contents = fs__default.default.readFileSync(tsconfigPath, 'utf8');
|
|
63
|
+
raw = JSON.parse(stripJsonComments(contents));
|
|
64
|
+
} catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
if (!raw || typeof raw !== 'object') {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const config = raw;
|
|
71
|
+
const localOutDir = config.compilerOptions?.outDir;
|
|
72
|
+
if (config.extends && localOutDir === undefined) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return path__default.default.resolve(appDir, localOutDir ?? DEFAULT_OUT_DIR);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.stripJsonComments = stripJsonComments;
|
|
79
|
+
exports.tryQuickOutDir = tryQuickOutDir;
|
|
80
|
+
//# sourceMappingURL=try-quick-outdir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"try-quick-outdir.js","sources":["../../../../src/cli/utils/try-quick-outdir.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nconst DEFAULT_OUT_DIR = 'dist';\n\n/**\n * Strip `//` and `/* *\\/` comments from JSON-like text without loading `typescript`.\n */\nconst stripJsonComments = (input: string): string => {\n let result = '';\n let inString = false;\n let stringChar = '';\n let i = 0;\n\n while (i < input.length) {\n const char = input[i];\n const next = input[i + 1];\n\n if (inString) {\n result += char;\n\n if (char === '\\\\') {\n result += input[i + 1] ?? '';\n i += 2;\n } else if (char === stringChar) {\n inString = false;\n i += 1;\n } else {\n i += 1;\n }\n } else if (char === '\"' || char === \"'\") {\n inString = true;\n stringChar = char;\n result += char;\n i += 1;\n } else if (char === '/' && next === '/') {\n while (i < input.length && input[i] !== '\\n') {\n i += 1;\n }\n } else if (char === '/' && next === '*') {\n i += 2;\n while (i < input.length && !(input[i] === '*' && input[i + 1] === '/')) {\n i += 1;\n }\n i += 2;\n } else {\n result += char;\n i += 1;\n }\n }\n\n return result;\n};\n\n/**\n * Read `compilerOptions.outDir` from tsconfig.json without loading `typescript` or\n * `@strapi/typescript-utils`. Returns null when the file cannot be parsed or when\n * `extends` may define outDir (fall back to resolveOutDir).\n */\nconst tryQuickOutDir = (appDir: string, tsconfigPath: string): string | null => {\n let raw: unknown;\n\n try {\n const contents = fs.readFileSync(tsconfigPath, 'utf8');\n raw = JSON.parse(stripJsonComments(contents));\n } catch {\n return null;\n }\n\n if (!raw || typeof raw !== 'object') {\n return null;\n }\n\n const config = raw as { extends?: string; compilerOptions?: { outDir?: string } };\n const localOutDir = config.compilerOptions?.outDir;\n\n if (config.extends && localOutDir === undefined) {\n return null;\n }\n\n return path.resolve(appDir, localOutDir ?? DEFAULT_OUT_DIR);\n};\n\nexport { tryQuickOutDir, stripJsonComments };\n"],"names":["DEFAULT_OUT_DIR","stripJsonComments","input","result","inString","stringChar","i","length","char","next","tryQuickOutDir","appDir","tsconfigPath","raw","contents","fs","readFileSync","JSON","parse","config","localOutDir","compilerOptions","outDir","extends","undefined","path","resolve"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
const DEFAULT_OUT_DIR = 'dist';
|
|
5
|
+
/**
|
|
6
|
+
* Strip `//` and `/* *\/` comments from JSON-like text without loading `typescript`.
|
|
7
|
+
*/ const stripJsonComments = (input)=>{
|
|
8
|
+
let result = '';
|
|
9
|
+
let inString = false;
|
|
10
|
+
let stringChar = '';
|
|
11
|
+
let i = 0;
|
|
12
|
+
while(i < input.length){
|
|
13
|
+
const char = input[i];
|
|
14
|
+
const next = input[i + 1];
|
|
15
|
+
if (inString) {
|
|
16
|
+
result += char;
|
|
17
|
+
if (char === '\\') {
|
|
18
|
+
result += input[i + 1] ?? '';
|
|
19
|
+
i += 2;
|
|
20
|
+
} else if (char === stringChar) {
|
|
21
|
+
inString = false;
|
|
22
|
+
i += 1;
|
|
23
|
+
} else {
|
|
24
|
+
i += 1;
|
|
25
|
+
}
|
|
26
|
+
} else if (char === '"' || char === "'") {
|
|
27
|
+
inString = true;
|
|
28
|
+
stringChar = char;
|
|
29
|
+
result += char;
|
|
30
|
+
i += 1;
|
|
31
|
+
} else if (char === '/' && next === '/') {
|
|
32
|
+
while(i < input.length && input[i] !== '\n'){
|
|
33
|
+
i += 1;
|
|
34
|
+
}
|
|
35
|
+
} else if (char === '/' && next === '*') {
|
|
36
|
+
i += 2;
|
|
37
|
+
while(i < input.length && !(input[i] === '*' && input[i + 1] === '/')){
|
|
38
|
+
i += 1;
|
|
39
|
+
}
|
|
40
|
+
i += 2;
|
|
41
|
+
} else {
|
|
42
|
+
result += char;
|
|
43
|
+
i += 1;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Read `compilerOptions.outDir` from tsconfig.json without loading `typescript` or
|
|
50
|
+
* `@strapi/typescript-utils`. Returns null when the file cannot be parsed or when
|
|
51
|
+
* `extends` may define outDir (fall back to resolveOutDir).
|
|
52
|
+
*/ const tryQuickOutDir = (appDir, tsconfigPath)=>{
|
|
53
|
+
let raw;
|
|
54
|
+
try {
|
|
55
|
+
const contents = fs.readFileSync(tsconfigPath, 'utf8');
|
|
56
|
+
raw = JSON.parse(stripJsonComments(contents));
|
|
57
|
+
} catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
if (!raw || typeof raw !== 'object') {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const config = raw;
|
|
64
|
+
const localOutDir = config.compilerOptions?.outDir;
|
|
65
|
+
if (config.extends && localOutDir === undefined) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return path.resolve(appDir, localOutDir ?? DEFAULT_OUT_DIR);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { stripJsonComments, tryQuickOutDir };
|
|
72
|
+
//# sourceMappingURL=try-quick-outdir.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"try-quick-outdir.mjs","sources":["../../../../src/cli/utils/try-quick-outdir.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nconst DEFAULT_OUT_DIR = 'dist';\n\n/**\n * Strip `//` and `/* *\\/` comments from JSON-like text without loading `typescript`.\n */\nconst stripJsonComments = (input: string): string => {\n let result = '';\n let inString = false;\n let stringChar = '';\n let i = 0;\n\n while (i < input.length) {\n const char = input[i];\n const next = input[i + 1];\n\n if (inString) {\n result += char;\n\n if (char === '\\\\') {\n result += input[i + 1] ?? '';\n i += 2;\n } else if (char === stringChar) {\n inString = false;\n i += 1;\n } else {\n i += 1;\n }\n } else if (char === '\"' || char === \"'\") {\n inString = true;\n stringChar = char;\n result += char;\n i += 1;\n } else if (char === '/' && next === '/') {\n while (i < input.length && input[i] !== '\\n') {\n i += 1;\n }\n } else if (char === '/' && next === '*') {\n i += 2;\n while (i < input.length && !(input[i] === '*' && input[i + 1] === '/')) {\n i += 1;\n }\n i += 2;\n } else {\n result += char;\n i += 1;\n }\n }\n\n return result;\n};\n\n/**\n * Read `compilerOptions.outDir` from tsconfig.json without loading `typescript` or\n * `@strapi/typescript-utils`. Returns null when the file cannot be parsed or when\n * `extends` may define outDir (fall back to resolveOutDir).\n */\nconst tryQuickOutDir = (appDir: string, tsconfigPath: string): string | null => {\n let raw: unknown;\n\n try {\n const contents = fs.readFileSync(tsconfigPath, 'utf8');\n raw = JSON.parse(stripJsonComments(contents));\n } catch {\n return null;\n }\n\n if (!raw || typeof raw !== 'object') {\n return null;\n }\n\n const config = raw as { extends?: string; compilerOptions?: { outDir?: string } };\n const localOutDir = config.compilerOptions?.outDir;\n\n if (config.extends && localOutDir === undefined) {\n return null;\n }\n\n return path.resolve(appDir, localOutDir ?? DEFAULT_OUT_DIR);\n};\n\nexport { tryQuickOutDir, stripJsonComments };\n"],"names":["DEFAULT_OUT_DIR","stripJsonComments","input","result","inString","stringChar","i","length","char","next","tryQuickOutDir","appDir","tsconfigPath","raw","contents","fs","readFileSync","JSON","parse","config","localOutDir","compilerOptions","outDir","extends","undefined","path","resolve"],"mappings":"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"}
|
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var os = require('os');
|
|
4
|
-
var ts = require('typescript');
|
|
5
4
|
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var os__default = /*#__PURE__*/_interopDefault(os);
|
|
8
|
+
|
|
9
|
+
// Lazy: defer `typescript` (~115 ms) until a CLI command actually loads tsconfig
|
|
10
|
+
let lazyTs;
|
|
11
|
+
const tsLib = ()=>{
|
|
12
|
+
if (!lazyTs) {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
14
|
+
lazyTs = require('typescript');
|
|
15
|
+
}
|
|
16
|
+
return lazyTs;
|
|
17
|
+
};
|
|
6
18
|
/**
|
|
7
19
|
* @description Load a tsconfig.json file and return the parsed config.
|
|
8
20
|
*
|
|
9
21
|
* @internal
|
|
10
22
|
*/ const loadTsConfig = ({ cwd, path, logger })=>{
|
|
11
|
-
const
|
|
23
|
+
const tsApi = tsLib();
|
|
24
|
+
const configPath = tsApi.findConfigFile(cwd, tsApi.sys.fileExists, path);
|
|
12
25
|
if (!configPath) {
|
|
13
26
|
return undefined;
|
|
14
27
|
}
|
|
15
|
-
const configFile =
|
|
16
|
-
const parsedConfig =
|
|
17
|
-
logger.debug(`Loaded user TS config:`,
|
|
28
|
+
const configFile = tsApi.readConfigFile(configPath, tsApi.sys.readFile);
|
|
29
|
+
const parsedConfig = tsApi.parseJsonConfigFileContent(configFile.config, tsApi.sys, cwd);
|
|
30
|
+
logger.debug(`Loaded user TS config:`, os__default.default.EOL, parsedConfig);
|
|
18
31
|
return {
|
|
19
32
|
config: parsedConfig,
|
|
20
33
|
path: configPath
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig.js","sources":["../../../../src/cli/utils/tsconfig.ts"],"sourcesContent":["import os from 'os';\nimport ts from 'typescript';\nimport type { Logger } from './logger';\n\ninterface TsConfig {\n config: ts.ParsedCommandLine;\n path: string;\n}\n\n/**\n * @description Load a tsconfig.json file and return the parsed config.\n *\n * @internal\n */\nconst loadTsConfig = ({\n cwd,\n path,\n logger,\n}: {\n cwd: string;\n path: string;\n logger: Logger;\n}): TsConfig | undefined => {\n const configPath =
|
|
1
|
+
{"version":3,"file":"tsconfig.js","sources":["../../../../src/cli/utils/tsconfig.ts"],"sourcesContent":["import os from 'os';\nimport type ts from 'typescript';\nimport type { Logger } from './logger';\n\n// Lazy: defer `typescript` (~115 ms) until a CLI command actually loads tsconfig\nlet lazyTs: typeof ts | undefined;\nconst tsLib = (): typeof ts => {\n if (!lazyTs) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTs = require('typescript');\n }\n return lazyTs as typeof ts;\n};\n\ninterface TsConfig {\n config: ts.ParsedCommandLine;\n path: string;\n}\n\n/**\n * @description Load a tsconfig.json file and return the parsed config.\n *\n * @internal\n */\nconst loadTsConfig = ({\n cwd,\n path,\n logger,\n}: {\n cwd: string;\n path: string;\n logger: Logger;\n}): TsConfig | undefined => {\n const tsApi = tsLib();\n const configPath = tsApi.findConfigFile(cwd, tsApi.sys.fileExists, path);\n\n if (!configPath) {\n return undefined;\n }\n\n const configFile = tsApi.readConfigFile(configPath, tsApi.sys.readFile);\n\n const parsedConfig = tsApi.parseJsonConfigFileContent(configFile.config, tsApi.sys, cwd);\n\n logger.debug(`Loaded user TS config:`, os.EOL, parsedConfig);\n\n return {\n config: parsedConfig,\n path: configPath,\n };\n};\n\nexport { loadTsConfig };\nexport type { TsConfig };\n"],"names":["lazyTs","tsLib","require","loadTsConfig","cwd","path","logger","tsApi","configPath","findConfigFile","sys","fileExists","undefined","configFile","readConfigFile","readFile","parsedConfig","parseJsonConfigFileContent","config","debug","os","EOL"],"mappings":";;;;;;;;AAIA;AACA,IAAIA,MAAAA;AACJ,MAAMC,KAAAA,GAAQ,IAAA;AACZ,IAAA,IAAI,CAACD,MAAAA,EAAQ;;AAEXA,QAAAA,MAAAA,GAASE,OAAAA,CAAQ,YAAA,CAAA;AACnB,IAAA;IACA,OAAOF,MAAAA;AACT,CAAA;AAOA;;;;IAKA,MAAMG,eAAe,CAAC,EACpBC,GAAG,EACHC,IAAI,EACJC,MAAM,EAKP,GAAA;AACC,IAAA,MAAMC,KAAAA,GAAQN,KAAAA,EAAAA;IACd,MAAMO,UAAAA,GAAaD,MAAME,cAAc,CAACL,KAAKG,KAAAA,CAAMG,GAAG,CAACC,UAAU,EAAEN,IAAAA,CAAAA;AAEnE,IAAA,IAAI,CAACG,UAAAA,EAAY;QACf,OAAOI,SAAAA;AACT,IAAA;IAEA,MAAMC,UAAAA,GAAaN,MAAMO,cAAc,CAACN,YAAYD,KAAAA,CAAMG,GAAG,CAACK,QAAQ,CAAA;IAEtE,MAAMC,YAAAA,GAAeT,MAAMU,0BAA0B,CAACJ,WAAWK,MAAM,EAAEX,KAAAA,CAAMG,GAAG,EAAEN,GAAAA,CAAAA;IAEpFE,MAAAA,CAAOa,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAEC,mBAAAA,CAAGC,GAAG,EAAEL,YAAAA,CAAAA;IAE/C,OAAO;QACLE,MAAAA,EAAQF,YAAAA;QACRX,IAAAA,EAAMG;AACR,KAAA;AACF;;;;"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
|
-
import ts from 'typescript';
|
|
3
2
|
|
|
3
|
+
// Lazy: defer `typescript` (~115 ms) until a CLI command actually loads tsconfig
|
|
4
|
+
let lazyTs;
|
|
5
|
+
const tsLib = ()=>{
|
|
6
|
+
if (!lazyTs) {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
+
lazyTs = require('typescript');
|
|
9
|
+
}
|
|
10
|
+
return lazyTs;
|
|
11
|
+
};
|
|
4
12
|
/**
|
|
5
13
|
* @description Load a tsconfig.json file and return the parsed config.
|
|
6
14
|
*
|
|
7
15
|
* @internal
|
|
8
16
|
*/ const loadTsConfig = ({ cwd, path, logger })=>{
|
|
9
|
-
const
|
|
17
|
+
const tsApi = tsLib();
|
|
18
|
+
const configPath = tsApi.findConfigFile(cwd, tsApi.sys.fileExists, path);
|
|
10
19
|
if (!configPath) {
|
|
11
20
|
return undefined;
|
|
12
21
|
}
|
|
13
|
-
const configFile =
|
|
14
|
-
const parsedConfig =
|
|
22
|
+
const configFile = tsApi.readConfigFile(configPath, tsApi.sys.readFile);
|
|
23
|
+
const parsedConfig = tsApi.parseJsonConfigFileContent(configFile.config, tsApi.sys, cwd);
|
|
15
24
|
logger.debug(`Loaded user TS config:`, os.EOL, parsedConfig);
|
|
16
25
|
return {
|
|
17
26
|
config: parsedConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig.mjs","sources":["../../../../src/cli/utils/tsconfig.ts"],"sourcesContent":["import os from 'os';\nimport ts from 'typescript';\nimport type { Logger } from './logger';\n\ninterface TsConfig {\n config: ts.ParsedCommandLine;\n path: string;\n}\n\n/**\n * @description Load a tsconfig.json file and return the parsed config.\n *\n * @internal\n */\nconst loadTsConfig = ({\n cwd,\n path,\n logger,\n}: {\n cwd: string;\n path: string;\n logger: Logger;\n}): TsConfig | undefined => {\n const configPath =
|
|
1
|
+
{"version":3,"file":"tsconfig.mjs","sources":["../../../../src/cli/utils/tsconfig.ts"],"sourcesContent":["import os from 'os';\nimport type ts from 'typescript';\nimport type { Logger } from './logger';\n\n// Lazy: defer `typescript` (~115 ms) until a CLI command actually loads tsconfig\nlet lazyTs: typeof ts | undefined;\nconst tsLib = (): typeof ts => {\n if (!lazyTs) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTs = require('typescript');\n }\n return lazyTs as typeof ts;\n};\n\ninterface TsConfig {\n config: ts.ParsedCommandLine;\n path: string;\n}\n\n/**\n * @description Load a tsconfig.json file and return the parsed config.\n *\n * @internal\n */\nconst loadTsConfig = ({\n cwd,\n path,\n logger,\n}: {\n cwd: string;\n path: string;\n logger: Logger;\n}): TsConfig | undefined => {\n const tsApi = tsLib();\n const configPath = tsApi.findConfigFile(cwd, tsApi.sys.fileExists, path);\n\n if (!configPath) {\n return undefined;\n }\n\n const configFile = tsApi.readConfigFile(configPath, tsApi.sys.readFile);\n\n const parsedConfig = tsApi.parseJsonConfigFileContent(configFile.config, tsApi.sys, cwd);\n\n logger.debug(`Loaded user TS config:`, os.EOL, parsedConfig);\n\n return {\n config: parsedConfig,\n path: configPath,\n };\n};\n\nexport { loadTsConfig };\nexport type { TsConfig };\n"],"names":["lazyTs","tsLib","require","loadTsConfig","cwd","path","logger","tsApi","configPath","findConfigFile","sys","fileExists","undefined","configFile","readConfigFile","readFile","parsedConfig","parseJsonConfigFileContent","config","debug","os","EOL"],"mappings":";;AAIA;AACA,IAAIA,MAAAA;AACJ,MAAMC,KAAAA,GAAQ,IAAA;AACZ,IAAA,IAAI,CAACD,MAAAA,EAAQ;;AAEXA,QAAAA,MAAAA,GAASE,OAAAA,CAAQ,YAAA,CAAA;AACnB,IAAA;IACA,OAAOF,MAAAA;AACT,CAAA;AAOA;;;;IAKA,MAAMG,eAAe,CAAC,EACpBC,GAAG,EACHC,IAAI,EACJC,MAAM,EAKP,GAAA;AACC,IAAA,MAAMC,KAAAA,GAAQN,KAAAA,EAAAA;IACd,MAAMO,UAAAA,GAAaD,MAAME,cAAc,CAACL,KAAKG,KAAAA,CAAMG,GAAG,CAACC,UAAU,EAAEN,IAAAA,CAAAA;AAEnE,IAAA,IAAI,CAACG,UAAAA,EAAY;QACf,OAAOI,SAAAA;AACT,IAAA;IAEA,MAAMC,UAAAA,GAAaN,MAAMO,cAAc,CAACN,YAAYD,KAAAA,CAAMG,GAAG,CAACK,QAAQ,CAAA;IAEtE,MAAMC,YAAAA,GAAeT,MAAMU,0BAA0B,CAACJ,WAAWK,MAAM,EAAEX,KAAAA,CAAMG,GAAG,EAAEN,GAAAA,CAAAA;IAEpFE,MAAAA,CAAOa,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAEC,EAAAA,CAAGC,GAAG,EAAEL,YAAAA,CAAAA;IAE/C,OAAO;QACLE,MAAAA,EAAQF,YAAAA;QACRX,IAAAA,EAAMG;AACR,KAAA;AACF;;;;"}
|
package/dist/src/node/build.js
CHANGED
|
@@ -6,7 +6,8 @@ var timer = require('./core/timer.js');
|
|
|
6
6
|
var createBuildContext = require('./create-build-context.js');
|
|
7
7
|
var staticFiles = require('./staticFiles.js');
|
|
8
8
|
|
|
9
|
-
function
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
10
11
|
var n = Object.create(null);
|
|
11
12
|
if (e) {
|
|
12
13
|
Object.keys(e).forEach(function (k) {
|
|
@@ -23,7 +24,7 @@ function _interopNamespaceDefault(e) {
|
|
|
23
24
|
return Object.freeze(n);
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
var tsUtils__namespace = /*#__PURE__*/
|
|
27
|
+
var tsUtils__namespace = /*#__PURE__*/_interopNamespace(tsUtils);
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* @example `$ strapi build`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sources":["../../../src/node/build.ts"],"sourcesContent":["import * as tsUtils from '@strapi/typescript-utils';\nimport type { CLIContext } from '../cli/types';\nimport { handleAdminDependencies } from './core/ensure-admin-dependencies';\nimport { getTimer, prettyTime } from './core/timer';\nimport { createBuildContext } from './create-build-context';\nimport { writeStaticClientFiles } from './staticFiles';\n\ninterface BuildOptions extends CLIContext {\n /**\n * Which bundler to use for building.\n *\n * @default webpack\n */\n bundler?: 'webpack' | 'vite';\n /**\n * Minify the output\n *\n * @default true\n */\n minify?: boolean;\n /**\n * Generate sourcemaps – useful for debugging bugs in the admin panel UI.\n */\n sourcemaps?: boolean;\n /**\n * Print stats for build\n */\n stats?: boolean;\n /**\n * Auto-install missing admin dependencies\n *\n * @default false\n */\n installDeps?: boolean;\n}\n\n/**\n * @example `$ strapi build`\n *\n * @description Builds the admin panel of the strapi application.\n */\nconst build = async ({ logger, cwd, tsconfig, installDeps = false, ...options }: BuildOptions) => {\n const timer = getTimer();\n\n const shouldContinue = await handleAdminDependencies({\n cwd,\n logger,\n installIfMissing: installDeps,\n });\n\n if (!shouldContinue) {\n return;\n }\n\n if (tsconfig?.config) {\n timer.start('compilingTS');\n const compilingTsSpinner = logger.spinner(`Compiling TS`).start();\n\n try {\n await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: false } });\n } catch {\n // Match previous compiler behavior (process.exit inside basic.run).\n process.exit(1);\n }\n\n const compilingDuration = timer.end('compilingTS');\n compilingTsSpinner.text = `Compiling TS (${prettyTime(compilingDuration)})`;\n compilingTsSpinner.succeed();\n }\n\n timer.start('createBuildContext');\n const contextSpinner = logger.spinner(`Building build context`).start();\n console.log('');\n\n const ctx = await createBuildContext({\n cwd,\n logger,\n tsconfig,\n options,\n });\n\n const contextDuration = timer.end('createBuildContext');\n contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;\n contextSpinner.succeed();\n\n timer.start('buildAdmin');\n const buildingSpinner = logger.spinner(`Building admin panel`).start();\n console.log('');\n\n try {\n await writeStaticClientFiles(ctx);\n\n if (ctx.bundler === 'webpack') {\n const { build: buildWebpack } = await import('./webpack/build');\n await buildWebpack(ctx);\n } else if (ctx.bundler === 'vite') {\n const { build: buildVite } = await import('./vite/build');\n await buildVite(ctx);\n }\n\n const buildDuration = timer.end('buildAdmin');\n buildingSpinner.text = `Building admin panel (${prettyTime(buildDuration)})`;\n buildingSpinner.succeed();\n } catch (err) {\n buildingSpinner.fail();\n throw err;\n }\n};\n\nexport { build };\nexport type { BuildOptions };\n"],"names":["build","logger","cwd","tsconfig","installDeps","options","timer","getTimer","shouldContinue","handleAdminDependencies","installIfMissing","config","start","compilingTsSpinner","spinner","tsUtils","compile","configOptions","ignoreDiagnostics","process","exit","compilingDuration","end","text","prettyTime","succeed","contextSpinner","console","log","ctx","createBuildContext","contextDuration","buildingSpinner","writeStaticClientFiles","bundler","buildWebpack","buildVite","buildDuration","err","fail"],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.js","sources":["../../../src/node/build.ts"],"sourcesContent":["import * as tsUtils from '@strapi/typescript-utils';\nimport type { CLIContext } from '../cli/types';\nimport { handleAdminDependencies } from './core/ensure-admin-dependencies';\nimport { getTimer, prettyTime } from './core/timer';\nimport { createBuildContext } from './create-build-context';\nimport { writeStaticClientFiles } from './staticFiles';\n\ninterface BuildOptions extends CLIContext {\n /**\n * Which bundler to use for building.\n *\n * @default webpack\n */\n bundler?: 'webpack' | 'vite';\n /**\n * Minify the output\n *\n * @default true\n */\n minify?: boolean;\n /**\n * Generate sourcemaps – useful for debugging bugs in the admin panel UI.\n */\n sourcemaps?: boolean;\n /**\n * Print stats for build\n */\n stats?: boolean;\n /**\n * Auto-install missing admin dependencies\n *\n * @default false\n */\n installDeps?: boolean;\n}\n\n/**\n * @example `$ strapi build`\n *\n * @description Builds the admin panel of the strapi application.\n */\nconst build = async ({ logger, cwd, tsconfig, installDeps = false, ...options }: BuildOptions) => {\n const timer = getTimer();\n\n const shouldContinue = await handleAdminDependencies({\n cwd,\n logger,\n installIfMissing: installDeps,\n });\n\n if (!shouldContinue) {\n return;\n }\n\n if (tsconfig?.config) {\n timer.start('compilingTS');\n const compilingTsSpinner = logger.spinner(`Compiling TS`).start();\n\n try {\n await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: false } });\n } catch {\n // Match previous compiler behavior (process.exit inside basic.run).\n process.exit(1);\n }\n\n const compilingDuration = timer.end('compilingTS');\n compilingTsSpinner.text = `Compiling TS (${prettyTime(compilingDuration)})`;\n compilingTsSpinner.succeed();\n }\n\n timer.start('createBuildContext');\n const contextSpinner = logger.spinner(`Building build context`).start();\n console.log('');\n\n const ctx = await createBuildContext({\n cwd,\n logger,\n tsconfig,\n options,\n });\n\n const contextDuration = timer.end('createBuildContext');\n contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;\n contextSpinner.succeed();\n\n timer.start('buildAdmin');\n const buildingSpinner = logger.spinner(`Building admin panel`).start();\n console.log('');\n\n try {\n await writeStaticClientFiles(ctx);\n\n if (ctx.bundler === 'webpack') {\n const { build: buildWebpack } = await import('./webpack/build');\n await buildWebpack(ctx);\n } else if (ctx.bundler === 'vite') {\n const { build: buildVite } = await import('./vite/build');\n await buildVite(ctx);\n }\n\n const buildDuration = timer.end('buildAdmin');\n buildingSpinner.text = `Building admin panel (${prettyTime(buildDuration)})`;\n buildingSpinner.succeed();\n } catch (err) {\n buildingSpinner.fail();\n throw err;\n }\n};\n\nexport { build };\nexport type { BuildOptions };\n"],"names":["build","logger","cwd","tsconfig","installDeps","options","timer","getTimer","shouldContinue","handleAdminDependencies","installIfMissing","config","start","compilingTsSpinner","spinner","tsUtils","compile","configOptions","ignoreDiagnostics","process","exit","compilingDuration","end","text","prettyTime","succeed","contextSpinner","console","log","ctx","createBuildContext","contextDuration","buildingSpinner","writeStaticClientFiles","bundler","buildWebpack","buildVite","buildDuration","err","fail"],"mappings":"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"}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
var path = require('node:path');
|
|
4
4
|
var files = require('./files.js');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
9
|
+
|
|
6
10
|
const ADMIN_APP_FILES = [
|
|
7
11
|
'app.js',
|
|
8
12
|
'app.mjs',
|
|
@@ -12,11 +16,11 @@ const ADMIN_APP_FILES = [
|
|
|
12
16
|
];
|
|
13
17
|
const loadUserAppFile = async ({ runtimeDir, appDir })=>{
|
|
14
18
|
for (const file of ADMIN_APP_FILES){
|
|
15
|
-
const filePath =
|
|
19
|
+
const filePath = path__default.default.join(appDir, 'src', 'admin', file);
|
|
16
20
|
if (await files.pathExists(filePath)) {
|
|
17
21
|
return {
|
|
18
22
|
path: filePath,
|
|
19
|
-
modulePath: files.convertSystemPathToModulePath(
|
|
23
|
+
modulePath: files.convertSystemPathToModulePath(path__default.default.relative(runtimeDir, filePath))
|
|
20
24
|
};
|
|
21
25
|
}
|
|
22
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-customisations.js","sources":["../../../../src/node/core/admin-customisations.ts"],"sourcesContent":["import path from 'node:path';\nimport { convertSystemPathToModulePath, pathExists } from './files';\nimport type { BaseContext } from '../types';\n\nconst ADMIN_APP_FILES = ['app.js', 'app.mjs', 'app.ts', 'app.jsx', 'app.tsx'];\n\ninterface AdminCustomisations {\n config?: {\n locales?: string[];\n };\n bootstrap?: (...args: any[]) => any;\n}\n\ninterface AppFile {\n /**\n * The system path to the file\n */\n path: string;\n /**\n * The module path to the file i.e. how you would import it\n */\n modulePath: string;\n}\n\nconst loadUserAppFile = async ({\n runtimeDir,\n appDir,\n}: Pick<BaseContext, 'appDir' | 'runtimeDir'>): Promise<AppFile | undefined> => {\n for (const file of ADMIN_APP_FILES) {\n const filePath = path.join(appDir, 'src', 'admin', file);\n\n if (await pathExists(filePath)) {\n return {\n path: filePath,\n modulePath: convertSystemPathToModulePath(path.relative(runtimeDir, filePath)),\n };\n }\n }\n\n return undefined;\n};\n\nexport { loadUserAppFile };\nexport type { AdminCustomisations, AppFile };\n"],"names":["ADMIN_APP_FILES","loadUserAppFile","runtimeDir","appDir","file","filePath","path","join","pathExists","modulePath","convertSystemPathToModulePath","relative","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"file":"admin-customisations.js","sources":["../../../../src/node/core/admin-customisations.ts"],"sourcesContent":["import path from 'node:path';\nimport { convertSystemPathToModulePath, pathExists } from './files';\nimport type { BaseContext } from '../types';\n\nconst ADMIN_APP_FILES = ['app.js', 'app.mjs', 'app.ts', 'app.jsx', 'app.tsx'];\n\ninterface AdminCustomisations {\n config?: {\n locales?: string[];\n };\n bootstrap?: (...args: any[]) => any;\n}\n\ninterface AppFile {\n /**\n * The system path to the file\n */\n path: string;\n /**\n * The module path to the file i.e. how you would import it\n */\n modulePath: string;\n}\n\nconst loadUserAppFile = async ({\n runtimeDir,\n appDir,\n}: Pick<BaseContext, 'appDir' | 'runtimeDir'>): Promise<AppFile | undefined> => {\n for (const file of ADMIN_APP_FILES) {\n const filePath = path.join(appDir, 'src', 'admin', file);\n\n if (await pathExists(filePath)) {\n return {\n path: filePath,\n modulePath: convertSystemPathToModulePath(path.relative(runtimeDir, filePath)),\n };\n }\n }\n\n return undefined;\n};\n\nexport { loadUserAppFile };\nexport type { AdminCustomisations, AppFile };\n"],"names":["ADMIN_APP_FILES","loadUserAppFile","runtimeDir","appDir","file","filePath","path","join","pathExists","modulePath","convertSystemPathToModulePath","relative","undefined"],"mappings":";;;;;;;;;AAIA,MAAMA,eAAAA,GAAkB;AAAC,IAAA,QAAA;AAAU,IAAA,SAAA;AAAW,IAAA,QAAA;AAAU,IAAA,SAAA;AAAW,IAAA;AAAU,CAAA;AAoB7E,MAAMC,kBAAkB,OAAO,EAC7BC,UAAU,EACVC,MAAM,EACqC,GAAA;IAC3C,KAAK,MAAMC,QAAQJ,eAAAA,CAAiB;AAClC,QAAA,MAAMK,WAAWC,qBAAAA,CAAKC,IAAI,CAACJ,MAAAA,EAAQ,OAAO,OAAA,EAASC,IAAAA,CAAAA;QAEnD,IAAI,MAAMI,iBAAWH,QAAAA,CAAAA,EAAW;YAC9B,OAAO;gBACLC,IAAAA,EAAMD,QAAAA;AACNI,gBAAAA,UAAAA,EAAYC,mCAAAA,CAA8BJ,qBAAAA,CAAKK,QAAQ,CAACT,UAAAA,EAAYG,QAAAA,CAAAA;AACtE,aAAA;AACF,QAAA;AACF,IAAA;IAEA,OAAOO,SAAAA;AACT;;;;"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var path = require('node:path');
|
|
4
4
|
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
8
|
+
|
|
5
9
|
/**
|
|
6
10
|
* The path mappings/aliases used by various tools in the monorepo to map imported modules to
|
|
7
11
|
* source files in order to speed up rebuilding and avoid having a separate watcher process to build
|
|
@@ -32,7 +36,7 @@ const getMonorepoAliases = ({ monorepo })=>{
|
|
|
32
36
|
return Object.fromEntries(Object.entries(devAliases).map(([key, modulePath])=>{
|
|
33
37
|
return [
|
|
34
38
|
key,
|
|
35
|
-
|
|
39
|
+
path__default.default.join(monorepo.path, modulePath)
|
|
36
40
|
];
|
|
37
41
|
}));
|
|
38
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aliases.js","sources":["../../../../src/node/core/aliases.ts"],"sourcesContent":["import path from 'node:path';\nimport { StrapiMonorepo } from './monorepo';\n\n/**\n * The path mappings/aliases used by various tools in the monorepo to map imported modules to\n * source files in order to speed up rebuilding and avoid having a separate watcher process to build\n * from `src` to `lib`.\n *\n * This file is currently read by:\n * - Webpack when running the dev server (only when running in this monorepo)\n */\nconst devAliases: Record<string, string> = {\n '@strapi/admin/strapi-admin': './packages/core/admin/admin/src',\n '@strapi/content-releases/strapi-admin': './packages/core/content-releases/admin/src',\n '@strapi/content-manager/strapi-admin': './packages/core/content-manager/admin/src',\n '@strapi/content-type-builder/strapi-admin': './packages/core/content-type-builder/admin/src',\n '@strapi/email/strapi-admin': './packages/core/email/admin/src',\n '@strapi/upload/strapi-admin': './packages/core/upload/admin/src',\n '@strapi/plugin-cloud/strapi-admin': './packages/plugins/cloud/admin/src',\n '@strapi/plugin-color-picker/strapi-admin': './packages/plugins/color-picker/admin/src',\n '@strapi/plugin-documentation/strapi-admin': './packages/plugins/documentation/admin/src',\n '@strapi/plugin-graphql/strapi-admin': './packages/plugins/graphql/admin/src',\n '@strapi/i18n/strapi-admin': './packages/plugins/i18n/admin/src',\n '@strapi/plugin-sentry/strapi-admin': './packages/plugins/sentry/admin/src',\n '@strapi/plugin-users-permissions/strapi-admin': './packages/plugins/users-permissions/admin/src',\n '@strapi/review-workflows/strapi-admin': './packages/core/review-workflows/admin/src',\n};\n\nconst getMonorepoAliases = ({ monorepo }: { monorepo?: StrapiMonorepo }) => {\n if (!monorepo?.path) {\n return {};\n }\n\n return Object.fromEntries(\n Object.entries(devAliases).map(([key, modulePath]) => {\n return [key, path.join(monorepo.path, modulePath)];\n })\n );\n};\n\nexport { getMonorepoAliases };\n"],"names":["devAliases","getMonorepoAliases","monorepo","path","Object","fromEntries","entries","map","key","modulePath","join"],"mappings":"
|
|
1
|
+
{"version":3,"file":"aliases.js","sources":["../../../../src/node/core/aliases.ts"],"sourcesContent":["import path from 'node:path';\nimport { StrapiMonorepo } from './monorepo';\n\n/**\n * The path mappings/aliases used by various tools in the monorepo to map imported modules to\n * source files in order to speed up rebuilding and avoid having a separate watcher process to build\n * from `src` to `lib`.\n *\n * This file is currently read by:\n * - Webpack when running the dev server (only when running in this monorepo)\n */\nconst devAliases: Record<string, string> = {\n '@strapi/admin/strapi-admin': './packages/core/admin/admin/src',\n '@strapi/content-releases/strapi-admin': './packages/core/content-releases/admin/src',\n '@strapi/content-manager/strapi-admin': './packages/core/content-manager/admin/src',\n '@strapi/content-type-builder/strapi-admin': './packages/core/content-type-builder/admin/src',\n '@strapi/email/strapi-admin': './packages/core/email/admin/src',\n '@strapi/upload/strapi-admin': './packages/core/upload/admin/src',\n '@strapi/plugin-cloud/strapi-admin': './packages/plugins/cloud/admin/src',\n '@strapi/plugin-color-picker/strapi-admin': './packages/plugins/color-picker/admin/src',\n '@strapi/plugin-documentation/strapi-admin': './packages/plugins/documentation/admin/src',\n '@strapi/plugin-graphql/strapi-admin': './packages/plugins/graphql/admin/src',\n '@strapi/i18n/strapi-admin': './packages/plugins/i18n/admin/src',\n '@strapi/plugin-sentry/strapi-admin': './packages/plugins/sentry/admin/src',\n '@strapi/plugin-users-permissions/strapi-admin': './packages/plugins/users-permissions/admin/src',\n '@strapi/review-workflows/strapi-admin': './packages/core/review-workflows/admin/src',\n};\n\nconst getMonorepoAliases = ({ monorepo }: { monorepo?: StrapiMonorepo }) => {\n if (!monorepo?.path) {\n return {};\n }\n\n return Object.fromEntries(\n Object.entries(devAliases).map(([key, modulePath]) => {\n return [key, path.join(monorepo.path, modulePath)];\n })\n );\n};\n\nexport { getMonorepoAliases };\n"],"names":["devAliases","getMonorepoAliases","monorepo","path","Object","fromEntries","entries","map","key","modulePath","join"],"mappings":";;;;;;;;AAGA;;;;;;;AAOC,IACD,MAAMA,UAAAA,GAAqC;IACzC,4BAAA,EAA8B,iCAAA;IAC9B,uCAAA,EAAyC,4CAAA;IACzC,sCAAA,EAAwC,2CAAA;IACxC,2CAAA,EAA6C,gDAAA;IAC7C,4BAAA,EAA8B,iCAAA;IAC9B,6BAAA,EAA+B,kCAAA;IAC/B,mCAAA,EAAqC,oCAAA;IACrC,0CAAA,EAA4C,2CAAA;IAC5C,2CAAA,EAA6C,4CAAA;IAC7C,qCAAA,EAAuC,sCAAA;IACvC,2BAAA,EAA6B,mCAAA;IAC7B,oCAAA,EAAsC,qCAAA;IACtC,+CAAA,EAAiD,gDAAA;IACjD,uCAAA,EAAyC;AAC3C,CAAA;AAEA,MAAMC,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAAiC,GAAA;IACrE,IAAI,CAACA,UAAUC,IAAAA,EAAM;AACnB,QAAA,OAAO,EAAC;AACV,IAAA;AAEA,IAAA,OAAOC,MAAAA,CAAOC,WAAW,CACvBD,MAAAA,CAAOE,OAAO,CAACN,UAAAA,CAAAA,CAAYO,GAAG,CAAC,CAAC,CAACC,GAAAA,EAAKC,UAAAA,CAAW,GAAA;QAC/C,OAAO;AAACD,YAAAA,GAAAA;AAAKL,YAAAA,qBAAAA,CAAKO,IAAI,CAACR,QAAAA,CAASC,IAAI,EAAEM,UAAAA;AAAY,SAAA;AACpD,IAAA,CAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -3,9 +3,13 @@
|
|
|
3
3
|
var path = require('node:path');
|
|
4
4
|
var files = require('./files.js');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
9
|
+
|
|
6
10
|
const getUserConfig = async (fileNames, ctx)=>{
|
|
7
11
|
for (const file of fileNames){
|
|
8
|
-
const filePath =
|
|
12
|
+
const filePath = path__default.default.join(ctx.appDir, 'src', 'admin', file);
|
|
9
13
|
const configFile = await files.loadFile(filePath);
|
|
10
14
|
if (configFile) {
|
|
11
15
|
return configFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../../src/node/core/config.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { BuildContext } from '../create-build-context';\nimport { loadFile } from './files';\n\nconst getUserConfig = async <TConfig>(\n fileNames: string[],\n ctx: BuildContext\n): Promise<TConfig | undefined> => {\n for (const file of fileNames) {\n const filePath = path.join(ctx.appDir, 'src', 'admin', file);\n const configFile = await loadFile(filePath);\n\n if (configFile) {\n return configFile;\n }\n }\n\n return undefined;\n};\n\nexport { getUserConfig };\n"],"names":["getUserConfig","fileNames","ctx","file","filePath","path","join","appDir","configFile","loadFile","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../../../../src/node/core/config.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { BuildContext } from '../create-build-context';\nimport { loadFile } from './files';\n\nconst getUserConfig = async <TConfig>(\n fileNames: string[],\n ctx: BuildContext\n): Promise<TConfig | undefined> => {\n for (const file of fileNames) {\n const filePath = path.join(ctx.appDir, 'src', 'admin', file);\n const configFile = await loadFile(filePath);\n\n if (configFile) {\n return configFile;\n }\n }\n\n return undefined;\n};\n\nexport { getUserConfig };\n"],"names":["getUserConfig","fileNames","ctx","file","filePath","path","join","appDir","configFile","loadFile","undefined"],"mappings":";;;;;;;;;AAKA,MAAMA,aAAAA,GAAgB,OACpBC,SAAAA,EACAC,GAAAA,GAAAA;IAEA,KAAK,MAAMC,QAAQF,SAAAA,CAAW;QAC5B,MAAMG,QAAAA,GAAWC,sBAAKC,IAAI,CAACJ,IAAIK,MAAM,EAAE,OAAO,OAAA,EAASJ,IAAAA,CAAAA;QACvD,MAAMK,UAAAA,GAAa,MAAMC,cAAAA,CAASL,QAAAA,CAAAA;AAElC,QAAA,IAAII,UAAAA,EAAY;YACd,OAAOA,UAAAA;AACT,QAAA;AACF,IAAA;IAEA,OAAOE,SAAAA;AACT;;;;"}
|