@trebired/bundler 0.1.0 → 0.2.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/CHANGELOG.md +7 -0
- package/README.md +71 -7
- package/dist/core/build.d.ts.map +1 -1
- package/dist/core/build.js +11 -2
- package/dist/core/build.js.map +1 -1
- package/dist/core/discovery-watch.d.ts +9 -0
- package/dist/core/discovery-watch.d.ts.map +1 -0
- package/dist/core/discovery-watch.js +71 -0
- package/dist/core/discovery-watch.js.map +1 -0
- package/dist/core/discovery.d.ts +28 -0
- package/dist/core/discovery.d.ts.map +1 -0
- package/dist/core/discovery.js +227 -0
- package/dist/core/discovery.js.map +1 -0
- package/dist/core/esbuild-options.d.ts +5 -2
- package/dist/core/esbuild-options.d.ts.map +1 -1
- package/dist/core/esbuild-options.js +10 -22
- package/dist/core/esbuild-options.js.map +1 -1
- package/dist/core/manifest.d.ts +14 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +25 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/shared.d.ts +6 -2
- package/dist/core/shared.d.ts.map +1 -1
- package/dist/core/shared.js +14 -2
- package/dist/core/shared.js.map +1 -1
- package/dist/core/watch.d.ts.map +1 -1
- package/dist/core/watch.js +98 -14
- package/dist/core/watch.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +23 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to `@trebired/bundler` will be documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semantic versioning once published.
|
|
6
6
|
|
|
7
|
+
## 0.2.0
|
|
8
|
+
|
|
9
|
+
- Added built-in entry discovery so the package can walk source directories and generate entry lists itself.
|
|
10
|
+
- Added source-tree watching for discovered entries, including new and removed matching files during watch mode.
|
|
11
|
+
- Added optional manifest writing that records resolved entries and generated outputs.
|
|
12
|
+
- Made `entries` optional when `discover` is configured.
|
|
13
|
+
|
|
7
14
|
## 0.1.0
|
|
8
15
|
|
|
9
16
|
- Added the `bundle()` and `watch()` APIs for fast esbuild-backed bundling.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Fast bundler wrapper around `esbuild` with SCSS support, watch mode, and inline source path annotations.
|
|
4
4
|
|
|
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`, config-driven CLI commands, and
|
|
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, optional manifest output, and inline source path comments in generated output.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -18,7 +18,10 @@ Use this when:
|
|
|
18
18
|
|
|
19
19
|
- you want a bundling package that fits alongside other packages published by Trebired instead of wiring `esbuild` directly in every project
|
|
20
20
|
- you need one package that handles `tsx`, `jsx`, `ts`, `js`, `scss`, and `css`
|
|
21
|
+
- you want the package to discover entry files by walking your source tree
|
|
21
22
|
- you want watch mode and config-driven CLI commands without building a separate toolchain wrapper
|
|
23
|
+
- you want newly created matching files to join the build without external entry regeneration code
|
|
24
|
+
- you want a manifest describing resolved entries and generated outputs
|
|
22
25
|
- you want generated bundles to optionally include inline comments that point back to the original source file path
|
|
23
26
|
- you want package-owned logs routed through `@trebired/logger-adapter`
|
|
24
27
|
|
|
@@ -39,13 +42,14 @@ If you want a fast bundling wrapper from the Trebired package ecosystem, use thi
|
|
|
39
42
|
import { bundle } from "@trebired/bundler";
|
|
40
43
|
|
|
41
44
|
await bundle({
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
discover: {
|
|
46
|
+
dir: "./src",
|
|
47
|
+
include: ["app.tsx", "theme.css"],
|
|
45
48
|
},
|
|
46
49
|
outDir: "./dist",
|
|
47
50
|
sourcemap: "external",
|
|
48
51
|
annotateSources: true,
|
|
52
|
+
manifest: true,
|
|
49
53
|
});
|
|
50
54
|
```
|
|
51
55
|
|
|
@@ -57,11 +61,13 @@ Create a config module:
|
|
|
57
61
|
import { defineBundlerConfig } from "@trebired/bundler";
|
|
58
62
|
|
|
59
63
|
export default defineBundlerConfig({
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
discover: {
|
|
65
|
+
dir: "./src/frontend",
|
|
66
|
+
include: ["**/*.tsx", "**/*.scss", "**/*.css"],
|
|
62
67
|
},
|
|
63
68
|
outDir: "./dist",
|
|
64
69
|
annotateSources: true,
|
|
70
|
+
manifest: true,
|
|
65
71
|
});
|
|
66
72
|
```
|
|
67
73
|
|
|
@@ -72,6 +78,42 @@ trebired-bundler build --config ./bundler.config.mjs
|
|
|
72
78
|
trebired-bundler watch --config ./bundler.config.mjs
|
|
73
79
|
```
|
|
74
80
|
|
|
81
|
+
## Discovery And Walking
|
|
82
|
+
|
|
83
|
+
Set `discover` when you want `@trebired/bundler` to walk the source tree and build the entry list itself.
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
await bundle({
|
|
87
|
+
discover: {
|
|
88
|
+
dir: "./src/frontend",
|
|
89
|
+
include: ["**/*.tsx", "global/**/*.scss"],
|
|
90
|
+
exclude: ["**/*.test.tsx"],
|
|
91
|
+
ignoreDirs: ["legacy"],
|
|
92
|
+
namePrefix: "frontend",
|
|
93
|
+
},
|
|
94
|
+
outDir: "./dist",
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The package:
|
|
99
|
+
|
|
100
|
+
- walks the configured directory recursively
|
|
101
|
+
- matches files by extension plus optional include and exclude patterns
|
|
102
|
+
- derives entry names from relative paths
|
|
103
|
+
- rebuilds the entry list during watch mode when matching files are added or removed
|
|
104
|
+
|
|
105
|
+
You can combine manual `entries` with `discover`. If both resolve the same entry name to different files, the build fails so the collision is explicit.
|
|
106
|
+
|
|
107
|
+
## Manifest
|
|
108
|
+
|
|
109
|
+
Set `manifest: true` to write `dist/bundler-manifest.json`, or pass `manifest: { file: "custom-name.json" }` to choose a different path inside `outDir`.
|
|
110
|
+
|
|
111
|
+
The manifest contains:
|
|
112
|
+
|
|
113
|
+
- resolved entries
|
|
114
|
+
- whether each entry came from `manual` config or `discover`
|
|
115
|
+
- generated output files
|
|
116
|
+
|
|
75
117
|
## Source Annotation Comments
|
|
76
118
|
|
|
77
119
|
Set `annotateSources: true` to inject preserved inline comments into bundled output.
|
|
@@ -118,7 +160,22 @@ You can pass:
|
|
|
118
160
|
|
|
119
161
|
```ts
|
|
120
162
|
type BundlerOptions = {
|
|
121
|
-
entries
|
|
163
|
+
entries?: string[] | Record<string, string>;
|
|
164
|
+
discover?: {
|
|
165
|
+
dir: string;
|
|
166
|
+
include?: string[];
|
|
167
|
+
exclude?: string[];
|
|
168
|
+
extensions?: string[];
|
|
169
|
+
ignoreDirs?: string[];
|
|
170
|
+
namePrefix?: string;
|
|
171
|
+
} | Array<{
|
|
172
|
+
dir: string;
|
|
173
|
+
include?: string[];
|
|
174
|
+
exclude?: string[];
|
|
175
|
+
extensions?: string[];
|
|
176
|
+
ignoreDirs?: string[];
|
|
177
|
+
namePrefix?: string;
|
|
178
|
+
}>;
|
|
122
179
|
outDir: string;
|
|
123
180
|
rootDir?: string;
|
|
124
181
|
platform?: "browser" | "node" | "neutral";
|
|
@@ -132,22 +189,29 @@ type BundlerOptions = {
|
|
|
132
189
|
define?: Record<string, string>;
|
|
133
190
|
clean?: boolean;
|
|
134
191
|
annotateSources?: boolean;
|
|
192
|
+
manifest?: boolean | {
|
|
193
|
+
file?: string;
|
|
194
|
+
};
|
|
135
195
|
logger?: unknown;
|
|
136
196
|
loggerAdapter?: (logger: unknown, event: unknown) => unknown;
|
|
137
197
|
};
|
|
138
198
|
|
|
139
199
|
declare function bundle(options: BundlerOptions): Promise<{
|
|
200
|
+
entries: Record<string, string>;
|
|
140
201
|
outputs: string[];
|
|
141
202
|
warnings: number;
|
|
142
203
|
metafile?: object;
|
|
204
|
+
manifestPath?: string;
|
|
143
205
|
durationMs: number;
|
|
144
206
|
}>;
|
|
145
207
|
|
|
146
208
|
declare function watch(options: BundlerOptions): Promise<{
|
|
147
209
|
rebuild(): Promise<{
|
|
210
|
+
entries: Record<string, string>;
|
|
148
211
|
outputs: string[];
|
|
149
212
|
warnings: number;
|
|
150
213
|
metafile?: object;
|
|
214
|
+
manifestPath?: string;
|
|
151
215
|
durationMs: number;
|
|
152
216
|
}>;
|
|
153
217
|
dispose(): Promise<void>;
|
package/dist/core/build.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/build.js
CHANGED
|
@@ -3,6 +3,7 @@ import { logPackageInitialized } from "@trebired/logger-adapter";
|
|
|
3
3
|
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
|
+
import { resolveBundlerEntries } from "./discovery.js";
|
|
6
7
|
import { cleanOutDir, formatFailure, logWarnings, toBuildResult } from "./shared.js";
|
|
7
8
|
async function bundle(options) {
|
|
8
9
|
const normalized = normalizeBundlerOptions(options || {});
|
|
@@ -21,9 +22,17 @@ async function bundle(options) {
|
|
|
21
22
|
logger.info("build", "start");
|
|
22
23
|
const startedAt = Date.now();
|
|
23
24
|
try {
|
|
24
|
-
const
|
|
25
|
+
const resolvedEntries = await resolveBundlerEntries(options || {}, normalized.rootDir);
|
|
26
|
+
logger.info("build", `entries :: count=${resolvedEntries.records.length}`);
|
|
27
|
+
const result = await runEsbuild(createEsbuildOptions({
|
|
28
|
+
...normalized,
|
|
29
|
+
entryRecords: resolvedEntries.records,
|
|
30
|
+
}, logger));
|
|
25
31
|
logWarnings(logger, result.warnings);
|
|
26
|
-
const summary = toBuildResult({
|
|
32
|
+
const summary = await toBuildResult({
|
|
33
|
+
entries: resolvedEntries.records,
|
|
34
|
+
manifest: normalized.manifest,
|
|
35
|
+
outDir: normalized.outDir,
|
|
27
36
|
result,
|
|
28
37
|
rootDir: normalized.rootDir,
|
|
29
38
|
startedAt,
|
package/dist/core/build.js.map
CHANGED
|
@@ -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,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,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery-watch.d.ts","sourceRoot":"","sources":["../../src/core/discovery-watch.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACtB,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,iBAAS,sBAAsB,CAAC,IAAI,EAAE;IACpC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,gBAAgB,CAqEnB;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
function createDiscoveryWatcher(args) {
|
|
4
|
+
const watchers = new Map();
|
|
5
|
+
let closed = false;
|
|
6
|
+
let timer = null;
|
|
7
|
+
const interval = setInterval(() => {
|
|
8
|
+
for (const dir of args.dirs) {
|
|
9
|
+
refresh(dir);
|
|
10
|
+
}
|
|
11
|
+
emitChange();
|
|
12
|
+
}, 250);
|
|
13
|
+
const emitChange = () => {
|
|
14
|
+
if (closed)
|
|
15
|
+
return;
|
|
16
|
+
if (timer)
|
|
17
|
+
clearTimeout(timer);
|
|
18
|
+
timer = setTimeout(() => {
|
|
19
|
+
timer = null;
|
|
20
|
+
args.onChange();
|
|
21
|
+
}, 80);
|
|
22
|
+
};
|
|
23
|
+
const ensureWatch = (dir) => {
|
|
24
|
+
if (closed || watchers.has(dir) || !fs.existsSync(dir))
|
|
25
|
+
return;
|
|
26
|
+
if (!fs.statSync(dir).isDirectory())
|
|
27
|
+
return;
|
|
28
|
+
const watcher = fs.watch(dir, () => {
|
|
29
|
+
refresh(dir);
|
|
30
|
+
emitChange();
|
|
31
|
+
});
|
|
32
|
+
watcher.on("error", () => {
|
|
33
|
+
watchers.delete(dir);
|
|
34
|
+
});
|
|
35
|
+
watchers.set(dir, watcher);
|
|
36
|
+
};
|
|
37
|
+
const refresh = (startDir) => {
|
|
38
|
+
if (closed || !fs.existsSync(startDir))
|
|
39
|
+
return;
|
|
40
|
+
const stack = [startDir];
|
|
41
|
+
while (stack.length) {
|
|
42
|
+
const current = stack.pop();
|
|
43
|
+
ensureWatch(current);
|
|
44
|
+
for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
|
|
45
|
+
if (!entry.isDirectory())
|
|
46
|
+
continue;
|
|
47
|
+
const child = path.join(current, entry.name);
|
|
48
|
+
if (!watchers.has(child)) {
|
|
49
|
+
stack.push(child);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
for (const dir of args.dirs) {
|
|
55
|
+
refresh(dir);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
close() {
|
|
59
|
+
closed = true;
|
|
60
|
+
clearInterval(interval);
|
|
61
|
+
if (timer)
|
|
62
|
+
clearTimeout(timer);
|
|
63
|
+
for (const watcher of watchers.values()) {
|
|
64
|
+
watcher.close();
|
|
65
|
+
}
|
|
66
|
+
watchers.clear();
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export { createDiscoveryWatcher };
|
|
71
|
+
//# sourceMappingURL=discovery-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery-watch.js","sourceRoot":"","sources":["../../src/core/discovery-watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BundlerEntryRecord, BundlerManifestOptions, BundlerOptions } from "../types.js";
|
|
2
|
+
type NormalizedDiscoverOptions = {
|
|
3
|
+
dir: string;
|
|
4
|
+
dirAbs: string;
|
|
5
|
+
exclude: string[];
|
|
6
|
+
extensions: string[];
|
|
7
|
+
ignoreDirs: Set<string>;
|
|
8
|
+
include: string[];
|
|
9
|
+
namePrefix: string;
|
|
10
|
+
};
|
|
11
|
+
type ResolvedEntries = {
|
|
12
|
+
records: BundlerEntryRecord[];
|
|
13
|
+
signature: string;
|
|
14
|
+
};
|
|
15
|
+
type NormalizedManifestOptions = {
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
file?: string;
|
|
18
|
+
};
|
|
19
|
+
declare function toPosixPath(value: string): string;
|
|
20
|
+
declare function resolveBundlerEntries(options: BundlerOptions, rootDir: string, settings?: {
|
|
21
|
+
allowEmpty?: boolean;
|
|
22
|
+
}): Promise<ResolvedEntries>;
|
|
23
|
+
declare function toEntryPointMap(records: BundlerEntryRecord[], rootDir: string): Record<string, string>;
|
|
24
|
+
declare function normalizeManifestOptions(manifest: BundlerManifestOptions | undefined): NormalizedManifestOptions;
|
|
25
|
+
declare function normalizeDiscoverRoots(rootDir: string, discover: BundlerOptions["discover"]): string[];
|
|
26
|
+
export { normalizeDiscoverRoots, normalizeManifestOptions, resolveBundlerEntries, toEntryPointMap, toPosixPath, };
|
|
27
|
+
export type { NormalizedDiscoverOptions, NormalizedManifestOptions, ResolvedEntries };
|
|
28
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +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,EACf,MAAM,aAAa,CAAC;AAKrB,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;AA0LD,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,CAkC1B;AAED,iBAAS,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/F;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,eAAe,EACf,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import fsp from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
const DEFAULT_DISCOVERY_EXTENSIONS = [".css", ".js", ".jsx", ".scss", ".ts", ".tsx"];
|
|
5
|
+
const DEFAULT_IGNORE_DIRS = [".git", "coverage", "dist", "node_modules"];
|
|
6
|
+
function toPosixPath(value) {
|
|
7
|
+
return value.replace(/\\/g, "/");
|
|
8
|
+
}
|
|
9
|
+
function normalizePathValue(value) {
|
|
10
|
+
return toPosixPath(String(value || "").trim()).replace(/^\.\/+/, "");
|
|
11
|
+
}
|
|
12
|
+
function globToRegExp(pattern) {
|
|
13
|
+
const normalized = normalizePathValue(pattern);
|
|
14
|
+
let source = "";
|
|
15
|
+
for (let index = 0; index < normalized.length; index += 1) {
|
|
16
|
+
const char = normalized[index];
|
|
17
|
+
const next = normalized[index + 1];
|
|
18
|
+
const afterNext = normalized[index + 2];
|
|
19
|
+
if (char === "*" && next === "*" && afterNext === "/") {
|
|
20
|
+
source += "(?:.*/)?";
|
|
21
|
+
index += 2;
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (char === "*" && next === "*") {
|
|
25
|
+
source += ".*";
|
|
26
|
+
index += 1;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (char === "*") {
|
|
30
|
+
source += "[^/]*";
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (char === "?") {
|
|
34
|
+
source += ".";
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (/[|\\{}()[\]^$+?.]/.test(char)) {
|
|
38
|
+
source += `\\${char}`;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
source += char;
|
|
42
|
+
}
|
|
43
|
+
return new RegExp(`^${source}$`);
|
|
44
|
+
}
|
|
45
|
+
function matchesAnyPattern(value, patterns) {
|
|
46
|
+
if (!patterns.length)
|
|
47
|
+
return false;
|
|
48
|
+
const normalized = normalizePathValue(value);
|
|
49
|
+
const base = path.basename(normalized);
|
|
50
|
+
return patterns.some((pattern) => {
|
|
51
|
+
const normalizedPattern = normalizePathValue(pattern);
|
|
52
|
+
if (!normalizedPattern)
|
|
53
|
+
return false;
|
|
54
|
+
if (normalizedPattern === normalized || normalizedPattern === base)
|
|
55
|
+
return true;
|
|
56
|
+
return globToRegExp(normalizedPattern).test(normalized);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function normalizeStringList(values) {
|
|
60
|
+
return (values || []).map(normalizePathValue).filter(Boolean);
|
|
61
|
+
}
|
|
62
|
+
function normalizeDiscoverOptions(rootDir, discover) {
|
|
63
|
+
const list = Array.isArray(discover) ? discover : discover ? [discover] : [];
|
|
64
|
+
return list
|
|
65
|
+
.map((item) => item && typeof item === "object" ? item : null)
|
|
66
|
+
.filter(Boolean)
|
|
67
|
+
.map((item) => {
|
|
68
|
+
const dir = normalizePathValue(item.dir);
|
|
69
|
+
if (!dir) {
|
|
70
|
+
throw new Error("bundler-discover-missing-dir");
|
|
71
|
+
}
|
|
72
|
+
const extensions = (item.extensions && item.extensions.length ? item.extensions : DEFAULT_DISCOVERY_EXTENSIONS)
|
|
73
|
+
.map((value) => String(value || "").trim().toLowerCase())
|
|
74
|
+
.filter(Boolean)
|
|
75
|
+
.map((value) => value.startsWith(".") ? value : `.${value}`);
|
|
76
|
+
return {
|
|
77
|
+
dir,
|
|
78
|
+
dirAbs: path.resolve(rootDir, dir),
|
|
79
|
+
exclude: normalizeStringList(item.exclude),
|
|
80
|
+
extensions,
|
|
81
|
+
ignoreDirs: new Set([
|
|
82
|
+
...DEFAULT_IGNORE_DIRS,
|
|
83
|
+
...normalizeStringList(item.ignoreDirs),
|
|
84
|
+
].map((value) => path.basename(value))),
|
|
85
|
+
include: normalizeStringList(item.include),
|
|
86
|
+
namePrefix: normalizePathValue(item.namePrefix || ""),
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function normalizeManualEntries(entries, rootDir) {
|
|
91
|
+
if (!entries)
|
|
92
|
+
return [];
|
|
93
|
+
if (Array.isArray(entries)) {
|
|
94
|
+
return entries
|
|
95
|
+
.map((value) => String(value || "").trim())
|
|
96
|
+
.filter(Boolean)
|
|
97
|
+
.map((value) => {
|
|
98
|
+
const rel = normalizePathValue(value);
|
|
99
|
+
const ext = path.extname(rel);
|
|
100
|
+
const noExt = ext ? rel.slice(0, -ext.length) : rel;
|
|
101
|
+
return {
|
|
102
|
+
name: noExt,
|
|
103
|
+
path: path.resolve(rootDir, rel),
|
|
104
|
+
source: "manual",
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (typeof entries === "object") {
|
|
109
|
+
return Object.entries(entries)
|
|
110
|
+
.map(([key, value]) => ({
|
|
111
|
+
name: normalizePathValue(key),
|
|
112
|
+
path: path.resolve(rootDir, String(value || "").trim()),
|
|
113
|
+
source: "manual",
|
|
114
|
+
}))
|
|
115
|
+
.filter((entry) => Boolean(entry.name && entry.path));
|
|
116
|
+
}
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
function buildDiscoveredEntryName(args) {
|
|
120
|
+
const ext = path.extname(args.relativePath);
|
|
121
|
+
const withoutExt = ext ? args.relativePath.slice(0, -ext.length) : args.relativePath;
|
|
122
|
+
return normalizePathValue([args.config.namePrefix, withoutExt].filter(Boolean).join("/"));
|
|
123
|
+
}
|
|
124
|
+
async function walkDiscoveredEntries(config) {
|
|
125
|
+
if (!fs.existsSync(config.dirAbs))
|
|
126
|
+
return [];
|
|
127
|
+
const records = [];
|
|
128
|
+
const visit = async (currentAbs) => {
|
|
129
|
+
const entries = await fsp.readdir(currentAbs, { withFileTypes: true });
|
|
130
|
+
for (const entry of entries) {
|
|
131
|
+
const abs = path.join(currentAbs, entry.name);
|
|
132
|
+
const relFromDiscover = normalizePathValue(path.relative(config.dirAbs, abs));
|
|
133
|
+
if (!relFromDiscover)
|
|
134
|
+
continue;
|
|
135
|
+
if (entry.isDirectory()) {
|
|
136
|
+
if (config.ignoreDirs.has(entry.name))
|
|
137
|
+
continue;
|
|
138
|
+
if (matchesAnyPattern(relFromDiscover, config.exclude))
|
|
139
|
+
continue;
|
|
140
|
+
await visit(abs);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (!entry.isFile())
|
|
144
|
+
continue;
|
|
145
|
+
const ext = path.extname(entry.name).toLowerCase();
|
|
146
|
+
if (!config.extensions.includes(ext))
|
|
147
|
+
continue;
|
|
148
|
+
if (config.include.length && !matchesAnyPattern(relFromDiscover, config.include))
|
|
149
|
+
continue;
|
|
150
|
+
if (matchesAnyPattern(relFromDiscover, config.exclude))
|
|
151
|
+
continue;
|
|
152
|
+
records.push({
|
|
153
|
+
name: buildDiscoveredEntryName({
|
|
154
|
+
config,
|
|
155
|
+
relativePath: relFromDiscover,
|
|
156
|
+
}),
|
|
157
|
+
path: abs,
|
|
158
|
+
source: "discover",
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
await visit(config.dirAbs);
|
|
163
|
+
return records.sort((a, b) => a.name.localeCompare(b.name) || a.path.localeCompare(b.path));
|
|
164
|
+
}
|
|
165
|
+
async function resolveBundlerEntries(options, rootDir, settings = {}) {
|
|
166
|
+
const manual = normalizeManualEntries(options.entries, rootDir);
|
|
167
|
+
const discoveredGroups = await Promise.all(normalizeDiscoverOptions(rootDir, options.discover).map(walkDiscoveredEntries));
|
|
168
|
+
const discovered = discoveredGroups.flat();
|
|
169
|
+
const all = [...manual, ...discovered];
|
|
170
|
+
if (!all.length && !settings.allowEmpty) {
|
|
171
|
+
throw new Error("bundler-missing-entries");
|
|
172
|
+
}
|
|
173
|
+
const byName = new Map();
|
|
174
|
+
for (const record of all) {
|
|
175
|
+
const existing = byName.get(record.name);
|
|
176
|
+
if (!existing) {
|
|
177
|
+
byName.set(record.name, record);
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
if (existing.path === record.path)
|
|
181
|
+
continue;
|
|
182
|
+
throw new Error(`bundler-entry-name-conflict :: ${record.name}`);
|
|
183
|
+
}
|
|
184
|
+
const records = Array.from(byName.values()).sort((a, b) => a.name.localeCompare(b.name) || a.path.localeCompare(b.path));
|
|
185
|
+
const signature = JSON.stringify(records.map((record) => ({
|
|
186
|
+
name: record.name,
|
|
187
|
+
path: normalizePathValue(path.relative(rootDir, record.path)),
|
|
188
|
+
source: record.source,
|
|
189
|
+
})));
|
|
190
|
+
return {
|
|
191
|
+
records,
|
|
192
|
+
signature,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function toEntryPointMap(records, rootDir) {
|
|
196
|
+
return Object.fromEntries(records.map((record) => [record.name, normalizePathValue(path.relative(rootDir, record.path))]));
|
|
197
|
+
}
|
|
198
|
+
function normalizeManifestOptions(manifest) {
|
|
199
|
+
if (!manifest) {
|
|
200
|
+
return { enabled: false };
|
|
201
|
+
}
|
|
202
|
+
if (manifest === true) {
|
|
203
|
+
return {
|
|
204
|
+
enabled: true,
|
|
205
|
+
file: "bundler-manifest.json",
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
enabled: true,
|
|
210
|
+
file: normalizePathValue(manifest.file || "bundler-manifest.json"),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
function normalizeDiscoverRoots(rootDir, discover) {
|
|
214
|
+
const roots = normalizeDiscoverOptions(rootDir, discover).map((item) => {
|
|
215
|
+
let current = item.dirAbs;
|
|
216
|
+
while (!fs.existsSync(current)) {
|
|
217
|
+
const parent = path.dirname(current);
|
|
218
|
+
if (parent === current)
|
|
219
|
+
return rootDir;
|
|
220
|
+
current = parent;
|
|
221
|
+
}
|
|
222
|
+
return current;
|
|
223
|
+
});
|
|
224
|
+
return Array.from(new Set(roots));
|
|
225
|
+
}
|
|
226
|
+
export { normalizeDiscoverRoots, normalizeManifestOptions, resolveBundlerEntries, toEntryPointMap, toPosixPath, };
|
|
227
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;AAS7B,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;AAsBzE,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,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,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,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IAEvC,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,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,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,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAChG,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,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { BuildOptions } from "esbuild";
|
|
2
|
-
import type { BundlerOptions, NormalizedBundlerLogger } from "../types.js";
|
|
2
|
+
import type { BundlerOptions, BundlerEntryRecord, NormalizedBundlerLogger } from "../types.js";
|
|
3
|
+
import { normalizeManifestOptions } from "./discovery.js";
|
|
3
4
|
type NormalizedBundlerOptions = {
|
|
4
5
|
annotateSources: boolean;
|
|
5
6
|
clean: boolean;
|
|
6
7
|
define?: Record<string, string>;
|
|
7
|
-
entries
|
|
8
|
+
entries?: string[] | Record<string, string>;
|
|
9
|
+
entryRecords?: BundlerEntryRecord[];
|
|
8
10
|
external?: string[];
|
|
9
11
|
format?: BundlerOptions["format"];
|
|
10
12
|
logger?: BundlerOptions["logger"];
|
|
11
13
|
loggerAdapter?: BundlerOptions["loggerAdapter"];
|
|
14
|
+
manifest: ReturnType<typeof normalizeManifestOptions>;
|
|
12
15
|
minify: boolean;
|
|
13
16
|
outDir: string;
|
|
14
17
|
platform?: BundlerOptions["platform"];
|
|
@@ -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;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,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,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,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;AAI5C,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,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,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,iBAAS,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CA4BlF;AAED,iBAAS,oBAAoB,CAC3B,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,uBAAuB,GAC9B,YAAY,CAiDd;AAED,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,25 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { createScssPlugin } from "../plugins/scss.js";
|
|
3
3
|
import { createSourceAnnotationsPlugin } from "../plugins/source-annotations.js";
|
|
4
|
-
|
|
5
|
-
if (Array.isArray(entries)) {
|
|
6
|
-
const filtered = entries.map((value) => String(value || "").trim()).filter(Boolean);
|
|
7
|
-
if (!filtered.length) {
|
|
8
|
-
throw new Error("bundler-missing-entries");
|
|
9
|
-
}
|
|
10
|
-
return filtered;
|
|
11
|
-
}
|
|
12
|
-
if (!entries || typeof entries !== "object") {
|
|
13
|
-
throw new Error("bundler-missing-entries");
|
|
14
|
-
}
|
|
15
|
-
const normalized = Object.fromEntries(Object.entries(entries)
|
|
16
|
-
.map(([key, value]) => [String(key || "").trim(), String(value || "").trim()])
|
|
17
|
-
.filter(([key, value]) => Boolean(key && value)));
|
|
18
|
-
if (Object.keys(normalized).length === 0) {
|
|
19
|
-
throw new Error("bundler-missing-entries");
|
|
20
|
-
}
|
|
21
|
-
return normalized;
|
|
22
|
-
}
|
|
4
|
+
import { normalizeManifestOptions, toEntryPointMap } from "./discovery.js";
|
|
23
5
|
function normalizeBundlerOptions(options) {
|
|
24
6
|
const rootDir = path.resolve(String(options.rootDir || "").trim() || process.cwd());
|
|
25
7
|
const outDir = String(options.outDir || "").trim();
|
|
@@ -27,16 +9,16 @@ function normalizeBundlerOptions(options) {
|
|
|
27
9
|
throw new Error("bundler-missing-out-dir");
|
|
28
10
|
}
|
|
29
11
|
const resolvedOutDir = path.resolve(rootDir, outDir);
|
|
30
|
-
const entries = normalizeEntries(options.entries);
|
|
31
12
|
return {
|
|
32
13
|
annotateSources: Boolean(options.annotateSources),
|
|
33
14
|
clean: options.clean !== false,
|
|
34
15
|
define: options.define,
|
|
35
|
-
entries,
|
|
16
|
+
entries: options.entries,
|
|
36
17
|
external: options.external,
|
|
37
18
|
format: options.format,
|
|
38
19
|
logger: options.logger,
|
|
39
20
|
loggerAdapter: options.loggerAdapter,
|
|
21
|
+
manifest: normalizeManifestOptions(options.manifest),
|
|
40
22
|
minify: Boolean(options.minify),
|
|
41
23
|
outDir: resolvedOutDir,
|
|
42
24
|
platform: options.platform,
|
|
@@ -48,6 +30,12 @@ function normalizeBundlerOptions(options) {
|
|
|
48
30
|
};
|
|
49
31
|
}
|
|
50
32
|
function createEsbuildOptions(options, logger) {
|
|
33
|
+
const entryPoints = options.entryRecords
|
|
34
|
+
? toEntryPointMap(options.entryRecords, options.rootDir)
|
|
35
|
+
: options.entries;
|
|
36
|
+
if (!entryPoints || (typeof entryPoints === "object" && !Array.isArray(entryPoints) && Object.keys(entryPoints).length === 0)) {
|
|
37
|
+
throw new Error("bundler-missing-entries");
|
|
38
|
+
}
|
|
51
39
|
if (options.annotateSources) {
|
|
52
40
|
logger.info("annotate", "inline source annotations enabled");
|
|
53
41
|
}
|
|
@@ -56,7 +44,7 @@ function createEsbuildOptions(options, logger) {
|
|
|
56
44
|
absWorkingDir: options.rootDir,
|
|
57
45
|
bundle: true,
|
|
58
46
|
define: options.define,
|
|
59
|
-
entryPoints
|
|
47
|
+
entryPoints,
|
|
60
48
|
external: options.external,
|
|
61
49
|
format: options.format,
|
|
62
50
|
legalComments: options.annotateSources ? "inline" : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-options.js","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"esbuild-options.js","sourceRoot":"","sources":["../../src/core/esbuild-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BundlerEntryRecord } from "../types.js";
|
|
2
|
+
import type { NormalizedManifestOptions } from "./discovery.js";
|
|
3
|
+
type ManifestWriteResult = {
|
|
4
|
+
manifestPath?: string;
|
|
5
|
+
};
|
|
6
|
+
declare function writeBundlerManifest(args: {
|
|
7
|
+
entries: BundlerEntryRecord[];
|
|
8
|
+
manifest: NormalizedManifestOptions;
|
|
9
|
+
outDir: string;
|
|
10
|
+
outputs: string[];
|
|
11
|
+
rootDir: string;
|
|
12
|
+
}): Promise<ManifestWriteResult>;
|
|
13
|
+
export { writeBundlerManifest };
|
|
14
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,iBAAe,oBAAoB,CAAC,IAAI,EAAE;IACxC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyB/B;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { toPosixPath } from "./discovery.js";
|
|
4
|
+
async function writeBundlerManifest(args) {
|
|
5
|
+
if (!args.manifest.enabled || !args.manifest.file) {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
const manifestPath = path.resolve(args.outDir, args.manifest.file);
|
|
9
|
+
await fs.mkdir(path.dirname(manifestPath), { recursive: true });
|
|
10
|
+
const body = {
|
|
11
|
+
generatedAt: new Date().toISOString(),
|
|
12
|
+
entries: Object.fromEntries(args.entries.map((entry) => [
|
|
13
|
+
entry.name,
|
|
14
|
+
{
|
|
15
|
+
path: toPosixPath(path.relative(args.rootDir, entry.path)),
|
|
16
|
+
source: entry.source,
|
|
17
|
+
},
|
|
18
|
+
])),
|
|
19
|
+
outputs: args.outputs.map((output) => toPosixPath(path.relative(args.rootDir, output))),
|
|
20
|
+
};
|
|
21
|
+
await fs.writeFile(`${manifestPath}`, `${JSON.stringify(body, null, 2)}\n`);
|
|
22
|
+
return { manifestPath };
|
|
23
|
+
}
|
|
24
|
+
export { writeBundlerManifest };
|
|
25
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C,KAAK,UAAU,oBAAoB,CAAC,IAMnC;IACC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI;YACV;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB;SACF,CAAC,CACH;QACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;KACxF,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5E,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/core/shared.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { BuildResult, Message } from "esbuild";
|
|
2
|
-
import type { BundlerBuildResult, NormalizedBundlerLogger } from "../types.js";
|
|
2
|
+
import type { BundlerBuildResult, BundlerEntryRecord, NormalizedBundlerLogger } from "../types.js";
|
|
3
|
+
import type { NormalizedManifestOptions } from "./discovery.js";
|
|
3
4
|
declare function logWarnings(logger: NormalizedBundlerLogger, warnings: Message[]): void;
|
|
4
5
|
declare function toBuildResult(args: {
|
|
6
|
+
entries: BundlerEntryRecord[];
|
|
7
|
+
manifest: NormalizedManifestOptions;
|
|
8
|
+
outDir: string;
|
|
5
9
|
result: BuildResult<any>;
|
|
6
10
|
rootDir: string;
|
|
7
11
|
startedAt: number;
|
|
8
|
-
}): BundlerBuildResult
|
|
12
|
+
}): Promise<BundlerBuildResult>;
|
|
9
13
|
declare function cleanOutDir(outDir: string): Promise<void>;
|
|
10
14
|
declare function formatFailure(error: unknown): string;
|
|
11
15
|
export { cleanOutDir, formatFailure, logWarnings, toBuildResult };
|
|
@@ -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,uBAAuB,EAAE,MAAM,aAAa,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;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"}
|
package/dist/core/shared.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { toEntryPointMap } from "./discovery.js";
|
|
4
|
+
import { writeBundlerManifest } from "./manifest.js";
|
|
3
5
|
function formatEsbuildMessage(message) {
|
|
4
6
|
const location = message.location
|
|
5
7
|
? `${message.location.file}:${message.location.line}:${message.location.column}`
|
|
@@ -19,11 +21,21 @@ function resolveOutputs(result, rootDir) {
|
|
|
19
21
|
.map((value) => path.isAbsolute(value) ? value : path.resolve(rootDir, value))
|
|
20
22
|
.sort();
|
|
21
23
|
}
|
|
22
|
-
function toBuildResult(args) {
|
|
24
|
+
async function toBuildResult(args) {
|
|
25
|
+
const outputs = resolveOutputs(args.result, args.rootDir);
|
|
26
|
+
const manifestWrite = await writeBundlerManifest({
|
|
27
|
+
entries: args.entries,
|
|
28
|
+
manifest: args.manifest,
|
|
29
|
+
outDir: args.outDir,
|
|
30
|
+
outputs,
|
|
31
|
+
rootDir: args.rootDir,
|
|
32
|
+
});
|
|
23
33
|
return {
|
|
24
|
-
|
|
34
|
+
entries: toEntryPointMap(args.entries, args.rootDir),
|
|
35
|
+
outputs,
|
|
25
36
|
warnings: args.result.warnings.length,
|
|
26
37
|
metafile: args.result.metafile,
|
|
38
|
+
manifestPath: manifestWrite.manifestPath,
|
|
27
39
|
durationMs: Date.now() - args.startedAt,
|
|
28
40
|
};
|
|
29
41
|
}
|
package/dist/core/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/core/watch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"
|
|
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,CA+I1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/core/watch.js
CHANGED
|
@@ -3,6 +3,8 @@ import { logPackageInitialized } from "@trebired/logger-adapter";
|
|
|
3
3
|
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
|
+
import { resolveBundlerEntries, normalizeDiscoverRoots } from "./discovery.js";
|
|
7
|
+
import { createDiscoveryWatcher } from "./discovery-watch.js";
|
|
6
8
|
import { cleanOutDir, formatFailure, logWarnings, toBuildResult } from "./shared.js";
|
|
7
9
|
async function watch(options) {
|
|
8
10
|
const normalized = normalizeBundlerOptions(options || {});
|
|
@@ -18,12 +20,37 @@ async function watch(options) {
|
|
|
18
20
|
logger.info("watch", `clean :: ${normalized.outDir}`);
|
|
19
21
|
await cleanOutDir(normalized.outDir);
|
|
20
22
|
}
|
|
21
|
-
|
|
23
|
+
let disposed = false;
|
|
24
|
+
let currentEntries = await resolveBundlerEntries(options || {}, normalized.rootDir, {
|
|
25
|
+
allowEmpty: true,
|
|
26
|
+
});
|
|
27
|
+
let currentContext = null;
|
|
28
|
+
let queued = Promise.resolve();
|
|
29
|
+
const createWatchedContext = async (records = currentEntries.records) => {
|
|
30
|
+
const context = await createContext(createEsbuildOptions({
|
|
31
|
+
...normalized,
|
|
32
|
+
entryRecords: records,
|
|
33
|
+
}, logger));
|
|
34
|
+
await context.watch();
|
|
35
|
+
return context;
|
|
36
|
+
};
|
|
22
37
|
const executeRebuild = async () => {
|
|
38
|
+
if (!currentContext) {
|
|
39
|
+
return {
|
|
40
|
+
entries: {},
|
|
41
|
+
outputs: [],
|
|
42
|
+
warnings: 0,
|
|
43
|
+
manifestPath: undefined,
|
|
44
|
+
durationMs: 0,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
23
47
|
const startedAt = Date.now();
|
|
24
|
-
const result = await
|
|
48
|
+
const result = await currentContext.rebuild();
|
|
25
49
|
logWarnings(logger, result.warnings);
|
|
26
|
-
const summary = toBuildResult({
|
|
50
|
+
const summary = await toBuildResult({
|
|
51
|
+
entries: currentEntries.records,
|
|
52
|
+
manifest: normalized.manifest,
|
|
53
|
+
outDir: normalized.outDir,
|
|
27
54
|
result,
|
|
28
55
|
rootDir: normalized.rootDir,
|
|
29
56
|
startedAt,
|
|
@@ -31,29 +58,86 @@ async function watch(options) {
|
|
|
31
58
|
logger.info("watch", `rebuilt :: outputs=${summary.outputs.length} warnings=${summary.warnings}`);
|
|
32
59
|
return summary;
|
|
33
60
|
};
|
|
61
|
+
const refreshDiscovery = async () => {
|
|
62
|
+
const nextEntries = await resolveBundlerEntries(options || {}, normalized.rootDir, {
|
|
63
|
+
allowEmpty: true,
|
|
64
|
+
});
|
|
65
|
+
if (nextEntries.signature === currentEntries.signature)
|
|
66
|
+
return;
|
|
67
|
+
logger.info("watch", `entry-set-changed :: count=${nextEntries.records.length}`);
|
|
68
|
+
currentEntries = nextEntries;
|
|
69
|
+
if (currentContext) {
|
|
70
|
+
await currentContext.dispose();
|
|
71
|
+
currentContext = null;
|
|
72
|
+
}
|
|
73
|
+
await cleanOutDir(normalized.outDir);
|
|
74
|
+
if (currentEntries.records.length === 0) {
|
|
75
|
+
logger.info("watch", "entry-set-empty");
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
currentContext = await createWatchedContext(currentEntries.records);
|
|
79
|
+
await executeRebuild();
|
|
80
|
+
};
|
|
81
|
+
const runExclusive = (task) => {
|
|
82
|
+
const next = queued.then(task, task);
|
|
83
|
+
queued = next.then(() => undefined, () => undefined);
|
|
84
|
+
return next;
|
|
85
|
+
};
|
|
86
|
+
const discoveryRoots = normalizeDiscoverRoots(normalized.rootDir, options.discover);
|
|
87
|
+
const discoveryWatcher = discoveryRoots.length
|
|
88
|
+
? createDiscoveryWatcher({
|
|
89
|
+
dirs: discoveryRoots,
|
|
90
|
+
onChange() {
|
|
91
|
+
void runExclusive(async () => {
|
|
92
|
+
if (disposed)
|
|
93
|
+
return;
|
|
94
|
+
try {
|
|
95
|
+
await refreshDiscovery();
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
logger.fail("watch", `discovery-refresh-failed :: ${formatFailure(error)}`);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
})
|
|
103
|
+
: null;
|
|
34
104
|
try {
|
|
35
105
|
logger.info("watch", "start");
|
|
36
|
-
|
|
37
|
-
|
|
106
|
+
logger.info("watch", `entries :: count=${currentEntries.records.length}`);
|
|
107
|
+
if (currentEntries.records.length > 0) {
|
|
108
|
+
currentContext = await createWatchedContext(currentEntries.records);
|
|
109
|
+
await executeRebuild();
|
|
110
|
+
}
|
|
38
111
|
return {
|
|
39
112
|
async rebuild() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
113
|
+
return runExclusive(async () => {
|
|
114
|
+
try {
|
|
115
|
+
await refreshDiscovery();
|
|
116
|
+
return await executeRebuild();
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
logger.fail("watch", `rebuild-failed :: ${formatFailure(error)}`);
|
|
120
|
+
throw error;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
47
123
|
},
|
|
48
124
|
async dispose() {
|
|
49
125
|
logger.info("watch", "dispose");
|
|
50
|
-
|
|
126
|
+
disposed = true;
|
|
127
|
+
discoveryWatcher?.close();
|
|
128
|
+
if (currentContext) {
|
|
129
|
+
await currentContext.dispose();
|
|
130
|
+
}
|
|
51
131
|
},
|
|
52
132
|
};
|
|
53
133
|
}
|
|
54
134
|
catch (error) {
|
|
55
135
|
logger.fail("watch", `failed :: ${formatFailure(error)}`);
|
|
56
|
-
|
|
136
|
+
disposed = true;
|
|
137
|
+
discoveryWatcher?.close();
|
|
138
|
+
if (currentContext) {
|
|
139
|
+
await currentContext.dispose();
|
|
140
|
+
}
|
|
57
141
|
throw error;
|
|
58
142
|
}
|
|
59
143
|
}
|
package/dist/core/watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export { resolveLogger } from "./logging.js";
|
|
|
6
6
|
export { buildSourceAnnotation, injectSourceAnnotation, resolveSourceLabel } from "./plugins/source-annotations.js";
|
|
7
7
|
export { createScssPlugin } from "./plugins/scss.js";
|
|
8
8
|
export { runCli } from "./cli/run-cli.js";
|
|
9
|
-
export type { BundlerBuildResult, BundlerGenericLogMethod, BundlerLogEvent, BundlerLogger, BundlerLoggerAdapter, BundlerLogMethod, BundlerOptions, BundlerWatchSession, LoadedBundlerConfig, NormalizedBundlerLogger, } from "./types.js";
|
|
9
|
+
export type { BundlerBuildResult, BundlerDiscoverOptions, BundlerEntryRecord, BundlerEntrySource, BundlerGenericLogMethod, BundlerLogEvent, BundlerLogger, BundlerLoggerAdapter, BundlerLogMethod, BundlerManifestOptions, BundlerOptions, BundlerWatchSession, LoadedBundlerConfig, NormalizedBundlerLogger, } from "./types.js";
|
|
10
10
|
export { bundle as default } from "./core/build.js";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAmB1C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,8 +6,26 @@ type BundlerLogMethod = LoggerAdapterLogMethod;
|
|
|
6
6
|
type BundlerGenericLogMethod = LoggerAdapterGenericLogMethod;
|
|
7
7
|
type BundlerLogEvent = LoggerAdapterEvent;
|
|
8
8
|
type NormalizedBundlerLogger = NormalizedLoggerAdapter;
|
|
9
|
+
type BundlerDiscoverOptions = {
|
|
10
|
+
dir: string;
|
|
11
|
+
include?: string[];
|
|
12
|
+
exclude?: string[];
|
|
13
|
+
extensions?: string[];
|
|
14
|
+
ignoreDirs?: string[];
|
|
15
|
+
namePrefix?: string;
|
|
16
|
+
};
|
|
17
|
+
type BundlerManifestOptions = boolean | {
|
|
18
|
+
file?: string;
|
|
19
|
+
};
|
|
20
|
+
type BundlerEntrySource = "manual" | "discover";
|
|
21
|
+
type BundlerEntryRecord = {
|
|
22
|
+
name: string;
|
|
23
|
+
path: string;
|
|
24
|
+
source: BundlerEntrySource;
|
|
25
|
+
};
|
|
9
26
|
type BundlerOptions = {
|
|
10
|
-
entries
|
|
27
|
+
entries?: string[] | Record<string, string>;
|
|
28
|
+
discover?: BundlerDiscoverOptions | BundlerDiscoverOptions[];
|
|
11
29
|
outDir: string;
|
|
12
30
|
rootDir?: string;
|
|
13
31
|
platform?: Platform;
|
|
@@ -21,13 +39,16 @@ type BundlerOptions = {
|
|
|
21
39
|
define?: Record<string, string>;
|
|
22
40
|
clean?: boolean;
|
|
23
41
|
annotateSources?: boolean;
|
|
42
|
+
manifest?: BundlerManifestOptions;
|
|
24
43
|
logger?: BundlerLogger;
|
|
25
44
|
loggerAdapter?: BundlerLoggerAdapter;
|
|
26
45
|
};
|
|
27
46
|
type BundlerBuildResult = {
|
|
47
|
+
entries: Record<string, string>;
|
|
28
48
|
outputs: string[];
|
|
29
49
|
warnings: number;
|
|
30
50
|
metafile?: Metafile;
|
|
51
|
+
manifestPath?: string;
|
|
31
52
|
durationMs: number;
|
|
32
53
|
};
|
|
33
54
|
type BundlerWatchSession = {
|
|
@@ -38,5 +59,5 @@ type LoadedBundlerConfig = {
|
|
|
38
59
|
config: BundlerOptions;
|
|
39
60
|
configPath: string;
|
|
40
61
|
};
|
|
41
|
-
export type { BundlerBuildResult, BundlerGenericLogMethod, BundlerLogEvent, BundlerLogger, BundlerLoggerAdapter, BundlerLogMethod, BundlerOptions, BundlerWatchSession, LoadedBundlerConfig, NormalizedBundlerLogger, };
|
|
62
|
+
export type { BundlerBuildResult, BundlerDiscoverOptions, BundlerEntryRecord, BundlerEntrySource, BundlerGenericLogMethod, BundlerLogEvent, BundlerLogger, BundlerLoggerAdapter, BundlerLogMethod, BundlerManifestOptions, BundlerOptions, BundlerWatchSession, LoadedBundlerConfig, NormalizedBundlerLogger, };
|
|
42
63
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,KAAK,aAAa,GAAG,mBAAmB,CAAC;AACzC,KAAK,oBAAoB,GAAG,mBAAmB,CAAC;AAChD,KAAK,gBAAgB,GAAG,sBAAsB,CAAC;AAC/C,KAAK,uBAAuB,GAAG,6BAA6B,CAAC;AAC7D,KAAK,eAAe,GAAG,kBAAkB,CAAC;AAC1C,KAAK,uBAAuB,GAAG,uBAAuB,CAAC;AAEvD,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED