@strapi/strapi 5.12.1 → 5.12.2
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/cli.js +89 -45
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +90 -42
- package/dist/cli.mjs.map +1 -1
- package/dist/package.json.js +6 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +4 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/src/cli/commands/admin/create-user.js +124 -0
- package/dist/src/cli/commands/admin/create-user.js.map +1 -0
- package/dist/src/cli/commands/admin/create-user.mjs +121 -0
- package/dist/src/cli/commands/admin/create-user.mjs.map +1 -0
- package/dist/src/cli/commands/admin/reset-user-password.js +61 -0
- package/dist/src/cli/commands/admin/reset-user-password.js.map +1 -0
- package/dist/src/cli/commands/admin/reset-user-password.mjs +58 -0
- package/dist/src/cli/commands/admin/reset-user-password.mjs.map +1 -0
- package/dist/src/cli/commands/build.js +29 -0
- package/dist/src/cli/commands/build.js.map +1 -0
- package/dist/src/cli/commands/build.mjs +27 -0
- package/dist/src/cli/commands/build.mjs.map +1 -0
- package/dist/src/cli/commands/components/list.js +32 -0
- package/dist/src/cli/commands/components/list.js.map +1 -0
- package/dist/src/cli/commands/components/list.mjs +29 -0
- package/dist/src/cli/commands/components/list.mjs.map +1 -0
- package/dist/src/cli/commands/configuration/dump.js +53 -0
- package/dist/src/cli/commands/configuration/dump.js.map +1 -0
- package/dist/src/cli/commands/configuration/dump.mjs +50 -0
- package/dist/src/cli/commands/configuration/dump.mjs.map +1 -0
- package/dist/src/cli/commands/configuration/restore.js +173 -0
- package/dist/src/cli/commands/configuration/restore.js.map +1 -0
- package/dist/src/cli/commands/configuration/restore.mjs +170 -0
- package/dist/src/cli/commands/configuration/restore.mjs.map +1 -0
- package/dist/src/cli/commands/console.js +31 -0
- package/dist/src/cli/commands/console.js.map +1 -0
- package/dist/src/cli/commands/console.mjs +28 -0
- package/dist/src/cli/commands/console.mjs.map +1 -0
- package/dist/src/cli/commands/content-types/list.js +32 -0
- package/dist/src/cli/commands/content-types/list.js.map +1 -0
- package/dist/src/cli/commands/content-types/list.mjs +29 -0
- package/dist/src/cli/commands/content-types/list.mjs.map +1 -0
- package/dist/src/cli/commands/controllers/list.js +32 -0
- package/dist/src/cli/commands/controllers/list.js.map +1 -0
- package/dist/src/cli/commands/controllers/list.mjs +29 -0
- package/dist/src/cli/commands/controllers/list.mjs.map +1 -0
- package/dist/src/cli/commands/develop.js +32 -0
- package/dist/src/cli/commands/develop.js.map +1 -0
- package/dist/src/cli/commands/develop.mjs +30 -0
- package/dist/src/cli/commands/develop.mjs.map +1 -0
- package/dist/src/cli/commands/export/action.js +126 -0
- package/dist/src/cli/commands/export/action.js.map +1 -0
- package/dist/src/cli/commands/export/action.mjs +124 -0
- package/dist/src/cli/commands/export/action.mjs.map +1 -0
- package/dist/src/cli/commands/export/command.js +15 -0
- package/dist/src/cli/commands/export/command.js.map +1 -0
- package/dist/src/cli/commands/export/command.mjs +13 -0
- package/dist/src/cli/commands/export/command.mjs.map +1 -0
- package/dist/src/cli/commands/generate.js +18 -0
- package/dist/src/cli/commands/generate.js.map +1 -0
- package/dist/src/cli/commands/generate.mjs +16 -0
- package/dist/src/cli/commands/generate.mjs.map +1 -0
- package/dist/src/cli/commands/hooks/list.js +32 -0
- package/dist/src/cli/commands/hooks/list.js.map +1 -0
- package/dist/src/cli/commands/hooks/list.mjs +29 -0
- package/dist/src/cli/commands/hooks/list.mjs.map +1 -0
- package/dist/src/cli/commands/import/action.js +124 -0
- package/dist/src/cli/commands/import/action.js.map +1 -0
- package/dist/src/cli/commands/import/action.mjs +122 -0
- package/dist/src/cli/commands/import/action.mjs.map +1 -0
- package/dist/src/cli/commands/import/command.js +59 -0
- package/dist/src/cli/commands/import/command.js.map +1 -0
- package/dist/src/cli/commands/import/command.mjs +57 -0
- package/dist/src/cli/commands/import/command.mjs.map +1 -0
- package/dist/src/cli/commands/index.js +64 -0
- package/dist/src/cli/commands/index.js.map +1 -0
- package/dist/src/cli/commands/index.mjs +62 -0
- package/dist/src/cli/commands/index.mjs.map +1 -0
- package/dist/src/cli/commands/middlewares/list.js +32 -0
- package/dist/src/cli/commands/middlewares/list.js.map +1 -0
- package/dist/src/cli/commands/middlewares/list.mjs +29 -0
- package/dist/src/cli/commands/middlewares/list.mjs.map +1 -0
- package/dist/src/cli/commands/policies/list.js +32 -0
- package/dist/src/cli/commands/policies/list.js.map +1 -0
- package/dist/src/cli/commands/policies/list.mjs +29 -0
- package/dist/src/cli/commands/policies/list.mjs.map +1 -0
- package/dist/src/cli/commands/report.js +39 -0
- package/dist/src/cli/commands/report.js.map +1 -0
- package/dist/src/cli/commands/report.mjs +37 -0
- package/dist/src/cli/commands/report.mjs.map +1 -0
- package/dist/src/cli/commands/routes/list.js +40 -0
- package/dist/src/cli/commands/routes/list.js.map +1 -0
- package/dist/src/cli/commands/routes/list.mjs +37 -0
- package/dist/src/cli/commands/routes/list.mjs.map +1 -0
- package/dist/src/cli/commands/services/list.js +32 -0
- package/dist/src/cli/commands/services/list.js.map +1 -0
- package/dist/src/cli/commands/services/list.mjs +29 -0
- package/dist/src/cli/commands/services/list.mjs.map +1 -0
- package/dist/src/cli/commands/start.js +28 -0
- package/dist/src/cli/commands/start.js.map +1 -0
- package/dist/src/cli/commands/start.mjs +26 -0
- package/dist/src/cli/commands/start.mjs.map +1 -0
- package/dist/src/cli/commands/telemetry/disable.js +72 -0
- package/dist/src/cli/commands/telemetry/disable.js.map +1 -0
- package/dist/src/cli/commands/telemetry/disable.mjs +69 -0
- package/dist/src/cli/commands/telemetry/disable.mjs.map +1 -0
- package/dist/src/cli/commands/telemetry/enable.js +88 -0
- package/dist/src/cli/commands/telemetry/enable.js.map +1 -0
- package/dist/src/cli/commands/telemetry/enable.mjs +85 -0
- package/dist/src/cli/commands/telemetry/enable.mjs.map +1 -0
- package/dist/src/cli/commands/templates/generate.js +15 -0
- package/dist/src/cli/commands/templates/generate.js.map +1 -0
- package/dist/src/cli/commands/templates/generate.mjs +13 -0
- package/dist/src/cli/commands/templates/generate.mjs.map +1 -0
- package/dist/src/cli/commands/transfer/action.js +141 -0
- package/dist/src/cli/commands/transfer/action.js.map +1 -0
- package/dist/src/cli/commands/transfer/action.mjs +139 -0
- package/dist/src/cli/commands/transfer/action.mjs.map +1 -0
- package/dist/src/cli/commands/transfer/command.js +61 -0
- package/dist/src/cli/commands/transfer/command.js.map +1 -0
- package/dist/src/cli/commands/transfer/command.mjs +59 -0
- package/dist/src/cli/commands/transfer/command.mjs.map +1 -0
- package/dist/src/cli/commands/ts/generate-types.js +40 -0
- package/dist/src/cli/commands/ts/generate-types.js.map +1 -0
- package/dist/src/cli/commands/ts/generate-types.mjs +37 -0
- package/dist/src/cli/commands/ts/generate-types.mjs.map +1 -0
- package/dist/src/cli/commands/version.js +17 -0
- package/dist/src/cli/commands/version.js.map +1 -0
- package/dist/src/cli/commands/version.mjs +15 -0
- package/dist/src/cli/commands/version.mjs.map +1 -0
- package/dist/src/cli/utils/commander.js +125 -0
- package/dist/src/cli/utils/commander.js.map +1 -0
- package/dist/src/cli/utils/commander.mjs +116 -0
- package/dist/src/cli/utils/commander.mjs.map +1 -0
- package/dist/src/cli/utils/data-transfer.js +378 -0
- package/dist/src/cli/utils/data-transfer.js.map +1 -0
- package/dist/src/cli/utils/data-transfer.mjs +359 -0
- package/dist/src/cli/utils/data-transfer.mjs.map +1 -0
- package/dist/src/cli/utils/helpers.js +114 -0
- package/dist/src/cli/utils/helpers.js.map +1 -0
- package/dist/src/cli/utils/helpers.mjs +107 -0
- package/dist/src/cli/utils/helpers.mjs.map +1 -0
- package/dist/src/cli/utils/logger.js +125 -0
- package/dist/src/cli/utils/logger.js.map +1 -0
- package/dist/src/cli/utils/logger.mjs +104 -0
- package/dist/src/cli/utils/logger.mjs.map +1 -0
- package/dist/src/cli/utils/telemetry.js +27 -0
- package/dist/src/cli/utils/telemetry.js.map +1 -0
- package/dist/src/cli/utils/telemetry.mjs +25 -0
- package/dist/src/cli/utils/telemetry.mjs.map +1 -0
- package/dist/src/cli/utils/tsconfig.js +25 -0
- package/dist/src/cli/utils/tsconfig.js.map +1 -0
- package/dist/src/cli/utils/tsconfig.mjs +23 -0
- package/dist/src/cli/utils/tsconfig.mjs.map +1 -0
- package/dist/src/node/build.js +90 -0
- package/dist/src/node/build.js.map +1 -0
- package/dist/src/node/build.mjs +69 -0
- package/dist/src/node/build.mjs.map +1 -0
- package/dist/src/node/core/admin-customisations.js +27 -0
- package/dist/src/node/core/admin-customisations.js.map +1 -0
- package/dist/src/node/core/admin-customisations.mjs +25 -0
- package/dist/src/node/core/admin-customisations.mjs.map +1 -0
- package/dist/{chunks/aliases-BkD9BImE.js → src/node/core/aliases.js} +3 -42
- package/dist/src/node/core/aliases.js.map +1 -0
- package/dist/{chunks/aliases-CZgVGGH9.mjs → src/node/core/aliases.mjs} +4 -41
- package/dist/src/node/core/aliases.mjs.map +1 -0
- package/dist/src/node/core/config.js +18 -0
- package/dist/src/node/core/config.js.map +1 -0
- package/dist/src/node/core/config.mjs +16 -0
- package/dist/src/node/core/config.mjs.map +1 -0
- package/dist/src/node/core/dependencies.js +186 -0
- package/dist/src/node/core/dependencies.js.map +1 -0
- package/dist/src/node/core/dependencies.mjs +183 -0
- package/dist/src/node/core/dependencies.mjs.map +1 -0
- package/dist/src/node/core/env.js +32 -0
- package/dist/src/node/core/env.js.map +1 -0
- package/dist/src/node/core/env.mjs +29 -0
- package/dist/src/node/core/env.mjs.map +1 -0
- package/dist/src/node/core/errors.js +51 -0
- package/dist/src/node/core/errors.js.map +1 -0
- package/dist/src/node/core/errors.mjs +48 -0
- package/dist/src/node/core/errors.mjs.map +1 -0
- package/dist/src/node/core/files.js +68 -0
- package/dist/src/node/core/files.js.map +1 -0
- package/dist/src/node/core/files.mjs +63 -0
- package/dist/src/node/core/files.mjs.map +1 -0
- package/dist/src/node/core/managers.js +27 -0
- package/dist/src/node/core/managers.js.map +1 -0
- package/dist/src/node/core/managers.mjs +25 -0
- package/dist/src/node/core/managers.mjs.map +1 -0
- package/dist/src/node/core/monorepo.js +30 -0
- package/dist/src/node/core/monorepo.js.map +1 -0
- package/dist/src/node/core/monorepo.mjs +28 -0
- package/dist/src/node/core/monorepo.mjs.map +1 -0
- package/dist/src/node/core/plugins.js +140 -0
- package/dist/src/node/core/plugins.js.map +1 -0
- package/dist/src/node/core/plugins.mjs +137 -0
- package/dist/src/node/core/plugins.mjs.map +1 -0
- package/dist/src/node/core/timer.js +33 -0
- package/dist/src/node/core/timer.js.map +1 -0
- package/dist/src/node/core/timer.mjs +30 -0
- package/dist/src/node/core/timer.mjs.map +1 -0
- package/dist/src/node/create-build-context.js +111 -0
- package/dist/src/node/create-build-context.js.map +1 -0
- package/dist/src/node/create-build-context.mjs +109 -0
- package/dist/src/node/create-build-context.mjs.map +1 -0
- package/dist/src/node/develop.js +312 -0
- package/dist/src/node/develop.js.map +1 -0
- package/dist/src/node/develop.mjs +291 -0
- package/dist/src/node/develop.mjs.map +1 -0
- package/dist/src/node/staticFiles.js +81 -0
- package/dist/src/node/staticFiles.js.map +1 -0
- package/dist/src/node/staticFiles.mjs +78 -0
- package/dist/src/node/staticFiles.mjs.map +1 -0
- package/dist/src/node/vite/build.js +14 -0
- package/dist/src/node/vite/build.js.map +1 -0
- package/dist/src/node/vite/build.mjs +12 -0
- package/dist/src/node/vite/build.mjs.map +1 -0
- package/dist/{chunks/config-D3Y5s3ui.js → src/node/vite/config.js} +12 -50
- package/dist/src/node/vite/config.js.map +1 -0
- package/dist/{chunks/config-BFUn1raM.mjs → src/node/vite/config.mjs} +6 -44
- package/dist/src/node/vite/config.mjs.map +1 -0
- package/dist/src/node/vite/plugins.js +46 -0
- package/dist/src/node/vite/plugins.js.map +1 -0
- package/dist/src/node/vite/plugins.mjs +44 -0
- package/dist/src/node/vite/plugins.mjs.map +1 -0
- package/dist/{chunks/watch-gkyBsmAJ.js → src/node/vite/watch.js} +2 -45
- package/dist/src/node/vite/watch.js.map +1 -0
- package/dist/{chunks/watch-DUnlAAiK.mjs → src/node/vite/watch.mjs} +2 -45
- package/dist/src/node/vite/watch.mjs.map +1 -0
- package/dist/src/node/webpack/build.js +37 -0
- package/dist/src/node/webpack/build.js.map +1 -0
- package/dist/src/node/webpack/build.mjs +35 -0
- package/dist/src/node/webpack/build.mjs.map +1 -0
- package/dist/{chunks/config-Bcu3_xSp.js → src/node/webpack/config.js} +10 -8
- package/dist/src/node/webpack/config.js.map +1 -0
- package/dist/{chunks/config-DKpJU9io.mjs → src/node/webpack/config.mjs} +5 -3
- package/dist/src/node/webpack/config.mjs.map +1 -0
- package/dist/{chunks/watch-CNfkm7Fm.js → src/node/webpack/watch.js} +2 -51
- package/dist/src/node/webpack/watch.js.map +1 -0
- package/dist/{chunks/watch-BEC39t49.mjs → src/node/webpack/watch.mjs} +2 -51
- package/dist/src/node/webpack/watch.mjs.map +1 -0
- package/package.json +22 -22
- package/dist/chunks/aliases-BkD9BImE.js.map +0 -1
- package/dist/chunks/aliases-CZgVGGH9.mjs.map +0 -1
- package/dist/chunks/build-B6f5SABm.js +0 -87
- package/dist/chunks/build-B6f5SABm.js.map +0 -1
- package/dist/chunks/build-BQc6C2UF.mjs +0 -85
- package/dist/chunks/build-BQc6C2UF.mjs.map +0 -1
- package/dist/chunks/build-C4qN5x5L.js +0 -59
- package/dist/chunks/build-C4qN5x5L.js.map +0 -1
- package/dist/chunks/build-D6MP0Rwu.mjs +0 -57
- package/dist/chunks/build-D6MP0Rwu.mjs.map +0 -1
- package/dist/chunks/config-BFUn1raM.mjs.map +0 -1
- package/dist/chunks/config-Bcu3_xSp.js.map +0 -1
- package/dist/chunks/config-D3Y5s3ui.js.map +0 -1
- package/dist/chunks/config-DKpJU9io.mjs.map +0 -1
- package/dist/chunks/index-DGhshfMs.mjs +0 -3160
- package/dist/chunks/index-DGhshfMs.mjs.map +0 -1
- package/dist/chunks/index-DW2NjgW9.js +0 -3185
- package/dist/chunks/index-DW2NjgW9.js.map +0 -1
- package/dist/chunks/watch-BEC39t49.mjs.map +0 -1
- package/dist/chunks/watch-CNfkm7Fm.js.map +0 -1
- package/dist/chunks/watch-DUnlAAiK.mjs.map +0 -1
- package/dist/chunks/watch-gkyBsmAJ.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-BEC39t49.mjs","sources":["../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-CNfkm7Fm.js","sources":["../../src/node/webpack/watch.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport webpackDevMiddleware from 'webpack-dev-middleware';\nimport webpackHotMiddleware from 'webpack-hot-middleware';\nimport { webpack } from 'webpack';\nimport type { Core } from '@strapi/types';\nimport type { BuildContext } from '../create-build-context';\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\ninterface WebpackWatcher {\n close(): Promise<void>;\n}\n\nconst watch = async (ctx: BuildContext): Promise<WebpackWatcher> => {\n const config = await resolveDevelopmentConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n ctx.logger.debug('Final webpack config:', os.EOL, finalConfig);\n\n return new Promise<WebpackWatcher>((res) => {\n const compiler = webpack(finalConfig);\n\n const devMiddleware = webpackDevMiddleware(compiler);\n\n const hotMiddleware = webpackHotMiddleware(compiler, {\n log: false,\n path: '/__webpack_hmr',\n });\n\n ctx.strapi.server.app.use((ctx, next) => {\n return new Promise((resolve, reject) => {\n hotMiddleware(ctx.req, ctx.res, (err) => {\n if (err) reject(err);\n else resolve(next());\n });\n });\n });\n\n ctx.strapi.server.app.use((context, next) => {\n // wait for webpack-dev-middleware to signal that the build is ready\n const ready = new Promise((resolve) => {\n devMiddleware.waitUntilValid(() => {\n resolve(true);\n });\n });\n // tell webpack-dev-middleware to handle the request\n const init = new Promise((resolve) => {\n devMiddleware(\n context.req,\n {\n // @ts-expect-error ignored\n end(content) {\n // eslint-disable-next-line no-param-reassign\n context.body = content;\n resolve(true);\n },\n getHeader: context.get.bind(context),\n // @ts-expect-error ignored\n setHeader: context.set.bind(context),\n locals: context.state,\n },\n () => resolve(next())\n );\n });\n\n return Promise.all([ready, init]);\n });\n\n const serveAdmin: Core.MiddlewareHandler = async (ctx, next) => {\n await next();\n\n if (devMiddleware.context.outputFileSystem.createReadStream) {\n if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {\n return;\n }\n\n if (ctx.body != null || ctx.status !== 404) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n const filename = path.resolve(finalConfig.output?.path!, 'index.html');\n ctx.type = 'html';\n ctx.body = devMiddleware.context.outputFileSystem.createReadStream(filename);\n }\n };\n\n ctx.strapi.server.routes([\n {\n method: 'GET',\n path: `${ctx.adminPath}/:path*`,\n handler: serveAdmin,\n config: { auth: false },\n },\n ]);\n\n devMiddleware.waitUntilValid(() => {\n res({\n async close() {\n await Promise.all([\n promisify(devMiddleware.close.bind(devMiddleware))(),\n hotMiddleware.close(),\n promisify(compiler.close.bind(compiler))(),\n ]);\n },\n });\n });\n });\n};\n\nexport { watch };\nexport type { WebpackWatcher };\n"],"names":["watch","ctx","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","os","EOL","Promise","res","compiler","webpack","devMiddleware","webpackDevMiddleware","hotMiddleware","webpackHotMiddleware","log","path","strapi","server","app","use","next","resolve","reject","req","err","context","ready","waitUntilValid","init","end","content","body","getHeader","get","bind","setHeader","set","locals","state","all","serveAdmin","outputFileSystem","createReadStream","method","status","filename","output","type","routes","adminPath","handler","auth","close","promisify"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAMA,QAAQ,OAAOC,GAAAA,GAAAA;IACnB,MAAMC,QAAAA,GAAS,MAAMC,+BAAyBF,CAAAA,GAAAA,CAAAA;IAC9C,MAAMG,WAAAA,GAAc,MAAMC,gCAAAA,CAA0BH,QAAQD,EAAAA,GAAAA,CAAAA;AAE5DA,IAAAA,GAAAA,CAAIK,MAAM,CAACC,KAAK,CAAC,uBAAyBC,EAAAA,EAAAA,CAAGC,GAAG,EAAEL,WAAAA,CAAAA;IAElD,OAAO,IAAIM,QAAwB,CAACC,GAAAA,GAAAA;AAClC,QAAA,MAAMC,WAAWC,eAAQT,CAAAA,WAAAA,CAAAA;AAEzB,QAAA,MAAMU,gBAAgBC,oBAAqBH,CAAAA,QAAAA,CAAAA;QAE3C,MAAMI,aAAAA,GAAgBC,qBAAqBL,QAAU,EAAA;YACnDM,GAAK,EAAA,KAAA;YACLC,IAAM,EAAA;AACR,SAAA,CAAA;QAEAlB,GAAImB,CAAAA,MAAM,CAACC,MAAM,CAACC,GAAG,CAACC,GAAG,CAAC,CAACtB,GAAKuB,EAAAA,IAAAA,GAAAA;YAC9B,OAAO,IAAId,OAAQ,CAAA,CAACe,OAASC,EAAAA,MAAAA,GAAAA;AAC3BV,gBAAAA,aAAAA,CAAcf,IAAI0B,GAAG,EAAE1B,GAAIU,CAAAA,GAAG,EAAE,CAACiB,GAAAA,GAAAA;AAC/B,oBAAA,IAAIA,KAAKF,MAAOE,CAAAA,GAAAA,CAAAA;yBACXH,OAAQD,CAAAA,IAAAA,EAAAA,CAAAA;AACf,iBAAA,CAAA;AACF,aAAA,CAAA;AACF,SAAA,CAAA;QAEAvB,GAAImB,CAAAA,MAAM,CAACC,MAAM,CAACC,GAAG,CAACC,GAAG,CAAC,CAACM,OAASL,EAAAA,IAAAA,GAAAA;;YAElC,MAAMM,KAAAA,GAAQ,IAAIpB,OAAAA,CAAQ,CAACe,OAAAA,GAAAA;AACzBX,gBAAAA,aAAAA,CAAciB,cAAc,CAAC,IAAA;oBAC3BN,OAAQ,CAAA,IAAA,CAAA;AACV,iBAAA,CAAA;AACF,aAAA,CAAA;;YAEA,MAAMO,IAAAA,GAAO,IAAItB,OAAAA,CAAQ,CAACe,OAAAA,GAAAA;gBACxBX,aACEe,CAAAA,OAAAA,CAAQF,GAAG,EACX;;AAEEM,oBAAAA,GAAAA,CAAAA,CAAIC,OAAO,EAAA;;AAETL,wBAAAA,OAAAA,CAAQM,IAAI,GAAGD,OAAAA;wBACfT,OAAQ,CAAA,IAAA,CAAA;AACV,qBAAA;AACAW,oBAAAA,SAAAA,EAAWP,OAAQQ,CAAAA,GAAG,CAACC,IAAI,CAACT,OAAAA,CAAAA;;AAE5BU,oBAAAA,SAAAA,EAAWV,OAAQW,CAAAA,GAAG,CAACF,IAAI,CAACT,OAAAA,CAAAA;AAC5BY,oBAAAA,MAAAA,EAAQZ,QAAQa;AAClB,iBAAA,EACA,IAAMjB,OAAQD,CAAAA,IAAAA,EAAAA,CAAAA,CAAAA;AAElB,aAAA,CAAA;YAEA,OAAOd,OAAAA,CAAQiC,GAAG,CAAC;AAACb,gBAAAA,KAAAA;AAAOE,gBAAAA;AAAK,aAAA,CAAA;AAClC,SAAA,CAAA;QAEA,MAAMY,UAAAA,GAAqC,OAAO3C,GAAKuB,EAAAA,IAAAA,GAAAA;YACrD,MAAMA,IAAAA,EAAAA;AAEN,YAAA,IAAIV,cAAce,OAAO,CAACgB,gBAAgB,CAACC,gBAAgB,EAAE;AAC3D,gBAAA,IAAI7C,IAAI8C,MAAM,KAAK,UAAU9C,GAAI8C,CAAAA,MAAM,KAAK,KAAO,EAAA;AACjD,oBAAA;AACF;AAEA,gBAAA,IAAI9C,IAAIkC,IAAI,IAAI,QAAQlC,GAAI+C,CAAAA,MAAM,KAAK,GAAK,EAAA;AAC1C,oBAAA;AACF;;AAGA,gBAAA,MAAMC,WAAW9B,IAAKM,CAAAA,OAAO,CAACrB,WAAY8C,CAAAA,MAAM,EAAE/B,IAAO,EAAA,YAAA,CAAA;AACzDlB,gBAAAA,GAAAA,CAAIkD,IAAI,GAAG,MAAA;gBACXlD,GAAIkC,CAAAA,IAAI,GAAGrB,aAAce,CAAAA,OAAO,CAACgB,gBAAgB,CAACC,gBAAgB,CAACG,QAAAA,CAAAA;AACrE;AACF,SAAA;AAEAhD,QAAAA,GAAAA,CAAImB,MAAM,CAACC,MAAM,CAAC+B,MAAM,CAAC;AACvB,YAAA;gBACEL,MAAQ,EAAA,KAAA;AACR5B,gBAAAA,IAAAA,EAAM,CAAC,EAAElB,GAAAA,CAAIoD,SAAS,CAAC,OAAO,CAAC;gBAC/BC,OAASV,EAAAA,UAAAA;gBACT1C,MAAQ,EAAA;oBAAEqD,IAAM,EAAA;AAAM;AACxB;AACD,SAAA,CAAA;AAEDzC,QAAAA,aAAAA,CAAciB,cAAc,CAAC,IAAA;YAC3BpB,GAAI,CAAA;gBACF,MAAM6C,KAAAA,CAAAA,GAAAA;oBACJ,MAAM9C,OAAAA,CAAQiC,GAAG,CAAC;AAChBc,wBAAAA,mBAAAA,CAAU3C,aAAc0C,CAAAA,KAAK,CAAClB,IAAI,CAACxB,aAAAA,CAAAA,CAAAA,EAAAA;AACnCE,wBAAAA,aAAAA,CAAcwC,KAAK,EAAA;AACnBC,wBAAAA,mBAAAA,CAAU7C,QAAS4C,CAAAA,KAAK,CAAClB,IAAI,CAAC1B,QAAAA,CAAAA,CAAAA;AAC/B,qBAAA,CAAA;AACH;AACF,aAAA,CAAA;AACF,SAAA,CAAA;AACF,KAAA,CAAA;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-DUnlAAiK.mjs","sources":["../../src/node/vite/watch.ts"],"sourcesContent":["import path from 'node:path';\nimport http from 'node:http';\nimport fs from 'node:fs/promises';\nimport { Server } from 'node:net';\nimport type { Core } from '@strapi/types';\n\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\nimport type { BuildContext } from '../create-build-context';\n\ninterface ViteWatcher {\n close(): Promise<void>;\n}\n\nconst HMR_DEFAULT_PORT = 5173;\nconst MAX_PORT_ATTEMPTS = 30;\n\nconst findAvailablePort = (\n startingPort: number,\n attemptsLeft = MAX_PORT_ATTEMPTS\n): Promise<number> => {\n return new Promise((resolve, reject) => {\n if (attemptsLeft <= 0) {\n reject(new Error(`No available ports found after ${MAX_PORT_ATTEMPTS} attempts.`));\n return;\n }\n\n const server = new Server();\n server.listen(startingPort, () => {\n const { port } = server.address() as { port: number };\n server.close(() => resolve(port));\n });\n\n server.on('error', (err: any) => {\n if (err.code === 'EADDRINUSE') {\n resolve(findAvailablePort(startingPort + 1, attemptsLeft - 1));\n } else {\n reject(err);\n }\n });\n });\n};\n\nconst createHMRServer = () => {\n return http.createServer(\n // http server request handler. keeps the same with\n // https://github.com/websockets/ws/blob/45e17acea791d865df6b255a55182e9c42e5877a/lib/websocket-server.js#L88-L96\n (_, res) => {\n const body = http.STATUS_CODES[426]; // Upgrade Required\n\n res.writeHead(426, {\n 'Content-Length': body?.length ?? 0,\n 'Content-Type': 'text/plain',\n });\n\n res.end(body);\n }\n );\n};\n\nconst watch = async (ctx: BuildContext): Promise<ViteWatcher> => {\n const hmrServer = createHMRServer();\n\n // Allowing Vite to find an available port doesn't work, so we'll find an available port manually\n // and use that. There is therefore a very slight race condition if you start up two servers at the same time\n // one might fail, or it might start up but listen on the wrong port.\n const availablePort = await findAvailablePort(HMR_DEFAULT_PORT);\n ctx.options.hmrServer = hmrServer;\n ctx.options.hmrClientPort = availablePort;\n\n const config = await resolveDevelopmentConfig(ctx);\n\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n const hmrConfig = config.server?.hmr;\n\n // If the server used for Vite hmr is the one we've created (<> no user override)\n if (typeof hmrConfig === 'object' && hmrConfig.server === hmrServer) {\n // Only restart the hmr server when Strapi's server is listening\n strapi.server.httpServer.on('listening', async () => {\n hmrServer.listen(availablePort);\n });\n }\n\n ctx.logger.debug('Vite config', finalConfig);\n\n const { createServer } = await import('vite');\n\n const vite = await createServer(finalConfig);\n\n const viteMiddlewares: Core.MiddlewareHandler = (koaCtx, next) => {\n return new Promise((resolve, reject) => {\n const prefix = ctx.basePath.replace(ctx.adminPath, '').replace(/\\/+$/, '');\n\n const originalPath = koaCtx.path;\n if (!koaCtx.path.startsWith(prefix)) {\n koaCtx.path = `${prefix}${koaCtx.path}`;\n }\n\n vite.middlewares(koaCtx.req, koaCtx.res, (err: unknown) => {\n if (err) {\n reject(err);\n } else {\n if (!koaCtx.res.headersSent) {\n koaCtx.path = originalPath;\n }\n\n resolve(next());\n }\n });\n });\n };\n\n const serveAdmin: Core.MiddlewareHandler = async (koaCtx, next) => {\n await next();\n\n if (koaCtx.method !== 'HEAD' && koaCtx.method !== 'GET') {\n return;\n }\n\n if (koaCtx.body != null || koaCtx.status !== 404) {\n return;\n }\n\n const url = koaCtx.originalUrl;\n\n let template = await fs.readFile(path.relative(ctx.cwd, '.strapi/client/index.html'), 'utf-8');\n template = await vite.transformIndexHtml(url, template);\n\n koaCtx.type = 'html';\n koaCtx.body = template;\n };\n\n const adminRoute = `${ctx.adminPath}/:path*`;\n\n ctx.strapi.server.router.get(adminRoute, serveAdmin);\n ctx.strapi.server.router.use(adminRoute, viteMiddlewares);\n\n return {\n async close() {\n await vite.close();\n\n if (hmrServer.listening) {\n // Manually close the hmr server\n // /!\\ This operation MUST be done after calling .close() on the vite\n // instance to avoid flaky behaviors with attached clients\n await new Promise<void>((resolve, reject) => {\n hmrServer.close((err) => (err ? reject(err) : resolve()));\n });\n }\n },\n };\n};\n\nexport { watch };\nexport type { ViteWatcher };\n"],"names":["HMR_DEFAULT_PORT","MAX_PORT_ATTEMPTS","findAvailablePort","startingPort","attemptsLeft","Promise","resolve","reject","Error","server","Server","listen","port","address","close","on","err","code","createHMRServer","http","createServer","_","res","body","STATUS_CODES","writeHead","length","end","watch","ctx","hmrServer","availablePort","options","hmrClientPort","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","hmrConfig","hmr","strapi","httpServer","logger","debug","vite","viteMiddlewares","koaCtx","next","prefix","basePath","replace","adminPath","originalPath","path","startsWith","middlewares","req","headersSent","serveAdmin","method","status","url","originalUrl","template","fs","readFile","relative","cwd","transformIndexHtml","type","adminRoute","router","get","use","listening"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-gkyBsmAJ.js","sources":["../../src/node/vite/watch.ts"],"sourcesContent":["import path from 'node:path';\nimport http from 'node:http';\nimport fs from 'node:fs/promises';\nimport { Server } from 'node:net';\nimport type { Core } from '@strapi/types';\n\nimport { mergeConfigWithUserConfig, resolveDevelopmentConfig } from './config';\n\nimport type { BuildContext } from '../create-build-context';\n\ninterface ViteWatcher {\n close(): Promise<void>;\n}\n\nconst HMR_DEFAULT_PORT = 5173;\nconst MAX_PORT_ATTEMPTS = 30;\n\nconst findAvailablePort = (\n startingPort: number,\n attemptsLeft = MAX_PORT_ATTEMPTS\n): Promise<number> => {\n return new Promise((resolve, reject) => {\n if (attemptsLeft <= 0) {\n reject(new Error(`No available ports found after ${MAX_PORT_ATTEMPTS} attempts.`));\n return;\n }\n\n const server = new Server();\n server.listen(startingPort, () => {\n const { port } = server.address() as { port: number };\n server.close(() => resolve(port));\n });\n\n server.on('error', (err: any) => {\n if (err.code === 'EADDRINUSE') {\n resolve(findAvailablePort(startingPort + 1, attemptsLeft - 1));\n } else {\n reject(err);\n }\n });\n });\n};\n\nconst createHMRServer = () => {\n return http.createServer(\n // http server request handler. keeps the same with\n // https://github.com/websockets/ws/blob/45e17acea791d865df6b255a55182e9c42e5877a/lib/websocket-server.js#L88-L96\n (_, res) => {\n const body = http.STATUS_CODES[426]; // Upgrade Required\n\n res.writeHead(426, {\n 'Content-Length': body?.length ?? 0,\n 'Content-Type': 'text/plain',\n });\n\n res.end(body);\n }\n );\n};\n\nconst watch = async (ctx: BuildContext): Promise<ViteWatcher> => {\n const hmrServer = createHMRServer();\n\n // Allowing Vite to find an available port doesn't work, so we'll find an available port manually\n // and use that. There is therefore a very slight race condition if you start up two servers at the same time\n // one might fail, or it might start up but listen on the wrong port.\n const availablePort = await findAvailablePort(HMR_DEFAULT_PORT);\n ctx.options.hmrServer = hmrServer;\n ctx.options.hmrClientPort = availablePort;\n\n const config = await resolveDevelopmentConfig(ctx);\n\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n const hmrConfig = config.server?.hmr;\n\n // If the server used for Vite hmr is the one we've created (<> no user override)\n if (typeof hmrConfig === 'object' && hmrConfig.server === hmrServer) {\n // Only restart the hmr server when Strapi's server is listening\n strapi.server.httpServer.on('listening', async () => {\n hmrServer.listen(availablePort);\n });\n }\n\n ctx.logger.debug('Vite config', finalConfig);\n\n const { createServer } = await import('vite');\n\n const vite = await createServer(finalConfig);\n\n const viteMiddlewares: Core.MiddlewareHandler = (koaCtx, next) => {\n return new Promise((resolve, reject) => {\n const prefix = ctx.basePath.replace(ctx.adminPath, '').replace(/\\/+$/, '');\n\n const originalPath = koaCtx.path;\n if (!koaCtx.path.startsWith(prefix)) {\n koaCtx.path = `${prefix}${koaCtx.path}`;\n }\n\n vite.middlewares(koaCtx.req, koaCtx.res, (err: unknown) => {\n if (err) {\n reject(err);\n } else {\n if (!koaCtx.res.headersSent) {\n koaCtx.path = originalPath;\n }\n\n resolve(next());\n }\n });\n });\n };\n\n const serveAdmin: Core.MiddlewareHandler = async (koaCtx, next) => {\n await next();\n\n if (koaCtx.method !== 'HEAD' && koaCtx.method !== 'GET') {\n return;\n }\n\n if (koaCtx.body != null || koaCtx.status !== 404) {\n return;\n }\n\n const url = koaCtx.originalUrl;\n\n let template = await fs.readFile(path.relative(ctx.cwd, '.strapi/client/index.html'), 'utf-8');\n template = await vite.transformIndexHtml(url, template);\n\n koaCtx.type = 'html';\n koaCtx.body = template;\n };\n\n const adminRoute = `${ctx.adminPath}/:path*`;\n\n ctx.strapi.server.router.get(adminRoute, serveAdmin);\n ctx.strapi.server.router.use(adminRoute, viteMiddlewares);\n\n return {\n async close() {\n await vite.close();\n\n if (hmrServer.listening) {\n // Manually close the hmr server\n // /!\\ This operation MUST be done after calling .close() on the vite\n // instance to avoid flaky behaviors with attached clients\n await new Promise<void>((resolve, reject) => {\n hmrServer.close((err) => (err ? reject(err) : resolve()));\n });\n }\n },\n };\n};\n\nexport { watch };\nexport type { ViteWatcher };\n"],"names":["HMR_DEFAULT_PORT","MAX_PORT_ATTEMPTS","findAvailablePort","startingPort","attemptsLeft","Promise","resolve","reject","Error","server","Server","listen","port","address","close","on","err","code","createHMRServer","http","createServer","_","res","body","STATUS_CODES","writeHead","length","end","watch","ctx","hmrServer","availablePort","options","hmrClientPort","config","resolveDevelopmentConfig","finalConfig","mergeConfigWithUserConfig","hmrConfig","hmr","strapi","httpServer","logger","debug","vite","viteMiddlewares","koaCtx","next","prefix","basePath","replace","adminPath","originalPath","path","startsWith","middlewares","req","headersSent","serveAdmin","method","status","url","originalUrl","template","fs","readFile","relative","cwd","transformIndexHtml","type","adminRoute","router","get","use","listening"],"mappings":"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"}
|