@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,136 @@
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
+ viteDevServerExecutor: function() {
10
+ return viteDevServerExecutor;
11
+ },
12
+ default: function() {
13
+ return _default;
14
+ }
15
+ });
16
+ const _extends = require("@swc/helpers/_/_extends");
17
+ const _devkit = require("@nx/devkit");
18
+ const _optionsutils = require("../../utils/options-utils");
19
+ const _executorutils = require("../../utils/executor-utils");
20
+ const _path = require("path");
21
+ const _buildimpl = require("../build/build.impl");
22
+ async function* viteDevServerExecutor(options, context) {
23
+ process.env.VITE_CJS_IGNORE_WARNING = 'true';
24
+ // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.
25
+ const { mergeConfig, createServer, loadConfigFromFile } = await (0, _executorutils.loadViteDynamicImport)();
26
+ const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
27
+ const root = projectRoot === '.' ? process.cwd() : (0, _path.relative)(context.cwd, (0, _devkit.joinPathFragments)(context.root, projectRoot));
28
+ (0, _executorutils.createBuildableTsConfig)(projectRoot, options, context);
29
+ // Retrieve the option for the configured buildTarget.
30
+ const buildTargetOptions = (0, _optionsutils.getNxTargetOptions)(options.buildTarget, context);
31
+ const { configuration } = (0, _devkit.parseTargetString)(options.buildTarget, context);
32
+ const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
33
+ const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
34
+ const { serverOptions, otherOptions } = await getServerExtraArgs(options, configuration, buildOptions, otherOptionsFromBuild);
35
+ var _otherOptions_mode, _ref;
36
+ const resolved = await loadConfigFromFile({
37
+ mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : buildTargetOptions == null ? void 0 : buildTargetOptions['mode']) != null ? _ref : 'development',
38
+ command: 'serve'
39
+ }, viteConfigPath);
40
+ var _resolved_config_root;
41
+ // vite InlineConfig
42
+ const serverConfig = mergeConfig({
43
+ // This should not be needed as it's going to be set in vite.config.ts
44
+ // but leaving it here in case someone did not migrate correctly
45
+ root: (_resolved_config_root = resolved.config.root) != null ? _resolved_config_root : root,
46
+ configFile: viteConfigPath
47
+ }, _extends._({
48
+ server: _extends._({}, await (0, _optionsutils.getViteServerOptions)(options, context), serverOptions)
49
+ }, otherOptions));
50
+ try {
51
+ const server = await createServer(serverConfig);
52
+ await runViteDevServer(server);
53
+ const resolvedUrls = [
54
+ ...server.resolvedUrls.local,
55
+ ...server.resolvedUrls.network
56
+ ];
57
+ var _resolvedUrls_;
58
+ yield {
59
+ success: true,
60
+ baseUrl: (_resolvedUrls_ = resolvedUrls[0]) != null ? _resolvedUrls_ : ''
61
+ };
62
+ } catch (e) {
63
+ console.error(e);
64
+ yield {
65
+ success: false,
66
+ baseUrl: ''
67
+ };
68
+ }
69
+ await new Promise((resolve)=>{
70
+ process.once('SIGINT', ()=>resolve());
71
+ process.once('SIGTERM', ()=>resolve());
72
+ process.once('exit', ()=>resolve());
73
+ });
74
+ }
75
+ // vite ViteDevServer
76
+ async function runViteDevServer(server) {
77
+ await server.listen();
78
+ server.printUrls();
79
+ const processOnExit = async ()=>{
80
+ await server.close();
81
+ };
82
+ process.once('SIGINT', processOnExit);
83
+ process.once('SIGTERM', processOnExit);
84
+ process.once('exit', processOnExit);
85
+ }
86
+ const _default = viteDevServerExecutor;
87
+ async function getServerExtraArgs(options, configuration, buildOptionsFromBuildTarget, otherOptionsFromBuildTarget) {
88
+ // support passing extra args to vite cli
89
+ const schema = await Promise.resolve().then(()=>require("./schema.json"));
90
+ const extraArgs = {};
91
+ for (const key of Object.keys(options)){
92
+ if (!schema.properties[key]) {
93
+ extraArgs[key] = options[key];
94
+ }
95
+ }
96
+ let serverOptions = {};
97
+ const serverSchemaKeys = [
98
+ 'hmr',
99
+ 'warmup',
100
+ 'watch',
101
+ 'middlewareMode',
102
+ 'fs',
103
+ 'origin',
104
+ 'preTransformRequests',
105
+ 'sourcemapIgnoreList',
106
+ 'port',
107
+ 'strictPort',
108
+ 'host',
109
+ 'https',
110
+ 'open',
111
+ 'proxy',
112
+ 'cors',
113
+ 'headers'
114
+ ];
115
+ let otherOptions = {};
116
+ for (const key of Object.keys(extraArgs)){
117
+ if (serverSchemaKeys.includes(key)) {
118
+ serverOptions[key] = extraArgs[key];
119
+ } else {
120
+ otherOptions[key] = extraArgs[key];
121
+ }
122
+ }
123
+ if (configuration) {
124
+ var _buildOptionsFromBuildTarget_watch;
125
+ serverOptions = _extends._({}, serverOptions, {
126
+ watch: (_buildOptionsFromBuildTarget_watch = buildOptionsFromBuildTarget == null ? void 0 : buildOptionsFromBuildTarget.watch) != null ? _buildOptionsFromBuildTarget_watch : serverOptions == null ? void 0 : serverOptions.watch
127
+ });
128
+ otherOptions = _extends._({}, otherOptions, otherOptionsFromBuildTarget != null ? otherOptionsFromBuildTarget : {});
129
+ }
130
+ return {
131
+ serverOptions,
132
+ otherOptions
133
+ };
134
+ }
135
+
136
+ //# sourceMappingURL=dev-server.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n parseTargetString,\n} from '@nx/devkit';\nimport {\n getNxTargetOptions,\n getViteServerOptions,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport {\n createBuildableTsConfig,\n loadViteDynamicImport,\n} from '../../utils/executor-utils';\nimport { relative } from 'path';\nimport { getBuildExtraArgs } from '../build/build.impl';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { mergeConfig, createServer, loadConfigFromFile } =\n await loadViteDynamicImport();\n\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n createBuildableTsConfig(projectRoot, options, context);\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const { configuration } = parseTargetString(options.buildTarget, context);\n\n const { buildOptions, otherOptions: otherOptionsFromBuild } =\n await getBuildExtraArgs(buildTargetOptions);\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n buildTargetOptions.configFile\n );\n const { serverOptions, otherOptions } = await getServerExtraArgs(\n options,\n configuration,\n buildOptions,\n otherOptionsFromBuild\n );\n const resolved = await loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? buildTargetOptions?.['mode'] ?? 'development',\n command: 'serve',\n },\n viteConfigPath\n );\n\n // vite InlineConfig\n const serverConfig = mergeConfig(\n {\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.config.root ?? root,\n configFile: viteConfigPath,\n },\n {\n server: {\n ...(await getViteServerOptions(options, context)),\n ...serverOptions,\n },\n ...otherOptions,\n }\n );\n\n try {\n const server = await createServer(serverConfig);\n await runViteDevServer(server);\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n// vite ViteDevServer\nasync function runViteDevServer(server: Record<string, any>): Promise<void> {\n await server.listen();\n\n server.printUrls();\n\n const processOnExit = async () => {\n await server.close();\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n}\n\nexport default viteDevServerExecutor;\n\nasync function getServerExtraArgs(\n options: ViteDevServerExecutorOptions,\n configuration: string | undefined,\n buildOptionsFromBuildTarget: Record<string, unknown> | undefined,\n otherOptionsFromBuildTarget: Record<string, unknown> | undefined\n): Promise<{\n // vite ServerOptions\n serverOptions: Record<string, unknown>;\n otherOptions: Record<string, any>;\n}> {\n // support passing extra args to vite cli\n const schema = await import('./schema.json');\n const extraArgs = {};\n for (const key of Object.keys(options)) {\n if (!schema.properties[key]) {\n extraArgs[key] = options[key];\n }\n }\n\n let serverOptions: Record<string, unknown> = {};\n const serverSchemaKeys = [\n 'hmr',\n 'warmup',\n 'watch',\n 'middlewareMode',\n 'fs',\n 'origin',\n 'preTransformRequests',\n 'sourcemapIgnoreList',\n 'port',\n 'strictPort',\n 'host',\n 'https',\n 'open',\n 'proxy',\n 'cors',\n 'headers',\n ];\n\n let otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (serverSchemaKeys.includes(key)) {\n serverOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n if (configuration) {\n serverOptions = {\n ...serverOptions,\n watch: buildOptionsFromBuildTarget?.watch ?? serverOptions?.watch,\n };\n otherOptions = {\n ...otherOptions,\n ...(otherOptionsFromBuildTarget ?? {}),\n };\n }\n\n return {\n serverOptions,\n otherOptions,\n };\n}\n"],"names":["viteDevServerExecutor","options","context","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","createServer","loadConfigFromFile","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","cwd","relative","joinPathFragments","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","configuration","parseTargetString","buildOptions","otherOptions","otherOptionsFromBuild","getBuildExtraArgs","viteConfigPath","normalizeViteConfigFilePath","configFile","serverOptions","getServerExtraArgs","resolved","mode","command","serverConfig","config","server","getViteServerOptions","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","once","listen","printUrls","processOnExit","close","buildOptionsFromBuildTarget","otherOptionsFromBuildTarget","schema","extraArgs","key","Object","keys","properties","serverSchemaKeys","includes","watch"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/schema.d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface ViteDevServerExecutorOptions {
2
+ buildTarget: string;
3
+ buildLibsFromSource?: boolean;
4
+ proxyConfig?: string;
5
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "version": 2,
3
+ "outputCapture": "direct-nodejs",
4
+ "title": "Vite Dev Server",
5
+ "cli": "nx",
6
+ "description": "Starts a dev server using Vite.",
7
+ "type": "object",
8
+ "presets": [
9
+ {
10
+ "name": "Default minimum setup",
11
+ "keys": ["buildTarget"]
12
+ },
13
+ {
14
+ "name": "Using a Different Port",
15
+ "keys": ["buildTarget", "port"]
16
+ }
17
+ ],
18
+ "properties": {
19
+ "buildTarget": {
20
+ "type": "string",
21
+ "description": "Target which builds the application. Only used to retrieve the configuration as the dev-server does not build the code.",
22
+ "x-priority": "important"
23
+ },
24
+ "buildLibsFromSource": {
25
+ "type": "boolean",
26
+ "description": "Read buildable libraries from source instead of building them separately.",
27
+ "default": true
28
+ },
29
+ "proxyConfig": {
30
+ "type": "string",
31
+ "description": "Path to the proxy configuration file.",
32
+ "x-completion-type": "file"
33
+ }
34
+ },
35
+ "definitions": {},
36
+ "required": ["buildTarget"],
37
+ "examplesFile": "../../../docs/dev-server-examples.md"
38
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return _default;
6
+ }
7
+ });
8
+ const _devkit = require("@nx/devkit");
9
+ const _previewserverimpl = require("./preview-server.impl");
10
+ const _default = (0, _devkit.convertNxExecutor)(_previewserverimpl.default);
11
+
12
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport vitePreviewServerExecutor from './preview-server.impl';\n\nexport default convertNxExecutor(vitePreviewServerExecutor);\n"],"names":["convertNxExecutor","vitePreviewServerExecutor"],"mappings":";+BAGA;;;eAAA;;;wBAHkC;mCACI;MAEtC,WAAeA,IAAAA,yBAAiB,EAACC,0BAAyB"}
@@ -0,0 +1,7 @@
1
+ import { ExecutorContext } from '@nx/devkit';
2
+ import { VitePreviewServerExecutorOptions } from './schema';
3
+ export declare function vitePreviewServerExecutor(options: VitePreviewServerExecutorOptions, context: ExecutorContext): AsyncGenerator<{
4
+ success: boolean;
5
+ baseUrl: any;
6
+ }, void, unknown>;
7
+ export default vitePreviewServerExecutor;
@@ -0,0 +1,176 @@
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
+ vitePreviewServerExecutor: function() {
10
+ return vitePreviewServerExecutor;
11
+ },
12
+ default: function() {
13
+ return _default;
14
+ }
15
+ });
16
+ const _extends = require("@swc/helpers/_/_extends");
17
+ const _devkit = require("@nx/devkit");
18
+ const _optionsutils = require("../../utils/options-utils");
19
+ const _path = require("path");
20
+ const _buildimpl = require("../build/build.impl");
21
+ const _executorutils = require("../../utils/executor-utils");
22
+ async function* vitePreviewServerExecutor(options, context) {
23
+ var _context_projectsConfigurations_projects_target_project, _resolved_config_build, _resolved_config;
24
+ process.env.VITE_CJS_IGNORE_WARNING = 'true';
25
+ // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.
26
+ const { mergeConfig, preview, loadConfigFromFile } = await (0, _executorutils.loadViteDynamicImport)();
27
+ const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
28
+ const target = (0, _devkit.parseTargetString)(options.buildTarget, context);
29
+ const targetConfiguration = (_context_projectsConfigurations_projects_target_project = context.projectsConfigurations.projects[target.project]) == null ? void 0 : _context_projectsConfigurations_projects_target_project.targets[target.target];
30
+ if (!targetConfiguration) {
31
+ throw new Error(`Invalid buildTarget: ${options.buildTarget}`);
32
+ }
33
+ const isCustomBuildTarget = targetConfiguration.executor !== '@nx/vite:build' && targetConfiguration.executor !== '@nrwl/vite:build';
34
+ // Retrieve the option for the configured buildTarget.
35
+ const buildTargetOptions = (0, _optionsutils.getNxTargetOptions)(options.buildTarget, context);
36
+ const { configuration } = (0, _devkit.parseTargetString)(options.buildTarget, context);
37
+ const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, buildTargetOptions.configFile);
38
+ const { buildOptions, otherOptions: otherOptionsFromBuild } = await (0, _buildimpl.getBuildExtraArgs)(buildTargetOptions);
39
+ const { previewOptions, otherOptions } = await getExtraArgs(options, configuration, otherOptionsFromBuild);
40
+ var _otherOptions_mode, _ref;
41
+ const resolved = await loadConfigFromFile({
42
+ mode: (_ref = (_otherOptions_mode = otherOptions == null ? void 0 : otherOptions.mode) != null ? _otherOptions_mode : otherOptionsFromBuild == null ? void 0 : otherOptionsFromBuild.mode) != null ? _ref : 'production',
43
+ command: 'build'
44
+ }, viteConfigPath);
45
+ var _options_staticFilePath, _ref1;
46
+ const outDir = (_ref1 = (_options_staticFilePath = options.staticFilePath) != null ? _options_staticFilePath : (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectRoot), buildTargetOptions.outputPath)) != null ? _ref1 : resolved == null ? void 0 : (_resolved_config = resolved.config) == null ? void 0 : (_resolved_config_build = _resolved_config.build) == null ? void 0 : _resolved_config_build.outDir;
47
+ if (!outDir) {
48
+ throw new Error(`Could not infer the "outputPath" or "outDir". It should be set in your vite.config.ts, or as a property of the "${options.buildTarget}" buildTarget or provided explicitly as a "staticFilePath" option.`);
49
+ }
50
+ const root = projectRoot === '.' ? process.cwd() : (0, _path.relative)(context.cwd, (0, _devkit.joinPathFragments)(context.root, projectRoot));
51
+ // Merge the options from the build and preview-serve targets.
52
+ // The latter takes precedence.
53
+ const mergedOptions = _extends._({}, {
54
+ watch: {}
55
+ }, {
56
+ build: _extends._({
57
+ outDir
58
+ }, isCustomBuildTarget ? {} : buildOptions)
59
+ }, isCustomBuildTarget ? {} : otherOptionsFromBuild, otherOptions, {
60
+ preview: _extends._({}, (0, _optionsutils.getProxyConfig)(context, otherOptions.proxyConfig), previewOptions)
61
+ });
62
+ var _resolved_config_root;
63
+ // vite InlineConfig
64
+ const serverConfig = mergeConfig({
65
+ // This should not be needed as it's going to be set in vite.config.ts
66
+ // but leaving it here in case someone did not migrate correctly
67
+ root: (_resolved_config_root = resolved.config.root) != null ? _resolved_config_root : root,
68
+ configFile: viteConfigPath
69
+ }, _extends._({}, mergedOptions));
70
+ if (serverConfig.mode === 'production') {
71
+ console.warn('WARNING: preview is not meant to be run in production!');
72
+ }
73
+ // vite PreviewServer
74
+ let server;
75
+ const processOnExit = async ()=>{
76
+ await closeServer(server);
77
+ };
78
+ process.once('SIGINT', processOnExit);
79
+ process.once('SIGTERM', processOnExit);
80
+ process.once('exit', processOnExit);
81
+ // Launch the build target.
82
+ // If customBuildTarget is set to true, do not provide any overrides to it
83
+ const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;
84
+ const build = await (0, _devkit.runExecutor)(target, buildTargetOverrides, context);
85
+ for await (const result of build){
86
+ if (result.success) {
87
+ try {
88
+ if (!server) {
89
+ server = await preview(serverConfig);
90
+ }
91
+ server.printUrls();
92
+ const resolvedUrls = [
93
+ ...server.resolvedUrls.local,
94
+ ...server.resolvedUrls.network
95
+ ];
96
+ var _resolvedUrls_;
97
+ yield {
98
+ success: true,
99
+ baseUrl: (_resolvedUrls_ = resolvedUrls[0]) != null ? _resolvedUrls_ : ''
100
+ };
101
+ } catch (e) {
102
+ console.error(e);
103
+ yield {
104
+ success: false,
105
+ baseUrl: ''
106
+ };
107
+ }
108
+ } else {
109
+ yield {
110
+ success: false,
111
+ baseUrl: ''
112
+ };
113
+ }
114
+ }
115
+ await new Promise((resolve)=>{
116
+ process.once('SIGINT', ()=>resolve());
117
+ process.once('SIGTERM', ()=>resolve());
118
+ process.once('exit', ()=>resolve());
119
+ });
120
+ }
121
+ function closeServer(server) {
122
+ return new Promise((resolve)=>{
123
+ if (!server) {
124
+ resolve();
125
+ } else {
126
+ const { httpServer } = server;
127
+ if (httpServer['closeAllConnections']) {
128
+ // https://github.com/vitejs/vite/pull/14834
129
+ // closeAllConnections was added in Node v19.2.0
130
+ // typically is "as http.Server" but no reason
131
+ // to import http just for this
132
+ httpServer.closeAllConnections();
133
+ }
134
+ httpServer.close(()=>resolve());
135
+ }
136
+ });
137
+ }
138
+ const _default = vitePreviewServerExecutor;
139
+ async function getExtraArgs(options, configuration, otherOptionsFromBuildTarget) {
140
+ // support passing extra args to vite cli
141
+ const schema = await Promise.resolve().then(()=>require("./schema.json"));
142
+ const extraArgs = {};
143
+ for (const key of Object.keys(options)){
144
+ if (!schema.properties[key]) {
145
+ extraArgs[key] = options[key];
146
+ }
147
+ }
148
+ const previewOptions = {};
149
+ const previewSchemaKeys = [
150
+ 'port',
151
+ 'strictPort',
152
+ 'host',
153
+ 'https',
154
+ 'open',
155
+ 'proxy',
156
+ 'cors',
157
+ 'headers'
158
+ ];
159
+ let otherOptions = {};
160
+ for (const key of Object.keys(extraArgs)){
161
+ if (previewSchemaKeys.includes(key)) {
162
+ previewOptions[key] = extraArgs[key];
163
+ } else {
164
+ otherOptions[key] = extraArgs[key];
165
+ }
166
+ }
167
+ if (configuration) {
168
+ otherOptions = _extends._({}, otherOptions, otherOptionsFromBuildTarget != null ? otherOptionsFromBuildTarget : {});
169
+ }
170
+ return {
171
+ previewOptions,
172
+ otherOptions
173
+ };
174
+ }
175
+
176
+ //# sourceMappingURL=preview-server.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/preview-server.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n offsetFromRoot,\n parseTargetString,\n runExecutor,\n} from '@nx/devkit';\nimport {\n getNxTargetOptions,\n getProxyConfig,\n normalizeViteConfigFilePath,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { VitePreviewServerExecutorOptions } from './schema';\nimport { relative } from 'path';\nimport { getBuildExtraArgs } from '../build/build.impl';\nimport { loadViteDynamicImport } from '../../utils/executor-utils';\n\nexport async function* vitePreviewServerExecutor(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n) {\n process.env.VITE_CJS_IGNORE_WARNING = 'true';\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { mergeConfig, preview, loadConfigFromFile } =\n await loadViteDynamicImport();\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n const target = parseTargetString(options.buildTarget, context);\n const targetConfiguration =\n context.projectsConfigurations.projects[target.project]?.targets[\n target.target\n ];\n if (!targetConfiguration) {\n throw new Error(`Invalid buildTarget: ${options.buildTarget}`);\n }\n\n const isCustomBuildTarget =\n targetConfiguration.executor !== '@nx/vite:build' &&\n targetConfiguration.executor !== '@nrwl/vite:build';\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const { configuration } = parseTargetString(options.buildTarget, context);\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n buildTargetOptions.configFile\n );\n\n const { buildOptions, otherOptions: otherOptionsFromBuild } =\n await getBuildExtraArgs(buildTargetOptions);\n\n const { previewOptions, otherOptions } = await getExtraArgs(\n options,\n configuration,\n otherOptionsFromBuild\n );\n const resolved = await loadConfigFromFile(\n {\n mode: otherOptions?.mode ?? otherOptionsFromBuild?.mode ?? 'production',\n command: 'build',\n },\n viteConfigPath\n );\n\n const outDir =\n options.staticFilePath ??\n joinPathFragments(\n offsetFromRoot(projectRoot),\n buildTargetOptions.outputPath\n ) ??\n resolved?.config?.build?.outDir;\n\n if (!outDir) {\n throw new Error(\n `Could not infer the \"outputPath\" or \"outDir\". It should be set in your vite.config.ts, or as a property of the \"${options.buildTarget}\" buildTarget or provided explicitly as a \"staticFilePath\" option.`\n );\n }\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n // Merge the options from the build and preview-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...{ watch: {} },\n build: {\n outDir,\n ...(isCustomBuildTarget ? {} : buildOptions),\n },\n ...(isCustomBuildTarget ? {} : otherOptionsFromBuild),\n ...otherOptions,\n preview: {\n ...getProxyConfig(context, otherOptions.proxyConfig),\n ...previewOptions,\n },\n };\n\n // vite InlineConfig\n const serverConfig = mergeConfig(\n {\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.config.root ?? root,\n configFile: viteConfigPath,\n },\n {\n ...mergedOptions,\n }\n );\n\n if (serverConfig.mode === 'production') {\n console.warn('WARNING: preview is not meant to be run in production!');\n }\n\n // vite PreviewServer\n let server: Record<string, any> | undefined;\n\n const processOnExit = async () => {\n await closeServer(server);\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n\n // Launch the build target.\n // If customBuildTarget is set to true, do not provide any overrides to it\n const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;\n const build = await runExecutor(target, buildTargetOverrides, context);\n\n for await (const result of build) {\n if (result.success) {\n try {\n if (!server) {\n server = await preview(serverConfig);\n }\n server.printUrls();\n\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n } else {\n yield {\n success: false,\n baseUrl: '',\n };\n }\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nfunction closeServer(server?: Record<string, any>): Promise<void> {\n return new Promise((resolve) => {\n if (!server) {\n resolve();\n } else {\n const { httpServer } = server;\n if (httpServer['closeAllConnections']) {\n // https://github.com/vitejs/vite/pull/14834\n // closeAllConnections was added in Node v19.2.0\n // typically is \"as http.Server\" but no reason\n // to import http just for this\n (httpServer as any).closeAllConnections();\n }\n httpServer.close(() => resolve());\n }\n });\n}\n\nexport default vitePreviewServerExecutor;\n\nasync function getExtraArgs(\n options: VitePreviewServerExecutorOptions,\n configuration: string | undefined,\n otherOptionsFromBuildTarget: Record<string, unknown> | undefined\n): Promise<{\n // vite PreviewOptions\n previewOptions: Record<string, any>;\n otherOptions: Record<string, any>;\n}> {\n // support passing extra args to vite cli\n const schema = await import('./schema.json');\n const extraArgs = {};\n for (const key of Object.keys(options)) {\n if (!schema.properties[key]) {\n extraArgs[key] = options[key];\n }\n }\n\n const previewOptions = {};\n const previewSchemaKeys = [\n 'port',\n 'strictPort',\n 'host',\n 'https',\n 'open',\n 'proxy',\n 'cors',\n 'headers',\n ];\n\n let otherOptions = {};\n for (const key of Object.keys(extraArgs)) {\n if (previewSchemaKeys.includes(key)) {\n previewOptions[key] = extraArgs[key];\n } else {\n otherOptions[key] = extraArgs[key];\n }\n }\n\n if (configuration) {\n otherOptions = {\n ...otherOptions,\n ...(otherOptionsFromBuildTarget ?? {}),\n };\n }\n\n return {\n previewOptions,\n otherOptions,\n };\n}\n"],"names":["vitePreviewServerExecutor","options","context","resolved","process","env","VITE_CJS_IGNORE_WARNING","mergeConfig","preview","loadConfigFromFile","loadViteDynamicImport","projectRoot","projectsConfigurations","projects","projectName","root","target","parseTargetString","buildTarget","targetConfiguration","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","configuration","viteConfigPath","normalizeViteConfigFilePath","configFile","buildOptions","otherOptions","otherOptionsFromBuild","getBuildExtraArgs","previewOptions","getExtraArgs","mode","command","outDir","staticFilePath","joinPathFragments","offsetFromRoot","outputPath","config","build","cwd","relative","mergedOptions","watch","getProxyConfig","proxyConfig","serverConfig","console","warn","server","processOnExit","closeServer","once","buildTargetOverrides","runExecutor","result","success","printUrls","resolvedUrls","local","network","baseUrl","e","error","Promise","resolve","httpServer","closeAllConnections","close","otherOptionsFromBuildTarget","schema","extraArgs","key","Object","keys","properties","previewSchemaKeys","includes"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/schema.d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface VitePreviewServerExecutorOptions {
2
+ buildTarget: string;
3
+ proxyConfig?: string;
4
+ staticFilePath?: string;
5
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "version": 2,
4
+ "cli": "nx",
5
+ "title": "Vite Preview Server",
6
+ "description": "Preview Server for Vite.",
7
+ "type": "object",
8
+ "presets": [
9
+ {
10
+ "name": "Default minimum setup",
11
+ "keys": ["buildTarget"]
12
+ },
13
+ {
14
+ "name": "Using a Different Port",
15
+ "keys": ["buildTarget", "port"]
16
+ }
17
+ ],
18
+ "properties": {
19
+ "buildTarget": {
20
+ "type": "string",
21
+ "description": "Target which builds the application."
22
+ },
23
+ "proxyConfig": {
24
+ "type": "string",
25
+ "description": "Path to the proxy configuration file.",
26
+ "x-completion-type": "file"
27
+ },
28
+ "staticFilePath": {
29
+ "type": "string",
30
+ "description": "Path where the build artifacts are located. If not provided then it will be infered from the buildTarget executor options as outputPath",
31
+ "x-completion-type": "directory"
32
+ }
33
+ },
34
+ "definitions": {},
35
+ "required": ["buildTarget"],
36
+ "examplesFile": "../../../docs/preview-server-examples.md"
37
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return _default;
6
+ }
7
+ });
8
+ const _devkit = require("@nx/devkit");
9
+ const _vitestimpl = require("./vitest.impl");
10
+ const _default = (0, _devkit.convertNxExecutor)(_vitestimpl.default);
11
+
12
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport vitestExecutor from './vitest.impl';\n\nexport default convertNxExecutor(vitestExecutor);\n"],"names":["convertNxExecutor","vitestExecutor"],"mappings":";+BAGA;;;eAAA;;;wBAHkC;4BACP;MAE3B,WAAeA,IAAAA,yBAAiB,EAACC,mBAAc"}
@@ -0,0 +1,14 @@
1
+ import type { File, Reporter } from 'vitest';
2
+ export declare class NxReporter implements Reporter {
3
+ private watch;
4
+ deferred: {
5
+ promise: Promise<boolean>;
6
+ resolve: (val: boolean) => void;
7
+ };
8
+ constructor(watch: boolean);
9
+ [Symbol.asyncIterator](): AsyncGenerator<{
10
+ hasErrors: boolean;
11
+ }, void, unknown>;
12
+ private setupDeferred;
13
+ onFinished(files: File[], errors?: unknown[]): void;
14
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "NxReporter", {
3
+ enumerable: true,
4
+ get: function() {
5
+ return NxReporter;
6
+ }
7
+ });
8
+ let NxReporter = class NxReporter {
9
+ async *[Symbol.asyncIterator]() {
10
+ do {
11
+ const hasErrors = await this.deferred.promise;
12
+ yield {
13
+ hasErrors
14
+ };
15
+ this.setupDeferred();
16
+ }while (this.watch)
17
+ }
18
+ setupDeferred() {
19
+ let resolve;
20
+ this.deferred = {
21
+ promise: new Promise((res)=>{
22
+ resolve = res;
23
+ }),
24
+ resolve
25
+ };
26
+ }
27
+ onFinished(files, errors) {
28
+ const hasErrors = files.some((f)=>{
29
+ var _f_result;
30
+ return ((_f_result = f.result) == null ? void 0 : _f_result.state) === 'fail';
31
+ }) || (errors == null ? void 0 : errors.length) > 0;
32
+ this.deferred.resolve(hasErrors);
33
+ }
34
+ constructor(watch){
35
+ this.watch = watch;
36
+ this.setupDeferred();
37
+ }
38
+ };
39
+
40
+ //# sourceMappingURL=nx-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../packages/vite/src/executors/test/lib/nx-reporter.ts"],"sourcesContent":["import type { File, Reporter } from 'vitest';\n\nexport class NxReporter implements Reporter {\n deferred: {\n promise: Promise<boolean>;\n resolve: (val: boolean) => void;\n };\n\n constructor(private watch: boolean) {\n this.setupDeferred();\n }\n\n async *[Symbol.asyncIterator]() {\n do {\n const hasErrors = await this.deferred.promise;\n yield { hasErrors };\n this.setupDeferred();\n } while (this.watch);\n }\n\n private setupDeferred() {\n let resolve: (val: boolean) => void;\n this.deferred = {\n promise: new Promise((res) => {\n resolve = res;\n }),\n resolve,\n };\n }\n\n onFinished(files: File[], errors?: unknown[]) {\n const hasErrors =\n files.some((f) => f.result?.state === 'fail') || errors?.length > 0;\n this.deferred.resolve(hasErrors);\n }\n}\n"],"names":["NxReporter","Symbol","asyncIterator","hasErrors","deferred","promise","setupDeferred","watch","resolve","Promise","res","onFinished","files","errors","some","f","result","state","length","constructor"],"mappings":";+BAEaA;;;eAAAA;;;AAAN,IAAA,AAAMA,aAAN,MAAMA;IAUX,OAAO,CAACC,OAAOC,aAAa,CAAC,GAAG;QAC9B,GAAG;YACD,MAAMC,YAAY,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO;YAC7C,MAAM;gBAAEF;YAAU;YAClB,IAAI,CAACG,aAAa;QACpB,QAAS,IAAI,CAACC,KAAK,CAAE;IACvB;IAEQD,gBAAgB;QACtB,IAAIE;QACJ,IAAI,CAACJ,QAAQ,GAAG;YACdC,SAAS,IAAII,QAAQ,CAACC;gBACpBF,UAAUE;YACZ;YACAF;QACF;IACF;IAEAG,WAAWC,KAAa,EAAEC,MAAkB,EAAE;QAC5C,MAAMV,YACJS,MAAME,IAAI,CAAC,CAACC;gBAAMA;mBAAAA,EAAAA,YAAAA,EAAEC,MAAM,qBAARD,UAAUE,KAAK,MAAK;cAAWJ,CAAAA,0BAAAA,OAAQK,MAAM,IAAG;QACpE,IAAI,CAACd,QAAQ,CAACI,OAAO,CAACL;IACxB;IA1BAgB,YAAoBZ,MAAgB;qBAAhBA;QAClB,IAAI,CAACD,aAAa;IACpB;AAyBF"}
@@ -0,0 +1,4 @@
1
+ import { ExecutorContext } from '@nx/devkit';
2
+ import { VitestExecutorOptions } from '../schema';
3
+ export declare function getOptions(options: VitestExecutorOptions, context: ExecutorContext, projectRoot: string): Promise<Record<string, any>>;
4
+ export declare function getOptionsAsArgv(obj: Record<string, any>): string[];