@voidzero-dev/vite-plus-core 1.1.0 → 1.2.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 (64) hide show
  1. package/LICENSE +7 -1
  2. package/dist/rolldown/cli.mjs +30 -27
  3. package/dist/rolldown/config.d.mts +3 -3
  4. package/dist/rolldown/config.mjs +2 -2
  5. package/dist/rolldown/experimental-index.d.mts +27 -27
  6. package/dist/rolldown/experimental-index.mjs +8 -8
  7. package/dist/rolldown/experimental-runtime-types.d.ts +15 -2
  8. package/dist/rolldown/experimental-runtime.d.ts +15 -2
  9. package/dist/rolldown/experimental-runtime.mjs +19 -2
  10. package/dist/rolldown/filter-index.d.mts +1 -1
  11. package/dist/rolldown/index.d.mts +1 -1
  12. package/dist/rolldown/index.mjs +4 -4
  13. package/dist/rolldown/parallel-plugin-worker.mjs +2 -2
  14. package/dist/rolldown/parallel-plugin.d.mts +3 -3
  15. package/dist/rolldown/parse-ast-index.d.mts +5 -6
  16. package/dist/rolldown/parse-ast-index.mjs +1 -1
  17. package/dist/rolldown/plugins-index.d.mts +4 -4
  18. package/dist/rolldown/plugins-index.mjs +2 -2
  19. package/dist/rolldown/shared/{binding-B4m_2rFW.mjs → binding-DlR5d34p.mjs} +27 -27
  20. package/dist/rolldown/shared/{bindingify-input-options-YtcpaV3r.mjs → bindingify-input-options-DhjlrWZE.mjs} +13 -13
  21. package/dist/rolldown/shared/{constructors-DDRbtWM1.mjs → constructors-B2hkJoIA.mjs} +1 -1
  22. package/dist/rolldown/shared/{constructors-CGQ9ItSV.d.mts → constructors-Dw9H1IvX.d.mts} +1 -1
  23. package/dist/rolldown/shared/{create-bundler-option-CFtx335R.mjs → create-bundler-option-1AEe_J0o.mjs} +22 -5
  24. package/dist/rolldown/shared/{define-config-kIZKjX8Q.d.mts → define-config-CGhm2DU-.d.mts} +24 -5
  25. package/dist/rolldown/shared/{error-Bj1xBdEY.mjs → error-Dsqzw0Oa.mjs} +1 -1
  26. package/dist/rolldown/shared/{load-config-CiFPv7UH.mjs → load-config-bvw8z7Ft.mjs} +1 -1
  27. package/dist/rolldown/shared/{normalize-string-or-regex-xyy0kCQR.mjs → normalize-string-or-regex-B7Gsiuz7.mjs} +1 -1
  28. package/dist/rolldown/shared/{parse-Zii6QoPp.mjs → parse-BCSSrLHf.mjs} +2 -2
  29. package/dist/rolldown/shared/{resolve-tsconfig-DRWFAQ3v.mjs → resolve-tsconfig-DyR2RUTm.mjs} +2 -2
  30. package/dist/rolldown/shared/{rolldown-BCQsxZbq.mjs → rolldown-C8QomUuX.mjs} +4 -4
  31. package/dist/rolldown/shared/{watch-CXhrnblH.mjs → watch-CPI70Lkn.mjs} +4 -4
  32. package/dist/rolldown/utils-index.d.mts +3 -3
  33. package/dist/rolldown/utils-index.mjs +5 -5
  34. package/dist/tsdown/{build-JVmLFaZt-k6Y-YuG9.js → build-KEepWO_k-BOsPZ2cH.js} +26 -25
  35. package/dist/tsdown/{debug-CpC4hV25-D_60QWpz.js → debug-DKTolR2K-BMJOFfj2.js} +4 -5
  36. package/dist/tsdown/{detect-Bg-d8iUV--_V5C4Db.js → detect-DHDepxVX-CpWW52Jd.js} +38 -34
  37. package/dist/tsdown/dist-BebyOHRu.js +6224 -0
  38. package/dist/tsdown/index-types.d.ts +216 -216
  39. package/dist/tsdown/index.js +4 -4
  40. package/dist/tsdown/{main-CyNcZUzu.js → main-Du9xCnhX.js} +105 -19
  41. package/dist/tsdown/npm_entry_picomatch.cjs +36 -25
  42. package/dist/tsdown/{resolver-DE0_sy8o-Pz8aksn9.js → resolver-DE0_sy8o-DNoi-dFQ.js} +3 -2
  43. package/dist/tsdown/run.js +28 -26
  44. package/dist/tsdown/{src-pN7Bl6zo.js → src-CBWRkeF5.js} +4 -4
  45. package/dist/tsdown/{target-DgdLrXba-BygiKCU8.js → target-HZbF5Cux-Cmv1LI5D.js} +175 -9
  46. package/dist/tsdown/{tsc-2xhsE0Bf.js → tsc-YwU2b8yT.js} +4 -4
  47. package/dist/tsdown/tsdown-css.js +4 -4
  48. package/dist/tsdown/tsdown-exe.js +5 -43
  49. package/dist/vite/client/bundledDevClient.mjs +38 -20
  50. package/dist/vite/client/client.mjs +10 -9
  51. package/dist/vite/node/chunks/build.js +19 -19
  52. package/dist/vite/node/chunks/node.js +4409 -4358
  53. package/dist/vite/node/chunks/postcss-import.js +10 -10
  54. package/dist/vite/node/cli.js +24 -21
  55. package/dist/vite/node/index.d.ts +2 -1
  56. package/dist/vite/node/index.js +1 -2
  57. package/dist/vite/node/internal.js +1 -2
  58. package/dist/vite/node/module-runner.d.ts +1 -0
  59. package/dist/vite/node/module-runner.js +16 -25
  60. package/package.json +26 -27
  61. package/dist/tsdown/dist-DquISSoY.js +0 -2952
  62. package/dist/tsdown/require-BbBF8Ii0-S6Y65RhW.js +0 -320
  63. package/dist/tsdown/style-DiMP8pYv-DIC5PXeH.js +0 -88
  64. package/dist/tsdown/version-CQ98ZBpL-CKvh-HCu.js +0 -169
