@nx/vite 0.0.0-pr-22179-271588f

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 (170) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +68 -0
  3. package/executors.d.ts +8 -0
  4. package/executors.js +27 -0
  5. package/executors.js.map +1 -0
  6. package/executors.json +46 -0
  7. package/generators.json +25 -0
  8. package/index.d.ts +8 -0
  9. package/index.js +26 -0
  10. package/index.js.map +1 -0
  11. package/migrations.json +253 -0
  12. package/package.json +62 -0
  13. package/plugin.d.ts +1 -0
  14. package/plugin.js +21 -0
  15. package/plugin.js.map +1 -0
  16. package/plugins/nx-tsconfig-paths.plugin.d.ts +24 -0
  17. package/plugins/nx-tsconfig-paths.plugin.js +132 -0
  18. package/plugins/nx-tsconfig-paths.plugin.js.map +1 -0
  19. package/plugins/rollup-replace-files.plugin.d.ts +16 -0
  20. package/plugins/rollup-replace-files.plugin.js +51 -0
  21. package/plugins/rollup-replace-files.plugin.js.map +1 -0
  22. package/src/executors/build/build.impl.d.ts +13 -0
  23. package/src/executors/build/build.impl.js +187 -0
  24. package/src/executors/build/build.impl.js.map +1 -0
  25. package/src/executors/build/compat.d.ts +2 -0
  26. package/src/executors/build/compat.js +12 -0
  27. package/src/executors/build/compat.js.map +1 -0
  28. package/src/executors/build/schema.d.js +3 -0
  29. package/src/executors/build/schema.d.js.map +1 -0
  30. package/src/executors/build/schema.d.ts +10 -0
  31. package/src/executors/build/schema.json +67 -0
  32. package/src/executors/dev-server/compat.d.ts +2 -0
  33. package/src/executors/dev-server/compat.js +12 -0
  34. package/src/executors/dev-server/compat.js.map +1 -0
  35. package/src/executors/dev-server/dev-server.impl.d.ts +7 -0
  36. package/src/executors/dev-server/dev-server.impl.js +136 -0
  37. package/src/executors/dev-server/dev-server.impl.js.map +1 -0
  38. package/src/executors/dev-server/schema.d.js +3 -0
  39. package/src/executors/dev-server/schema.d.js.map +1 -0
  40. package/src/executors/dev-server/schema.d.ts +5 -0
  41. package/src/executors/dev-server/schema.json +38 -0
  42. package/src/executors/preview-server/compat.d.ts +2 -0
  43. package/src/executors/preview-server/compat.js +12 -0
  44. package/src/executors/preview-server/compat.js.map +1 -0
  45. package/src/executors/preview-server/preview-server.impl.d.ts +7 -0
  46. package/src/executors/preview-server/preview-server.impl.js +176 -0
  47. package/src/executors/preview-server/preview-server.impl.js.map +1 -0
  48. package/src/executors/preview-server/schema.d.js +3 -0
  49. package/src/executors/preview-server/schema.d.js.map +1 -0
  50. package/src/executors/preview-server/schema.d.ts +5 -0
  51. package/src/executors/preview-server/schema.json +37 -0
  52. package/src/executors/test/compat.d.ts +2 -0
  53. package/src/executors/test/compat.js +12 -0
  54. package/src/executors/test/compat.js.map +1 -0
  55. package/src/executors/test/lib/nx-reporter.d.ts +14 -0
  56. package/src/executors/test/lib/nx-reporter.js +40 -0
  57. package/src/executors/test/lib/nx-reporter.js.map +1 -0
  58. package/src/executors/test/lib/utils.d.ts +4 -0
  59. package/src/executors/test/lib/utils.js +77 -0
  60. package/src/executors/test/lib/utils.js.map +1 -0
  61. package/src/executors/test/schema.d.js +3 -0
  62. package/src/executors/test/schema.d.js.map +1 -0
  63. package/src/executors/test/schema.d.ts +7 -0
  64. package/src/executors/test/schema.json +36 -0
  65. package/src/executors/test/vitest.impl.d.ts +6 -0
  66. package/src/executors/test/vitest.impl.js +67 -0
  67. package/src/executors/test/vitest.impl.js.map +1 -0
  68. package/src/generators/configuration/configuration.d.ts +5 -0
  69. package/src/generators/configuration/configuration.js +147 -0
  70. package/src/generators/configuration/configuration.js.map +1 -0
  71. package/src/generators/configuration/lib/convert-non-vite.d.ts +5 -0
  72. package/src/generators/configuration/lib/convert-non-vite.js +62 -0
  73. package/src/generators/configuration/lib/convert-non-vite.js.map +1 -0
  74. package/src/generators/configuration/schema.d.js +3 -0
  75. package/src/generators/configuration/schema.d.js.map +1 -0
  76. package/src/generators/configuration/schema.d.ts +12 -0
  77. package/src/generators/configuration/schema.json +61 -0
  78. package/src/generators/init/init.d.ts +6 -0
  79. package/src/generators/init/init.js +82 -0
  80. package/src/generators/init/init.js.map +1 -0
  81. package/src/generators/init/lib/utils.d.ts +6 -0
  82. package/src/generators/init/lib/utils.js +80 -0
  83. package/src/generators/init/lib/utils.js.map +1 -0
  84. package/src/generators/init/schema.d.js +3 -0
  85. package/src/generators/init/schema.d.js.map +1 -0
  86. package/src/generators/init/schema.d.ts +7 -0
  87. package/src/generators/init/schema.json +31 -0
  88. package/src/generators/vitest/files/tsconfig.spec.json__tmpl__ +20 -0
  89. package/src/generators/vitest/schema.d.js +3 -0
  90. package/src/generators/vitest/schema.d.js.map +1 -0
  91. package/src/generators/vitest/schema.d.ts +11 -0
  92. package/src/generators/vitest/schema.json +56 -0
  93. package/src/generators/vitest/vitest-generator.d.ts +5 -0
  94. package/src/generators/vitest/vitest-generator.js +187 -0
  95. package/src/generators/vitest/vitest-generator.js.map +1 -0
  96. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.d.ts +3 -0
  97. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js +67 -0
  98. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -0
  99. package/src/migrations/update-15-3-4/set-mode-in-configuration.d.ts +3 -0
  100. package/src/migrations/update-15-3-4/set-mode-in-configuration.js +37 -0
  101. package/src/migrations/update-15-3-4/set-mode-in-configuration.js.map +1 -0
  102. package/src/migrations/update-15-4-3/update-report-directory.d.ts +3 -0
  103. package/src/migrations/update-15-4-3/update-report-directory.js +39 -0
  104. package/src/migrations/update-15-4-3/update-report-directory.js.map +1 -0
  105. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
  106. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +15 -0
  107. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -0
  108. package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.d.ts +2 -0
  109. package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.js +35 -0
  110. package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.js.map +1 -0
  111. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.d.ts +2 -0
  112. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +39 -0
  113. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -0
  114. package/src/migrations/update-17-1-0/move-target-defaults.d.ts +2 -0
  115. package/src/migrations/update-17-1-0/move-target-defaults.js +77 -0
  116. package/src/migrations/update-17-1-0/move-target-defaults.js.map +1 -0
  117. package/src/migrations/update-17-2-0/lib/add-file-replacements.d.ts +2 -0
  118. package/src/migrations/update-17-2-0/lib/add-file-replacements.js +67 -0
  119. package/src/migrations/update-17-2-0/lib/add-file-replacements.js.map +1 -0
  120. package/src/migrations/update-17-2-0/lib/edit-build-config.d.ts +2 -0
  121. package/src/migrations/update-17-2-0/lib/edit-build-config.js +121 -0
  122. package/src/migrations/update-17-2-0/lib/edit-build-config.js.map +1 -0
  123. package/src/migrations/update-17-2-0/lib/edit-test-config.d.ts +2 -0
  124. package/src/migrations/update-17-2-0/lib/edit-test-config.js +83 -0
  125. package/src/migrations/update-17-2-0/lib/edit-test-config.js.map +1 -0
  126. package/src/migrations/update-17-2-0/update-vite-config.d.ts +5 -0
  127. package/src/migrations/update-17-2-0/update-vite-config.js +68 -0
  128. package/src/migrations/update-17-2-0/update-vite-config.js.map +1 -0
  129. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.d.ts +3 -0
  130. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js +117 -0
  131. package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js.map +1 -0
  132. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.d.ts +2 -0
  133. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js +45 -0
  134. package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js.map +1 -0
  135. package/src/plugins/plugin.d.ts +10 -0
  136. package/src/plugins/plugin.js +223 -0
  137. package/src/plugins/plugin.js.map +1 -0
  138. package/src/utils/ensure-dependencies.d.ts +8 -0
  139. package/src/utils/ensure-dependencies.js +34 -0
  140. package/src/utils/ensure-dependencies.js.map +1 -0
  141. package/src/utils/executor-utils.d.ts +11 -0
  142. package/src/utils/executor-utils.js +59 -0
  143. package/src/utils/executor-utils.js.map +1 -0
  144. package/src/utils/find-vite-config.d.ts +3 -0
  145. package/src/utils/find-vite-config.js +46 -0
  146. package/src/utils/find-vite-config.js.map +1 -0
  147. package/src/utils/generator-utils.d.ts +42 -0
  148. package/src/utils/generator-utils.js +527 -0
  149. package/src/utils/generator-utils.js.map +1 -0
  150. package/src/utils/options-utils.d.ts +17 -0
  151. package/src/utils/options-utils.js +100 -0
  152. package/src/utils/options-utils.js.map +1 -0
  153. package/src/utils/test-files/angular-project.config.json +89 -0
  154. package/src/utils/test-files/react-lib-non-buildable-jest.json +22 -0
  155. package/src/utils/test-files/react-lib-non-buildable-vitest.json +22 -0
  156. package/src/utils/test-files/react-mixed-project.config.json +47 -0
  157. package/src/utils/test-files/react-vite-project.config.json +54 -0
  158. package/src/utils/test-files/test-vite-configs.d.ts +31 -0
  159. package/src/utils/test-files/test-vite-configs.js +291 -0
  160. package/src/utils/test-files/test-vite-configs.js.map +1 -0
  161. package/src/utils/test-files/unknown-project.config.json +69 -0
  162. package/src/utils/test-utils.d.ts +9 -0
  163. package/src/utils/test-utils.js +522 -0
  164. package/src/utils/test-utils.js.map +1 -0
  165. package/src/utils/versions.d.ts +11 -0
  166. package/src/utils/versions.js +55 -0
  167. package/src/utils/versions.js.map +1 -0
  168. package/src/utils/vite-config-edit-utils.d.ts +3 -0
  169. package/src/utils/vite-config-edit-utils.js +314 -0
  170. package/src/utils/vite-config-edit-utils.js.map +1 -0
