@nx/vite 16.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +22 -0
  3. package/README.md +63 -0
  4. package/executors.d.ts +8 -0
  5. package/executors.js +19 -0
  6. package/executors.js.map +1 -0
  7. package/executors.json +46 -0
  8. package/generators.json +46 -0
  9. package/index.d.ts +8 -0
  10. package/index.js +20 -0
  11. package/index.js.map +1 -0
  12. package/migrations.json +80 -0
  13. package/package.json +60 -0
  14. package/plugins/rollup-replace-files.plugin.d.ts +16 -0
  15. package/plugins/rollup-replace-files.plugin.js +49 -0
  16. package/plugins/rollup-replace-files.plugin.js.map +1 -0
  17. package/src/executors/build/build.impl.d.ts +10 -0
  18. package/src/executors/build/build.impl.js +91 -0
  19. package/src/executors/build/build.impl.js.map +1 -0
  20. package/src/executors/build/compat.d.ts +2 -0
  21. package/src/executors/build/compat.js +10 -0
  22. package/src/executors/build/compat.js.map +1 -0
  23. package/src/executors/build/schema.d.js +3 -0
  24. package/src/executors/build/schema.d.js.map +1 -0
  25. package/src/executors/build/schema.d.ts +17 -0
  26. package/src/executors/build/schema.json +143 -0
  27. package/src/executors/dev-server/compat.d.ts +2 -0
  28. package/src/executors/dev-server/compat.js +10 -0
  29. package/src/executors/dev-server/compat.js.map +1 -0
  30. package/src/executors/dev-server/dev-server.impl.d.ts +8 -0
  31. package/src/executors/dev-server/dev-server.impl.js +68 -0
  32. package/src/executors/dev-server/dev-server.impl.js.map +1 -0
  33. package/src/executors/dev-server/schema.d.js +3 -0
  34. package/src/executors/dev-server/schema.d.js.map +1 -0
  35. package/src/executors/dev-server/schema.d.ts +14 -0
  36. package/src/executors/dev-server/schema.json +89 -0
  37. package/src/executors/preview-server/compat.d.ts +2 -0
  38. package/src/executors/preview-server/compat.js +10 -0
  39. package/src/executors/preview-server/compat.js.map +1 -0
  40. package/src/executors/preview-server/preview-server.impl.d.ts +7 -0
  41. package/src/executors/preview-server/preview-server.impl.js +107 -0
  42. package/src/executors/preview-server/preview-server.impl.js.map +1 -0
  43. package/src/executors/preview-server/schema.d.js +3 -0
  44. package/src/executors/preview-server/schema.d.js.map +1 -0
  45. package/src/executors/preview-server/schema.d.ts +12 -0
  46. package/src/executors/preview-server/schema.json +80 -0
  47. package/src/executors/test/compat.d.ts +2 -0
  48. package/src/executors/test/compat.js +10 -0
  49. package/src/executors/test/compat.js.map +1 -0
  50. package/src/executors/test/schema.d.js +3 -0
  51. package/src/executors/test/schema.d.js.map +1 -0
  52. package/src/executors/test/schema.d.ts +11 -0
  53. package/src/executors/test/schema.json +63 -0
  54. package/src/executors/test/vitest.impl.d.ts +6 -0
  55. package/src/executors/test/vitest.impl.js +130 -0
  56. package/src/executors/test/vitest.impl.js.map +1 -0
  57. package/src/generators/configuration/configuration.d.ts +5 -0
  58. package/src/generators/configuration/configuration.js +130 -0
  59. package/src/generators/configuration/configuration.js.map +1 -0
  60. package/src/generators/configuration/schema.d.js +3 -0
  61. package/src/generators/configuration/schema.d.js.map +1 -0
  62. package/src/generators/configuration/schema.d.ts +12 -0
  63. package/src/generators/configuration/schema.json +61 -0
  64. package/src/generators/init/init.d.ts +6 -0
  65. package/src/generators/init/init.js +84 -0
  66. package/src/generators/init/init.js.map +1 -0
  67. package/src/generators/init/schema.d.js +3 -0
  68. package/src/generators/init/schema.d.js.map +1 -0
  69. package/src/generators/init/schema.d.ts +4 -0
  70. package/src/generators/init/schema.json +22 -0
  71. package/src/generators/vitest/files/tsconfig.spec.json__tmpl__ +19 -0
  72. package/src/generators/vitest/schema.d.js +3 -0
  73. package/src/generators/vitest/schema.d.js.map +1 -0
  74. package/src/generators/vitest/schema.d.ts +9 -0
  75. package/src/generators/vitest/schema.json +49 -0
  76. package/src/generators/vitest/vitest-generator.d.ts +5 -0
  77. package/src/generators/vitest/vitest-generator.js +99 -0
  78. package/src/generators/vitest/vitest-generator.js.map +1 -0
  79. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.d.ts +3 -0
  80. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js +63 -0
  81. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -0
  82. package/src/migrations/update-15-3-4/set-mode-in-configuration.d.ts +3 -0
  83. package/src/migrations/update-15-3-4/set-mode-in-configuration.js +33 -0
  84. package/src/migrations/update-15-3-4/set-mode-in-configuration.js.map +1 -0
  85. package/src/migrations/update-15-4-3/update-report-directory.d.ts +3 -0
  86. package/src/migrations/update-15-4-3/update-report-directory.js +35 -0
  87. package/src/migrations/update-15-4-3/update-report-directory.js.map +1 -0
  88. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
  89. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +13 -0
  90. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -0
  91. package/src/utils/generator-utils.d.ts +34 -0
  92. package/src/utils/generator-utils.js +567 -0
  93. package/src/utils/generator-utils.js.map +1 -0
  94. package/src/utils/options-utils.d.ts +32 -0
  95. package/src/utils/options-utils.js +113 -0
  96. package/src/utils/options-utils.js.map +1 -0
  97. package/src/utils/test-files/angular-project.config.json +89 -0
  98. package/src/utils/test-files/react-lib-non-buildable-jest.json +25 -0
  99. package/src/utils/test-files/react-lib-non-buildable-vitest.json +25 -0
  100. package/src/utils/test-files/react-mixed-project.config.json +52 -0
  101. package/src/utils/test-files/react-project.config.json +85 -0
  102. package/src/utils/test-files/react-vite-project.config.json +57 -0
  103. package/src/utils/test-files/test-vite-configs.d.ts +32 -0
  104. package/src/utils/test-files/test-vite-configs.js +285 -0
  105. package/src/utils/test-files/test-vite-configs.js.map +1 -0
  106. package/src/utils/test-files/unknown-project.config.json +72 -0
  107. package/src/utils/test-files/web-project.config.json +72 -0
  108. package/src/utils/test-utils.d.ts +9 -0
  109. package/src/utils/test-utils.js +516 -0
  110. package/src/utils/test-utils.js.map +1 -0
  111. package/src/utils/versions.d.ts +13 -0
  112. package/src/utils/versions.js +37 -0
  113. package/src/utils/versions.js.map +1 -0
  114. package/src/utils/vite-config-edit-utils.d.ts +3 -0
  115. package/src/utils/vite-config-edit-utils.js +286 -0
  116. package/src/utils/vite-config-edit-utils.js.map +1 -0