@@ -1,11 +1,11 @@
1
- import { d as toArray, r as importWithError, s as resolveComma, u as styleText$1 } from "./style-DiMP8pYv-DIC5PXeH.js";
2
- import { n as x, r as createDebug } from "./main-CyNcZUzu.js";
3
- import { a as GREATER_LESS_THAN, c as LOOSE_PLAIN, d as compareParsed, f as formatComparableVersion, g as tryParse, h as safeRegex, i as FULL_PLAIN, l as XRANGE_PLAIN, m as parse$1, n as normalize$1, o as LONE_CARET, p as isGreaterOrEqual, r as BUILD, s as LONE_TILDE, u as XRANGE_PLAIN_LOOSE, v as RE_DTS } from "./version-CQ98ZBpL-CKvh-HCu.js";
1
+ import { c as importWithError, f as resolveComma, g as toArray, h as styleText$1, n as x, r as createDebug } from "./main-Du9xCnhX.js";
4
2
  import process from "node:process";
5
3
  import path from "node:path";
4
+ import { RUNTIME_MODULE_ID } from "@voidzero-dev/vite-plus-core/rolldown";
6
5
  import { access, cp, mkdir, mkdtemp, rm, stat, writeFile } from "node:fs/promises";
6
+ import { exactRegex } from "@voidzero-dev/vite-plus-core/rolldown/filter";
7
7
  import { tmpdir } from "node:os";
8
- //#region ../../node_modules/.pnpm/tsdown@0.23.0_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.0_@tsdown+exe@0.23.0_@type_246e1a6b42eb96ae418f743999fb07f3/node_modules/tsdown/dist/format-DLxyxnif.mjs
8
+ //#region ../../node_modules/.pnpm/tsdown@0.23.1_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.1_@tsdown+exe@0.23.1_@type_1c5668b23b89ab367f1fd43e24d0d72d/node_modules/tsdown/dist/format-DLxyxnif.mjs
9
9
  function fsExists(path) {
10
10
  return access(path).then(() => true, () => false);
11
11
  }
@@ -53,7 +53,147 @@ function formatBytes(bytes) {
53
53
  return `${(bytes / 1e3).toFixed(2)} kB`;
54
54
  }
55
55
  //#endregion
