robuild 0.1.13 → 0.1.16
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/_chunks/{build-KdFkw9tq.mjs → build-CKpqg1bY.mjs} +82 -37
- package/dist/_chunks/build-DlIVMHjs.mjs +2 -0
- package/dist/_chunks/{config-BGTiuDLt.mjs → config-DnVMMWOP.mjs} +1 -2
- package/dist/_chunks/{dist-Dg_s5x2F.mjs → dist-D0KplbyY.mjs} +2 -4
- package/dist/_chunks/{package-DdqyQztJ.mjs → package-BLUVxg70.mjs} +18 -18
- package/dist/cli.mjs +2 -4
- package/dist/config.mjs +2 -3
- package/dist/index.d.mts +26 -1
- package/dist/index.mjs +3 -11
- package/package.json +17 -16
- package/dist/_chunks/build-BdC3yali.mjs +0 -3
|
@@ -19,7 +19,6 @@ import { transform } from "oxc-transform";
|
|
|
19
19
|
import { glob as glob$1 } from "tinyglobby";
|
|
20
20
|
import { exec } from "node:child_process";
|
|
21
21
|
import { promisify } from "node:util";
|
|
22
|
-
|
|
23
22
|
//#region src/utils/extensions.ts
|
|
24
23
|
/**
|
|
25
24
|
* Get file extension for a given format (with leading dot).
|
|
@@ -96,7 +95,6 @@ function createFilename(basename, format, isDts = false, options = {}) {
|
|
|
96
95
|
if (isDts) return `${basename}.${resolveDtsOutputExtension(format, fixedExtension)}`;
|
|
97
96
|
return `${basename}.${resolveJsOutputExtension(format, platform, fixedExtension)}`;
|
|
98
97
|
}
|
|
99
|
-
|
|
100
98
|
//#endregion
|
|
101
99
|
//#region src/utils/hash.ts
|
|
102
100
|
/**
|
|
@@ -120,7 +118,6 @@ function addHashToFilename(filename, content, hashLength = 8) {
|
|
|
120
118
|
function hasHash(filename) {
|
|
121
119
|
return /-[a-f0-9]{8}(?:\.|$)/.test(filename);
|
|
122
120
|
}
|
|
123
|
-
|
|
124
121
|
//#endregion
|
|
125
122
|
//#region src/utils/node-protocol.ts
|
|
126
123
|
/**
|
|
@@ -210,7 +207,6 @@ function transformNodeProtocol(code, nodeProtocol) {
|
|
|
210
207
|
return match.replace(moduleId, processedId);
|
|
211
208
|
});
|
|
212
209
|
}
|
|
213
|
-
|
|
214
210
|
//#endregion
|
|
215
211
|
//#region src/utils/index.ts
|
|
216
212
|
/**
|
|
@@ -295,7 +291,6 @@ async function distSize(dir, entry) {
|
|
|
295
291
|
async function sideEffectSize(_dir, _entry) {
|
|
296
292
|
return 0;
|
|
297
293
|
}
|
|
298
|
-
|
|
299
294
|
//#endregion
|
|
300
295
|
//#region src/config/entry-resolver.ts
|
|
301
296
|
/**
|
|
@@ -354,7 +349,6 @@ function hasValidInput(entry) {
|
|
|
354
349
|
if (entry.type === "transform") return !!entry.input;
|
|
355
350
|
return !!getBundleEntryInput(entry);
|
|
356
351
|
}
|
|
357
|
-
|
|
358
352
|
//#endregion
|
|
359
353
|
//#region src/config/external.ts
|
|
360
354
|
/**
|
|
@@ -437,7 +431,6 @@ function resolveExternalConfig(ctx, options) {
|
|
|
437
431
|
if (typeof options.external === "function") return options.external;
|
|
438
432
|
return externalDeps;
|
|
439
433
|
}
|
|
440
|
-
|
|
441
434
|
//#endregion
|
|
442
435
|
//#region src/features/css/index.ts
|
|
443
436
|
/**
|
|
@@ -450,11 +443,10 @@ const defaultCssBundleName = "style.css";
|
|
|
450
443
|
function resolveCssOptions(options = {}) {
|
|
451
444
|
return {
|
|
452
445
|
splitting: options.splitting ?? true,
|
|
453
|
-
fileName: options.fileName ??
|
|
446
|
+
fileName: options.fileName ?? "style.css",
|
|
454
447
|
lightningcss: options.lightningcss ?? false
|
|
455
448
|
};
|
|
456
449
|
}
|
|
457
|
-
|
|
458
450
|
//#endregion
|
|
459
451
|
//#region src/utils/lightningcss.ts
|
|
460
452
|
/**
|
|
@@ -507,7 +499,6 @@ function parseVersion(version) {
|
|
|
507
499
|
if (Number.isNaN(major) || Number.isNaN(minor) || Number.isNaN(patch)) return null;
|
|
508
500
|
return major << 16 | minor << 8 | patch;
|
|
509
501
|
}
|
|
510
|
-
|
|
511
502
|
//#endregion
|
|
512
503
|
//#region src/features/css/lightningcss.ts
|
|
513
504
|
/**
|
|
@@ -528,7 +519,6 @@ async function createLightningCSSPlugin(options = {}) {
|
|
|
528
519
|
const targets = targetArray && esbuildTargetToLightningCSS(targetArray);
|
|
529
520
|
return LightningCSS.default({ options: targets ? { targets } : {} });
|
|
530
521
|
}
|
|
531
|
-
|
|
532
522
|
//#endregion
|
|
533
523
|
//#region src/features/css/splitting.ts
|
|
534
524
|
/**
|
|
@@ -614,7 +604,74 @@ function normalizeCssFileName(cssFileName) {
|
|
|
614
604
|
function normalizeChunkFileName(chunkFileName) {
|
|
615
605
|
return chunkFileName.replace(RE_CHUNK_HASH, "").replace(RE_CHUNK_EXT, "");
|
|
616
606
|
}
|
|
617
|
-
|
|
607
|
+
//#endregion
|
|
608
|
+
//#region src/plugins/builtin/css.ts
|
|
609
|
+
/**
|
|
610
|
+
* Built-in CSS plugin for robuild.
|
|
611
|
+
*
|
|
612
|
+
* Since rolldown 1.0.0-rc.9 removed experimental CSS bundling support,
|
|
613
|
+
* this plugin handles CSS files by:
|
|
614
|
+
* 1. Loading CSS file content as text
|
|
615
|
+
* 2. Collecting all CSS content
|
|
616
|
+
* 3. Emitting a combined CSS asset file
|
|
617
|
+
*
|
|
618
|
+
* This allows CSS imports in JS/TS files to work without rolldown errors.
|
|
619
|
+
*/
|
|
620
|
+
function createBuiltinCssPlugin(options = {}) {
|
|
621
|
+
const { fileName = "style.css", splitting = true } = options;
|
|
622
|
+
const cssMap = /* @__PURE__ */ new Map();
|
|
623
|
+
return {
|
|
624
|
+
name: "robuild:css",
|
|
625
|
+
async load(id) {
|
|
626
|
+
if (!id.endsWith(".css")) return null;
|
|
627
|
+
try {
|
|
628
|
+
const content = await readFile(id, "utf-8");
|
|
629
|
+
cssMap.set(id, content);
|
|
630
|
+
} catch {
|
|
631
|
+
cssMap.set(id, "");
|
|
632
|
+
}
|
|
633
|
+
return {
|
|
634
|
+
code: "",
|
|
635
|
+
moduleType: "js"
|
|
636
|
+
};
|
|
637
|
+
},
|
|
638
|
+
generateBundle(_outputOptions, bundle) {
|
|
639
|
+
if (cssMap.size === 0) return;
|
|
640
|
+
if (splitting) {
|
|
641
|
+
const chunks = Object.values(bundle);
|
|
642
|
+
for (const chunk of chunks) {
|
|
643
|
+
if (chunk.type !== "chunk" || !chunk.isEntry) continue;
|
|
644
|
+
const chunkCss = [];
|
|
645
|
+
const visited = /* @__PURE__ */ new Set();
|
|
646
|
+
function collectCss(moduleIds) {
|
|
647
|
+
for (const id of moduleIds) {
|
|
648
|
+
if (visited.has(id)) continue;
|
|
649
|
+
visited.add(id);
|
|
650
|
+
if (cssMap.has(id)) chunkCss.push(cssMap.get(id));
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
collectCss(chunk.moduleIds);
|
|
654
|
+
if (chunkCss.length > 0) {
|
|
655
|
+
const cssContent = chunkCss.join("\n");
|
|
656
|
+
const cssFileName = chunk.fileName.replace(/\.(m?js|cjs)$/, ".css");
|
|
657
|
+
this.emitFile({
|
|
658
|
+
type: "asset",
|
|
659
|
+
fileName: cssFileName,
|
|
660
|
+
source: cssContent
|
|
661
|
+
});
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
} else {
|
|
665
|
+
const allCss = [...cssMap.values()].join("\n");
|
|
666
|
+
if (allCss.trim()) this.emitFile({
|
|
667
|
+
type: "asset",
|
|
668
|
+
fileName,
|
|
669
|
+
source: allCss
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
}
|
|
618
675
|
//#endregion
|
|
619
676
|
//#region src/core/logger.ts
|
|
620
677
|
/**
|
|
@@ -703,7 +760,6 @@ function resetLogCounts() {
|
|
|
703
760
|
function shouldFailOnWarnings(failOnWarn) {
|
|
704
761
|
return logger.shouldFailOnWarnings(failOnWarn);
|
|
705
762
|
}
|
|
706
|
-
|
|
707
763
|
//#endregion
|
|
708
764
|
//#region src/plugins/builtin/glob-import.ts
|
|
709
765
|
/**
|
|
@@ -827,7 +883,6 @@ function parseGlobOptions(optionsStr) {
|
|
|
827
883
|
function hasGlobImports(code) {
|
|
828
884
|
return /import\.meta\.glob\s*\(/.test(code);
|
|
829
885
|
}
|
|
830
|
-
|
|
831
886
|
//#endregion
|
|
832
887
|
//#region src/plugins/builtin/node-protocol.ts
|
|
833
888
|
/**
|
|
@@ -845,7 +900,6 @@ function nodeProtocolPlugin(nodeProtocol) {
|
|
|
845
900
|
}
|
|
846
901
|
};
|
|
847
902
|
}
|
|
848
|
-
|
|
849
903
|
//#endregion
|
|
850
904
|
//#region src/plugins/builtin/shebang.ts
|
|
851
905
|
const SHEBANG_RE = /^#![^\n]*/;
|
|
@@ -866,7 +920,6 @@ function hasShebang(code) {
|
|
|
866
920
|
async function makeExecutable(filePath) {
|
|
867
921
|
await promises.chmod(filePath, 493).catch(() => {});
|
|
868
922
|
}
|
|
869
|
-
|
|
870
923
|
//#endregion
|
|
871
924
|
//#region src/plugins/builtin/shims.ts
|
|
872
925
|
/**
|
|
@@ -1012,7 +1065,6 @@ function createNodeShimsPlugin() {
|
|
|
1012
1065
|
}
|
|
1013
1066
|
};
|
|
1014
1067
|
}
|
|
1015
|
-
|
|
1016
1068
|
//#endregion
|
|
1017
1069
|
//#region src/plugins/builtin/skip-node-modules.ts
|
|
1018
1070
|
/**
|
|
@@ -1041,7 +1093,6 @@ function createSkipNodeModulesPlugin(options) {
|
|
|
1041
1093
|
}
|
|
1042
1094
|
};
|
|
1043
1095
|
}
|
|
1044
|
-
|
|
1045
1096
|
//#endregion
|
|
1046
1097
|
//#region src/plugins/builtin/wasm.ts
|
|
1047
1098
|
/**
|
|
@@ -1077,7 +1128,7 @@ function normalizeWasmConfig(config) {
|
|
|
1077
1128
|
*/
|
|
1078
1129
|
async function createWasmPlugin(config) {
|
|
1079
1130
|
try {
|
|
1080
|
-
const { wasm } = await import("./dist-
|
|
1131
|
+
const { wasm } = await import("./dist-D0KplbyY.mjs");
|
|
1081
1132
|
return wasm({
|
|
1082
1133
|
maxFileSize: config.maxFileSize,
|
|
1083
1134
|
fileName: config.fileName,
|
|
@@ -1089,7 +1140,6 @@ async function createWasmPlugin(config) {
|
|
|
1089
1140
|
throw error;
|
|
1090
1141
|
}
|
|
1091
1142
|
}
|
|
1092
|
-
|
|
1093
1143
|
//#endregion
|
|
1094
1144
|
//#region src/plugins/manager.ts
|
|
1095
1145
|
/**
|
|
@@ -1243,7 +1293,6 @@ var RobuildPluginManager = class {
|
|
|
1243
1293
|
};
|
|
1244
1294
|
}
|
|
1245
1295
|
};
|
|
1246
|
-
|
|
1247
1296
|
//#endregion
|
|
1248
1297
|
//#region src/transforms/banner.ts
|
|
1249
1298
|
/**
|
|
@@ -1277,7 +1326,6 @@ function addBannerFooter(content, banner, footer) {
|
|
|
1277
1326
|
result = addFooter(result, footer);
|
|
1278
1327
|
return result;
|
|
1279
1328
|
}
|
|
1280
|
-
|
|
1281
1329
|
//#endregion
|
|
1282
1330
|
//#region src/transforms/clean.ts
|
|
1283
1331
|
/**
|
|
@@ -1309,7 +1357,6 @@ async function cleanOutputDir(projectRoot, outDir, cleanPaths) {
|
|
|
1309
1357
|
}
|
|
1310
1358
|
}
|
|
1311
1359
|
}
|
|
1312
|
-
|
|
1313
1360
|
//#endregion
|
|
1314
1361
|
//#region src/transforms/copy.ts
|
|
1315
1362
|
/**
|
|
@@ -1334,7 +1381,6 @@ async function copyFiles(cwd, outDir, copyOptions) {
|
|
|
1334
1381
|
}));
|
|
1335
1382
|
logger.verbose("Files copied successfully");
|
|
1336
1383
|
}
|
|
1337
|
-
|
|
1338
1384
|
//#endregion
|
|
1339
1385
|
//#region src/builders/bundle.ts
|
|
1340
1386
|
/**
|
|
@@ -1404,6 +1450,7 @@ async function createBundleInputConfig(ctx, entry, config) {
|
|
|
1404
1450
|
}
|
|
1405
1451
|
}
|
|
1406
1452
|
const cssOptions = resolveCssOptions(config?.css);
|
|
1453
|
+
const hasCssLoader = entry.loaders?.[".css"] !== void 0;
|
|
1407
1454
|
if (cssOptions.lightningcss) {
|
|
1408
1455
|
const lightningPlugin = await createLightningCSSPlugin({ target });
|
|
1409
1456
|
if (lightningPlugin) rolldownPlugins.push(lightningPlugin);
|
|
@@ -1411,9 +1458,14 @@ async function createBundleInputConfig(ctx, entry, config) {
|
|
|
1411
1458
|
logger.warn("LightningCSS is enabled but unplugin-lightningcss is not installed.");
|
|
1412
1459
|
logger.warn("Install it with: pnpm add -D unplugin-lightningcss lightningcss");
|
|
1413
1460
|
}
|
|
1461
|
+
} else if (!hasCssLoader) {
|
|
1462
|
+
rolldownPlugins.push(createBuiltinCssPlugin({
|
|
1463
|
+
fileName: cssOptions.fileName,
|
|
1464
|
+
splitting: cssOptions.splitting
|
|
1465
|
+
}));
|
|
1466
|
+
const cssSplitPlugin = createCssCodeSplitPlugin(cssOptions);
|
|
1467
|
+
if (cssSplitPlugin) rolldownPlugins.push(cssSplitPlugin);
|
|
1414
1468
|
}
|
|
1415
|
-
const cssSplitPlugin = createCssCodeSplitPlugin(cssOptions);
|
|
1416
|
-
if (cssSplitPlugin) rolldownPlugins.push(cssSplitPlugin);
|
|
1417
1469
|
rolldownPlugins.push(...pluginManager.getRolldownPlugins());
|
|
1418
1470
|
const moduleTypes = {};
|
|
1419
1471
|
if (entry.loaders) for (const [ext, loaderConfig] of Object.entries(entry.loaders)) moduleTypes[ext] = loaderConfig.loader;
|
|
@@ -1496,6 +1548,7 @@ async function rolldownBuild(ctx, entry, hooks, config) {
|
|
|
1496
1548
|
const formatOutDir = fullOutDir;
|
|
1497
1549
|
let entryFileName = `[name]${extension}`;
|
|
1498
1550
|
if (entry.fileName) entryFileName = entry.fileName;
|
|
1551
|
+
else if (entry.outExtensions) entryFileName = `[name].${applyOutExtensions(format, entry.outExtensions).js}`;
|
|
1499
1552
|
else if (isMultiFormat) {
|
|
1500
1553
|
if (format === "cjs" || format === "commonjs") entryFileName = `[name].cjs`;
|
|
1501
1554
|
else if (format === "es" || format === "esm" || format === "module") entryFileName = `[name].mjs`;
|
|
@@ -1675,7 +1728,6 @@ function normalizeBundleInputs(input, ctx) {
|
|
|
1675
1728
|
}
|
|
1676
1729
|
return inputs;
|
|
1677
1730
|
}
|
|
1678
|
-
|
|
1679
1731
|
//#endregion
|
|
1680
1732
|
//#region src/builders/unbundle.ts
|
|
1681
1733
|
/**
|
|
@@ -1780,7 +1832,6 @@ function getUnbundleOutputExtension(inputExt, entry) {
|
|
|
1780
1832
|
default: return ".js";
|
|
1781
1833
|
}
|
|
1782
1834
|
}
|
|
1783
|
-
|
|
1784
1835
|
//#endregion
|
|
1785
1836
|
//#region src/builders/transform.ts
|
|
1786
1837
|
/**
|
|
@@ -1941,7 +1992,6 @@ async function transformModule(entryPath, entry) {
|
|
|
1941
1992
|
if (entry.nodeProtocol) transformed.code = transformNodeProtocol(transformed.code, entry.nodeProtocol);
|
|
1942
1993
|
return transformed;
|
|
1943
1994
|
}
|
|
1944
|
-
|
|
1945
1995
|
//#endregion
|
|
1946
1996
|
//#region src/config/vite-config.ts
|
|
1947
1997
|
/**
|
|
@@ -2080,7 +2130,6 @@ function mergeViteConfig(viteConfig, config) {
|
|
|
2080
2130
|
...config
|
|
2081
2131
|
};
|
|
2082
2132
|
}
|
|
2083
|
-
|
|
2084
2133
|
//#endregion
|
|
2085
2134
|
//#region src/transforms/exports.ts
|
|
2086
2135
|
/**
|
|
@@ -2224,7 +2273,6 @@ function updatePackageJsonExports(packageRoot, exports) {
|
|
|
2224
2273
|
throw new Error(`Failed to update package.json: ${error}`);
|
|
2225
2274
|
}
|
|
2226
2275
|
}
|
|
2227
|
-
|
|
2228
2276
|
//#endregion
|
|
2229
2277
|
//#region src/transforms/on-success.ts
|
|
2230
2278
|
const execAsync = promisify(exec);
|
|
@@ -2261,14 +2309,13 @@ function createBuildResult(entries, startTime) {
|
|
|
2261
2309
|
duration: Date.now() - startTime
|
|
2262
2310
|
};
|
|
2263
2311
|
}
|
|
2264
|
-
|
|
2265
2312
|
//#endregion
|
|
2266
2313
|
//#region src/watch.ts
|
|
2267
2314
|
/**
|
|
2268
2315
|
* Perform watch build using rolldown's built-in watch mode
|
|
2269
2316
|
*/
|
|
2270
2317
|
async function performWatchBuild(config, ctx, startTime) {
|
|
2271
|
-
const { performBuild } = await import("./build-
|
|
2318
|
+
const { performBuild } = await import("./build-DlIVMHjs.mjs");
|
|
2272
2319
|
await performBuild(config, ctx, startTime);
|
|
2273
2320
|
const bundleEntries = (config.entries || []).filter((entry) => {
|
|
2274
2321
|
if (typeof entry === "string") return !entry.endsWith("/");
|
|
@@ -2288,7 +2335,7 @@ async function performWatchBuild(config, ctx, startTime) {
|
|
|
2288
2335
|
*/
|
|
2289
2336
|
async function startRolldownWatch(config, ctx, bundleEntries) {
|
|
2290
2337
|
logger.info("Watching for changes...");
|
|
2291
|
-
const { inheritConfig } = await import("./build-
|
|
2338
|
+
const { inheritConfig } = await import("./build-DlIVMHjs.mjs");
|
|
2292
2339
|
const watchConfigs = [];
|
|
2293
2340
|
for (const rawEntry of bundleEntries) {
|
|
2294
2341
|
let entry = typeof rawEntry === "string" ? parseEntryString(rawEntry) : rawEntry;
|
|
@@ -2340,7 +2387,6 @@ async function startRolldownWatch(config, ctx, bundleEntries) {
|
|
|
2340
2387
|
process.on("SIGTERM", cleanup);
|
|
2341
2388
|
return new Promise(() => {});
|
|
2342
2389
|
}
|
|
2343
|
-
|
|
2344
2390
|
//#endregion
|
|
2345
2391
|
//#region src/build.ts
|
|
2346
2392
|
/**
|
|
@@ -2471,6 +2517,5 @@ async function performBuild(config, ctx, startTime) {
|
|
|
2471
2517
|
async function readJSON(specifier) {
|
|
2472
2518
|
return (await import(specifier, { with: { type: "json" } })).default;
|
|
2473
2519
|
}
|
|
2474
|
-
|
|
2475
2520
|
//#endregion
|
|
2476
|
-
export { resolveCssOptions as S, configureLogger as _, createSkipNodeModulesPlugin as a,
|
|
2521
|
+
export { resolveCssOptions as C, esbuildTargetToLightningCSS as S, configureLogger as _, createSkipNodeModulesPlugin as a, createCssCodeSplitPlugin as b, createNodeShimsPlugin as c, hasShebang as d, makeExecutable as f, hasGlobImports as g, createGlobImportPlugin as h, RobuildPluginManager as i, createShimsPlugin as l, nodeProtocolPlugin as m, inheritConfig as n, DEFAULT_SHIMS_CONFIG as o, shebangPlugin as p, performBuild as r, createBrowserShimsPlugin as s, build as t, SHEBANG_RE as u, logger as v, createLightningCSSPlugin as x, createBuiltinCssPlugin as y };
|
|
@@ -3,8 +3,7 @@ import { readFile } from "node:fs/promises";
|
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
5
5
|
import { exactRegex, id, include, or } from "rolldown/filter";
|
|
6
|
-
|
|
7
|
-
//#region node_modules/.pnpm/rolldown-plugin-wasm@0.2.1_rolldown@1.0.0-rc.5/node_modules/rolldown-plugin-wasm/dist/index.mjs
|
|
6
|
+
//#region node_modules/.pnpm/rolldown-plugin-wasm@0.2.1_rolldown@1.0.0-rc.9/node_modules/rolldown-plugin-wasm/dist/index.mjs
|
|
8
7
|
const HELPERS_ID = "\0wasm-helpers.js";
|
|
9
8
|
const nodeFilePath = `
|
|
10
9
|
const { readFile } = process.getBuiltinModule('fs/promises')
|
|
@@ -242,6 +241,5 @@ ${isInit ? "export default " : ""}function __wasm_init(imports) {
|
|
|
242
241
|
}
|
|
243
242
|
};
|
|
244
243
|
}
|
|
245
|
-
|
|
246
244
|
//#endregion
|
|
247
|
-
export { wasm };
|
|
245
|
+
export { wasm };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var package_default = {
|
|
3
3
|
name: "robuild",
|
|
4
4
|
type: "module",
|
|
5
|
-
version: "0.1.
|
|
5
|
+
version: "0.1.16",
|
|
6
6
|
packageManager: "pnpm@10.11.1",
|
|
7
7
|
description: "Zero-config ESM/TS package builder. Powered by Rolldown and Oxc",
|
|
8
8
|
license: "MIT",
|
|
@@ -43,8 +43,8 @@ var package_default = {
|
|
|
43
43
|
"prepare": "husky"
|
|
44
44
|
},
|
|
45
45
|
dependencies: {
|
|
46
|
-
"c12": "4.0.0-beta.
|
|
47
|
-
"cac": "^
|
|
46
|
+
"c12": "4.0.0-beta.4",
|
|
47
|
+
"cac": "^7.0.0",
|
|
48
48
|
"chokidar": "^5.0.0",
|
|
49
49
|
"consola": "^3.4.2",
|
|
50
50
|
"exsolve": "^1.0.8",
|
|
@@ -52,36 +52,36 @@ var package_default = {
|
|
|
52
52
|
"jiti": "^2.6.1",
|
|
53
53
|
"js-yaml": "^4.1.1",
|
|
54
54
|
"magic-string": "^0.30.21",
|
|
55
|
-
"minimatch": "^10.2.
|
|
56
|
-
"oxc-minify": "^0.
|
|
57
|
-
"oxc-parser": "^0.
|
|
58
|
-
"oxc-transform": "^0.
|
|
55
|
+
"minimatch": "^10.2.4",
|
|
56
|
+
"oxc-minify": "^0.119.0",
|
|
57
|
+
"oxc-parser": "^0.119.0",
|
|
58
|
+
"oxc-transform": "^0.119.0",
|
|
59
59
|
"pretty-bytes": "^7.1.0",
|
|
60
|
-
"rolldown": "1.0.0-rc.
|
|
61
|
-
"rolldown-plugin-dts": "^0.22.
|
|
60
|
+
"rolldown": "1.0.0-rc.9",
|
|
61
|
+
"rolldown-plugin-dts": "^0.22.5",
|
|
62
62
|
"tinyglobby": "^0.2.15",
|
|
63
63
|
"typescript": "^5.9.3"
|
|
64
64
|
},
|
|
65
65
|
devDependencies: {
|
|
66
66
|
"@types/js-yaml": "^4.0.9",
|
|
67
|
-
"@types/node": "^25.
|
|
68
|
-
"@vitest/coverage-v8": "^4.0
|
|
67
|
+
"@types/node": "^25.5.0",
|
|
68
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
69
69
|
"automd": "^0.4.3",
|
|
70
70
|
"changelogen": "^0.6.2",
|
|
71
71
|
"esno": "^4.8.0",
|
|
72
72
|
"git-cz": "^4.9.0",
|
|
73
73
|
"husky": "^9.1.7",
|
|
74
|
-
"lightningcss": "^1.
|
|
75
|
-
"lint-staged": "^16.
|
|
76
|
-
"oxlint": "^1.
|
|
74
|
+
"lightningcss": "^1.32.0",
|
|
75
|
+
"lint-staged": "^16.4.0",
|
|
76
|
+
"oxlint": "^1.55.0",
|
|
77
77
|
"rolldown-plugin-wasm": "^0.2.1",
|
|
78
|
-
"turbo": "^2.8.
|
|
78
|
+
"turbo": "^2.8.17",
|
|
79
79
|
"unplugin-lightningcss": "^0.4.5",
|
|
80
|
+
"vite": "^6.0.0",
|
|
80
81
|
"vitepress": "^1.6.4",
|
|
81
82
|
"vitepress-plugin-group-icons": "^1.7.1",
|
|
82
|
-
"vitest": "^4.0
|
|
83
|
+
"vitest": "^4.1.0"
|
|
83
84
|
}
|
|
84
85
|
};
|
|
85
|
-
|
|
86
86
|
//#endregion
|
|
87
|
-
export { package_default as default };
|
|
87
|
+
export { package_default as default };
|
package/dist/cli.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { _ as configureLogger, t as build, v as logger } from "./_chunks/build-
|
|
2
|
+
import { _ as configureLogger, t as build, v as logger } from "./_chunks/build-CKpqg1bY.mjs";
|
|
3
3
|
import module from "node:module";
|
|
4
4
|
import { colors } from "consola/utils";
|
|
5
5
|
import process from "node:process";
|
|
6
6
|
import { loadConfig } from "c12";
|
|
7
7
|
import { cac } from "cac";
|
|
8
|
-
|
|
9
8
|
//#region src/cli.ts
|
|
10
9
|
try {
|
|
11
10
|
module.enableCompileCache?.();
|
|
@@ -137,6 +136,5 @@ try {
|
|
|
137
136
|
logger.error(String(error));
|
|
138
137
|
process.exit(1);
|
|
139
138
|
}
|
|
140
|
-
|
|
141
139
|
//#endregion
|
|
142
|
-
export {
|
|
140
|
+
export {};
|
package/dist/config.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { t as defineConfig } from "./_chunks/config-
|
|
2
|
-
|
|
3
|
-
export { defineConfig };
|
|
1
|
+
import { t as defineConfig } from "./_chunks/config-DnVMMWOP.mjs";
|
|
2
|
+
export { defineConfig };
|
package/dist/index.d.mts
CHANGED
|
@@ -242,6 +242,31 @@ declare function createLightningCSSPlugin(options?: LightningCSSPluginOptions):
|
|
|
242
242
|
*/
|
|
243
243
|
declare function createCssCodeSplitPlugin(config: Pick<Required<CssOptions>, 'splitting' | 'fileName'>): Plugin | undefined;
|
|
244
244
|
//#endregion
|
|
245
|
+
//#region src/plugins/builtin/css.d.ts
|
|
246
|
+
/**
|
|
247
|
+
* Built-in CSS plugin for robuild.
|
|
248
|
+
*
|
|
249
|
+
* Since rolldown 1.0.0-rc.9 removed experimental CSS bundling support,
|
|
250
|
+
* this plugin handles CSS files by:
|
|
251
|
+
* 1. Loading CSS file content as text
|
|
252
|
+
* 2. Collecting all CSS content
|
|
253
|
+
* 3. Emitting a combined CSS asset file
|
|
254
|
+
*
|
|
255
|
+
* This allows CSS imports in JS/TS files to work without rolldown errors.
|
|
256
|
+
*/
|
|
257
|
+
declare function createBuiltinCssPlugin(options?: {
|
|
258
|
+
/**
|
|
259
|
+
* Output CSS file name (when splitting is disabled)
|
|
260
|
+
* @default 'style.css'
|
|
261
|
+
*/
|
|
262
|
+
fileName?: string;
|
|
263
|
+
/**
|
|
264
|
+
* Enable CSS code splitting (each entry gets its own CSS file)
|
|
265
|
+
* @default true
|
|
266
|
+
*/
|
|
267
|
+
splitting?: boolean;
|
|
268
|
+
}): Plugin;
|
|
269
|
+
//#endregion
|
|
245
270
|
//#region src/utils/lightningcss.d.ts
|
|
246
271
|
/**
|
|
247
272
|
* Converts esbuild target (which is also used by Rolldown) to Lightning CSS targets.
|
|
@@ -255,4 +280,4 @@ declare function createCssCodeSplitPlugin(config: Pick<Required<CssOptions>, 'sp
|
|
|
255
280
|
*/
|
|
256
281
|
declare function esbuildTargetToLightningCSS(target: string[]): Targets | undefined;
|
|
257
282
|
//#endregion
|
|
258
|
-
export { type BuildConfig, type BuildEntry, type BundleEntry, type CssOptions, DEFAULT_LOADERS, DEFAULT_SHIMS_CONFIG, type ExportsConfig, type LightningCSSPluginOptions, type RobuildPlugin, RobuildPluginManager, SHEBANG_RE, type TransformEntry, build, combinePlugins, createBrowserShimsPlugin, createCjsDefaultPlugin, createCssCodeSplitPlugin, createGlobImportPlugin, createLightningCSSPlugin, createLoadPlugin, createLoaderPlugin, createNodeShimsPlugin, createPluginFactory, createResolvePlugin, createRobuildPlugin, createShimsPlugin, createSkipNodeModulesPlugin, createTransformPlugin, defineConfig, esbuildTargetToLightningCSS, extendRolldownPlugin, getLoaderForFile, hasGlobImports, hasShebang, makeExecutable, nodePolyfillsPlugin, nodeProtocolPlugin, resolveCssOptions, shebangPlugin, textPlugin, urlPlugin, virtualPlugin };
|
|
283
|
+
export { type BuildConfig, type BuildEntry, type BundleEntry, type CssOptions, DEFAULT_LOADERS, DEFAULT_SHIMS_CONFIG, type ExportsConfig, type LightningCSSPluginOptions, type RobuildPlugin, RobuildPluginManager, SHEBANG_RE, type TransformEntry, build, combinePlugins, createBrowserShimsPlugin, createBuiltinCssPlugin, createCjsDefaultPlugin, createCssCodeSplitPlugin, createGlobImportPlugin, createLightningCSSPlugin, createLoadPlugin, createLoaderPlugin, createNodeShimsPlugin, createPluginFactory, createResolvePlugin, createRobuildPlugin, createShimsPlugin, createSkipNodeModulesPlugin, createTransformPlugin, defineConfig, esbuildTargetToLightningCSS, extendRolldownPlugin, getLoaderForFile, hasGlobImports, hasShebang, makeExecutable, nodePolyfillsPlugin, nodeProtocolPlugin, resolveCssOptions, shebangPlugin, textPlugin, urlPlugin, virtualPlugin };
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as defineConfig } from "./_chunks/config-
|
|
1
|
+
import { C as resolveCssOptions, S as esbuildTargetToLightningCSS, a as createSkipNodeModulesPlugin, b as createCssCodeSplitPlugin, c as createNodeShimsPlugin, d as hasShebang, f as makeExecutable, g as hasGlobImports, h as createGlobImportPlugin, i as RobuildPluginManager, l as createShimsPlugin, m as nodeProtocolPlugin, o as DEFAULT_SHIMS_CONFIG, p as shebangPlugin, s as createBrowserShimsPlugin, t as build, u as SHEBANG_RE, v as logger, x as createLightningCSSPlugin, y as createBuiltinCssPlugin } from "./_chunks/build-CKpqg1bY.mjs";
|
|
2
|
+
import { t as defineConfig } from "./_chunks/config-DnVMMWOP.mjs";
|
|
3
3
|
import { extname } from "node:path";
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
|
-
|
|
6
5
|
//#region src/plugins/builtin/cjs-default.ts
|
|
7
6
|
/**
|
|
8
7
|
* Detect if a file uses CommonJS exports
|
|
@@ -55,7 +54,6 @@ function createCjsDefaultPlugin(mode = "auto") {
|
|
|
55
54
|
}
|
|
56
55
|
};
|
|
57
56
|
}
|
|
58
|
-
|
|
59
57
|
//#endregion
|
|
60
58
|
//#region src/plugins/builtin/loaders.ts
|
|
61
59
|
/**
|
|
@@ -237,7 +235,6 @@ function createLoaderPlugin(loaders) {
|
|
|
237
235
|
}
|
|
238
236
|
};
|
|
239
237
|
}
|
|
240
|
-
|
|
241
238
|
//#endregion
|
|
242
239
|
//#region src/plugins/extras/node-polyfills.ts
|
|
243
240
|
/**
|
|
@@ -263,7 +260,6 @@ function nodePolyfillsPlugin() {
|
|
|
263
260
|
}
|
|
264
261
|
};
|
|
265
262
|
}
|
|
266
|
-
|
|
267
263
|
//#endregion
|
|
268
264
|
//#region src/plugins/extras/text.ts
|
|
269
265
|
/**
|
|
@@ -285,7 +281,6 @@ function textPlugin(extensions = [".txt", ".md"]) {
|
|
|
285
281
|
}
|
|
286
282
|
};
|
|
287
283
|
}
|
|
288
|
-
|
|
289
284
|
//#endregion
|
|
290
285
|
//#region src/plugins/extras/url.ts
|
|
291
286
|
/**
|
|
@@ -310,7 +305,6 @@ function urlPlugin(extensions = [
|
|
|
310
305
|
}
|
|
311
306
|
};
|
|
312
307
|
}
|
|
313
|
-
|
|
314
308
|
//#endregion
|
|
315
309
|
//#region src/plugins/extras/virtual.ts
|
|
316
310
|
/**
|
|
@@ -329,7 +323,6 @@ function virtualPlugin(modules) {
|
|
|
329
323
|
}
|
|
330
324
|
};
|
|
331
325
|
}
|
|
332
|
-
|
|
333
326
|
//#endregion
|
|
334
327
|
//#region src/plugins/factory.ts
|
|
335
328
|
/**
|
|
@@ -483,6 +476,5 @@ function combinePlugins(name, plugins) {
|
|
|
483
476
|
}
|
|
484
477
|
return combinedPlugin;
|
|
485
478
|
}
|
|
486
|
-
|
|
487
479
|
//#endregion
|
|
488
|
-
export { DEFAULT_LOADERS, DEFAULT_SHIMS_CONFIG, RobuildPluginManager, SHEBANG_RE, build, combinePlugins, createBrowserShimsPlugin, createCjsDefaultPlugin, createCssCodeSplitPlugin, createGlobImportPlugin, createLightningCSSPlugin, createLoadPlugin, createLoaderPlugin, createNodeShimsPlugin, createPluginFactory, createResolvePlugin, createRobuildPlugin, createShimsPlugin, createSkipNodeModulesPlugin, createTransformPlugin, defineConfig, esbuildTargetToLightningCSS, extendRolldownPlugin, getLoaderForFile, hasGlobImports, hasShebang, makeExecutable, nodePolyfillsPlugin, nodeProtocolPlugin, resolveCssOptions, shebangPlugin, textPlugin, urlPlugin, virtualPlugin };
|
|
480
|
+
export { DEFAULT_LOADERS, DEFAULT_SHIMS_CONFIG, RobuildPluginManager, SHEBANG_RE, build, combinePlugins, createBrowserShimsPlugin, createBuiltinCssPlugin, createCjsDefaultPlugin, createCssCodeSplitPlugin, createGlobImportPlugin, createLightningCSSPlugin, createLoadPlugin, createLoaderPlugin, createNodeShimsPlugin, createPluginFactory, createResolvePlugin, createRobuildPlugin, createShimsPlugin, createSkipNodeModulesPlugin, createTransformPlugin, defineConfig, esbuildTargetToLightningCSS, extendRolldownPlugin, getLoaderForFile, hasGlobImports, hasShebang, makeExecutable, nodePolyfillsPlugin, nodeProtocolPlugin, resolveCssOptions, shebangPlugin, textPlugin, urlPlugin, virtualPlugin };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "robuild",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.16",
|
|
5
5
|
"packageManager": "pnpm@10.11.1",
|
|
6
6
|
"description": "Zero-config ESM/TS package builder. Powered by Rolldown and Oxc",
|
|
7
7
|
"license": "MIT",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"prepare": "husky"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"c12": "4.0.0-beta.
|
|
48
|
-
"cac": "^
|
|
47
|
+
"c12": "4.0.0-beta.4",
|
|
48
|
+
"cac": "^7.0.0",
|
|
49
49
|
"chokidar": "^5.0.0",
|
|
50
50
|
"consola": "^3.4.2",
|
|
51
51
|
"exsolve": "^1.0.8",
|
|
@@ -53,33 +53,34 @@
|
|
|
53
53
|
"jiti": "^2.6.1",
|
|
54
54
|
"js-yaml": "^4.1.1",
|
|
55
55
|
"magic-string": "^0.30.21",
|
|
56
|
-
"minimatch": "^10.2.
|
|
57
|
-
"oxc-minify": "^0.
|
|
58
|
-
"oxc-parser": "^0.
|
|
59
|
-
"oxc-transform": "^0.
|
|
56
|
+
"minimatch": "^10.2.4",
|
|
57
|
+
"oxc-minify": "^0.119.0",
|
|
58
|
+
"oxc-parser": "^0.119.0",
|
|
59
|
+
"oxc-transform": "^0.119.0",
|
|
60
60
|
"pretty-bytes": "^7.1.0",
|
|
61
|
-
"rolldown": "1.0.0-rc.
|
|
62
|
-
"rolldown-plugin-dts": "^0.22.
|
|
61
|
+
"rolldown": "1.0.0-rc.9",
|
|
62
|
+
"rolldown-plugin-dts": "^0.22.5",
|
|
63
63
|
"tinyglobby": "^0.2.15",
|
|
64
64
|
"typescript": "^5.9.3"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@types/js-yaml": "^4.0.9",
|
|
68
|
-
"@types/node": "^25.
|
|
69
|
-
"@vitest/coverage-v8": "^4.0
|
|
68
|
+
"@types/node": "^25.5.0",
|
|
69
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
70
70
|
"automd": "^0.4.3",
|
|
71
71
|
"changelogen": "^0.6.2",
|
|
72
72
|
"esno": "^4.8.0",
|
|
73
73
|
"git-cz": "^4.9.0",
|
|
74
74
|
"husky": "^9.1.7",
|
|
75
|
-
"lightningcss": "^1.
|
|
76
|
-
"lint-staged": "^16.
|
|
77
|
-
"oxlint": "^1.
|
|
75
|
+
"lightningcss": "^1.32.0",
|
|
76
|
+
"lint-staged": "^16.4.0",
|
|
77
|
+
"oxlint": "^1.55.0",
|
|
78
78
|
"rolldown-plugin-wasm": "^0.2.1",
|
|
79
|
-
"turbo": "^2.8.
|
|
79
|
+
"turbo": "^2.8.17",
|
|
80
80
|
"unplugin-lightningcss": "^0.4.5",
|
|
81
|
+
"vite": "^6.0.0",
|
|
81
82
|
"vitepress": "^1.6.4",
|
|
82
83
|
"vitepress-plugin-group-icons": "^1.7.1",
|
|
83
|
-
"vitest": "^4.0
|
|
84
|
+
"vitest": "^4.1.0"
|
|
84
85
|
}
|
|
85
86
|
}
|