bunup 0.15.11 → 0.15.12

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/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  build,
5
5
  processLoadedConfigs,
6
6
  resolveBuildOptions
7
- } from "../shared/bunup-2waee6qa.js";
7
+ } from "../shared/bunup-2dnbwnp7.js";
8
8
  import {
9
9
  BunupBuildError,
10
10
  BunupCLIError,
@@ -21,13 +21,13 @@ import {
21
21
  logTime,
22
22
  logger,
23
23
  parseErrorMessage
24
- } from "../shared/bunup-857264mj.js";
24
+ } from "../shared/bunup-qb65sm3k.js";
25
25
 
26
26
  // packages/bunup/src/cli/index.ts
27
27
  import { loadConfig } from "coffi";
28
28
  import pc4 from "picocolors";
29
29
  // packages/bunup/package.json
30
- var version = "0.15.11";
30
+ var version = "0.15.12";
31
31
 
32
32
  // packages/bunup/src/printer/print-build-report.ts
33
33
  import { promisify } from "util";
@@ -259,7 +259,7 @@ var program = cli().name("bunup").version(version).description("A blazing-fast b
259
259
  pc3.gray(`${pc3.blue("bunup src/cli.ts")} # Multiple entries`),
260
260
  pc3.gray(`${pc3.blue("bunup --dts.splitting")} # Declaration splitting`),
261
261
  pc3.gray(`${pc3.blue("bunup --no-clean")} # Disable cleaning output directory before build`)
262
- ]).option("entry", z.union(z.string().describe("Entry file or glob pattern"), z.array(z.string()).describe("Multiple entry files or globs")).alias("e").optional()).option("config", z.union(z.string().describe("Path to a custom configuration file").alias("c").example("./configs/custom.bunup.config.js"), z.boolean().describe("Whether to use a configuration file").default(true)).optional()).option("filter", z.array(z.string()).describe("Filter workspace packages by name").optional()).option("name", z.string().describe("Name of the build configuration (for logging and identification)").example("my-library").optional()).option("out-dir", z.string().describe("Output directory for bundled files").alias("o").default("dist")).option("format", z.union(z.string().choices(["esm", "cjs", "iife"]).describe("Single output format"), z.array(z.string().choices(["esm", "cjs", "iife"])).describe("Multiple output formats")).alias("f").default("esm")).option("minify", z.boolean().describe("Enable all minification options (whitespace, identifiers, syntax)").optional()).option("minify-whitespace", z.boolean().describe("Minify whitespace in the output to reduce file size").optional()).option("minify-identifiers", z.boolean().describe("Minify identifiers by renaming variables to shorter names").optional()).option("minify-syntax", z.boolean().describe("Minify syntax by optimizing code structure").optional()).option("watch", z.boolean().describe("Watch for file changes and rebuild automatically").optional()).option("clean", z.boolean().describe("Clean the output directory before building").default(true)).option("silent", z.boolean().describe("Disable logging during the build process").alias("q").optional()).option("splitting", z.boolean().describe("Enable code splitting").default(true, "enabled by default for ESM format")).option("conditions", z.array(z.string()).describe("Package.json export conditions for import resolution").optional()).option("target", z.string().choices(["bun", "node", "browser"]).describe("Target environment for the bundle").alias("t").default("node")).option("external", z.array(z.string()).describe("External packages that should not be bundled").optional()).option("no-external", z.array(z.string()).describe("Packages that should be bundled even if listed in external").optional()).option("shims", z.boolean().describe("Enable shims for Node.js globals and ESM/CJS interoperability").optional()).option("report", z.object({
262
+ ]).option("entry", z.union(z.string().describe("Entry file or glob pattern"), z.array(z.string()).describe("Multiple entry files or globs")).alias("e").optional()).option("config", z.union(z.string().describe("Path to a custom configuration file").alias("c").example("./configs/custom.bunup.config.js"), z.boolean().describe("Whether to use a configuration file").default(true)).optional()).option("filter", z.array(z.string()).describe("Filter workspace packages or config array items by name").optional()).option("name", z.string().describe("Name of the build configuration (for logging and identification)").example("my-library").optional()).option("out-dir", z.string().describe("Output directory for bundled files").alias("o").default("dist")).option("format", z.union(z.string().choices(["esm", "cjs", "iife"]).describe("Single output format"), z.array(z.string().choices(["esm", "cjs", "iife"])).describe("Multiple output formats")).alias("f").default("esm")).option("minify", z.boolean().describe("Enable all minification options (whitespace, identifiers, syntax)").optional()).option("minify-whitespace", z.boolean().describe("Minify whitespace in the output to reduce file size").optional()).option("minify-identifiers", z.boolean().describe("Minify identifiers by renaming variables to shorter names").optional()).option("minify-syntax", z.boolean().describe("Minify syntax by optimizing code structure").optional()).option("watch", z.boolean().describe("Watch for file changes and rebuild automatically").optional()).option("clean", z.boolean().describe("Clean the output directory before building").default(true)).option("silent", z.boolean().describe("Disable logging during the build process").alias("q").optional()).option("splitting", z.boolean().describe("Enable code splitting").default(true, "enabled by default for ESM format")).option("conditions", z.array(z.string()).describe("Package.json export conditions for import resolution").optional()).option("target", z.string().choices(["bun", "node", "browser"]).describe("Target environment for the bundle").alias("t").default("node")).option("external", z.array(z.string()).describe("External packages that should not be bundled").optional()).option("no-external", z.array(z.string()).describe("Packages that should be bundled even if listed in external").optional()).option("shims", z.boolean().describe("Enable shims for Node.js globals and ESM/CJS interoperability").optional()).option("report", z.object({
263
263
  gzip: z.boolean().describe("Enable gzip compression size calculation").default(true),
264
264
  brotli: z.boolean().describe("Enable brotli compression size calculation").optional(),
265
265
  "max-bundle-size": z.number().describe("Maximum bundle size in bytes. Will warn if exceeded").optional()
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  build
4
- } from "./shared/bunup-2waee6qa.js";
5
- import"./shared/bunup-857264mj.js";
4
+ } from "./shared/bunup-2dnbwnp7.js";
5
+ import"./shared/bunup-qb65sm3k.js";
6
6
  // packages/bunup/src/define.ts
7
7
  function defineConfig(options) {
8
8
  return options;
package/dist/plugins.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  logger,
8
8
  shims,
9
9
  unused
10
- } from "./shared/bunup-857264mj.js";
10
+ } from "./shared/bunup-qb65sm3k.js";
11
11
 
12
12
  // packages/bunup/src/plugins/copy.ts
13
13
  import { basename, extname, join } from "path";
@@ -20,7 +20,7 @@ import {
20
20
  parseErrorMessage,
21
21
  shims,
22
22
  unused
23
- } from "./bunup-857264mj.js";
23
+ } from "./bunup-qb65sm3k.js";
24
24
 
