@trebired/bundler 1.1.0 → 1.3.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 (46) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +64 -3
  3. package/dist/core/build.d.ts.map +1 -1
  4. package/dist/core/build.js +6 -1
  5. package/dist/core/build.js.map +1 -1
  6. package/dist/core/discovery.d.ts +6 -1
  7. package/dist/core/discovery.d.ts.map +1 -1
  8. package/dist/core/discovery.js +42 -1
  9. package/dist/core/discovery.js.map +1 -1
  10. package/dist/core/esbuild-options.d.ts +12 -1
  11. package/dist/core/esbuild-options.d.ts.map +1 -1
  12. package/dist/core/esbuild-options.js +75 -3
  13. package/dist/core/esbuild-options.js.map +1 -1
  14. package/dist/core/shared.d.ts +7 -1
  15. package/dist/core/shared.d.ts.map +1 -1
  16. package/dist/core/shared.js +18 -1
  17. package/dist/core/shared.js.map +1 -1
  18. package/dist/core/watch.d.ts.map +1 -1
  19. package/dist/core/watch.js +18 -1
  20. package/dist/core/watch.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/logging.d.ts +2 -1
  25. package/dist/logging.d.ts.map +1 -1
  26. package/dist/logging.js +26 -3
  27. package/dist/logging.js.map +1 -1
  28. package/dist/plugins/obfuscation.d.ts +13 -0
  29. package/dist/plugins/obfuscation.d.ts.map +1 -0
  30. package/dist/plugins/obfuscation.js +554 -0
  31. package/dist/plugins/obfuscation.js.map +1 -0
  32. package/dist/plugins/scss.d.ts +2 -0
  33. package/dist/plugins/scss.d.ts.map +1 -1
  34. package/dist/plugins/scss.js +6 -2
  35. package/dist/plugins/scss.js.map +1 -1
  36. package/dist/plugins/source-annotations.d.ts +3 -0
  37. package/dist/plugins/source-annotations.d.ts.map +1 -1
  38. package/dist/plugins/source-annotations.js +19 -6
  39. package/dist/plugins/source-annotations.js.map +1 -1
  40. package/dist/plugins/virtual-entries.d.ts +2 -0
  41. package/dist/plugins/virtual-entries.d.ts.map +1 -1
  42. package/dist/plugins/virtual-entries.js +9 -1
  43. package/dist/plugins/virtual-entries.js.map +1 -1
  44. package/dist/types.d.ts +12 -1
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +8 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ All notable changes to `@trebired/bundler` will be documented here.
4
4
 
5
5
  This project follows semantic versioning once published.
6
6
 
7
+ ## 1.3.0
8
+
9
+ - Grouped package-owned logs under stable `bundler.*` scopes so Trebired logger output composes cleanly.
10
+ - Added duplicate entry-path pruning with warning logs when the same source file is bundled more than once.
11
+ - Fixed `extreme` mode class obfuscation for helper aliases, template literals with expressions, `setAttribute("class", ...)`, and HTML/template string assembly.
12
+
13
+ ## 1.2.0
14
+
15
+ - Added `mode` with `debug`, `compact`, and `extreme` build profiles.
16
+ - Brought back `obfuscate` for hashed output names and optional esbuild property mangling.
17
+ - Added coordinated static class-name rewriting so CSS, JS, TS, JSX, and TSX use the same obfuscated class tokens.
18
+ - Made `extreme` mode enable the strongest package-owned compacting defaults.
19
+
7
20
  ## 1.1.0
8
21
 
9
22
  - Made minification enabled by default for bundled JS and CSS output.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @trebired/bundler
2
2
 
3
- Fast bundler wrapper around `esbuild` with SCSS support, production-first minification, watch mode, and inline source path annotations.
3
+ Fast bundler wrapper around `esbuild` with SCSS support, compact build modes, watch mode, and inline source path annotations.
4
4
 