56
- //#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.js
56
+ //#region ../../node_modules/.pnpm/rolldown-plugin-dts@0.28.8_@typescript+native-preview@7.0.0-dev.20260707.2_@volar+types_4c1d5de710c0092ce9c83871c07b3140/node_modules/rolldown-plugin-dts/dist/filename-BFg1q_t3.mjs
57
+ const RE_JS = /\.([cm]?)jsx?$/;
58
+ const RE_TS = /\.([cm]?)tsx?$/;
59
+ const RE_DTS = /\.d\.([cm]?)ts$/;
60
+ const RE_DTS_MAP = /\.d\.([cm]?)ts\.map$/;
61
+ const RE_NODE_MODULES = /[\\/]node_modules[\\/]/;
62
+ const RE_CSS = /\.(?:css|scss|sass|less|styl|stylus)$/;
63
+ const RE_JSON = /\.json$/;
64
+ const RE_ROLLDOWN_RUNTIME = exactRegex(RUNTIME_MODULE_ID);
65
+ function filename_js_to_dts(id) {
66
+ return id.replace(RE_JS, ".d.$1ts");
67
+ }
68
+ function filename_to_dts(id, languageContext) {
69
+ id = languageContext?.toTsFilename?.(id) ?? id;
70
+ return id.replace(RE_TS, ".d.$1ts").replace(RE_JS, ".d.$1ts").replace(RE_JSON, ".json.d.ts");
71
+ }
72
+ function filename_dts_to(id, ext) {
73
+ return id.replace(RE_DTS, `.$1${ext}`);
74
+ }
75
+ function resolveTemplateFn(fn, chunk) {
76
+ return typeof fn === "function" ? fn(chunk) : fn;
77
+ }
78
+ function replaceTemplateName(template, name) {
79
+ return template.replaceAll("[name]", name);
80
+ }
81
+ //#endregion
82
+ //#region ../../node_modules/.pnpm/verkit@0.5.0/node_modules/verkit/dist/comparison-CmVirWIW.js
83
+ const LETTER_DASH_NUMBER = "[a-zA-Z0-9-]";
84
+ const NUMERIC_IDENTIFIER = String.raw`0|[1-9]\d*`;
85
+ const NUMERIC_IDENTIFIER_LOOSE = String.raw`\d+`;
86
+ const NON_NUMERIC_IDENTIFIER = String.raw`\d*[a-zA-Z-]${LETTER_DASH_NUMBER}*`;
87
+ const MAIN_VERSION = String.raw`(${NUMERIC_IDENTIFIER})\.(${NUMERIC_IDENTIFIER})\.(${NUMERIC_IDENTIFIER})`;
88
+ const MAIN_VERSION_LOOSE = String.raw`(${NUMERIC_IDENTIFIER_LOOSE})\.(${NUMERIC_IDENTIFIER_LOOSE})\.(${NUMERIC_IDENTIFIER_LOOSE})`;
89
+ const PRERELEASE_IDENTIFIER = `(?:${NON_NUMERIC_IDENTIFIER}|${NUMERIC_IDENTIFIER})`;
90
+ const PRERELEASE_IDENTIFIER_LOOSE = `(?:${NON_NUMERIC_IDENTIFIER}|${NUMERIC_IDENTIFIER_LOOSE})`;
91
+ const PRERELEASE = String.raw`(?:-(${PRERELEASE_IDENTIFIER}(?:\.${PRERELEASE_IDENTIFIER})*))`;
92
+ const PRERELEASE_LOOSE = String.raw`(?:-?(${PRERELEASE_IDENTIFIER_LOOSE}(?:\.${PRERELEASE_IDENTIFIER_LOOSE})*))`;
93
+ const BUILD_IDENTIFIER = `${LETTER_DASH_NUMBER}+`;
94
+ const BUILD = String.raw`(?:\+(${BUILD_IDENTIFIER}(?:\.${BUILD_IDENTIFIER})*))`;
95
+ const FULL_PLAIN = `v?${MAIN_VERSION}${PRERELEASE}?${BUILD}?`;
96
+ const LOOSE_PLAIN = String.raw`[v=\s]*${MAIN_VERSION_LOOSE}${PRERELEASE_LOOSE}?${BUILD}?`;
97
+ const GREATER_LESS_THAN = "((?:<|>)?=?)";
98
+ const XRANGE_IDENTIFIER = String.raw`${NUMERIC_IDENTIFIER}|x|X|\*`;
99
+ const XRANGE_IDENTIFIER_LOOSE = String.raw`${NUMERIC_IDENTIFIER_LOOSE}|x|X|\*`;
100
+ const XRANGE_PLAIN = String.raw`[v=\s]*(${XRANGE_IDENTIFIER})(?:\.(${XRANGE_IDENTIFIER})(?:\.(${XRANGE_IDENTIFIER})(?:${PRERELEASE})?${BUILD}?)?)?`;
101
+ const XRANGE_PLAIN_LOOSE = String.raw`[v=\s]*(${XRANGE_IDENTIFIER_LOOSE})(?:\.(${XRANGE_IDENTIFIER_LOOSE})(?:\.(${XRANGE_IDENTIFIER_LOOSE})(?:${PRERELEASE_LOOSE})?${BUILD}?)?)?`;
102
+ const LONE_TILDE = "(?:~>?)";
103
+ const LONE_CARET = String.raw`(?:\^)`;
104
+ const COERCE_PLAIN = String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`;
105
+ const COERCE = String.raw`${COERCE_PLAIN}(?:$|[^\d])`;
106
+ const COERCE_FULL = String.raw`${COERCE_PLAIN}(?:${PRERELEASE})?(?:${BUILD})?(?:$|[^\d])`;
107
+ function makeSafeRegexSource(source) {
108
+ const replacements = [
109
+ [String.raw`\s`, 1],
110
+ [String.raw`\d`, 256],
111
+ [LETTER_DASH_NUMBER, 250]
112
+ ];
113
+ for (const [token, maximum] of replacements) source = source.split(`${token}*`).join(`${token}{0,${maximum}}`).split(`${token}+`).join(`${token}{1,${maximum}}`);
114
+ return source;
115
+ }
116
+ function safeRegex(source, flags) {
117
+ return new RegExp(makeSafeRegexSource(source), flags);
118
+ }
119
+ const FULL = safeRegex(`^${FULL_PLAIN}$`);
120
+ const LOOSE = safeRegex(`^${LOOSE_PLAIN}$`);
121
+ const NUMERIC$1 = /^\d+$/;
122
+ function formatComparableVersion(version) {
123
+ const base = `${version.major}.${version.minor}.${version.patch}`;
124
+ return version.prerelease?.length ? `${base}-${version.prerelease.join(".")}` : base;
125
+ }
126
+ function parse$1(version, options = {}) {
127
+ if (typeof version !== "string") return version;
128
+ if (version.length > 256) throw new TypeError(`Version exceeds the maximum length of 256 characters`);
129
+ const match = version.trim().match(options.loose ? LOOSE : FULL);
130
+ if (!match) throw new TypeError(`Invalid version syntax: ${version}`);
131
+ const major = Number(match[1]);
132
+ const minor = Number(match[2]);
133
+ const patch = Number(match[3]);
134
+ if (major > Number.MAX_SAFE_INTEGER || major < 0) throw new TypeError(`Invalid major version: ${match[1]}`);
135
+ if (minor > Number.MAX_SAFE_INTEGER || minor < 0) throw new TypeError(`Invalid minor version: ${match[2]}`);
136
+ if (patch > Number.MAX_SAFE_INTEGER || patch < 0) throw new TypeError(`Invalid patch version: ${match[3]}`);
137
+ const prerelease = match[4] ? match[4].split(".").map((identifier) => {
138
+ if (NUMERIC$1.test(identifier)) {
139
+ const numeric = Number(identifier);
140
+ if (numeric >= 0 && numeric < Number.MAX_SAFE_INTEGER) return numeric;
141
+ }
142
+ return identifier;
143
+ }) : void 0;
144
+ return {
145
+ build: match[5]?.split("."),
146
+ major,
147
+ minor,
148
+ patch,
149
+ prerelease
150
+ };
151
+ }
152
+ function tryParse(version, options = {}) {
153
+ try {
154
+ return parse$1(version, options);
155
+ } catch {
156
+ return null;
157
+ }
158
+ }
159
+ const NUMERIC = /^\d+$/;
160
+ function compareIdentifiers(left, right) {
161
+ if (typeof left === "number" && typeof right === "number") return left === right ? 0 : left < right ? -1 : 1;
162
+ const leftNumeric = NUMERIC.test(String(left));
163
+ const rightNumeric = NUMERIC.test(String(right));
164
+ const normalizedLeft = leftNumeric ? Number(left) : left;
165
+ const normalizedRight = rightNumeric ? Number(right) : right;
166
+ return normalizedLeft === normalizedRight ? 0 : leftNumeric && !rightNumeric ? -1 : rightNumeric && !leftNumeric ? 1 : normalizedLeft < normalizedRight ? -1 : 1;
167
+ }
168
+ function compareMainParsed(left, right) {
169
+ return left.major === right.major ? left.minor === right.minor ? left.patch === right.patch ? 0 : left.patch < right.patch ? -1 : 1 : left.minor < right.minor ? -1 : 1 : left.major < right.major ? -1 : 1;
170
+ }
171
+ function comparePrereleaseParsed(left, right) {
172
+ const leftPrerelease = left.prerelease;
173
+ const rightPrerelease = right.prerelease;
174
+ if (leftPrerelease?.length && !rightPrerelease?.length) return -1;
175
+ if (!leftPrerelease?.length && rightPrerelease?.length) return 1;
176
+ if (!leftPrerelease?.length && !rightPrerelease?.length) return 0;
177
+ for (let index = 0;; index++) {
178
+ const leftIdentifier = leftPrerelease?.[index];
179
+ const rightIdentifier = rightPrerelease?.[index];
180
+ if (leftIdentifier === void 0 && rightIdentifier === void 0) return 0;
181
+ if (rightIdentifier === void 0) return 1;
182
+ if (leftIdentifier === void 0) return -1;
183
+ if (leftIdentifier !== rightIdentifier) return compareIdentifiers(leftIdentifier, rightIdentifier);
184
+ }
185
+ }
186
+ function compareParsed(left, right) {
187
+ return compareMainParsed(left, right) || comparePrereleaseParsed(left, right);
188
+ }
189
+ function compare(left, right, options = {}) {
190
+ return compareParsed(parse$1(left, options), parse$1(right, options));
191
+ }
192
+ function isGreaterThanOrEqual(left, right, options = {}) {
193
+ return compare(left, right, options) >= 0;
194
+ }
195
+ //#endregion
196
+ //#region ../../node_modules/.pnpm/verkit@0.5.0/node_modules/verkit/dist/set-BGFWKKE8.js
57
197
  const STRICT_COMPARATOR = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${FULL_PLAIN})$|^$`);
