@nx/vite 17.0.2 → 17.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +9 -4
  3. package/generators.json +3 -3
  4. package/migrations.json +90 -0
  5. package/package.json +9 -7
  6. package/plugin.d.ts +1 -0
  7. package/plugin.js +21 -0
  8. package/plugin.js.map +1 -0
  9. package/plugins/nx-tsconfig-paths.plugin.js +9 -5
  10. package/plugins/nx-tsconfig-paths.plugin.js.map +1 -1
  11. package/plugins/rollup-replace-files.plugin.d.ts +3 -3
  12. package/plugins/rollup-replace-files.plugin.js +2 -2
  13. package/plugins/rollup-replace-files.plugin.js.map +1 -1
  14. package/src/executors/build/build.impl.d.ts +5 -1
  15. package/src/executors/build/build.impl.js +90 -21
  16. package/src/executors/build/build.impl.js.map +1 -1
  17. package/src/executors/build/schema.d.ts +5 -18
  18. package/src/executors/build/schema.json +4 -106
  19. package/src/executors/dev-server/dev-server.impl.js +74 -9
  20. package/src/executors/dev-server/dev-server.impl.js.map +1 -1
  21. package/src/executors/dev-server/schema.d.ts +0 -10
  22. package/src/executors/dev-server/schema.json +0 -63
  23. package/src/executors/preview-server/preview-server.impl.d.ts +1 -1
  24. package/src/executors/preview-server/preview-server.impl.js +79 -15
  25. package/src/executors/preview-server/preview-server.impl.js.map +1 -1
  26. package/src/executors/preview-server/schema.d.ts +0 -7
  27. package/src/executors/preview-server/schema.json +1 -51
  28. package/src/executors/test/lib/nx-reporter.d.ts +14 -0
  29. package/src/executors/test/lib/nx-reporter.js +40 -0
  30. package/src/executors/test/lib/nx-reporter.js.map +1 -0
  31. package/src/executors/test/lib/utils.d.ts +4 -0
  32. package/src/executors/test/lib/utils.js +77 -0
  33. package/src/executors/test/lib/utils.js.map +1 -0
  34. package/src/executors/test/schema.d.ts +3 -8
  35. package/src/executors/test/schema.json +11 -43
  36. package/src/executors/test/vitest.impl.js +20 -112
  37. package/src/executors/test/vitest.impl.js.map +1 -1
  38. package/src/generators/configuration/configuration.d.ts +2 -1
  39. package/src/generators/configuration/configuration.js +49 -87
  40. package/src/generators/configuration/configuration.js.map +1 -1
  41. package/src/generators/configuration/lib/convert-non-vite.d.ts +5 -0
  42. package/src/generators/configuration/lib/convert-non-vite.js +62 -0
  43. package/src/generators/configuration/lib/convert-non-vite.js.map +1 -0
  44. package/src/generators/configuration/schema.d.ts +1 -3
  45. package/src/generators/configuration/schema.json +0 -12
  46. package/src/generators/init/init.d.ts +4 -3
  47. package/src/generators/init/init.js +50 -67
  48. package/src/generators/init/init.js.map +1 -1
  49. package/src/generators/init/lib/utils.d.ts +6 -0
  50. package/src/generators/init/lib/utils.js +80 -0
  51. package/src/generators/init/lib/utils.js.map +1 -0
  52. package/src/generators/init/schema.d.ts +5 -5
  53. package/src/generators/init/schema.json +17 -20
  54. package/src/generators/vitest/files/tsconfig.spec.json__tmpl__ +2 -1
  55. package/src/generators/vitest/schema.d.ts +2 -1
  56. package/src/generators/vitest/schema.json +2 -2
  57. package/src/generators/vitest/vitest-generator.d.ts +2 -1
  58. package/src/generators/vitest/vitest-generator.js +34 -10
  59. package/src/generators/vitest/vitest-generator.js.map +1 -1
  60. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -1
  61. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +3 -17
  62. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -1
  63. package/src/migrations/update-17-1-0/move-target-defaults.d.ts +2 -0
  64. package/src/migrations/update-17-1-0/move-target-defaults.js +77 -0
  65. package/src/migrations/update-17-1-0/move-target-defaults.js.map +1 -0
  66. package/src/migrations/update-17-2-0/lib/add-file-replacements.d.ts +2 -0
  67. package/src/migrations/update-17-2-0/lib/add-file-replacements.js +67 -0
  68. package/src/migrations/update-17-2-0/lib/add-file-replacements.js.map +1 -0
  69. package/src/migrations/update-17-2-0/lib/edit-build-config.d.ts +2 -0
  70. package/src/migrations/update-17-2-0/lib/edit-build-config.js +121 -0
  71. package/src/migrations/update-17-2-0/lib/edit-build-config.js.map +1 -0
  72. package/src/migrations/update-17-2-0/lib/edit-test-config.d.ts +2 -0
  73. package/src/migrations/update-17-2-0/lib/edit-test-config.js +83 -0
  74. package/src/migrations/update-17-2-0/lib/edit-test-config.js.map +1 -0
  75. package/src/migrations/update-17-2-0/update-vite-config.d.ts +5 -0
  76. package/src/migrations/update-17-2-0/update-vite-config.js +68 -0
  77. package/src/migrations/update-17-2-0/update-vite-config.js.map +1 -0
  78. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.d.ts +3 -0
  79. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js +117 -0
  80. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js.map +1 -0
  81. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.d.ts +2 -0
  82. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js +45 -0
  83. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js.map +1 -0
  84. package/src/plugins/plugin.d.ts +10 -0
  85. package/src/plugins/plugin.js +226 -0
  86. package/src/plugins/plugin.js.map +1 -0
  87. package/src/utils/ensure-dependencies.d.ts +8 -0
  88. package/src/utils/ensure-dependencies.js +34 -0
  89. package/src/utils/ensure-dependencies.js.map +1 -0
  90. package/src/utils/executor-utils.d.ts +2 -0
  91. package/src/utils/executor-utils.js +22 -7
  92. package/src/utils/executor-utils.js.map +1 -1
  93. package/src/utils/find-vite-config.d.ts +3 -0
  94. package/src/utils/find-vite-config.js +46 -0
  95. package/src/utils/find-vite-config.js.map +1 -0
  96. package/src/utils/generator-utils.d.ts +10 -12
  97. package/src/utils/generator-utils.js +135 -213
  98. package/src/utils/generator-utils.js.map +1 -1
  99. package/src/utils/options-utils.d.ts +3 -19
  100. package/src/utils/options-utils.js +25 -68
  101. package/src/utils/options-utils.js.map +1 -1
  102. package/src/utils/test-files/react-lib-non-buildable-jest.json +1 -4
  103. package/src/utils/test-files/react-lib-non-buildable-vitest.json +1 -4
  104. package/src/utils/test-files/react-mixed-project.config.json +1 -6
  105. package/src/utils/test-files/react-vite-project.config.json +1 -4
  106. package/src/utils/test-files/unknown-project.config.json +1 -4
  107. package/src/utils/test-utils.d.ts +1 -1
  108. package/src/utils/test-utils.js +10 -18
  109. package/src/utils/test-utils.js.map +1 -1
  110. package/src/utils/versions.d.ts +7 -9
  111. package/src/utils/versions.js +7 -15
  112. package/src/utils/versions.js.map +1 -1
  113. package/src/utils/vite-config-edit-utils.js +1 -1
  114. package/src/utils/vite-config-edit-utils.js.map +1 -1
  115. package/src/utils/test-files/react-project.config.json +0 -85
  116. package/src/utils/test-files/web-project.config.json +0 -72
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ function _export(target, all) {
3
+ for(var name in all)Object.defineProperty(target, name, {
4
+ enumerable: true,
5
+ get: all[name]
6
+ });
7
+ }
8
+ _export(exports, {
9
+ checkDependenciesInstalled: function() {
10
+ return checkDependenciesInstalled;
11
+ },
12
+ moveToDevDependencies: function() {
13
+ return moveToDevDependencies;
14
+ },
15
+ createVitestConfig: function() {
16
+ return createVitestConfig;
17
+ },
18
+ addPlugin: function() {
19
+ return addPlugin;
20
+ }
21
+ });
22
+ const _devkit = require("@nx/devkit");
23
+ const _versions = require("../../../utils/versions");
24
+ function checkDependenciesInstalled(host, schema) {
25
+ return (0, _devkit.addDependenciesToPackageJson)(host, {}, {
26
+ '@nx/vite': _versions.nxVersion,
27
+ '@nx/web': _versions.nxVersion,
28
+ vite: _versions.viteVersion,
29
+ vitest: _versions.vitestVersion,
30
+ '@vitest/ui': _versions.vitestVersion
31
+ }, undefined, schema.keepExistingVersions);
32
+ }
33
+ function moveToDevDependencies(tree) {
34
+ let wasUpdated = false;
35
+ (0, _devkit.updateJson)(tree, 'package.json', (packageJson)=>{
36
+ packageJson.dependencies = packageJson.dependencies || {};
37
+ packageJson.devDependencies = packageJson.devDependencies || {};
38
+ if (packageJson.dependencies['@nx/vite']) {
39
+ packageJson.devDependencies['@nx/vite'] = packageJson.dependencies['@nx/vite'];
40
+ delete packageJson.dependencies['@nx/vite'];
41
+ wasUpdated = true;
42
+ }
43
+ return packageJson;
44
+ });
45
+ return wasUpdated ? ()=>(0, _devkit.installPackagesTask)(tree) : ()=>{};
46
+ }
47
+ function createVitestConfig(tree) {
48
+ var _nxJson_namedInputs;
49
+ const nxJson = (0, _devkit.readNxJson)(tree);
50
+ const productionFileSet = (_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production;
51
+ if (productionFileSet) {
52
+ productionFileSet.push('!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json');
53
+ nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
54
+ }
55
+ (0, _devkit.updateNxJson)(tree, nxJson);
56
+ }
57
+ function addPlugin(tree) {
58
+ var _nxJson;
59
+ const nxJson = (0, _devkit.readNxJson)(tree);
60
+ var _plugins;
61
+ (_plugins = (_nxJson = nxJson).plugins) != null ? _plugins : _nxJson.plugins = [];
62
+ for (const plugin of nxJson.plugins){
63
+ if (typeof plugin === 'string' ? plugin === '@nx/vite/plugin' : plugin.plugin === '@nx/vite/plugin') {
64
+ return;
65
+ }
66
+ }
67
+ nxJson.plugins.push({
68
+ plugin: '@nx/vite/plugin',
69
+ options: {
70
+ buildTargetName: 'build',
71
+ previewTargetName: 'preview',
72
+ testTargetName: 'test',
73
+ serveTargetName: 'serve',
74
+ serveStaticTargetName: 'serve-static'
75
+ }
76
+ });
77
+ (0, _devkit.updateNxJson)(tree, nxJson);
78
+ }
79
+
80
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +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\nexport function addPlugin(tree: Tree) {\n const nxJson = readNxJson(tree);\n nxJson.plugins ??= [];\n\n for (const plugin of nxJson.plugins) {\n if (\n typeof plugin === 'string'\n ? plugin === '@nx/vite/plugin'\n : plugin.plugin === '@nx/vite/plugin'\n ) {\n return;\n }\n }\n\n nxJson.plugins.push({\n plugin: '@nx/vite/plugin',\n options: {\n buildTargetName: 'build',\n previewTargetName: 'preview',\n testTargetName: 'test',\n serveTargetName: 'serve',\n serveStaticTargetName: 'serve-static',\n },\n });\n updateNxJson(tree, nxJson);\n}\n"],"names":["checkDependenciesInstalled","moveToDevDependencies","createVitestConfig","addPlugin","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","plugins","plugin","options","buildTargetName","previewTargetName","testTargetName","serveTargetName","serveStaticTargetName"],"mappings":";;;;;;;;IAWgBA,0BAA0B;eAA1BA;;IAmBAC,qBAAqB;eAArBA;;IAkBAC,kBAAkB;eAAlBA;;IAgBAC,SAAS;eAATA;;;wBAzDT;0BAC+C;AAG/C,SAASH,2BACdI,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,SAASZ,sBAAsBa,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;AAEO,SAASlB,UAAUW,IAAU;QAElCO;IADA,MAAMA,SAASC,IAAAA,kBAAU,EAACR;;IAC1BO,aAAAA,UAAAA,QAAOU,8BAAPV,QAAOU,UAAY,EAAE;IAErB,KAAK,MAAMC,UAAUX,OAAOU,OAAO,CAAE;QACnC,IACE,OAAOC,WAAW,WACdA,WAAW,oBACXA,OAAOA,MAAM,KAAK,mBACtB;YACA;QACF;IACF;IAEAX,OAAOU,OAAO,CAACL,IAAI,CAAC;QAClBM,QAAQ;QACRC,SAAS;YACPC,iBAAiB;YACjBC,mBAAmB;YACnBC,gBAAgB;YAChBC,iBAAiB;YACjBC,uBAAuB;QACzB;IACF;IACAR,IAAAA,oBAAY,EAAChB,MAAMO;AACrB"}
@@ -1,7 +1,7 @@
1
1
  export interface InitGeneratorSchema {
2
- uiFramework: 'react' | 'none';
3
- compiler?: 'babel' | 'swc';
4
- includeLib?: boolean;
5
- testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;
6
- rootProject?: boolean;
2
+ skipFormat?: boolean;
3
+ skipPackageJson?: boolean;
4
+ keepExistingVersions?: boolean;
5
+ updatePackageScripts?: boolean;
6
+ addPlugin?: boolean;
7
7
  }
@@ -5,30 +5,27 @@
5
5
  "$id": "init-vite-plugin",
6
6
  "type": "object",
7
7
  "properties": {
8
- "uiFramework": {
9
- "type": "string",
10
- "description": "UI Framework to use for Vite.",
11
- "enum": ["react", "none"],
12
- "default": "react",
13
- "x-prompt": "What UI framework plugin should Vite use?"
8
+ "skipFormat": {
9
+ "description": "Skip formatting files.",
10
+ "type": "boolean",
11
+ "default": false
14
12
  },
15
- "compiler": {
16
- "type": "string",
17
- "description": "Compiler to use for Vite when UI Framework is React.",
18
- "enum": ["babel", "swc"],
19
- "default": "babel"
13
+ "skipPackageJson": {
14
+ "description": "Do not add dependencies to `package.json`.",
15
+ "type": "boolean",
16
+ "default": false
20
17
  },
21
- "includeLib": {
18
+ "keepExistingVersions": {
22
19
  "type": "boolean",
23
- "description": "Add dependencies needed to build libraries.",
20
+ "x-priority": "internal",
21
+ "description": "Keep existing dependencies versions",
24
22
  "default": false
25
23
  },
26
- "testEnvironment": {
27
- "description": "The vitest environment to use. See https://vitest.dev/config/#environment.",
28
- "type": "string",
29
- "enum": ["node", "jsdom", "happy-dom", "edge-runtime"],
30
- "default": "jsdom"
24
+ "updatePackageScripts": {
25
+ "type": "boolean",
26
+ "x-priority": "internal",
27
+ "description": "Update `package.json` scripts with inferred targets",
28
+ "default": false
31
29
  }
32
- },
33
- "examplesFile": "../../../docs/init-examples.md"
30
+ }
34
31
  }
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "extends": "./tsconfig.json",
3
3
  "compilerOptions": {
4
- "outDir": "../../dist/out-tsc",
4
+ "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
5
  "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"]
6
6
  },
7
7
  "include": [
8
8
  "vite.config.ts",
9
+ "vitest.config.ts",
9
10
  "src/**/*.test.ts",
10
11
  "src/**/*.spec.ts",
11
12
  "src/**/*.test.tsx",
@@ -1,10 +1,11 @@
1
1
  export interface VitestGeneratorSchema {
2
2
  project: string;
3
3
  uiFramework: 'react' | 'none';
4
- coverageProvider: 'v8' | 'c8' | 'istanbul';
4
+ coverageProvider: 'v8' | 'istanbul' | 'custom';
5
5
  inSourceTests?: boolean;
6
6
  skipViteConfig?: boolean;
7
7
  testTarget?: string;
8
8
  skipFormat?: boolean;
9
9
  testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;
10
+ addPlugin?: boolean;
10
11
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "https://json-schema.org/schema",
3
3
  "cli": "nx",
4
4
  "$id": "Vitest",
5
5
  "title": "Vitest",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "coverageProvider": {
33
33
  "type": "string",
34
- "enum": ["v8", "c8", "istanbul"],
34
+ "enum": ["v8", "istanbul", "custom"],
35
35
  "default": "v8",
36
36
  "description": "Coverage provider to use."
37
37
  },
@@ -1,4 +1,5 @@
1
1
  import { GeneratorCallback, Tree } from '@nx/devkit';
2
2
  import { VitestGeneratorSchema } from './schema';
3
- export declare function vitestGenerator(tree: Tree, schema: VitestGeneratorSchema): Promise<GeneratorCallback>;
3
+ export declare function vitestGenerator(tree: Tree, schema: VitestGeneratorSchema, hasPlugin?: boolean): Promise<GeneratorCallback>;
4
+ export declare function vitestGeneratorInternal(tree: Tree, schema: VitestGeneratorSchema, hasPlugin?: boolean): Promise<GeneratorCallback>;
4
5
  export default vitestGenerator;
@@ -9,6 +9,9 @@ _export(exports, {
9
9
  vitestGenerator: function() {
10
10
  return vitestGenerator;
11
11
  },
12
+ vitestGeneratorInternal: function() {
13
+ return vitestGeneratorInternal;
14
+ },
12
15
  default: function() {
13
16
  return _default;
14
17
  }
@@ -20,17 +23,33 @@ const _init = require("../init/init");
20
23
  const _versions = require("../../utils/versions");
21
24
  const _js = require("@nx/js");
22
25
  const _path = require("path");
23
- async function vitestGenerator(tree, schema) {
26
+ const _ensuredependencies = require("../../utils/ensure-dependencies");
27
+ function vitestGenerator(tree, schema, hasPlugin = false) {
28
+ return vitestGeneratorInternal(tree, _extends._({
29
+ addPlugin: false
30
+ }, schema), hasPlugin);
31
+ }
32
+ async function vitestGeneratorInternal(tree, schema, hasPlugin = false) {
33
+ var _nxJson_plugins;
24
34
  const tasks = [];
25
- const { targets, root, projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
26
- var _schema_testTarget, _ref;
27
- let testTarget = (_ref = (_schema_testTarget = schema.testTarget) != null ? _schema_testTarget : (0, _generatorutils.findExistingTargetsInProject)(targets).validFoundTargetName.test) != null ? _ref : 'test';
28
- (0, _generatorutils.addOrChangeTestTarget)(tree, schema, testTarget);
35
+ const { root, projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
36
+ const isRootProject = root === '.';
37
+ tasks.push(await (0, _js.initGenerator)(tree, _extends._({}, schema, {
38
+ skipFormat: true
39
+ })));
29
40
  const initTask = await (0, _init.default)(tree, {
30
- uiFramework: schema.uiFramework,
31
- testEnvironment: schema.testEnvironment
41
+ skipFormat: true,
42
+ addPlugin: schema.addPlugin
32
43
  });
33
44
  tasks.push(initTask);
45
+ tasks.push((0, _ensuredependencies.ensureDependencies)(tree, schema));
46
+ const nxJson = (0, _devkit.readNxJson)(tree);
47
+ const hasPluginCheck = (_nxJson_plugins = nxJson.plugins) == null ? void 0 : _nxJson_plugins.some((p)=>(typeof p === 'string' ? p === '@nx/vite/plugin' : p.plugin === '@nx/vite/plugin') || hasPlugin);
48
+ if (!hasPluginCheck) {
49
+ var _schema_testTarget;
50
+ const testTarget = (_schema_testTarget = schema.testTarget) != null ? _schema_testTarget : 'test';
51
+ (0, _generatorutils.addOrChangeTestTarget)(tree, schema, testTarget);
52
+ }
34
53
  if (!schema.skipViteConfig) {
35
54
  if (schema.uiFramework === 'react') {
36
55
  (0, _generatorutils.createOrEditViteConfig)(tree, {
@@ -48,7 +67,8 @@ async function vitestGenerator(tree, schema) {
48
67
  ],
49
68
  plugins: [
50
69
  'react()'
51
- ]
70
+ ],
71
+ coverageProvider: schema.coverageProvider
52
72
  }, true);
53
73
  } else {
54
74
  (0, _generatorutils.createOrEditViteConfig)(tree, _extends._({}, schema, {
@@ -62,6 +82,10 @@ async function vitestGenerator(tree, schema) {
62
82
  const coverageProviderDependency = getCoverageProviderDependency(schema.coverageProvider);
63
83
  const installCoverageProviderTask = (0, _devkit.addDependenciesToPackageJson)(tree, {}, coverageProviderDependency);
64
84
  tasks.push(installCoverageProviderTask);
85
+ // Setup workspace config file (https://vitest.dev/guide/workspace.html)
86
+ if (!isRootProject && !tree.exists(`vitest.workspace.ts`) && !tree.exists(`vitest.workspace.js`) && !tree.exists(`vitest.workspace.json`) && !tree.exists(`vitest.projects.ts`) && !tree.exists(`vitest.projects.js`) && !tree.exists(`vitest.projects.json`)) {
87
+ tree.write('vitest.workspace.ts', `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`);
88
+ }
65
89
  if (!schema.skipFormat) {
66
90
  await (0, _devkit.formatFiles)(tree);
67
91
  }
@@ -144,9 +168,9 @@ function createFiles(tree, options, projectRoot) {
144
168
  }
145
169
  function getCoverageProviderDependency(coverageProvider) {
146
170
  switch(coverageProvider){
147
- case 'c8':
171
+ case 'v8':
148
172
  return {
149
- '@vitest/coverage-c8': _versions.vitestCoverageC8Version
173
+ '@vitest/coverage-v8': _versions.vitestCoverageV8Version
150
174
  };
151
175
  case 'istanbul':
152
176
  return {
@@ -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 readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n findExistingTargetsInProject,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageC8Version,\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies } from '@nx/js';\nimport { join } from 'path';\n\nexport async function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, root, projectType } = readProjectConfiguration(\n tree,\n schema.project\n );\n let testTarget =\n schema.testTarget ??\n findExistingTargetsInProject(targets).validFoundTargetName.test ??\n 'test';\n\n addOrChangeTestTarget(tree, schema, testTarget);\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\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 },\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 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 'c8':\n return {\n '@vitest/coverage-c8': vitestCoverageC8Version,\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","tree","schema","tasks","targets","root","projectType","readProjectConfiguration","project","testTarget","findExistingTargetsInProject","validFoundTargetName","test","addOrChangeTestTarget","initTask","initGenerator","uiFramework","testEnvironment","push","skipViteConfig","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","plugins","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","coverageProvider","installCoverageProviderTask","addDependenciesToPackageJson","skipFormat","formatFiles","runTasksInSerial","options","projectRoot","exists","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","some","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageC8Version","vitestCoverageIstanbulVersion","vitestCoverageV8Version"],"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"],"mappings":";;;;;;;;IA6BgBA,eAAe;eAAfA;;IAYMC,uBAAuB;eAAvBA;;IAsNtB,OAA+B;eAA/B;;;;wBAnPO;gCAIA;sBAGmB;0BAInB;oBAEgE;sBAClD;oCACc;AAE5B,SAASD,gBACdE,IAAU,EACVC,MAA6B,EAC7BC,YAAY,KAAK;IAEjB,OAAOH,wBACLC,MACA;QAAEG,WAAW;OAAUF,SACvBC;AAEJ;AAEO,eAAeH,wBACpBC,IAAU,EACVC,MAA6B,EAC7BC,YAAY,KAAK;QAgBME;IAdvB,MAAMC,QAA6B,EAAE;IAErC,MAAM,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGC,IAAAA,gCAAwB,EAACR,MAAMC,OAAOQ,OAAO;IAC3E,MAAMC,gBAAgBJ,SAAS;IAE/BD,MAAMM,IAAI,CAAC,MAAMC,IAAAA,iBAAe,EAACZ,MAAM,eAAKC;QAAQY,YAAY;;IAChE,MAAMC,WAAW,MAAMC,IAAAA,aAAa,EAACf,MAAM;QACzCa,YAAY;QACZV,WAAWF,OAAOE,SAAS;IAC7B;IACAE,MAAMM,IAAI,CAACG;IACXT,MAAMM,IAAI,CAACK,IAAAA,sCAAkB,EAAChB,MAAMC;IAEpC,MAAMG,SAASa,IAAAA,kBAAU,EAACjB;IAC1B,MAAMkB,kBAAiBd,kBAAAA,OAAOe,OAAO,qBAAdf,gBAAgBgB,IAAI,CACzC,CAACC,IACC,AAAC,CAAA,OAAOA,MAAM,WACVA,MAAM,oBACNA,EAAEC,MAAM,KAAK,iBAAgB,KAAMpB;IAE3C,IAAI,CAACgB,gBAAgB;YACAjB;QAAnB,MAAMsB,aAAatB,CAAAA,qBAAAA,OAAOsB,UAAU,YAAjBtB,qBAAqB;QACxCuB,IAAAA,qCAAqB,EAACxB,MAAMC,QAAQsB;IACtC;IAEA,IAAI,CAACtB,OAAOwB,cAAc,EAAE;QAC1B,IAAIxB,OAAOyB,WAAW,KAAK,SAAS;YAClCC,IAAAA,sCAAsB,EACpB3B,MACA;gBACES,SAASR,OAAOQ,OAAO;gBACvBmB,YAAYrB,gBAAgB;gBAC5BsB,eAAe;gBACfC,eAAe7B,OAAO6B,aAAa;gBACnCC,uBAAuB;oBACrB;oBACA;oBACA;iBACD;gBACDC,SAAS;oBAAC,CAAC,wCAAwC,CAAC;iBAAC;gBACrDb,SAAS;oBAAC;iBAAU;gBACpBc,kBAAkBhC,OAAOgC,gBAAgB;YAC3C,GACA;QAEJ,OAAO;YACLN,IAAAA,sCAAsB,EACpB3B,MACA,eACKC;gBACH4B,eAAe;gBACfD,YAAYrB,gBAAgB;gBAE9B;QAEJ;IACF;IAEA2B,YAAYlC,MAAMC,QAAQK;IAC1B6B,eAAenC,MAAMC,QAAQK;IAE7B,MAAM8B,6BAA6BC,8BACjCpC,OAAOgC,gBAAgB;IAGzB,MAAMK,8BAA8BC,IAAAA,oCAA4B,EAC9DvC,MACA,CAAC,GACDoC;IAEF/B,MAAMM,IAAI,CAAC2B;IAEX,wEAAwE;IACxE,IACE,CAAC5B,iBACD,CAACV,KAAKwC,MAAM,CAAC,CAAC,mBAAmB,CAAC,KAClC,CAACxC,KAAKwC,MAAM,CAAC,CAAC,mBAAmB,CAAC,KAClC,CAACxC,KAAKwC,MAAM,CAAC,CAAC,qBAAqB,CAAC,KACpC,CAACxC,KAAKwC,MAAM,CAAC,CAAC,kBAAkB,CAAC,KACjC,CAACxC,KAAKwC,MAAM,CAAC,CAAC,kBAAkB,CAAC,KACjC,CAACxC,KAAKwC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GACnC;QACAxC,KAAKyC,KAAK,CACR,uBACA,CAAC,gEAAgE,CAAC;IAEtE;IAEA,IAAI,CAACxC,OAAOY,UAAU,EAAE;QACtB,MAAM6B,IAAAA,mBAAW,EAAC1C;IACpB;IAEA,OAAO2C,IAAAA,wBAAgB,KAAItC;AAC7B;AAEA,SAAS8B,eACPnC,IAAU,EACV4C,OAA8B,EAC9BC,WAAmB;IAEnB,IAAI7C,KAAKwC,MAAM,CAACM,IAAAA,yBAAiB,EAACD,aAAa,wBAAwB;QACrEE,IAAAA,kBAAU,EACR/C,MACA8C,IAAAA,yBAAiB,EAACD,aAAa,uBAC/B,CAACG;gBACMA,6BAAAA;YAAL,IAAI,GAACA,wBAAAA,KAAKC,eAAe,sBAApBD,8BAAAA,sBAAsBE,KAAK,qBAA3BF,4BAA6BG,QAAQ,CAAC,YAAW;oBAChDH;gBAAJ,KAAIA,yBAAAA,KAAKC,eAAe,qBAApBD,uBAAsBE,KAAK,EAAE;oBAC/BF,KAAKC,eAAe,CAACC,KAAK,CAACvC,IAAI,CAAC;gBAClC,OAAO;wBACLqC;;oBAAAA,qBAAAA,QAAAA,MAAKC,8CAALD,MAAKC,kBAAoB,CAAC;oBAC1BD,KAAKC,eAAe,CAACC,KAAK,GAAG;wBAAC;qBAAS;gBACzC;YACF;YACA,OAAOF;QACT;QAGFD,IAAAA,kBAAU,EACR/C,MACA8C,IAAAA,yBAAiB,EAACD,aAAa,kBAC/B,CAACG;YACC,IACEA,KAAKI,UAAU,IACf,CAACJ,KAAKI,UAAU,CAAChC,IAAI,CAAC,CAACiC,IAAMA,EAAEC,IAAI,KAAK,yBACxC;gBACAN,KAAKI,UAAU,CAACzC,IAAI,CAAC;oBACnB2C,MAAM;gBACR;YACF;YACA,OAAON;QACT;IAEJ,OAAO;QACLD,IAAAA,kBAAU,EACR/C,MACA8C,IAAAA,yBAAiB,EAACD,aAAa,kBAC/B,CAACG;gBACMA,6BAAAA;YAAL,IAAI,GAACA,wBAAAA,KAAKC,eAAe,sBAApBD,8BAAAA,sBAAsBE,KAAK,qBAA3BF,4BAA6BG,QAAQ,CAAC,YAAW;oBAChDH;gBAAJ,KAAIA,yBAAAA,KAAKC,eAAe,qBAApBD,uBAAsBE,KAAK,EAAE;oBAC/BF,KAAKC,eAAe,CAACC,KAAK,CAACvC,IAAI,CAAC;gBAClC,OAAO;wBACLqC;;oBAAAA,qBAAAA,QAAAA,MAAKC,8CAALD,MAAKC,kBAAoB,CAAC;oBAC1BD,KAAKC,eAAe,CAACC,KAAK,GAAG;wBAAC;qBAAS;gBACzC;YACF;YACA,OAAOF;QACT;IAEJ;IAEA,IAAIJ,QAAQd,aAAa,EAAE;QACzB,MAAMyB,kBAAkBT,IAAAA,yBAAiB,EAACD,aAAa;QACvD,MAAMW,kBAAkBV,IAAAA,yBAAiB,EAACD,aAAa;QACvD,IAAI7C,KAAKwC,MAAM,CAACe,kBAAkB;YAChCR,IAAAA,kBAAU,EACR/C,MACA8C,IAAAA,yBAAiB,EAACD,aAAa,sBAC/B,CAACG;oBACEA;;gBAAAA,CAAAA,WAAAA,wBAAAA,KAAKC,eAAe,EAACC,0BAArBF,sBAAqBE,QAAU,EAAE,AAAD,EAAGvC,IAAI,CAAC;gBACzC,OAAOqC;YACT;QAEJ,OAAO,IAAIhD,KAAKwC,MAAM,CAACgB,kBAAkB;YACvCT,IAAAA,kBAAU,EACR/C,MACA8C,IAAAA,yBAAiB,EAACD,aAAa,sBAC/B,CAACG;oBACEA;;gBAAAA,CAAAA,WAAAA,wBAAAA,KAAKC,eAAe,EAACC,0BAArBF,sBAAqBE,QAAU,EAAE,AAAD,EAAGvC,IAAI,CAAC;gBACzC,OAAOqC;YACT;QAEJ;QAEAS,IAAAA,wBAAoB,EAACzD;IACvB;AACF;AAEA,SAASkC,YACPlC,IAAU,EACV4C,OAA8B,EAC9BC,WAAmB;IAEnBa,IAAAA,qBAAa,EAAC1D,MAAM2D,IAAAA,UAAI,EAACC,WAAW,UAAUf,aAAa;QACzDgB,MAAM;OACHjB;QACHC;QACAiB,gBAAgBA,IAAAA,sBAAc,EAACjB;;AAEnC;AAEA,SAASR,8BACPJ,gBAA2D;IAE3D,OAAQA;QACN,KAAK;YACH,OAAO;gBACL,uBAAuB8B,iCAAuB;YAChD;QACF,KAAK;YACH,OAAO;gBACL,6BAA6BC,uCAA6B;YAC5D;QACF;YACE,OAAO;gBACL,uBAAuBD,iCAAuB;YAChD;IACJ;AACF;MAEA,WAAejE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-15-3-1/update-vite-tsconfig-paths.ts"],"sourcesContent":["import {\n applyChangesToString,\n ChangeType,\n formatFiles,\n readProjectConfiguration,\n Tree,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findNodes } from '@nx/js';\nimport { normalizeViteConfigFilePathWithTree } from '../../utils/generator-utils';\nimport ts = require('typescript');\n\nexport async function removeProjectsFromViteTsConfigPaths(tree: Tree) {\n findAllProjectsWithViteConfig(tree);\n await formatFiles(tree);\n}\n\nexport default removeProjectsFromViteTsConfigPaths;\n\nfunction findAllProjectsWithViteConfig(tree: Tree): void {\n forEachExecutorOptions(tree, '@nrwl/vite:build', (options, project) => {\n const projectConfiguration = readProjectConfiguration(tree, project);\n const viteConfig = normalizeViteConfigFilePathWithTree(\n tree,\n projectConfiguration.root,\n options?.['configFile']\n );\n if (viteConfig) {\n const appFileContent = tree.read(viteConfig, 'utf-8');\n const file = tsquery.ast(appFileContent);\n let newContents = appFileContent;\n const defineConfig = tsquery.query(\n file,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n );\n let startOfProjects, endOfProjects;\n\n defineConfig?.[0]?.getChildren().forEach((defineConfigContentNode) => {\n // Make sure it's the one we are looking for\n // We cannot assume that it's called tsConfigPaths\n // So make sure it includes `projects` and `root`\n if (\n defineConfigContentNode.getText().includes('projects') &&\n defineConfigContentNode.getText().includes('root')\n ) {\n findNodes(defineConfigContentNode, [\n ts.SyntaxKind.PropertyAssignment,\n ]).forEach((nodePA) => {\n if (nodePA.getText().startsWith('projects')) {\n startOfProjects = nodePA.getStart();\n endOfProjects = nodePA.getEnd();\n }\n });\n }\n });\n\n if (startOfProjects && endOfProjects) {\n newContents = applyChangesToString(newContents, [\n {\n type: ChangeType.Delete,\n start: startOfProjects,\n length: endOfProjects - startOfProjects + 1,\n },\n ]);\n tree.write(viteConfig, newContents);\n }\n }\n });\n}\n"],"names":["removeProjectsFromViteTsConfigPaths","ts","tree","findAllProjectsWithViteConfig","formatFiles","forEachExecutorOptions","options","project","projectConfiguration","readProjectConfiguration","viteConfig","normalizeViteConfigFilePathWithTree","root","defineConfig","appFileContent","read","file","tsquery","ast","newContents","query","startOfProjects","endOfProjects","getChildren","forEach","defineConfigContentNode","getText","includes","findNodes","SyntaxKind","PropertyAssignment","nodePA","startsWith","getStart","getEnd","applyChangesToString","type","ChangeType","Delete","start","length","write"],"mappings":";;;;;;;;IAasBA,mCAAmC;eAAnCA;;IAKtB,OAAmD;eAAnD;;;wBAZO;sCACgC;yBACf;oBACE;gCAC0B;AACpD,MAAOC,aAAa;AAEb,eAAeD,oCAAoCE,IAAU;IAClEC,8BAA8BD;IAC9B,MAAME,IAAAA,mBAAW,EAACF;AACpB;MAEA,WAAeF;AAEf,SAASG,8BAA8BD,IAAU;IAC/CG,IAAAA,4CAAsB,EAACH,MAAM,oBAAoB,CAACI,SAASC;QACzD,MAAMC,uBAAuBC,IAAAA,gCAAwB,EAACP,MAAMK;QAC5D,MAAMG,aAAaC,IAAAA,mDAAmC,EACpDT,MACAM,qBAAqBI,IAAI,EACzBN,2BAAAA,OAAS,CAAC,aAAa;QAEzB,IAAII,YAAY;gBAUdG;YATA,MAAMC,iBAAiBZ,KAAKa,IAAI,CAACL,YAAY;YAC7C,MAAMM,OAAOC,gBAAO,CAACC,GAAG,CAACJ;YACzB,IAAIK,cAAcL;YAClB,MAAMD,eAAeI,gBAAO,CAACG,KAAK,CAChCJ,MACA;YAEF,IAAIK,iBAAiBC;YAErBT,iCAAAA,iBAAAA,YAAc,CAAC,EAAE,qBAAjBA,eAAmBU,WAAW,GAAGC,OAAO,CAAC,CAACC;gBACxC,4CAA4C;gBAC5C,kDAAkD;gBAClD,iDAAiD;gBACjD,IACEA,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,eAC3CF,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,SAC3C;oBACAC,IAAAA,aAAS,EAACH,yBAAyB;wBACjCxB,GAAG4B,UAAU,CAACC,kBAAkB;qBACjC,EAAEN,OAAO,CAAC,CAACO;wBACV,IAAIA,OAAOL,OAAO,GAAGM,UAAU,CAAC,aAAa;4BAC3CX,kBAAkBU,OAAOE,QAAQ;4BACjCX,gBAAgBS,OAAOG,MAAM;wBAC/B;oBACF;gBACF;YACF;YAEA,IAAIb,mBAAmBC,eAAe;gBACpCH,cAAcgB,IAAAA,4BAAoB,EAAChB,aAAa;oBAC9C;wBACEiB,MAAMC,kBAAU,CAACC,MAAM;wBACvBC,OAAOlB;wBACPmB,QAAQlB,gBAAgBD,kBAAkB;oBAC5C;iBACD;gBACDnB,KAAKuC,KAAK,CAAC/B,YAAYS;YACzB;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-15-3-1/update-vite-tsconfig-paths.ts"],"sourcesContent":["import {\n applyChangesToString,\n ChangeType,\n formatFiles,\n readProjectConfiguration,\n Tree,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findNodes } from '@nx/js';\nimport { normalizeViteConfigFilePathWithTree } from '../../utils/generator-utils';\nimport ts = require('typescript');\n\nexport async function removeProjectsFromViteTsConfigPaths(tree: Tree) {\n findAllProjectsWithViteConfig(tree);\n await formatFiles(tree);\n}\n\nexport default removeProjectsFromViteTsConfigPaths;\n\nfunction findAllProjectsWithViteConfig(tree: Tree): void {\n forEachExecutorOptions(tree, '@nrwl/vite:build', (options, project) => {\n const projectConfiguration = readProjectConfiguration(tree, project);\n const viteConfig = normalizeViteConfigFilePathWithTree(\n tree,\n projectConfiguration.root,\n options?.['configFile']\n );\n if (viteConfig) {\n const appFileContent = tree.read(viteConfig, 'utf-8');\n const file = tsquery.ast(appFileContent);\n let newContents = appFileContent;\n const defineConfig = tsquery.query(\n file,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n );\n let startOfProjects, endOfProjects;\n\n defineConfig?.[0]\n ?.getChildren()\n .forEach((defineConfigContentNode: any) => {\n // Make sure it's the one we are looking for\n // We cannot assume that it's called tsConfigPaths\n // So make sure it includes `projects` and `root`\n if (\n defineConfigContentNode.getText().includes('projects') &&\n defineConfigContentNode.getText().includes('root')\n ) {\n findNodes(defineConfigContentNode, [\n ts.SyntaxKind.PropertyAssignment,\n ]).forEach((nodePA) => {\n if (nodePA.getText().startsWith('projects')) {\n startOfProjects = nodePA.getStart();\n endOfProjects = nodePA.getEnd();\n }\n });\n }\n });\n\n if (startOfProjects && endOfProjects) {\n newContents = applyChangesToString(newContents, [\n {\n type: ChangeType.Delete,\n start: startOfProjects,\n length: endOfProjects - startOfProjects + 1,\n },\n ]);\n tree.write(viteConfig, newContents);\n }\n }\n });\n}\n"],"names":["removeProjectsFromViteTsConfigPaths","ts","tree","findAllProjectsWithViteConfig","formatFiles","forEachExecutorOptions","options","project","projectConfiguration","readProjectConfiguration","viteConfig","normalizeViteConfigFilePathWithTree","root","defineConfig","appFileContent","read","file","tsquery","ast","newContents","query","startOfProjects","endOfProjects","getChildren","forEach","defineConfigContentNode","getText","includes","findNodes","SyntaxKind","PropertyAssignment","nodePA","startsWith","getStart","getEnd","applyChangesToString","type","ChangeType","Delete","start","length","write"],"mappings":";;;;;;;;IAasBA,mCAAmC;eAAnCA;;IAKtB,OAAmD;eAAnD;;;wBAZO;sCACgC;yBACf;oBACE;gCAC0B;AACpD,MAAOC,aAAa;AAEb,eAAeD,oCAAoCE,IAAU;IAClEC,8BAA8BD;IAC9B,MAAME,IAAAA,mBAAW,EAACF;AACpB;MAEA,WAAeF;AAEf,SAASG,8BAA8BD,IAAU;IAC/CG,IAAAA,4CAAsB,EAACH,MAAM,oBAAoB,CAACI,SAASC;QACzD,MAAMC,uBAAuBC,IAAAA,gCAAwB,EAACP,MAAMK;QAC5D,MAAMG,aAAaC,IAAAA,mDAAmC,EACpDT,MACAM,qBAAqBI,IAAI,EACzBN,2BAAAA,OAAS,CAAC,aAAa;QAEzB,IAAII,YAAY;gBAUdG;YATA,MAAMC,iBAAiBZ,KAAKa,IAAI,CAACL,YAAY;YAC7C,MAAMM,OAAOC,gBAAO,CAACC,GAAG,CAACJ;YACzB,IAAIK,cAAcL;YAClB,MAAMD,eAAeI,gBAAO,CAACG,KAAK,CAChCJ,MACA;YAEF,IAAIK,iBAAiBC;YAErBT,iCAAAA,iBAAAA,YAAc,CAAC,EAAE,qBAAjBA,eACIU,WAAW,GACZC,OAAO,CAAC,CAACC;gBACR,4CAA4C;gBAC5C,kDAAkD;gBAClD,iDAAiD;gBACjD,IACEA,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,eAC3CF,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,SAC3C;oBACAC,IAAAA,aAAS,EAACH,yBAAyB;wBACjCxB,GAAG4B,UAAU,CAACC,kBAAkB;qBACjC,EAAEN,OAAO,CAAC,CAACO;wBACV,IAAIA,OAAOL,OAAO,GAAGM,UAAU,CAAC,aAAa;4BAC3CX,kBAAkBU,OAAOE,QAAQ;4BACjCX,gBAAgBS,OAAOG,MAAM;wBAC/B;oBACF;gBACF;YACF;YAEF,IAAIb,mBAAmBC,eAAe;gBACpCH,cAAcgB,IAAAA,4BAAoB,EAAChB,aAAa;oBAC9C;wBACEiB,MAAMC,kBAAU,CAACC,MAAM;wBACvBC,OAAOlB;wBACPmB,QAAQlB,gBAAgBD,kBAAkB;oBAC5C;iBACD;gBACDnB,KAAKuC,KAAK,CAAC/B,YAAYS;YACzB;QACF;IACF;AACF"}
@@ -8,12 +8,13 @@ Object.defineProperty(exports, "default", {
8
8
  const _devkit = require("@nx/devkit");
9
9
  const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
10
10
  const _tsquery = require("@phenomnomnominal/tsquery");
11
+ const _findviteconfig = require("../../utils/find-vite-config");
11
12
  function update(tree) {
12
13
  const projects = (0, _devkit.getProjects)(tree);
13
14
  (0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nx/vite:build', (options, projectName)=>{
14
15
  var _oldTsConfigPathPlugin__importClause_name, _oldTsConfigPathPlugin__importClause, _oldTsConfigPathPlugin_;
15
16
  const projectConfig = projects.get(projectName);
16
- const config = options.configFile || findViteConfig(tree, projectConfig.root);
17
+ const config = options.configFile || (0, _findviteconfig.findViteConfig)(tree, projectConfig.root);
17
18
  if (!config || !tree.exists(config)) {
18
19
  return;
19
20
  }
@@ -24,7 +25,7 @@ function update(tree) {
24
25
  return;
25
26
  }
26
27
  var _oldTsConfigPathPlugin__importClause_name_text;
27
- const importName = (_oldTsConfigPathPlugin__importClause_name_text = (_oldTsConfigPathPlugin_ = oldTsConfigPathPlugin[0]) == null ? void 0 : (_oldTsConfigPathPlugin__importClause = _oldTsConfigPathPlugin_.importClause) == null ? void 0 : (_oldTsConfigPathPlugin__importClause_name = _oldTsConfigPathPlugin__importClause.name) == null ? void 0 : _oldTsConfigPathPlugin__importClause_name.text) != null ? _oldTsConfigPathPlugin__importClause_name_text : 'viteTsConfigPaths';
28
+ const importName = (_oldTsConfigPathPlugin__importClause_name_text = (_oldTsConfigPathPlugin_ = oldTsConfigPathPlugin[0]) == null ? void 0 : (_oldTsConfigPathPlugin__importClause = _oldTsConfigPathPlugin_['importClause']) == null ? void 0 : (_oldTsConfigPathPlugin__importClause_name = _oldTsConfigPathPlugin__importClause.name) == null ? void 0 : _oldTsConfigPathPlugin__importClause_name.text) != null ? _oldTsConfigPathPlugin__importClause_name_text : 'viteTsConfigPaths';
28
29
  const updatedContent = _tsquery.tsquery.replace(configContents, `PropertyAssignment:has(Identifier[name="plugins"]) CallExpression:has(Identifier[name="${importName}"])`, ()=>{
29
30
  return `nxViteTsPaths()`;
30
31
  });
@@ -34,20 +35,5 @@ function update(tree) {
34
35
  tree.write(config, withImportChange);
35
36
  });
36
37
  }
37
- function findViteConfig(tree, searchRoot) {
38
- const allowsExt = [
39
- 'js',
40
- 'mjs',
41
- 'ts',
42
- 'cjs',
43
- 'mts',
44
- 'cts'
45
- ];
46
- for (const ext of allowsExt){
47
- if (tree.exists((0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`))) {
48
- return (0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`);
49
- }
50
- }
51
- }
52
38
 
53
39
  //# sourceMappingURL=change-ts-paths-plugin.js.map
@@ -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 { ImportDeclaration } from 'typescript';\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<ImportDeclaration>(\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\nfunction findViteConfig(tree: Tree, searchRoot: string) {\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (tree.exists(joinPathFragments(searchRoot, `vite.config.${ext}`))) {\n return joinPathFragments(searchRoot, `vite.config.${ext}`);\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","importClause","name","text","updatedContent","replace","withImportChange","write","searchRoot","allowsExt","ext","joinPathFragments"],"mappings":";+BAMA;;;eAAwBA;;;wBAN6B;sCACd;yBAEf;AAGT,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,eAAeX,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,wBAA0Bc,YAAY,sBAAtCd,4CAAAA,qCAAwCe,IAAI,qBAA5Cf,0CAA8CgB,IAAI,YAAlDhB,iDACA;QACF,MAAMiB,iBAAiBP,gBAAO,CAACQ,OAAO,CACpCV,gBACA,CAAC,uFAAuF,EAAEK,WAAW,GAAG,CAAC,EACzG;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QAGF,MAAMM,mBAAmBT,gBAAO,CAACQ,OAAO,CACtCD,gBACA,qEACA;YACE,OAAO;QACT;QAGFvB,KAAK0B,KAAK,CAACjB,QAAQgB;IACrB;AAEJ;AAEA,SAASd,eAAeX,IAAU,EAAE2B,UAAkB;IACpD,MAAMC,YAAY;QAAC;QAAM;QAAO;QAAM;QAAO;QAAO;KAAM;IAE1D,KAAK,MAAMC,OAAOD,UAAW;QAC3B,IAAI5B,KAAKa,MAAM,CAACiB,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC,IAAI;YACpE,OAAOC,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC;QAC3D;IACF;AACF"}
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"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return update;
6
+ }
7
+ });
8
+ const _devkit = require("@nx/devkit");
9
+ const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
10
+ const _projectconfigurationutils = require("nx/src/project-graph/utils/project-configuration-utils");
11
+ async function update(tree) {
12
+ var _nxJson_targetDefaults, _nxJson_namedInputs;
13
+ var _nxJson, _vitestDefaults, _vitestDefaults1;
14
+ const nxJson = (0, _devkit.readNxJson)(tree);
15
+ // Don't override anything if there are already target defaults for vitest
16
+ if ((_nxJson_targetDefaults = nxJson.targetDefaults) == null ? void 0 : _nxJson_targetDefaults['@nx/vite:test']) {
17
+ return;
18
+ }
19
+ var _targetDefaults;
20
+ (_targetDefaults = (_nxJson = nxJson).targetDefaults) != null ? _targetDefaults : _nxJson.targetDefaults = {};
21
+ /**
22
+ * A set of targets which does not use any other executors
23
+ */ const vitestTargets = new Set();
24
+ const graph = await (0, _devkit.createProjectGraphAsync)();
25
+ const projectMap = (0, _devkit.getProjects)(tree);
26
+ (0, _executoroptionsutils.forEachExecutorOptionsInGraph)(graph, '@nx/vite:test', (value, proj, targetName)=>{
27
+ vitestTargets.add(targetName);
28
+ });
29
+ // Workspace does not use vitest
30
+ if (vitestTargets.size === 0) {
31
+ return;
32
+ }
33
+ // Use the project graph nodes so that targets which are inferred are considered
34
+ const projects = graph.nodes;
35
+ const vitestDefaults = nxJson.targetDefaults['@nx/vite:test'] = {};
36
+ // All vitest targets have the same name
37
+ if (vitestTargets.size === 1) {
38
+ const targetName = Array.from(vitestTargets)[0];
39
+ if (nxJson.targetDefaults[targetName]) {
40
+ Object.assign(vitestDefaults, nxJson.targetDefaults[targetName]);
41
+ }
42
+ }
43
+ var _cache;
44
+ (_cache = (_vitestDefaults = vitestDefaults).cache) != null ? _cache : _vitestDefaults.cache = true;
45
+ const inputs = [
46
+ 'default'
47
+ ];
48
+ inputs.push(((_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production) ? '^production' : '^default');
49
+ var _inputs;
50
+ (_inputs = (_vitestDefaults1 = vitestDefaults).inputs) != null ? _inputs : _vitestDefaults1.inputs = inputs;
51
+ // Cleanup old target defaults
52
+ for (const [targetDefaultKey, targetDefault] of Object.entries(nxJson.targetDefaults)){
53
+ if (!isTargetDefaultUsed(targetDefault, nxJson.targetDefaults, projects, projectMap)) {
54
+ delete nxJson.targetDefaults[targetDefaultKey];
55
+ }
56
+ }
57
+ (0, _devkit.updateNxJson)(tree, nxJson);
58
+ await (0, _devkit.formatFiles)(tree);
59
+ }
60
+ /**
61
+ * Checks every target on every project to see if one of them uses the target default
62
+ */ function isTargetDefaultUsed(targetDefault, targetDefaults, projects, projectMap) {
63
+ for (const p of Object.values(projects)){
64
+ var _p_data;
65
+ var _p_data_targets;
66
+ for(const targetName in (_p_data_targets = (_p_data = p.data) == null ? void 0 : _p_data.targets) != null ? _p_data_targets : {}){
67
+ var // 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
68
+ _projectMap_get_targets_targetName, _projectMap_get_targets;
69
+ if ((0, _projectconfigurationutils.readTargetDefaultsForTarget)(targetName, targetDefaults, (_projectMap_get_targets = projectMap.get(p.name).targets) == null ? void 0 : (_projectMap_get_targets_targetName = _projectMap_get_targets[targetName]) == null ? void 0 : _projectMap_get_targets_targetName.executor) === targetDefault) {
70
+ return true;
71
+ }
72
+ }
73
+ }
74
+ return false;
75
+ }
76
+
77
+ //# sourceMappingURL=move-target-defaults.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ import { FileReplacement } from '../../../../plugins/rollup-replace-files.plugin';
2
+ export declare function addFileReplacements(configContents: string, fileReplacements: FileReplacement[], configPath: string): string;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "addFileReplacements", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return addFileReplacements;
6
+ }
7
+ });
8
+ const _devkit = require("@nx/devkit");
9
+ const _tsquery = require("@phenomnomnominal/tsquery");
10
+ const _updateviteconfig = require("../update-vite-config");
11
+ function addFileReplacements(configContents, fileReplacements, configPath) {
12
+ var _tsquery_query, _tsquery_query1, _tsquery_query2;
13
+ const configNode = (0, _updateviteconfig.getConfigNode)(configContents);
14
+ if (!configNode) {
15
+ (0, _updateviteconfig.notFoundWarning)(configPath);
16
+ return configContents;
17
+ }
18
+ const pluginsObject = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="plugins"])`)) == null ? void 0 : _tsquery_query[0];
19
+ const replaceFilesPlugin = (_tsquery_query1 = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="plugins"]) CallExpression:has(Identifier[name="replaceFiles"])`)) == null ? void 0 : _tsquery_query1[0];
20
+ const firstImportDeclaration = (_tsquery_query2 = _tsquery.tsquery.query(configContents, 'ImportDeclaration')) == null ? void 0 : _tsquery_query2[0];
21
+ if (pluginsObject) {
22
+ if (replaceFilesPlugin) {
23
+ return configContents;
24
+ } else {
25
+ return (0, _devkit.applyChangesToString)(configContents, [
26
+ {
27
+ type: _devkit.ChangeType.Insert,
28
+ index: pluginsObject.getStart() + `plugins: [`.length + 1,
29
+ text: `replaceFiles(${JSON.stringify(fileReplacements)}),`
30
+ },
31
+ firstImportDeclaration ? {
32
+ type: _devkit.ChangeType.Insert,
33
+ index: firstImportDeclaration.getStart(),
34
+ text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\n`
35
+ } : {
36
+ type: _devkit.ChangeType.Insert,
37
+ index: 0,
38
+ text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\n`
39
+ }
40
+ ]);
41
+ }
42
+ } else {
43
+ var _tsquery_query3;
44
+ const foundDefineConfig = (_tsquery_query3 = _tsquery.tsquery.query(configContents, 'CallExpression:has(Identifier[name="defineConfig"])')) == null ? void 0 : _tsquery_query3[0];
45
+ if (!foundDefineConfig) {
46
+ return;
47
+ }
48
+ return (0, _devkit.applyChangesToString)(configContents, [
49
+ {
50
+ type: _devkit.ChangeType.Insert,
51
+ index: configNode.getStart() + 1,
52
+ text: `plugins: [replaceFiles(${JSON.stringify(fileReplacements)})],`
53
+ },
54
+ firstImportDeclaration ? {
55
+ type: _devkit.ChangeType.Insert,
56
+ index: firstImportDeclaration.getStart(),
57
+ text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`
58
+ } : {
59
+ type: _devkit.ChangeType.Insert,
60
+ index: 0,
61
+ text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`
62
+ }
63
+ ]);
64
+ }
65
+ }
66
+
67
+ //# sourceMappingURL=add-file-replacements.js.map