5
5
  `@trebired/bundler` is not a full custom bundler. It keeps the package-owned API small and lets `esbuild` do the heavy lifting, while adding logging aligned with other packages published by Trebired, SCSS compilation through `sass-embedded`, built-in source walking, config-driven CLI commands, virtual entry modules, derived manifest helpers, and inline source path comments in generated output.
6
6
 
7
- Minification is enabled by default. Comment stripping is also enabled by default unless you turn on source annotations.
7
+ The default build mode is `compact`. It enables minification and comment stripping unless you turn on source annotations.
8
8
 
9
9
  ## Install
10
10
 
@@ -29,6 +29,7 @@ Use this when:
29
29
  - you want rebuild hooks instead of scraping logger text
30
30
  - you want generated bundles to optionally include inline comments that point back to the original source file path
31
31
  - you want production-lean defaults with minified output and stripped comments
32
+ - you want a stronger `extreme` mode for denser output and hashed artifact names
32
33
  - you want package-owned logs routed through `@trebired/logger-adapter`
33
34
 
34
35
  ## What It Does Not Do
@@ -199,12 +200,19 @@ await watch({
199
200
 
200
201
  ## Optimization Defaults
201
202
 
202
- `@trebired/bundler` now defaults to production-lean output:
203
+ `@trebired/bundler` now defaults to production-lean output through `mode: "compact"`:
203
204
 
205
+ - `mode` defaults to `"compact"`
204
206
  - `minify` defaults to `true`
205
207
  - `stripComments` defaults to `true`
206
208
  - source annotations stay opt-in through `annotateSources: true`
207
209
 
210
+ Available modes:
211
+
212
+ - `debug`: readable output, no minification, no obfuscation, no comment stripping by default
213
+ - `compact`: minified output with stripped preserved comments by default
214
+ - `extreme`: compact mode plus hashed output names and obfuscation defaults
215
+
208
216
  If you want a more readable debug build:
209
217
 
210
218
  ```ts
@@ -212,12 +220,56 @@ await bundle({
212
220
  entries: {
213
221
  app: "./src/app.tsx",
214
222
  },
223
+ mode: "debug",
215
224
  minify: false,
216
225
  outDir: "./dist",
217
226
  stripComments: false,
218
227
  });
219
228
  ```
220
229
 
230
+ ## Extreme Mode
231
+
232
+ Use `mode: "extreme"` when you want the package to pack output as tightly as its current esbuild-based pipeline can:
233
+
234
+ ```ts
235
+ await bundle({
236
+ entries: {
237
+ app: "./src/app.tsx",
238
+ },
239
+ mode: "extreme",
240
+ outDir: "./dist",
241
+ });
242
+ ```
243
+
244
+ This mode enables:
245
+
246
+ - minification
247
+ - stripped preserved comments
248
+ - hashed entry, chunk, and asset names
249
+ - static class-name rewriting across CSS plus JS/TS/JSX/TSX class usage
250
+ - no kept function/class names unless you override that behavior
251
+
252
+ ## Obfuscation
253
+
254
+ Use `obfuscate` when you want hashed output names without switching the full build mode, or when you want custom esbuild property mangling patterns:
255
+
256
+ ```ts
257
+ await bundle({
258
+ entries: {
259
+ app: "./src/app.tsx",
260
+ },
261
+ obfuscate: {
262
+ entryNames: "x/[hash]",
263
+ chunkNames: "x/[hash]",
264
+ assetNames: "x/[hash]",
265
+ mangleProps: "^_",
266
+ },
267
+ outDir: "./dist",
268
+ });
269
+ ```
270
+
271
+ This obfuscation layer covers emitted artifact names, esbuild-supported JS property mangling, and coordinated rewriting of static CSS class usage across CSS plus JS/TS/JSX/TSX code. Dynamic class construction still stays outside the package-owned rewrite layer.
272
+
221
273
  ## Source Annotation Comments
222
274
 
223
275
  Set `annotateSources: true` to inject preserved inline comments into bundled output.
@@ -283,11 +335,20 @@ type BundlerOptions = {
283
335
  virtualEntries?: Record<string, string>;
284
336
  outDir: string;
285
337
  rootDir?: string;
338
+ mode?: "debug" | "compact" | "extreme";
286
339
  platform?: "browser" | "node" | "neutral";
287
340
  format?: "esm" | "cjs" | "iife";
288
341
  target?: string | string[];
289
342
  minify?: boolean;
290
343
  stripComments?: boolean;
344
+ obfuscate?: boolean | {
345
+ assetNames?: string;
346
+ chunkNames?: string;
347
+ entryNames?: string;
348
+ keepNames?: boolean;
349
+ mangleProps?: RegExp | string;
350
+ mangleQuoted?: boolean;
351
+ };
291
352
  sourcemap?: boolean | "inline" | "external";
292
353
  splitting?: boolean;
293
354
  publicPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKtE,iBAAe,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0C1E;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKtE,iBAAe,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+C1E;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -4,7 +4,7 @@ import { BUNDLER_LOG_GROUP, BUNDLER_PACKAGE_NAME } from "../constants.js";
4
4
  import { resolveLogger } from "../logging.js";
5
5
  import { createEsbuildOptions, normalizeBundlerOptions } from "./esbuild-options.js";
6
6
  import { resolveBundlerEntries } from "./discovery.js";
7
- import { cleanOutDir, formatFailure, logWarnings, toBuildResult } from "./shared.js";
7
+ import { cleanOutDir, formatFailure, logDuplicateEntries, logWarnings, toBuildResult } from "./shared.js";
8
8
  async function bundle(options) {
9
9
  const normalized = normalizeBundlerOptions(options || {});
10
10
  const logger = resolveLogger(normalized.logger, normalized.loggerAdapter);
@@ -23,6 +23,11 @@ async function bundle(options) {
23
23
  const startedAt = Date.now();
24
24
  try {
25
25
  const resolvedEntries = await resolveBundlerEntries(options || {}, normalized.rootDir);
26
+ logDuplicateEntries({
27
+ duplicates: resolvedEntries.duplicates,
28
+ logger,
29
+ rootDir: normalized.rootDir,
30
+ });
26
31
  logger.info("build", `entries :: count=${resolvedEntries.records.length}`);
27
32
  const result = await runEsbuild(createEsbuildOptions({
28
33
  ...normalized,
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErF,KAAK,UAAU,MAAM,CAAC,OAAuB;IAC3C,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,IAAI,EAAoB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1E,qBAAqB,CAAC;QACpB,OAAO,EAAE,UAAU,CAAC,aAAa;QACjC,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACzG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC;YACnD,GAAG,UAAU;YACb,YAAY,EAAE,eAAe,CAAC,OAAO;SACtC,EAAE,MAAM,CAAC,CAAC,CAAC;QACZ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM;YACN,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,SAAS;SACV,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,OAAO,CAAC,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnG,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1G,KAAK,UAAU,MAAM,CAAC,OAAuB;IAC3C,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,IAAI,EAAoB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1E,qBAAqB,CAAC;QACpB,OAAO,EAAE,UAAU,CAAC,aAAa;QACjC,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACzG,mBAAmB,CAAC;YAClB,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,MAAM;YACN,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC;YACnD,GAAG,UAAU;YACb,YAAY,EAAE,eAAe,CAAC,OAAO;SACtC,EAAE,MAAM,CAAC,CAAC,CAAC;QACZ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM;YACN,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,SAAS;SACV,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,OAAO,CAAC,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnG,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -10,9 +10,14 @@ type NormalizedDiscoverOptions = {
10
10
  namePrefix: string;
11
11
  };
12
12
  type ResolvedEntries = {
13
+ duplicates: DuplicateBundlerEntryRecord[];
13
14
  records: BundlerEntryRecord[];
14
15
  signature: string;
15
16
  };
17
+ type DuplicateBundlerEntryRecord = {
18
+ dropped: BundlerEntryRecord;
19
+ kept: BundlerEntryRecord;
20
+ };
16
21
  type NormalizedManifestOptions = {
17
22
  enabled: boolean;
18
23
  file?: string;
@@ -26,5 +31,5 @@ declare function toPublicEntryMap(records: BundlerEntryRecord[], rootDir: string
26
31
  declare function normalizeManifestOptions(manifest: BundlerManifestOptions | undefined): NormalizedManifestOptions;
27
32
  declare function normalizeDiscoverRoots(rootDir: string, discover: BundlerOptions["discover"]): string[];
28
33
  export { normalizeDiscoverRoots, normalizeManifestOptions, resolveBundlerEntries, toPublicEntryMap, toEntryPointMap, toPosixPath, VIRTUAL_ENTRY_PREFIX, };
29
- export type { NormalizedDiscoverOptions, NormalizedManifestOptions, ResolvedEntries };
34
+ export type { DuplicateBundlerEntryRecord, NormalizedDiscoverOptions, NormalizedManifestOptions, ResolvedEntries, };
30
35
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EAEf,MAAM,aAAa,CAAC;AAIrB,QAAA,MAAM,oBAAoB,sBAAsB,CAAC;AAEjD,KAAK,yBAAyB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1C;AAuMD,iBAAe,qBAAqB,CAClC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,OAAO,CAAC,eAAe,CAAC,CAsC1B;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/F;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShG;AAED,iBAAS,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAAG,yBAAyB,CAgBzG;AAED,iBAAS,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAc/F;AAED,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,CAAC;AACF,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EAEf,MAAM,aAAa,CAAC;AAIrB,QAAA,MAAM,oBAAoB,sBAAsB,CAAC;AAEjD,KAAK,yBAAyB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1C;AAuPD,iBAAe,qBAAqB,CAClC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/F;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShG;AAED,iBAAS,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAAG,yBAAyB,CAgBzG;AAED,iBAAS,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAc/F;AAED,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,CAAC;AACF,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,GAChB,CAAC"}
@@ -129,6 +129,45 @@ function normalizeVirtualEntries(virtualEntries) {
129
129
  }))
130
130
  .filter((entry) => Boolean(entry.name));
131
131
  }
132
+ function resolveEntryPriority(record) {
133
+ if (record.source === "manual")
134
+ return 0;
135
+ if (record.source === "virtual")
136
+ return 1;
137
+ return 2;
138
+ }
139
+ function compareEntries(a, b) {
140
+ return resolveEntryPriority(a) - resolveEntryPriority(b)
141
+ || a.name.localeCompare(b.name)
142
+ || a.path.localeCompare(b.path);
143
+ }
144
+ function dedupeEntriesBySourcePath(records) {
145
+ const duplicates = [];
146
+ const keptByPath = new Map();
147
+ for (const record of [...records].sort(compareEntries)) {
148
+ if (record.source === "virtual") {
149
+ const virtualKey = `virtual:${record.name}`;
150
+ if (!keptByPath.has(virtualKey)) {
151
+ keptByPath.set(virtualKey, record);
152
+ }
153
+ continue;
154
+ }
155
+ const key = toPosixPath(path.resolve(record.path));
156
+ const existing = keptByPath.get(key);
157
+ if (!existing) {
158
+ keptByPath.set(key, record);
159
+ continue;
160
+ }
161
+ duplicates.push({
162
+ dropped: record,
163
+ kept: existing,
164
+ });
165
+ }
166
+ return {
167
+ duplicates: duplicates.sort((a, b) => compareEntries(a.dropped, b.dropped)),
168
+ records: Array.from(keptByPath.values()).sort((a, b) => a.name.localeCompare(b.name) || a.path.localeCompare(b.path)),
169
+ };
170
+ }
132
171
  function buildDiscoveredEntryName(args) {
133
172
  const ext = path.extname(args.relativePath);
134
173
  const withoutExt = ext ? args.relativePath.slice(0, -ext.length) : args.relativePath;
@@ -180,7 +219,8 @@ async function resolveBundlerEntries(options, rootDir, settings = {}) {
180
219
  const virtual = normalizeVirtualEntries(options.virtualEntries);
181
220
  const discoveredGroups = await Promise.all(normalizeDiscoverOptions(rootDir, options.discover).map(walkDiscoveredEntries));
182
221
  const discovered = discoveredGroups.flat();
183
- const all = [...manual, ...virtual, ...discovered];
222
+ const deduped = dedupeEntriesBySourcePath([...manual, ...virtual, ...discovered]);
223
+ const all = deduped.records;
184
224
  if (!all.length && !settings.allowEmpty) {
185
225
  throw new Error("bundler-missing-entries");
186
226
  }
@@ -205,6 +245,7 @@ async function resolveBundlerEntries(options, rootDir, settings = {}) {
205
245
  source: record.source,
206
246
  })));
207
247
  return {
248
+ duplicates: deduped.duplicates,
208
249
  records,
209
250
  signature,
210
251
  };
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAU7B,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACzE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AA4BjD,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAExC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtD,MAAM,IAAI,UAAU,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,IAAI,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,CAAC;YACd,SAAS;QACX,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,QAAkB;IAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChF,OAAO,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA4B;IACvD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAe,EACf,QAAoC;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAC7D,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,IAAK,CAAC,UAAU,IAAI,IAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAK,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC;aAC/G,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aACxD,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;YAClC,OAAO,EAAE,mBAAmB,CAAC,IAAK,CAAC,OAAO,CAAC;YAC3C,UAAU;YACV,UAAU,EAAE,IAAI,GAAG,CAAC;gBAClB,GAAG,mBAAmB;gBACtB,GAAG,mBAAmB,CAAC,IAAK,CAAC,UAAU,CAAC;aACzC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,OAAO,EAAE,mBAAmB,CAAC,IAAK,CAAC,OAAO,CAAC;YAC3C,UAAU,EAAE,kBAAkB,CAAC,IAAK,CAAC,UAAU,IAAI,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAkC,EAAE,OAAe;IACjF,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aAC1C,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAEpD,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;gBAChC,MAAM,EAAE,QAAiB;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,EAAE,QAAiB;SAC1B,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAiD;IAChF,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAErE,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;QAC7B,IAAI,EAAE,GAAG,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,EAAE,SAAkB;QAC1B,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;KAC9B,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA0B;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,CAAqB,EAAE,CAAqB;IAClE,OAAO,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC;WACnD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;WAC5B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB,CAAC,OAA6B;IAI9D,MAAM,UAAU,GAAkC,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEzD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KACtH,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAGjC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACrF,OAAO,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAiC;IACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAG,KAAK,EAAE,UAAkB,EAAiB,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,eAAe;gBAAE,SAAS;YAE/B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAChD,IAAI,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACjE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC3F,IAAI,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEjE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,wBAAwB,CAAC;oBAC7B,MAAM;oBACN,YAAY,EAAE,eAAe;iBAC9B,CAAC;gBACF,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAuB,EACvB,OAAe,EACf,WAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3H,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IAErD,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAAE,SAAS;QAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxD,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QACzE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,SAAS;YAC/B,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE;YAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAA6B,EAAE,OAAe;IACrE,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI;QACX,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;KAC5D,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6B,EAAE,OAAe;IACtE,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI;QACX,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE;YAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;KAC5D,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA4C;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,uBAAuB;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,uBAAuB,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe,EAAE,QAAoC;IACnF,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,OAAO;gBAAE,OAAO,OAAO,CAAC;YACvC,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,GACrB,CAAC"}
@@ -1,6 +1,15 @@
1
1
  import type { BuildOptions } from "esbuild";
2
- import type { BundlerOptions, BundlerEntryRecord, NormalizedBundlerLogger } from "../types.js";
2
+ import type { BundlerEntryRecord, BundlerMode, BundlerOptions, NormalizedBundlerLogger } from "../types.js";
3
3
  import { normalizeManifestOptions } from "./discovery.js";
4
+ type NormalizedBundlerObfuscationOptions = {
5
+ assetNames?: string;
6
+ chunkNames?: string;
7
+ enabled: boolean;
8
+ entryNames?: string;
9
+ keepNames?: boolean;
10
+ mangleProps?: RegExp;
11
+ mangleQuoted?: boolean;
12
+ };
4
13
  type NormalizedBundlerOptions = {
5
14
  annotateSources: boolean;
6
15
  clean: boolean;
@@ -13,6 +22,8 @@ type NormalizedBundlerOptions = {
13
22
  loggerAdapter?: BundlerOptions["loggerAdapter"];
14
23
  manifest: ReturnType<typeof normalizeManifestOptions>;
15
24
  minify: boolean;
25
+ mode: BundlerMode;
26
+ obfuscate: NormalizedBundlerObfuscationOptions;
16
27
  onEntrySetChanged?: BundlerOptions["onEntrySetChanged"];
17
28
  onRebuilt?: BundlerOptions["onRebuilt"];
18
29
  outDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-options.d.ts","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAmB,MAAM,gBAAgB,CAAC;AAE3E,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,iBAAS,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CA+BlF;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,uBAAuB,GAC9B,YAAY,CA8Dd;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"esbuild-options.d.ts","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EAEX,cAAc,EACd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAmB,MAAM,gBAAgB,CAAC;AAE3E,KAAK,mCAAmC,GAAG;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,mCAAmC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AA+DF,iBAAS,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CAmClF;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,uBAAuB,GAC9B,YAAY,CAmFd;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
@@ -1,11 +1,63 @@
1
1
  import path from "node:path";
2
2
  import { createScssPlugin } from "../plugins/scss.js";
3
+ import { createClassNameMap } from "../plugins/obfuscation.js";
3
4
  import { createSourceAnnotationsPlugin } from "../plugins/source-annotations.js";
4
5
  import { createVirtualEntriesPlugin } from "../plugins/virtual-entries.js";
5
6
  import { normalizeManifestOptions, toEntryPointMap } from "./discovery.js";
7
+ function resolveModeDefaults(mode) {
8
+ if (mode === "debug") {
9
+ return {
10
+ minify: false,
11
+ obfuscate: undefined,
12
+ stripComments: false,
13
+ };
14
+ }
15
+ if (mode === "extreme") {
16
+ return {
17
+ minify: true,
18
+ obfuscate: true,
19
+ stripComments: true,
20
+ };
21
+ }
22
+ return {
23
+ minify: true,
24
+ obfuscate: undefined,
25
+ stripComments: true,
26
+ };
27
+ }
28
+ function toRegExp(value) {
29
+ if (!value)
30
+ return undefined;
31
+ return value instanceof RegExp ? value : new RegExp(value);
32
+ }
33
+ function normalizeObfuscation(options) {
34
+ if (!options) {
35
+ return { enabled: false };
36
+ }
37
+ if (options === true) {
38
+ return {
39
+ assetNames: "[hash]",
40
+ chunkNames: "[hash]",
41
+ enabled: true,
42
+ entryNames: "[hash]",
43
+ keepNames: false,
44
+ };
45
+ }
46
+ return {
47
+ assetNames: String(options.assetNames || "").trim() || "[hash]",
48
+ chunkNames: String(options.chunkNames || "").trim() || "[hash]",
49
+ enabled: true,
50
+ entryNames: String(options.entryNames || "").trim() || "[hash]",
51
+ keepNames: options.keepNames,
52
+ mangleProps: toRegExp(options.mangleProps),
53
+ mangleQuoted: options.mangleQuoted,
54
+ };
55
+ }
6
56
  function normalizeBundlerOptions(options) {
7
57
  const rootDir = path.resolve(String(options.rootDir || "").trim() || process.cwd());
8
58
  const outDir = String(options.outDir || "").trim();
59
+ const mode = options.mode || "compact";
60
+ const defaults = resolveModeDefaults(mode);
9
61
  if (!outDir) {
10
62
  throw new Error("bundler-missing-out-dir");
11
63
  }
@@ -20,7 +72,9 @@ function normalizeBundlerOptions(options) {
20
72
  logger: options.logger,
21
73
  loggerAdapter: options.loggerAdapter,
22
74
  manifest: normalizeManifestOptions(options.manifest),
23
- minify: options.minify !== false,
75
+ minify: options.minify ?? defaults.minify,
76
+ mode,
77
+ obfuscate: normalizeObfuscation(options.obfuscate ?? defaults.obfuscate),
24
78
  onEntrySetChanged: options.onEntrySetChanged,
25
79
  onRebuilt: options.onRebuilt,
26
80
  outDir: resolvedOutDir,
@@ -29,7 +83,7 @@ function normalizeBundlerOptions(options) {
29
83
  rootDir,
30
84
  sourcemap: options.sourcemap,
31
85
  splitting: Boolean(options.splitting),
32
- stripComments: options.stripComments !== false,
86
+ stripComments: options.stripComments ?? defaults.stripComments,
33
87
  target: options.target,
34
88
  };
35
89
  }
@@ -43,22 +97,36 @@ function createEsbuildOptions(options, logger) {
43
97
  if (options.annotateSources) {
44
98
  logger.info("annotate", "inline source annotations enabled");
45
99
  }
100
+ logger.info("build", `mode :: ${options.mode}`);
46
101
  if (options.minify) {
47
102
  logger.info("build", "minify enabled");
48
103
  }
49
104
  if (options.stripComments && !options.annotateSources) {
50
105
  logger.info("build", "comment stripping enabled");
51
106
  }
107
+ if (options.obfuscate.enabled) {
108
+ logger.info("build", "obfuscation enabled");
109
+ }
52
110
  logger.info("scss", "scss compiler enabled");
111
+ const classNameMap = options.obfuscate.enabled ? createClassNameMap(options.rootDir) : undefined;
112
+ if (classNameMap && classNameMap.size > 0) {
113
+ logger.info("build", `class-obfuscation :: count=${classNameMap.size}`);
114
+ }
53
115
  return {
54
116
  absWorkingDir: options.rootDir,
117
+ assetNames: options.obfuscate.enabled ? options.obfuscate.assetNames : undefined,
55
118
  bundle: true,
119
+ chunkNames: options.obfuscate.enabled ? options.obfuscate.chunkNames : undefined,
56
120
  define: options.define,
57
121
  entryPoints,
122
+ entryNames: options.obfuscate.enabled ? options.obfuscate.entryNames : undefined,
58
123
  external: options.external,
59
124
  format: options.format,
125
+ keepNames: options.obfuscate.enabled ? options.obfuscate.keepNames : undefined,
60
126
  legalComments: options.annotateSources ? "inline" : options.stripComments ? "none" : undefined,
61
127
  logLevel: "silent",
128
+ mangleProps: options.obfuscate.enabled ? options.obfuscate.mangleProps : undefined,
129
+ mangleQuoted: options.obfuscate.enabled ? options.obfuscate.mangleQuoted : undefined,
62
130
  metafile: true,
63
131
  minify: options.minify,
64
132
  outbase: options.rootDir,
@@ -66,18 +134,22 @@ function createEsbuildOptions(options, logger) {
66
134
  platform: options.platform,
67
135
  plugins: [
68
136
  createVirtualEntriesPlugin({
137
+ classNameMap,
69
138
  entries: options.entryRecords || [],
70
139
  logger,
71
140
  rootDir: options.rootDir,
72
141
  }),
73
142
  createScssPlugin({
74
143
  annotateSources: options.annotateSources,
144
+ classNameMap,
75
145
  logger,
76
146
  rootDir: options.rootDir,
77
147
  sourcemapEnabled: Boolean(options.sourcemap),
78
148
  }),
79
- ...(options.annotateSources ? [
149
+ ...((options.annotateSources || (classNameMap && classNameMap.size > 0)) ? [
80
150
  createSourceAnnotationsPlugin({
151
+ annotateSources: options.annotateSources,
152
+ classNameMap,
81
153
  logger,
82
154
  rootDir: options.rootDir,
83
155
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-options.js","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esbuild-options.js","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import type { BuildResult, Message } from "esbuild";
2
2
  import type { BundlerBuildResult, BundlerEntryRecord, NormalizedBundlerLogger } from "../types.js";
3
+ import type { DuplicateBundlerEntryRecord } from "./discovery.js";
3
4
  import type { NormalizedManifestOptions } from "./discovery.js";
4
5
  declare function logWarnings(logger: NormalizedBundlerLogger, warnings: Message[]): void;
6
+ declare function logDuplicateEntries(args: {
7
+ duplicates: DuplicateBundlerEntryRecord[];
8
+ logger: NormalizedBundlerLogger;
9
+ rootDir: string;
10
+ }): void;
5
11
  declare function toBuildResult(args: {
6
12
  entries: BundlerEntryRecord[];
7
13
  manifest: NormalizedManifestOptions;
@@ -12,5 +18,5 @@ declare function toBuildResult(args: {
12
18
  }): Promise<BundlerBuildResult>;
13
19
  declare function cleanOutDir(outDir: string): Promise<void>;
14
20
  declare function formatFailure(error: unknown): string;
15
- export { cleanOutDir, formatFailure, logWarnings, toBuildResult };
21
+ export { cleanOutDir, formatFailure, logDuplicateEntries, logWarnings, toBuildResult };
16
22
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGnG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAUhE,iBAAS,WAAW,CAAC,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/E;AAUD,iBAAe,aAAa,CAAC,IAAI,EAAE;IACjC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkB9B;AAED,iBAAe,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7C;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAUhE,iBAAS,WAAW,CAAC,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/E;AAQD,iBAAS,mBAAmB,CAAC,IAAI,EAAE;IACjC,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAWP;AAUD,iBAAe,aAAa,CAAC,IAAI,EAAE;IACjC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkB9B;AAED,iBAAe,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7C;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -14,6 +14,23 @@ function logWarnings(logger, warnings) {
14
14
  logger.warn("build", formatEsbuildMessage(warning));
15
15
  }
16
16
  }
17
+ function formatEntryPath(record, rootDir) {
18
+ return record.source === "virtual"
19
+ ? `virtual:${record.name}`
20
+ : toPublicEntryMap([record], rootDir)[record.name] || record.path;
21
+ }
22
+ function logDuplicateEntries(args) {
23
+ for (const duplicate of args.duplicates) {
24
+ args.logger.warn("entries", "duplicate-entry-pruned", {
25
+ dropped_entry: duplicate.dropped.name,
26
+ dropped_path: formatEntryPath(duplicate.dropped, args.rootDir),
27
+ dropped_source: duplicate.dropped.source,
28
+ kept_entry: duplicate.kept.name,
29
+ kept_path: formatEntryPath(duplicate.kept, args.rootDir),
30
+ kept_source: duplicate.kept.source,
31
+ });
32
+ }
33
+ }
17
34
  function resolveOutputs(result, rootDir) {
18
35
  if (!result.metafile)
19
36
  return [];
@@ -49,5 +66,5 @@ function formatFailure(error) {
49
66
  }
50
67
  return error instanceof Error ? error.message : String(error);
51
68
  }
52
- export { cleanOutDir, formatFailure, logWarnings, toBuildResult };
69
+ export { cleanOutDir, formatFailure, logDuplicateEntries, logWarnings, toBuildResult };
53
70
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAM3F,iBAAe,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8K1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsB,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAM3F,iBAAe,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiM1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}