58
198
  const LOOSE_COMPARATOR$1 = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${LOOSE_PLAIN})$|^$`);
59
199
  function parseComparator(comparator, options = {}) {
@@ -90,7 +230,7 @@ function testComparatorSet(set, version, options) {
90
230
  return !version.prerelease?.length || !!options.includePrerelease || set.some((comparator) => comparatorAllowsPrerelease(comparator, version));
91
231
  }
92
232
  //#endregion
93
- //#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.js
233
+ //#region ../../node_modules/.pnpm/verkit@0.5.0/node_modules/verkit/dist/range-C5wjdo9a.js
94
234
  const BUILD_STRIP = new RegExp(BUILD, "g");
95
235
  const BUILD_SAFE = safeRegex(BUILD);
96
236
  const STRICT_HYPHEN = safeRegex(String.raw`^\s*(${XRANGE_PLAIN})\s+-\s+(${XRANGE_PLAIN})\s*$`);
@@ -290,7 +430,33 @@ function findMinimumForRange(range, options = {}) {
290
430
  return minimum && testParsedRange(parsedRange, minimum) ? minimum : null;
291
431
  }
292
432
  //#endregion
293
- //#region ../../node_modules/.pnpm/tsdown@0.23.0_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.0_@tsdown+exe@0.23.0_@type_246e1a6b42eb96ae418f743999fb07f3/node_modules/tsdown/dist/target-DgdLrXba.mjs
433
+ //#region ../../node_modules/.pnpm/verkit@0.5.0/node_modules/verkit/dist/version-Co1j9Tpq.js
434
+ const COERCE_EXACT = safeRegex(COERCE);
435
+ const COERCE_FULL_EXACT = safeRegex(COERCE_FULL);
436
+ safeRegex(`^${PRERELEASE}$`);
437
+ safeRegex(`^${PRERELEASE_LOOSE}$`);
438
+ function normalize$1(version, options = {}) {
439
+ const parsed = tryParse(version, options);
440
+ return parsed ? formatComparableVersion(parsed) : null;
441
+ }
442
+ function coerce(value, options = {}) {
443
+ if (typeof value === "object") return value;
444
+ const input = typeof value === "number" ? String(value) : value;
445
+ let match = null;
446
+ if (options.rtl) {
447
+ const expression = safeRegex(options.includePrerelease ? COERCE_FULL : COERCE, "g");
448
+ let next;
449
+ while ((next = expression.exec(input)) && (!match || match.index + match[0].length !== input.length)) {
450
+ if (!match || next.index + next[0].length !== match.index + match[0].length) match = next;
451
+ expression.lastIndex = next.index + next[1].length + next[2].length;
452
+ }
453
+ } else match = (options.includePrerelease ? COERCE_FULL_EXACT : COERCE_EXACT).exec(input);
454
+ if (!match) return null;
455
+ const major = match[2];
456
+ return tryParse(`${major}.${match[3] || "0"}.${match[4] || "0"}${options.includePrerelease && match[5] ? `-${match[5]}` : ""}${options.includePrerelease && match[6] ? `+${match[6]}` : ""}`, options);
457
+ }
458
+ //#endregion
459
+ //#region ../../node_modules/.pnpm/tsdown@0.23.1_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.1_@tsdown+exe@0.23.1_@type_1c5668b23b89ab367f1fd43e24d0d72d/node_modules/tsdown/dist/target-HZbF5Cux.mjs
294
460
  const NODE_SEA_MIN_VERSION = "25.7.0";
295
461
  const NODE_SEA_MIN_VERSION_PARSED = {
296
462
  major: 25,
@@ -300,7 +466,7 @@ const NODE_SEA_MIN_VERSION_PARSED = {
300
466
  const debug = createDebug("tsdown:exe");
301
467
  function validateSea({ dts, entry, logger, nameLabel }) {
302
468
  if (process.versions.bun || process.versions.deno) throw new Error("The `exe` option is not supported in Bun and Deno environments.");
303
- if (!isGreaterOrEqual(process.version, NODE_SEA_MIN_VERSION_PARSED)) throw new Error(`Node.js version ${process.version} does not support \`exe\` option. Please upgrade to Node.js ${NODE_SEA_MIN_VERSION} or later.`);
469
+ if (!isGreaterThanOrEqual(process.version, NODE_SEA_MIN_VERSION_PARSED)) throw new Error(`Node.js version ${process.version} does not support \`exe\` option. Please upgrade to Node.js ${NODE_SEA_MIN_VERSION} or later.`);
304
470
  if (Object.keys(entry).length > 1) throw new Error(`The \`exe\` feature currently only supports single entry points. Found entries:\n${JSON.stringify(entry, void 0, 2)}`);
