@noodleseed/one 0.5.0 → 0.6.0

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 (279) hide show
  1. package/dist/cli.js +5 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/shared.d.ts +1 -1
  4. package/dist/commands/shared.d.ts.map +1 -1
  5. package/dist/commands/shared.js +2 -2
  6. package/dist/commands/shared.js.map +1 -1
  7. package/dist/react-widget-build.js +20 -1
  8. package/dist/react-widget-build.js.map +1 -1
  9. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
  10. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +1 -0
  11. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
  12. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  13. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -0
  14. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  15. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  16. package/package.json +2 -20
  17. package/node_modules/@oxc-project/types/LICENSE +0 -22
  18. package/node_modules/@oxc-project/types/README.md +0 -3
  19. package/node_modules/@oxc-project/types/package.json +0 -26
  20. package/node_modules/@oxc-project/types/types.d.ts +0 -1912
  21. package/node_modules/@rolldown/binding-linux-x64-gnu/README.md +0 -3
  22. package/node_modules/@rolldown/binding-linux-x64-gnu/package.json +0 -40
  23. package/node_modules/@rolldown/binding-linux-x64-gnu/rolldown-binding.linux-x64-gnu.node +0 -0
  24. package/node_modules/@rolldown/pluginutils/LICENSE +0 -21
  25. package/node_modules/@rolldown/pluginutils/README.md +0 -145
  26. package/node_modules/@rolldown/pluginutils/dist/filter/index.d.mts +0 -194
  27. package/node_modules/@rolldown/pluginutils/dist/filter/index.mjs +0 -2
  28. package/node_modules/@rolldown/pluginutils/dist/filter-B_mD-HGz.mjs +0 -323
  29. package/node_modules/@rolldown/pluginutils/dist/index.d.mts +0 -2
  30. package/node_modules/@rolldown/pluginutils/dist/index.mjs +0 -2
  31. package/node_modules/@rolldown/pluginutils/package.json +0 -40
  32. package/node_modules/@vitejs/plugin-react/LICENSE +0 -21
  33. package/node_modules/@vitejs/plugin-react/README.md +0 -169
  34. package/node_modules/@vitejs/plugin-react/dist/index.d.ts +0 -48
  35. package/node_modules/@vitejs/plugin-react/dist/index.js +0 -200
  36. package/node_modules/@vitejs/plugin-react/dist/refresh-runtime.js +0 -663
  37. package/node_modules/@vitejs/plugin-react/package.json +0 -87
  38. package/node_modules/@vitejs/plugin-react/types/optionalTypes.d.ts +0 -12
  39. package/node_modules/@vitejs/plugin-react/types/preamble.d.ts +0 -1
  40. package/node_modules/detect-libc/LICENSE +0 -201
  41. package/node_modules/detect-libc/README.md +0 -163
  42. package/node_modules/detect-libc/index.d.ts +0 -14
  43. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  44. package/node_modules/detect-libc/lib/elf.js +0 -39
  45. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  46. package/node_modules/detect-libc/lib/process.js +0 -24
  47. package/node_modules/detect-libc/package.json +0 -44
  48. package/node_modules/fdir/LICENSE +0 -7
  49. package/node_modules/fdir/README.md +0 -91
  50. package/node_modules/fdir/dist/index.cjs +0 -588
  51. package/node_modules/fdir/dist/index.d.cts +0 -155
  52. package/node_modules/fdir/dist/index.d.mts +0 -155
  53. package/node_modules/fdir/dist/index.mjs +0 -570
  54. package/node_modules/fdir/package.json +0 -103
  55. package/node_modules/lightningcss/LICENSE +0 -373
  56. package/node_modules/lightningcss/README.md +0 -105
  57. package/node_modules/lightningcss/node/ast.d.ts +0 -9892
  58. package/node_modules/lightningcss/node/ast.js.flow +0 -10539
  59. package/node_modules/lightningcss/node/browserslistToTargets.js +0 -48
  60. package/node_modules/lightningcss/node/composeVisitors.js +0 -450
  61. package/node_modules/lightningcss/node/flags.js +0 -28
  62. package/node_modules/lightningcss/node/index.d.ts +0 -494
  63. package/node_modules/lightningcss/node/index.js +0 -59
  64. package/node_modules/lightningcss/node/index.js.flow +0 -843
  65. package/node_modules/lightningcss/node/index.mjs +0 -4
  66. package/node_modules/lightningcss/node/targets.d.ts +0 -40
  67. package/node_modules/lightningcss/node/targets.js.flow +0 -39
  68. package/node_modules/lightningcss/package.json +0 -110
  69. package/node_modules/lightningcss-linux-x64-gnu/LICENSE +0 -373
  70. package/node_modules/lightningcss-linux-x64-gnu/README.md +0 -1
  71. package/node_modules/lightningcss-linux-x64-gnu/lightningcss.linux-x64-gnu.node +0 -0
  72. package/node_modules/lightningcss-linux-x64-gnu/package.json +0 -37
  73. package/node_modules/nanoid/.claude/settings.local.json +0 -14
  74. package/node_modules/nanoid/LICENSE +0 -20
  75. package/node_modules/nanoid/README.md +0 -39
  76. package/node_modules/nanoid/async/index.browser.cjs +0 -69
  77. package/node_modules/nanoid/async/index.browser.js +0 -34
  78. package/node_modules/nanoid/async/index.cjs +0 -71
  79. package/node_modules/nanoid/async/index.d.ts +0 -56
  80. package/node_modules/nanoid/async/index.js +0 -35
  81. package/node_modules/nanoid/async/index.native.js +0 -26
  82. package/node_modules/nanoid/async/package.json +0 -12
  83. package/node_modules/nanoid/bin/nanoid.cjs +0 -55
  84. package/node_modules/nanoid/index.browser.cjs +0 -72
  85. package/node_modules/nanoid/index.browser.js +0 -34
  86. package/node_modules/nanoid/index.cjs +0 -86
  87. package/node_modules/nanoid/index.d.cts +0 -91
  88. package/node_modules/nanoid/index.d.ts +0 -91
  89. package/node_modules/nanoid/index.js +0 -46
  90. package/node_modules/nanoid/nanoid.js +0 -1
  91. package/node_modules/nanoid/non-secure/index.cjs +0 -34
  92. package/node_modules/nanoid/non-secure/index.d.ts +0 -33
  93. package/node_modules/nanoid/non-secure/index.js +0 -21
  94. package/node_modules/nanoid/non-secure/package.json +0 -6
  95. package/node_modules/nanoid/package.json +0 -89
  96. package/node_modules/nanoid/url-alphabet/index.cjs +0 -7
  97. package/node_modules/nanoid/url-alphabet/index.js +0 -3
  98. package/node_modules/nanoid/url-alphabet/package.json +0 -6
  99. package/node_modules/picocolors/LICENSE +0 -15
  100. package/node_modules/picocolors/README.md +0 -21
  101. package/node_modules/picocolors/package.json +0 -25
  102. package/node_modules/picocolors/picocolors.browser.js +0 -4
  103. package/node_modules/picocolors/picocolors.d.ts +0 -5
  104. package/node_modules/picocolors/picocolors.js +0 -75
  105. package/node_modules/picocolors/types.d.ts +0 -51
  106. package/node_modules/picomatch/LICENSE +0 -21
  107. package/node_modules/picomatch/README.md +0 -749
  108. package/node_modules/picomatch/index.js +0 -17
  109. package/node_modules/picomatch/lib/constants.js +0 -184
  110. package/node_modules/picomatch/lib/parse.js +0 -1386
  111. package/node_modules/picomatch/lib/picomatch.js +0 -349
  112. package/node_modules/picomatch/lib/scan.js +0 -391
  113. package/node_modules/picomatch/lib/utils.js +0 -72
  114. package/node_modules/picomatch/package.json +0 -82
  115. package/node_modules/picomatch/posix.js +0 -3
  116. package/node_modules/postcss/LICENSE +0 -20
  117. package/node_modules/postcss/README.md +0 -28
  118. package/node_modules/postcss/lib/at-rule.d.ts +0 -139
  119. package/node_modules/postcss/lib/at-rule.js +0 -25
  120. package/node_modules/postcss/lib/comment.d.ts +0 -67
  121. package/node_modules/postcss/lib/comment.js +0 -13
  122. package/node_modules/postcss/lib/container.d.ts +0 -478
  123. package/node_modules/postcss/lib/container.js +0 -447
  124. package/node_modules/postcss/lib/css-syntax-error.d.ts +0 -247
  125. package/node_modules/postcss/lib/css-syntax-error.js +0 -133
  126. package/node_modules/postcss/lib/declaration.d.ts +0 -150
  127. package/node_modules/postcss/lib/declaration.js +0 -24
  128. package/node_modules/postcss/lib/document.d.ts +0 -68
  129. package/node_modules/postcss/lib/document.js +0 -33
  130. package/node_modules/postcss/lib/fromJSON.d.ts +0 -9
  131. package/node_modules/postcss/lib/fromJSON.js +0 -54
  132. package/node_modules/postcss/lib/input.d.ts +0 -226
  133. package/node_modules/postcss/lib/input.js +0 -273
  134. package/node_modules/postcss/lib/lazy-result.d.ts +0 -189
  135. package/node_modules/postcss/lib/lazy-result.js +0 -563
  136. package/node_modules/postcss/lib/list.d.ts +0 -60
  137. package/node_modules/postcss/lib/list.js +0 -58
  138. package/node_modules/postcss/lib/map-generator.js +0 -376
  139. package/node_modules/postcss/lib/no-work-result.d.ts +0 -45
  140. package/node_modules/postcss/lib/no-work-result.js +0 -137
  141. package/node_modules/postcss/lib/node.d.ts +0 -555
  142. package/node_modules/postcss/lib/node.js +0 -449
  143. package/node_modules/postcss/lib/parse.d.ts +0 -9
  144. package/node_modules/postcss/lib/parse.js +0 -42
  145. package/node_modules/postcss/lib/parser.js +0 -618
  146. package/node_modules/postcss/lib/postcss.d.mts +0 -66
  147. package/node_modules/postcss/lib/postcss.d.ts +0 -461
  148. package/node_modules/postcss/lib/postcss.js +0 -101
  149. package/node_modules/postcss/lib/postcss.mjs +0 -30
  150. package/node_modules/postcss/lib/previous-map.d.ts +0 -80
  151. package/node_modules/postcss/lib/previous-map.js +0 -161
  152. package/node_modules/postcss/lib/processor.d.ts +0 -114
  153. package/node_modules/postcss/lib/processor.js +0 -67
  154. package/node_modules/postcss/lib/result.d.ts +0 -204
  155. package/node_modules/postcss/lib/result.js +0 -42
  156. package/node_modules/postcss/lib/root.d.ts +0 -86
  157. package/node_modules/postcss/lib/root.js +0 -61
  158. package/node_modules/postcss/lib/rule.d.ts +0 -126
  159. package/node_modules/postcss/lib/rule.js +0 -27
  160. package/node_modules/postcss/lib/stringifier.d.ts +0 -45
  161. package/node_modules/postcss/lib/stringifier.js +0 -374
  162. package/node_modules/postcss/lib/stringify.d.ts +0 -9
  163. package/node_modules/postcss/lib/stringify.js +0 -11
  164. package/node_modules/postcss/lib/symbols.js +0 -5
  165. package/node_modules/postcss/lib/terminal-highlight.js +0 -70
  166. package/node_modules/postcss/lib/tokenize.js +0 -270
  167. package/node_modules/postcss/lib/warn-once.js +0 -13
  168. package/node_modules/postcss/lib/warning.d.ts +0 -146
  169. package/node_modules/postcss/lib/warning.js +0 -37
  170. package/node_modules/postcss/package.json +0 -88
  171. package/node_modules/rolldown/LICENSE +0 -25
  172. package/node_modules/rolldown/README.md +0 -11
  173. package/node_modules/rolldown/bin/cli.mjs +0 -2
  174. package/node_modules/rolldown/dist/cli.d.mts +0 -1
  175. package/node_modules/rolldown/dist/cli.mjs +0 -1202
  176. package/node_modules/rolldown/dist/config.d.mts +0 -14
  177. package/node_modules/rolldown/dist/config.mjs +0 -4
  178. package/node_modules/rolldown/dist/experimental-index.d.mts +0 -280
  179. package/node_modules/rolldown/dist/experimental-index.mjs +0 -330
  180. package/node_modules/rolldown/dist/experimental-runtime-types.d.ts +0 -107
  181. package/node_modules/rolldown/dist/filter-index.d.mts +0 -195
  182. package/node_modules/rolldown/dist/filter-index.mjs +0 -380
  183. package/node_modules/rolldown/dist/get-log-filter.d.mts +0 -3
  184. package/node_modules/rolldown/dist/get-log-filter.mjs +0 -68
  185. package/node_modules/rolldown/dist/index.d.mts +0 -4
  186. package/node_modules/rolldown/dist/index.mjs +0 -50
  187. package/node_modules/rolldown/dist/parallel-plugin-worker.d.mts +0 -1
  188. package/node_modules/rolldown/dist/parallel-plugin-worker.mjs +0 -28
  189. package/node_modules/rolldown/dist/parallel-plugin.d.mts +0 -13
  190. package/node_modules/rolldown/dist/parallel-plugin.mjs +0 -6
  191. package/node_modules/rolldown/dist/parse-ast-index.d.mts +0 -32
  192. package/node_modules/rolldown/dist/parse-ast-index.mjs +0 -60
  193. package/node_modules/rolldown/dist/plugins-index.d.mts +0 -33
  194. package/node_modules/rolldown/dist/plugins-index.mjs +0 -40
  195. package/node_modules/rolldown/dist/shared/binding-B1q9aYT-.d.mts +0 -1947
  196. package/node_modules/rolldown/dist/shared/binding-Dh6LYCIB.mjs +0 -589
  197. package/node_modules/rolldown/dist/shared/bindingify-input-options-CzVhGygm.mjs +0 -2240
  198. package/node_modules/rolldown/dist/shared/constructors-688OwP2q.mjs +0 -65
  199. package/node_modules/rolldown/dist/shared/constructors-awZ1VNvg.d.mts +0 -36
  200. package/node_modules/rolldown/dist/shared/define-config-Demdg3_4.mjs +0 -6
  201. package/node_modules/rolldown/dist/shared/define-config-sxBscJ3M.d.mts +0 -3901
  202. package/node_modules/rolldown/dist/shared/error-B68YLzl3.mjs +0 -85
  203. package/node_modules/rolldown/dist/shared/get-log-filter-BpNVNJ5-.d.mts +0 -35
  204. package/node_modules/rolldown/dist/shared/load-config-BvPPEM7l.mjs +0 -120
  205. package/node_modules/rolldown/dist/shared/logging-BSNejiLS.d.mts +0 -50
  206. package/node_modules/rolldown/dist/shared/logs-aMKUxRpj.mjs +0 -180
  207. package/node_modules/rolldown/dist/shared/misc-CoQm4NHO.mjs +0 -21
  208. package/node_modules/rolldown/dist/shared/normalize-string-or-regex-BpXHYeN4.mjs +0 -68
  209. package/node_modules/rolldown/dist/shared/parse-CTgsjpo8.mjs +0 -74
  210. package/node_modules/rolldown/dist/shared/prompt-B1Yc1NPt.mjs +0 -847
  211. package/node_modules/rolldown/dist/shared/resolve-tsconfig-BkhP9bkX.mjs +0 -124
  212. package/node_modules/rolldown/dist/shared/rolldown-Brph2NSU.mjs +0 -40
  213. package/node_modules/rolldown/dist/shared/rolldown-build-DR0wzp0V.mjs +0 -3264
  214. package/node_modules/rolldown/dist/shared/transform-CEmFsvJW.d.mts +0 -149
  215. package/node_modules/rolldown/dist/shared/watch-FrHSqg24.mjs +0 -374
  216. package/node_modules/rolldown/dist/utils-index.d.mts +0 -376
  217. package/node_modules/rolldown/dist/utils-index.mjs +0 -2414
  218. package/node_modules/rolldown/package.json +0 -153
  219. package/node_modules/source-map-js/LICENSE +0 -28
  220. package/node_modules/source-map-js/README.md +0 -765
  221. package/node_modules/source-map-js/lib/array-set.js +0 -121
  222. package/node_modules/source-map-js/lib/base64-vlq.js +0 -140
  223. package/node_modules/source-map-js/lib/base64.js +0 -67
  224. package/node_modules/source-map-js/lib/binary-search.js +0 -111
  225. package/node_modules/source-map-js/lib/mapping-list.js +0 -79
  226. package/node_modules/source-map-js/lib/quick-sort.js +0 -132
  227. package/node_modules/source-map-js/lib/source-map-consumer.d.ts +0 -1
  228. package/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
  229. package/node_modules/source-map-js/lib/source-map-generator.d.ts +0 -1
  230. package/node_modules/source-map-js/lib/source-map-generator.js +0 -444
  231. package/node_modules/source-map-js/lib/source-node.d.ts +0 -1
  232. package/node_modules/source-map-js/lib/source-node.js +0 -413
  233. package/node_modules/source-map-js/lib/util.js +0 -594
  234. package/node_modules/source-map-js/package.json +0 -71
  235. package/node_modules/source-map-js/source-map.d.ts +0 -104
  236. package/node_modules/source-map-js/source-map.js +0 -8
  237. package/node_modules/tinyglobby/LICENSE +0 -21
  238. package/node_modules/tinyglobby/README.md +0 -25
  239. package/node_modules/tinyglobby/dist/index.cjs +0 -335
  240. package/node_modules/tinyglobby/dist/index.d.cts +0 -148
  241. package/node_modules/tinyglobby/dist/index.d.mts +0 -148
  242. package/node_modules/tinyglobby/dist/index.mjs +0 -307
  243. package/node_modules/tinyglobby/package.json +0 -70
  244. package/node_modules/vite/LICENSE.md +0 -2287
  245. package/node_modules/vite/README.md +0 -20
  246. package/node_modules/vite/bin/openChrome.js +0 -68
  247. package/node_modules/vite/bin/vite.js +0 -79
  248. package/node_modules/vite/client.d.ts +0 -285
  249. package/node_modules/vite/dist/client/client.mjs +0 -1269
  250. package/node_modules/vite/dist/client/env.mjs +0 -18
  251. package/node_modules/vite/dist/node/chunks/build.js +0 -5371
  252. package/node_modules/vite/dist/node/chunks/dist.js +0 -6784
  253. package/node_modules/vite/dist/node/chunks/lib.js +0 -371
  254. package/node_modules/vite/dist/node/chunks/logger.js +0 -364
  255. package/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts +0 -96
  256. package/node_modules/vite/dist/node/chunks/node.js +0 -35770
  257. package/node_modules/vite/dist/node/chunks/postcss-import.js +0 -467
  258. package/node_modules/vite/dist/node/cli.js +0 -836
  259. package/node_modules/vite/dist/node/index.d.ts +0 -4010
  260. package/node_modules/vite/dist/node/index.js +0 -3
  261. package/node_modules/vite/dist/node/internal.d.ts +0 -2
  262. package/node_modules/vite/dist/node/internal.js +0 -2
  263. package/node_modules/vite/dist/node/module-runner.d.ts +0 -314
  264. package/node_modules/vite/dist/node/module-runner.js +0 -1274
  265. package/node_modules/vite/misc/false.js +0 -1
  266. package/node_modules/vite/misc/true.js +0 -1
  267. package/node_modules/vite/package.json +0 -194
  268. package/node_modules/vite/types/customEvent.d.ts +0 -79
  269. package/node_modules/vite/types/hmrPayload.d.ts +0 -80
  270. package/node_modules/vite/types/hot.d.ts +0 -39
  271. package/node_modules/vite/types/import-meta.d.ts +0 -5
  272. package/node_modules/vite/types/importGlob.d.ts +0 -131
  273. package/node_modules/vite/types/importMeta.d.ts +0 -30
  274. package/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +0 -44
  275. package/node_modules/vite/types/internal/esbuildOptions.d.ts +0 -28
  276. package/node_modules/vite/types/internal/lightningcssOptions.d.ts +0 -18
  277. package/node_modules/vite/types/internal/rollupTypeCompat.d.ts +0 -24
  278. package/node_modules/vite/types/internal/terserOptions.d.ts +0 -11
  279. package/node_modules/vite/types/metadata.d.ts +0 -47