25
25
  // packages/bunup/src/loaders.ts
26
26
  import path from "path";
@@ -32,10 +32,16 @@ async function processLoadedConfigs(config, cwd, filter) {
32
32
  })) : [
33
33
  {
34
34
  rootDir: cwd,
35
- options: config
35
+ options: filterConfigArrayByName(config, filter)
36
36
  }
37
37
  ];
38
38
  }
39
+ function filterConfigArrayByName(config, filter) {
40
+ if (Array.isArray(config) && filter) {
41
+ return config.filter((c) => c.name ? filter.includes(c.name) : true);
42
+ }
43
+ return config;
44
+ }
39
45
  function setOrSuffixField(objectOrArray, field, prefix) {
40
46
  const addPrefix = (obj) => {
41
47
  const existingValue = obj[field];
@@ -489,7 +495,7 @@ async function build(userOptions, rootDir = process.cwd()) {
489
495
  emitDCEAnnotations: options.emitDCEAnnotations,
490
496
  jsx: options.jsx,
491
497
  compile: options.compile,
492
- outdir: options.compile ? options.outDir : undefined,
498
+ outdir: options.compile ? path3.resolve(rootDir, options.outDir) : undefined,
493
499
  throw: false,
494
500
  plugins: bunPlugins,
495
501
  tsconfig: options.preferredTsconfig ? path3.resolve(rootDir, options.preferredTsconfig) : undefined
@@ -510,7 +516,8 @@ async function build(userOptions, rootDir = process.cwd()) {
510
516
  if (options.compile) {
511
517
  const fullPath2 = file.path;
512
518
  const pathRelativeToRootDir2 = path3.relative(rootDir, fullPath2);
513
- const pathRelativeToOutdir2 = path3.relative(options.outDir, fullPath2);
519
+ const absoluteOutDir = path3.resolve(rootDir, options.outDir);
520
+ const pathRelativeToOutdir2 = path3.relative(absoluteOutDir, fullPath2);
514
521
  buildOutputFiles.push({
515
522
  fullPath: fullPath2,
516
523
  pathRelativeToRootDir: pathRelativeToRootDir2,
@@ -926,7 +926,7 @@ function unused(options = {}) {
926
926
  hooks: {
927
927
  onBuildDone: async (ctx) => {
928
928
  const { options: buildOptions, meta, files } = ctx;
929
- if (buildOptions.watch)
929
+ if (buildOptions.watch || buildOptions.compile)
930
930
  return;
931
931
  const usedDeps = await collectUsedDependencies(files, buildOptions);
932
932
  const pkgDeps = extractPackageDependencies(meta.packageJson.data?.dependencies);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bunup",
3
3
  "description": "⚡ A blazing-fast build tool for your libraries built with Bun.",
4
- "version": "0.15.11",
4
+ "version": "0.15.12",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"