305
471
  if (dts) logger.warn(nameLabel, `Generating .d.ts files with \`exe\` option is not recommended since they won't be included in the executable. Consider separating your library and executable targets if you need type declarations.`);
306
472
  logger.info(nameLabel, "`exe` option is experimental and may change in future releases.");
@@ -417,4 +583,4 @@ function resolvePackageTarget(pkg) {
417
583
  return `node${normalized}`;
418
584
  }
419
585
  //#endregion
420
- export { parseRange as a, fsCopy as c, fsStat as d, lowestCommonAncestor as f, validateSea as i, fsExists as l, expandBaselineTarget as n, satisfies as o, stripExtname as p, resolveTarget as r, formatBytes as s, buildExe as t, fsRemove as u };
586
+ export { fsStat as A, filename_to_dts as C, fsCopy as D, formatBytes as E, stripExtname as M, fsExists as O, filename_js_to_dts as S, resolveTemplateFn as T, RE_JSON as _, resolveTarget as a, RE_TS as b, normalize$1 as c, isGreaterThanOrEqual as d, tryParse as f, RE_JS as g, RE_DTS_MAP as h, expandBaselineTarget as i, lowestCommonAncestor as j, fsRemove as k, parseRange as l, RE_DTS as m, NODE_SEA_MIN_VERSION_PARSED as n, validateSea as o, RE_CSS as p, buildExe as r, coerce as s, NODE_SEA_MIN_VERSION as t, satisfies as u, RE_NODE_MODULES as v, replaceTemplateName as w, filename_dts_to as x, RE_ROLLDOWN_RUNTIME as y };
@@ -1,9 +1,9 @@
1
- import { v as RE_DTS, y as RE_DTS_MAP } from "./version-CQ98ZBpL-CKvh-HCu.js";
2
- import { a as createDebug, r as requireTSApi } from "./require-BbBF8Ii0-S6Y65RhW.js";
3
- import { t as globalContext } from "./dist-DquISSoY.js";
1
+ import { r as createDebug } from "./main-Du9xCnhX.js";
2
+ import { h as RE_DTS_MAP, m as RE_DTS } from "./target-HZbF5Cux-Cmv1LI5D.js";
3
+ import { n as globalContext, t as requireTSApi } from "./dist-BebyOHRu.js";
4
4
  import path from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
- //#region ../../node_modules/.pnpm/rolldown-plugin-dts@0.28.6_@typescript+native-preview@7.0.0-dev.20260605.1_@volar+types_969a2c93bc9b761d4191bb0e75b7732a/node_modules/rolldown-plugin-dts/dist/tsc-CJA_TTZv.mjs
6
+ //#region ../../node_modules/.pnpm/rolldown-plugin-dts@0.28.8_@typescript+native-preview@7.0.0-dev.20260707.2_@volar+types_4c1d5de710c0092ce9c83871c07b3140/node_modules/rolldown-plugin-dts/dist/tsc-CJA_TTZv.mjs
7
7
  const debug$3 = createDebug("rolldown-plugin-dts:tsc-system");
8
8
  const ts$3 = requireTSApi();