@@ -1,836 +0,0 @@
1
- import { N as VERSION, R as require_picocolors, W as __toESM, n as createLogger } from "./chunks/logger.js";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import { inspect } from "node:util";
5
- import { performance } from "node:perf_hooks";
6
- //#region ../../node_modules/.pnpm/cac@7.0.0/node_modules/cac/dist/index.js
7
- function toArr(any) {
8
- return any == null ? [] : Array.isArray(any) ? any : [any];
9
- }
10
- function toVal(out, key, val, opts) {
11
- var x, old = out[key], nxt = !!~opts.string.indexOf(key) ? val == null || val === true ? "" : String(val) : typeof val === "boolean" ? val : !!~opts.boolean.indexOf(key) ? val === "false" ? false : val === "true" || (out._.push((x = +val, x * 0 === 0) ? x : val), !!val) : (x = +val, x * 0 === 0) ? x : val;
12
- out[key] = old == null ? nxt : Array.isArray(old) ? old.concat(nxt) : [old, nxt];
13
- }
14
- function lib_default(args, opts) {
15
- args = args || [];
16
- opts = opts || {};
17
- var k, arr, arg, name, val, out = { _: [] };
18
- var i = 0, j = 0, idx = 0, len = args.length;
19
- const alibi = opts.alias !== void 0;
20
- const strict = opts.unknown !== void 0;
21
- const defaults = opts.default !== void 0;
22
- opts.alias = opts.alias || {};
23
- opts.string = toArr(opts.string);
24
- opts.boolean = toArr(opts.boolean);
25
- if (alibi) for (k in opts.alias) {
26
- arr = opts.alias[k] = toArr(opts.alias[k]);
27
- for (i = 0; i < arr.length; i++) (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);
28
- }
29
- for (i = opts.boolean.length; i-- > 0;) {
30
- arr = opts.alias[opts.boolean[i]] || [];
31
- for (j = arr.length; j-- > 0;) opts.boolean.push(arr[j]);
32
- }
33
- for (i = opts.string.length; i-- > 0;) {
34
- arr = opts.alias[opts.string[i]] || [];
35
- for (j = arr.length; j-- > 0;) opts.string.push(arr[j]);
36
- }
37
- if (defaults) for (k in opts.default) {
38
- name = typeof opts.default[k];
39
- arr = opts.alias[k] = opts.alias[k] || [];
40
- if (opts[name] !== void 0) {
41
- opts[name].push(k);
42
- for (i = 0; i < arr.length; i++) opts[name].push(arr[i]);
43
- }
44
- }
45
- const keys = strict ? Object.keys(opts.alias) : [];
46
- for (i = 0; i < len; i++) {
47
- arg = args[i];
48
- if (arg === "--") {
49
- out._ = out._.concat(args.slice(++i));
50
- break;
51
- }
52
- for (j = 0; j < arg.length; j++) if (arg.charCodeAt(j) !== 45) break;
53
- if (j === 0) out._.push(arg);
54
- else if (arg.substring(j, j + 3) === "no-") {
55
- name = arg.substring(j + 3);
56
- if (strict && !~keys.indexOf(name)) return opts.unknown(arg);
57
- out[name] = false;
58
- } else {
59
- for (idx = j + 1; idx < arg.length; idx++) if (arg.charCodeAt(idx) === 61) break;
60
- name = arg.substring(j, idx);
61
- val = arg.substring(++idx) || i + 1 === len || ("" + args[i + 1]).charCodeAt(0) === 45 || args[++i];
62
- arr = j === 2 ? [name] : name;
63
- for (idx = 0; idx < arr.length; idx++) {
64
- name = arr[idx];
65
- if (strict && !~keys.indexOf(name)) return opts.unknown("-".repeat(j) + name);
66
- toVal(out, name, idx + 1 < arr.length || val, opts);
67
- }
68
- }
69
- }
70
- if (defaults) {
71
- for (k in opts.default) if (out[k] === void 0) out[k] = opts.default[k];
72
- }
73
- if (alibi) for (k in out) {
74
- arr = opts.alias[k] || [];
75
- while (arr.length > 0) out[arr.shift()] = out[k];
76
- }
77
- return out;
78
- }
79
- function removeBrackets(v) {
80
- return v.replace(/[<[].+/, "").trim();
81
- }
82
- function findAllBrackets(v) {
83
- const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;
84
- const SQUARE_BRACKET_RE_GLOBAL = /\[([^\]]+)\]/g;
85
- const res = [];
86
- const parse = (match) => {
87
- let variadic = false;
88
- let value = match[1];
89
- if (value.startsWith("...")) {
90
- value = value.slice(3);
91
- variadic = true;
92
- }
93
- return {
94
- required: match[0].startsWith("<"),
95
- value,
96
- variadic
97
- };
98
- };
99
- let angledMatch;
100
- while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(angledMatch));
101
- let squareMatch;
102
- while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(squareMatch));
103
- return res;
104
- }
105
- function getMriOptions(options) {
106
- const result = {
107
- alias: {},
108
- boolean: []
109
- };
110
- for (const [index, option] of options.entries()) {
111
- if (option.names.length > 1) result.alias[option.names[0]] = option.names.slice(1);
112
- if (option.isBoolean) if (option.negated) {
113
- if (!options.some((o, i) => {
114
- return i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === "boolean";
115
- })) result.boolean.push(option.names[0]);
116
- } else result.boolean.push(option.names[0]);
117
- }
118
- return result;
119
- }
120
- function findLongest(arr) {
121
- return arr.sort((a, b) => {
122
- return a.length > b.length ? -1 : 1;
123
- })[0];
124
- }
125
- function padRight(str, length) {
126
- return str.length >= length ? str : `${str}${" ".repeat(length - str.length)}`;
127
- }
128
- function camelcase(input) {
129
- return input.replaceAll(/([a-z])-([a-z])/g, (_, p1, p2) => {
130
- return p1 + p2.toUpperCase();
131
- });
132
- }
133
- function setDotProp(obj, keys, val) {
134
- let current = obj;
135
- for (let i = 0; i < keys.length; i++) {
136
- const key = keys[i];
137
- if (i === keys.length - 1) {
138
- current[key] = val;
139
- return;
140
- }
141
- if (current[key] == null) {
142
- const nextKeyIsArrayIndex = +keys[i + 1] > -1;
143
- current[key] = nextKeyIsArrayIndex ? [] : {};
144
- }
145
- current = current[key];
146
- }
147
- }
148
- function setByType(obj, transforms) {
149
- for (const key of Object.keys(transforms)) {
150
- const transform = transforms[key];
151
- if (transform.shouldTransform) {
152
- obj[key] = [obj[key]].flat();
153
- if (typeof transform.transformFunction === "function") obj[key] = obj[key].map(transform.transformFunction);
154
- }
155
- }
156
- }
157
- function getFileName(input) {
158
- const m = /([^\\/]+)$/.exec(input);
159
- return m ? m[1] : "";
160
- }
161
- function camelcaseOptionName(name) {
162
- return name.split(".").map((v, i) => {
163
- return i === 0 ? camelcase(v) : v;
164
- }).join(".");
165
- }
166
- var CACError = class extends Error {
167
- constructor(message) {
168
- super(message);
169
- this.name = "CACError";
170
- if (typeof Error.captureStackTrace !== "function") this.stack = new Error(message).stack;
171
- }
172
- };
173
- var Option = class {
174
- rawName;
175
- description;
176
- /** Option name */
177
- name;
178
- /** Option name and aliases */
179
- names;
180
- isBoolean;
181
- required;
182
- config;
183
- negated;
184
- constructor(rawName, description, config) {
185
- this.rawName = rawName;
186
- this.description = description;
187
- this.config = Object.assign({}, config);
188
- rawName = rawName.replaceAll(".*", "");
189
- this.negated = false;
190
- this.names = removeBrackets(rawName).split(",").map((v) => {
191
- let name = v.trim().replace(/^-{1,2}/, "");
192
- if (name.startsWith("no-")) {
193
- this.negated = true;
194
- name = name.replace(/^no-/, "");
195
- }
196
- return camelcaseOptionName(name);
197
- }).sort((a, b) => a.length > b.length ? 1 : -1);
198
- this.name = this.names.at(-1);
199
- if (this.negated && this.config.default == null) this.config.default = true;
200
- if (rawName.includes("<")) this.required = true;
201
- else if (rawName.includes("[")) this.required = false;
202
- else this.isBoolean = true;
203
- }
204
- };
205
- let runtimeProcessArgs;
206
- let runtimeInfo;
207
- if (typeof process !== "undefined") {
208
- let runtimeName;
209
- if (typeof Deno !== "undefined" && typeof Deno.version?.deno === "string") runtimeName = "deno";
210
- else if (typeof Bun !== "undefined" && typeof Bun.version === "string") runtimeName = "bun";
211
- else runtimeName = "node";
212
- runtimeInfo = `${process.platform}-${process.arch} ${runtimeName}-${process.version}`;
213
- runtimeProcessArgs = process.argv;
214
- } else if (typeof navigator === "undefined") runtimeInfo = `unknown`;
215
- else runtimeInfo = `${navigator.platform} ${navigator.userAgent}`;
216
- var Command = class {
217
- rawName;
218
- description;
219
- config;
220
- cli;
221
- options;
222
- aliasNames;
223
- name;
224
- args;
225
- commandAction;
226
- usageText;
227
- versionNumber;
228
- examples;
229
- helpCallback;
230
- globalCommand;
231
- constructor(rawName, description, config = {}, cli) {
232
- this.rawName = rawName;
233
- this.description = description;
234
- this.config = config;
235
- this.cli = cli;
236
- this.options = [];
237
- this.aliasNames = [];
238
- this.name = removeBrackets(rawName);
239
- this.args = findAllBrackets(rawName);
240
- this.examples = [];
241
- }
242
- usage(text) {
243
- this.usageText = text;
244
- return this;
245
- }
246
- allowUnknownOptions() {
247
- this.config.allowUnknownOptions = true;
248
- return this;
249
- }
250
- ignoreOptionDefaultValue() {
251
- this.config.ignoreOptionDefaultValue = true;
252
- return this;
253
- }
254
- version(version, customFlags = "-v, --version") {
255
- this.versionNumber = version;
256
- this.option(customFlags, "Display version number");
257
- return this;
258
- }
259
- example(example) {
260
- this.examples.push(example);
261
- return this;
262
- }
263
- /**
264
- * Add a option for this command
265
- * @param rawName Raw option name(s)
266
- * @param description Option description
267
- * @param config Option config
268
- */
269
- option(rawName, description, config) {
270
- const option = new Option(rawName, description, config);
271
- this.options.push(option);
272
- return this;
273
- }
274
- alias(name) {
275
- this.aliasNames.push(name);
276
- return this;
277
- }
278
- action(callback) {
279
- this.commandAction = callback;
280
- return this;
281
- }
282
- /**
283
- * Check if a command name is matched by this command
284
- * @param name Command name
285
- */
286
- isMatched(name) {
287
- return this.name === name || this.aliasNames.includes(name);
288
- }
289
- get isDefaultCommand() {
290
- return this.name === "" || this.aliasNames.includes("!");
291
- }
292
- get isGlobalCommand() {
293
- return this instanceof GlobalCommand;
294
- }
295
- /**
296
- * Check if an option is registered in this command
297
- * @param name Option name
298
- */
299
- hasOption(name) {
300
- name = name.split(".")[0];
301
- return this.options.find((option) => {
302
- return option.names.includes(name);
303
- });
304
- }
305
- outputHelp() {
306
- const { name, commands } = this.cli;
307
- const { versionNumber, options: globalOptions, helpCallback } = this.cli.globalCommand;
308
- let sections = [{ body: `${name}${versionNumber ? `/${versionNumber}` : ""}` }];
309
- sections.push({
310
- title: "Usage",
311
- body: ` $ ${name} ${this.usageText || this.rawName}`
312
- });
313
- if ((this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0) {
314
- const longestCommandName = findLongest(commands.map((command) => command.rawName));
315
- sections.push({
316
- title: "Commands",
317
- body: commands.map((command) => {
318
- return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;
319
- }).join("\n")
320
- }, {
321
- title: `For more info, run any command with the \`--help\` flag`,
322
- body: commands.map((command) => ` $ ${name}${command.name === "" ? "" : ` ${command.name}`} --help`).join("\n")
323
- });
324
- }
325
- let options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []];
326
- if (!this.isGlobalCommand && !this.isDefaultCommand) options = options.filter((option) => option.name !== "version");
327
- if (options.length > 0) {
328
- const longestOptionName = findLongest(options.map((option) => option.rawName));
329
- sections.push({
330
- title: "Options",
331
- body: options.map((option) => {
332
- return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? "" : `(default: ${option.config.default})`}`;
333
- }).join("\n")
334
- });
335
- }
336
- if (this.examples.length > 0) sections.push({
337
- title: "Examples",
338
- body: this.examples.map((example) => {
339
- if (typeof example === "function") return example(name);
340
- return example;
341
- }).join("\n")
342
- });
343
- if (helpCallback) sections = helpCallback(sections) || sections;
344
- console.info(sections.map((section) => {
345
- return section.title ? `${section.title}:\n${section.body}` : section.body;
346
- }).join("\n\n"));
347
- }
348
- outputVersion() {
349
- const { name } = this.cli;
350
- const { versionNumber } = this.cli.globalCommand;
351
- if (versionNumber) console.info(`${name}/${versionNumber} ${runtimeInfo}`);
352
- }
353
- checkRequiredArgs() {
354
- const minimalArgsCount = this.args.filter((arg) => arg.required).length;
355
- if (this.cli.args.length < minimalArgsCount) throw new CACError(`missing required args for command \`${this.rawName}\``);
356
- }
357
- /**
358
- * Check if the parsed options contain any unknown options
359
- *
360
- * Exit and output error when true
361
- */
362
- checkUnknownOptions() {
363
- const { options, globalCommand } = this.cli;
364
- if (!this.config.allowUnknownOptions) {
365
- for (const name of Object.keys(options)) if (name !== "--" && !this.hasOption(name) && !globalCommand.hasOption(name)) throw new CACError(`Unknown option \`${name.length > 1 ? `--${name}` : `-${name}`}\``);
366
- }
367
- }
368
- /**
369
- * Check if the required string-type options exist
370
- */
371
- checkOptionValue() {
372
- const { options: parsedOptions, globalCommand } = this.cli;
373
- const options = [...globalCommand.options, ...this.options];
374
- for (const option of options) {
375
- const value = parsedOptions[option.name.split(".")[0]];
376
- if (option.required) {
377
- const hasNegated = options.some((o) => o.negated && o.names.includes(option.name));
378
- if (value === true || value === false && !hasNegated) throw new CACError(`option \`${option.rawName}\` value is missing`);
379
- }
380
- }
381
- }
382
- /**
383
- * Check if the number of args is more than expected
384
- */
385
- checkUnusedArgs() {
386
- const maximumArgsCount = this.args.some((arg) => arg.variadic) ? Infinity : this.args.length;
387
- if (maximumArgsCount < this.cli.args.length) throw new CACError(`Unused args: ${this.cli.args.slice(maximumArgsCount).map((arg) => `\`${arg}\``).join(", ")}`);
388
- }
389
- };
390
- var GlobalCommand = class extends Command {
391
- constructor(cli) {
392
- super("@@global@@", "", {}, cli);
393
- }
394
- };
395
- var CAC = class extends EventTarget {
396
- /** The program name to display in help and version message */
397
- name;
398
- commands;
399
- globalCommand;
400
- matchedCommand;
401
- matchedCommandName;
402
- /**
403
- * Raw CLI arguments
404
- */
405
- rawArgs;
406
- /**
407
- * Parsed CLI arguments
408
- */
409
- args;
410
- /**
411
- * Parsed CLI options, camelCased
412
- */
413
- options;
414
- showHelpOnExit;
415
- showVersionOnExit;
416
- /**
417
- * @param name The program name to display in help and version message
418
- */
419
- constructor(name = "") {
420
- super();
421
- this.name = name;
422
- this.commands = [];
423
- this.rawArgs = [];
424
- this.args = [];
425
- this.options = {};
426
- this.globalCommand = new GlobalCommand(this);
427
- this.globalCommand.usage("<command> [options]");
428
- }
429
- /**
430
- * Add a global usage text.
431
- *
432
- * This is not used by sub-commands.
433
- */
434
- usage(text) {
435
- this.globalCommand.usage(text);
436
- return this;
437
- }
438
- /**
439
- * Add a sub-command
440
- */
441
- command(rawName, description, config) {
442
- const command = new Command(rawName, description || "", config, this);
443
- command.globalCommand = this.globalCommand;
444
- this.commands.push(command);
445
- return command;
446
- }
447
- /**
448
- * Add a global CLI option.
449
- *
450
- * Which is also applied to sub-commands.
451
- */
452
- option(rawName, description, config) {
453
- this.globalCommand.option(rawName, description, config);
454
- return this;
455
- }
456
- /**
457
- * Show help message when `-h, --help` flags appear.
458
- *
459
- */
460
- help(callback) {
461
- this.globalCommand.option("-h, --help", "Display this message");
462
- this.globalCommand.helpCallback = callback;
463
- this.showHelpOnExit = true;
464
- return this;
465
- }
466
- /**
467
- * Show version number when `-v, --version` flags appear.
468
- *
469
- */
470
- version(version, customFlags = "-v, --version") {
471
- this.globalCommand.version(version, customFlags);
472
- this.showVersionOnExit = true;
473
- return this;
474
- }
475
- /**
476
- * Add a global example.
477
- *
478
- * This example added here will not be used by sub-commands.
479
- */
480
- example(example) {
481
- this.globalCommand.example(example);
482
- return this;
483
- }
484
- /**
485
- * Output the corresponding help message
486
- * When a sub-command is matched, output the help message for the command
487
- * Otherwise output the global one.
488
- *
489
- */
490
- outputHelp() {
491
- if (this.matchedCommand) this.matchedCommand.outputHelp();
492
- else this.globalCommand.outputHelp();
493
- }
494
- /**
495
- * Output the version number.
496
- *
497
- */
498
- outputVersion() {
499
- this.globalCommand.outputVersion();
500
- }
501
- setParsedInfo({ args, options }, matchedCommand, matchedCommandName) {
502
- this.args = args;
503
- this.options = options;
504
- if (matchedCommand) this.matchedCommand = matchedCommand;
505
- if (matchedCommandName) this.matchedCommandName = matchedCommandName;
506
- return this;
507
- }
508
- unsetMatchedCommand() {
509
- this.matchedCommand = void 0;
510
- this.matchedCommandName = void 0;
511
- }
512
- /**
513
- * Parse argv
514
- */
515
- parse(argv, { run = true } = {}) {
516
- if (!argv) {
517
- if (!runtimeProcessArgs) throw new Error("No argv provided and runtime process argv is not available.");
518
- argv = runtimeProcessArgs;
519
- }
520
- this.rawArgs = argv;
521
- if (!this.name) this.name = argv[1] ? getFileName(argv[1]) : "cli";
522
- let shouldParse = true;
523
- for (const command of this.commands) {
524
- const parsed = this.mri(argv.slice(2), command);
525
- const commandName = parsed.args[0];
526
- if (command.isMatched(commandName)) {
527
- shouldParse = false;
528
- const parsedInfo = {
529
- ...parsed,
530
- args: parsed.args.slice(1)
531
- };
532
- this.setParsedInfo(parsedInfo, command, commandName);
533
- this.dispatchEvent(new CustomEvent(`command:${commandName}`, { detail: command }));
534
- }
535
- }
536
- if (shouldParse) {
537
- for (const command of this.commands) if (command.isDefaultCommand) {
538
- shouldParse = false;
539
- const parsed = this.mri(argv.slice(2), command);
540
- this.setParsedInfo(parsed, command);
541
- this.dispatchEvent(new CustomEvent("command:!", { detail: command }));
542
- }
543
- }
544
- if (shouldParse) {
545
- const parsed = this.mri(argv.slice(2));
546
- this.setParsedInfo(parsed);
547
- }
548
- if (this.options.help && this.showHelpOnExit) {
549
- this.outputHelp();
550
- run = false;
551
- this.unsetMatchedCommand();
552
- }
553
- if (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) {
554
- this.outputVersion();
555
- run = false;
556
- this.unsetMatchedCommand();
557
- }
558
- const parsedArgv = {
559
- args: this.args,
560
- options: this.options
561
- };
562
- if (run) this.runMatchedCommand();
563
- if (!this.matchedCommand && this.args[0]) this.dispatchEvent(new CustomEvent("command:*", { detail: this.args[0] }));
564
- return parsedArgv;
565
- }
566
- mri(argv, command) {
567
- const cliOptions = [...this.globalCommand.options, ...command ? command.options : []];
568
- const mriOptions = getMriOptions(cliOptions);
569
- let argsAfterDoubleDashes = [];
570
- const doubleDashesIndex = argv.indexOf("--");
571
- if (doubleDashesIndex !== -1) {
572
- argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);
573
- argv = argv.slice(0, doubleDashesIndex);
574
- }
575
- let parsed = lib_default(argv, mriOptions);
576
- parsed = Object.keys(parsed).reduce((res, name) => {
577
- return {
578
- ...res,
579
- [camelcaseOptionName(name)]: parsed[name]
580
- };
581
- }, { _: [] });
582
- const args = parsed._;
583
- const options = { "--": argsAfterDoubleDashes };
584
- const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;
585
- const transforms = Object.create(null);
586
- for (const cliOption of cliOptions) {
587
- if (!ignoreDefault && cliOption.config.default !== void 0) for (const name of cliOption.names) options[name] = cliOption.config.default;
588
- if (Array.isArray(cliOption.config.type) && transforms[cliOption.name] === void 0) {
589
- transforms[cliOption.name] = Object.create(null);
590
- transforms[cliOption.name].shouldTransform = true;
591
- transforms[cliOption.name].transformFunction = cliOption.config.type[0];
592
- }
593
- }
594
- for (const key of Object.keys(parsed)) if (key !== "_") {
595
- setDotProp(options, key.split("."), parsed[key]);
596
- setByType(options, transforms);
597
- }
598
- return {
599
- args,
600
- options
601
- };
602
- }
603
- runMatchedCommand() {
604
- const { args, options, matchedCommand: command } = this;
605
- if (!command || !command.commandAction) return;
606
- command.checkUnknownOptions();
607
- command.checkOptionValue();
608
- command.checkRequiredArgs();
609
- command.checkUnusedArgs();
610
- const actionArgs = [];
611
- command.args.forEach((arg, index) => {
612
- if (arg.variadic) actionArgs.push(args.slice(index));
613
- else actionArgs.push(args[index]);
614
- });
615
- actionArgs.push(options);
616
- return command.commandAction.apply(this, actionArgs);
617
- }
618
- };
619
- /**
620
- * @param name The program name to display in help and version message
621
- */
622
- const cac = (name = "") => new CAC(name);
623
- //#endregion
624
- //#region src/node/cli.ts
625
- var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
626
- function checkNodeVersion(nodeVersion) {
627
- const currentVersion = nodeVersion.split(".");
628
- const major = parseInt(currentVersion[0], 10);
629
- const minor = parseInt(currentVersion[1], 10);
630
- return major === 20 && minor >= 19 || major === 22 && minor >= 12 || major > 22;
631
- }
632
- if (!checkNodeVersion(process.versions.node)) console.warn(import_picocolors.default.yellow(`You are using Node.js ${process.versions.node}. Vite requires Node.js version 20.19+ or 22.12+. Please upgrade your Node.js version.`));
633
- const cli = cac("vite");
634
- let profileSession = global.__vite_profile_session;
635
- let profileCount = 0;
636
- const stopProfiler = (log) => {
637
- if (!profileSession) return;
638
- return new Promise((res, rej) => {
639
- profileSession.post("Profiler.stop", (err, { profile }) => {
640
- if (!err) {
641
- const outPath = path.resolve(`./vite-profile-${profileCount++}.cpuprofile`);
642
- fs.writeFileSync(outPath, JSON.stringify(profile));
643
- log(import_picocolors.default.yellow(`CPU profile written to ${import_picocolors.default.white(import_picocolors.default.dim(outPath))}`));
644
- profileSession = void 0;
645
- res();
646
- } else rej(err);
647
- });
648
- });
649
- };
650
- const filterDuplicateOptions = (options) => {
651
- for (const [key, value] of Object.entries(options)) if (Array.isArray(value)) options[key] = value[value.length - 1];
652
- };
653
- /**
654
- * removing global flags before passing as command specific sub-configs
655
- */
656
- function cleanGlobalCLIOptions(options) {
657
- const ret = { ...options };
658
- delete ret["--"];
659
- delete ret.c;
660
- delete ret.config;
661
- delete ret.base;
662
- delete ret.l;
663
- delete ret.logLevel;
664
- delete ret.clearScreen;
665
- delete ret.configLoader;
666
- delete ret.d;
667
- delete ret.debug;
668
- delete ret.f;
669
- delete ret.filter;
670
- delete ret.m;
671
- delete ret.mode;
672
- delete ret.force;
673
- delete ret.w;
674
- if ("sourcemap" in ret) {
675
- const sourcemap = ret.sourcemap;
676
- ret.sourcemap = sourcemap === "true" ? true : sourcemap === "false" ? false : ret.sourcemap;
677
- }
678
- if ("watch" in ret) ret.watch = ret.watch ? {} : void 0;
679
- return ret;
680
- }
681
- /**
682
- * removing builder flags before passing as command specific sub-configs
683
- */
684
- function cleanBuilderCLIOptions(options) {
685
- const ret = { ...options };
686
- delete ret.app;
687
- return ret;
688
- }
689
- /**
690
- * host may be a number (like 0), should convert to string
691
- */
692
- const convertHost = (v) => {
693
- if (typeof v === "number") return String(v);
694
- return v;
695
- };
696
- /**
697
- * base may be a number (like 0), should convert to empty string
698
- */
699
- const convertBase = (v) => {
700
- if (v === 0) return "";
701
- return v;
702
- };
703
- cli.option("-c, --config <file>", `[string] use specified config file`).option("--base <path>", `[string] public base path (default: /)`, { type: [convertBase] }).option("-l, --logLevel <level>", `[string] info | warn | error | silent`).option("--clearScreen", `[boolean] allow/disable clear screen when logging`).option("--configLoader <loader>", `[string] use 'bundle' to bundle the config with Rolldown, or 'runner' (experimental) to process it on the fly, or 'native' (experimental) to load using the native runtime (default: bundle)`).option("-d, --debug [feat]", `[string | boolean] show debug logs`).option("-f, --filter <filter>", `[string] filter debug logs`).option("-m, --mode <mode>", `[string] set env mode`);
704
- cli.command("[root]", "start dev server").alias("serve").alias("dev").option("--host [host]", `[string] specify hostname`, { type: [convertHost] }).option("--port <port>", `[number] specify port`).option("--open [path]", `[boolean | string] open browser on startup`).option("--cors", `[boolean] enable CORS`).option("--strictPort", `[boolean] exit if specified port is already in use`).option("--force", `[boolean] force the optimizer to ignore the cache and re-bundle`).option("--experimentalBundle", `[boolean] use experimental full bundle mode (this is highly experimental)`).action(async (root, options) => {
705
- filterDuplicateOptions(options);
706
- const { createServer } = await import("./chunks/node.js").then((n) => n.M);
707
- try {
708
- const server = await createServer({
709
- root,
710
- base: options.base,
711
- mode: options.mode,
712
- configFile: options.config,
713
- configLoader: options.configLoader,
714
- logLevel: options.logLevel,
715
- clearScreen: options.clearScreen,
716
- server: cleanGlobalCLIOptions(options),
717
- forceOptimizeDeps: options.force,
718
- experimental: { bundledDev: options.experimentalBundle }
719
- });
720
- if (!server.httpServer) throw new Error("HTTP server not available");
721
- await server.listen();
722
- const info = server.config.logger.info;
723
- const modeString = options.mode && options.mode !== "development" ? ` ${import_picocolors.default.bgGreen(` ${import_picocolors.default.bold(options.mode)} `)}` : "";
724
- const viteStartTime = global.__vite_start_time ?? false;
725
- const startupDurationString = viteStartTime ? import_picocolors.default.dim(`ready in ${import_picocolors.default.reset(import_picocolors.default.bold(Math.ceil(performance.now() - viteStartTime)))} ms`) : "";
726
- const hasExistingLogs = process.stdout.bytesWritten > 0 || process.stderr.bytesWritten > 0;
727
- info(`\n ${import_picocolors.default.green(`${import_picocolors.default.bold("VITE")} v${VERSION}`)}${modeString} ${startupDurationString}\n`, { clear: !hasExistingLogs });
728
- server.printUrls();
729
- const customShortcuts = [];
730
- if (profileSession) customShortcuts.push({
731
- key: "p",
732
- description: "start/stop the profiler",
733
- async action(server) {
734
- if (profileSession) await stopProfiler(server.config.logger.info);
735
- else {
736
- const inspector = await import("node:inspector").then((r) => r.default);
737
- await new Promise((res) => {
738
- profileSession = new inspector.Session();
739
- profileSession.connect();
740
- profileSession.post("Profiler.enable", () => {
741
- profileSession.post("Profiler.start", () => {
742
- server.config.logger.info("Profiler started");
743
- res();
744
- });
745
- });
746
- });
747
- }
748
- }
749
- });
750
- server.bindCLIShortcuts({
751
- print: true,
752
- customShortcuts
753
- });
754
- } catch (e) {
755
- const logger = createLogger(options.logLevel);
756
- logger.error(import_picocolors.default.red(`error when starting dev server:\n${inspect(e)}`), { error: e });
757
- await stopProfiler(logger.info);
758
- process.exit(1);
759
- }
760
- });
761
- cli.command("build [root]", "build for production").option("--target <target>", `[string] transpile target (default: 'baseline-widely-available')`).option("--outDir <dir>", `[string] output directory (default: dist)`).option("--assetsDir <dir>", `[string] directory under outDir to place assets in (default: assets)`).option("--assetsInlineLimit <number>", `[number] static asset base64 inline threshold in bytes (default: 4096)`).option("--ssr [entry]", `[string] build specified entry for server-side rendering`).option("--sourcemap [output]", `[boolean | "inline" | "hidden"] output source maps for build (default: false)`).option("--minify [minifier]", "[boolean | \"oxc\" | \"terser\" | \"esbuild\"] enable/disable minification, or specify minifier to use (default: oxc)").option("--manifest [name]", `[boolean | string] emit build manifest json`).option("--ssrManifest [name]", `[boolean | string] emit ssr manifest json`).option("--emptyOutDir", `[boolean] force empty outDir when it's outside of root`).option("-w, --watch", `[boolean] rebuilds when modules have changed on disk`).option("--app", `[boolean] same as \`builder: {}\``).action(async (root, options) => {
762
- filterDuplicateOptions(options);
763
- const { createBuilder } = await import("./chunks/node.js").then((n) => n.E);
764
- const buildOptions = cleanGlobalCLIOptions(cleanBuilderCLIOptions(options));
765
- try {
766
- const builder = await createBuilder({
767
- root,
768
- base: options.base,
769
- mode: options.mode,
770
- configFile: options.config,
771
- configLoader: options.configLoader,
772
- logLevel: options.logLevel,
773
- clearScreen: options.clearScreen,
774
- build: buildOptions,
775
- ...options.app ? { builder: {} } : {}
776
- }, null);
777
- await builder.buildApp();
778
- await builder.runDevTools();
779
- } catch (e) {
780
- createLogger(options.logLevel).error(import_picocolors.default.red(`error during build:\n${inspect(e)}`), { error: e });
781
- process.exit(1);
782
- } finally {
783
- await stopProfiler((message) => createLogger(options.logLevel).info(message));
784
- }
785
- });
786
- cli.command("optimize [root]", "pre-bundle dependencies (deprecated, the pre-bundle process runs automatically and does not need to be called)").option("--force", `[boolean] force the optimizer to ignore the cache and re-bundle`).action(async (root, options) => {
787
- filterDuplicateOptions(options);
788
- const { resolveConfig } = await import("./chunks/node.js").then((n) => n.f);
789
- const { optimizeDeps } = await import("./chunks/node.js").then((n) => n.k);
790
- try {
791
- await optimizeDeps(await resolveConfig({
792
- root,
793
- base: options.base,
794
- configFile: options.config,
795
- configLoader: options.configLoader,
796
- logLevel: options.logLevel,
797
- mode: options.mode
798
- }, "serve"), options.force, true);
799
- } catch (e) {
800
- createLogger(options.logLevel).error(import_picocolors.default.red(`error when optimizing deps:\n${inspect(e)}`), { error: e });
801
- process.exit(1);
802
- }
803
- });
804
- cli.command("preview [root]", "locally preview production build").option("--host [host]", `[string] specify hostname`, { type: [convertHost] }).option("--port <port>", `[number] specify port`).option("--strictPort", `[boolean] exit if specified port is already in use`).option("--open [path]", `[boolean | string] open browser on startup`).option("--outDir <dir>", `[string] output directory (default: dist)`).action(async (root, options) => {
805
- filterDuplicateOptions(options);
806
- const { preview } = await import("./chunks/node.js").then((n) => n.y);
807
- try {
808
- const server = await preview({
809
- root,
810
- base: options.base,
811
- configFile: options.config,
812
- configLoader: options.configLoader,
813
- logLevel: options.logLevel,
814
- mode: options.mode,
815
- build: { outDir: options.outDir },
816
- preview: {
817
- port: options.port,
818
- strictPort: options.strictPort,
819
- host: options.host,
820
- open: options.open
821
- }
822
- });
823
- server.printUrls();
824
- server.bindCLIShortcuts({ print: true });
825
- } catch (e) {
826
- createLogger(options.logLevel).error(import_picocolors.default.red(`error when starting preview server:\n${inspect(e)}`), { error: e });
827
- process.exit(1);
828
- } finally {
829
- await stopProfiler((message) => createLogger(options.logLevel).info(message));
830
- }
831
- });
832
- cli.help();
833
- cli.version(VERSION);
834
- cli.parse();
835
- //#endregion
836
- export { stopProfiler };