@nx/vite 17.0.2 → 17.0.4
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/LICENSE +1 -1
- package/README.md +9 -4
- package/generators.json +3 -3
- package/migrations.json +90 -0
- package/package.json +9 -7
- package/plugin.d.ts +1 -0
- package/plugin.js +21 -0
- package/plugin.js.map +1 -0
- package/plugins/nx-tsconfig-paths.plugin.js +9 -5
- package/plugins/nx-tsconfig-paths.plugin.js.map +1 -1
- package/plugins/rollup-replace-files.plugin.d.ts +3 -3
- package/plugins/rollup-replace-files.plugin.js +2 -2
- package/plugins/rollup-replace-files.plugin.js.map +1 -1
- package/src/executors/build/build.impl.d.ts +5 -1
- package/src/executors/build/build.impl.js +90 -21
- package/src/executors/build/build.impl.js.map +1 -1
- package/src/executors/build/schema.d.ts +5 -18
- package/src/executors/build/schema.json +4 -106
- package/src/executors/dev-server/dev-server.impl.js +74 -9
- package/src/executors/dev-server/dev-server.impl.js.map +1 -1
- package/src/executors/dev-server/schema.d.ts +0 -10
- package/src/executors/dev-server/schema.json +0 -63
- package/src/executors/preview-server/preview-server.impl.d.ts +1 -1
- package/src/executors/preview-server/preview-server.impl.js +79 -15
- package/src/executors/preview-server/preview-server.impl.js.map +1 -1
- package/src/executors/preview-server/schema.d.ts +0 -7
- package/src/executors/preview-server/schema.json +1 -51
- package/src/executors/test/lib/nx-reporter.d.ts +14 -0
- package/src/executors/test/lib/nx-reporter.js +40 -0
- package/src/executors/test/lib/nx-reporter.js.map +1 -0
- package/src/executors/test/lib/utils.d.ts +4 -0
- package/src/executors/test/lib/utils.js +77 -0
- package/src/executors/test/lib/utils.js.map +1 -0
- package/src/executors/test/schema.d.ts +3 -8
- package/src/executors/test/schema.json +11 -43
- package/src/executors/test/vitest.impl.js +20 -112
- package/src/executors/test/vitest.impl.js.map +1 -1
- package/src/generators/configuration/configuration.d.ts +2 -1
- package/src/generators/configuration/configuration.js +49 -87
- package/src/generators/configuration/configuration.js.map +1 -1
- package/src/generators/configuration/lib/convert-non-vite.d.ts +5 -0
- package/src/generators/configuration/lib/convert-non-vite.js +62 -0
- package/src/generators/configuration/lib/convert-non-vite.js.map +1 -0
- package/src/generators/configuration/schema.d.ts +1 -3
- package/src/generators/configuration/schema.json +0 -12
- package/src/generators/init/init.d.ts +4 -3
- package/src/generators/init/init.js +50 -67
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/lib/utils.d.ts +6 -0
- package/src/generators/init/lib/utils.js +80 -0
- package/src/generators/init/lib/utils.js.map +1 -0
- package/src/generators/init/schema.d.ts +5 -5
- package/src/generators/init/schema.json +17 -20
- package/src/generators/vitest/files/tsconfig.spec.json__tmpl__ +2 -1
- package/src/generators/vitest/schema.d.ts +2 -1
- package/src/generators/vitest/schema.json +2 -2
- package/src/generators/vitest/vitest-generator.d.ts +2 -1
- package/src/generators/vitest/vitest-generator.js +34 -10
- package/src/generators/vitest/vitest-generator.js.map +1 -1
- package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -1
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +3 -17
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -1
- package/src/migrations/update-17-1-0/move-target-defaults.d.ts +2 -0
- package/src/migrations/update-17-1-0/move-target-defaults.js +77 -0
- package/src/migrations/update-17-1-0/move-target-defaults.js.map +1 -0
- package/src/migrations/update-17-2-0/lib/add-file-replacements.d.ts +2 -0
- package/src/migrations/update-17-2-0/lib/add-file-replacements.js +67 -0
- package/src/migrations/update-17-2-0/lib/add-file-replacements.js.map +1 -0
- package/src/migrations/update-17-2-0/lib/edit-build-config.d.ts +2 -0
- package/src/migrations/update-17-2-0/lib/edit-build-config.js +121 -0
- package/src/migrations/update-17-2-0/lib/edit-build-config.js.map +1 -0
- package/src/migrations/update-17-2-0/lib/edit-test-config.d.ts +2 -0
- package/src/migrations/update-17-2-0/lib/edit-test-config.js +83 -0
- package/src/migrations/update-17-2-0/lib/edit-test-config.js.map +1 -0
- package/src/migrations/update-17-2-0/update-vite-config.d.ts +5 -0
- package/src/migrations/update-17-2-0/update-vite-config.js +68 -0
- package/src/migrations/update-17-2-0/update-vite-config.js.map +1 -0
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.d.ts +3 -0
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js +117 -0
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js.map +1 -0
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.d.ts +2 -0
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js +45 -0
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js.map +1 -0
- package/src/plugins/plugin.d.ts +10 -0
- package/src/plugins/plugin.js +226 -0
- package/src/plugins/plugin.js.map +1 -0
- package/src/utils/ensure-dependencies.d.ts +8 -0
- package/src/utils/ensure-dependencies.js +34 -0
- package/src/utils/ensure-dependencies.js.map +1 -0
- package/src/utils/executor-utils.d.ts +2 -0
- package/src/utils/executor-utils.js +22 -7
- package/src/utils/executor-utils.js.map +1 -1
- package/src/utils/find-vite-config.d.ts +3 -0
- package/src/utils/find-vite-config.js +46 -0
- package/src/utils/find-vite-config.js.map +1 -0
- package/src/utils/generator-utils.d.ts +10 -12
- package/src/utils/generator-utils.js +135 -213
- package/src/utils/generator-utils.js.map +1 -1
- package/src/utils/options-utils.d.ts +3 -19
- package/src/utils/options-utils.js +25 -68
- package/src/utils/options-utils.js.map +1 -1
- package/src/utils/test-files/react-lib-non-buildable-jest.json +1 -4
- package/src/utils/test-files/react-lib-non-buildable-vitest.json +1 -4
- package/src/utils/test-files/react-mixed-project.config.json +1 -6
- package/src/utils/test-files/react-vite-project.config.json +1 -4
- package/src/utils/test-files/unknown-project.config.json +1 -4
- package/src/utils/test-utils.d.ts +1 -1
- package/src/utils/test-utils.js +10 -18
- package/src/utils/test-utils.js.map +1 -1
- package/src/utils/versions.d.ts +7 -9
- package/src/utils/versions.js +7 -15
- package/src/utils/versions.js.map +1 -1
- package/src/utils/vite-config-edit-utils.js +1 -1
- package/src/utils/vite-config-edit-utils.js.map +1 -1
- package/src/utils/test-files/react-project.config.json +0 -85
- package/src/utils/test-files/web-project.config.json +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/vite/src/utils/generator-utils.ts"],"sourcesContent":["import {\n joinPathFragments,\n logger,\n offsetFromRoot,\n readJson,\n readProjectConfiguration,\n TargetConfiguration,\n Tree,\n updateProjectConfiguration,\n writeJson,\n} from '@nx/devkit';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';\nimport { VitestExecutorOptions } from '../executors/test/schema';\nimport { ViteConfigurationGeneratorSchema } from '../generators/configuration/schema';\nimport { ensureViteConfigIsCorrect } from './vite-config-edit-utils';\n\nexport type Target = 'build' | 'serve' | 'test' | 'preview';\nexport type TargetFlags = Partial<Record<Target, boolean>>;\nexport type UserProvidedTargetName = Partial<Record<Target, string>>;\nexport type ValidFoundTargetName = Partial<Record<Target, string>>;\n\nexport function findExistingTargetsInProject(\n targets: {\n [targetName: string]: TargetConfiguration;\n },\n userProvidedTargets?: UserProvidedTargetName\n): {\n validFoundTargetName: ValidFoundTargetName;\n projectContainsUnsupportedExecutor: boolean;\n userProvidedTargetIsUnsupported: TargetFlags;\n alreadyHasNxViteTargets: TargetFlags;\n} {\n const output: ReturnType<typeof findExistingTargetsInProject> = {\n validFoundTargetName: {},\n projectContainsUnsupportedExecutor: false,\n userProvidedTargetIsUnsupported: {},\n alreadyHasNxViteTargets: {},\n };\n\n const supportedExecutors = {\n build: [\n '@nxext/vite:build',\n '@nx/js:babel',\n '@nx/js:swc',\n '@nx/webpack:webpack',\n '@nx/rollup:rollup',\n '@nrwl/js:babel',\n '@nrwl/js:swc',\n '@nrwl/webpack:webpack',\n '@nrwl/rollup:rollup',\n '@nrwl/web:rollup',\n ],\n serve: [\n '@nxext/vite:dev',\n '@nx/webpack:dev-server',\n '@nrwl/webpack:dev-server',\n ],\n test: ['@nx/jest:jest', '@nrwl/jest:jest', '@nxext/vitest:vitest'],\n };\n\n const unsupportedExecutors = [\n '@nx/angular:ng-packagr-lite',\n '@nx/angular:package',\n '@nx/angular:webpack-browser',\n '@nx/esbuild:esbuild',\n '@nx/react-native:run-ios',\n '@nx/react-native:start',\n '@nx/react-native:run-android',\n '@nx/react-native:bundle',\n '@nx/react-native:build-android',\n '@nx/react-native:bundle',\n '@nx/next:build',\n '@nx/next:server',\n '@nx/js:tsc',\n '@nrwl/angular:ng-packagr-lite',\n '@nrwl/angular:package',\n '@nrwl/angular:webpack-browser',\n '@nrwl/esbuild:esbuild',\n '@nrwl/react-native:run-ios',\n '@nrwl/react-native:start',\n '@nrwl/react-native:run-android',\n '@nrwl/react-native:bundle',\n '@nrwl/react-native:build-android',\n '@nrwl/react-native:bundle',\n '@nrwl/next:build',\n '@nrwl/next:server',\n '@nrwl/js:tsc',\n '@angular-devkit/build-angular:browser',\n '@angular-devkit/build-angular:dev-server',\n ];\n\n // First, we check if the user has provided a target\n // If they have, we check if the executor the target is using is supported\n // If it's not supported, then we set the unsupported flag to true for that target\n\n function checkUserProvidedTarget(target: Target) {\n if (userProvidedTargets?.[target]) {\n if (\n supportedExecutors[target].includes(\n targets[userProvidedTargets[target]]?.executor\n )\n ) {\n output.validFoundTargetName[target] = userProvidedTargets[target];\n } else {\n output.userProvidedTargetIsUnsupported[target] = true;\n }\n }\n }\n\n checkUserProvidedTarget('build');\n checkUserProvidedTarget('serve');\n checkUserProvidedTarget('test');\n\n // Returns early when we have a build, serve, and test targets.\n if (\n output.validFoundTargetName.build &&\n output.validFoundTargetName.serve &&\n output.validFoundTargetName.test\n ) {\n return output;\n }\n\n // We try to find the targets that are using the supported executors\n // for build, serve and test, since these are the ones we will be converting\n for (const target in targets) {\n const executorName = targets[target].executor;\n\n const hasViteTargets = output.alreadyHasNxViteTargets;\n hasViteTargets.build ||=\n executorName === '@nx/vite:build' || executorName === '@nrwl/vite:build';\n hasViteTargets.serve ||=\n executorName === '@nx/vite:dev-server' ||\n executorName === '@nrwl/vite:dev-server';\n hasViteTargets.test ||=\n executorName === '@nx/vite:test' || executorName === '@nrwl/vite:test';\n hasViteTargets.preview ||=\n executorName === '@nx/vite:preview-server' ||\n executorName === '@nrwl/vite:preview-server';\n\n const foundTargets = output.validFoundTargetName;\n if (\n !foundTargets.build &&\n supportedExecutors.build.includes(executorName)\n ) {\n foundTargets.build = target;\n }\n if (\n !foundTargets.serve &&\n supportedExecutors.serve.includes(executorName)\n ) {\n foundTargets.serve = target;\n }\n if (!foundTargets.test && supportedExecutors.test.includes(executorName)) {\n foundTargets.test = target;\n }\n\n output.projectContainsUnsupportedExecutor ||=\n unsupportedExecutors.includes(executorName);\n }\n\n return output;\n}\n\nexport function addOrChangeTestTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const coveragePath = joinPathFragments(\n 'coverage',\n project.root === '.' ? options.project : project.root\n );\n const testOptions: VitestExecutorOptions = {\n passWithNoTests: true,\n // vitest runs in the project root so we have to offset to the workspaceRoot\n reportsDirectory: joinPathFragments(\n offsetFromRoot(project.root),\n coveragePath\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n project.targets[target].executor = '@nx/vite:test';\n delete project.targets[target].options?.jestConfig;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:test',\n outputs: ['{options.reportsDirectory}'],\n options: testOptions,\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeBuildTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n const buildOptions: ViteBuildExecutorOptions = {\n outputPath: joinPathFragments(\n 'dist',\n project.root != '.' ? project.root : options.project\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n buildOptions.fileReplacements =\n project.targets[target].options?.fileReplacements;\n\n if (project.targets[target].executor === '@nxext/vite:build') {\n buildOptions.base = project.targets[target].options?.baseHref;\n buildOptions.sourcemap = project.targets[target].options?.sourcemaps;\n }\n project.targets[target].options = { ...buildOptions };\n project.targets[target].executor = '@nx/vite:build';\n } else {\n project.targets[target] = {\n executor: '@nx/vite:build',\n outputs: ['{options.outputPath}'],\n defaultConfiguration: 'production',\n options: buildOptions,\n configurations: {\n development: {\n mode: 'development',\n },\n production: {\n mode: 'production',\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeServeTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n const serveTarget = project.targets[target];\n const serveOptions: ViteDevServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n https: project.targets[target].options?.https,\n hmr: project.targets[target].options?.hmr,\n open: project.targets[target].options?.open,\n };\n if (serveTarget.executor === '@nxext/vite:dev') {\n serveOptions.proxyConfig = project.targets[target].options.proxyConfig;\n }\n serveTarget.executor = '@nx/vite:dev-server';\n serveTarget.options = serveOptions;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:dev-server',\n defaultConfiguration: 'development',\n options: {\n buildTarget: `${options.project}:build`,\n },\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n hmr: true,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n hmr: false,\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\n/**\n * Adds a target for the preview server.\n *\n * @param tree\n * @param options\n * @param serveTarget An existing serve target.\n * @param previewTarget The preview target to create.\n */\nexport function addPreviewTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n serveTarget: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const previewOptions: VitePreviewServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n };\n\n project.targets ??= {};\n\n // Update the options from the passed serve target.\n if (project.targets[serveTarget]) {\n const target = project.targets[serveTarget];\n if (target.executor === '@nxext/vite:dev') {\n previewOptions.proxyConfig = target.options.proxyConfig;\n }\n previewOptions.https = target.options?.https;\n previewOptions.open = target.options?.open;\n }\n\n // Adds a preview target.\n project.targets.preview = {\n executor: '@nx/vite:preview-server',\n defaultConfiguration: 'development',\n options: previewOptions,\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function editTsConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const config = readJson(tree, `${projectConfig.root}/tsconfig.json`);\n\n const commonCompilerOptions = {\n target: 'ESNext',\n useDefineForClassFields: true,\n module: 'ESNext',\n strict: true,\n moduleResolution: 'Node',\n resolveJsonModule: true,\n isolatedModules: true,\n types: ['vite/client'],\n noEmit: true,\n };\n\n switch (options.uiFramework) {\n case 'react':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['DOM', 'DOM.Iterable', 'ESNext'],\n allowJs: false,\n esModuleInterop: false,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n };\n config.include = [...config.include, 'src'];\n break;\n case 'none':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['ESNext', 'DOM'],\n skipLibCheck: true,\n esModuleInterop: true,\n strict: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n noImplicitReturns: true,\n };\n config.include = [...config.include, 'src'];\n break;\n default:\n break;\n }\n\n writeJson(tree, `${projectConfig.root}/tsconfig.json`, config);\n}\n\nexport function deleteWebpackConfig(\n tree: Tree,\n projectRoot: string,\n webpackConfigFilePath?: string\n) {\n const webpackConfigPath =\n webpackConfigFilePath && tree.exists(webpackConfigFilePath)\n ? webpackConfigFilePath\n : tree.exists(`${projectRoot}/webpack.config.js`)\n ? `${projectRoot}/webpack.config.js`\n : tree.exists(`${projectRoot}/webpack.config.ts`)\n ? `${projectRoot}/webpack.config.ts`\n : null;\n if (webpackConfigPath) {\n tree.delete(webpackConfigPath);\n }\n}\n\nexport function moveAndEditIndexHtml(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n buildTarget: string\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n let indexHtmlPath =\n projectConfig.targets?.[buildTarget]?.options?.index ??\n `${projectConfig.root}/src/index.html`;\n let mainPath =\n projectConfig.targets?.[buildTarget]?.options?.main ??\n `${projectConfig.root}/src/main.ts${\n options.uiFramework === 'react' ? 'x' : ''\n }`;\n\n if (projectConfig.root !== '.') {\n mainPath = mainPath.replace(projectConfig.root, '');\n }\n\n if (\n !tree.exists(indexHtmlPath) &&\n tree.exists(`${projectConfig.root}/index.html`)\n ) {\n indexHtmlPath = `${projectConfig.root}/index.html`;\n }\n\n if (tree.exists(indexHtmlPath)) {\n const indexHtmlContent = tree.read(indexHtmlPath, 'utf8');\n if (\n !indexHtmlContent.includes(\n `<script type='module' src='${mainPath}'></script>`\n )\n ) {\n tree.write(\n `${projectConfig.root}/index.html`,\n indexHtmlContent.replace(\n '</body>',\n `<script type='module' src='${mainPath}'></script>\n </body>`\n )\n );\n\n if (tree.exists(`${projectConfig.root}/src/index.html`)) {\n tree.delete(`${projectConfig.root}/src/index.html`);\n }\n }\n } else {\n tree.write(\n `${projectConfig.root}/index.html`,\n `<!DOCTYPE html>\n <html lang='en'>\n <head>\n <meta charset='UTF-8' />\n <link rel='icon' href='/favicon.ico' />\n <meta name='viewport' content='width=device-width, initial-scale=1.0' />\n <title>Vite</title>\n </head>\n <body>\n <div id='root'></div>\n <script type='module' src='${mainPath}'></script>\n </body>\n </html>`\n );\n }\n}\n\nexport interface ViteConfigFileOptions {\n project: string;\n includeLib?: boolean;\n includeVitest?: boolean;\n inSourceTests?: boolean;\n testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;\n rollupOptionsExternal?: string[];\n imports?: string[];\n plugins?: string[];\n}\n\nexport function createOrEditViteConfig(\n tree: Tree,\n options: ViteConfigFileOptions,\n onlyVitest: boolean,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const viteConfigPath = `${projectConfig.root}/vite.config.ts`;\n\n const buildOption = onlyVitest\n ? ''\n : options.includeLib\n ? `\n // Configuration for building your library.\n // See: https://vitejs.dev/guide/build.html#library-mode\n build: {\n lib: {\n // Could also be a dictionary or array of multiple entry points.\n entry: 'src/index.ts',\n name: '${options.project}',\n fileName: 'index',\n // Change this to the formats you want to support.\n // Don't forget to update your package.json as well.\n formats: ['es', 'cjs']\n },\n rollupOptions: {\n // External packages that should not be bundled into your library.\n external: [${options.rollupOptionsExternal ?? ''}]\n }\n },`\n : ``;\n\n const imports: string[] = options.imports ? options.imports : [];\n\n if (!onlyVitest && options.includeLib) {\n imports.push(\n `import dts from 'vite-plugin-dts'`,\n `import * as path from 'path'`\n );\n }\n\n let viteConfigContent = '';\n\n const plugins = options.plugins\n ? [...options.plugins, `nxViteTsPaths()`]\n : [`nxViteTsPaths()`];\n\n if (!onlyVitest && options.includeLib) {\n plugins.push(\n `dts({ entryRoot: 'src', tsConfigFilePath: path.join(__dirname, 'tsconfig.lib.json'), skipDiagnostics: true })`\n );\n }\n\n const testOption = options.includeVitest\n ? `test: {\n globals: true,\n cache: {\n dir: '${offsetFromRoot(projectConfig.root)}node_modules/.vitest'\n },\n environment: '${options.testEnvironment ?? 'jsdom'}',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n ${\n options.inSourceTests\n ? `includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']`\n : ''\n }\n },`\n : '';\n\n const defineOption = options.inSourceTests\n ? `define: {\n 'import.meta.vitest': undefined\n },`\n : '';\n\n const devServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n server:{\n port: 4200,\n host: 'localhost',\n },`;\n\n const previewServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n preview:{\n port: 4300,\n host: 'localhost',\n },`;\n\n const workerOption = `\n // Uncomment this if you are using workers. \n // worker: {\n // plugins: [ nxViteTsPaths() ],\n // },`;\n\n const cacheDir = `cacheDir: '${offsetFromRoot(\n projectConfig.root\n )}node_modules/.vite/${options.project}',`;\n\n if (tree.exists(viteConfigPath)) {\n handleViteConfigFileExists(\n tree,\n viteConfigPath,\n options,\n buildOption,\n imports,\n plugins,\n testOption,\n cacheDir,\n offsetFromRoot(projectConfig.root),\n projectAlreadyHasViteTargets\n );\n return;\n }\n\n viteConfigContent = `\n /// <reference types='vitest' />\n import { defineConfig } from 'vite';\n ${imports.join(';\\n')}${imports.length ? ';' : ''}\n import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\n \n export default defineConfig({\n ${cacheDir}\n ${devServerOption}\n ${previewServerOption}\n \n plugins: [${plugins.join(',\\n')}],\n ${workerOption}\n ${buildOption}\n ${defineOption}\n ${testOption}\n });`;\n\n tree.write(viteConfigPath, viteConfigContent);\n}\n\nexport function normalizeViteConfigFilePathWithTree(\n tree: Tree,\n projectRoot: string,\n configFile?: string\n): string {\n return configFile && tree.exists(configFile)\n ? configFile\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.ts`))\n ? joinPathFragments(`${projectRoot}/vite.config.ts`)\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.js`))\n ? joinPathFragments(`${projectRoot}/vite.config.js`)\n : undefined;\n}\n\nexport function getViteConfigPathForProject(\n tree: Tree,\n projectName: string,\n target?: string\n) {\n let viteConfigPath: string | undefined;\n const { targets, root } = readProjectConfiguration(tree, projectName);\n if (target) {\n viteConfigPath = targets?.[target]?.options?.configFile;\n } else {\n const config = Object.values(targets).find(\n (config) =>\n config.executor === '@nrwl/nx:build' ||\n config.executor === '@nrwl/vite:build'\n );\n viteConfigPath = config?.options?.configFile;\n }\n\n return normalizeViteConfigFilePathWithTree(tree, root, viteConfigPath);\n}\n\nexport async function handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported: TargetFlags,\n userProvidedTargetName: UserProvidedTargetName,\n validFoundTargetName: ValidFoundTargetName\n) {\n if (userProvidedTargetIsUnsupported.build && validFoundTargetName.build) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.build,\n validFoundTargetName.build,\n 'build',\n 'build'\n );\n }\n\n if (userProvidedTargetIsUnsupported.serve && validFoundTargetName.serve) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.serve,\n validFoundTargetName.serve,\n 'serve',\n 'dev-server'\n );\n }\n\n if (userProvidedTargetIsUnsupported.test && validFoundTargetName.test) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.test,\n validFoundTargetName.test,\n 'test',\n 'test'\n );\n }\n}\n\nasync function handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName: string,\n validFoundTargetName: string,\n target: Target,\n executor: 'build' | 'dev-server' | 'test'\n) {\n logger.warn(\n `The custom ${target} target you provided (${userProvidedTargetName}) cannot be converted to use the @nx/vite:${executor} executor.\n However, we found the following ${target} target in your project that can be converted: ${validFoundTargetName}\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should we convert the ${validFoundTargetName} target to use the @nx/vite:${executor} executor?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(\n `The ${target} target ${userProvidedTargetName} cannot be converted to use the @nx/vite:${executor} executor.\n Please try again, either by providing a different ${target} target or by not providing a target at all (Nx will\n convert the first one it finds, most probably this one: ${validFoundTargetName})\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n }\n}\n\nexport async function handleUnknownExecutors(projectName: string) {\n logger.warn(\n `\n We could not find any targets in project ${projectName} that use executors which \n can be converted to the @nx/vite executors.\n\n This either means that your project may not have a target \n for building, serving, or testing at all, or that your targets are \n using executors that are not known to Nx.\n \n If you still want to convert your project to use the @nx/vite executors,\n please make sure to commit your changes before running this generator.\n `\n );\n\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should Nx convert your project to use the @nx/vite executors?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(`\n Nx could not verify that the executors you are using can be converted to the @nx/vite executors.\n Please try again with a different project.\n `);\n }\n}\n\nfunction handleViteConfigFileExists(\n tree: Tree,\n viteConfigPath: string,\n options: ViteConfigFileOptions,\n buildOption: string,\n imports: string[],\n plugins: string[],\n testOption: string,\n cacheDir: string,\n offsetFromRoot: string,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n if (\n projectAlreadyHasViteTargets?.build &&\n projectAlreadyHasViteTargets?.test\n ) {\n return;\n }\n\n if (process.env.NX_VERBOSE_LOGGING === 'true') {\n logger.info(\n `vite.config.ts already exists for project ${options.project}.`\n );\n }\n\n const buildOptionObject = {\n lib: {\n entry: 'src/index.ts',\n name: options.project,\n fileName: 'index',\n formats: ['es', 'cjs'],\n },\n rollupOptions: {\n external: options.rollupOptionsExternal ?? [],\n },\n };\n\n const testOptionObject = {\n globals: true,\n cache: {\n dir: `${offsetFromRoot}node_modules/.vitest`,\n },\n environment: 'jsdom',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n };\n\n const changed = ensureViteConfigIsCorrect(\n tree,\n viteConfigPath,\n buildOption,\n buildOptionObject,\n imports,\n plugins,\n testOption,\n testOptionObject,\n cacheDir,\n projectAlreadyHasViteTargets ?? {}\n );\n\n if (!changed) {\n logger.warn(\n `Make sure the following setting exists in your Vite configuration file (${viteConfigPath}):\n \n ${buildOption}\n \n `\n );\n }\n}\n"],"names":["findExistingTargetsInProject","addOrChangeTestTarget","addOrChangeBuildTarget","addOrChangeServeTarget","addPreviewTarget","editTsConfig","deleteWebpackConfig","moveAndEditIndexHtml","createOrEditViteConfig","normalizeViteConfigFilePathWithTree","getViteConfigPathForProject","handleUnsupportedUserProvidedTargets","handleUnknownExecutors","targets","userProvidedTargets","output","validFoundTargetName","projectContainsUnsupportedExecutor","userProvidedTargetIsUnsupported","alreadyHasNxViteTargets","supportedExecutors","build","serve","test","unsupportedExecutors","checkUserProvidedTarget","target","includes","executor","hasViteTargets","executorName","preview","foundTargets","tree","options","project","readProjectConfiguration","coveragePath","joinPathFragments","root","testOptions","passWithNoTests","reportsDirectory","offsetFromRoot","jestConfig","outputs","updateProjectConfiguration","buildOptions","outputPath","fileReplacements","base","baseHref","sourcemap","sourcemaps","defaultConfiguration","configurations","development","mode","production","serveTarget","serveOptions","buildTarget","https","hmr","open","proxyConfig","previewOptions","projectConfig","config","readJson","commonCompilerOptions","useDefineForClassFields","module","strict","moduleResolution","resolveJsonModule","isolatedModules","types","noEmit","uiFramework","compilerOptions","lib","allowJs","esModuleInterop","skipLibCheck","allowSyntheticDefaultImports","forceConsistentCasingInFileNames","jsx","include","noUnusedLocals","noUnusedParameters","noImplicitReturns","writeJson","projectRoot","webpackConfigFilePath","webpackConfigPath","exists","delete","indexHtmlPath","index","mainPath","main","replace","indexHtmlContent","read","write","onlyVitest","projectAlreadyHasViteTargets","viteConfigPath","buildOption","includeLib","rollupOptionsExternal","imports","push","viteConfigContent","plugins","testOption","includeVitest","testEnvironment","inSourceTests","defineOption","devServerOption","previewServerOption","workerOption","cacheDir","handleViteConfigFileExists","join","length","configFile","undefined","projectName","Object","values","find","userProvidedTargetName","handleUnsupportedUserProvidedTargetsErrors","logger","warn","Confirm","require","prompt","name","message","initial","shouldConvert","run","Error","process","env","NX_VERBOSE_LOGGING","info","buildOptionObject","entry","fileName","formats","rollupOptions","external","testOptionObject","globals","cache","dir","environment","changed","ensureViteConfigIsCorrect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/vite/src/utils/generator-utils.ts"],"sourcesContent":["import {\n joinPathFragments,\n logger,\n offsetFromRoot,\n readJson,\n readProjectConfiguration,\n TargetConfiguration,\n Tree,\n updateProjectConfiguration,\n writeJson,\n} from '@nx/devkit';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';\nimport { VitestExecutorOptions } from '../executors/test/schema';\nimport { ViteConfigurationGeneratorSchema } from '../generators/configuration/schema';\nimport { ensureViteConfigIsCorrect } from './vite-config-edit-utils';\nimport { addBuildTargetDefaults } from '@nx/devkit/src/generators/add-build-target-defaults';\n\nexport type Target = 'build' | 'serve' | 'test' | 'preview';\nexport type TargetFlags = Partial<Record<Target, boolean>>;\nexport type UserProvidedTargetName = Partial<Record<Target, string>>;\nexport type ValidFoundTargetName = Partial<Record<Target, string>>;\n\nexport function findExistingJsBuildTargetInProject(targets: {\n [targetName: string]: TargetConfiguration;\n}): {\n supported?: string;\n unsupported?: string;\n} {\n const output: {\n supported?: string;\n unsupported?: string;\n } = {};\n\n const supportedExecutors = {\n build: ['@nx/js:babel', '@nx/js:swc', '@nx/rollup:rollup'],\n };\n const unsupportedExecutors = [\n '@nx/angular:ng-packagr-lite',\n '@nx/angular:package',\n '@nx/angular:webpack-browser',\n '@nx/esbuild:esbuild',\n '@nx/react-native:run-ios',\n '@nx/react-native:start',\n '@nx/react-native:run-android',\n '@nx/react-native:bundle',\n '@nx/react-native:build-android',\n '@nx/react-native:bundle',\n '@nx/next:build',\n '@nx/js:tsc',\n '@nrwl/angular:ng-packagr-lite',\n '@nrwl/angular:package',\n '@nrwl/angular:webpack-browser',\n '@nrwl/esbuild:esbuild',\n '@nrwl/react-native:run-ios',\n '@nrwl/react-native:start',\n '@nrwl/react-native:run-android',\n '@nrwl/react-native:bundle',\n '@nrwl/react-native:build-android',\n '@nrwl/react-native:bundle',\n '@nrwl/next:build',\n '@nrwl/js:tsc',\n '@angular-devkit/build-angular:browser',\n '@angular-devkit/build-angular:browser-esbuild',\n '@angular-devkit/build-angular:application',\n ];\n\n // We try to find the target that is using the supported executors\n // for build since this is the one we will be converting\n for (const target in targets) {\n const executorName = targets[target].executor;\n if (supportedExecutors.build.includes(executorName)) {\n output.supported = target;\n } else if (unsupportedExecutors.includes(executorName)) {\n output.unsupported = target;\n }\n }\n return output;\n}\n\nexport function addOrChangeTestTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const reportsDirectory = joinPathFragments(\n offsetFromRoot(project.root),\n 'coverage',\n project.root === '.' ? options.project : project.root\n );\n const testOptions: VitestExecutorOptions = {\n reportsDirectory,\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n project.targets[target].executor = '@nx/vite:test';\n delete project.targets[target].options?.jestConfig;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:test',\n outputs: ['{options.reportsDirectory}'],\n options: testOptions,\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addBuildTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n addBuildTargetDefaults(tree, '@nx/vite:build');\n const project = readProjectConfiguration(tree, options.project);\n const buildOptions: ViteBuildExecutorOptions = {\n outputPath: joinPathFragments(\n 'dist',\n project.root != '.' ? project.root : options.project\n ),\n };\n project.targets ??= {};\n project.targets[target] = {\n executor: '@nx/vite:build',\n outputs: ['{options.outputPath}'],\n defaultConfiguration: 'production',\n options: buildOptions,\n configurations: {\n development: {\n mode: 'development',\n },\n production: {\n mode: 'production',\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addServeTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n project.targets ??= {};\n\n project.targets[target] = {\n executor: '@nx/vite:dev-server',\n defaultConfiguration: 'development',\n options: {\n buildTarget: `${options.project}:build`,\n },\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n hmr: true,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n hmr: false,\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\n/**\n * Adds a target for the preview server.\n *\n * @param tree\n * @param options\n * @param serveTarget An existing serve target.\n */\nexport function addPreviewTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n serveTarget: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const previewOptions: VitePreviewServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n };\n\n project.targets ??= {};\n\n // Update the options from the passed serve target.\n if (project.targets[serveTarget]) {\n const target = project.targets[serveTarget];\n if (target.executor === '@nxext/vite:dev') {\n previewOptions.proxyConfig = target.options.proxyConfig;\n }\n previewOptions['https'] = target.options?.https;\n previewOptions['open'] = target.options?.open;\n }\n\n // Adds a preview target.\n project.targets.preview = {\n executor: '@nx/vite:preview-server',\n defaultConfiguration: 'development',\n options: previewOptions,\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function editTsConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const config = readJson(tree, `${projectConfig.root}/tsconfig.json`);\n\n switch (options.uiFramework) {\n case 'react':\n config.compilerOptions = {\n jsx: 'react-jsx',\n allowJs: false,\n esModuleInterop: false,\n allowSyntheticDefaultImports: true,\n strict: true,\n };\n break;\n case 'none':\n config.compilerOptions = {\n module: 'commonjs',\n forceConsistentCasingInFileNames: true,\n strict: true,\n noImplicitOverride: true,\n noPropertyAccessFromIndexSignature: true,\n noImplicitReturns: true,\n noFallthroughCasesInSwitch: true,\n };\n break;\n default:\n break;\n }\n\n writeJson(tree, `${projectConfig.root}/tsconfig.json`, config);\n}\n\nexport function deleteWebpackConfig(\n tree: Tree,\n projectRoot: string,\n webpackConfigFilePath?: string\n) {\n const webpackConfigPath =\n webpackConfigFilePath && tree.exists(webpackConfigFilePath)\n ? webpackConfigFilePath\n : tree.exists(`${projectRoot}/webpack.config.js`)\n ? `${projectRoot}/webpack.config.js`\n : tree.exists(`${projectRoot}/webpack.config.ts`)\n ? `${projectRoot}/webpack.config.ts`\n : null;\n if (webpackConfigPath) {\n tree.delete(webpackConfigPath);\n }\n}\n\nexport function moveAndEditIndexHtml(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n let indexHtmlPath = `${projectConfig.root}/src/index.html`;\n let mainPath = `${projectConfig.root}/src/main.ts${\n options.uiFramework === 'react' ? 'x' : ''\n }`;\n\n if (projectConfig.root !== '.') {\n mainPath = mainPath.replace(projectConfig.root, '');\n }\n\n if (\n !tree.exists(indexHtmlPath) &&\n tree.exists(`${projectConfig.root}/index.html`)\n ) {\n indexHtmlPath = `${projectConfig.root}/index.html`;\n }\n\n if (tree.exists(indexHtmlPath)) {\n const indexHtmlContent = tree.read(indexHtmlPath, 'utf8');\n if (\n !indexHtmlContent.includes(\n `<script type='module' src='${mainPath}'></script>`\n )\n ) {\n tree.write(\n `${projectConfig.root}/index.html`,\n indexHtmlContent.replace(\n '</body>',\n `<script type='module' src='${mainPath}'></script>\n </body>`\n )\n );\n\n if (tree.exists(`${projectConfig.root}/src/index.html`)) {\n tree.delete(`${projectConfig.root}/src/index.html`);\n }\n }\n } else {\n tree.write(\n `${projectConfig.root}/index.html`,\n `<!DOCTYPE html>\n <html lang='en'>\n <head>\n <meta charset='UTF-8' />\n <link rel='icon' href='/favicon.ico' />\n <meta name='viewport' content='width=device-width, initial-scale=1.0' />\n <title>Vite</title>\n </head>\n <body>\n <div id='root'></div>\n <script type='module' src='${mainPath}'></script>\n </body>\n </html>`\n );\n }\n}\n\nexport interface ViteConfigFileOptions {\n project: string;\n includeLib?: boolean;\n includeVitest?: boolean;\n inSourceTests?: boolean;\n testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;\n rollupOptionsExternal?: string[];\n imports?: string[];\n plugins?: string[];\n coverageProvider?: 'v8' | 'istanbul' | 'custom';\n}\n\nexport function createOrEditViteConfig(\n tree: Tree,\n options: ViteConfigFileOptions,\n onlyVitest: boolean,\n projectAlreadyHasViteTargets?: TargetFlags,\n vitestFileName?: boolean\n) {\n const { root: projectRoot } = readProjectConfiguration(tree, options.project);\n\n const viteConfigPath = vitestFileName\n ? `${projectRoot}/vitest.config.ts`\n : `${projectRoot}/vite.config.ts`;\n\n const buildOutDir =\n projectRoot === '.'\n ? `./dist/${options.project}`\n : `${offsetFromRoot(projectRoot)}dist/${projectRoot}`;\n\n const buildOption = onlyVitest\n ? ''\n : options.includeLib\n ? `\n // Configuration for building your library.\n // See: https://vitejs.dev/guide/build.html#library-mode\n build: {\n outDir: '${buildOutDir}',\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n lib: {\n // Could also be a dictionary or array of multiple entry points.\n entry: 'src/index.ts',\n name: '${options.project}',\n fileName: 'index',\n // Change this to the formats you want to support.\n // Don't forget to update your package.json as well.\n formats: ['es', 'cjs']\n },\n rollupOptions: {\n // External packages that should not be bundled into your library.\n external: [${options.rollupOptionsExternal ?? ''}]\n },\n },`\n : `\n build: {\n outDir: '${buildOutDir}',\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n },\n `;\n\n const imports: string[] = options.imports ? options.imports : [];\n\n if (!onlyVitest && options.includeLib) {\n imports.push(\n `import dts from 'vite-plugin-dts'`,\n `import * as path from 'path'`\n );\n }\n\n let viteConfigContent = '';\n\n const plugins = options.plugins\n ? [...options.plugins, `nxViteTsPaths()`]\n : [`nxViteTsPaths()`];\n\n if (!onlyVitest && options.includeLib) {\n plugins.push(\n `dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })`\n );\n }\n\n const reportsDirectory =\n projectRoot === '.'\n ? `./coverage/${options.project}`\n : `${offsetFromRoot(projectRoot)}coverage/${projectRoot}`;\n\n const testOption = options.includeVitest\n ? `test: {\n globals: true,\n cache: {\n dir: '${offsetFromRoot(projectRoot)}node_modules/.vitest'\n },\n environment: '${options.testEnvironment ?? 'jsdom'}',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n ${\n options.inSourceTests\n ? `includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],`\n : ''\n }\n reporters: ['default'],\n coverage: {\n reportsDirectory: '${reportsDirectory}',\n provider: ${\n options.coverageProvider ? `'${options.coverageProvider}'` : `'v8'`\n },\n }\n },`\n : '';\n\n const defineOption = options.inSourceTests\n ? `define: {\n 'import.meta.vitest': undefined\n },`\n : '';\n\n const devServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n server:{\n port: 4200,\n host: 'localhost',\n },`;\n\n const previewServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n preview:{\n port: 4300,\n host: 'localhost',\n },`;\n\n const workerOption = `\n // Uncomment this if you are using workers. \n // worker: {\n // plugins: [ nxViteTsPaths() ],\n // },`;\n\n const cacheDir = `cacheDir: '${offsetFromRoot(\n projectRoot\n )}node_modules/.vite/${projectRoot}',`;\n\n if (tree.exists(viteConfigPath)) {\n handleViteConfigFileExists(\n tree,\n viteConfigPath,\n options,\n buildOption,\n buildOutDir,\n imports,\n plugins,\n testOption,\n reportsDirectory,\n cacheDir,\n offsetFromRoot(projectRoot),\n projectAlreadyHasViteTargets\n );\n return;\n }\n\n viteConfigContent = `\n /// <reference types='vitest' />\n import { defineConfig } from 'vite';\n ${imports.join(';\\n')}${imports.length ? ';' : ''}\n import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\n \n export default defineConfig({\n root: __dirname,\n ${cacheDir}\n ${devServerOption}\n ${previewServerOption}\n \n plugins: [${plugins.join(',\\n')}],\n ${workerOption}\n ${buildOption}\n ${defineOption}\n ${testOption}\n });`;\n\n tree.write(viteConfigPath, viteConfigContent);\n}\n\nexport function normalizeViteConfigFilePathWithTree(\n tree: Tree,\n projectRoot: string,\n configFile?: string\n): string {\n return configFile && tree.exists(configFile)\n ? configFile\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.ts`))\n ? joinPathFragments(`${projectRoot}/vite.config.ts`)\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.js`))\n ? joinPathFragments(`${projectRoot}/vite.config.js`)\n : undefined;\n}\n\nexport function getViteConfigPathForProject(\n tree: Tree,\n projectName: string,\n target?: string\n) {\n let viteConfigPath: string | undefined;\n const { targets, root } = readProjectConfiguration(tree, projectName);\n if (target) {\n viteConfigPath = targets?.[target]?.options?.configFile;\n } else {\n const config = Object.values(targets).find(\n (config) =>\n config.executor === '@nrwl/nx:build' ||\n config.executor === '@nrwl/vite:build'\n );\n viteConfigPath = config?.options?.configFile;\n }\n\n return normalizeViteConfigFilePathWithTree(tree, root, viteConfigPath);\n}\n\nexport async function handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported: TargetFlags,\n userProvidedTargetName: UserProvidedTargetName,\n validFoundTargetName: ValidFoundTargetName\n) {\n if (userProvidedTargetIsUnsupported.build && validFoundTargetName.build) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.build,\n validFoundTargetName.build,\n 'build',\n 'build'\n );\n }\n\n if (userProvidedTargetIsUnsupported.serve && validFoundTargetName.serve) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.serve,\n validFoundTargetName.serve,\n 'serve',\n 'dev-server'\n );\n }\n\n if (userProvidedTargetIsUnsupported.test && validFoundTargetName.test) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.test,\n validFoundTargetName.test,\n 'test',\n 'test'\n );\n }\n}\n\nasync function handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName: string,\n validFoundTargetName: string,\n target: Target,\n executor: 'build' | 'dev-server' | 'test'\n) {\n logger.warn(\n `The custom ${target} target you provided (${userProvidedTargetName}) cannot be converted to use the @nx/vite:${executor} executor.\n However, we found the following ${target} target in your project that can be converted: ${validFoundTargetName}\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should we convert the ${validFoundTargetName} target to use the @nx/vite:${executor} executor?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(\n `The ${target} target ${userProvidedTargetName} cannot be converted to use the @nx/vite:${executor} executor.\n Please try again, either by providing a different ${target} target or by not providing a target at all (Nx will\n convert the first one it finds, most probably this one: ${validFoundTargetName})\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n }\n}\n\nexport async function handleUnknownConfiguration(projectName: string) {\n if (process.env.NX_INTERACTIVE === 'false') {\n return;\n }\n\n logger.warn(\n `\n We could not find any configuration in project ${projectName} that \n indicates whether we can definitely convert to Vite.\n \n If you still want to convert your project to use Vite,\n please make sure to commit your changes before running this generator.\n `\n );\n\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should Nx convert your project to use Vite?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(`\n Nx could not verify that your project can be converted to use Vite.\n Please try again with a different project.\n `);\n }\n}\n\nfunction handleViteConfigFileExists(\n tree: Tree,\n viteConfigPath: string,\n options: ViteConfigFileOptions,\n buildOption: string,\n buildOutDir: string,\n imports: string[],\n plugins: string[],\n testOption: string,\n reportsDirectory: string,\n cacheDir: string,\n offsetFromRoot: string,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n if (\n projectAlreadyHasViteTargets?.build &&\n projectAlreadyHasViteTargets?.test\n ) {\n return;\n }\n\n if (process.env.NX_VERBOSE_LOGGING === 'true') {\n logger.info(\n `vite.config.ts already exists for project ${options.project}.`\n );\n }\n\n const buildOptionObject = options.includeLib\n ? {\n lib: {\n entry: 'src/index.ts',\n name: options.project,\n fileName: 'index',\n formats: ['es', 'cjs'],\n },\n rollupOptions: {\n external: options.rollupOptionsExternal ?? [],\n },\n outDir: buildOutDir,\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n }\n : {\n outDir: buildOutDir,\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n };\n\n const testOptionObject = {\n globals: true,\n cache: {\n dir: `${offsetFromRoot}node_modules/.vitest`,\n },\n environment: options.testEnvironment ?? 'jsdom',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n reporters: ['default'],\n coverage: {\n reportsDirectory: reportsDirectory,\n provider: `${options.coverageProvider ?? 'v8'}`,\n },\n };\n\n const changed = ensureViteConfigIsCorrect(\n tree,\n viteConfigPath,\n buildOption,\n buildOptionObject,\n imports,\n plugins,\n testOption,\n testOptionObject,\n cacheDir,\n projectAlreadyHasViteTargets ?? {}\n );\n\n if (!changed) {\n logger.warn(\n `Make sure the following setting exists in your Vite configuration file (${viteConfigPath}):\n \n ${buildOption}\n \n `\n );\n }\n}\n"],"names":["findExistingJsBuildTargetInProject","addOrChangeTestTarget","addBuildTarget","addServeTarget","addPreviewTarget","editTsConfig","deleteWebpackConfig","moveAndEditIndexHtml","createOrEditViteConfig","normalizeViteConfigFilePathWithTree","getViteConfigPathForProject","handleUnsupportedUserProvidedTargets","handleUnknownConfiguration","targets","output","supportedExecutors","build","unsupportedExecutors","target","executorName","executor","includes","supported","unsupported","tree","options","project","readProjectConfiguration","reportsDirectory","joinPathFragments","offsetFromRoot","root","testOptions","jestConfig","outputs","updateProjectConfiguration","addBuildTargetDefaults","buildOptions","outputPath","defaultConfiguration","configurations","development","mode","production","buildTarget","hmr","serveTarget","previewOptions","proxyConfig","https","open","preview","projectConfig","config","readJson","uiFramework","compilerOptions","jsx","allowJs","esModuleInterop","allowSyntheticDefaultImports","strict","module","forceConsistentCasingInFileNames","noImplicitOverride","noPropertyAccessFromIndexSignature","noImplicitReturns","noFallthroughCasesInSwitch","writeJson","projectRoot","webpackConfigFilePath","webpackConfigPath","exists","delete","indexHtmlPath","mainPath","replace","indexHtmlContent","read","write","onlyVitest","projectAlreadyHasViteTargets","vitestFileName","viteConfigPath","buildOutDir","buildOption","includeLib","rollupOptionsExternal","imports","push","viteConfigContent","plugins","testOption","includeVitest","testEnvironment","inSourceTests","coverageProvider","defineOption","devServerOption","previewServerOption","workerOption","cacheDir","handleViteConfigFileExists","join","length","configFile","undefined","projectName","Object","values","find","userProvidedTargetIsUnsupported","userProvidedTargetName","validFoundTargetName","handleUnsupportedUserProvidedTargetsErrors","serve","test","logger","warn","Confirm","require","prompt","name","message","initial","shouldConvert","run","Error","process","env","NX_INTERACTIVE","NX_VERBOSE_LOGGING","info","buildOptionObject","lib","entry","fileName","formats","rollupOptions","external","outDir","reportCompressedSize","commonjsOptions","transformMixedEsModules","testOptionObject","globals","cache","dir","environment","include","reporters","coverage","provider","changed","ensureViteConfigIsCorrect"],"mappings":"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"}
|
|
@@ -1,33 +1,17 @@
|
|
|
1
1
|
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
-
import { BuildOptions, InlineConfig, PreviewOptions, ServerOptions } from 'vite';
|
|
3
2
|
import { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';
|
|
4
|
-
import { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';
|
|
5
|
-
import { ViteBuildExecutorOptions } from '../executors/build/schema';
|
|
6
3
|
/**
|
|
7
4
|
* Returns the path to the vite config file or undefined when not found.
|
|
8
5
|
*/
|
|
9
|
-
export declare function normalizeViteConfigFilePath(projectRoot: string, configFile?: string): string | undefined;
|
|
6
|
+
export declare function normalizeViteConfigFilePath(contextRoot: string, projectRoot: string, configFile?: string): string | undefined;
|
|
10
7
|
export declare function getProjectTsConfigPath(projectRoot: string): string | undefined;
|
|
11
8
|
/**
|
|
12
9
|
* Returns the path to the proxy configuration file or undefined when not found.
|
|
13
10
|
*/
|
|
14
11
|
export declare function getViteServerProxyConfigPath(nxProxyConfig: string | undefined, context: ExecutorContext): string | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* Builds the shared options for vite.
|
|
17
|
-
*
|
|
18
|
-
* Most shared options are derived from the build target.
|
|
19
|
-
*/
|
|
20
|
-
export declare function getViteSharedConfig(options: ViteBuildExecutorOptions, clearScreen: boolean | undefined, context: ExecutorContext): InlineConfig;
|
|
21
12
|
/**
|
|
22
13
|
* Builds the options for the vite dev server.
|
|
23
14
|
*/
|
|
24
|
-
export declare function getViteServerOptions(options: ViteDevServerExecutorOptions, context: ExecutorContext): Promise<
|
|
25
|
-
|
|
26
|
-
* Builds the build options for the vite.
|
|
27
|
-
*/
|
|
28
|
-
export declare function getViteBuildOptions(options: ViteBuildExecutorOptions, context: ExecutorContext): BuildOptions;
|
|
29
|
-
/**
|
|
30
|
-
* Builds the options for the vite preview server.
|
|
31
|
-
*/
|
|
32
|
-
export declare function getVitePreviewOptions(options: VitePreviewServerExecutorOptions, context: ExecutorContext): PreviewOptions;
|
|
15
|
+
export declare function getViteServerOptions(options: ViteDevServerExecutorOptions, context: ExecutorContext): Promise<Record<string, unknown>>;
|
|
16
|
+
export declare function getProxyConfig(context: ExecutorContext, proxyConfig?: string): Record<string, string | unknown> | undefined;
|
|
33
17
|
export declare function getNxTargetOptions(target: string, context: ExecutorContext): any;
|
|
@@ -15,17 +15,11 @@ _export(exports, {
|
|
|
15
15
|
getViteServerProxyConfigPath: function() {
|
|
16
16
|
return getViteServerProxyConfigPath;
|
|
17
17
|
},
|
|
18
|
-
getViteSharedConfig: function() {
|
|
19
|
-
return getViteSharedConfig;
|
|
20
|
-
},
|
|
21
18
|
getViteServerOptions: function() {
|
|
22
19
|
return getViteServerOptions;
|
|
23
20
|
},
|
|
24
|
-
|
|
25
|
-
return
|
|
26
|
-
},
|
|
27
|
-
getVitePreviewOptions: function() {
|
|
28
|
-
return getVitePreviewOptions;
|
|
21
|
+
getProxyConfig: function() {
|
|
22
|
+
return getProxyConfig;
|
|
29
23
|
},
|
|
30
24
|
getNxTargetOptions: function() {
|
|
31
25
|
return getNxTargetOptions;
|
|
@@ -33,9 +27,8 @@ _export(exports, {
|
|
|
33
27
|
});
|
|
34
28
|
const _devkit = require("@nx/devkit");
|
|
35
29
|
const _fs = require("fs");
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
function normalizeViteConfigFilePath(projectRoot, configFile) {
|
|
30
|
+
const _executorutils = require("./executor-utils");
|
|
31
|
+
function normalizeViteConfigFilePath(contextRoot, projectRoot, configFile) {
|
|
39
32
|
if (configFile) {
|
|
40
33
|
const normalized = (0, _devkit.joinPathFragments)(configFile);
|
|
41
34
|
if (!(0, _fs.existsSync)(normalized)) {
|
|
@@ -43,7 +36,21 @@ function normalizeViteConfigFilePath(projectRoot, configFile) {
|
|
|
43
36
|
}
|
|
44
37
|
return normalized;
|
|
45
38
|
}
|
|
46
|
-
|
|
39
|
+
const allowsExt = [
|
|
40
|
+
'js',
|
|
41
|
+
'mjs',
|
|
42
|
+
'ts',
|
|
43
|
+
'cjs',
|
|
44
|
+
'mts',
|
|
45
|
+
'cts'
|
|
46
|
+
];
|
|
47
|
+
for (const ext of allowsExt){
|
|
48
|
+
if ((0, _fs.existsSync)((0, _devkit.joinPathFragments)(contextRoot, projectRoot, `vite.config.${ext}`))) {
|
|
49
|
+
return (0, _devkit.joinPathFragments)(contextRoot, projectRoot, `vite.config.${ext}`);
|
|
50
|
+
} else if ((0, _fs.existsSync)((0, _devkit.joinPathFragments)(contextRoot, projectRoot, `vitest.config.${ext}`))) {
|
|
51
|
+
return (0, _devkit.joinPathFragments)(contextRoot, projectRoot, `vitest.config.${ext}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
47
54
|
}
|
|
48
55
|
function getProjectTsConfigPath(projectRoot) {
|
|
49
56
|
return (0, _fs.existsSync)((0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.app.json')) ? (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.app.json') : (0, _fs.existsSync)((0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.lib.json')) ? (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.lib.json') : (0, _fs.existsSync)((0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.json')) ? (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.json') : undefined;
|
|
@@ -57,35 +64,12 @@ function getViteServerProxyConfigPath(nxProxyConfig, context) {
|
|
|
57
64
|
}
|
|
58
65
|
}
|
|
59
66
|
}
|
|
60
|
-
function getViteSharedConfig(options, clearScreen, context) {
|
|
61
|
-
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
62
|
-
const root = projectRoot === '.' ? process.cwd() : (0, _path.relative)(context.cwd, (0, _devkit.joinPathFragments)(context.root, projectRoot));
|
|
63
|
-
return {
|
|
64
|
-
mode: options.mode,
|
|
65
|
-
root,
|
|
66
|
-
base: options.base,
|
|
67
|
-
configFile: normalizeViteConfigFilePath(projectRoot, options.configFile),
|
|
68
|
-
plugins: [
|
|
69
|
-
(0, _rollupreplacefilesplugin.default)(options.fileReplacements)
|
|
70
|
-
],
|
|
71
|
-
optimizeDeps: {
|
|
72
|
-
force: options.force
|
|
73
|
-
},
|
|
74
|
-
clearScreen: clearScreen,
|
|
75
|
-
logLevel: options.logLevel
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
67
|
async function getViteServerOptions(options, context) {
|
|
68
|
+
// returns vite ServerOptions
|
|
79
69
|
// Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.
|
|
80
|
-
const { searchForWorkspaceRoot } = await
|
|
70
|
+
const { searchForWorkspaceRoot } = await (0, _executorutils.loadViteDynamicImport)();
|
|
81
71
|
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
82
72
|
const serverOptions = {
|
|
83
|
-
host: options.host,
|
|
84
|
-
port: options.port,
|
|
85
|
-
https: options.https,
|
|
86
|
-
hmr: options.hmr,
|
|
87
|
-
open: options.open,
|
|
88
|
-
cors: options.cors,
|
|
89
73
|
fs: {
|
|
90
74
|
allow: [
|
|
91
75
|
searchForWorkspaceRoot((0, _devkit.joinPathFragments)(projectRoot)),
|
|
@@ -100,40 +84,13 @@ async function getViteServerOptions(options, context) {
|
|
|
100
84
|
}
|
|
101
85
|
return serverOptions;
|
|
102
86
|
}
|
|
103
|
-
function
|
|
104
|
-
const
|
|
105
|
-
const outputPath = (0, _devkit.joinPathFragments)('dist', projectRoot != '.' ? projectRoot : context.projectName);
|
|
106
|
-
var _options_outputPath;
|
|
107
|
-
return {
|
|
108
|
-
outDir: (0, _path.relative)(projectRoot, (_options_outputPath = options.outputPath) != null ? _options_outputPath : outputPath),
|
|
109
|
-
emptyOutDir: options.emptyOutDir,
|
|
110
|
-
reportCompressedSize: true,
|
|
111
|
-
cssCodeSplit: options.cssCodeSplit,
|
|
112
|
-
target: options.target,
|
|
113
|
-
commonjsOptions: {
|
|
114
|
-
transformMixedEsModules: true
|
|
115
|
-
},
|
|
116
|
-
sourcemap: options.sourcemap,
|
|
117
|
-
minify: options.minify,
|
|
118
|
-
manifest: options.manifest,
|
|
119
|
-
ssrManifest: options.ssrManifest,
|
|
120
|
-
ssr: options.ssr,
|
|
121
|
-
watch: options.watch
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
function getVitePreviewOptions(options, context) {
|
|
125
|
-
const serverOptions = {
|
|
126
|
-
host: options.host,
|
|
127
|
-
port: options.port,
|
|
128
|
-
https: options.https,
|
|
129
|
-
open: options.open
|
|
130
|
-
};
|
|
131
|
-
const proxyConfigPath = getViteServerProxyConfigPath(options.proxyConfig, context);
|
|
87
|
+
function getProxyConfig(context, proxyConfig) {
|
|
88
|
+
const proxyConfigPath = getViteServerProxyConfigPath(proxyConfig, context);
|
|
132
89
|
if (proxyConfigPath) {
|
|
133
90
|
_devkit.logger.info(`Loading proxy configuration from: ${proxyConfigPath}`);
|
|
134
|
-
|
|
91
|
+
return require(proxyConfigPath);
|
|
135
92
|
}
|
|
136
|
-
return
|
|
93
|
+
return;
|
|
137
94
|
}
|
|
138
95
|
function getNxTargetOptions(target, context) {
|
|
139
96
|
const targetObj = (0, _devkit.parseTargetString)(target, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/vite/src/utils/options-utils.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n parseTargetString,\n readTargetOptions,\n} from '@nx/devkit';\nimport { existsSync } from 'fs';\nimport { relative } from 'path';\nimport {\n BuildOptions,\n InlineConfig,\n PluginOption,\n PreviewOptions,\n ServerOptions,\n} from 'vite';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';\nimport replaceFiles from '../../plugins/rollup-replace-files.plugin';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\n\n/**\n * Returns the path to the vite config file or undefined when not found.\n */\nexport function normalizeViteConfigFilePath(\n projectRoot: string,\n configFile?: string\n): string | undefined {\n if (configFile) {\n const normalized = joinPathFragments(configFile);\n if (!existsSync(normalized)) {\n throw new Error(\n `Could not find vite config at provided path \"${normalized}\".`\n );\n }\n return normalized;\n }\n return existsSync(joinPathFragments(projectRoot, 'vite.config.ts'))\n ? joinPathFragments(projectRoot, 'vite.config.ts')\n : existsSync(joinPathFragments(projectRoot, 'vite.config.js'))\n ? joinPathFragments(projectRoot, 'vite.config.js')\n : undefined;\n}\n\nexport function getProjectTsConfigPath(\n projectRoot: string\n): string | undefined {\n return existsSync(joinPathFragments(projectRoot, 'tsconfig.app.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.app.json')\n : existsSync(joinPathFragments(projectRoot, 'tsconfig.lib.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.lib.json')\n : existsSync(joinPathFragments(projectRoot, 'tsconfig.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.json')\n : undefined;\n}\n\n/**\n * Returns the path to the proxy configuration file or undefined when not found.\n */\nexport function getViteServerProxyConfigPath(\n nxProxyConfig: string | undefined,\n context: ExecutorContext\n): string | undefined {\n if (nxProxyConfig) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n const proxyConfigPath = nxProxyConfig\n ? joinPathFragments(context.root, nxProxyConfig)\n : joinPathFragments(projectRoot, 'proxy.conf.json');\n\n if (existsSync(proxyConfigPath)) {\n return proxyConfigPath;\n }\n }\n}\n\n/**\n * Builds the shared options for vite.\n *\n * Most shared options are derived from the build target.\n */\nexport function getViteSharedConfig(\n options: ViteBuildExecutorOptions,\n clearScreen: boolean | undefined,\n context: ExecutorContext\n): InlineConfig {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n return {\n mode: options.mode,\n root,\n base: options.base,\n configFile: normalizeViteConfigFilePath(projectRoot, options.configFile),\n plugins: [replaceFiles(options.fileReplacements) as PluginOption],\n optimizeDeps: { force: options.force },\n clearScreen: clearScreen,\n logLevel: options.logLevel,\n };\n}\n\n/**\n * Builds the options for the vite dev server.\n */\nexport async function getViteServerOptions(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): Promise<ServerOptions> {\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { searchForWorkspaceRoot } = await (Function(\n 'return import(\"vite\")'\n )() as Promise<typeof import('vite')>);\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const serverOptions: ServerOptions = {\n host: options.host,\n port: options.port,\n https: options.https,\n hmr: options.hmr,\n open: options.open,\n cors: options.cors,\n fs: {\n allow: [\n searchForWorkspaceRoot(joinPathFragments(projectRoot)),\n joinPathFragments(context.root, 'node_modules/vite'),\n ],\n },\n };\n\n const proxyConfigPath = getViteServerProxyConfigPath(\n options.proxyConfig,\n context\n );\n if (proxyConfigPath) {\n logger.info(`Loading proxy configuration from: ${proxyConfigPath}`);\n serverOptions.proxy = require(proxyConfigPath);\n }\n\n return serverOptions;\n}\n\n/**\n * Builds the build options for the vite.\n */\nexport function getViteBuildOptions(\n options: ViteBuildExecutorOptions,\n context: ExecutorContext\n): BuildOptions {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n const outputPath = joinPathFragments(\n 'dist',\n projectRoot != '.' ? projectRoot : context.projectName\n );\n\n return {\n outDir: relative(projectRoot, options.outputPath ?? outputPath),\n emptyOutDir: options.emptyOutDir,\n reportCompressedSize: true,\n cssCodeSplit: options.cssCodeSplit,\n target: options.target,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n sourcemap: options.sourcemap,\n minify: options.minify,\n manifest: options.manifest,\n ssrManifest: options.ssrManifest,\n ssr: options.ssr,\n watch: options.watch as BuildOptions['watch'],\n };\n}\n\n/**\n * Builds the options for the vite preview server.\n */\nexport function getVitePreviewOptions(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n): PreviewOptions {\n const serverOptions: ServerOptions = {\n host: options.host,\n port: options.port,\n https: options.https,\n open: options.open,\n };\n\n const proxyConfigPath = getViteServerProxyConfigPath(\n options.proxyConfig,\n context\n );\n if (proxyConfigPath) {\n logger.info(`Loading proxy configuration from: ${proxyConfigPath}`);\n serverOptions.proxy = require(proxyConfigPath);\n }\n\n return serverOptions;\n}\n\nexport function getNxTargetOptions(target: string, context: ExecutorContext) {\n const targetObj = parseTargetString(target, context);\n return readTargetOptions(targetObj, context);\n}\n"],"names":["normalizeViteConfigFilePath","getProjectTsConfigPath","getViteServerProxyConfigPath","getViteSharedConfig","getViteServerOptions","getViteBuildOptions","getVitePreviewOptions","getNxTargetOptions","projectRoot","configFile","normalized","joinPathFragments","existsSync","Error","undefined","nxProxyConfig","context","projectsConfigurations","projects","projectName","root","proxyConfigPath","options","clearScreen","process","cwd","relative","mode","base","plugins","replaceFiles","fileReplacements","optimizeDeps","force","logLevel","searchForWorkspaceRoot","Function","serverOptions","host","port","https","hmr","open","cors","fs","allow","proxyConfig","logger","info","proxy","require","outputPath","outDir","emptyOutDir","reportCompressedSize","cssCodeSplit","target","commonjsOptions","transformMixedEsModules","sourcemap","minify","manifest","ssrManifest","ssr","watch","targetObj","parseTargetString","readTargetOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/vite/src/utils/options-utils.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n parseTargetString,\n readTargetOptions,\n} from '@nx/devkit';\nimport { existsSync } from 'fs';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport { loadViteDynamicImport } from './executor-utils';\n\n/**\n * Returns the path to the vite config file or undefined when not found.\n */\nexport function normalizeViteConfigFilePath(\n contextRoot: string,\n projectRoot: string,\n configFile?: string\n): string | undefined {\n if (configFile) {\n const normalized = joinPathFragments(configFile);\n if (!existsSync(normalized)) {\n throw new Error(\n `Could not find vite config at provided path \"${normalized}\".`\n );\n }\n return normalized;\n }\n\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (\n existsSync(\n joinPathFragments(contextRoot, projectRoot, `vite.config.${ext}`)\n )\n ) {\n return joinPathFragments(contextRoot, projectRoot, `vite.config.${ext}`);\n } else if (\n existsSync(\n joinPathFragments(contextRoot, projectRoot, `vitest.config.${ext}`)\n )\n ) {\n return joinPathFragments(\n contextRoot,\n projectRoot,\n `vitest.config.${ext}`\n );\n }\n }\n}\n\nexport function getProjectTsConfigPath(\n projectRoot: string\n): string | undefined {\n return existsSync(joinPathFragments(projectRoot, 'tsconfig.app.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.app.json')\n : existsSync(joinPathFragments(projectRoot, 'tsconfig.lib.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.lib.json')\n : existsSync(joinPathFragments(projectRoot, 'tsconfig.json'))\n ? joinPathFragments(projectRoot, 'tsconfig.json')\n : undefined;\n}\n\n/**\n * Returns the path to the proxy configuration file or undefined when not found.\n */\nexport function getViteServerProxyConfigPath(\n nxProxyConfig: string | undefined,\n context: ExecutorContext\n): string | undefined {\n if (nxProxyConfig) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n const proxyConfigPath = nxProxyConfig\n ? joinPathFragments(context.root, nxProxyConfig)\n : joinPathFragments(projectRoot, 'proxy.conf.json');\n\n if (existsSync(proxyConfigPath)) {\n return proxyConfigPath;\n }\n }\n}\n\n/**\n * Builds the options for the vite dev server.\n */\nexport async function getViteServerOptions(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): Promise<Record<string, unknown>> {\n // returns vite ServerOptions\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { searchForWorkspaceRoot } = await loadViteDynamicImport();\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const serverOptions: Record<string, unknown> = {\n fs: {\n allow: [\n searchForWorkspaceRoot(joinPathFragments(projectRoot)),\n joinPathFragments(context.root, 'node_modules/vite'),\n ],\n },\n };\n\n const proxyConfigPath = getViteServerProxyConfigPath(\n options.proxyConfig,\n context\n );\n if (proxyConfigPath) {\n logger.info(`Loading proxy configuration from: ${proxyConfigPath}`);\n serverOptions.proxy = require(proxyConfigPath);\n }\n\n return serverOptions;\n}\n\nexport function getProxyConfig(\n context: ExecutorContext,\n proxyConfig?: string\n): Record<string, string | unknown> | undefined {\n const proxyConfigPath = getViteServerProxyConfigPath(proxyConfig, context);\n if (proxyConfigPath) {\n logger.info(`Loading proxy configuration from: ${proxyConfigPath}`);\n return require(proxyConfigPath);\n }\n return;\n}\n\nexport function getNxTargetOptions(target: string, context: ExecutorContext) {\n const targetObj = parseTargetString(target, context);\n return readTargetOptions(targetObj, context);\n}\n"],"names":["normalizeViteConfigFilePath","getProjectTsConfigPath","getViteServerProxyConfigPath","getViteServerOptions","getProxyConfig","getNxTargetOptions","contextRoot","projectRoot","configFile","normalized","joinPathFragments","existsSync","Error","allowsExt","ext","undefined","nxProxyConfig","context","projectsConfigurations","projects","projectName","root","proxyConfigPath","options","searchForWorkspaceRoot","loadViteDynamicImport","serverOptions","fs","allow","proxyConfig","logger","info","proxy","require","target","targetObj","parseTargetString","readTargetOptions"],"mappings":"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"}
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
"targets": {
|
|
8
8
|
"lint": {
|
|
9
9
|
"executor": "@nx/eslint:lint",
|
|
10
|
-
"outputs": ["{options.outputFile}"]
|
|
11
|
-
"options": {
|
|
12
|
-
"lintFilePatterns": ["libs/react-lib-nonb-jest/**/*.{ts,tsx,js,jsx}"]
|
|
13
|
-
}
|
|
10
|
+
"outputs": ["{options.outputFile}"]
|
|
14
11
|
},
|
|
15
12
|
"test": {
|
|
16
13
|
"executor": "@nx/jest:jest",
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
"targets": {
|
|
8
8
|
"lint": {
|
|
9
9
|
"executor": "@nx/eslint:lint",
|
|
10
|
-
"outputs": ["{options.outputFile}"]
|
|
11
|
-
"options": {
|
|
12
|
-
"lintFilePatterns": ["libs/react-lib-nonb-vitest/**/*.{ts,tsx,js,jsx}"]
|
|
13
|
-
}
|
|
10
|
+
"outputs": ["{options.outputFile}"]
|
|
14
11
|
},
|
|
15
12
|
"test": {
|
|
16
13
|
"executor": "@nx/vite:test",
|
|
@@ -32,12 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"lint": {
|
|
34
34
|
"executor": "@nx/eslint:lint",
|
|
35
|
-
"outputs": ["{options.outputFile}"]
|
|
36
|
-
"options": {
|
|
37
|
-
"lintFilePatterns": [
|
|
38
|
-
"apps/my-test-mixed-react-app/**/*.{ts,tsx,js,jsx}"
|
|
39
|
-
]
|
|
40
|
-
}
|
|
35
|
+
"outputs": ["{options.outputFile}"]
|
|
41
36
|
},
|
|
42
37
|
"test": {
|
|
43
38
|
"executor": "@nx/jest:jest",
|
|
@@ -47,10 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"lint": {
|
|
49
49
|
"executor": "@nrwl/linter:eslint",
|
|
50
|
-
"outputs": ["{options.outputFile}"]
|
|
51
|
-
"options": {
|
|
52
|
-
"lintFilePatterns": ["apps/my-test-react-vite-app/**/*.{ts,tsx,js,jsx}"]
|
|
53
|
-
}
|
|
50
|
+
"outputs": ["{options.outputFile}"]
|
|
54
51
|
}
|
|
55
52
|
},
|
|
56
53
|
"tags": []
|
|
@@ -55,10 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"lint": {
|
|
57
57
|
"executor": "@random/something:test",
|
|
58
|
-
"outputs": ["{options.outputFile}"]
|
|
59
|
-
"options": {
|
|
60
|
-
"lintFilePatterns": ["apps/my-test-random-app/**/*.ts"]
|
|
61
|
-
}
|
|
58
|
+
"outputs": ["{options.outputFile}"]
|
|
62
59
|
},
|
|
63
60
|
"test": {
|
|
64
61
|
"executor": "@random/something:test",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Tree } from '@nx/devkit';
|
|
2
2
|
export declare function mockViteReactAppGenerator(tree: Tree): Tree;
|
|
3
|
-
export declare function mockReactAppGenerator(tree: Tree): Tree;
|
|
3
|
+
export declare function mockReactAppGenerator(tree: Tree, userAppName?: string): Tree;
|
|
4
4
|
export declare function mockReactMixedAppGenerator(tree: Tree): Tree;
|
|
5
5
|
export declare function mockWebAppGenerator(tree: Tree): Tree;
|
|
6
6
|
export declare function mockAngularAppGenerator(tree: Tree): Tree;
|
package/src/utils/test-utils.js
CHANGED
|
@@ -33,9 +33,7 @@ _export(exports, {
|
|
|
33
33
|
});
|
|
34
34
|
const _extends = require("@swc/helpers/_/_extends");
|
|
35
35
|
const _devkit = require("@nx/devkit");
|
|
36
|
-
const _reactprojectconfigjson = require("./test-files/react-project.config.json");
|
|
37
36
|
const _reactviteprojectconfigjson = require("./test-files/react-vite-project.config.json");
|
|
38
|
-
const _webprojectconfigjson = require("./test-files/web-project.config.json");
|
|
39
37
|
const _angularprojectconfigjson = require("./test-files/angular-project.config.json");
|
|
40
38
|
const _unknownprojectconfigjson = require("./test-files/unknown-project.config.json");
|
|
41
39
|
const _reactmixedprojectconfigjson = require("./test-files/react-mixed-project.config.json");
|
|
@@ -147,9 +145,10 @@ function mockViteReactAppGenerator(tree) {
|
|
|
147
145
|
}));
|
|
148
146
|
return tree;
|
|
149
147
|
}
|
|
150
|
-
function mockReactAppGenerator(tree) {
|
|
151
|
-
const appName = 'my-test-react-app';
|
|
148
|
+
function mockReactAppGenerator(tree, userAppName) {
|
|
149
|
+
const appName = userAppName != null ? userAppName : 'my-test-react-app';
|
|
152
150
|
tree.write(`apps/${appName}/src/main.tsx`, `import ReactDOM from 'react-dom';\n`);
|
|
151
|
+
tree.write(`apps/${appName}/webpack.config.ts`, ``);
|
|
153
152
|
tree.write(`apps/${appName}/tsconfig.json`, `{
|
|
154
153
|
"extends": "../../tsconfig.base.json",
|
|
155
154
|
"compilerOptions": {
|
|
@@ -213,18 +212,10 @@ function mockReactAppGenerator(tree) {
|
|
|
213
212
|
<div id="root"></div>
|
|
214
213
|
</body>
|
|
215
214
|
</html>`);
|
|
216
|
-
(0, _devkit.writeJson)(tree,
|
|
217
|
-
projects: {
|
|
218
|
-
'my-test-react-app': _extends._({}, _reactprojectconfigjson, {
|
|
219
|
-
root: `apps/${appName}`,
|
|
220
|
-
projectType: 'application'
|
|
221
|
-
})
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
(0, _devkit.writeJson)(tree, `apps/${appName}/project.json`, _extends._({}, _reactprojectconfigjson, {
|
|
215
|
+
(0, _devkit.writeJson)(tree, `apps/${appName}/project.json`, {
|
|
225
216
|
root: `apps/${appName}`,
|
|
226
217
|
projectType: 'application'
|
|
227
|
-
})
|
|
218
|
+
});
|
|
228
219
|
return tree;
|
|
229
220
|
}
|
|
230
221
|
function mockReactMixedAppGenerator(tree) {
|
|
@@ -324,6 +315,7 @@ function mockWebAppGenerator(tree) {
|
|
|
324
315
|
]
|
|
325
316
|
}
|
|
326
317
|
`);
|
|
318
|
+
tree.write(`apps/${appName}/webpack.config.ts`, ``);
|
|
327
319
|
tree.write(`apps/${appName}/src/index.html`, `<!DOCTYPE html>
|
|
328
320
|
<html lang="en">
|
|
329
321
|
<head>
|
|
@@ -341,16 +333,16 @@ function mockWebAppGenerator(tree) {
|
|
|
341
333
|
`);
|
|
342
334
|
(0, _devkit.writeJson)(tree, 'workspace.json', {
|
|
343
335
|
projects: {
|
|
344
|
-
'my-test-web-app':
|
|
336
|
+
'my-test-web-app': {
|
|
345
337
|
root: `apps/${appName}`,
|
|
346
338
|
projectType: 'application'
|
|
347
|
-
}
|
|
339
|
+
}
|
|
348
340
|
}
|
|
349
341
|
});
|
|
350
|
-
(0, _devkit.writeJson)(tree, `apps/${appName}/project.json`,
|
|
342
|
+
(0, _devkit.writeJson)(tree, `apps/${appName}/project.json`, {
|
|
351
343
|
root: `apps/${appName}`,
|
|
352
344
|
projectType: 'application'
|
|
353
|
-
})
|
|
345
|
+
});
|
|
354
346
|
return tree;
|
|
355
347
|
}
|
|
356
348
|
function mockAngularAppGenerator(tree) {
|