9
9
  /**
@@ -1,12 +1,12 @@
1
1
  import { i as __toESM } from "./rolldown-runtime-B4iAMlE-.js";
2
- import { d as toArray, r as importWithError, s as resolveComma } from "./style-DiMP8pYv-DIC5PXeH.js";
3
- import { n as expandBaselineTarget } from "./target-DgdLrXba-BygiKCU8.js";
2
+ import { c as importWithError, f as resolveComma, g as toArray } from "./main-Du9xCnhX.js";
3
+ import { i as expandBaselineTarget } from "./target-HZbF5Cux-Cmv1LI5D.js";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
6
  import { readFileSync } from "node:fs";
7
7
  import { readFile } from "node:fs/promises";
8
8
  import { ResolverFactory } from "@voidzero-dev/vite-plus-core/rolldown/experimental";
9
- //#region ../../node_modules/.pnpm/@tsdown+css@0.23.0_jiti@2.7.0_postcss-import@16.2.0_postcss@8.5.28__postcss-modules@9.0_9eb8cb267bbbb73fcfb5dbe1e056f9b1/node_modules/@tsdown/css/dist/index.mjs
9
+ //#region ../../node_modules/.pnpm/@tsdown+css@0.23.1_jiti@2.7.0_postcss-import@16.2.0_postcss@8.5.29__postcss-modules@9.0_89d4a48b4231935ad11ddff5e4171f5b/node_modules/@tsdown/css/dist/index.mjs
10
10
  const defaultCssBundleName = "style.css";
11
11
  function resolveCssOptions(options = {}, topLevelTarget, unbundle) {
12
12
  let cssTarget;
@@ -609,7 +609,7 @@ async function loadFileConfig(searchPath) {
609
609
  if (cached !== void 0) return cached;
610
610
  const promise = (async () => {
611
611
  try {
612
- const postcssrc = (await import("./src-pN7Bl6zo.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1))).default;
612
+ const postcssrc = (await import("./src-CBWRkeF5.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1))).default;
613
613
  const result = await postcssrc({}, searchPath);
614
614
  return {
615
615
  options: result.options,
@@ -1,52 +1,14 @@
1
- import { n as x, r as createDebug } from "./main-CyNcZUzu.js";
2
- import { g as tryParse, n as normalize$1, p as isGreaterOrEqual } from "./version-CQ98ZBpL-CKvh-HCu.js";
3
- import { createRequire } from "node:module";
1
+ import { n as x, r as createDebug } from "./main-Du9xCnhX.js";
2
+ import { O as fsExists, c as normalize$1, d as isGreaterThanOrEqual, f as tryParse, k as fsRemove, n as NODE_SEA_MIN_VERSION_PARSED, t as NODE_SEA_MIN_VERSION } from "./target-HZbF5Cux-Cmv1LI5D.js";
4
3
  import process from "node:process";
5
- import { styleText } from "node:util";
6
4
  import path from "node:path";
7
5
  import { pipeline } from "node:stream/promises";
8
6
  import { Readable } from "node:stream";
9
7
  import { createReadStream, createWriteStream } from "node:fs";
10
- import { access, chmod, mkdir, rename, rm } from "node:fs/promises";
8
+ import { chmod, mkdir, rename } from "node:fs/promises";
11
9
  import os from "node:os";
12
10
  import { createHash } from "node:crypto";
13
- //#region ../../node_modules/.pnpm/tsdown@0.23.0_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.0_@tsdown+exe@0.23.0_@type_7b08cc352732b21e77c25829520d559f/node_modules/tsdown/dist/format-DLxyxnif.mjs
14
- function fsExists(path) {
15
- return access(path).then(() => true, () => false);
16
- }
17
- function fsRemove(path) {
18
- return rm(path, {
19
- force: true,
20
- recursive: true
21
- }).catch(() => {});
22
- }
23
- createRequire(import.meta.url)("./npm_entry_picomatch.cjs");
24
- let supportRGB = !!process.stdout.hasColors?.(2 ** 24);
25
- if (supportRGB) try {
26
- styleText("#000", "");
27
- } catch {
28
- supportRGB = false;
29
- }
30
- const factory = (...formats) => new Proxy(styleText.bind(void 0, formats), { get: (_, format) => {
31
- if (format[0] === "#") {
32
- const [color, fallback] = format.split(",", 2);
33
- if (!supportRGB) return fallback ? factory(...formats, fallback) : factory(...formats);
34
- return factory(...formats, color);
35
- }
36
- return factory(...formats, format);
37
- } });
38
- factory();
39
- //#endregion
40
- //#region ../../node_modules/.pnpm/tsdown@0.23.0_@arethetypeswrong+core@0.18.2_@tsdown+css@0.23.0_@tsdown+exe@0.23.0_@type_7b08cc352732b21e77c25829520d559f/node_modules/tsdown/dist/target-DgdLrXba.mjs
41
- const NODE_SEA_MIN_VERSION = "25.7.0";
42
- const NODE_SEA_MIN_VERSION_PARSED = {
43
- major: 25,
44
- minor: 7,
45
- patch: 0
46
- };
47
- createDebug("tsdown:exe");
48
- //#endregion
49
- //#region ../../node_modules/.pnpm/@tsdown+exe@0.23.0_tsdown@0.23.0/node_modules/@tsdown/exe/dist/index.mjs
11
+ //#region ../../node_modules/.pnpm/@tsdown+exe@0.23.1_tsdown@0.23.1/node_modules/@tsdown/exe/dist/index.mjs
50
12
  function getCacheDir() {
51
13
  const home = os.homedir();
52
14
  if (process.platform === "win32") {
@@ -88,7 +50,7 @@ async function resolveNodeVersion(nodeVersion, nodeDistIndexUrl = "https://nodej
88
50
  }
89
51
  const version = tryParse(nodeVersion);
90
52
  if (!version) throw new Error(`Invalid Node.js version: ${nodeVersion}. Please provide a valid version string (e.g., "25.7.0").`);
91
- if (!isGreaterOrEqual(version, NODE_SEA_MIN_VERSION_PARSED)) throw new Error(`Node.js ${version} does not support SEA (Single Executable Applications). Required minimum version is ${NODE_SEA_MIN_VERSION}. Please update the nodeVersion in your target configuration.`);
53
+ if (!isGreaterThanOrEqual(version, NODE_SEA_MIN_VERSION_PARSED)) throw new Error(`Node.js ${version} does not support SEA (Single Executable Applications). Required minimum version is ${NODE_SEA_MIN_VERSION}. Please update the nodeVersion in your target configuration.`);
92
54
  return normalize$1(version);
93
55
  }
94
56
  function getTargetSuffix(target) {
@@ -9,7 +9,7 @@ let nanoid = (size = 21) => {
9
9
  return id;
10
10
  };
11
11
  //#endregion
12
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/typeof.js
12
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
13
13
  function _typeof(o) {
14
14
  "@babel/helpers - typeof";
15
15
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -19,7 +19,7 @@ function _typeof(o) {
19
19
  }, _typeof(o);
20
20
  }
21
21
  //#endregion
22
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/toPrimitive.js
22
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
23
23
  function toPrimitive(t, r) {
24
24
  if ("object" != _typeof(t) || !t) return t;
25
25
  var e = t[Symbol.toPrimitive];
@@ -31,13 +31,13 @@ function toPrimitive(t, r) {
31
31
  return ("string" === r ? String : Number)(t);
32
32
  }
33
33
  //#endregion
34
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/toPropertyKey.js
34
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
35
35
  function toPropertyKey(t) {
36
36
  var i = toPrimitive(t, "string");
37
37
  return "symbol" == _typeof(i) ? i : i + "";
38
38
  }
39
39
  //#endregion
40
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/defineProperty.js
40
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
41
41
  function _defineProperty(e, r, t) {
42
42
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
43
43
  value: t,
@@ -73,8 +73,8 @@ var HMRContext = class {
73
73
  else if (Array.isArray(deps)) this.acceptDeps(deps, callback);
74
74
  else throw new Error(`invalid hot.accept() usage.`);
75
75
  }
76
- acceptExports(_, callback) {
77
- this.acceptDeps([this.ownerPath], ([mod]) => callback?.(mod));
76
+ acceptExports(exportNames, callback) {
77
+ this.acceptDeps([this.ownerPath], ([mod]) => callback?.(mod), typeof exportNames === "string" ? [exportNames] : exportNames);
78
78
  }
79
79
  dispose(cb) {
80
80
  this.hmrClient.disposeMap.set(this.ownerPath, cb);
@@ -127,14 +127,15 @@ var HMRContext = class {
127
127
  data
128
128
  });
129
129
  }
130
- acceptDeps(deps, callback = () => {}) {
130
+ acceptDeps(deps, callback = () => {}, exports) {
131
131
  const mod = this.hmrClient.hotModulesMap.get(this.ownerPath) || {
132
132
  id: this.ownerPath,
133
133
  callbacks: []
134
134
  };
135
135
  mod.callbacks.push({
136
136
  deps,
137
- fn: callback
137
+ fn: callback,
138
+ exports
138
139
  });
139
140
  this.hmrClient.hotModulesMap.set(this.ownerPath, mod);
140
141
  }
@@ -247,10 +248,28 @@ var BundledDevHMRClient = class extends HMRClient {
247
248
  _defineProperty(this, "reloadPending", false);
248
249
  }
249
250
  isSelfAccepted(id) {
250
- return this.hotModulesMap.get(id)?.callbacks.some((c) => c.deps.includes(id)) ?? false;
251
+ return this.acceptsDep(id, id);
251
252
  }
252
253
  acceptsDep(parent, id) {
253
- return this.hotModulesMap.get(parent)?.callbacks.some((c) => c.deps.includes(id)) ?? false;
254
+ return this.hotModulesMap.get(parent)?.callbacks.some((c) => !c.exports && c.deps.includes(id)) ?? false;
255
+ }
256
+ getAcceptedExports(id) {
257
+ let accepted;
258
+ for (const c of this.hotModulesMap.get(id)?.callbacks ?? []) {
259
+ if (!c.exports) continue;
260
+ accepted ?? (accepted = /* @__PURE__ */ new Set());
261
+ for (const name of c.exports) accepted.add(name);
262
+ }
263
+ return accepted;
264
+ }
265
+ acceptsAllExports(id, accepted) {
266
+ const exports = this.runtime.loadExports(id);
267
+ if (typeof exports !== "object" || exports == null) return false;
268
+ return Object.keys(exports).every((name) => accepted.has(name));
269
+ }
270
+ importsOnlyAccepted(parent, id, accepted) {
271
+ if (!this.options.partialAccept) return false;
272
+ return this.runtime.getImportedBindings(parent, id)?.every((name) => accepted.has(name)) ?? false;
254
273
  }
