@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/cli.js CHANGED
@@ -1946,7 +1946,7 @@ async function createServer(inlineConfig = {}) {
1946
1946
  const localUrl = `http://localhost:${actualPort}`;
1947
1947
  const networkUrl = host === "0.0.0.0" ? `http://${getNetworkAddress()}:${actualPort}` : null;
1948
1948
  console.log();
1949
- console.log(pc.cyan(" nasti dev server") + pc.dim(` v${"1.6.5"}`));
1949
+ console.log(pc.cyan(" nasti dev server") + pc.dim(` v${"1.7.0"}`));
1950
1950
  console.log();
1951
1951
  console.log(` ${pc.green(">")} Local: ${pc.cyan(localUrl)}`);
1952
1952
  if (networkUrl) {
@@ -2069,7 +2069,7 @@ import pc2 from "picocolors";
2069
2069
  async function build(inlineConfig = {}) {
2070
2070
  const config = await resolveConfig(inlineConfig, "build");
2071
2071
  const startTime = performance.now();
2072
- console.log(pc2.cyan("\n\u{1F528} nasti build") + pc2.dim(` v${"1.6.5"}`));
2072
+ console.log(pc2.cyan("\n\u{1F528} nasti build") + pc2.dim(` v${"1.7.0"}`));
2073
2073
  console.log(pc2.dim(` root: ${config.root}`));
2074
2074
  console.log(pc2.dim(` mode: ${config.mode}`));
2075
2075
  const outDir = path11.resolve(config.root, config.build.outDir);
@@ -2123,11 +2123,12 @@ async function build(inlineConfig = {}) {
2123
2123
  };
2124
2124
  const env = loadEnv(config.mode, config.root, config.envPrefix);
2125
2125
  const envDefine = buildEnvDefine(env, config.mode);
2126
- const existingTransform = config.build.rolldownOptions?.transform;
2127
- const mergedDefine = { ...existingTransform?.define ?? {}, ...envDefine };
2126
+ const { output: userOutput, transform: userTransform, ...restInputOptions } = config.build.rolldownOptions;
2127
+ const mergedDefine = { ...userTransform?.define ?? {}, ...envDefine };
2128
2128
  const bundle = await rolldown({
2129
+ ...restInputOptions,
2129
2130
  input: entryPoints,
2130
- transform: { ...existingTransform, define: mergedDefine },
2131
+ transform: { ...userTransform, define: mergedDefine },
2131
2132
  plugins: [
2132
2133
  oxcTransformPlugin,
2133
2134
  // 转换 Nasti 插件为 Rolldown 插件格式
@@ -2143,17 +2144,19 @@ async function build(inlineConfig = {}) {
2143
2144
  // manifest/SW writers) rely on for final-stage artifact emission.
2144
2145
  closeBundle: p.closeBundle
2145
2146
  }))
2146
- ],
2147
- ...config.build.rolldownOptions
2147
+ ]
2148
2148
  });
2149
2149
  const { output } = await bundle.write({
2150
- dir: outDir,
2151
2150
  format: "esm",
2152
2151
  sourcemap: !!config.build.sourcemap,
2153
2152
  minify: !!config.build.minify,
2154
2153
  entryFileNames: "assets/[name].[hash].js",
2155
2154
  chunkFileNames: "assets/[name].[hash].js",
2156
- assetFileNames: "assets/[name].[hash][extname]"
2155
+ assetFileNames: "assets/[name].[hash][extname]",
2156
+ // 用户可覆盖默认输出:代码拆分(advancedChunks / codeSplitting)、chunk 命名等
2157
+ ...userOutput,
2158
+ // dir 始终由 Nasti 掌管 —— 下方 HTML 改写依赖固定的产物目录,故放在最后强制生效
2159
+ dir: outDir
2157
2160
  });
2158
2161
  await bundle.close();
2159
2162
  await pluginContainer.buildEnd();