@@ -0,0 +1,82 @@
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
+ updateNxJsonSettings: function() {
10
+ return updateNxJsonSettings;
11
+ },
12
+ initGenerator: function() {
13
+ return initGenerator;
14
+ },
15
+ initGeneratorInternal: function() {
16
+ return initGeneratorInternal;
17
+ },
18
+ default: function() {
19
+ return _default;
20
+ }
21
+ });
22
+ const _extends = require("@swc/helpers/_/_extends");
23
+ const _devkit = require("@nx/devkit");
24
+ const _updatepackagescripts = require("@nx/devkit/src/utils/update-package-scripts");
25
+ const _plugin = require("../../plugins/plugin");
26
+ const _utils = require("./lib/utils");
27
+ function updateNxJsonSettings(tree) {
28
+ var _nxJson_namedInputs, _nxJson_plugins;
29
+ const nxJson = (0, _devkit.readNxJson)(tree);
30
+ const productionFileSet = (_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production;
31
+ if (productionFileSet) {
32
+ productionFileSet.push('!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json');
33
+ nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
34
+ }
35
+ const hasPlugin = (_nxJson_plugins = nxJson.plugins) == null ? void 0 : _nxJson_plugins.some((p)=>typeof p === 'string' ? p === '@nx/vite/plugin' : p.plugin === '@nx/vite/plugin');
36
+ if (!hasPlugin) {
37
+ var _nxJson, _nxJson_targetDefaults, _nxvitetest, _nxJson_targetDefaults_nxvitetest, _nxJson_targetDefaults_nxvitetest1;
38
+ var _targetDefaults;
39
+ (_targetDefaults = (_nxJson = nxJson).targetDefaults) != null ? _targetDefaults : _nxJson.targetDefaults = {};
40
+ var _;
41
+ (_ = (_nxJson_targetDefaults = nxJson.targetDefaults)[_nxvitetest = '@nx/vite:test']) != null ? _ : _nxJson_targetDefaults[_nxvitetest] = {};
42
+ var _cache;
43
+ (_cache = (_nxJson_targetDefaults_nxvitetest = nxJson.targetDefaults['@nx/vite:test']).cache) != null ? _cache : _nxJson_targetDefaults_nxvitetest.cache = true;
44
+ var _inputs;
45
+ (_inputs = (_nxJson_targetDefaults_nxvitetest1 = nxJson.targetDefaults['@nx/vite:test']).inputs) != null ? _inputs : _nxJson_targetDefaults_nxvitetest1.inputs = [
46
+ 'default',
47
+ productionFileSet ? '^production' : '^default'
48
+ ];
49
+ }
50
+ (0, _devkit.updateNxJson)(tree, nxJson);
51
+ }
52
+ function initGenerator(tree, schema) {
53
+ return initGeneratorInternal(tree, _extends._({
54
+ addPlugin: false
55
+ }, schema));
56
+ }
57
+ async function initGeneratorInternal(tree, schema) {
58
+ var _schema;
59
+ const nxJson = (0, _devkit.readNxJson)(tree);
60
+ const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' && nxJson.useInferencePlugins !== false;
61
+ var _addPlugin;
62
+ (_addPlugin = (_schema = schema).addPlugin) != null ? _addPlugin : _schema.addPlugin = addPluginDefault;
63
+ if (schema.addPlugin) {
64
+ (0, _utils.addPlugin)(tree);
65
+ }
66
+ updateNxJsonSettings(tree);
67
+ const tasks = [];
68
+ if (!schema.skipPackageJson) {
69
+ tasks.push((0, _utils.moveToDevDependencies)(tree));
70
+ tasks.push((0, _utils.checkDependenciesInstalled)(tree, schema));
71
+ }
72
+ if (schema.updatePackageScripts) {
73
+ await (0, _updatepackagescripts.updatePackageScripts)(tree, _plugin.createNodes);
74
+ }
75
+ if (!schema.skipFormat) {
76
+ await (0, _devkit.formatFiles)(tree);
77
+ }
78
+ return (0, _devkit.runTasksInSerial)(...tasks);
79
+ }
80
+ const _default = initGenerator;
81
+
82
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { updatePackageScripts } from '@nx/devkit/src/utils/update-package-scripts';\n\nimport { createNodes } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport {\n addPlugin,\n checkDependenciesInstalled,\n moveToDevDependencies,\n} 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 if (schema.addPlugin) {\n addPlugin(tree);\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.updatePackageScripts) {\n await updatePackageScripts(tree, createNodes);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["updateNxJsonSettings","initGenerator","initGeneratorInternal","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","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","updatePackageScripts","createNodes","skipFormat","formatFiles","runTasksInSerial"],"mappings":";;;;;;;;IAkBgBA,oBAAoB;eAApBA;;IAgCAC,aAAa;eAAbA;;IAIMC,qBAAqB;eAArBA;;IAgCtB,OAA6B;eAA7B;;;;wBA/EO;sCAC8B;wBAET;uBAMrB;AAEA,SAASF,qBAAqBG,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,SAASH,cAAcE,IAAU,EAAEmB,MAA2B;IACnE,OAAOpB,sBAAsBC,MAAM;QAAEoB,WAAW;OAAUD;AAC5D;AAEO,eAAepB,sBACpBC,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;IACrB,IAAIF,OAAOC,SAAS,EAAE;QACpBA,IAAAA,gBAAS,EAACpB;IACZ;IAEAH,qBAAqBG;IAErB,MAAM0B,QAA6B,EAAE;IACrC,IAAI,CAACP,OAAOQ,eAAe,EAAE;QAC3BD,MAAMpB,IAAI,CAACsB,IAAAA,4BAAqB,EAAC5B;QACjC0B,MAAMpB,IAAI,CAACuB,IAAAA,iCAA0B,EAAC7B,MAAMmB;IAC9C;IAEA,IAAIA,OAAOW,oBAAoB,EAAE;QAC/B,MAAMA,IAAAA,0CAAoB,EAAC9B,MAAM+B,mBAAW;IAC9C;IAEA,IAAI,CAACZ,OAAOa,UAAU,EAAE;QACtB,MAAMC,IAAAA,mBAAW,EAACjC;IACpB;IAEA,OAAOkC,IAAAA,wBAAgB,KAAIR;AAC7B;MAEA,WAAe5B"}
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitGeneratorSchema } from '../schema';
3
+ export declare function checkDependenciesInstalled(host: Tree, schema: InitGeneratorSchema): import("@nx/devkit").GeneratorCallback;
4
+ export declare function moveToDevDependencies(tree: Tree): () => void;
5
+ export declare function createVitestConfig(tree: Tree): void;
6
+ export declare function addPlugin(tree: Tree): void;
@@ -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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/schema.d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface InitGeneratorSchema {
2
+ skipFormat?: boolean;
3
+ skipPackageJson?: boolean;
4
+ keepExistingVersions?: boolean;
5
+ updatePackageScripts?: boolean;
6
+ addPlugin?: boolean;
7
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "cli": "nx",
3
+ "title": "Initialize Vite in the workspace.",
4
+ "description": "Initialize Vite in the workspace.",
5
+ "$id": "init-vite-plugin",
6
+ "type": "object",
7
+ "properties": {
8
+ "skipFormat": {
9
+ "description": "Skip formatting files.",
10
+ "type": "boolean",
11
+ "default": false
12
+ },
13
+ "skipPackageJson": {
14
+ "description": "Do not add dependencies to `package.json`.",
15
+ "type": "boolean",
16
+ "default": false
17
+ },
18
+ "keepExistingVersions": {
19
+ "type": "boolean",
20
+ "x-priority": "internal",
21
+ "description": "Keep existing dependencies versions",
22
+ "default": false
23
+ },
24
+ "updatePackageScripts": {
25
+ "type": "boolean",
26
+ "x-priority": "internal",
27
+ "description": "Update `package.json` scripts with inferred targets",
28
+ "default": false
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
+ "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"]
6
+ },
7
+ "include": [
8
+ "vite.config.ts",
9
+ "vitest.config.ts",
10
+ "src/**/*.test.ts",
11
+ "src/**/*.spec.ts",
12
+ "src/**/*.test.tsx",
13
+ "src/**/*.spec.tsx",
14
+ "src/**/*.test.js",
15
+ "src/**/*.spec.js",
16
+ "src/**/*.test.jsx",
17
+ "src/**/*.spec.jsx",
18
+ "src/**/*.d.ts"
19
+ ]
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/schema.d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface VitestGeneratorSchema {
2
+ project: string;
3
+ uiFramework: 'react' | 'none';
4
+ coverageProvider: 'v8' | 'istanbul' | 'custom';
5
+ inSourceTests?: boolean;
6
+ skipViteConfig?: boolean;
7
+ testTarget?: string;
8
+ skipFormat?: boolean;
9
+ testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;
10
+ addPlugin?: boolean;
11
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "cli": "nx",
4
+ "$id": "Vitest",
5
+ "title": "Vitest",
6
+ "type": "object",
7
+ "description": "Generate a Vitest setup for a project.",
8
+ "properties": {
9
+ "project": {
10
+ "type": "string",
11
+ "description": "The name of the project to test.",
12
+ "$default": {
13
+ "$source": "projectName"
14
+ }
15
+ },
16
+ "uiFramework": {
17
+ "type": "string",
18
+ "enum": ["react", "none"],
19
+ "default": "none",
20
+ "description": "UI framework to use with vitest."
21
+ },
22
+ "inSourceTests": {
23
+ "type": "boolean",
24
+ "default": false,
25
+ "description": "Do not generate separate spec files and set up in-source testing."
26
+ },
27
+ "skipViteConfig": {
28
+ "type": "boolean",
29
+ "default": false,
30
+ "description": "Skip generating a vite config file."
31
+ },
32
+ "coverageProvider": {
33
+ "type": "string",
34
+ "enum": ["v8", "istanbul", "custom"],
35
+ "default": "v8",
36
+ "description": "Coverage provider to use."
37
+ },
38
+ "testTarget": {
39
+ "type": "string",
40
+ "description": "The test target of the project to be transformed to use the @nx/vite:test executor.",
41
+ "hidden": true
42
+ },
43
+ "skipFormat": {
44
+ "description": "Skip formatting files.",
45
+ "type": "boolean",
46
+ "default": false,
47
+ "x-priority": "internal"
48
+ },
49
+ "testEnvironment": {
50
+ "description": "The vitest environment to use. See https://vitest.dev/config/#environment.",
51
+ "type": "string",
52
+ "enum": ["node", "jsdom", "happy-dom", "edge-runtime"]
53
+ }
54
+ },
55
+ "required": ["project"]
56
+ }
@@ -0,0 +1,5 @@
1
+ import { GeneratorCallback, Tree } from '@nx/devkit';
2
+ import { VitestGeneratorSchema } from './schema';
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>;
5
+ export default vitestGenerator;
@@ -0,0 +1,187 @@
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
+ vitestGenerator: function() {
10
+ return vitestGenerator;
11
+ },
12
+ vitestGeneratorInternal: function() {
13
+ return vitestGeneratorInternal;
14
+ },
15
+ default: function() {
16
+ return _default;
17
+ }
18
+ });
19
+ const _extends = require("@swc/helpers/_/_extends");
20
+ const _devkit = require("@nx/devkit");
21
+ const _generatorutils = require("../../utils/generator-utils");
22
+ const _init = require("../init/init");
23
+ const _versions = require("../../utils/versions");
24
+ const _js = require("@nx/js");
25
+ const _path = require("path");
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;
34
+ const tasks = [];
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
+ })));
40
+ const initTask = await (0, _init.default)(tree, {
41
+ skipFormat: true,
42
+ addPlugin: schema.addPlugin
43
+ });
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
+ }
53
+ if (!schema.skipViteConfig) {
54
+ if (schema.uiFramework === 'react') {
55
+ (0, _generatorutils.createOrEditViteConfig)(tree, {
56
+ project: schema.project,
57
+ includeLib: projectType === 'library',
58
+ includeVitest: true,
59
+ inSourceTests: schema.inSourceTests,
60
+ rollupOptionsExternal: [
61
+ "'react'",
62
+ "'react-dom'",
63
+ "'react/jsx-runtime'"
64
+ ],
65
+ imports: [
66
+ `import react from '@vitejs/plugin-react'`
67
+ ],
68
+ plugins: [
69
+ 'react()'
70
+ ],
71
+ coverageProvider: schema.coverageProvider
72
+ }, true);
73
+ } else {
74
+ (0, _generatorutils.createOrEditViteConfig)(tree, _extends._({}, schema, {
75
+ includeVitest: true,
76
+ includeLib: projectType === 'library'
77
+ }), true);
78
+ }
79
+ }
80
+ createFiles(tree, schema, root);
81
+ updateTsConfig(tree, schema, root);
82
+ const coverageProviderDependency = getCoverageProviderDependency(schema.coverageProvider);
83
+ const installCoverageProviderTask = (0, _devkit.addDependenciesToPackageJson)(tree, {}, coverageProviderDependency);
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
+ }
89
+ if (!schema.skipFormat) {
90
+ await (0, _devkit.formatFiles)(tree);
91
+ }
92
+ return (0, _devkit.runTasksInSerial)(...tasks);
93
+ }
94
+ function updateTsConfig(tree, options, projectRoot) {
95
+ if (tree.exists((0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.spec.json'))) {
96
+ (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.spec.json'), (json)=>{
97
+ var _json_compilerOptions_types, _json_compilerOptions;
98
+ if (!((_json_compilerOptions = json.compilerOptions) == null ? void 0 : (_json_compilerOptions_types = _json_compilerOptions.types) == null ? void 0 : _json_compilerOptions_types.includes('vitest'))) {
99
+ var _json_compilerOptions1;
100
+ if ((_json_compilerOptions1 = json.compilerOptions) == null ? void 0 : _json_compilerOptions1.types) {
101
+ json.compilerOptions.types.push('vitest');
102
+ } else {
103
+ var _json;
104
+ var _compilerOptions;
105
+ (_compilerOptions = (_json = json).compilerOptions) != null ? _compilerOptions : _json.compilerOptions = {};
106
+ json.compilerOptions.types = [
107
+ 'vitest'
108
+ ];
109
+ }
110
+ }
111
+ return json;
112
+ });
113
+ (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.json'), (json)=>{
114
+ if (json.references && !json.references.some((r)=>r.path === './tsconfig.spec.json')) {
115
+ json.references.push({
116
+ path: './tsconfig.spec.json'
117
+ });
118
+ }
119
+ return json;
120
+ });
121
+ } else {
122
+ (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.json'), (json)=>{
123
+ var _json_compilerOptions_types, _json_compilerOptions;
124
+ if (!((_json_compilerOptions = json.compilerOptions) == null ? void 0 : (_json_compilerOptions_types = _json_compilerOptions.types) == null ? void 0 : _json_compilerOptions_types.includes('vitest'))) {
125
+ var _json_compilerOptions1;
126
+ if ((_json_compilerOptions1 = json.compilerOptions) == null ? void 0 : _json_compilerOptions1.types) {
127
+ json.compilerOptions.types.push('vitest');
128
+ } else {
129
+ var _json;
130
+ var _compilerOptions;
131
+ (_compilerOptions = (_json = json).compilerOptions) != null ? _compilerOptions : _json.compilerOptions = {};
132
+ json.compilerOptions.types = [
133
+ 'vitest'
134
+ ];
135
+ }
136
+ }
137
+ return json;
138
+ });
139
+ }
140
+ if (options.inSourceTests) {
141
+ const tsconfigLibPath = (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.lib.json');
142
+ const tsconfigAppPath = (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.app.json');
143
+ if (tree.exists(tsconfigLibPath)) {
144
+ (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.lib.json'), (json)=>{
145
+ var _json_compilerOptions;
146
+ var _types;
147
+ ((_types = (_json_compilerOptions = json.compilerOptions).types) != null ? _types : _json_compilerOptions.types = []).push('vitest/importMeta');
148
+ return json;
149
+ });
150
+ } else if (tree.exists(tsconfigAppPath)) {
151
+ (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.app.json'), (json)=>{
152
+ var _json_compilerOptions;
153
+ var _types;
154
+ ((_types = (_json_compilerOptions = json.compilerOptions).types) != null ? _types : _json_compilerOptions.types = []).push('vitest/importMeta');
155
+ return json;
156
+ });
157
+ }
158
+ (0, _js.addTsLibDependencies)(tree);
159
+ }
160
+ }
161
+ function createFiles(tree, options, projectRoot) {
162
+ (0, _devkit.generateFiles)(tree, (0, _path.join)(__dirname, 'files'), projectRoot, _extends._({
163
+ tmpl: ''
164
+ }, options, {
165
+ projectRoot,
166
+ offsetFromRoot: (0, _devkit.offsetFromRoot)(projectRoot)
167
+ }));
168
+ }
169
+ function getCoverageProviderDependency(coverageProvider) {
170
+ switch(coverageProvider){
171
+ case 'v8':
172
+ return {
173
+ '@vitest/coverage-v8': _versions.vitestCoverageV8Version
174
+ };
175
+ case 'istanbul':
176
+ return {
177
+ '@vitest/coverage-istanbul': _versions.vitestCoverageIstanbulVersion
178
+ };
179
+ default:
180
+ return {
181
+ '@vitest/coverage-v8': _versions.vitestCoverageV8Version
182
+ };
183
+ }
184
+ }
185
+ const _default = vitestGenerator;
186
+
187
+ //# sourceMappingURL=vitest-generator.js.map
@@ -0,0 +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":";;;;;;;;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"}
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function removeProjectsFromViteTsConfigPaths(tree: Tree): Promise<void>;
3
+ export default removeProjectsFromViteTsConfigPaths;
@@ -0,0 +1,67 @@
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
+ removeProjectsFromViteTsConfigPaths: function() {
10
+ return removeProjectsFromViteTsConfigPaths;
11
+ },
12
+ default: function() {
13
+ return _default;
14
+ }
15
+ });
16
+ const _devkit = require("@nx/devkit");
17
+ const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
18
+ const _tsquery = require("@phenomnomnominal/tsquery");
19
+ const _js = require("@nx/js");
20
+ const _generatorutils = require("../../utils/generator-utils");
21
+ const ts = require("typescript");
22
+ async function removeProjectsFromViteTsConfigPaths(tree) {
23
+ findAllProjectsWithViteConfig(tree);
24
+ await (0, _devkit.formatFiles)(tree);
25
+ }
26
+ const _default = removeProjectsFromViteTsConfigPaths;
27
+ function findAllProjectsWithViteConfig(tree) {
28
+ (0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nrwl/vite:build', (options, project)=>{
29
+ const projectConfiguration = (0, _devkit.readProjectConfiguration)(tree, project);
30
+ const viteConfig = (0, _generatorutils.normalizeViteConfigFilePathWithTree)(tree, projectConfiguration.root, options == null ? void 0 : options['configFile']);
31
+ if (viteConfig) {
32
+ var _defineConfig_;
33
+ const appFileContent = tree.read(viteConfig, 'utf-8');
34
+ const file = _tsquery.tsquery.ast(appFileContent);
35
+ let newContents = appFileContent;
36
+ const defineConfig = _tsquery.tsquery.query(file, 'CallExpression:has(Identifier[name="defineConfig"])');
37
+ let startOfProjects, endOfProjects;
38
+ defineConfig == null ? void 0 : (_defineConfig_ = defineConfig[0]) == null ? void 0 : _defineConfig_.getChildren().forEach((defineConfigContentNode)=>{
39
+ // Make sure it's the one we are looking for
40
+ // We cannot assume that it's called tsConfigPaths
41
+ // So make sure it includes `projects` and `root`
42
+ if (defineConfigContentNode.getText().includes('projects') && defineConfigContentNode.getText().includes('root')) {
43
+ (0, _js.findNodes)(defineConfigContentNode, [
44
+ ts.SyntaxKind.PropertyAssignment
45
+ ]).forEach((nodePA)=>{
46
+ if (nodePA.getText().startsWith('projects')) {
47
+ startOfProjects = nodePA.getStart();
48
+ endOfProjects = nodePA.getEnd();
49
+ }
50
+ });
51
+ }
52
+ });
53
+ if (startOfProjects && endOfProjects) {
54
+ newContents = (0, _devkit.applyChangesToString)(newContents, [
55
+ {
56
+ type: _devkit.ChangeType.Delete,
57
+ start: startOfProjects,
58
+ length: endOfProjects - startOfProjects + 1
59
+ }
60
+ ]);
61
+ tree.write(viteConfig, newContents);
62
+ }
63
+ }
64
+ });
65
+ }
66
+
67
+ //# sourceMappingURL=update-vite-tsconfig-paths.js.map