@strapi/strapi
Version:
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
1 lines • 9.49 kB
Source Map (JSON)
{"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":"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"}