@nasti-toolchain/nasti 1.6.5 → 1.7.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.
package/dist/index.cjs CHANGED
@@ -924,7 +924,7 @@ __export(build_exports, {
924
924
  async function build(inlineConfig = {}) {
925
925
  const config = await resolveConfig(inlineConfig, "build");
926
926
  const startTime = performance.now();
927
- console.log(import_picocolors.default.cyan("\n\u{1F528} nasti build") + import_picocolors.default.dim(` v${"1.6.5"}`));
927
+ console.log(import_picocolors.default.cyan("\n\u{1F528} nasti build") + import_picocolors.default.dim(` v${"1.7.0"}`));
928
928
  console.log(import_picocolors.default.dim(` root: ${config.root}`));
929
929
  console.log(import_picocolors.default.dim(` mode: ${config.mode}`));
930
930
  const outDir = import_node_path8.default.resolve(config.root, config.build.outDir);
@@ -978,11 +978,12 @@ async function build(inlineConfig = {}) {
978
978
  };
979
979
  const env = loadEnv(config.mode, config.root, config.envPrefix);
980
980
  const envDefine = buildEnvDefine(env, config.mode);
981
- const existingTransform = config.build.rolldownOptions?.transform;
982
- const mergedDefine = { ...existingTransform?.define ?? {}, ...envDefine };
981
+ const { output: userOutput, transform: userTransform, ...restInputOptions } = config.build.rolldownOptions;
982
+ const mergedDefine = { ...userTransform?.define ?? {}, ...envDefine };
983
983
  const bundle = await (0, import_rolldown.rolldown)({
984
+ ...restInputOptions,
984
985
  input: entryPoints,
985
- transform: { ...existingTransform, define: mergedDefine },
986
+ transform: { ...userTransform, define: mergedDefine },
986
987
  plugins: [
987
988
  oxcTransformPlugin,
988
989
  // 转换 Nasti 插件为 Rolldown 插件格式
@@ -998,17 +999,19 @@ async function build(inlineConfig = {}) {
998
999
  // manifest/SW writers) rely on for final-stage artifact emission.
999
1000
  closeBundle: p.closeBundle
1000
1001
  }))
1001
- ],
1002
- ...config.build.rolldownOptions
1002
+ ]
1003
1003
  });
1004
1004
  const { output } = await bundle.write({
1005
- dir: outDir,
1006
1005
  format: "esm",
1007
1006
  sourcemap: !!config.build.sourcemap,
1008
1007
  minify: !!config.build.minify,
1009
1008
  entryFileNames: "assets/[name].[hash].js",
1010
1009
  chunkFileNames: "assets/[name].[hash].js",
1011
- assetFileNames: "assets/[name].[hash][extname]"
1010
+ assetFileNames: "assets/[name].[hash][extname]",
1011
+ // 用户可覆盖默认输出:代码拆分(advancedChunks / codeSplitting)、chunk 命名等
1012
+ ...userOutput,
1013
+ // dir 始终由 Nasti 掌管 —— 下方 HTML 改写依赖固定的产物目录,故放在最后强制生效
1014
+ dir: outDir
1012
1015
  });
1013
1016
  await bundle.close();
1014
1017
  await pluginContainer.buildEnd();
