@nx/vite 19.1.0 → 19.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/executors.js.map +1 -1
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/plugin.js +3 -3
- package/plugin.js.map +1 -1
- package/plugins/nx-tsconfig-paths.plugin.js.map +1 -1
- package/plugins/nx-vite-build-coordination.plugin.js.map +1 -1
- package/plugins/rollup-replace-files.plugin.js.map +1 -1
- package/src/executors/build/build.impl.js +5 -5
- package/src/executors/build/build.impl.js.map +1 -1
- package/src/executors/build/compat.js.map +1 -1
- package/src/executors/build/schema.d.js.map +1 -1
- package/src/executors/dev-server/compat.js.map +1 -1
- package/src/executors/dev-server/dev-server.impl.js +3 -3
- package/src/executors/dev-server/dev-server.impl.js.map +1 -1
- package/src/executors/dev-server/schema.d.js.map +1 -1
- package/src/executors/preview-server/compat.js.map +1 -1
- package/src/executors/preview-server/preview-server.impl.js +3 -3
- package/src/executors/preview-server/preview-server.impl.js.map +1 -1
- package/src/executors/preview-server/schema.d.js.map +1 -1
- package/src/executors/test/compat.js.map +1 -1
- package/src/executors/test/lib/nx-reporter.js.map +1 -1
- package/src/executors/test/lib/utils.js.map +1 -1
- package/src/executors/test/schema.d.js.map +1 -1
- package/src/executors/test/vitest.impl.js +3 -3
- package/src/executors/test/vitest.impl.js.map +1 -1
- package/src/generators/configuration/configuration.js +3 -3
- package/src/generators/configuration/configuration.js.map +1 -1
- package/src/generators/configuration/lib/convert-non-vite.js.map +1 -1
- package/src/generators/configuration/schema.d.js.map +1 -1
- package/src/generators/init/init.js +4 -4
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/lib/utils.js +3 -3
- package/src/generators/init/lib/utils.js.map +1 -1
- package/src/generators/init/schema.d.js.map +1 -1
- package/src/generators/vitest/schema.d.js.map +1 -1
- package/src/generators/vitest/vitest-generator.js +3 -3
- package/src/generators/vitest/vitest-generator.js.map +1 -1
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -1
- package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.js.map +1 -1
- 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.js.map +1 -1
- package/src/migrations/update-17-2-0/lib/add-file-replacements.js.map +1 -1
- package/src/migrations/update-17-2-0/lib/edit-build-config.js +0 -1
- package/src/migrations/update-17-2-0/lib/edit-build-config.js.map +1 -1
- package/src/migrations/update-17-2-0/lib/edit-test-config.js +0 -1
- package/src/migrations/update-17-2-0/lib/edit-test-config.js.map +1 -1
- package/src/migrations/update-17-2-0/lib/vite-config-with-additional-js.fixture.js.map +1 -1
- package/src/migrations/update-17-2-0/update-vite-config.js +0 -1
- package/src/migrations/update-17-2-0/update-vite-config.js.map +1 -1
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js.map +1 -1
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js.map +1 -1
- package/src/plugins/plugin.js.map +1 -1
- package/src/utils/ensure-dependencies.js.map +1 -1
- package/src/utils/executor-utils.js +3 -3
- package/src/utils/executor-utils.js.map +1 -1
- package/src/utils/find-vite-config.js.map +1 -1
- package/src/utils/generator-utils.js +19 -18
- package/src/utils/generator-utils.js.map +1 -1
- package/src/utils/options-utils.js +8 -8
- package/src/utils/options-utils.js.map +1 -1
- package/src/utils/test-files/test-vite-configs.js +21 -21
- package/src/utils/test-files/test-vite-configs.js.map +1 -1
- package/src/utils/test-utils.js +12 -12
- package/src/utils/test-utils.js.map +1 -1
- package/src/utils/versions.d.ts +1 -1
- package/src/utils/versions.js +20 -20
- package/src/utils/versions.js.map +1 -1
- package/src/utils/vite-config-edit-utils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/executors/test/vitest.impl.ts"],"sourcesContent":["import { ExecutorContext, workspaceRoot } from '@nx/devkit';\nimport { VitestExecutorOptions } from './schema';\nimport { resolve } from 'path';\nimport { registerTsConfigPaths } from '@nx/js/src/internal';\nimport { NxReporter } from './lib/nx-reporter';\nimport { getOptions } from './lib/utils';\nimport { loadVitestDynamicImport } from '../../utils/executor-utils';\n\nexport async function* vitestExecutor(\n options: VitestExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));\n\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { startVitest } = await loadVitestDynamicImport();\n\n const resolvedOptions =\n (await getOptions(options, context, projectRoot)) ?? {};\n\n const watch = resolvedOptions['watch'] === true;\n\n const nxReporter = new NxReporter(watch);\n if (resolvedOptions['reporters'] === undefined) {\n resolvedOptions['reporters'] = [];\n } else if (typeof resolvedOptions['reporters'] === 'string') {\n resolvedOptions['reporters'] = [resolvedOptions['reporters']];\n }\n resolvedOptions['reporters'].push(nxReporter);\n\n const cliFilters = options.testFiles ?? [];\n\n const ctx = await startVitest(\n resolvedOptions['mode'] ?? 'test',\n cliFilters,\n resolvedOptions\n );\n\n let hasErrors = false;\n\n const processExit = () => {\n ctx.exit();\n if (hasErrors) {\n process.exit(1);\n } else {\n process.exit(0);\n }\n };\n\n if (watch) {\n process.on('SIGINT', processExit);\n process.on('SIGTERM', processExit);\n process.on('exit', processExit);\n }\n\n for await (const report of nxReporter) {\n // vitest sets the exitCode = 1 when code coverage isn't met\n hasErrors =\n report.hasErrors || (process.exitCode && process.exitCode !== 0);\n }\n\n return {\n success: !hasErrors,\n };\n}\n\nexport default vitestExecutor;\n"],"names":["vitestExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","resolve","workspaceRoot","process","env","VITE_CJS_IGNORE_WARNING","startVitest","loadVitestDynamicImport","resolvedOptions","getOptions","watch","nxReporter","NxReporter","undefined","push","cliFilters","testFiles","ctx","hasErrors","processExit","exit","on","report","exitCode","success"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/executors/test/vitest.impl.ts"],"sourcesContent":["import { ExecutorContext, workspaceRoot } from '@nx/devkit';\nimport { VitestExecutorOptions } from './schema';\nimport { resolve } from 'path';\nimport { registerTsConfigPaths } from '@nx/js/src/internal';\nimport { NxReporter } from './lib/nx-reporter';\nimport { getOptions } from './lib/utils';\nimport { loadVitestDynamicImport } from '../../utils/executor-utils';\n\nexport async function* vitestExecutor(\n options: VitestExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));\n\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { startVitest } = await loadVitestDynamicImport();\n\n const resolvedOptions =\n (await getOptions(options, context, projectRoot)) ?? {};\n\n const watch = resolvedOptions['watch'] === true;\n\n const nxReporter = new NxReporter(watch);\n if (resolvedOptions['reporters'] === undefined) {\n resolvedOptions['reporters'] = [];\n } else if (typeof resolvedOptions['reporters'] === 'string') {\n resolvedOptions['reporters'] = [resolvedOptions['reporters']];\n }\n resolvedOptions['reporters'].push(nxReporter);\n\n const cliFilters = options.testFiles ?? [];\n\n const ctx = await startVitest(\n resolvedOptions['mode'] ?? 'test',\n cliFilters,\n resolvedOptions\n );\n\n let hasErrors = false;\n\n const processExit = () => {\n ctx.exit();\n if (hasErrors) {\n process.exit(1);\n } else {\n process.exit(0);\n }\n };\n\n if (watch) {\n process.on('SIGINT', processExit);\n process.on('SIGTERM', processExit);\n process.on('exit', processExit);\n }\n\n for await (const report of nxReporter) {\n // vitest sets the exitCode = 1 when code coverage isn't met\n hasErrors =\n report.hasErrors || (process.exitCode && process.exitCode !== 0);\n }\n\n return {\n success: !hasErrors,\n };\n}\n\nexport default vitestExecutor;\n"],"names":["vitestExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","resolve","workspaceRoot","process","env","VITE_CJS_IGNORE_WARNING","startVitest","loadVitestDynamicImport","resolvedOptions","getOptions","watch","nxReporter","NxReporter","undefined","push","cliFilters","testFiles","ctx","hasErrors","processExit","exit","on","report","exitCode","success"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAsEA,OAA8B;eAA9B;;IA9DuBA,cAAc;eAAdA;;;wBARwB;sBAEvB;0BACc;4BACX;uBACA;+BACa;AAEjC,gBAAgBA,eACrBC,OAA8B,EAC9BC,OAAwB;IAExB,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,+BAAqB,EAACC,IAAAA,aAAO,EAACC,qBAAa,EAAEP,aAAa;IAE1DQ,QAAQC,GAAG,CAACC,uBAAuB,GAAG;IACtC,yFAAyF;IACzF,MAAM,EAAEC,WAAW,EAAE,GAAG,MAAMC,IAAAA,sCAAuB;QAGlD;IADH,MAAMC,kBACJ,CAAC,OAAA,MAAMC,IAAAA,iBAAU,EAAChB,SAASC,SAASC,wBAAnC,OAAoD,CAAC;IAExD,MAAMe,QAAQF,eAAe,CAAC,QAAQ,KAAK;IAE3C,MAAMG,aAAa,IAAIC,sBAAU,CAACF;IAClC,IAAIF,eAAe,CAAC,YAAY,KAAKK,WAAW;QAC9CL,eAAe,CAAC,YAAY,GAAG,EAAE;IACnC,OAAO,IAAI,OAAOA,eAAe,CAAC,YAAY,KAAK,UAAU;QAC3DA,eAAe,CAAC,YAAY,GAAG;YAACA,eAAe,CAAC,YAAY;SAAC;IAC/D;IACAA,eAAe,CAAC,YAAY,CAACM,IAAI,CAACH;QAEflB;IAAnB,MAAMsB,aAAatB,CAAAA,qBAAAA,QAAQuB,SAAS,YAAjBvB,qBAAqB,EAAE;QAGxCe;IADF,MAAMS,MAAM,MAAMX,YAChBE,CAAAA,wBAAAA,eAAe,CAAC,OAAO,YAAvBA,wBAA2B,QAC3BO,YACAP;IAGF,IAAIU,YAAY;IAEhB,MAAMC,cAAc;QAClBF,IAAIG,IAAI;QACR,IAAIF,WAAW;YACbf,QAAQiB,IAAI,CAAC;QACf,OAAO;YACLjB,QAAQiB,IAAI,CAAC;QACf;IACF;IAEA,IAAIV,OAAO;QACTP,QAAQkB,EAAE,CAAC,UAAUF;QACrBhB,QAAQkB,EAAE,CAAC,WAAWF;QACtBhB,QAAQkB,EAAE,CAAC,QAAQF;IACrB;IAEA,WAAW,MAAMG,UAAUX,WAAY;QACrC,4DAA4D;QAC5DO,YACEI,OAAOJ,SAAS,IAAKf,QAAQoB,QAAQ,IAAIpB,QAAQoB,QAAQ,KAAK;IAClE;IAEA,OAAO;QACLC,SAAS,CAACN;IACZ;AACF;MAEA,WAAe1B"}
|
|
@@ -6,14 +6,14 @@ function _export(target, all) {
|
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
_export(exports, {
|
|
9
|
+
default: function() {
|
|
10
|
+
return _default;
|
|
11
|
+
},
|
|
9
12
|
viteConfigurationGenerator: function() {
|
|
10
13
|
return viteConfigurationGenerator;
|
|
11
14
|
},
|
|
12
15
|
viteConfigurationGeneratorInternal: function() {
|
|
13
16
|
return viteConfigurationGeneratorInternal;
|
|
14
|
-
},
|
|
15
|
-
default: function() {
|
|
16
|
-
return _default;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const _extends = require("@swc/helpers/_/_extends");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/configuration.ts"],"sourcesContent":["import {\n formatFiles,\n GeneratorCallback,\n joinPathFragments,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport { initGenerator as jsInitGenerator } from '@nx/js';\n\nimport {\n addBuildTarget,\n addServeTarget,\n addPreviewTarget,\n createOrEditViteConfig,\n TargetFlags,\n} from '../../utils/generator-utils';\n\nimport initGenerator from '../init/init';\nimport vitestGenerator from '../vitest/vitest-generator';\nimport { ViteConfigurationGeneratorSchema } from './schema';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\nimport { convertNonVite } from './lib/convert-non-vite';\n\nexport function viteConfigurationGenerator(\n host: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n return viteConfigurationGeneratorInternal(host, {\n addPlugin: false,\n ...schema,\n });\n}\n\nexport async function viteConfigurationGeneratorInternal(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const projectConfig = readProjectConfiguration(tree, schema.project);\n const { targets, root: projectRoot } = projectConfig;\n\n const projectType = projectConfig.projectType ?? 'library';\n\n schema.includeLib ??= projectType === 'library';\n\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n /**\n * This is for when we are converting an existing project\n * to use the vite executors.\n */\n let projectAlreadyHasViteTargets: TargetFlags = {};\n\n if (!schema.newProject) {\n await convertNonVite(tree, schema, projectRoot, projectType, targets);\n }\n\n const jsInitTask = await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n tsConfigName: projectRoot === '.' ? 'tsconfig.json' : 'tsconfig.base.json',\n });\n tasks.push(jsInitTask);\n const initTask = await initGenerator(tree, { ...schema, skipFormat: true });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n if (!projectAlreadyHasViteTargets.build) {\n addBuildTarget(tree, schema, 'build');\n }\n\n if (!schema.includeLib) {\n if (!projectAlreadyHasViteTargets.serve) {\n addServeTarget(tree, schema, 'serve');\n }\n if (!projectAlreadyHasViteTargets.preview) {\n addPreviewTarget(tree, schema, 'preview');\n }\n }\n }\n if (projectType === 'library') {\n // update tsconfig.lib.json to include vite/client\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n if (!json.compilerOptions) {\n json.compilerOptions = {};\n }\n if (!json.compilerOptions.types) {\n json.compilerOptions.types = [];\n }\n if (!json.compilerOptions.types.includes('vite/client')) {\n return {\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n types: [...json.compilerOptions.types, 'vite/client'],\n },\n };\n }\n return json;\n }\n );\n }\n\n if (!schema.newProject) {\n // We are converting existing project to use Vite\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: schema.includeLib,\n includeVitest: schema.includeVitest,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n },\n false,\n undefined\n );\n } else {\n createOrEditViteConfig(tree, schema, false, projectAlreadyHasViteTargets);\n }\n }\n\n if (schema.includeVitest) {\n const vitestTask = await vitestGenerator(tree, {\n project: schema.project,\n uiFramework: schema.uiFramework,\n inSourceTests: schema.inSourceTests,\n coverageProvider: 'v8',\n skipViteConfig: true,\n testTarget: 'test',\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(vitestTask);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default viteConfigurationGenerator;\n"],"names":["viteConfigurationGenerator","viteConfigurationGeneratorInternal","host","schema","addPlugin","tree","nxJson","tasks","projectConfig","readProjectConfiguration","project","targets","root","projectRoot","projectType","includeLib","testEnvironment","projectAlreadyHasViteTargets","newProject","convertNonVite","jsInitTask","jsInitGenerator","skipFormat","tsConfigName","push","initTask","initGenerator","ensureDependencies","readNxJson","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","hasPlugin","plugins","some","p","plugin","build","addBuildTarget","serve","addServeTarget","preview","addPreviewTarget","updateJson","joinPathFragments","json","compilerOptions","types","includes","uiFramework","createOrEditViteConfig","includeVitest","inSourceTests","rollupOptionsExternal","imports","compiler","undefined","vitestTask","vitestGenerator","coverageProvider","skipViteConfig","testTarget","formatFiles","runTasksInSerial"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/configuration.ts"],"sourcesContent":["import {\n formatFiles,\n GeneratorCallback,\n joinPathFragments,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport { initGenerator as jsInitGenerator } from '@nx/js';\n\nimport {\n addBuildTarget,\n addServeTarget,\n addPreviewTarget,\n createOrEditViteConfig,\n TargetFlags,\n} from '../../utils/generator-utils';\n\nimport initGenerator from '../init/init';\nimport vitestGenerator from '../vitest/vitest-generator';\nimport { ViteConfigurationGeneratorSchema } from './schema';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\nimport { convertNonVite } from './lib/convert-non-vite';\n\nexport function viteConfigurationGenerator(\n host: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n return viteConfigurationGeneratorInternal(host, {\n addPlugin: false,\n ...schema,\n });\n}\n\nexport async function viteConfigurationGeneratorInternal(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const projectConfig = readProjectConfiguration(tree, schema.project);\n const { targets, root: projectRoot } = projectConfig;\n\n const projectType = projectConfig.projectType ?? 'library';\n\n schema.includeLib ??= projectType === 'library';\n\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n /**\n * This is for when we are converting an existing project\n * to use the vite executors.\n */\n let projectAlreadyHasViteTargets: TargetFlags = {};\n\n if (!schema.newProject) {\n await convertNonVite(tree, schema, projectRoot, projectType, targets);\n }\n\n const jsInitTask = await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n tsConfigName: projectRoot === '.' ? 'tsconfig.json' : 'tsconfig.base.json',\n });\n tasks.push(jsInitTask);\n const initTask = await initGenerator(tree, { ...schema, skipFormat: true });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n if (!projectAlreadyHasViteTargets.build) {\n addBuildTarget(tree, schema, 'build');\n }\n\n if (!schema.includeLib) {\n if (!projectAlreadyHasViteTargets.serve) {\n addServeTarget(tree, schema, 'serve');\n }\n if (!projectAlreadyHasViteTargets.preview) {\n addPreviewTarget(tree, schema, 'preview');\n }\n }\n }\n if (projectType === 'library') {\n // update tsconfig.lib.json to include vite/client\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n if (!json.compilerOptions) {\n json.compilerOptions = {};\n }\n if (!json.compilerOptions.types) {\n json.compilerOptions.types = [];\n }\n if (!json.compilerOptions.types.includes('vite/client')) {\n return {\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n types: [...json.compilerOptions.types, 'vite/client'],\n },\n };\n }\n return json;\n }\n );\n }\n\n if (!schema.newProject) {\n // We are converting existing project to use Vite\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: schema.includeLib,\n includeVitest: schema.includeVitest,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n },\n false,\n undefined\n );\n } else {\n createOrEditViteConfig(tree, schema, false, projectAlreadyHasViteTargets);\n }\n }\n\n if (schema.includeVitest) {\n const vitestTask = await vitestGenerator(tree, {\n project: schema.project,\n uiFramework: schema.uiFramework,\n inSourceTests: schema.inSourceTests,\n coverageProvider: 'v8',\n skipViteConfig: true,\n testTarget: 'test',\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(vitestTask);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default viteConfigurationGenerator;\n"],"names":["viteConfigurationGenerator","viteConfigurationGeneratorInternal","host","schema","addPlugin","tree","nxJson","tasks","projectConfig","readProjectConfiguration","project","targets","root","projectRoot","projectType","includeLib","testEnvironment","projectAlreadyHasViteTargets","newProject","convertNonVite","jsInitTask","jsInitGenerator","skipFormat","tsConfigName","push","initTask","initGenerator","ensureDependencies","readNxJson","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","hasPlugin","plugins","some","p","plugin","build","addBuildTarget","serve","addServeTarget","preview","addPreviewTarget","updateJson","joinPathFragments","json","compilerOptions","types","includes","uiFramework","createOrEditViteConfig","includeVitest","inSourceTests","rollupOptionsExternal","imports","compiler","undefined","vitestTask","vitestGenerator","coverageProvider","skipViteConfig","testTarget","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/configuration/lib/convert-non-vite.ts"],"sourcesContent":["import {\n TargetConfiguration,\n Tree,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport {\n findViteConfig,\n findWebpackConfig,\n} from '../../../utils/find-vite-config';\nimport { ViteConfigurationGeneratorSchema } from '../schema';\nimport {\n deleteWebpackConfig,\n editTsConfig,\n findExistingJsBuildTargetInProject,\n handleUnknownConfiguration,\n moveAndEditIndexHtml,\n} from '../../../utils/generator-utils';\n\nexport async function convertNonVite(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema,\n projectRoot: string,\n projectType: string,\n targets: {\n [targetName: string]: TargetConfiguration<any>;\n }\n) {\n // Check if it has vite\n const hasViteConfig = findViteConfig(tree, projectRoot);\n const hasIndexHtmlAtRoot = tree.exists(\n joinPathFragments(projectRoot, 'index.html')\n );\n\n // Check if it has webpack\n const hasWebpackConfig = findWebpackConfig(tree, projectRoot);\n if (hasWebpackConfig) {\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema);\n }\n deleteWebpackConfig(tree, projectRoot, hasWebpackConfig);\n editTsConfig(tree, schema);\n return;\n }\n\n if (\n projectType === 'application' &&\n hasViteConfig &&\n hasIndexHtmlAtRoot &&\n !hasWebpackConfig\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use Vite.`\n );\n return;\n }\n\n if (projectType === 'library' && hasViteConfig) {\n // continue anyway - it could need to be updated - only update vite.config.ts in any case\n editTsConfig(tree, schema);\n return;\n }\n\n // Does the project have js executors?\n const { supported: jsTargetName, unsupported } =\n findExistingJsBuildTargetInProject(targets);\n if (jsTargetName) {\n editTsConfig(tree, schema);\n return;\n }\n\n if (unsupported) {\n throw new Error(`\n Nx cannot convert your project to use vite.\n Please try again with a different project.\n `);\n }\n\n // If it's a library, it's most possible it's non-buildable\n // So fix the tsconfig and return, to continue with the rest of the setup\n if (\n projectType === 'library' &&\n !hasViteConfig &&\n !hasWebpackConfig &&\n !jsTargetName\n ) {\n editTsConfig(tree, schema);\n return;\n }\n\n /**\n * The project is an app.\n * The project has no js executors, no webpack config, no vite config.\n * We did not find any configuration that hints the project can\n * definitely be converted.\n * So, we should warn the user about it.\n * They can choose whether to convert it or not\n */\n await handleUnknownConfiguration(schema.project);\n}\n"],"names":["convertNonVite","tree","schema","projectRoot","projectType","targets","hasViteConfig","findViteConfig","hasIndexHtmlAtRoot","exists","joinPathFragments","hasWebpackConfig","findWebpackConfig","moveAndEditIndexHtml","deleteWebpackConfig","editTsConfig","Error","project","supported","jsTargetName","unsupported","findExistingJsBuildTargetInProject","handleUnknownConfiguration"],"mappings":";+BAmBsBA;;;eAAAA;;;wBAdf;gCAIA;gCAQA;AAEA,eAAeA,eACpBC,IAAU,EACVC,MAAwC,EACxCC,WAAmB,EACnBC,WAAmB,EACnBC,OAEC;IAED,uBAAuB;IACvB,MAAMC,gBAAgBC,IAAAA,8BAAc,EAACN,MAAME;IAC3C,MAAMK,qBAAqBP,KAAKQ,MAAM,CACpCC,IAAAA,yBAAiB,EAACP,aAAa;IAGjC,0BAA0B;IAC1B,MAAMQ,mBAAmBC,IAAAA,iCAAiB,EAACX,MAAME;IACjD,IAAIQ,kBAAkB;QACpB,IAAIP,gBAAgB,eAAe;YACjCS,IAAAA,oCAAoB,EAACZ,MAAMC;QAC7B;QACAY,IAAAA,mCAAmB,EAACb,MAAME,aAAaQ;QACvCI,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IACEE,gBAAgB,iBAChBE,iBACAE,sBACA,CAACG,kBACD;QACA,MAAM,IAAIK,MACR,CAAC,YAAY,EAAEd,OAAOe,OAAO,CAAC,mCAAmC,CAAC;QAEpE;IACF;IAEA,IAAIb,gBAAgB,aAAaE,eAAe;QAC9C,yFAAyF;QACzFS,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,sCAAsC;IACtC,MAAM,EAAEgB,WAAWC,YAAY,EAAEC,WAAW,EAAE,GAC5CC,IAAAA,kDAAkC,EAAChB;IACrC,IAAIc,cAAc;QAChBJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IAAIkB,aAAa;QACf,MAAM,IAAIJ,MAAM,CAAC;;;IAGjB,CAAC;IACH;IAEA,2DAA2D;IAC3D,yEAAyE;IACzE,IACEZ,gBAAgB,aAChB,CAACE,iBACD,CAACK,oBACD,CAACQ,cACD;QACAJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA;;;;;;;GAOC,GACD,MAAMoB,IAAAA,0CAA0B,EAACpB,OAAOe,OAAO;AACjD"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/configuration/lib/convert-non-vite.ts"],"sourcesContent":["import {\n TargetConfiguration,\n Tree,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport {\n findViteConfig,\n findWebpackConfig,\n} from '../../../utils/find-vite-config';\nimport { ViteConfigurationGeneratorSchema } from '../schema';\nimport {\n deleteWebpackConfig,\n editTsConfig,\n findExistingJsBuildTargetInProject,\n handleUnknownConfiguration,\n moveAndEditIndexHtml,\n} from '../../../utils/generator-utils';\n\nexport async function convertNonVite(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema,\n projectRoot: string,\n projectType: string,\n targets: {\n [targetName: string]: TargetConfiguration<any>;\n }\n) {\n // Check if it has vite\n const hasViteConfig = findViteConfig(tree, projectRoot);\n const hasIndexHtmlAtRoot = tree.exists(\n joinPathFragments(projectRoot, 'index.html')\n );\n\n // Check if it has webpack\n const hasWebpackConfig = findWebpackConfig(tree, projectRoot);\n if (hasWebpackConfig) {\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema);\n }\n deleteWebpackConfig(tree, projectRoot, hasWebpackConfig);\n editTsConfig(tree, schema);\n return;\n }\n\n if (\n projectType === 'application' &&\n hasViteConfig &&\n hasIndexHtmlAtRoot &&\n !hasWebpackConfig\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use Vite.`\n );\n return;\n }\n\n if (projectType === 'library' && hasViteConfig) {\n // continue anyway - it could need to be updated - only update vite.config.ts in any case\n editTsConfig(tree, schema);\n return;\n }\n\n // Does the project have js executors?\n const { supported: jsTargetName, unsupported } =\n findExistingJsBuildTargetInProject(targets);\n if (jsTargetName) {\n editTsConfig(tree, schema);\n return;\n }\n\n if (unsupported) {\n throw new Error(`\n Nx cannot convert your project to use vite.\n Please try again with a different project.\n `);\n }\n\n // If it's a library, it's most possible it's non-buildable\n // So fix the tsconfig and return, to continue with the rest of the setup\n if (\n projectType === 'library' &&\n !hasViteConfig &&\n !hasWebpackConfig &&\n !jsTargetName\n ) {\n editTsConfig(tree, schema);\n return;\n }\n\n /**\n * The project is an app.\n * The project has no js executors, no webpack config, no vite config.\n * We did not find any configuration that hints the project can\n * definitely be converted.\n * So, we should warn the user about it.\n * They can choose whether to convert it or not\n */\n await handleUnknownConfiguration(schema.project);\n}\n"],"names":["convertNonVite","tree","schema","projectRoot","projectType","targets","hasViteConfig","findViteConfig","hasIndexHtmlAtRoot","exists","joinPathFragments","hasWebpackConfig","findWebpackConfig","moveAndEditIndexHtml","deleteWebpackConfig","editTsConfig","Error","project","supported","jsTargetName","unsupported","findExistingJsBuildTargetInProject","handleUnknownConfiguration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAmBsBA;;;eAAAA;;;wBAdf;gCAIA;gCAQA;AAEA,eAAeA,eACpBC,IAAU,EACVC,MAAwC,EACxCC,WAAmB,EACnBC,WAAmB,EACnBC,OAEC;IAED,uBAAuB;IACvB,MAAMC,gBAAgBC,IAAAA,8BAAc,EAACN,MAAME;IAC3C,MAAMK,qBAAqBP,KAAKQ,MAAM,CACpCC,IAAAA,yBAAiB,EAACP,aAAa;IAGjC,0BAA0B;IAC1B,MAAMQ,mBAAmBC,IAAAA,iCAAiB,EAACX,MAAME;IACjD,IAAIQ,kBAAkB;QACpB,IAAIP,gBAAgB,eAAe;YACjCS,IAAAA,oCAAoB,EAACZ,MAAMC;QAC7B;QACAY,IAAAA,mCAAmB,EAACb,MAAME,aAAaQ;QACvCI,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IACEE,gBAAgB,iBAChBE,iBACAE,sBACA,CAACG,kBACD;QACA,MAAM,IAAIK,MACR,CAAC,YAAY,EAAEd,OAAOe,OAAO,CAAC,mCAAmC,CAAC;QAEpE;IACF;IAEA,IAAIb,gBAAgB,aAAaE,eAAe;QAC9C,yFAAyF;QACzFS,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,sCAAsC;IACtC,MAAM,EAAEgB,WAAWC,YAAY,EAAEC,WAAW,EAAE,GAC5CC,IAAAA,kDAAkC,EAAChB;IACrC,IAAIc,cAAc;QAChBJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IAAIkB,aAAa;QACf,MAAM,IAAIJ,MAAM,CAAC;;;IAGjB,CAAC;IACH;IAEA,2DAA2D;IAC3D,yEAAyE;IACzE,IACEZ,gBAAgB,aAChB,CAACE,iBACD,CAACK,oBACD,CAACQ,cACD;QACAJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA;;;;;;;GAOC,GACD,MAAMoB,IAAAA,0CAA0B,EAACpB,OAAOe,OAAO;AACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/schema.d.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -6,8 +6,8 @@ function _export(target, all) {
|
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
_export(exports, {
|
|
9
|
-
|
|
10
|
-
return
|
|
9
|
+
default: function() {
|
|
10
|
+
return _default;
|
|
11
11
|
},
|
|
12
12
|
initGenerator: function() {
|
|
13
13
|
return initGenerator;
|
|
@@ -15,8 +15,8 @@ _export(exports, {
|
|
|
15
15
|
initGeneratorInternal: function() {
|
|
16
16
|
return initGeneratorInternal;
|
|
17
17
|
},
|
|
18
|
-
|
|
19
|
-
return
|
|
18
|
+
updateNxJsonSettings: function() {
|
|
19
|
+
return updateNxJsonSettings;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
const _extends = require("@swc/helpers/_/_extends");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { addPlugin } from '@nx/devkit/src/utils/add-plugin';\n\nimport { createNodes } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport { checkDependenciesInstalled, moveToDevDependencies } from './lib/utils';\n\nexport function updateNxJsonSettings(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults['@nx/vite:test'] ??= {};\n nxJson.targetDefaults['@nx/vite:test'].cache ??= true;\n nxJson.targetDefaults['@nx/vite:test'].inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n return initGeneratorInternal(tree, { addPlugin: false, ...schema });\n}\n\nexport async function initGeneratorInternal(\n tree: Tree,\n schema: InitGeneratorSchema\n) {\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n if (schema.addPlugin) {\n await addPlugin(\n tree,\n await createProjectGraphAsync(),\n '@nx/vite/plugin',\n createNodes,\n {\n buildTargetName: ['build', 'vite:build', 'vite-build'],\n testTargetName: ['test', 'vite:test', 'vite-test'],\n serveTargetName: ['serve', 'vite:serve', 'vite-serve'],\n previewTargetName: ['preview', 'vite:preview', 'vite-preview'],\n serveStaticTargetName: [\n 'serve-static',\n 'vite:serve-static',\n 'vite-serve-static',\n ],\n },\n schema.updatePackageScripts\n );\n }\n\n updateNxJsonSettings(tree);\n\n const tasks: GeneratorCallback[] = [];\n if (!schema.skipPackageJson) {\n tasks.push(moveToDevDependencies(tree));\n tasks.push(checkDependenciesInstalled(tree, schema));\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { addPlugin } from '@nx/devkit/src/utils/add-plugin';\n\nimport { createNodes } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport { checkDependenciesInstalled, moveToDevDependencies } from './lib/utils';\n\nexport function updateNxJsonSettings(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults['@nx/vite:test'] ??= {};\n nxJson.targetDefaults['@nx/vite:test'].cache ??= true;\n nxJson.targetDefaults['@nx/vite:test'].inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n return initGeneratorInternal(tree, { addPlugin: false, ...schema });\n}\n\nexport async function initGeneratorInternal(\n tree: Tree,\n schema: InitGeneratorSchema\n) {\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n if (schema.addPlugin) {\n await addPlugin(\n tree,\n await createProjectGraphAsync(),\n '@nx/vite/plugin',\n createNodes,\n {\n buildTargetName: ['build', 'vite:build', 'vite-build'],\n testTargetName: ['test', 'vite:test', 'vite-test'],\n serveTargetName: ['serve', 'vite:serve', 'vite-serve'],\n previewTargetName: ['preview', 'vite:preview', 'vite-preview'],\n serveStaticTargetName: [\n 'serve-static',\n 'vite:serve-static',\n 'vite-serve-static',\n ],\n },\n schema.updatePackageScripts\n );\n }\n\n updateNxJsonSettings(tree);\n\n const tasks: GeneratorCallback[] = [];\n if (!schema.skipPackageJson) {\n tasks.push(moveToDevDependencies(tree));\n tasks.push(checkDependenciesInstalled(tree, schema));\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["initGenerator","initGeneratorInternal","updateNxJsonSettings","tree","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","hasPlugin","plugins","some","p","plugin","targetDefaults","cache","inputs","updateNxJson","schema","addPlugin","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","createProjectGraphAsync","createNodes","buildTargetName","testTargetName","serveTargetName","previewTargetName","serveStaticTargetName","updatePackageScripts","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","skipFormat","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAiGA,OAA6B;eAA7B;;IAlDgBA,aAAa;eAAbA;;IAIMC,qBAAqB;eAArBA;;IApCNC,oBAAoB;eAApBA;;;;wBAPT;2BACmB;wBAEE;uBAEsC;AAE3D,SAASA,qBAAqBC,IAAU;QAGnBC,qBAURA;IAZlB,MAAMA,SAASC,IAAAA,kBAAU,EAACF;IAE1B,MAAMG,qBAAoBF,sBAAAA,OAAOG,WAAW,qBAAlBH,oBAAoBI,UAAU;IACxD,IAAIF,mBAAmB;QACrBA,kBAAkBG,IAAI,CACpB,yDACA;QAGFL,OAAOG,WAAW,CAACC,UAAU,GAAGE,MAAMC,IAAI,CAAC,IAAIC,IAAIN;IACrD;IAEA,MAAMO,aAAYT,kBAAAA,OAAOU,OAAO,qBAAdV,gBAAgBW,IAAI,CAAC,CAACC,IACtC,OAAOA,MAAM,WACTA,MAAM,oBACNA,EAAEC,MAAM,KAAK;IAGnB,IAAI,CAACJ,WAAW;YACdT,SACAA,wBAAsB,aACtBA,mCACAA;;QAHAA,oBAAAA,UAAAA,QAAOc,4CAAPd,QAAOc,iBAAmB,CAAC;;QAC3Bd,MAAAA,yBAAAA,OAAOc,cAAc,CAAA,CAAC,cAAA,gBAAgB,gBAAtCd,sBAAqB,CAAC,YAAgB,GAAK,CAAC;;QAC5CA,WAAAA,oCAAAA,OAAOc,cAAc,CAAC,gBAAgB,EAACC,0BAAvCf,kCAAuCe,QAAU;;QACjDf,YAAAA,qCAAAA,OAAOc,cAAc,CAAC,gBAAgB,EAACE,4BAAvChB,mCAAuCgB,SAAW;YAChD;YACAd,oBAAoB,gBAAgB;SACrC;IACH;IAEAe,IAAAA,oBAAY,EAAClB,MAAMC;AACrB;AAEO,SAASJ,cAAcG,IAAU,EAAEmB,MAA2B;IACnE,OAAOrB,sBAAsBE,MAAM;QAAEoB,WAAW;OAAUD;AAC5D;AAEO,eAAerB,sBACpBE,IAAU,EACVmB,MAA2B;QAM3BA;IAJA,MAAMlB,SAASC,IAAAA,kBAAU,EAACF;IAC1B,MAAMqB,mBACJC,QAAQC,GAAG,CAACC,cAAc,KAAK,WAC/BvB,OAAOwB,mBAAmB,KAAK;;IACjCN,eAAAA,UAAAA,QAAOC,kCAAPD,QAAOC,YAAcC;IAErB,IAAIF,OAAOC,SAAS,EAAE;QACpB,MAAMA,IAAAA,oBAAS,EACbpB,MACA,MAAM0B,IAAAA,+BAAuB,KAC7B,mBACAC,mBAAW,EACX;YACEC,iBAAiB;gBAAC;gBAAS;gBAAc;aAAa;YACtDC,gBAAgB;gBAAC;gBAAQ;gBAAa;aAAY;YAClDC,iBAAiB;gBAAC;gBAAS;gBAAc;aAAa;YACtDC,mBAAmB;gBAAC;gBAAW;gBAAgB;aAAe;YAC9DC,uBAAuB;gBACrB;gBACA;gBACA;aACD;QACH,GACAb,OAAOc,oBAAoB;IAE/B;IAEAlC,qBAAqBC;IAErB,MAAMkC,QAA6B,EAAE;IACrC,IAAI,CAACf,OAAOgB,eAAe,EAAE;QAC3BD,MAAM5B,IAAI,CAAC8B,IAAAA,4BAAqB,EAACpC;QACjCkC,MAAM5B,IAAI,CAAC+B,IAAAA,iCAA0B,EAACrC,MAAMmB;IAC9C;IAEA,IAAI,CAACA,OAAOmB,UAAU,EAAE;QACtB,MAAMC,IAAAA,mBAAW,EAACvC;IACpB;IAEA,OAAOwC,IAAAA,wBAAgB,KAAIN;AAC7B;MAEA,WAAerC"}
|
|
@@ -9,11 +9,11 @@ _export(exports, {
|
|
|
9
9
|
checkDependenciesInstalled: function() {
|
|
10
10
|
return checkDependenciesInstalled;
|
|
11
11
|
},
|
|
12
|
-
moveToDevDependencies: function() {
|
|
13
|
-
return moveToDevDependencies;
|
|
14
|
-
},
|
|
15
12
|
createVitestConfig: function() {
|
|
16
13
|
return createVitestConfig;
|
|
14
|
+
},
|
|
15
|
+
moveToDevDependencies: function() {
|
|
16
|
+
return moveToDevDependencies;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const _devkit = require("@nx/devkit");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/init/lib/utils.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n installPackagesTask,\n readNxJson,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { nxVersion, vitestVersion, viteVersion } from '../../../utils/versions';\nimport { InitGeneratorSchema } from '../schema';\n\nexport function checkDependenciesInstalled(\n host: Tree,\n schema: InitGeneratorSchema\n) {\n return addDependenciesToPackageJson(\n host,\n {},\n {\n '@nx/vite': nxVersion,\n '@nx/web': nxVersion,\n vite: viteVersion,\n vitest: vitestVersion,\n '@vitest/ui': vitestVersion,\n },\n undefined,\n schema.keepExistingVersions\n );\n}\n\nexport function moveToDevDependencies(tree: Tree) {\n let wasUpdated = false;\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n wasUpdated = true;\n }\n return packageJson;\n });\n\n return wasUpdated ? () => installPackagesTask(tree) : () => {};\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n updateNxJson(tree, nxJson);\n}\n"],"names":["checkDependenciesInstalled","
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/init/lib/utils.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n installPackagesTask,\n readNxJson,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { nxVersion, vitestVersion, viteVersion } from '../../../utils/versions';\nimport { InitGeneratorSchema } from '../schema';\n\nexport function checkDependenciesInstalled(\n host: Tree,\n schema: InitGeneratorSchema\n) {\n return addDependenciesToPackageJson(\n host,\n {},\n {\n '@nx/vite': nxVersion,\n '@nx/web': nxVersion,\n vite: viteVersion,\n vitest: vitestVersion,\n '@vitest/ui': vitestVersion,\n },\n undefined,\n schema.keepExistingVersions\n );\n}\n\nexport function moveToDevDependencies(tree: Tree) {\n let wasUpdated = false;\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n wasUpdated = true;\n }\n return packageJson;\n });\n\n return wasUpdated ? () => installPackagesTask(tree) : () => {};\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n updateNxJson(tree, nxJson);\n}\n"],"names":["checkDependenciesInstalled","createVitestConfig","moveToDevDependencies","host","schema","addDependenciesToPackageJson","nxVersion","vite","viteVersion","vitest","vitestVersion","undefined","keepExistingVersions","tree","wasUpdated","updateJson","packageJson","dependencies","devDependencies","installPackagesTask","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","updateNxJson"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAWgBA,0BAA0B;eAA1BA;;IAqCAC,kBAAkB;eAAlBA;;IAlBAC,qBAAqB;eAArBA;;;wBAvBT;0BAC+C;AAG/C,SAASF,2BACdG,IAAU,EACVC,MAA2B;IAE3B,OAAOC,IAAAA,oCAA4B,EACjCF,MACA,CAAC,GACD;QACE,YAAYG,mBAAS;QACrB,WAAWA,mBAAS;QACpBC,MAAMC,qBAAW;QACjBC,QAAQC,uBAAa;QACrB,cAAcA,uBAAa;IAC7B,GACAC,WACAP,OAAOQ,oBAAoB;AAE/B;AAEO,SAASV,sBAAsBW,IAAU;IAC9C,IAAIC,aAAa;IACjBC,IAAAA,kBAAU,EAACF,MAAM,gBAAgB,CAACG;QAChCA,YAAYC,YAAY,GAAGD,YAAYC,YAAY,IAAI,CAAC;QACxDD,YAAYE,eAAe,GAAGF,YAAYE,eAAe,IAAI,CAAC;QAE9D,IAAIF,YAAYC,YAAY,CAAC,WAAW,EAAE;YACxCD,YAAYE,eAAe,CAAC,WAAW,GACrCF,YAAYC,YAAY,CAAC,WAAW;YACtC,OAAOD,YAAYC,YAAY,CAAC,WAAW;YAC3CH,aAAa;QACf;QACA,OAAOE;IACT;IAEA,OAAOF,aAAa,IAAMK,IAAAA,2BAAmB,EAACN,QAAQ,KAAO;AAC/D;AAEO,SAASZ,mBAAmBY,IAAU;QAGjBO;IAF1B,MAAMA,SAASC,IAAAA,kBAAU,EAACR;IAE1B,MAAMS,qBAAoBF,sBAAAA,OAAOG,WAAW,qBAAlBH,oBAAoBI,UAAU;IACxD,IAAIF,mBAAmB;QACrBA,kBAAkBG,IAAI,CACpB,yDACA;QAGFL,OAAOG,WAAW,CAACC,UAAU,GAAGE,MAAMC,IAAI,CAAC,IAAIC,IAAIN;IACrD;IAEAO,IAAAA,oBAAY,EAAChB,MAAMO;AACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/schema.d.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/schema.d.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -6,14 +6,14 @@ function _export(target, all) {
|
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
_export(exports, {
|
|
9
|
+
default: function() {
|
|
10
|
+
return _default;
|
|
11
|
+
},
|
|
9
12
|
vitestGenerator: function() {
|
|
10
13
|
return vitestGenerator;
|
|
11
14
|
},
|
|
12
15
|
vitestGeneratorInternal: function() {
|
|
13
16
|
return vitestGeneratorInternal;
|
|
14
|
-
},
|
|
15
|
-
default: function() {
|
|
16
|
-
return _default;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const _extends = require("@swc/helpers/_/_extends");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies, initGenerator as jsInitGenerator } from '@nx/js';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\n\nexport function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n return vitestGeneratorInternal(\n tree,\n { addPlugin: false, ...schema },\n hasPlugin\n );\n}\n\nexport async function vitestGeneratorInternal(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { root, projectType } = readProjectConfiguration(tree, schema.project);\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n const initTask = await initGenerator(tree, {\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const hasPluginCheck = nxJson.plugins?.some(\n (p) =>\n (typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin') || hasPlugin\n );\n if (!hasPluginCheck) {\n const testTarget = schema.testTarget ?? 'test';\n addOrChangeTestTarget(tree, schema, testTarget);\n }\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n coverageProvider: schema.coverageProvider,\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n // Setup workspace config file (https://vitest.dev/guide/workspace.html)\n if (\n !isRootProject &&\n !tree.exists(`vitest.workspace.ts`) &&\n !tree.exists(`vitest.workspace.js`) &&\n !tree.exists(`vitest.workspace.json`) &&\n !tree.exists(`vitest.projects.ts`) &&\n !tree.exists(`vitest.projects.js`) &&\n !tree.exists(`vitest.projects.json`)\n ) {\n tree.write(\n 'vitest.workspace.ts',\n `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`\n );\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","nxJson","tasks","root","projectType","readProjectConfiguration","project","isRootProject","push","jsInitGenerator","skipFormat","initTask","initGenerator","ensureDependencies","readNxJson","hasPluginCheck","plugins","some","p","plugin","testTarget","addOrChangeTestTarget","skipViteConfig","uiFramework","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","coverageProvider","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","installCoverageProviderTask","addDependenciesToPackageJson","exists","write","formatFiles","runTasksInSerial","options","projectRoot","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageV8Version","vitestCoverageIstanbulVersion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies, initGenerator as jsInitGenerator } from '@nx/js';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\n\nexport function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n return vitestGeneratorInternal(\n tree,\n { addPlugin: false, ...schema },\n hasPlugin\n );\n}\n\nexport async function vitestGeneratorInternal(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { root, projectType } = readProjectConfiguration(tree, schema.project);\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n const initTask = await initGenerator(tree, {\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const hasPluginCheck = nxJson.plugins?.some(\n (p) =>\n (typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin') || hasPlugin\n );\n if (!hasPluginCheck) {\n const testTarget = schema.testTarget ?? 'test';\n addOrChangeTestTarget(tree, schema, testTarget);\n }\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n coverageProvider: schema.coverageProvider,\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n // Setup workspace config file (https://vitest.dev/guide/workspace.html)\n if (\n !isRootProject &&\n !tree.exists(`vitest.workspace.ts`) &&\n !tree.exists(`vitest.workspace.js`) &&\n !tree.exists(`vitest.workspace.json`) &&\n !tree.exists(`vitest.projects.ts`) &&\n !tree.exists(`vitest.projects.js`) &&\n !tree.exists(`vitest.projects.json`)\n ) {\n tree.write(\n 'vitest.workspace.ts',\n `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`\n );\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","nxJson","tasks","root","projectType","readProjectConfiguration","project","isRootProject","push","jsInitGenerator","skipFormat","initTask","initGenerator","ensureDependencies","readNxJson","hasPluginCheck","plugins","some","p","plugin","testTarget","addOrChangeTestTarget","skipViteConfig","uiFramework","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","coverageProvider","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","installCoverageProviderTask","addDependenciesToPackageJson","exists","write","formatFiles","runTasksInSerial","options","projectRoot","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageV8Version","vitestCoverageIstanbulVersion"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.ts"],"sourcesContent":["import { Tree, formatFiles } from '@nx/devkit';\nimport { replaceNrwlPackageWithNxPackage } from '@nx/devkit/src/utils/replace-package';\n\nexport default async function replacePackage(tree: Tree): Promise<void> {\n await replaceNrwlPackageWithNxPackage(tree, '@nrwl/vite', '@nx/vite');\n\n await formatFiles(tree);\n}\n"],"names":["replacePackage","tree","replaceNrwlPackageWithNxPackage","formatFiles"],"mappings":";+BAGA;;;eAA8BA;;;wBAHI;gCACc;AAEjC,eAAeA,eAAeC,IAAU;IACrD,MAAMC,IAAAA,+CAA+B,EAACD,MAAM,cAAc;IAE1D,MAAME,IAAAA,mBAAW,EAACF;AACpB"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.ts"],"sourcesContent":["import { Tree, formatFiles } from '@nx/devkit';\nimport { replaceNrwlPackageWithNxPackage } from '@nx/devkit/src/utils/replace-package';\n\nexport default async function replacePackage(tree: Tree): Promise<void> {\n await replaceNrwlPackageWithNxPackage(tree, '@nrwl/vite', '@nx/vite');\n\n await formatFiles(tree);\n}\n"],"names":["replacePackage","tree","replaceNrwlPackageWithNxPackage","formatFiles"],"rangeMappings":";;;;;;;;;;;;","mappings":";+BAGA;;;eAA8BA;;;wBAHI;gCACc;AAEjC,eAAeA,eAAeC,IAAU;IACrD,MAAMC,IAAAA,+CAA+B,EAACD,MAAM,cAAc;IAE1D,MAAME,IAAAA,mBAAW,EAACF;AACpB"}
|
package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.ts"],"sourcesContent":["import { Tree, getProjects, updateProjectConfiguration } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitestExecutorOptions } from '../../executors/test/schema';\n\ntype OldVitestExecutorOptions = Omit<VitestExecutorOptions, 'testFiles'> & {\n testFile: string;\n};\n\nexport default function update(tree: Tree) {\n const projects = getProjects(tree);\n\n forEachExecutorOptions<OldVitestExecutorOptions>(\n tree,\n '@nx/vite:test',\n (options, projectName, targetName, configuration) => {\n const projectConfig = projects.get(projectName);\n\n if (!options.testFile) {\n return;\n }\n\n const newTestFileArgs = [options.testFile];\n\n delete options.testFile;\n\n if (configuration) {\n projectConfig.targets[targetName].configurations[configuration] = {\n ...options,\n testFiles: newTestFileArgs,\n };\n } else {\n projectConfig.targets[targetName].options = {\n ...options,\n testFiles: newTestFileArgs,\n };\n }\n\n updateProjectConfiguration(tree, projectName, projectConfig);\n }\n );\n}\n"],"names":["update","tree","projects","getProjects","forEachExecutorOptions","options","projectName","targetName","configuration","projectConfig","get","testFile","newTestFileArgs","targets","configurations","testFiles","updateProjectConfiguration"],"mappings":";+BAQA;;;eAAwBA;;;;wBARsC;sCACvB;AAOxB,SAASA,OAAOC,IAAU;IACvC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAE7BG,IAAAA,4CAAsB,EACpBH,MACA,iBACA,CAACI,SAASC,aAAaC,YAAYC;QACjC,MAAMC,gBAAgBP,SAASQ,GAAG,CAACJ;QAEnC,IAAI,CAACD,QAAQM,QAAQ,EAAE;YACrB;QACF;QAEA,MAAMC,kBAAkB;YAACP,QAAQM,QAAQ;SAAC;QAE1C,OAAON,QAAQM,QAAQ;QAEvB,IAAIH,eAAe;YACjBC,cAAcI,OAAO,CAACN,WAAW,CAACO,cAAc,CAACN,cAAc,GAAG,eAC7DH;gBACHU,WAAWH;;QAEf,OAAO;YACLH,cAAcI,OAAO,CAACN,WAAW,CAACF,OAAO,GAAG,eACvCA;gBACHU,WAAWH;;QAEf;QAEAI,IAAAA,kCAA0B,EAACf,MAAMK,aAAaG;IAChD;AAEJ"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.ts"],"sourcesContent":["import { Tree, getProjects, updateProjectConfiguration } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitestExecutorOptions } from '../../executors/test/schema';\n\ntype OldVitestExecutorOptions = Omit<VitestExecutorOptions, 'testFiles'> & {\n testFile: string;\n};\n\nexport default function update(tree: Tree) {\n const projects = getProjects(tree);\n\n forEachExecutorOptions<OldVitestExecutorOptions>(\n tree,\n '@nx/vite:test',\n (options, projectName, targetName, configuration) => {\n const projectConfig = projects.get(projectName);\n\n if (!options.testFile) {\n return;\n }\n\n const newTestFileArgs = [options.testFile];\n\n delete options.testFile;\n\n if (configuration) {\n projectConfig.targets[targetName].configurations[configuration] = {\n ...options,\n testFiles: newTestFileArgs,\n };\n } else {\n projectConfig.targets[targetName].options = {\n ...options,\n testFiles: newTestFileArgs,\n };\n }\n\n updateProjectConfiguration(tree, projectName, projectConfig);\n }\n );\n}\n"],"names":["update","tree","projects","getProjects","forEachExecutorOptions","options","projectName","targetName","configuration","projectConfig","get","testFile","newTestFileArgs","targets","configurations","testFiles","updateProjectConfiguration"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAQA;;;eAAwBA;;;;wBARsC;sCACvB;AAOxB,SAASA,OAAOC,IAAU;IACvC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAE7BG,IAAAA,4CAAsB,EACpBH,MACA,iBACA,CAACI,SAASC,aAAaC,YAAYC;QACjC,MAAMC,gBAAgBP,SAASQ,GAAG,CAACJ;QAEnC,IAAI,CAACD,QAAQM,QAAQ,EAAE;YACrB;QACF;QAEA,MAAMC,kBAAkB;YAACP,QAAQM,QAAQ;SAAC;QAE1C,OAAON,QAAQM,QAAQ;QAEvB,IAAIH,eAAe;YACjBC,cAAcI,OAAO,CAACN,WAAW,CAACO,cAAc,CAACN,cAAc,GAAG,eAC7DH;gBACHU,WAAWH;;QAEf,OAAO;YACLH,cAAcI,OAAO,CAACN,WAAW,CAACF,OAAO,GAAG,eACvCA;gBACHU,WAAWH;;QAEf;QAEAI,IAAAA,kCAA0B,EAACf,MAAMK,aAAaG;IAChD;AAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.ts"],"sourcesContent":["import { Tree, getProjects, joinPathFragments } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findViteConfig } from '../../utils/find-vite-config';\n\nexport default function update(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions<ViteBuildExecutorOptions>(\n tree,\n '@nx/vite:build',\n (options, projectName) => {\n const projectConfig = projects.get(projectName);\n const config =\n options.configFile || findViteConfig(tree, projectConfig.root);\n if (!config || !tree.exists(config)) {\n return;\n }\n\n const configContents = tree.read(config, 'utf-8');\n\n const oldTsConfigPathPlugin =\n tsquery.query(\n configContents,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])'\n ) ?? [];\n\n if (oldTsConfigPathPlugin.length === 0) {\n return;\n }\n\n const importName =\n oldTsConfigPathPlugin[0]?.['importClause']?.name?.text ??\n 'viteTsConfigPaths';\n const updatedContent = tsquery.replace(\n configContents,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"${importName}\"])`,\n () => {\n return `nxViteTsPaths()`;\n }\n );\n\n const withImportChange = tsquery.replace(\n updatedContent,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])',\n () => {\n return \"import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\";\n }\n );\n\n tree.write(config, withImportChange);\n }\n );\n}\n"],"names":["update","tree","projects","getProjects","forEachExecutorOptions","options","projectName","oldTsConfigPathPlugin","projectConfig","get","config","configFile","findViteConfig","root","exists","configContents","read","tsquery","query","length","importName","name","text","updatedContent","replace","withImportChange","write"],"mappings":";+BAMA;;;eAAwBA;;;wBAN6B;sCACd;yBAEf;gCACO;AAEhB,SAASA,OAAOC,IAAU;IACvC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EACpBH,MACA,kBACA,CAACI,SAASC;YAqBNC,2CAAAA,sCAAAA;QApBF,MAAMC,gBAAgBN,SAASO,GAAG,CAACH;QACnC,MAAMI,SACJL,QAAQM,UAAU,IAAIC,IAAAA,8BAAc,EAACX,MAAMO,cAAcK,IAAI;QAC/D,IAAI,CAACH,UAAU,CAACT,KAAKa,MAAM,CAACJ,SAAS;YACnC;QACF;QAEA,MAAMK,iBAAiBd,KAAKe,IAAI,CAACN,QAAQ;YAGvCO;QADF,MAAMV,wBACJU,CAAAA,iBAAAA,gBAAO,CAACC,KAAK,CACXH,gBACA,gFAFFE,iBAGK,EAAE;QAET,IAAIV,sBAAsBY,MAAM,KAAK,GAAG;YACtC;QACF;YAGEZ;QADF,MAAMa,aACJb,CAAAA,kDAAAA,0BAAAA,qBAAqB,CAAC,EAAE,sBAAxBA,uCAAAA,uBAA0B,CAAC,eAAe,sBAA1CA,4CAAAA,qCAA4Cc,IAAI,qBAAhDd,0CAAkDe,IAAI,YAAtDf,iDACA;QACF,MAAMgB,iBAAiBN,gBAAO,CAACO,OAAO,CACpCT,gBACA,CAAC,uFAAuF,EAAEK,WAAW,GAAG,CAAC,EACzG;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QAGF,MAAMK,mBAAmBR,gBAAO,CAACO,OAAO,CACtCD,gBACA,qEACA;YACE,OAAO;QACT;QAGFtB,KAAKyB,KAAK,CAAChB,QAAQe;IACrB;AAEJ"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.ts"],"sourcesContent":["import { Tree, getProjects, joinPathFragments } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findViteConfig } from '../../utils/find-vite-config';\n\nexport default function update(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions<ViteBuildExecutorOptions>(\n tree,\n '@nx/vite:build',\n (options, projectName) => {\n const projectConfig = projects.get(projectName);\n const config =\n options.configFile || findViteConfig(tree, projectConfig.root);\n if (!config || !tree.exists(config)) {\n return;\n }\n\n const configContents = tree.read(config, 'utf-8');\n\n const oldTsConfigPathPlugin =\n tsquery.query(\n configContents,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])'\n ) ?? [];\n\n if (oldTsConfigPathPlugin.length === 0) {\n return;\n }\n\n const importName =\n oldTsConfigPathPlugin[0]?.['importClause']?.name?.text ??\n 'viteTsConfigPaths';\n const updatedContent = tsquery.replace(\n configContents,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"${importName}\"])`,\n () => {\n return `nxViteTsPaths()`;\n }\n );\n\n const withImportChange = tsquery.replace(\n updatedContent,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])',\n () => {\n return \"import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\";\n }\n );\n\n tree.write(config, withImportChange);\n }\n );\n}\n"],"names":["update","tree","projects","getProjects","forEachExecutorOptions","options","projectName","oldTsConfigPathPlugin","projectConfig","get","config","configFile","findViteConfig","root","exists","configContents","read","tsquery","query","length","importName","name","text","updatedContent","replace","withImportChange","write"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAMA;;;eAAwBA;;;wBAN6B;sCACd;yBAEf;gCACO;AAEhB,SAASA,OAAOC,IAAU;IACvC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EACpBH,MACA,kBACA,CAACI,SAASC;YAqBNC,2CAAAA,sCAAAA;QApBF,MAAMC,gBAAgBN,SAASO,GAAG,CAACH;QACnC,MAAMI,SACJL,QAAQM,UAAU,IAAIC,IAAAA,8BAAc,EAACX,MAAMO,cAAcK,IAAI;QAC/D,IAAI,CAACH,UAAU,CAACT,KAAKa,MAAM,CAACJ,SAAS;YACnC;QACF;QAEA,MAAMK,iBAAiBd,KAAKe,IAAI,CAACN,QAAQ;YAGvCO;QADF,MAAMV,wBACJU,CAAAA,iBAAAA,gBAAO,CAACC,KAAK,CACXH,gBACA,gFAFFE,iBAGK,EAAE;QAET,IAAIV,sBAAsBY,MAAM,KAAK,GAAG;YACtC;QACF;YAGEZ;QADF,MAAMa,aACJb,CAAAA,kDAAAA,0BAAAA,qBAAqB,CAAC,EAAE,sBAAxBA,uCAAAA,uBAA0B,CAAC,eAAe,sBAA1CA,4CAAAA,qCAA4Cc,IAAI,qBAAhDd,0CAAkDe,IAAI,YAAtDf,iDACA;QACF,MAAMgB,iBAAiBN,gBAAO,CAACO,OAAO,CACpCT,gBACA,CAAC,uFAAuF,EAAEK,WAAW,GAAG,CAAC,EACzG;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QAGF,MAAMK,mBAAmBR,gBAAO,CAACO,OAAO,CACtCD,gBACA,qEACA;YACE,OAAO;QACT;QAGFtB,KAAKyB,KAAK,CAAChB,QAAQe;IACrB;AAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-1-0/move-target-defaults.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n getProjects,\n ProjectConfiguration,\n ProjectGraphProjectNode,\n readNxJson,\n TargetConfiguration,\n TargetDefaults,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { forEachExecutorOptionsInGraph } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitestExecutorOptions } from '../../executors/test/schema';\nimport { readTargetDefaultsForTarget } from 'nx/src/project-graph/utils/project-configuration-utils';\n\nexport default async function update(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n // Don't override anything if there are already target defaults for vitest\n if (nxJson.targetDefaults?.['@nx/vite:test']) {\n return;\n }\n\n nxJson.targetDefaults ??= {};\n\n /**\n * A set of targets which does not use any other executors\n */\n const vitestTargets = new Set<string>();\n const graph = await createProjectGraphAsync();\n const projectMap = getProjects(tree);\n\n forEachExecutorOptionsInGraph(\n graph,\n '@nx/vite:test',\n (value, proj, targetName) => {\n vitestTargets.add(targetName);\n }\n );\n\n // Workspace does not use vitest\n if (vitestTargets.size === 0) {\n return;\n }\n\n // Use the project graph nodes so that targets which are inferred are considered\n const projects = graph.nodes;\n\n const vitestDefaults: TargetConfiguration<Partial<VitestExecutorOptions>> =\n (nxJson.targetDefaults['@nx/vite:test'] = {});\n\n // All vitest targets have the same name\n if (vitestTargets.size === 1) {\n const targetName = Array.from(vitestTargets)[0];\n if (nxJson.targetDefaults[targetName]) {\n Object.assign(vitestDefaults, nxJson.targetDefaults[targetName]);\n }\n }\n\n vitestDefaults.cache ??= true;\n\n const inputs = ['default'];\n inputs.push(nxJson.namedInputs?.production ? '^production' : '^default');\n vitestDefaults.inputs ??= inputs;\n\n // Cleanup old target defaults\n for (const [targetDefaultKey, targetDefault] of Object.entries(\n nxJson.targetDefaults\n )) {\n if (\n !isTargetDefaultUsed(\n targetDefault,\n nxJson.targetDefaults,\n projects,\n projectMap\n )\n ) {\n delete nxJson.targetDefaults[targetDefaultKey];\n }\n }\n\n updateNxJson(tree, nxJson);\n\n await formatFiles(tree);\n}\n\n/**\n * Checks every target on every project to see if one of them uses the target default\n */\nfunction isTargetDefaultUsed(\n targetDefault: Partial<TargetConfiguration>,\n targetDefaults: TargetDefaults,\n projects: Record<string, ProjectGraphProjectNode>,\n projectMap: Map<string, ProjectConfiguration>\n) {\n for (const p of Object.values(projects)) {\n for (const targetName in p.data?.targets ?? {}) {\n if (\n readTargetDefaultsForTarget(\n targetName,\n targetDefaults,\n // It might seem like we should use the graph here too but we don't want to pass an executor which was processed in the graph\n projectMap.get(p.name).targets?.[targetName]?.executor\n ) === targetDefault\n ) {\n return true;\n }\n }\n }\n return false;\n}\n"],"names":["update","tree","nxJson","vitestDefaults","readNxJson","targetDefaults","vitestTargets","Set","graph","createProjectGraphAsync","projectMap","getProjects","forEachExecutorOptionsInGraph","value","proj","targetName","add","size","projects","nodes","Array","from","Object","assign","cache","inputs","push","namedInputs","production","targetDefaultKey","targetDefault","entries","isTargetDefaultUsed","updateNxJson","formatFiles","p","values","data","targets","readTargetDefaultsForTarget","get","name","executor"],"mappings":";+BAgBA;;;eAA8BA;;;wBALvB;sCACuC;2CAEF;AAE7B,eAAeA,OAAOC,IAAU;QAIzCC,wBA2CQA;QAvCZA,SAoCAC,iBAIAA;IA/CA,MAAMD,SAASE,IAAAA,kBAAU,EAACH;IAE1B,0EAA0E;IAC1E,KAAIC,yBAAAA,OAAOG,cAAc,qBAArBH,sBAAuB,CAAC,gBAAgB,EAAE;QAC5C;IACF;;IAEAA,oBAAAA,UAAAA,QAAOG,4CAAPH,QAAOG,iBAAmB,CAAC;IAE3B;;GAEC,GACD,MAAMC,gBAAgB,IAAIC;IAC1B,MAAMC,QAAQ,MAAMC,IAAAA,+BAAuB;IAC3C,MAAMC,aAAaC,IAAAA,mBAAW,EAACV;IAE/BW,IAAAA,mDAA6B,EAC3BJ,OACA,iBACA,CAACK,OAAOC,MAAMC;QACZT,cAAcU,GAAG,CAACD;IACpB;IAGF,gCAAgC;IAChC,IAAIT,cAAcW,IAAI,KAAK,GAAG;QAC5B;IACF;IAEA,gFAAgF;IAChF,MAAMC,WAAWV,MAAMW,KAAK;IAE5B,MAAMhB,iBACHD,OAAOG,cAAc,CAAC,gBAAgB,GAAG,CAAC;IAE7C,wCAAwC;IACxC,IAAIC,cAAcW,IAAI,KAAK,GAAG;QAC5B,MAAMF,aAAaK,MAAMC,IAAI,CAACf,cAAc,CAAC,EAAE;QAC/C,IAAIJ,OAAOG,cAAc,CAACU,WAAW,EAAE;YACrCO,OAAOC,MAAM,CAACpB,gBAAgBD,OAAOG,cAAc,CAACU,WAAW;QACjE;IACF;;IAEAZ,WAAAA,kBAAAA,gBAAeqB,0BAAfrB,gBAAeqB,QAAU;IAEzB,MAAMC,SAAS;QAAC;KAAU;IAC1BA,OAAOC,IAAI,CAACxB,EAAAA,sBAAAA,OAAOyB,WAAW,qBAAlBzB,oBAAoB0B,UAAU,IAAG,gBAAgB;;IAC7DzB,YAAAA,mBAAAA,gBAAesB,4BAAftB,iBAAesB,SAAWA;IAE1B,8BAA8B;IAC9B,KAAK,MAAM,CAACI,kBAAkBC,cAAc,IAAIR,OAAOS,OAAO,CAC5D7B,OAAOG,cAAc,EACpB;QACD,IACE,CAAC2B,oBACCF,eACA5B,OAAOG,cAAc,EACrBa,UACAR,aAEF;YACA,OAAOR,OAAOG,cAAc,CAACwB,iBAAiB;QAChD;IACF;IAEAI,IAAAA,oBAAY,EAAChC,MAAMC;IAEnB,MAAMgC,IAAAA,mBAAW,EAACjC;AACpB;AAEA;;CAEC,GACD,SAAS+B,oBACPF,aAA2C,EAC3CzB,cAA8B,EAC9Ba,QAAiD,EACjDR,UAA6C;IAE7C,KAAK,MAAMyB,KAAKb,OAAOc,MAAM,CAAClB,UAAW;YACdiB;YAAAA;QAAzB,IAAK,MAAMpB,cAAcoB,CAAAA,mBAAAA,UAAAA,EAAEE,IAAI,qBAANF,QAAQG,OAAO,YAAfH,kBAAmB,CAAC,EAAG;gBAK1C,6HAA6H;YAC7HzB,oCAAAA;YALJ,IACE6B,IAAAA,sDAA2B,EACzBxB,YACAV,iBAEAK,0BAAAA,WAAW8B,GAAG,CAACL,EAAEM,IAAI,EAAEH,OAAO,sBAA9B5B,qCAAAA,uBAAgC,CAACK,WAAW,qBAA5CL,mCAA8CgC,QAAQ,MAClDZ,eACN;gBACA,OAAO;YACT;QACF;IACF;IACA,OAAO;AACT"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-1-0/move-target-defaults.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n getProjects,\n ProjectConfiguration,\n ProjectGraphProjectNode,\n readNxJson,\n TargetConfiguration,\n TargetDefaults,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { forEachExecutorOptionsInGraph } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitestExecutorOptions } from '../../executors/test/schema';\nimport { readTargetDefaultsForTarget } from 'nx/src/project-graph/utils/project-configuration-utils';\n\nexport default async function update(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n // Don't override anything if there are already target defaults for vitest\n if (nxJson.targetDefaults?.['@nx/vite:test']) {\n return;\n }\n\n nxJson.targetDefaults ??= {};\n\n /**\n * A set of targets which does not use any other executors\n */\n const vitestTargets = new Set<string>();\n const graph = await createProjectGraphAsync();\n const projectMap = getProjects(tree);\n\n forEachExecutorOptionsInGraph(\n graph,\n '@nx/vite:test',\n (value, proj, targetName) => {\n vitestTargets.add(targetName);\n }\n );\n\n // Workspace does not use vitest\n if (vitestTargets.size === 0) {\n return;\n }\n\n // Use the project graph nodes so that targets which are inferred are considered\n const projects = graph.nodes;\n\n const vitestDefaults: TargetConfiguration<Partial<VitestExecutorOptions>> =\n (nxJson.targetDefaults['@nx/vite:test'] = {});\n\n // All vitest targets have the same name\n if (vitestTargets.size === 1) {\n const targetName = Array.from(vitestTargets)[0];\n if (nxJson.targetDefaults[targetName]) {\n Object.assign(vitestDefaults, nxJson.targetDefaults[targetName]);\n }\n }\n\n vitestDefaults.cache ??= true;\n\n const inputs = ['default'];\n inputs.push(nxJson.namedInputs?.production ? '^production' : '^default');\n vitestDefaults.inputs ??= inputs;\n\n // Cleanup old target defaults\n for (const [targetDefaultKey, targetDefault] of Object.entries(\n nxJson.targetDefaults\n )) {\n if (\n !isTargetDefaultUsed(\n targetDefault,\n nxJson.targetDefaults,\n projects,\n projectMap\n )\n ) {\n delete nxJson.targetDefaults[targetDefaultKey];\n }\n }\n\n updateNxJson(tree, nxJson);\n\n await formatFiles(tree);\n}\n\n/**\n * Checks every target on every project to see if one of them uses the target default\n */\nfunction isTargetDefaultUsed(\n targetDefault: Partial<TargetConfiguration>,\n targetDefaults: TargetDefaults,\n projects: Record<string, ProjectGraphProjectNode>,\n projectMap: Map<string, ProjectConfiguration>\n) {\n for (const p of Object.values(projects)) {\n for (const targetName in p.data?.targets ?? {}) {\n if (\n readTargetDefaultsForTarget(\n targetName,\n targetDefaults,\n // It might seem like we should use the graph here too but we don't want to pass an executor which was processed in the graph\n projectMap.get(p.name).targets?.[targetName]?.executor\n ) === targetDefault\n ) {\n return true;\n }\n }\n }\n return false;\n}\n"],"names":["update","tree","nxJson","vitestDefaults","readNxJson","targetDefaults","vitestTargets","Set","graph","createProjectGraphAsync","projectMap","getProjects","forEachExecutorOptionsInGraph","value","proj","targetName","add","size","projects","nodes","Array","from","Object","assign","cache","inputs","push","namedInputs","production","targetDefaultKey","targetDefault","entries","isTargetDefaultUsed","updateNxJson","formatFiles","p","values","data","targets","readTargetDefaultsForTarget","get","name","executor"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAgBA;;;eAA8BA;;;wBALvB;sCACuC;2CAEF;AAE7B,eAAeA,OAAOC,IAAU;QAIzCC,wBA2CQA;QAvCZA,SAoCAC,iBAIAA;IA/CA,MAAMD,SAASE,IAAAA,kBAAU,EAACH;IAE1B,0EAA0E;IAC1E,KAAIC,yBAAAA,OAAOG,cAAc,qBAArBH,sBAAuB,CAAC,gBAAgB,EAAE;QAC5C;IACF;;IAEAA,oBAAAA,UAAAA,QAAOG,4CAAPH,QAAOG,iBAAmB,CAAC;IAE3B;;GAEC,GACD,MAAMC,gBAAgB,IAAIC;IAC1B,MAAMC,QAAQ,MAAMC,IAAAA,+BAAuB;IAC3C,MAAMC,aAAaC,IAAAA,mBAAW,EAACV;IAE/BW,IAAAA,mDAA6B,EAC3BJ,OACA,iBACA,CAACK,OAAOC,MAAMC;QACZT,cAAcU,GAAG,CAACD;IACpB;IAGF,gCAAgC;IAChC,IAAIT,cAAcW,IAAI,KAAK,GAAG;QAC5B;IACF;IAEA,gFAAgF;IAChF,MAAMC,WAAWV,MAAMW,KAAK;IAE5B,MAAMhB,iBACHD,OAAOG,cAAc,CAAC,gBAAgB,GAAG,CAAC;IAE7C,wCAAwC;IACxC,IAAIC,cAAcW,IAAI,KAAK,GAAG;QAC5B,MAAMF,aAAaK,MAAMC,IAAI,CAACf,cAAc,CAAC,EAAE;QAC/C,IAAIJ,OAAOG,cAAc,CAACU,WAAW,EAAE;YACrCO,OAAOC,MAAM,CAACpB,gBAAgBD,OAAOG,cAAc,CAACU,WAAW;QACjE;IACF;;IAEAZ,WAAAA,kBAAAA,gBAAeqB,0BAAfrB,gBAAeqB,QAAU;IAEzB,MAAMC,SAAS;QAAC;KAAU;IAC1BA,OAAOC,IAAI,CAACxB,EAAAA,sBAAAA,OAAOyB,WAAW,qBAAlBzB,oBAAoB0B,UAAU,IAAG,gBAAgB;;IAC7DzB,YAAAA,mBAAAA,gBAAesB,4BAAftB,iBAAesB,SAAWA;IAE1B,8BAA8B;IAC9B,KAAK,MAAM,CAACI,kBAAkBC,cAAc,IAAIR,OAAOS,OAAO,CAC5D7B,OAAOG,cAAc,EACpB;QACD,IACE,CAAC2B,oBACCF,eACA5B,OAAOG,cAAc,EACrBa,UACAR,aAEF;YACA,OAAOR,OAAOG,cAAc,CAACwB,iBAAiB;QAChD;IACF;IAEAI,IAAAA,oBAAY,EAAChC,MAAMC;IAEnB,MAAMgC,IAAAA,mBAAW,EAACjC;AACpB;AAEA;;CAEC,GACD,SAAS+B,oBACPF,aAA2C,EAC3CzB,cAA8B,EAC9Ba,QAAiD,EACjDR,UAA6C;IAE7C,KAAK,MAAMyB,KAAKb,OAAOc,MAAM,CAAClB,UAAW;YACdiB;YAAAA;QAAzB,IAAK,MAAMpB,cAAcoB,CAAAA,mBAAAA,UAAAA,EAAEE,IAAI,qBAANF,QAAQG,OAAO,YAAfH,kBAAmB,CAAC,EAAG;gBAK1C,6HAA6H;YAC7HzB,oCAAAA;YALJ,IACE6B,IAAAA,sDAA2B,EACzBxB,YACAV,iBAEAK,0BAAAA,WAAW8B,GAAG,CAACL,EAAEM,IAAI,EAAEH,OAAO,sBAA9B5B,qCAAAA,uBAAgC,CAACK,WAAW,qBAA5CL,mCAA8CgC,QAAQ,MAClDZ,eACN;gBACA,OAAO;YACT;QACF;IACF;IACA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/add-file-replacements.ts"],"sourcesContent":["import { ChangeType, applyChangesToString } from '@nx/devkit';\nimport { FileReplacement } from '../../../../plugins/rollup-replace-files.plugin';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function addFileReplacements(\n configContents: string,\n fileReplacements: FileReplacement[],\n configPath: string\n): string {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n const pluginsObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"])`\n )?.[0];\n const replaceFilesPlugin = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"replaceFiles\"])`\n )?.[0];\n\n const firstImportDeclaration = tsquery.query(\n configContents,\n 'ImportDeclaration'\n )?.[0];\n\n if (pluginsObject) {\n if (replaceFilesPlugin) {\n return configContents;\n } else {\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: pluginsObject.getStart() + `plugins: [`.length + 1,\n text: `replaceFiles(${JSON.stringify(fileReplacements)}),`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n },\n ]);\n }\n } else {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n return;\n }\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `plugins: [replaceFiles(${JSON.stringify(fileReplacements)})],`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n },\n ]);\n }\n}\n"],"names":["addFileReplacements","configContents","fileReplacements","configPath","tsquery","configNode","getConfigNode","notFoundWarning","pluginsObject","query","replaceFilesPlugin","firstImportDeclaration","applyChangesToString","type","ChangeType","Insert","index","getStart","length","text","JSON","stringify","foundDefineConfig"],"mappings":";+BAKgBA;;;eAAAA;;;wBALiC;yBAEzB;kCACuB;AAExC,SAASA,oBACdC,cAAsB,EACtBC,gBAAmC,EACnCC,UAAkB;QAOIC,gBAIKA,iBAKIA;IAd/B,MAAMC,aAAaC,IAAAA,+BAAa,EAACL;IACjC,IAAI,CAACI,YAAY;QACfE,IAAAA,iCAAe,EAACJ;QAChB,OAAOF;IACT;IACA,MAAMO,iBAAgBJ,iBAAAA,gBAAO,CAACK,KAAK,CACjCJ,YACA,CAAC,kDAAkD,CAAC,sBAFhCD,cAGnB,CAAC,EAAE;IACN,MAAMM,sBAAqBN,kBAAAA,gBAAO,CAACK,KAAK,CACtCJ,YACA,CAAC,sGAAsG,CAAC,sBAF/ED,eAGxB,CAAC,EAAE;IAEN,MAAMO,0BAAyBP,kBAAAA,gBAAO,CAACK,KAAK,CAC1CR,gBACA,yCAF6BG,eAG5B,CAAC,EAAE;IAEN,IAAII,eAAe;QACjB,IAAIE,oBAAoB;YACtB,OAAOT;QACT,OAAO;YACL,OAAOW,IAAAA,4BAAoB,EAACX,gBAAgB;gBAC1C;oBACEY,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOR,cAAcS,QAAQ,KAAK,CAAC,UAAU,CAAC,CAACC,MAAM,GAAG;oBACxDC,MAAM,CAAC,aAAa,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,EAAE,CAAC;gBAC5D;gBACAS,yBACI;oBACEE,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOL,uBAAuBM,QAAQ;oBACtCE,MAAM,CAAC,0EAA0E,CAAC;gBACpF,IACA;oBACEN,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAO;oBACPG,MAAM,CAAC,0EAA0E,CAAC;gBACpF;aACL;QACH;IACF,OAAO;YACqBf;QAA1B,MAAMkB,qBAAoBlB,kBAAAA,gBAAO,CAACK,KAAK,CACrCR,gBACA,2EAFwBG,eAGvB,CAAC,EAAE;QAEN,IAAI,CAACkB,mBAAmB;YACtB;QACF;QACA,OAAOV,IAAAA,4BAAoB,EAACX,gBAAgB;YAC1C;gBACEY,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOX,WAAWY,QAAQ,KAAK;gBAC/BE,MAAM,CAAC,uBAAuB,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,GAAG,CAAC;YACvE;YACAS,yBACI;gBACEE,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOL,uBAAuBM,QAAQ;gBACtCE,MAAM,CAAC,wEAAwE,CAAC;YAClF,IACA;gBACEN,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAO;gBACPG,MAAM,CAAC,wEAAwE,CAAC;YAClF;SACL;IACH;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/add-file-replacements.ts"],"sourcesContent":["import { ChangeType, applyChangesToString } from '@nx/devkit';\nimport { FileReplacement } from '../../../../plugins/rollup-replace-files.plugin';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function addFileReplacements(\n configContents: string,\n fileReplacements: FileReplacement[],\n configPath: string\n): string {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n const pluginsObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"])`\n )?.[0];\n const replaceFilesPlugin = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"replaceFiles\"])`\n )?.[0];\n\n const firstImportDeclaration = tsquery.query(\n configContents,\n 'ImportDeclaration'\n )?.[0];\n\n if (pluginsObject) {\n if (replaceFilesPlugin) {\n return configContents;\n } else {\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: pluginsObject.getStart() + `plugins: [`.length + 1,\n text: `replaceFiles(${JSON.stringify(fileReplacements)}),`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n },\n ]);\n }\n } else {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n return;\n }\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `plugins: [replaceFiles(${JSON.stringify(fileReplacements)})],`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n },\n ]);\n }\n}\n"],"names":["addFileReplacements","configContents","fileReplacements","configPath","tsquery","configNode","getConfigNode","notFoundWarning","pluginsObject","query","replaceFilesPlugin","firstImportDeclaration","applyChangesToString","type","ChangeType","Insert","index","getStart","length","text","JSON","stringify","foundDefineConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAKgBA;;;eAAAA;;;wBALiC;yBAEzB;kCACuB;AAExC,SAASA,oBACdC,cAAsB,EACtBC,gBAAmC,EACnCC,UAAkB;QAOIC,gBAIKA,iBAKIA;IAd/B,MAAMC,aAAaC,IAAAA,+BAAa,EAACL;IACjC,IAAI,CAACI,YAAY;QACfE,IAAAA,iCAAe,EAACJ;QAChB,OAAOF;IACT;IACA,MAAMO,iBAAgBJ,iBAAAA,gBAAO,CAACK,KAAK,CACjCJ,YACA,CAAC,kDAAkD,CAAC,sBAFhCD,cAGnB,CAAC,EAAE;IACN,MAAMM,sBAAqBN,kBAAAA,gBAAO,CAACK,KAAK,CACtCJ,YACA,CAAC,sGAAsG,CAAC,sBAF/ED,eAGxB,CAAC,EAAE;IAEN,MAAMO,0BAAyBP,kBAAAA,gBAAO,CAACK,KAAK,CAC1CR,gBACA,yCAF6BG,eAG5B,CAAC,EAAE;IAEN,IAAII,eAAe;QACjB,IAAIE,oBAAoB;YACtB,OAAOT;QACT,OAAO;YACL,OAAOW,IAAAA,4BAAoB,EAACX,gBAAgB;gBAC1C;oBACEY,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOR,cAAcS,QAAQ,KAAK,CAAC,UAAU,CAAC,CAACC,MAAM,GAAG;oBACxDC,MAAM,CAAC,aAAa,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,EAAE,CAAC;gBAC5D;gBACAS,yBACI;oBACEE,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOL,uBAAuBM,QAAQ;oBACtCE,MAAM,CAAC,0EAA0E,CAAC;gBACpF,IACA;oBACEN,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAO;oBACPG,MAAM,CAAC,0EAA0E,CAAC;gBACpF;aACL;QACH;IACF,OAAO;YACqBf;QAA1B,MAAMkB,qBAAoBlB,kBAAAA,gBAAO,CAACK,KAAK,CACrCR,gBACA,2EAFwBG,eAGvB,CAAC,EAAE;QAEN,IAAI,CAACkB,mBAAmB;YACtB;QACF;QACA,OAAOV,IAAAA,4BAAoB,EAACX,gBAAgB;YAC1C;gBACEY,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOX,WAAWY,QAAQ,KAAK;gBAC/BE,MAAM,CAAC,uBAAuB,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,GAAG,CAAC;YACvE;YACAS,yBACI;gBACEE,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOL,uBAAuBM,QAAQ;gBACtCE,MAAM,CAAC,wEAAwE,CAAC;YAClF,IACA;gBACEN,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAO;gBACPG,MAAM,CAAC,wEAAwE,CAAC;YAClF;SACL;IACH;AACF"}
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "updateBuildOutDirAndRoot", {
|
|
|
8
8
|
const _devkit = require("@nx/devkit");
|
|
9
9
|
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
10
10
|
const _updateviteconfig = require("../update-vite-config");
|
|
11
|
-
const ts = require("typescript");
|
|
12
11
|
function updateBuildOutDirAndRoot(options, configContents, projectConfig, targetName, tree, projectName, configPath) {
|
|
13
12
|
var _tsquery_query;
|
|
14
13
|
const foundDefineConfig = (_tsquery_query = _tsquery.tsquery.query(configContents, 'CallExpression:has(Identifier[name="defineConfig"])')) == null ? void 0 : _tsquery_query[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/edit-build-config.ts"],"sourcesContent":["import {\n ChangeType,\n ProjectConfiguration,\n Tree,\n applyChangesToString,\n joinPathFragments,\n offsetFromRoot,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function updateBuildOutDirAndRoot(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n): string {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n notFoundWarning(configPath);\n return;\n }\n\n configContents = fixBuild(\n options,\n configContents,\n projectConfig,\n targetName,\n tree,\n projectName,\n configPath\n );\n\n configContents = addRoot(configContents, configPath);\n\n return configContents;\n}\n\nfunction fixBuild(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n) {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n\n let outputPath = '';\n\n // In vite.config.ts, we want to keep the path relative to workspace root\n if (options.outputPath) {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n options.outputPath\n );\n } else {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n 'dist',\n projectConfig.root\n );\n }\n\n // In project.json, we want to keep the path starting from workspace root\n projectConfig.targets[targetName].options.outputPath = options.outputPath\n ? options.outputPath\n : joinPathFragments('dist', projectConfig.root);\n updateProjectConfiguration(tree, projectName, projectConfig);\n\n const buildObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"build\"])`\n )?.[0];\n\n if (buildObject) {\n const reportCompressedSizeExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"reportCompressedSize\"])`\n )?.length > 0;\n\n const commonjsOptionsExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"commonjsOptions\"])`\n )?.length > 0;\n\n const buildOutDir = tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"outDir\"])`\n )?.length;\n\n // Array to store changes\n let changes = [];\n\n // Add outDir if not present\n if (!buildOutDir) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `outDir: '${outputPath}',`,\n });\n }\n\n // Add reportCompressedSize if not present\n if (!reportCompressedSizeExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `reportCompressedSize: true,`,\n });\n }\n\n // Add commonjsOptions if not present\n if (!commonjsOptionsExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `commonjsOptions: { transformMixedEsModules: true },`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n }\n } else {\n return addBuildProperty(configContents, outputPath, configPath);\n }\n\n return configContents;\n}\n\nfunction addRoot(configFileContents: string, configPath: string): string {\n const configNode = getConfigNode(configFileContents);\n\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n const rootOption = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"root\"]) Identifier[name=\"__dirname\"]`\n )?.[0];\n\n if (rootOption) {\n return configFileContents;\n } else {\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `root: __dirname,`,\n },\n ]);\n }\n}\n\nfunction addBuildProperty(\n configFileContents: string,\n outputPath: string,\n configPath: string\n): string {\n const configNode = getConfigNode(configFileContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `build: {\n outDir: '${outputPath}',\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n },`,\n },\n ]);\n}\n"],"names":["updateBuildOutDirAndRoot","
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/edit-build-config.ts"],"sourcesContent":["import {\n ChangeType,\n ProjectConfiguration,\n Tree,\n applyChangesToString,\n joinPathFragments,\n offsetFromRoot,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function updateBuildOutDirAndRoot(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n): string {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n notFoundWarning(configPath);\n return;\n }\n\n configContents = fixBuild(\n options,\n configContents,\n projectConfig,\n targetName,\n tree,\n projectName,\n configPath\n );\n\n configContents = addRoot(configContents, configPath);\n\n return configContents;\n}\n\nfunction fixBuild(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n) {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n\n let outputPath = '';\n\n // In vite.config.ts, we want to keep the path relative to workspace root\n if (options.outputPath) {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n options.outputPath\n );\n } else {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n 'dist',\n projectConfig.root\n );\n }\n\n // In project.json, we want to keep the path starting from workspace root\n projectConfig.targets[targetName].options.outputPath = options.outputPath\n ? options.outputPath\n : joinPathFragments('dist', projectConfig.root);\n updateProjectConfiguration(tree, projectName, projectConfig);\n\n const buildObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"build\"])`\n )?.[0];\n\n if (buildObject) {\n const reportCompressedSizeExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"reportCompressedSize\"])`\n )?.length > 0;\n\n const commonjsOptionsExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"commonjsOptions\"])`\n )?.length > 0;\n\n const buildOutDir = tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"outDir\"])`\n )?.length;\n\n // Array to store changes\n let changes = [];\n\n // Add outDir if not present\n if (!buildOutDir) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `outDir: '${outputPath}',`,\n });\n }\n\n // Add reportCompressedSize if not present\n if (!reportCompressedSizeExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `reportCompressedSize: true,`,\n });\n }\n\n // Add commonjsOptions if not present\n if (!commonjsOptionsExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `commonjsOptions: { transformMixedEsModules: true },`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n }\n } else {\n return addBuildProperty(configContents, outputPath, configPath);\n }\n\n return configContents;\n}\n\nfunction addRoot(configFileContents: string, configPath: string): string {\n const configNode = getConfigNode(configFileContents);\n\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n const rootOption = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"root\"]) Identifier[name=\"__dirname\"]`\n )?.[0];\n\n if (rootOption) {\n return configFileContents;\n } else {\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `root: __dirname,`,\n },\n ]);\n }\n}\n\nfunction addBuildProperty(\n configFileContents: string,\n outputPath: string,\n configPath: string\n): string {\n const configNode = getConfigNode(configFileContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `build: {\n outDir: '${outputPath}',\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n },`,\n },\n ]);\n}\n"],"names":["updateBuildOutDirAndRoot","options","configContents","projectConfig","targetName","tree","projectName","configPath","tsquery","foundDefineConfig","query","notFoundWarning","fixBuild","addRoot","configNode","getConfigNode","outputPath","joinPathFragments","offsetFromRoot","root","targets","updateProjectConfiguration","buildObject","reportCompressedSizeExists","length","commonjsOptionsExists","buildOutDir","changes","push","type","ChangeType","Insert","index","getStart","text","applyChangesToString","addBuildProperty","configFileContents","rootOption"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "updateTestConfig", {
|
|
|
8
8
|
const _devkit = require("@nx/devkit");
|
|
9
9
|
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
10
10
|
const _updateviteconfig = require("../update-vite-config");
|
|
11
|
-
const ts = require("typescript");
|
|
12
11
|
function updateTestConfig(configContents, projectConfig, configPath) {
|
|
13
12
|
var _tsquery_query, _projectConfig_targets_test_options, _projectConfig_targets_test, _projectConfig_targets;
|
|
14
13
|
const configNode = (0, _updateviteconfig.getConfigNode)(configContents);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/edit-test-config.ts"],"sourcesContent":["import {\n ChangeType,\n ProjectConfiguration,\n applyChangesToString,\n joinPathFragments,\n offsetFromRoot,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function updateTestConfig(\n configContents: string,\n projectConfig: ProjectConfiguration,\n configPath: string\n): string {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n\n const testObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"test\"])`\n )?.[0];\n let testCoverageDir: ts.Node;\n let testCoverage: ts.Node;\n let provider: ts.Node;\n let reporters: ts.Node;\n\n if (testObject) {\n testCoverage = tsquery.query(\n testObject,\n `PropertyAssignment:has(Identifier[name=\"coverage\"])`\n )?.[0];\n reporters = tsquery.query(\n testObject,\n `PropertyAssignment:has(Identifier[name=\"reporters\"])`\n )?.[0];\n if (testCoverage) {\n testCoverageDir = tsquery.query(\n testCoverage,\n `PropertyAssignment:has(Identifier[name=\"reportsDirectory\"])`\n )?.[0];\n provider = tsquery.query(\n testCoverage,\n `PropertyAssignment:has(Identifier[name=\"provider\"])`\n )?.[0];\n }\n }\n\n let coverageDir = '';\n\n if (projectConfig.targets?.test?.options?.reportsDirectory) {\n coverageDir = projectConfig.targets?.test?.options?.reportsDirectory;\n } else {\n coverageDir = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n 'coverage',\n projectConfig.root\n );\n }\n\n let changes = [];\n\n if (!reporters && testObject) {\n changes.push({\n type: ChangeType.Insert,\n index: testObject.getStart() + `test: {`.length + 1,\n text: `reporters: ['default'],`,\n });\n }\n\n if (testCoverageDir) {\n // Do nothing\n } else if (testCoverage) {\n // has test.coverage, has no reportsDirectory\n // so add reportsDirectory\n changes.push({\n type: ChangeType.Insert,\n index: testCoverage.getStart() + `coverage: {`.length + 1,\n text: `reportsDirectory: '${coverageDir}',`,\n });\n if (!provider) {\n changes.push({\n type: ChangeType.Insert,\n index: testCoverage.getStart() + `coverage: {`.length + 1,\n text: `provider: 'v8',`,\n });\n }\n } else if (testObject) {\n changes.push({\n type: ChangeType.Insert,\n index: testObject.getStart() + `test: {`.length + 1,\n text: `coverage: {\n reportsDirectory: '${coverageDir}',\n provider: 'v8',\n },`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n } else {\n return configContents;\n }\n}\n"],"names":["updateTestConfig","
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/edit-test-config.ts"],"sourcesContent":["import {\n ChangeType,\n ProjectConfiguration,\n applyChangesToString,\n joinPathFragments,\n offsetFromRoot,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function updateTestConfig(\n configContents: string,\n projectConfig: ProjectConfiguration,\n configPath: string\n): string {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n\n const testObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"test\"])`\n )?.[0];\n let testCoverageDir: ts.Node;\n let testCoverage: ts.Node;\n let provider: ts.Node;\n let reporters: ts.Node;\n\n if (testObject) {\n testCoverage = tsquery.query(\n testObject,\n `PropertyAssignment:has(Identifier[name=\"coverage\"])`\n )?.[0];\n reporters = tsquery.query(\n testObject,\n `PropertyAssignment:has(Identifier[name=\"reporters\"])`\n )?.[0];\n if (testCoverage) {\n testCoverageDir = tsquery.query(\n testCoverage,\n `PropertyAssignment:has(Identifier[name=\"reportsDirectory\"])`\n )?.[0];\n provider = tsquery.query(\n testCoverage,\n `PropertyAssignment:has(Identifier[name=\"provider\"])`\n )?.[0];\n }\n }\n\n let coverageDir = '';\n\n if (projectConfig.targets?.test?.options?.reportsDirectory) {\n coverageDir = projectConfig.targets?.test?.options?.reportsDirectory;\n } else {\n coverageDir = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n 'coverage',\n projectConfig.root\n );\n }\n\n let changes = [];\n\n if (!reporters && testObject) {\n changes.push({\n type: ChangeType.Insert,\n index: testObject.getStart() + `test: {`.length + 1,\n text: `reporters: ['default'],`,\n });\n }\n\n if (testCoverageDir) {\n // Do nothing\n } else if (testCoverage) {\n // has test.coverage, has no reportsDirectory\n // so add reportsDirectory\n changes.push({\n type: ChangeType.Insert,\n index: testCoverage.getStart() + `coverage: {`.length + 1,\n text: `reportsDirectory: '${coverageDir}',`,\n });\n if (!provider) {\n changes.push({\n type: ChangeType.Insert,\n index: testCoverage.getStart() + `coverage: {`.length + 1,\n text: `provider: 'v8',`,\n });\n }\n } else if (testObject) {\n changes.push({\n type: ChangeType.Insert,\n index: testObject.getStart() + `test: {`.length + 1,\n text: `coverage: {\n reportsDirectory: '${coverageDir}',\n provider: 'v8',\n },`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n } else {\n return configContents;\n }\n}\n"],"names":["updateTestConfig","configContents","projectConfig","configPath","tsquery","configNode","getConfigNode","notFoundWarning","testObject","query","testCoverageDir","testCoverage","provider","reporters","coverageDir","targets","test","options","reportsDirectory","joinPathFragments","offsetFromRoot","root","changes","push","type","ChangeType","Insert","index","getStart","length","text","applyChangesToString"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/vite-config-with-additional-js.fixture.ts"],"sourcesContent":["export const viteConfigFixture = `/// <reference types=\"vitest\" />\nimport react from '@vitejs/plugin-react';\nimport dns from 'dns';\nimport { PluginOption, defineConfig } from 'vite';\nimport { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\n\ndns.setDefaultResultOrder('verbatim');\nconst BASE_HREF = '/app';\n\n/**\n * Adds <base href=\"/app\">\\` to the head of the index.html\n * The reason why the \\`base\\` configuration property doesn't work is because it makes\n * all assets served under \\`/app\\` of \\`/\\` and this impacts the download zip service worker\n * We only want to the service worker to listen to events related to downloads, but not capture any other events\n * and the only way to do this is make sure all assets are served from the root, but we still want our app path to be \\`/app\\`\n *\n * This mimics the same behavior we had with webpack before migrating to vite\n */\nconst baseHrefPlugin: () => PluginOption = () => {\n return {\n name: 'html-transform',\n transformIndexHtml(html) {\n return html.replace('<head>', \\`<head>\\\\n <base href=\"\\${BASE_HREF}\">\\`);\n },\n };\n};\n\nexport default defineConfig({\n cacheDir: '../../node_modules/.vite/jetstream',\n envPrefix: 'NX',\n\n server: {\n port: 4200,\n host: 'localhost',\n },\n\n build: {\n // Put all assets at the root of the app instead of under /assets\n assetsDir: './',\n sourcemap: true,\n rollupOptions: {\n output: {\n sourcemap: true,\n },\n },\n },\n\n plugins: [\n react({\n jsxImportSource: '@emotion/react',\n babel: {\n plugins: ['@emotion/babel-plugin'],\n },\n }),\n nxViteTsPaths(),\n baseHrefPlugin(),\n ],\n\n worker: {\n plugins: [\n nxViteTsPaths(),\n ],\n },\n});`;\n"],"names":["viteConfigFixture"],"mappings":";+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+D/B,CAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/vite-config-with-additional-js.fixture.ts"],"sourcesContent":["export const viteConfigFixture = `/// <reference types=\"vitest\" />\nimport react from '@vitejs/plugin-react';\nimport dns from 'dns';\nimport { PluginOption, defineConfig } from 'vite';\nimport { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\n\ndns.setDefaultResultOrder('verbatim');\nconst BASE_HREF = '/app';\n\n/**\n * Adds <base href=\"/app\">\\` to the head of the index.html\n * The reason why the \\`base\\` configuration property doesn't work is because it makes\n * all assets served under \\`/app\\` of \\`/\\` and this impacts the download zip service worker\n * We only want to the service worker to listen to events related to downloads, but not capture any other events\n * and the only way to do this is make sure all assets are served from the root, but we still want our app path to be \\`/app\\`\n *\n * This mimics the same behavior we had with webpack before migrating to vite\n */\nconst baseHrefPlugin: () => PluginOption = () => {\n return {\n name: 'html-transform',\n transformIndexHtml(html) {\n return html.replace('<head>', \\`<head>\\\\n <base href=\"\\${BASE_HREF}\">\\`);\n },\n };\n};\n\nexport default defineConfig({\n cacheDir: '../../node_modules/.vite/jetstream',\n envPrefix: 'NX',\n\n server: {\n port: 4200,\n host: 'localhost',\n },\n\n build: {\n // Put all assets at the root of the app instead of under /assets\n assetsDir: './',\n sourcemap: true,\n rollupOptions: {\n output: {\n sourcemap: true,\n },\n },\n },\n\n plugins: [\n react({\n jsxImportSource: '@emotion/react',\n babel: {\n plugins: ['@emotion/babel-plugin'],\n },\n }),\n nxViteTsPaths(),\n baseHrefPlugin(),\n ],\n\n worker: {\n plugins: [\n nxViteTsPaths(),\n ],\n },\n});`;\n"],"names":["viteConfigFixture"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+D/B,CAAC"}
|
|
@@ -23,7 +23,6 @@ const _edittestconfig = require("./lib/edit-test-config");
|
|
|
23
23
|
const _addfilereplacements = require("./lib/add-file-replacements");
|
|
24
24
|
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
25
25
|
const _findviteconfig = require("../../utils/find-vite-config");
|
|
26
|
-
const ts = require("typescript");
|
|
27
26
|
async function updateBuildDir(tree) {
|
|
28
27
|
const projects = (0, _devkit.getProjects)(tree);
|
|
29
28
|
(0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nx/vite:build', (options, projectName, targetName)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-2-0/update-vite-config.ts"],"sourcesContent":["import {\n Tree,\n formatFiles,\n getProjects,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { updateBuildOutDirAndRoot } from './lib/edit-build-config';\nimport { updateTestConfig } from './lib/edit-test-config';\nimport { addFileReplacements } from './lib/add-file-replacements';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { findViteConfig } from '../../utils/find-vite-config';\n\nexport default async function updateBuildDir(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions<ViteBuildExecutorOptions>(\n tree,\n '@nx/vite:build',\n (options, projectName, targetName) => {\n const projectConfig = projects.get(projectName);\n const config =\n options.configFile || findViteConfig(tree, projectConfig.root);\n if (!config || !tree.exists(config)) {\n return;\n }\n let configContents = tree.read(config, 'utf-8');\n\n configContents = updateBuildOutDirAndRoot(\n options,\n configContents,\n projectConfig,\n targetName,\n tree,\n projectName,\n config\n );\n\n configContents = updateTestConfig(configContents, projectConfig, config);\n\n if (options['fileReplacements']?.length > 0) {\n configContents = addFileReplacements(\n configContents,\n options['fileReplacements'],\n config\n );\n }\n\n tree.write(config, configContents);\n }\n );\n\n await formatFiles(tree);\n}\n\nexport function getConfigNode(configFileContents: string): ts.Node | undefined {\n if (!configFileContents) {\n return;\n }\n let configNode = tsquery.query(\n configFileContents,\n `CallExpression:has(Identifier[name=defineConfig]) > ObjectLiteralExpression`\n )?.[0];\n\n if (!configNode) {\n const arrowFunctionReturnStatement = tsquery.query(\n configFileContents,\n `ArrowFunction Block ReturnStatement ObjectLiteralExpression`\n )?.[0];\n\n if (arrowFunctionReturnStatement) {\n configNode = arrowFunctionReturnStatement;\n }\n }\n\n return configNode;\n}\n\nexport function notFoundWarning(configPath: string) {\n logger.warn(`\n Could not migrate your ${configPath} file.\n Please add the build.outDir and root options in your ${configPath} file.\n You can find more information on how to configure vite for Nx here:\n \n https://nx.dev/recipes/vite/configure-vite\n `);\n}\n"],"names":["updateBuildDir","getConfigNode","notFoundWarning","
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-2-0/update-vite-config.ts"],"sourcesContent":["import {\n Tree,\n formatFiles,\n getProjects,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { updateBuildOutDirAndRoot } from './lib/edit-build-config';\nimport { updateTestConfig } from './lib/edit-test-config';\nimport { addFileReplacements } from './lib/add-file-replacements';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { findViteConfig } from '../../utils/find-vite-config';\n\nexport default async function updateBuildDir(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions<ViteBuildExecutorOptions>(\n tree,\n '@nx/vite:build',\n (options, projectName, targetName) => {\n const projectConfig = projects.get(projectName);\n const config =\n options.configFile || findViteConfig(tree, projectConfig.root);\n if (!config || !tree.exists(config)) {\n return;\n }\n let configContents = tree.read(config, 'utf-8');\n\n configContents = updateBuildOutDirAndRoot(\n options,\n configContents,\n projectConfig,\n targetName,\n tree,\n projectName,\n config\n );\n\n configContents = updateTestConfig(configContents, projectConfig, config);\n\n if (options['fileReplacements']?.length > 0) {\n configContents = addFileReplacements(\n configContents,\n options['fileReplacements'],\n config\n );\n }\n\n tree.write(config, configContents);\n }\n );\n\n await formatFiles(tree);\n}\n\nexport function getConfigNode(configFileContents: string): ts.Node | undefined {\n if (!configFileContents) {\n return;\n }\n let configNode = tsquery.query(\n configFileContents,\n `CallExpression:has(Identifier[name=defineConfig]) > ObjectLiteralExpression`\n )?.[0];\n\n if (!configNode) {\n const arrowFunctionReturnStatement = tsquery.query(\n configFileContents,\n `ArrowFunction Block ReturnStatement ObjectLiteralExpression`\n )?.[0];\n\n if (arrowFunctionReturnStatement) {\n configNode = arrowFunctionReturnStatement;\n }\n }\n\n return configNode;\n}\n\nexport function notFoundWarning(configPath: string) {\n logger.warn(`\n Could not migrate your ${configPath} file.\n Please add the build.outDir and root options in your ${configPath} file.\n You can find more information on how to configure vite for Nx here:\n \n https://nx.dev/recipes/vite/configure-vite\n `);\n}\n"],"names":["updateBuildDir","getConfigNode","notFoundWarning","tree","projects","getProjects","forEachExecutorOptions","options","projectName","targetName","projectConfig","get","config","configFile","findViteConfig","root","exists","configContents","read","updateBuildOutDirAndRoot","updateTestConfig","length","addFileReplacements","write","formatFiles","configFileContents","tsquery","configNode","query","arrowFunctionReturnStatement","configPath","logger","warn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IAgBA,OAuCC;eAvC6BA;;IAyCdC,aAAa;eAAbA;;IAuBAC,eAAe;eAAfA;;;wBA1ET;sCACgC;iCAEE;gCACR;qCACG;yBACZ;gCAEO;AAEhB,eAAeF,eAAeG,IAAU;IACrD,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EACpBH,MACA,kBACA,CAACI,SAASC,aAAaC;YAqBjBF;QApBJ,MAAMG,gBAAgBN,SAASO,GAAG,CAACH;QACnC,MAAMI,SACJL,QAAQM,UAAU,IAAIC,IAAAA,8BAAc,EAACX,MAAMO,cAAcK,IAAI;QAC/D,IAAI,CAACH,UAAU,CAACT,KAAKa,MAAM,CAACJ,SAAS;YACnC;QACF;QACA,IAAIK,iBAAiBd,KAAKe,IAAI,CAACN,QAAQ;QAEvCK,iBAAiBE,IAAAA,yCAAwB,EACvCZ,SACAU,gBACAP,eACAD,YACAN,MACAK,aACAI;QAGFK,iBAAiBG,IAAAA,gCAAgB,EAACH,gBAAgBP,eAAeE;QAEjE,IAAIL,EAAAA,4BAAAA,OAAO,CAAC,mBAAmB,qBAA3BA,0BAA6Bc,MAAM,IAAG,GAAG;YAC3CJ,iBAAiBK,IAAAA,wCAAmB,EAClCL,gBACAV,OAAO,CAAC,mBAAmB,EAC3BK;QAEJ;QAEAT,KAAKoB,KAAK,CAACX,QAAQK;IACrB;IAGF,MAAMO,IAAAA,mBAAW,EAACrB;AACpB;AAEO,SAASF,cAAcwB,kBAA0B;QAIrCC;IAHjB,IAAI,CAACD,oBAAoB;QACvB;IACF;IACA,IAAIE,cAAaD,iBAAAA,gBAAO,CAACE,KAAK,CAC5BH,oBACA,CAAC,2EAA2E,CAAC,sBAF9DC,cAGd,CAAC,EAAE;IAEN,IAAI,CAACC,YAAY;YACsBD;QAArC,MAAMG,gCAA+BH,kBAAAA,gBAAO,CAACE,KAAK,CAChDH,oBACA,CAAC,2DAA2D,CAAC,sBAF1BC,eAGlC,CAAC,EAAE;QAEN,IAAIG,8BAA8B;YAChCF,aAAaE;QACf;IACF;IAEA,OAAOF;AACT;AAEO,SAASzB,gBAAgB4B,UAAkB;IAChDC,cAAM,CAACC,IAAI,CAAC,CAAC;yBACU,EAAEF,WAAW;uDACiB,EAAEA,WAAW;;;;EAIlE,CAAC;AACH"}
|