@@ -2235,7 +2238,7 @@ async function buildElectron(inlineConfig = {}) {
2235
2238
  const config = await resolveConfig({ ...inlineConfig, target: "electron" }, "build");
2236
2239
  const startTime = performance.now();
2237
2240
  assertElectronVersion(config);
2238
- console.log(pc3.cyan("\n\u26A1 nasti build (electron)") + pc3.dim(` v${"1.6.5"}`));
2241
+ console.log(pc3.cyan("\n\u26A1 nasti build (electron)") + pc3.dim(` v${"1.7.0"}`));
2239
2242
  console.log(pc3.dim(` root: ${config.root}`));
2240
2243
  console.log(pc3.dim(` mode: ${config.mode}`));
2241
2244
  console.log(pc3.dim(` target: electron (\u2265 ${config.electron.minVersion})`));
@@ -2313,21 +2316,23 @@ async function bundleNode(config, entry, opts) {
2313
2316
  return { code: result.code, map: result.map ? JSON.parse(result.map) : void 0 };
2314
2317
  }
2315
2318
  };
2316
- const existingTransform = config.build.rolldownOptions?.transform;
2317
- const mergedDefine = { ...existingTransform?.define ?? {}, ...envDefine };
2319
+ const { output: userOutput, transform: userTransform, ...restInputOptions } = config.build.rolldownOptions;
2320
+ const mergedDefine = { ...userTransform?.define ?? {}, ...envDefine };
2318
2321
  const bundle = await rolldown2({
2322
+ ...restInputOptions,
2319
2323
  input: entry,
2320
- transform: { ...existingTransform, define: mergedDefine },
2321
2324
  platform: "node",
2322
- plugins: [oxcTransformPlugin, electronPlugin(config), resolvePlugin(config)],
2323
- ...config.build.rolldownOptions
2325
+ transform: { ...userTransform, define: mergedDefine },
2326
+ plugins: [oxcTransformPlugin, electronPlugin(config), resolvePlugin(config)]
2324
2327
  });
2325
2328
  fs9.mkdirSync(path12.dirname(opts.outFile), { recursive: true });
2326
2329
  await bundle.write({
2327
- file: opts.outFile,
2328
- format: opts.format === "cjs" ? "cjs" : "esm",
2329
2330
  sourcemap: !!config.build.sourcemap,
2330
2331
  minify: !!config.build.minify,
2332
+ // 允许用户微调 output;但主进程 / preload 的单文件约束由下方键强制保证
2333
+ ...userOutput,
2334
+ file: opts.outFile,
2335
+ format: opts.format === "cjs" ? "cjs" : "esm",
2331
2336
  codeSplitting: false
2332
2337
  });
2333
2338
  await bundle.close();
@@ -2391,7 +2396,7 @@ async function startElectronDev(inlineConfig = {}) {
2391
2396
  const { noSpawn, ...rest } = inlineConfig;
2392
2397
  const config = await resolveConfig({ ...rest, target: "electron" }, "serve");
2393
2398
  warnElectronVersion(config);
2394
- console.log(pc4.cyan("\n\u26A1 nasti electron dev") + pc4.dim(` v${"1.6.5"}`));
2399
+ console.log(pc4.cyan("\n\u26A1 nasti electron dev") + pc4.dim(` v${"1.7.0"}`));
2395
2400
  const { createServer: createServer2 } = await Promise.resolve().then(() => (init_server(), server_exports));
2396
2401
  const server = await createServer2({ ...rest, target: "electron" });
2397
2402
  await server.listen();
@@ -2718,6 +2723,6 @@ cli.command("preview [root]", "Preview production build").option("--port <port>"
2718
2723
  }
2719
2724
  });
2720
2725
  cli.help();
2721
- cli.version("1.6.5");
2726
+ cli.version("1.7.0");
2722
2727
  cli.parse();
2723
2728
  //# sourceMappingURL=cli.js.map