@@ -2134,7 +2137,7 @@ async function createServer(inlineConfig = {}) {
2134
2137
  const localUrl = `http://localhost:${actualPort}`;
2135
2138
  const networkUrl = host === "0.0.0.0" ? `http://${getNetworkAddress()}:${actualPort}` : null;
2136
2139
  console.log();
2137
- console.log(import_picocolors3.default.cyan(" nasti dev server") + import_picocolors3.default.dim(` v${"1.6.5"}`));
2140
+ console.log(import_picocolors3.default.cyan(" nasti dev server") + import_picocolors3.default.dim(` v${"1.7.0"}`));
2138
2141
  console.log();
2139
2142
  console.log(` ${import_picocolors3.default.green(">")} Local: ${import_picocolors3.default.cyan(localUrl)}`);
2140
2143
  if (networkUrl) {
@@ -2278,7 +2281,7 @@ async function buildElectron(inlineConfig = {}) {
2278
2281
  const config = await resolveConfig({ ...inlineConfig, target: "electron" }, "build");
2279
2282
  const startTime = performance.now();
2280
2283
  assertElectronVersion(config);
2281
- console.log(import_picocolors2.default.cyan("\n\u26A1 nasti build (electron)") + import_picocolors2.default.dim(` v${"1.6.5"}`));
2284
+ console.log(import_picocolors2.default.cyan("\n\u26A1 nasti build (electron)") + import_picocolors2.default.dim(` v${"1.7.0"}`));
2282
2285
  console.log(import_picocolors2.default.dim(` root: ${config.root}`));
2283
2286
  console.log(import_picocolors2.default.dim(` mode: ${config.mode}`));
2284
2287
  console.log(import_picocolors2.default.dim(` target: electron (\u2265 ${config.electron.minVersion})`));
@@ -2356,21 +2359,23 @@ async function bundleNode(config, entry, opts) {
2356
2359
  return { code: result.code, map: result.map ? JSON.parse(result.map) : void 0 };
2357
2360
  }
2358
2361
  };
2359
- const existingTransform = config.build.rolldownOptions?.transform;
2360
- const mergedDefine = { ...existingTransform?.define ?? {}, ...envDefine };
2362
+ const { output: userOutput, transform: userTransform, ...restInputOptions } = config.build.rolldownOptions;
2363
+ const mergedDefine = { ...userTransform?.define ?? {}, ...envDefine };
2361
2364
  const bundle = await (0, import_rolldown2.rolldown)({
2365
+ ...restInputOptions,
2362
2366
  input: entry,
2363
- transform: { ...existingTransform, define: mergedDefine },
2364
2367
  platform: "node",
2365
- plugins: [oxcTransformPlugin, electronPlugin(config), resolvePlugin(config)],
2366
- ...config.build.rolldownOptions
2368
+ transform: { ...userTransform, define: mergedDefine },
2369
+ plugins: [oxcTransformPlugin, electronPlugin(config), resolvePlugin(config)]
2367
2370
  });
2368
2371
  import_node_fs7.default.mkdirSync(import_node_path9.default.dirname(opts.outFile), { recursive: true });
2369
2372
  await bundle.write({
2370
- file: opts.outFile,
2371
- format: opts.format === "cjs" ? "cjs" : "esm",
2372
2373
  sourcemap: !!config.build.sourcemap,
2373
2374
  minify: !!config.build.minify,
2375
+ // 允许用户微调 output;但主进程 / preload 的单文件约束由下方键强制保证
2376
+ ...userOutput,
2377
+ file: opts.outFile,
2378
+ format: opts.format === "cjs" ? "cjs" : "esm",
2374
2379
  codeSplitting: false
2375
2380
  });
2376
2381
  await bundle.close();
@@ -2427,7 +2432,7 @@ async function startElectronDev(inlineConfig = {}) {
2427
2432
  const { noSpawn, ...rest } = inlineConfig;
2428
2433
  const config = await resolveConfig({ ...rest, target: "electron" }, "serve");
2429
2434
  warnElectronVersion(config);
2430
- console.log(import_picocolors4.default.cyan("\n\u26A1 nasti electron dev") + import_picocolors4.default.dim(` v${"1.6.5"}`));
2435
+ console.log(import_picocolors4.default.cyan("\n\u26A1 nasti electron dev") + import_picocolors4.default.dim(` v${"1.7.0"}`));
2431
2436
  const { createServer: createServer2 } = await Promise.resolve().then(() => (init_server(), server_exports));
2432
2437
  const server = await createServer2({ ...rest, target: "electron" });
2433
2438
  await server.listen();