@strapi/strapi 5.25.0 → 5.27.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/node/core/env.d.ts +2 -0
- package/dist/node/core/env.d.ts.map +1 -1
- package/dist/node/create-build-context.d.ts.map +1 -1
- package/dist/node/vite/config.d.ts.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/node/core/env.js.map +1 -1
- package/dist/src/node/core/env.mjs.map +1 -1
- package/dist/src/node/create-build-context.js +2 -0
- package/dist/src/node/create-build-context.js.map +1 -1
- package/dist/src/node/create-build-context.mjs +2 -0
- package/dist/src/node/create-build-context.mjs.map +1 -1
- package/dist/src/node/vite/config.js +2 -1
- package/dist/src/node/vite/config.js.map +1 -1
- package/dist/src/node/vite/config.mjs +2 -1
- package/dist/src/node/vite/config.mjs.map +1 -1
- package/package.json +22 -22
package/dist/node/core/env.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/node/core/env.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAe,MAAM,kBAMjC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,eAAgB,UAAU,KAAG,OAAO,MAAM,EAAE,MAAM,CAW5E,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/node/core/env.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAe,MAAM,kBAMjC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,eAAgB,UAAU,KAAG,OAAO,MAAM,EAAE,MAAM,CAW5E,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,8EAMrB,uBAAuB,QAAQ,CAAC,KAAG,QAAQ,aAAa,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"create-build-context.d.ts","sourceRoot":"","sources":["../../src/node/create-build-context.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,UAAU,EAA+C,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAmB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC5D;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD;;OAEG;IACH,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,UAAU,sBAAsB,CAAC,QAAQ,GAAG,OAAO,CAAE,SAAQ,UAAU;IACrE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AASD,QAAA,MAAM,kBAAkB,8EAMrB,uBAAuB,QAAQ,CAAC,KAAG,QAAQ,aAAa,QAAQ,CAAC,CA4GnE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAsG5D,QAAA,MAAM,uBAAuB,QAAe,YAAY,KAAG,QAAQ,YAAY,CAuB9E,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAe,YAAY,KAAG,QAAQ,YAAY,CA0B/E,CAAC;AAMF,QAAA,MAAM,yBAAyB,WAAkB,YAAY,OAAO,YAAY,wBAQ/E,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
|
package/dist/package.json.js
CHANGED
package/dist/package.json.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sources":["../../../../src/node/core/env.ts"],"sourcesContent":["import path from 'node:path';\nimport dotenv from 'dotenv';\nimport { pathExists } from './files';\n\n/**\n * This is the base of _any_ env set for a strapi project,\n * to build a strapi admin panel we require these env variables.\n */\ninterface DefaultEnv {\n ADMIN_PATH: string;\n STRAPI_ADMIN_BACKEND_URL: string;\n STRAPI_TELEMETRY_DISABLED: string;\n STRAPI_ANALYTICS_URL?: string;\n}\n\n/**\n * @internal\n *\n * @description Load the .env file if it exists\n */\nconst loadEnv = async (cwd: string) => {\n const pathToEnv = path.resolve(cwd, '.env');\n\n if (await pathExists(pathToEnv)) {\n dotenv.config({ path: pathToEnv });\n }\n};\n\n/**\n * @internal\n *\n * @description Get all the environment variables that start with `STRAPI_ADMIN_`\n */\nconst getStrapiAdminEnvVars = (defaultEnv: DefaultEnv): Record<string, string> => {\n return Object.keys(process.env)\n .filter((key) => key.toUpperCase().startsWith('STRAPI_ADMIN_'))\n .reduce(\n (acc, key) => {\n acc[key] = process.env[key] as string;\n\n return acc;\n },\n defaultEnv as unknown as Record<string, string>\n );\n};\n\nexport { getStrapiAdminEnvVars, loadEnv };\n"],"names":["loadEnv","cwd","pathToEnv","path","resolve","pathExists","dotenv","config","getStrapiAdminEnvVars","defaultEnv","Object","keys","process","env","filter","key","toUpperCase","startsWith","reduce","acc"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"env.js","sources":["../../../../src/node/core/env.ts"],"sourcesContent":["import path from 'node:path';\nimport dotenv from 'dotenv';\nimport { pathExists } from './files';\n\n/**\n * This is the base of _any_ env set for a strapi project,\n * to build a strapi admin panel we require these env variables.\n */\ninterface DefaultEnv {\n ADMIN_PATH: string;\n STRAPI_ADMIN_BACKEND_URL: string;\n STRAPI_TELEMETRY_DISABLED: string;\n STRAPI_AI_URL: string;\n STRAPI_ADMIN_AI_API_KEY?: string;\n STRAPI_ANALYTICS_URL?: string;\n}\n\n/**\n * @internal\n *\n * @description Load the .env file if it exists\n */\nconst loadEnv = async (cwd: string) => {\n const pathToEnv = path.resolve(cwd, '.env');\n\n if (await pathExists(pathToEnv)) {\n dotenv.config({ path: pathToEnv });\n }\n};\n\n/**\n * @internal\n *\n * @description Get all the environment variables that start with `STRAPI_ADMIN_`\n */\nconst getStrapiAdminEnvVars = (defaultEnv: DefaultEnv): Record<string, string> => {\n return Object.keys(process.env)\n .filter((key) => key.toUpperCase().startsWith('STRAPI_ADMIN_'))\n .reduce(\n (acc, key) => {\n acc[key] = process.env[key] as string;\n\n return acc;\n },\n defaultEnv as unknown as Record<string, string>\n );\n};\n\nexport { getStrapiAdminEnvVars, loadEnv };\n"],"names":["loadEnv","cwd","pathToEnv","path","resolve","pathExists","dotenv","config","getStrapiAdminEnvVars","defaultEnv","Object","keys","process","env","filter","key","toUpperCase","startsWith","reduce","acc"],"mappings":";;;;;;AAiBA;;;;IAKA,MAAMA,UAAU,OAAOC,GAAAA,GAAAA;AACrB,IAAA,MAAMC,SAAYC,GAAAA,IAAAA,CAAKC,OAAO,CAACH,GAAK,EAAA,MAAA,CAAA;IAEpC,IAAI,MAAMI,iBAAWH,SAAY,CAAA,EAAA;AAC/BI,QAAAA,MAAAA,CAAOC,MAAM,CAAC;YAAEJ,IAAMD,EAAAA;AAAU,SAAA,CAAA;AAClC;AACF;AAEA;;;;IAKA,MAAMM,wBAAwB,CAACC,UAAAA,GAAAA;AAC7B,IAAA,OAAOC,OAAOC,IAAI,CAACC,QAAQC,GAAG,CAAA,CAC3BC,MAAM,CAAC,CAACC,MAAQA,GAAIC,CAAAA,WAAW,GAAGC,UAAU,CAAC,kBAC7CC,MAAM,CACL,CAACC,GAAKJ,EAAAA,GAAAA,GAAAA;AACJI,QAAAA,GAAG,CAACJ,GAAI,CAAA,GAAGH,OAAQC,CAAAA,GAAG,CAACE,GAAI,CAAA;QAE3B,OAAOI,GAAAA;KAETV,EAAAA,UAAAA,CAAAA;AAEN;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.mjs","sources":["../../../../src/node/core/env.ts"],"sourcesContent":["import path from 'node:path';\nimport dotenv from 'dotenv';\nimport { pathExists } from './files';\n\n/**\n * This is the base of _any_ env set for a strapi project,\n * to build a strapi admin panel we require these env variables.\n */\ninterface DefaultEnv {\n ADMIN_PATH: string;\n STRAPI_ADMIN_BACKEND_URL: string;\n STRAPI_TELEMETRY_DISABLED: string;\n STRAPI_ANALYTICS_URL?: string;\n}\n\n/**\n * @internal\n *\n * @description Load the .env file if it exists\n */\nconst loadEnv = async (cwd: string) => {\n const pathToEnv = path.resolve(cwd, '.env');\n\n if (await pathExists(pathToEnv)) {\n dotenv.config({ path: pathToEnv });\n }\n};\n\n/**\n * @internal\n *\n * @description Get all the environment variables that start with `STRAPI_ADMIN_`\n */\nconst getStrapiAdminEnvVars = (defaultEnv: DefaultEnv): Record<string, string> => {\n return Object.keys(process.env)\n .filter((key) => key.toUpperCase().startsWith('STRAPI_ADMIN_'))\n .reduce(\n (acc, key) => {\n acc[key] = process.env[key] as string;\n\n return acc;\n },\n defaultEnv as unknown as Record<string, string>\n );\n};\n\nexport { getStrapiAdminEnvVars, loadEnv };\n"],"names":["loadEnv","cwd","pathToEnv","path","resolve","pathExists","dotenv","config","getStrapiAdminEnvVars","defaultEnv","Object","keys","process","env","filter","key","toUpperCase","startsWith","reduce","acc"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"env.mjs","sources":["../../../../src/node/core/env.ts"],"sourcesContent":["import path from 'node:path';\nimport dotenv from 'dotenv';\nimport { pathExists } from './files';\n\n/**\n * This is the base of _any_ env set for a strapi project,\n * to build a strapi admin panel we require these env variables.\n */\ninterface DefaultEnv {\n ADMIN_PATH: string;\n STRAPI_ADMIN_BACKEND_URL: string;\n STRAPI_TELEMETRY_DISABLED: string;\n STRAPI_AI_URL: string;\n STRAPI_ADMIN_AI_API_KEY?: string;\n STRAPI_ANALYTICS_URL?: string;\n}\n\n/**\n * @internal\n *\n * @description Load the .env file if it exists\n */\nconst loadEnv = async (cwd: string) => {\n const pathToEnv = path.resolve(cwd, '.env');\n\n if (await pathExists(pathToEnv)) {\n dotenv.config({ path: pathToEnv });\n }\n};\n\n/**\n * @internal\n *\n * @description Get all the environment variables that start with `STRAPI_ADMIN_`\n */\nconst getStrapiAdminEnvVars = (defaultEnv: DefaultEnv): Record<string, string> => {\n return Object.keys(process.env)\n .filter((key) => key.toUpperCase().startsWith('STRAPI_ADMIN_'))\n .reduce(\n (acc, key) => {\n acc[key] = process.env[key] as string;\n\n return acc;\n },\n defaultEnv as unknown as Record<string, string>\n );\n};\n\nexport { getStrapiAdminEnvVars, loadEnv };\n"],"names":["loadEnv","cwd","pathToEnv","path","resolve","pathExists","dotenv","config","getStrapiAdminEnvVars","defaultEnv","Object","keys","process","env","filter","key","toUpperCase","startsWith","reduce","acc"],"mappings":";;;;AAiBA;;;;IAKA,MAAMA,UAAU,OAAOC,GAAAA,GAAAA;AACrB,IAAA,MAAMC,SAAYC,GAAAA,IAAAA,CAAKC,OAAO,CAACH,GAAK,EAAA,MAAA,CAAA;IAEpC,IAAI,MAAMI,WAAWH,SAAY,CAAA,EAAA;AAC/BI,QAAAA,MAAAA,CAAOC,MAAM,CAAC;YAAEJ,IAAMD,EAAAA;AAAU,SAAA,CAAA;AAClC;AACF;AAEA;;;;IAKA,MAAMM,wBAAwB,CAACC,UAAAA,GAAAA;AAC7B,IAAA,OAAOC,OAAOC,IAAI,CAACC,QAAQC,GAAG,CAAA,CAC3BC,MAAM,CAAC,CAACC,MAAQA,GAAIC,CAAAA,WAAW,GAAGC,UAAU,CAAC,kBAC7CC,MAAM,CACL,CAACC,GAAKJ,EAAAA,GAAAA,GAAAA;AACJI,QAAAA,GAAG,CAACJ,GAAI,CAAA,GAAGH,OAAQC,CAAAA,GAAG,CAACE,GAAI,CAAA;QAE3B,OAAOI,GAAAA;KAETV,EAAAA,UAAAA,CAAAA;AAEN;;;;"}
|
|
@@ -41,6 +41,8 @@ const createBuildContext = async ({ cwd, logger, tsconfig, strapi, options = {}
|
|
|
41
41
|
ADMIN_PATH: adminPublicPath,
|
|
42
42
|
STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,
|
|
43
43
|
STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),
|
|
44
|
+
// TODO: Get this url from a utility/consts rather than duplicating it in AIChat constants.ts
|
|
45
|
+
STRAPI_AI_URL: process.env.STRAPI_AI_URL?.replace(/\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io',
|
|
44
46
|
STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'
|
|
45
47
|
});
|
|
46
48
|
const envKeys = Object.keys(env$1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-build-context.js","sources":["../../../src/node/create-build-context.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport fs from 'node:fs/promises';\nimport browserslist from 'browserslist';\nimport { createStrapi } from '@strapi/core';\nimport type { Core, Modules } from '@strapi/types';\nimport type { Server } from 'node:http';\n\nimport type { CLIContext } from '../cli/types';\nimport { getStrapiAdminEnvVars, loadEnv } from './core/env';\n\nimport { PluginMeta, getEnabledPlugins, getMapOfPluginsWithAdmin } from './core/plugins';\nimport { AppFile, loadUserAppFile } from './core/admin-customisations';\nimport type { BaseContext } from './types';\n\ninterface BaseOptions {\n stats?: boolean;\n minify?: boolean;\n sourcemaps?: boolean;\n bundler?: 'webpack' | 'vite';\n open?: boolean;\n hmrServer?: Server;\n hmrClientPort?: number;\n}\n\ninterface BuildContext<TOptions = unknown> extends BaseContext {\n /**\n * The customisations defined by the user in their app.js file\n */\n customisations?: AppFile;\n /**\n * Features object with future flags\n */\n features?: Modules.Features.FeaturesService['config'];\n /**\n * The build options\n */\n options: BaseOptions & TOptions;\n /**\n * The plugins to be included in the JS bundle\n * incl. internal plugins, third party plugins & local plugins\n */\n plugins: PluginMeta[];\n}\n\ninterface CreateBuildContextArgs<TOptions = unknown> extends CLIContext {\n strapi?: Core.Strapi;\n options?: TOptions;\n}\n\nconst DEFAULT_BROWSERSLIST = [\n 'last 3 major versions',\n 'Firefox ESR',\n 'last 2 Opera versions',\n 'not dead',\n];\n\nconst createBuildContext = async <TOptions extends BaseOptions>({\n cwd,\n logger,\n tsconfig,\n strapi,\n options = {} as TOptions,\n}: CreateBuildContextArgs<TOptions>): Promise<BuildContext<TOptions>> => {\n /**\n * If you make a new strapi instance when one already exists,\n * you will overwrite the global and the app will _most likely_\n * crash and die.\n */\n const strapiInstance =\n strapi ??\n createStrapi({\n // Directories\n appDir: cwd,\n distDir: tsconfig?.config.options.outDir ?? '',\n // Options\n autoReload: true,\n serveAdminPanel: false,\n });\n\n const serverAbsoluteUrl = strapiInstance.config.get<string>('server.absoluteUrl');\n const adminAbsoluteUrl = strapiInstance.config.get<string>('admin.absoluteUrl');\n const adminPath = strapiInstance.config.get<string>('admin.path');\n\n // NOTE: Checks that both the server and admin will be served from the same origin (protocol, host, port)\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPublicPath = new URL(adminAbsoluteUrl).pathname;\n const serverPublicPath = new URL(serverAbsoluteUrl).pathname;\n\n const appDir = strapiInstance.dirs.app.root;\n\n await loadEnv(cwd);\n\n const env = getStrapiAdminEnvVars({\n ADMIN_PATH: adminPublicPath,\n STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,\n STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),\n STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io',\n });\n\n const envKeys = Object.keys(env);\n\n if (envKeys.length > 0) {\n logger.info(\n [\n 'Including the following ENV variables as part of the JS bundle:',\n ...envKeys.map((key) => ` - ${key}`),\n ].join(os.EOL)\n );\n }\n\n const distPath = path.join(strapiInstance.dirs.dist.root, 'build');\n const distDir = path.relative(cwd, distPath);\n\n /**\n * If the distPath already exists, clean it\n */\n try {\n logger.debug(`Cleaning dist folder: ${distPath}`);\n await fs.rm(distPath, { recursive: true, force: true });\n logger.debug('Cleaned dist folder');\n } catch {\n // do nothing, it will fail if the folder does not exist\n logger.debug('There was no dist folder to clean');\n }\n\n const runtimeDir = path.join(cwd, '.strapi', 'client');\n const entry = path.relative(cwd, path.join(runtimeDir, 'app.js'));\n\n const plugins = await getEnabledPlugins({ cwd, logger, runtimeDir, strapi: strapiInstance });\n\n logger.debug('Enabled plugins', os.EOL, plugins);\n\n const pluginsWithFront = getMapOfPluginsWithAdmin(plugins);\n\n logger.debug('Enabled plugins with FE', os.EOL, pluginsWithFront);\n\n const target = browserslist.loadConfig({ path: cwd }) ?? DEFAULT_BROWSERSLIST;\n\n const customisations = await loadUserAppFile({ appDir, runtimeDir });\n\n const features = strapiInstance.config.get('features', undefined);\n\n const { bundler = 'vite', ...restOptions } = options;\n\n const buildContext = {\n appDir,\n adminPath,\n basePath: adminPublicPath,\n bundler,\n customisations,\n cwd,\n distDir,\n distPath,\n entry,\n env,\n features,\n logger,\n options: restOptions as BaseOptions & TOptions,\n plugins: pluginsWithFront,\n runtimeDir,\n strapi: strapiInstance,\n target,\n tsconfig,\n } satisfies BuildContext<TOptions>;\n\n return buildContext;\n};\n\nexport { createBuildContext };\nexport type { BuildContext, CreateBuildContextArgs };\n"],"names":["DEFAULT_BROWSERSLIST","createBuildContext","cwd","logger","tsconfig","strapi","options","strapiInstance","createStrapi","appDir","distDir","config","outDir","autoReload","serveAdminPanel","serverAbsoluteUrl","get","adminAbsoluteUrl","adminPath","sameOrigin","URL","origin","adminPublicPath","pathname","serverPublicPath","dirs","app","root","loadEnv","env","getStrapiAdminEnvVars","ADMIN_PATH","STRAPI_ADMIN_BACKEND_URL","STRAPI_TELEMETRY_DISABLED","String","telemetry","isDisabled","
|
|
1
|
+
{"version":3,"file":"create-build-context.js","sources":["../../../src/node/create-build-context.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport fs from 'node:fs/promises';\nimport browserslist from 'browserslist';\nimport { createStrapi } from '@strapi/core';\nimport type { Core, Modules } from '@strapi/types';\nimport type { Server } from 'node:http';\n\nimport type { CLIContext } from '../cli/types';\nimport { getStrapiAdminEnvVars, loadEnv } from './core/env';\n\nimport { PluginMeta, getEnabledPlugins, getMapOfPluginsWithAdmin } from './core/plugins';\nimport { AppFile, loadUserAppFile } from './core/admin-customisations';\nimport type { BaseContext } from './types';\n\ninterface BaseOptions {\n stats?: boolean;\n minify?: boolean;\n sourcemaps?: boolean;\n bundler?: 'webpack' | 'vite';\n open?: boolean;\n hmrServer?: Server;\n hmrClientPort?: number;\n}\n\ninterface BuildContext<TOptions = unknown> extends BaseContext {\n /**\n * The customisations defined by the user in their app.js file\n */\n customisations?: AppFile;\n /**\n * Features object with future flags\n */\n features?: Modules.Features.FeaturesService['config'];\n /**\n * The build options\n */\n options: BaseOptions & TOptions;\n /**\n * The plugins to be included in the JS bundle\n * incl. internal plugins, third party plugins & local plugins\n */\n plugins: PluginMeta[];\n}\n\ninterface CreateBuildContextArgs<TOptions = unknown> extends CLIContext {\n strapi?: Core.Strapi;\n options?: TOptions;\n}\n\nconst DEFAULT_BROWSERSLIST = [\n 'last 3 major versions',\n 'Firefox ESR',\n 'last 2 Opera versions',\n 'not dead',\n];\n\nconst createBuildContext = async <TOptions extends BaseOptions>({\n cwd,\n logger,\n tsconfig,\n strapi,\n options = {} as TOptions,\n}: CreateBuildContextArgs<TOptions>): Promise<BuildContext<TOptions>> => {\n /**\n * If you make a new strapi instance when one already exists,\n * you will overwrite the global and the app will _most likely_\n * crash and die.\n */\n const strapiInstance =\n strapi ??\n createStrapi({\n // Directories\n appDir: cwd,\n distDir: tsconfig?.config.options.outDir ?? '',\n // Options\n autoReload: true,\n serveAdminPanel: false,\n });\n\n const serverAbsoluteUrl = strapiInstance.config.get<string>('server.absoluteUrl');\n const adminAbsoluteUrl = strapiInstance.config.get<string>('admin.absoluteUrl');\n const adminPath = strapiInstance.config.get<string>('admin.path');\n\n // NOTE: Checks that both the server and admin will be served from the same origin (protocol, host, port)\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPublicPath = new URL(adminAbsoluteUrl).pathname;\n const serverPublicPath = new URL(serverAbsoluteUrl).pathname;\n\n const appDir = strapiInstance.dirs.app.root;\n\n await loadEnv(cwd);\n\n const env = getStrapiAdminEnvVars({\n ADMIN_PATH: adminPublicPath,\n STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,\n STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),\n // TODO: Get this url from a utility/consts rather than duplicating it in AIChat constants.ts\n STRAPI_AI_URL:\n process.env.STRAPI_AI_URL?.replace(/\\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io',\n STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io',\n });\n\n const envKeys = Object.keys(env);\n\n if (envKeys.length > 0) {\n logger.info(\n [\n 'Including the following ENV variables as part of the JS bundle:',\n ...envKeys.map((key) => ` - ${key}`),\n ].join(os.EOL)\n );\n }\n\n const distPath = path.join(strapiInstance.dirs.dist.root, 'build');\n const distDir = path.relative(cwd, distPath);\n\n /**\n * If the distPath already exists, clean it\n */\n try {\n logger.debug(`Cleaning dist folder: ${distPath}`);\n await fs.rm(distPath, { recursive: true, force: true });\n logger.debug('Cleaned dist folder');\n } catch {\n // do nothing, it will fail if the folder does not exist\n logger.debug('There was no dist folder to clean');\n }\n\n const runtimeDir = path.join(cwd, '.strapi', 'client');\n const entry = path.relative(cwd, path.join(runtimeDir, 'app.js'));\n\n const plugins = await getEnabledPlugins({ cwd, logger, runtimeDir, strapi: strapiInstance });\n\n logger.debug('Enabled plugins', os.EOL, plugins);\n\n const pluginsWithFront = getMapOfPluginsWithAdmin(plugins);\n\n logger.debug('Enabled plugins with FE', os.EOL, pluginsWithFront);\n\n const target = browserslist.loadConfig({ path: cwd }) ?? DEFAULT_BROWSERSLIST;\n\n const customisations = await loadUserAppFile({ appDir, runtimeDir });\n\n const features = strapiInstance.config.get('features', undefined);\n\n const { bundler = 'vite', ...restOptions } = options;\n\n const buildContext = {\n appDir,\n adminPath,\n basePath: adminPublicPath,\n bundler,\n customisations,\n cwd,\n distDir,\n distPath,\n entry,\n env,\n features,\n logger,\n options: restOptions as BaseOptions & TOptions,\n plugins: pluginsWithFront,\n runtimeDir,\n strapi: strapiInstance,\n target,\n tsconfig,\n } satisfies BuildContext<TOptions>;\n\n return buildContext;\n};\n\nexport { createBuildContext };\nexport type { BuildContext, CreateBuildContextArgs };\n"],"names":["DEFAULT_BROWSERSLIST","createBuildContext","cwd","logger","tsconfig","strapi","options","strapiInstance","createStrapi","appDir","distDir","config","outDir","autoReload","serveAdminPanel","serverAbsoluteUrl","get","adminAbsoluteUrl","adminPath","sameOrigin","URL","origin","adminPublicPath","pathname","serverPublicPath","dirs","app","root","loadEnv","env","getStrapiAdminEnvVars","ADMIN_PATH","STRAPI_ADMIN_BACKEND_URL","STRAPI_TELEMETRY_DISABLED","String","telemetry","isDisabled","STRAPI_AI_URL","process","replace","STRAPI_ANALYTICS_URL","envKeys","Object","keys","length","info","map","key","join","os","EOL","distPath","path","dist","relative","debug","fs","rm","recursive","force","runtimeDir","entry","plugins","getEnabledPlugins","pluginsWithFront","getMapOfPluginsWithAdmin","target","browserslist","loadConfig","customisations","loadUserAppFile","features","undefined","bundler","restOptions","buildContext","basePath"],"mappings":"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"}
|
|
@@ -39,6 +39,8 @@ const createBuildContext = async ({ cwd, logger, tsconfig, strapi, options = {}
|
|
|
39
39
|
ADMIN_PATH: adminPublicPath,
|
|
40
40
|
STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,
|
|
41
41
|
STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),
|
|
42
|
+
// TODO: Get this url from a utility/consts rather than duplicating it in AIChat constants.ts
|
|
43
|
+
STRAPI_AI_URL: process.env.STRAPI_AI_URL?.replace(/\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io',
|
|
42
44
|
STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'
|
|
43
45
|
});
|
|
44
46
|
const envKeys = Object.keys(env);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-build-context.mjs","sources":["../../../src/node/create-build-context.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport fs from 'node:fs/promises';\nimport browserslist from 'browserslist';\nimport { createStrapi } from '@strapi/core';\nimport type { Core, Modules } from '@strapi/types';\nimport type { Server } from 'node:http';\n\nimport type { CLIContext } from '../cli/types';\nimport { getStrapiAdminEnvVars, loadEnv } from './core/env';\n\nimport { PluginMeta, getEnabledPlugins, getMapOfPluginsWithAdmin } from './core/plugins';\nimport { AppFile, loadUserAppFile } from './core/admin-customisations';\nimport type { BaseContext } from './types';\n\ninterface BaseOptions {\n stats?: boolean;\n minify?: boolean;\n sourcemaps?: boolean;\n bundler?: 'webpack' | 'vite';\n open?: boolean;\n hmrServer?: Server;\n hmrClientPort?: number;\n}\n\ninterface BuildContext<TOptions = unknown> extends BaseContext {\n /**\n * The customisations defined by the user in their app.js file\n */\n customisations?: AppFile;\n /**\n * Features object with future flags\n */\n features?: Modules.Features.FeaturesService['config'];\n /**\n * The build options\n */\n options: BaseOptions & TOptions;\n /**\n * The plugins to be included in the JS bundle\n * incl. internal plugins, third party plugins & local plugins\n */\n plugins: PluginMeta[];\n}\n\ninterface CreateBuildContextArgs<TOptions = unknown> extends CLIContext {\n strapi?: Core.Strapi;\n options?: TOptions;\n}\n\nconst DEFAULT_BROWSERSLIST = [\n 'last 3 major versions',\n 'Firefox ESR',\n 'last 2 Opera versions',\n 'not dead',\n];\n\nconst createBuildContext = async <TOptions extends BaseOptions>({\n cwd,\n logger,\n tsconfig,\n strapi,\n options = {} as TOptions,\n}: CreateBuildContextArgs<TOptions>): Promise<BuildContext<TOptions>> => {\n /**\n * If you make a new strapi instance when one already exists,\n * you will overwrite the global and the app will _most likely_\n * crash and die.\n */\n const strapiInstance =\n strapi ??\n createStrapi({\n // Directories\n appDir: cwd,\n distDir: tsconfig?.config.options.outDir ?? '',\n // Options\n autoReload: true,\n serveAdminPanel: false,\n });\n\n const serverAbsoluteUrl = strapiInstance.config.get<string>('server.absoluteUrl');\n const adminAbsoluteUrl = strapiInstance.config.get<string>('admin.absoluteUrl');\n const adminPath = strapiInstance.config.get<string>('admin.path');\n\n // NOTE: Checks that both the server and admin will be served from the same origin (protocol, host, port)\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPublicPath = new URL(adminAbsoluteUrl).pathname;\n const serverPublicPath = new URL(serverAbsoluteUrl).pathname;\n\n const appDir = strapiInstance.dirs.app.root;\n\n await loadEnv(cwd);\n\n const env = getStrapiAdminEnvVars({\n ADMIN_PATH: adminPublicPath,\n STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,\n STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),\n STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io',\n });\n\n const envKeys = Object.keys(env);\n\n if (envKeys.length > 0) {\n logger.info(\n [\n 'Including the following ENV variables as part of the JS bundle:',\n ...envKeys.map((key) => ` - ${key}`),\n ].join(os.EOL)\n );\n }\n\n const distPath = path.join(strapiInstance.dirs.dist.root, 'build');\n const distDir = path.relative(cwd, distPath);\n\n /**\n * If the distPath already exists, clean it\n */\n try {\n logger.debug(`Cleaning dist folder: ${distPath}`);\n await fs.rm(distPath, { recursive: true, force: true });\n logger.debug('Cleaned dist folder');\n } catch {\n // do nothing, it will fail if the folder does not exist\n logger.debug('There was no dist folder to clean');\n }\n\n const runtimeDir = path.join(cwd, '.strapi', 'client');\n const entry = path.relative(cwd, path.join(runtimeDir, 'app.js'));\n\n const plugins = await getEnabledPlugins({ cwd, logger, runtimeDir, strapi: strapiInstance });\n\n logger.debug('Enabled plugins', os.EOL, plugins);\n\n const pluginsWithFront = getMapOfPluginsWithAdmin(plugins);\n\n logger.debug('Enabled plugins with FE', os.EOL, pluginsWithFront);\n\n const target = browserslist.loadConfig({ path: cwd }) ?? DEFAULT_BROWSERSLIST;\n\n const customisations = await loadUserAppFile({ appDir, runtimeDir });\n\n const features = strapiInstance.config.get('features', undefined);\n\n const { bundler = 'vite', ...restOptions } = options;\n\n const buildContext = {\n appDir,\n adminPath,\n basePath: adminPublicPath,\n bundler,\n customisations,\n cwd,\n distDir,\n distPath,\n entry,\n env,\n features,\n logger,\n options: restOptions as BaseOptions & TOptions,\n plugins: pluginsWithFront,\n runtimeDir,\n strapi: strapiInstance,\n target,\n tsconfig,\n } satisfies BuildContext<TOptions>;\n\n return buildContext;\n};\n\nexport { createBuildContext };\nexport type { BuildContext, CreateBuildContextArgs };\n"],"names":["DEFAULT_BROWSERSLIST","createBuildContext","cwd","logger","tsconfig","strapi","options","strapiInstance","createStrapi","appDir","distDir","config","outDir","autoReload","serveAdminPanel","serverAbsoluteUrl","get","adminAbsoluteUrl","adminPath","sameOrigin","URL","origin","adminPublicPath","pathname","serverPublicPath","dirs","app","root","loadEnv","env","getStrapiAdminEnvVars","ADMIN_PATH","STRAPI_ADMIN_BACKEND_URL","STRAPI_TELEMETRY_DISABLED","String","telemetry","isDisabled","
|
|
1
|
+
{"version":3,"file":"create-build-context.mjs","sources":["../../../src/node/create-build-context.ts"],"sourcesContent":["import os from 'node:os';\nimport path from 'node:path';\nimport fs from 'node:fs/promises';\nimport browserslist from 'browserslist';\nimport { createStrapi } from '@strapi/core';\nimport type { Core, Modules } from '@strapi/types';\nimport type { Server } from 'node:http';\n\nimport type { CLIContext } from '../cli/types';\nimport { getStrapiAdminEnvVars, loadEnv } from './core/env';\n\nimport { PluginMeta, getEnabledPlugins, getMapOfPluginsWithAdmin } from './core/plugins';\nimport { AppFile, loadUserAppFile } from './core/admin-customisations';\nimport type { BaseContext } from './types';\n\ninterface BaseOptions {\n stats?: boolean;\n minify?: boolean;\n sourcemaps?: boolean;\n bundler?: 'webpack' | 'vite';\n open?: boolean;\n hmrServer?: Server;\n hmrClientPort?: number;\n}\n\ninterface BuildContext<TOptions = unknown> extends BaseContext {\n /**\n * The customisations defined by the user in their app.js file\n */\n customisations?: AppFile;\n /**\n * Features object with future flags\n */\n features?: Modules.Features.FeaturesService['config'];\n /**\n * The build options\n */\n options: BaseOptions & TOptions;\n /**\n * The plugins to be included in the JS bundle\n * incl. internal plugins, third party plugins & local plugins\n */\n plugins: PluginMeta[];\n}\n\ninterface CreateBuildContextArgs<TOptions = unknown> extends CLIContext {\n strapi?: Core.Strapi;\n options?: TOptions;\n}\n\nconst DEFAULT_BROWSERSLIST = [\n 'last 3 major versions',\n 'Firefox ESR',\n 'last 2 Opera versions',\n 'not dead',\n];\n\nconst createBuildContext = async <TOptions extends BaseOptions>({\n cwd,\n logger,\n tsconfig,\n strapi,\n options = {} as TOptions,\n}: CreateBuildContextArgs<TOptions>): Promise<BuildContext<TOptions>> => {\n /**\n * If you make a new strapi instance when one already exists,\n * you will overwrite the global and the app will _most likely_\n * crash and die.\n */\n const strapiInstance =\n strapi ??\n createStrapi({\n // Directories\n appDir: cwd,\n distDir: tsconfig?.config.options.outDir ?? '',\n // Options\n autoReload: true,\n serveAdminPanel: false,\n });\n\n const serverAbsoluteUrl = strapiInstance.config.get<string>('server.absoluteUrl');\n const adminAbsoluteUrl = strapiInstance.config.get<string>('admin.absoluteUrl');\n const adminPath = strapiInstance.config.get<string>('admin.path');\n\n // NOTE: Checks that both the server and admin will be served from the same origin (protocol, host, port)\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPublicPath = new URL(adminAbsoluteUrl).pathname;\n const serverPublicPath = new URL(serverAbsoluteUrl).pathname;\n\n const appDir = strapiInstance.dirs.app.root;\n\n await loadEnv(cwd);\n\n const env = getStrapiAdminEnvVars({\n ADMIN_PATH: adminPublicPath,\n STRAPI_ADMIN_BACKEND_URL: sameOrigin ? serverPublicPath : serverAbsoluteUrl,\n STRAPI_TELEMETRY_DISABLED: String(strapiInstance.telemetry.isDisabled),\n // TODO: Get this url from a utility/consts rather than duplicating it in AIChat constants.ts\n STRAPI_AI_URL:\n process.env.STRAPI_AI_URL?.replace(/\\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io',\n STRAPI_ANALYTICS_URL: process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io',\n });\n\n const envKeys = Object.keys(env);\n\n if (envKeys.length > 0) {\n logger.info(\n [\n 'Including the following ENV variables as part of the JS bundle:',\n ...envKeys.map((key) => ` - ${key}`),\n ].join(os.EOL)\n );\n }\n\n const distPath = path.join(strapiInstance.dirs.dist.root, 'build');\n const distDir = path.relative(cwd, distPath);\n\n /**\n * If the distPath already exists, clean it\n */\n try {\n logger.debug(`Cleaning dist folder: ${distPath}`);\n await fs.rm(distPath, { recursive: true, force: true });\n logger.debug('Cleaned dist folder');\n } catch {\n // do nothing, it will fail if the folder does not exist\n logger.debug('There was no dist folder to clean');\n }\n\n const runtimeDir = path.join(cwd, '.strapi', 'client');\n const entry = path.relative(cwd, path.join(runtimeDir, 'app.js'));\n\n const plugins = await getEnabledPlugins({ cwd, logger, runtimeDir, strapi: strapiInstance });\n\n logger.debug('Enabled plugins', os.EOL, plugins);\n\n const pluginsWithFront = getMapOfPluginsWithAdmin(plugins);\n\n logger.debug('Enabled plugins with FE', os.EOL, pluginsWithFront);\n\n const target = browserslist.loadConfig({ path: cwd }) ?? DEFAULT_BROWSERSLIST;\n\n const customisations = await loadUserAppFile({ appDir, runtimeDir });\n\n const features = strapiInstance.config.get('features', undefined);\n\n const { bundler = 'vite', ...restOptions } = options;\n\n const buildContext = {\n appDir,\n adminPath,\n basePath: adminPublicPath,\n bundler,\n customisations,\n cwd,\n distDir,\n distPath,\n entry,\n env,\n features,\n logger,\n options: restOptions as BaseOptions & TOptions,\n plugins: pluginsWithFront,\n runtimeDir,\n strapi: strapiInstance,\n target,\n tsconfig,\n } satisfies BuildContext<TOptions>;\n\n return buildContext;\n};\n\nexport { createBuildContext };\nexport type { BuildContext, CreateBuildContextArgs };\n"],"names":["DEFAULT_BROWSERSLIST","createBuildContext","cwd","logger","tsconfig","strapi","options","strapiInstance","createStrapi","appDir","distDir","config","outDir","autoReload","serveAdminPanel","serverAbsoluteUrl","get","adminAbsoluteUrl","adminPath","sameOrigin","URL","origin","adminPublicPath","pathname","serverPublicPath","dirs","app","root","loadEnv","env","getStrapiAdminEnvVars","ADMIN_PATH","STRAPI_ADMIN_BACKEND_URL","STRAPI_TELEMETRY_DISABLED","String","telemetry","isDisabled","STRAPI_AI_URL","process","replace","STRAPI_ANALYTICS_URL","envKeys","Object","keys","length","info","map","key","join","os","EOL","distPath","path","dist","relative","debug","fs","rm","recursive","force","runtimeDir","entry","plugins","getEnabledPlugins","pluginsWithFront","getMapOfPluginsWithAdmin","target","browserslist","loadConfig","customisations","loadUserAppFile","features","undefined","bundler","restOptions","buildContext","basePath"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid === 'getstarted';\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n 'process.env': ctx.env,\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":";;;;;;;;;AAUA,MAAMA,oBAAoB,OAAOC,GAAAA,GAAAA;IAC/B,MAAMC,MAAAA,GAASC,qBAAsBF,CAAAA,GAAAA,CAAIC,MAAM,CAAA;AAC/C,IAAA,MAAME,uBAAuB,GAACH,CAAII,MAAM,CAASC,eAAe,EAAEC,IAAS,KAAA,YAAA;IAE3E,OAAO;AACLC,QAAAA,IAAAA,EAAMP,IAAIQ,GAAG;AACbC,QAAAA,IAAAA,EAAMT,IAAIU,QAAQ;QAClBC,KAAO,EAAA;YACLC,WAAa,EAAA,KAAA;AACbC,YAAAA,MAAAA,EAAQb,IAAIc,OAAO;AACnBb,YAAAA;AACF,SAAA;QACAc,QAAU,EAAA,2BAAA;QACVC,UAAY,EAAA,KAAA;QACZC,MAAQ,EAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid === 'getstarted';\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n process: {},\n 'process.env': JSON.stringify(ctx.env),\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","process","JSON","stringify","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid === 'getstarted';\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n 'process.env': ctx.env,\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":";;;;;;;AAUA,MAAMA,oBAAoB,OAAOC,GAAAA,GAAAA;IAC/B,MAAMC,MAAAA,GAASC,qBAAsBF,CAAAA,GAAAA,CAAIC,MAAM,CAAA;AAC/C,IAAA,MAAME,uBAAuB,GAACH,CAAII,MAAM,CAASC,eAAe,EAAEC,IAAS,KAAA,YAAA;IAE3E,OAAO;AACLC,QAAAA,IAAAA,EAAMP,IAAIQ,GAAG;AACbC,QAAAA,IAAAA,EAAMT,IAAIU,QAAQ;QAClBC,KAAO,EAAA;YACLC,WAAa,EAAA,KAAA;AACbC,YAAAA,MAAAA,EAAQb,IAAIc,OAAO;AACnBb,YAAAA;AACF,SAAA;QACAc,QAAU,EAAA,2BAAA;QACVC,UAAY,EAAA,KAAA;QACZC,MAAQ,EAAA;
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid === 'getstarted';\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n process: {},\n 'process.env': JSON.stringify(ctx.env),\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","process","JSON","stringify","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/strapi",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.27.0",
|
|
4
4
|
"description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"strapi",
|
|
@@ -110,25 +110,25 @@
|
|
|
110
110
|
},
|
|
111
111
|
"dependencies": {
|
|
112
112
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.15",
|
|
113
|
-
"@strapi/admin": "5.
|
|
114
|
-
"@strapi/cloud-cli": "5.
|
|
115
|
-
"@strapi/content-manager": "5.
|
|
116
|
-
"@strapi/content-releases": "5.
|
|
117
|
-
"@strapi/content-type-builder": "5.
|
|
118
|
-
"@strapi/core": "5.
|
|
119
|
-
"@strapi/data-transfer": "5.
|
|
120
|
-
"@strapi/database": "5.
|
|
121
|
-
"@strapi/email": "5.
|
|
122
|
-
"@strapi/generators": "5.
|
|
123
|
-
"@strapi/i18n": "5.
|
|
124
|
-
"@strapi/logger": "5.
|
|
125
|
-
"@strapi/openapi": "5.
|
|
126
|
-
"@strapi/permissions": "5.
|
|
127
|
-
"@strapi/review-workflows": "5.
|
|
128
|
-
"@strapi/types": "5.
|
|
129
|
-
"@strapi/typescript-utils": "5.
|
|
130
|
-
"@strapi/upload": "5.
|
|
131
|
-
"@strapi/utils": "5.
|
|
113
|
+
"@strapi/admin": "5.27.0",
|
|
114
|
+
"@strapi/cloud-cli": "5.27.0",
|
|
115
|
+
"@strapi/content-manager": "5.27.0",
|
|
116
|
+
"@strapi/content-releases": "5.27.0",
|
|
117
|
+
"@strapi/content-type-builder": "5.27.0",
|
|
118
|
+
"@strapi/core": "5.27.0",
|
|
119
|
+
"@strapi/data-transfer": "5.27.0",
|
|
120
|
+
"@strapi/database": "5.27.0",
|
|
121
|
+
"@strapi/email": "5.27.0",
|
|
122
|
+
"@strapi/generators": "5.27.0",
|
|
123
|
+
"@strapi/i18n": "5.27.0",
|
|
124
|
+
"@strapi/logger": "5.27.0",
|
|
125
|
+
"@strapi/openapi": "5.27.0",
|
|
126
|
+
"@strapi/permissions": "5.27.0",
|
|
127
|
+
"@strapi/review-workflows": "5.27.0",
|
|
128
|
+
"@strapi/types": "5.27.0",
|
|
129
|
+
"@strapi/typescript-utils": "5.27.0",
|
|
130
|
+
"@strapi/upload": "5.27.0",
|
|
131
|
+
"@strapi/utils": "5.27.0",
|
|
132
132
|
"@types/nodemon": "1.19.6",
|
|
133
133
|
"@vitejs/plugin-react-swc": "3.6.0",
|
|
134
134
|
"boxen": "5.1.2",
|
|
@@ -182,11 +182,11 @@
|
|
|
182
182
|
"@types/node": "18.19.24",
|
|
183
183
|
"@types/webpack-bundle-analyzer": "4.7.0",
|
|
184
184
|
"@types/webpack-hot-middleware": "2.25.9",
|
|
185
|
-
"eslint-config-custom": "5.
|
|
185
|
+
"eslint-config-custom": "5.27.0",
|
|
186
186
|
"jest": "29.6.0",
|
|
187
187
|
"react": "18.3.1",
|
|
188
188
|
"react-dom": "18.3.1",
|
|
189
|
-
"tsconfig": "5.
|
|
189
|
+
"tsconfig": "5.27.0"
|
|
190
190
|
},
|
|
191
191
|
"peerDependencies": {
|
|
192
192
|
"react": "^17.0.0 || ^18.0.0",
|