@@ -0,0 +1,143 @@
1
+ {
2
+ "version": 2,
3
+ "outputCapture": "direct-nodejs",
4
+ "title": "Vite Prod Builder",
5
+ "cli": "nx",
6
+ "description": "Builds a Vite.js application for production.",
7
+ "type": "object",
8
+ "presets": [
9
+ {
10
+ "name": "Default minimum setup",
11
+ "keys": []
12
+ }
13
+ ],
14
+ "properties": {
15
+ "outputPath": {
16
+ "type": "string",
17
+ "description": "The output path of the generated files.",
18
+ "x-completion-type": "directory",
19
+ "x-priority": "important"
20
+ },
21
+ "base": {
22
+ "type": "string",
23
+ "description": "Base public path when served in development or production.",
24
+ "alias": "baseHref"
25
+ },
26
+ "configFile": {
27
+ "type": "string",
28
+ "description": "The name of the Vite.js configuration file.",
29
+ "x-completion-type": "file",
30
+ "x-completion-glob": "vite.config.@(js|ts)"
31
+ },
32
+ "fileReplacements": {
33
+ "description": "Replace files with other files in the build.",
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "properties": {
38
+ "replace": {
39
+ "type": "string",
40
+ "description": "The file to be replaced.",
41
+ "x-completion-type": "file"
42
+ },
43
+ "with": {
44
+ "type": "string",
45
+ "description": "The file to replace with.",
46
+ "x-completion-type": "file"
47
+ }
48
+ },
49
+ "additionalProperties": false,
50
+ "required": ["replace", "with"]
51
+ },
52
+ "default": []
53
+ },
54
+ "emptyOutDir": {
55
+ "description": "When set to false, outputPath will not be emptied during the build process.",
56
+ "type": "boolean",
57
+ "default": true
58
+ },
59
+ "sourcemap": {
60
+ "description": "Output sourcemaps. Use 'hidden' for use with error reporting tools without generating sourcemap comment.",
61
+ "oneOf": [
62
+ {
63
+ "type": "boolean"
64
+ },
65
+ {
66
+ "type": "string"
67
+ }
68
+ ]
69
+ },
70
+ "minify": {
71
+ "description": "Output sourcemaps. Use 'hidden' for use with error reporting tools without generating sourcemap comment.",
72
+ "oneOf": [
73
+ {
74
+ "type": "boolean"
75
+ },
76
+ {
77
+ "type": "string"
78
+ }
79
+ ]
80
+ },
81
+ "manifest": {
82
+ "description": "Output sourcemaps. Use 'hidden' for use with error reporting tools without generating sourcemap comment.",
83
+ "oneOf": [
84
+ {
85
+ "type": "boolean"
86
+ },
87
+ {
88
+ "type": "string"
89
+ }
90
+ ]
91
+ },
92
+ "ssrManifest": {
93
+ "description": "When set to true, the build will also generate an SSR manifest for determining style links and asset preload directives in production. When the value is a string, it will be used as the manifest file name.",
94
+ "oneOf": [
95
+ {
96
+ "type": "boolean"
97
+ },
98
+ {
99
+ "type": "string"
100
+ }
101
+ ]
102
+ },
103
+ "ssr": {
104
+ "description": "Produce SSR-oriented build. The value can be a string to directly specify the SSR entry, or true, which requires specifying the SSR entry via rollupOptions.input.",
105
+ "oneOf": [
106
+ {
107
+ "type": "boolean"
108
+ },
109
+ {
110
+ "type": "string"
111
+ }
112
+ ]
113
+ },
114
+ "logLevel": {
115
+ "type": "string",
116
+ "description": "Adjust console output verbosity.",
117
+ "enum": ["info", "warn", "error", "silent"]
118
+ },
119
+ "mode": {
120
+ "type": "string",
121
+ "description": "Mode to run the build in."
122
+ },
123
+ "force": {
124
+ "description": "Force the optimizer to ignore the cache and re-bundle",
125
+ "type": "boolean"
126
+ },
127
+ "watch": {
128
+ "description": "Enable re-building when files change.",
129
+ "oneOf": [
130
+ {
131
+ "type": "boolean"
132
+ },
133
+ {
134
+ "type": "object"
135
+ }
136
+ ],
137
+ "default": false
138
+ }
139
+ },
140
+ "definitions": {},
141
+ "required": [],
142
+ "examplesFile": "../../../docs/build-examples.md"
143
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: ()=>_default
5
+ });
6
+ const _devkit = require("@nx/devkit");
7
+ const _devServerImpl = require("./dev-server.impl");
8
+ const _default = (0, _devkit.convertNxExecutor)(_devServerImpl.default);
9
+
10
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/compat.ts"],"sourcesContent":["import { convertNxExecutor } from '@nx/devkit';\nimport viteDevServerExecutor from './dev-server.impl';\n\nexport default convertNxExecutor(viteDevServerExecutor);\n"],"names":["convertNxExecutor","viteDevServerExecutor"],"mappings":"AAAA;+BAGA;;aAAA;;wBAHkC;+BACA;MAElC,WAAeA,IAAAA,yBAAiB,EAACC,sBAAqB"}
@@ -0,0 +1,8 @@
1
+ import 'dotenv/config';
2
+ import { ExecutorContext } from '@nx/devkit';
3
+ import { ViteDevServerExecutorOptions } from './schema';
4
+ export declare function viteDevServerExecutor(options: ViteDevServerExecutorOptions, context: ExecutorContext): AsyncGenerator<{
5
+ success: boolean;
6
+ baseUrl: string;
7
+ }>;
8
+ export default viteDevServerExecutor;
@@ -0,0 +1,68 @@
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: ()=>viteDevServerExecutor,
10
+ default: ()=>_default
11
+ });
12
+ const _extends = require("@swc/helpers/lib/_extends.js").default;
13
+ require("dotenv/config");
14
+ const _vite = require("vite");
15
+ const _optionsUtils = require("../../utils/options-utils");
16
+ const _register = require("nx/src/utils/register");
17
+ const _path = require("path");
18
+ async function* viteDevServerExecutor(options, context) {
19
+ const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
20
+ (0, _register.registerTsConfigPaths)((0, _path.resolve)(projectRoot, 'tsconfig.json'));
21
+ // Retrieve the option for the configured buildTarget.
22
+ const buildTargetOptions = (0, _optionsUtils.getNxTargetOptions)(options.buildTarget, context);
23
+ // Merge the options from the build and dev-serve targets.
24
+ // The latter takes precedence.
25
+ const mergedOptions = _extends({}, buildTargetOptions, options);
26
+ // Add the server specific configuration.
27
+ const serverConfig = (0, _vite.mergeConfig)((0, _optionsUtils.getViteSharedConfig)(mergedOptions, options.clearScreen, context), {
28
+ build: (0, _optionsUtils.getViteBuildOptions)(mergedOptions, context),
29
+ server: (0, _optionsUtils.getViteServerOptions)(mergedOptions, context)
30
+ });
31
+ try {
32
+ const server = await (0, _vite.createServer)(serverConfig);
33
+ await runViteDevServer(server);
34
+ const resolvedUrls = [
35
+ ...server.resolvedUrls.local,
36
+ ...server.resolvedUrls.network
37
+ ];
38
+ var ref;
39
+ yield {
40
+ success: true,
41
+ baseUrl: (ref = resolvedUrls[0]) != null ? ref : ''
42
+ };
43
+ } catch (e) {
44
+ console.error(e);
45
+ yield {
46
+ success: false,
47
+ baseUrl: ''
48
+ };
49
+ }
50
+ await new Promise((resolve)=>{
51
+ process.once('SIGINT', ()=>resolve());
52
+ process.once('SIGTERM', ()=>resolve());
53
+ process.once('exit', ()=>resolve());
54
+ });
55
+ }
56
+ async function runViteDevServer(server) {
57
+ await server.listen();
58
+ server.printUrls();
59
+ const processOnExit = async ()=>{
60
+ await server.close();
61
+ };
62
+ process.once('SIGINT', processOnExit);
63
+ process.once('SIGTERM', processOnExit);
64
+ process.once('exit', processOnExit);
65
+ }
66
+ const _default = viteDevServerExecutor;
67
+
68
+ //# 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 'dotenv/config';\nimport { ExecutorContext } from '@nx/devkit';\nimport { createServer, InlineConfig, mergeConfig, ViteDevServer } from 'vite';\n\nimport {\n getViteSharedConfig,\n getNxTargetOptions,\n getViteServerOptions,\n getViteBuildOptions,\n} from '../../utils/options-utils';\n\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { registerTsConfigPaths } from 'nx/src/utils/register';\nimport { resolve } from 'path';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n registerTsConfigPaths(resolve(projectRoot, 'tsconfig.json'));\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n // Merge the options from the build and dev-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...buildTargetOptions,\n ...options,\n };\n\n // Add the server specific configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n server: getViteServerOptions(mergedOptions, context),\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\nasync function runViteDevServer(server: ViteDevServer): Promise<void> {\n await server.listen();\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"],"names":["viteDevServerExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","resolve","buildTargetOptions","getNxTargetOptions","buildTarget","mergedOptions","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","server","getViteServerOptions","createServer","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","process","once","listen","printUrls","processOnExit","close"],"mappings":"AAAA;;;;;;;;IAgBuBA,qBAAqB,MAArBA;IAuEvB,OAAqC,MAArC;;;QAvFO;sBAEgE;8BAOhE;0BAI+B;sBACd;AAEjB,gBAAgBA,sBACrBC,OAAqC,EACrCC,OAAwB,EAC+B;IACvD,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,+BAAqB,EAACC,IAAAA,aAAO,EAACN,aAAa;IAE3C,sDAAsD;IACtD,MAAMO,qBAA+CC,IAAAA,gCAAkB,EACrEV,QAAQW,WAAW,EACnBV;IAGF,0DAA0D;IAC1D,+BAA+B;IAC/B,MAAMW,gBAAgB,aACjBH,oBACAT;IAGL,yCAAyC;IACzC,MAAMa,eAA6BC,IAAAA,iBAAW,EAC5CC,IAAAA,iCAAmB,EAACH,eAAeZ,QAAQgB,WAAW,EAAEf,UACxD;QACEgB,OAAOC,IAAAA,iCAAmB,EAACN,eAAeX;QAC1CkB,QAAQC,IAAAA,kCAAoB,EAACR,eAAeX;IAC9C;IAGF,IAAI;QACF,MAAMkB,SAAS,MAAME,IAAAA,kBAAY,EAACR;QAClC,MAAMS,iBAAiBH;QACvB,MAAMI,eAAe;eAChBJ,OAAOI,YAAY,CAACC,KAAK;eACzBL,OAAOI,YAAY,CAACE,OAAO;SAC/B;YAIUF;QAFX,MAAM;YACJG,SAAS,IAAI;YACbC,SAASJ,CAAAA,MAAAA,YAAY,CAAC,EAAE,YAAfA,MAAmB,EAAE;QAChC;IACF,EAAE,OAAOK,GAAG;QACVC,QAAQC,KAAK,CAACF;QACd,MAAM;YACJF,SAAS,KAAK;YACdC,SAAS;QACX;IACF;IAEA,MAAM,IAAII,QAAc,CAACvB,UAAY;QACnCwB,QAAQC,IAAI,CAAC,UAAU,IAAMzB;QAC7BwB,QAAQC,IAAI,CAAC,WAAW,IAAMzB;QAC9BwB,QAAQC,IAAI,CAAC,QAAQ,IAAMzB;IAC7B;AACF;AAEA,eAAec,iBAAiBH,MAAqB,EAAiB;IACpE,MAAMA,OAAOe,MAAM;IACnBf,OAAOgB,SAAS;IAEhB,MAAMC,gBAAgB,UAAY;QAChC,MAAMjB,OAAOkB,KAAK;IACpB;IAEAL,QAAQC,IAAI,CAAC,UAAUG;IACvBJ,QAAQC,IAAI,CAAC,WAAWG;IACxBJ,QAAQC,IAAI,CAAC,QAAQG;AACvB;MAEA,WAAerC"}
@@ -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"],"sourcesContent":["export interface ViteDevServerExecutorOptions {\n buildTarget: string;\n proxyConfig?: string;\n port?: number;\n host?: string | boolean;\n https?: boolean;\n hmr?: boolean;\n open?: string | boolean;\n cors?: boolean;\n logLevel?: 'info' | 'warn' | 'error' | 'silent';\n mode?: string;\n clearScreen?: boolean;\n force?: boolean;\n}\n"],"names":[],"mappings":"AAAA"}
@@ -0,0 +1,14 @@
1
+ export interface ViteDevServerExecutorOptions {
2
+ buildTarget: string;
3
+ proxyConfig?: string;
4
+ port?: number;
5
+ host?: string | boolean;
6
+ https?: boolean;
7
+ hmr?: boolean;
8
+ open?: string | boolean;
9
+ cors?: boolean;
10
+ logLevel?: 'info' | 'warn' | 'error' | 'silent';
11
+ mode?: string;
12
+ clearScreen?: boolean;
13
+ force?: boolean;
14
+ }
@@ -0,0 +1,89 @@
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
+ "proxyConfig": {
25
+ "type": "string",
26
+ "description": "Path to the proxy configuration file.",
27
+ "x-completion-type": "file"
28
+ },
29
+ "port": {
30
+ "type": "number",
31
+ "description": "Port to listen on.",
32
+ "x-priority": "important"
33
+ },
34
+ "host": {
35
+ "description": "Specify which IP addresses the server should listen on.",
36
+ "oneOf": [
37
+ {
38
+ "type": "boolean"
39
+ },
40
+ {
41
+ "type": "string"
42
+ }
43
+ ]
44
+ },
45
+ "https": {
46
+ "type": "boolean",
47
+ "description": "Serve using HTTPS."
48
+ },
49
+ "hmr": {
50
+ "description": "Enable hot module replacement. For more options, use the 'hmr' option in the Vite configuration file.",
51
+ "type": "boolean"
52
+ },
53
+ "open": {
54
+ "description": "Automatically open the app in the browser on server start. When the value is a string, it will be used as the URL's pathname.",
55
+ "oneOf": [
56
+ {
57
+ "type": "boolean"
58
+ },
59
+ {
60
+ "type": "string"
61
+ }
62
+ ]
63
+ },
64
+ "cors": {
65
+ "description": "Configure CORS for the dev server.",
66
+ "type": "boolean"
67
+ },
68
+ "logLevel": {
69
+ "type": "string",
70
+ "description": "Adjust console output verbosity.",
71
+ "enum": ["info", "warn", "error", "silent"]
72
+ },
73
+ "mode": {
74
+ "type": "string",
75
+ "description": "Mode to run the server in."
76
+ },
77
+ "clearScreen": {
78
+ "description": "Set to false to prevent Vite from clearing the terminal screen when logging certain messages.",
79
+ "type": "boolean"
80
+ },
81
+ "force": {
82
+ "description": "Force the optimizer to ignore the cache and re-bundle",
83
+ "type": "boolean"
84
+ }
85
+ },
86
+ "definitions": {},
87
+ "required": ["buildTarget"],
88
+ "examplesFile": "../../../docs/dev-server-examples.md"
89
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: ()=>_default
5
+ });
6
+ const _devkit = require("@nx/devkit");
7
+ const _previewServerImpl = require("./preview-server.impl");
8
+ const _default = (0, _devkit.convertNxExecutor)(_previewServerImpl.default);
9
+
10
+ //# 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":"AAAA;+BAGA;;aAAA;;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: string;
6
+ }, void, unknown>;
7
+ export default vitePreviewServerExecutor;
@@ -0,0 +1,107 @@
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: ()=>vitePreviewServerExecutor,
10
+ default: ()=>_default
11
+ });
12
+ const _extends = require("@swc/helpers/lib/_extends.js").default;
13
+ const _devkit = require("@nx/devkit");
14
+ const _vite = require("vite");
15
+ const _optionsUtils = require("../../utils/options-utils");
16
+ async function* vitePreviewServerExecutor(options, context) {
17
+ var ref;
18
+ const target = (0, _devkit.parseTargetString)(options.buildTarget, context.projectGraph);
19
+ const targetConfiguration = (ref = context.projectsConfigurations.projects[target.project]) == null ? void 0 : ref.targets[target.target];
20
+ if (!targetConfiguration) {
21
+ throw new Error(`Invalid buildTarget: ${options.buildTarget}`);
22
+ }
23
+ const isCustomBuildTarget = targetConfiguration.executor !== '@nrwl/vite:build';
24
+ // Retrieve the option for the configured buildTarget.
25
+ const buildTargetOptions = (0, _optionsUtils.getNxTargetOptions)(options.buildTarget, context);
26
+ var _staticFilePath;
27
+ const outputPath = (_staticFilePath = options.staticFilePath) != null ? _staticFilePath : buildTargetOptions.outputPath;
28
+ if (!outputPath) {
29
+ throw new Error(`Could not infer the "outputPath". It should either be a property of the "${options.buildTarget}" buildTarget or provided explicitly as a "staticFilePath" option.`);
30
+ }
31
+ // Merge the options from the build and preview-serve targets.
32
+ // The latter takes precedence.
33
+ const mergedOptions = _extends({}, {
34
+ watch: {}
35
+ }, isCustomBuildTarget ? {} : buildTargetOptions, options, {
36
+ outputPath
37
+ });
38
+ // Retrieve the server configuration.
39
+ const serverConfig = (0, _vite.mergeConfig)((0, _optionsUtils.getViteSharedConfig)(mergedOptions, options.clearScreen, context), {
40
+ build: (0, _optionsUtils.getViteBuildOptions)(mergedOptions, context),
41
+ preview: (0, _optionsUtils.getVitePreviewOptions)(mergedOptions, context)
42
+ });
43
+ if (serverConfig.mode === 'production') {
44
+ console.warn('WARNING: preview is not meant to be run in production!');
45
+ }
46
+ let server;
47
+ const processOnExit = async ()=>{
48
+ await closeServer(server);
49
+ };
50
+ process.once('SIGINT', processOnExit);
51
+ process.once('SIGTERM', processOnExit);
52
+ process.once('exit', processOnExit);
53
+ // Launch the build target.
54
+ // If customBuildTarget is set to true, do not provide any overrides to it
55
+ const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;
56
+ const build = await (0, _devkit.runExecutor)(target, buildTargetOverrides, context);
57
+ for await (const result of build){
58
+ if (result.success) {
59
+ try {
60
+ if (!server) {
61
+ server = await (0, _vite.preview)(serverConfig);
62
+ }
63
+ server.printUrls();
64
+ const resolvedUrls = [
65
+ ...server.resolvedUrls.local,
66
+ ...server.resolvedUrls.network
67
+ ];
68
+ var ref1;
69
+ yield {
70
+ success: true,
71
+ baseUrl: (ref1 = resolvedUrls[0]) != null ? ref1 : ''
72
+ };
73
+ } catch (e) {
74
+ console.error(e);
75
+ yield {
76
+ success: false,
77
+ baseUrl: ''
78
+ };
79
+ }
80
+ } else {
81
+ yield {
82
+ success: false,
83
+ baseUrl: ''
84
+ };
85
+ }
86
+ }
87
+ await new Promise((resolve)=>{
88
+ process.once('SIGINT', ()=>resolve());
89
+ process.once('SIGTERM', ()=>resolve());
90
+ process.once('exit', ()=>resolve());
91
+ });
92
+ }
93
+ function closeServer(server) {
94
+ return new Promise((resolve)=>{
95
+ if (!server) {
96
+ resolve();
97
+ } else {
98
+ const { httpServer } = server;
99
+ // closeAllConnections was added in Node v18.2.0
100
+ httpServer.closeAllConnections && httpServer.closeAllConnections();
101
+ httpServer.close(()=>resolve());
102
+ }
103
+ });
104
+ }
105
+ const _default = vitePreviewServerExecutor;
106
+
107
+ //# 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 { ExecutorContext, parseTargetString, runExecutor } from '@nx/devkit';\nimport { InlineConfig, mergeConfig, preview, PreviewServer } from 'vite';\nimport {\n getNxTargetOptions,\n getViteSharedConfig,\n getViteBuildOptions,\n getVitePreviewOptions,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { VitePreviewServerExecutorOptions } from './schema';\n\ninterface CustomBuildTargetOptions {\n outputPath: string;\n}\n\nexport async function* vitePreviewServerExecutor(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n) {\n const target = parseTargetString(options.buildTarget, context.projectGraph);\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 !== '@nrwl/vite:build';\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions:\n | ViteBuildExecutorOptions\n | CustomBuildTargetOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const outputPath = options.staticFilePath ?? buildTargetOptions.outputPath;\n\n if (!outputPath) {\n throw new Error(\n `Could not infer the \"outputPath\". It should either be a property of the \"${options.buildTarget}\" buildTarget or provided explicitly as a \"staticFilePath\" option.`\n );\n }\n\n // Merge the options from the build and preview-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...{ watch: {} },\n ...(isCustomBuildTarget ? {} : buildTargetOptions),\n ...options,\n outputPath,\n };\n\n // Retrieve the server configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n preview: getVitePreviewOptions(mergedOptions, context),\n }\n );\n\n if (serverConfig.mode === 'production') {\n console.warn('WARNING: preview is not meant to be run in production!');\n }\n\n let server: PreviewServer | 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?: PreviewServer): Promise<void> {\n return new Promise((resolve) => {\n if (!server) {\n resolve();\n } else {\n const { httpServer } = server;\n // closeAllConnections was added in Node v18.2.0\n httpServer.closeAllConnections && httpServer.closeAllConnections();\n httpServer.close(() => resolve());\n }\n });\n}\n\nexport default vitePreviewServerExecutor;\n"],"names":["vitePreviewServerExecutor","options","context","target","parseTargetString","buildTarget","projectGraph","targetConfiguration","projectsConfigurations","projects","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","outputPath","staticFilePath","mergedOptions","watch","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","preview","getVitePreviewOptions","mode","console","warn","server","processOnExit","closeServer","process","once","buildTargetOverrides","runExecutor","result","success","printUrls","resolvedUrls","local","network","baseUrl","e","error","Promise","resolve","httpServer","closeAllConnections","close"],"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"],"sourcesContent":["export interface VitePreviewServerExecutorOptions {\n buildTarget: string;\n proxyConfig?: string;\n port?: number;\n host?: string | boolean;\n https?: boolean;\n open?: string | boolean;\n logLevel?: 'info' | 'warn' | 'error' | 'silent';\n mode?: string;\n clearScreen?: boolean;\n staticFilePath?: string;\n}\n"],"names":[],"mappings":"AAAA"}
@@ -0,0 +1,12 @@
1
+ export interface VitePreviewServerExecutorOptions {
2
+ buildTarget: string;
3
+ proxyConfig?: string;
4
+ port?: number;
5
+ host?: string | boolean;
6
+ https?: boolean;
7
+ open?: string | boolean;
8
+ logLevel?: 'info' | 'warn' | 'error' | 'silent';
9
+ mode?: string;
10
+ clearScreen?: boolean;
11
+ staticFilePath?: string;
12
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "http://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
+ "port": {
29
+ "type": "number",
30
+ "description": "Port to listen on."
31
+ },
32
+ "host": {
33
+ "description": "Specify which IP addresses the server should listen on.",
34
+ "oneOf": [
35
+ {
36
+ "type": "boolean"
37
+ },
38
+ {
39
+ "type": "string"
40
+ }
41
+ ]
42
+ },
43
+ "https": {
44
+ "type": "boolean",
45
+ "description": "Serve using HTTPS."
46
+ },
47
+ "open": {
48
+ "description": "Automatically open the app in the browser on server start. When the value is a string, it will be used as the URL's pathname.",
49
+ "oneOf": [
50
+ {
51
+ "type": "boolean"
52
+ },
53
+ {
54
+ "type": "string"
55
+ }
56
+ ]
57
+ },
58
+ "logLevel": {
59
+ "type": "string",
60
+ "description": "Adjust console output verbosity.",
61
+ "enum": ["info", "warn", "error", "silent"]
62
+ },
63
+ "mode": {
64
+ "type": "string",
65
+ "description": "Mode to run the server in."
66
+ },
67
+ "clearScreen": {
68
+ "description": "Set to false to prevent Vite from clearing the terminal screen when logging certain messages.",
69
+ "type": "boolean"
70
+ },
71
+ "staticFilePath": {
72
+ "type": "string",
73
+ "description": "Path where the build artifacts are located. If not provided then it will be infered from the buildTarget executor options as outputPath",
74
+ "x-completion-type": "directory"
75
+ }
76
+ },
77
+ "definitions": {},
78
+ "required": ["buildTarget"],
79
+ "examplesFile": "../../../docs/preview-server-examples.md"
80
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "default", {
3
+ enumerable: true,
4
+ get: ()=>_default
5
+ });
6
+ const _devkit = require("@nx/devkit");
7
+ const _vitestImpl = require("./vitest.impl");
8
+ const _default = (0, _devkit.convertNxExecutor)(_vitestImpl.default);
9
+
10
+ //# 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":"AAAA;+BAGA;;aAAA;;wBAHkC;4BACP;MAE3B,WAAeA,IAAAA,yBAAiB,EAACC,mBAAc"}
@@ -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/test/schema.d.ts"],"sourcesContent":["export interface VitestExecutorOptions {\n config?: string;\n passWithNoTests?: boolean;\n testNamePattern?: string;\n mode?: 'test' | 'benchmark' | 'typecheck';\n reporters?: string[];\n watch?: boolean;\n update?: boolean;\n reportsDirectory?: string;\n coverage?: boolean;\n}\n"],"names":[],"mappings":"AAAA"}