255
274
  computeHmrUpdate(changedIds, opts) {
256
275
  const boundaries = [];
@@ -275,16 +294,18 @@ var BundledDevHMRClient = class extends HMRClient {
275
294
  type: "full-reload",
276
295
  reason: `update propagated back to ${firstInvalidatedBy}, which already called \`import.meta.hot.invalidate()\``
277
296
  };
278
- if (this.isSelfAccepted(id)) {
297
+ const acceptedExports = this.getAcceptedExports(id);
298
+ const selfAccepted = this.isSelfAccepted(id) || acceptedExports !== void 0 && this.acceptsAllExports(id, acceptedExports);
299
+ if (selfAccepted || acceptedExports) {
279
300
  boundaries.push({
280
301
  boundary: id,
281
302
  acceptedVia: id,
282
303
  isWithinCircularImport: this.isNodeWithinCircularImports(id, stack)
283
304
  });
284
- return;
305
+ if (selfAccepted) return;
285
306
  }
286
307
  const parents = this.runtime.getImporters(id).filter((p) => this.runtime.isExecuted(p));
287
- if (!parents.length) return {
308
+ if (!acceptedExports && !parents.length) return {
288
309
  type: "full-reload",
289
310
  reason: `no hmr boundary found for module \`${id}\``
290
311
  };
@@ -298,6 +319,7 @@ var BundledDevHMRClient = class extends HMRClient {
298
319
  });
299
320
  continue;
300
321
  }
322
+ if (acceptedExports && this.importsOnlyAccepted(parent, id, acceptedExports)) continue;
301
323
  if (!stack.includes(parent)) {
302
324
  const fullReload = this.bubble(parent, subChain, updateSet, boundaries, firstInvalidatedBy, traversedModules);
303
325
  if (fullReload) return fullReload;
@@ -1537,7 +1559,7 @@ function updateStyle(id, content) {
1537
1559
  }, 0);
1538
1560
  } else lastInsertedStyle.insertAdjacentElement("afterend", style);
1539
1561
  lastInsertedStyle = style;
1540
- } else style.textContent = content;
1562
+ } else if (style.textContent !== content) style.textContent = content;
1541
1563
  sheetsMap.set(id, style);
1542
1564
  }
1543
1565
  function removeStyle(id) {
@@ -1576,12 +1598,7 @@ if (typeof DevRuntime !== "undefined") {
1576
1598
  });
1577
1599
  }
1578
1600
  createModuleHotContext(moduleId) {
1579
- const ctx = new BundledDevHMRContext(bundledDevHmrClient, moduleId);
1580
- ctx._internal = {
1581
- updateStyle,
1582
- removeStyle
1583
- };
1584
- return ctx;
1601
+ return new BundledDevHMRContext(bundledDevHmrClient, moduleId);
1585
1602
  }
1586
1603
  }
1587
1604
  const clientId = nanoid();
@@ -1596,6 +1613,7 @@ if (typeof DevRuntime !== "undefined") {
1596
1613
  debug: (...msg) => console.debug("[vite]", ...msg)
1597
1614
  }, transport, runtime, {
1598
1615
  base,
1616
+ partialAccept: __HMR_PARTIAL_ACCEPT__,
1599
1617
  beforeApply: clearOverlayOrReloadOnFirstUpdate
1600
1618
  });
1601
1619
  registerBundledDevClient(bundledDevHmrClient);
@@ -432,7 +432,7 @@ function isHighSurrogate(value) {
432
432
  return value >= "\ud800" && value <= "\udbff";
433
433
  }
434
434
  //#endregion
435
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/typeof.js
435
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
436
436
  function _typeof(o) {
437
437
  "@babel/helpers - typeof";
438
438
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -442,7 +442,7 @@ function _typeof(o) {
442
442
  }, _typeof(o);
443
443
  }
444
444
  //#endregion
445
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/toPrimitive.js
445
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
446
446
  function toPrimitive(t, r) {
447
447
  if ("object" != _typeof(t) || !t) return t;
448
448
  var e = t[Symbol.toPrimitive];
@@ -454,13 +454,13 @@ function toPrimitive(t, r) {
454
454
  return ("string" === r ? String : Number)(t);
455
455
  }
456
456
  //#endregion
457
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/toPropertyKey.js
457
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
458
458
  function toPropertyKey(t) {
459
459
  var i = toPrimitive(t, "string");
460
460
  return "symbol" == _typeof(i) ? i : i + "";
461
461
  }
462
462
  //#endregion
463
- //#region \0@oxc-project+runtime@0.152.0/helpers/esm/defineProperty.js
463
+ //#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
464
464
  function _defineProperty(e, r, t) {
465
465
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
466
466
  value: t,
@@ -496,8 +496,8 @@ var HMRContext = class {
496
496
  else if (Array.isArray(deps)) this.acceptDeps(deps, callback);
497
497
  else throw new Error(`invalid hot.accept() usage.`);
498
498
  }
499
- acceptExports(_, callback) {
500
- this.acceptDeps([this.ownerPath], ([mod]) => callback?.(mod));
499
+ acceptExports(exportNames, callback) {
500
+ this.acceptDeps([this.ownerPath], ([mod]) => callback?.(mod), typeof exportNames === "string" ? [exportNames] : exportNames);
501
501
  }
502
502
  dispose(cb) {
503
503
  this.hmrClient.disposeMap.set(this.ownerPath, cb);
@@ -550,14 +550,15 @@ var HMRContext = class {
550
550
  data
551
551
  });
552
552
  }
553
- acceptDeps(deps, callback = () => {}) {
553
+ acceptDeps(deps, callback = () => {}, exports) {
554
554
  const mod = this.hmrClient.hotModulesMap.get(this.ownerPath) || {
555
555
  id: this.ownerPath,
556
556
  callbacks: []
557
557
  };
558
558
  mod.callbacks.push({
559
559
  deps,
560
- fn: callback
560
+ fn: callback,
561
+ exports
561
562
  });
562
563
  this.hmrClient.hotModulesMap.set(this.ownerPath, mod);
563
564
  }
@@ -1295,7 +1296,7 @@ function updateStyle(id, content) {
1295
1296
  }, 0);
1296
1297
  } else lastInsertedStyle.insertAdjacentElement("afterend", style);
1297
1298
  lastInsertedStyle = style;
1298
- } else style.textContent = content;
1299
+ } else if (style.textContent !== content) style.textContent = content;
1299
1300
  sheetsMap.set(id, style);
1300
1301
  }
1301
1302
  function removeStyle(id) {