@trebired/bundler 3.6.1 → 4.0.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 +21 -0
- package/README.md +279 -6
- package/dist/core/build.d.ts.map +1 -1
- package/dist/core/build.js +4 -0
- package/dist/core/build.js.map +1 -1
- package/dist/core/discovery/aggregate.d.ts +5 -1
- package/dist/core/discovery/aggregate.d.ts.map +1 -1
- package/dist/core/discovery/aggregate.js +6 -3
- package/dist/core/discovery/aggregate.js.map +1 -1
- package/dist/core/discovery/exports.d.ts +17 -0
- package/dist/core/discovery/exports.d.ts.map +1 -0
- package/dist/core/discovery/exports.js +106 -0
- package/dist/core/discovery/exports.js.map +1 -0
- package/dist/core/discovery/normalize.d.ts.map +1 -1
- package/dist/core/discovery/normalize.js +1 -0
- package/dist/core/discovery/normalize.js.map +1 -1
- package/dist/core/discovery/resolve.d.ts.map +1 -1
- package/dist/core/discovery/resolve.js +16 -8
- package/dist/core/discovery/resolve.js.map +1 -1
- package/dist/core/discovery/scan.js +1 -1
- package/dist/core/discovery/scan.js.map +1 -1
- package/dist/core/discovery/shared.d.ts +1 -0
- package/dist/core/discovery/shared.d.ts.map +1 -1
- package/dist/core/discovery/shared.js.map +1 -1
- package/dist/core/esbuild-options.d.ts +6 -1
- package/dist/core/esbuild-options.d.ts.map +1 -1
- package/dist/core/esbuild-options.js +20 -0
- package/dist/core/esbuild-options.js.map +1 -1
- package/dist/core/frontend.d.ts +8 -0
- package/dist/core/frontend.d.ts.map +1 -0
- package/dist/core/frontend.js +51 -0
- package/dist/core/frontend.js.map +1 -0
- package/dist/core/frontend_app/assets.d.ts +5 -0
- package/dist/core/frontend_app/assets.d.ts.map +1 -0
- package/dist/core/frontend_app/assets.js +74 -0
- package/dist/core/frontend_app/assets.js.map +1 -0
- package/dist/core/frontend_app/build.d.ts +5 -0
- package/dist/core/frontend_app/build.d.ts.map +1 -0
- package/dist/core/frontend_app/build.js +82 -0
- package/dist/core/frontend_app/build.js.map +1 -0
- package/dist/core/frontend_app/config.d.ts +6 -0
- package/dist/core/frontend_app/config.d.ts.map +1 -0
- package/dist/core/frontend_app/config.js +183 -0
- package/dist/core/frontend_app/config.js.map +1 -0
- package/dist/core/frontend_app/defaults.d.ts +12 -0
- package/dist/core/frontend_app/defaults.d.ts.map +1 -0
- package/dist/core/frontend_app/defaults.js +58 -0
- package/dist/core/frontend_app/defaults.js.map +1 -0
- package/dist/core/frontend_app/hygiene.d.ts +6 -0
- package/dist/core/frontend_app/hygiene.d.ts.map +1 -0
- package/dist/core/frontend_app/hygiene.js +46 -0
- package/dist/core/frontend_app/hygiene.js.map +1 -0
- package/dist/core/frontend_app/index.d.ts +11 -0
- package/dist/core/frontend_app/index.d.ts.map +1 -0
- package/dist/core/frontend_app/index.js +11 -0
- package/dist/core/frontend_app/index.js.map +1 -0
- package/dist/core/frontend_app/manifest.d.ts +16 -0
- package/dist/core/frontend_app/manifest.d.ts.map +1 -0
- package/dist/core/frontend_app/manifest.js +82 -0
- package/dist/core/frontend_app/manifest.js.map +1 -0
- package/dist/core/frontend_app/related.d.ts +4 -0
- package/dist/core/frontend_app/related.d.ts.map +1 -0
- package/dist/core/frontend_app/related.js +25 -0
- package/dist/core/frontend_app/related.js.map +1 -0
- package/dist/core/frontend_app/runtime.d.ts +4 -0
- package/dist/core/frontend_app/runtime.d.ts.map +1 -0
- package/dist/core/frontend_app/runtime.js +148 -0
- package/dist/core/frontend_app/runtime.js.map +1 -0
- package/dist/core/frontend_app/ssr.d.ts +5 -0
- package/dist/core/frontend_app/ssr.d.ts.map +1 -0
- package/dist/core/frontend_app/ssr.js +28 -0
- package/dist/core/frontend_app/ssr.js.map +1 -0
- package/dist/core/frontend_app/static.d.ts +5 -0
- package/dist/core/frontend_app/static.d.ts.map +1 -0
- package/dist/core/frontend_app/static.js +165 -0
- package/dist/core/frontend_app/static.js.map +1 -0
- package/dist/core/manifest.d.ts +3 -1
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/core/manifest.js +2 -0
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/output-layout.d.ts +25 -0
- package/dist/core/output-layout.d.ts.map +1 -0
- package/dist/core/output-layout.js +239 -0
- package/dist/core/output-layout.js.map +1 -0
- package/dist/core/post-build.d.ts +15 -0
- package/dist/core/post-build.d.ts.map +1 -0
- package/dist/core/post-build.js +21 -0
- package/dist/core/post-build.js.map +1 -0
- package/dist/core/precompression.d.ts +15 -0
- package/dist/core/precompression.d.ts.map +1 -0
- package/dist/core/precompression.js +147 -0
- package/dist/core/precompression.js.map +1 -0
- package/dist/core/related-entries.d.ts +4 -0
- package/dist/core/related-entries.d.ts.map +1 -0
- package/dist/core/related-entries.js +78 -0
- package/dist/core/related-entries.js.map +1 -0
- package/dist/core/shared.d.ts +3 -1
- package/dist/core/shared.d.ts.map +1 -1
- package/dist/core/shared.js +4 -0
- package/dist/core/shared.js.map +1 -1
- package/dist/core/watch.d.ts.map +1 -1
- package/dist/core/watch.js +4 -0
- package/dist/core/watch.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/src/core/build.d.ts.map +1 -1
- package/dist/src/core/build.js +4 -0
- package/dist/src/core/build.js.map +1 -1
- package/dist/src/core/discovery/aggregate.d.ts +5 -1
- package/dist/src/core/discovery/aggregate.d.ts.map +1 -1
- package/dist/src/core/discovery/aggregate.js +6 -3
- package/dist/src/core/discovery/aggregate.js.map +1 -1
- package/dist/src/core/discovery/exports.d.ts +17 -0
- package/dist/src/core/discovery/exports.d.ts.map +1 -0
- package/dist/src/core/discovery/exports.js +106 -0
- package/dist/src/core/discovery/exports.js.map +1 -0
- package/dist/src/core/discovery/normalize.d.ts.map +1 -1
- package/dist/src/core/discovery/normalize.js +1 -0
- package/dist/src/core/discovery/normalize.js.map +1 -1
- package/dist/src/core/discovery/resolve.d.ts.map +1 -1
- package/dist/src/core/discovery/resolve.js +16 -8
- package/dist/src/core/discovery/resolve.js.map +1 -1
- package/dist/src/core/discovery/scan.js +1 -1
- package/dist/src/core/discovery/scan.js.map +1 -1
- package/dist/src/core/discovery/shared.d.ts +1 -0
- package/dist/src/core/discovery/shared.d.ts.map +1 -1
- package/dist/src/core/discovery/shared.js.map +1 -1
- package/dist/src/core/esbuild-options.d.ts +6 -1
- package/dist/src/core/esbuild-options.d.ts.map +1 -1
- package/dist/src/core/esbuild-options.js +20 -0
- package/dist/src/core/esbuild-options.js.map +1 -1
- package/dist/src/core/frontend.d.ts +8 -0
- package/dist/src/core/frontend.d.ts.map +1 -0
- package/dist/src/core/frontend.js +51 -0
- package/dist/src/core/frontend.js.map +1 -0
- package/dist/src/core/frontend_app/assets.d.ts +5 -0
- package/dist/src/core/frontend_app/assets.d.ts.map +1 -0
- package/dist/src/core/frontend_app/assets.js +74 -0
- package/dist/src/core/frontend_app/assets.js.map +1 -0
- package/dist/src/core/frontend_app/build.d.ts +5 -0
- package/dist/src/core/frontend_app/build.d.ts.map +1 -0
- package/dist/src/core/frontend_app/build.js +82 -0
- package/dist/src/core/frontend_app/build.js.map +1 -0
- package/dist/src/core/frontend_app/config.d.ts +6 -0
- package/dist/src/core/frontend_app/config.d.ts.map +1 -0
- package/dist/src/core/frontend_app/config.js +183 -0
- package/dist/src/core/frontend_app/config.js.map +1 -0
- package/dist/src/core/frontend_app/defaults.d.ts +12 -0
- package/dist/src/core/frontend_app/defaults.d.ts.map +1 -0
- package/dist/src/core/frontend_app/defaults.js +58 -0
- package/dist/src/core/frontend_app/defaults.js.map +1 -0
- package/dist/src/core/frontend_app/hygiene.d.ts +6 -0
- package/dist/src/core/frontend_app/hygiene.d.ts.map +1 -0
- package/dist/src/core/frontend_app/hygiene.js +46 -0
- package/dist/src/core/frontend_app/hygiene.js.map +1 -0
- package/dist/src/core/frontend_app/index.d.ts +11 -0
- package/dist/src/core/frontend_app/index.d.ts.map +1 -0
- package/dist/src/core/frontend_app/index.js +11 -0
- package/dist/src/core/frontend_app/index.js.map +1 -0
- package/dist/src/core/frontend_app/manifest.d.ts +16 -0
- package/dist/src/core/frontend_app/manifest.d.ts.map +1 -0
- package/dist/src/core/frontend_app/manifest.js +82 -0
- package/dist/src/core/frontend_app/manifest.js.map +1 -0
- package/dist/src/core/frontend_app/related.d.ts +4 -0
- package/dist/src/core/frontend_app/related.d.ts.map +1 -0
- package/dist/src/core/frontend_app/related.js +25 -0
- package/dist/src/core/frontend_app/related.js.map +1 -0
- package/dist/src/core/frontend_app/runtime.d.ts +4 -0
- package/dist/src/core/frontend_app/runtime.d.ts.map +1 -0
- package/dist/src/core/frontend_app/runtime.js +148 -0
- package/dist/src/core/frontend_app/runtime.js.map +1 -0
- package/dist/src/core/frontend_app/ssr.d.ts +5 -0
- package/dist/src/core/frontend_app/ssr.d.ts.map +1 -0
- package/dist/src/core/frontend_app/ssr.js +28 -0
- package/dist/src/core/frontend_app/ssr.js.map +1 -0
- package/dist/src/core/frontend_app/static.d.ts +5 -0
- package/dist/src/core/frontend_app/static.d.ts.map +1 -0
- package/dist/src/core/frontend_app/static.js +165 -0
- package/dist/src/core/frontend_app/static.js.map +1 -0
- package/dist/src/core/manifest.d.ts +3 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +2 -0
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/output-layout.d.ts +25 -0
- package/dist/src/core/output-layout.d.ts.map +1 -0
- package/dist/src/core/output-layout.js +239 -0
- package/dist/src/core/output-layout.js.map +1 -0
- package/dist/src/core/post-build.d.ts +15 -0
- package/dist/src/core/post-build.d.ts.map +1 -0
- package/dist/src/core/post-build.js +21 -0
- package/dist/src/core/post-build.js.map +1 -0
- package/dist/src/core/precompression.d.ts +15 -0
- package/dist/src/core/precompression.d.ts.map +1 -0
- package/dist/src/core/precompression.js +147 -0
- package/dist/src/core/precompression.js.map +1 -0
- package/dist/src/core/related-entries.d.ts +4 -0
- package/dist/src/core/related-entries.d.ts.map +1 -0
- package/dist/src/core/related-entries.js +78 -0
- package/dist/src/core/related-entries.js.map +1 -0
- package/dist/src/core/shared.d.ts +3 -1
- package/dist/src/core/shared.d.ts.map +1 -1
- package/dist/src/core/shared.js +4 -0
- package/dist/src/core/shared.js.map +1 -1
- package/dist/src/core/watch.d.ts.map +1 -1
- package/dist/src/core/watch.js +4 -0
- package/dist/src/core/watch.js.map +1 -1
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/discovery.d.ts +3 -0
- package/dist/src/types/discovery.d.ts.map +1 -1
- package/dist/src/types/frontend.d.ts +16 -0
- package/dist/src/types/frontend.d.ts.map +1 -0
- package/dist/src/types/frontend.js +2 -0
- package/dist/src/types/frontend.js.map +1 -0
- package/dist/src/types/frontend_app.d.ts +190 -0
- package/dist/src/types/frontend_app.d.ts.map +1 -0
- package/dist/src/types/frontend_app.js +2 -0
- package/dist/src/types/frontend_app.js.map +1 -0
- package/dist/src/types/output_layout.d.ts +19 -0
- package/dist/src/types/output_layout.d.ts.map +1 -0
- package/dist/src/types/output_layout.js +2 -0
- package/dist/src/types/output_layout.js.map +1 -0
- package/dist/src/types/precompression.d.ts +30 -0
- package/dist/src/types/precompression.d.ts.map +1 -0
- package/dist/src/types/precompression.js +2 -0
- package/dist/src/types/precompression.js.map +1 -0
- package/dist/src/types/related_entries.d.ts +22 -0
- package/dist/src/types/related_entries.d.ts.map +1 -0
- package/dist/src/types/related_entries.js +2 -0
- package/dist/src/types/related_entries.js.map +1 -0
- package/dist/src/types/runtime.d.ts +8 -1
- package/dist/src/types/runtime.d.ts.map +1 -1
- package/dist/src/types.d.ts +5 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/types/discovery.d.ts +3 -0
- package/dist/types/discovery.d.ts.map +1 -1
- package/dist/types/frontend.d.ts +16 -0
- package/dist/types/frontend.d.ts.map +1 -0
- package/dist/types/frontend.js +2 -0
- package/dist/types/frontend.js.map +1 -0
- package/dist/types/frontend_app.d.ts +190 -0
- package/dist/types/frontend_app.d.ts.map +1 -0
- package/dist/types/frontend_app.js +2 -0
- package/dist/types/frontend_app.js.map +1 -0
- package/dist/types/output_layout.d.ts +19 -0
- package/dist/types/output_layout.d.ts.map +1 -0
- package/dist/types/output_layout.js +2 -0
- package/dist/types/output_layout.js.map +1 -0
- package/dist/types/precompression.d.ts +30 -0
- package/dist/types/precompression.d.ts.map +1 -0
- package/dist/types/precompression.js +2 -0
- package/dist/types/precompression.js.map +1 -0
- package/dist/types/related_entries.d.ts +22 -0
- package/dist/types/related_entries.d.ts.map +1 -0
- package/dist/types/related_entries.js +2 -0
- package/dist/types/related_entries.js.map +1 -0
- package/dist/types/runtime.d.ts +8 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import { watch } from "../watch.js";
|
|
5
|
+
import { collectFrontendAssetLinks } from "./assets.js";
|
|
6
|
+
import { createFrontendBundlerRuntimeConfig } from "./config.js";
|
|
7
|
+
import { extractAssetManifest, readBundlerManifest, resolveAssetManifestEntryOutputPath, } from "./manifest.js";
|
|
8
|
+
import { buildRelatedClientEntryMap } from "./related.js";
|
|
9
|
+
function createFrontendBundlerRuntime(input) {
|
|
10
|
+
const state = { config: normalizeRuntimeConfig(input) };
|
|
11
|
+
return {
|
|
12
|
+
buildAssetLinks: (pageIds) => buildRuntimeAssetLinks(state, pageIds),
|
|
13
|
+
dispose: () => disposeRuntime(state),
|
|
14
|
+
ensure: () => ensureRuntime(state),
|
|
15
|
+
getRuntime: () => state.runtime,
|
|
16
|
+
resolvePageComponent: (pageId) => resolveRuntimePageComponent(state, pageId),
|
|
17
|
+
resolveRootDocument: () => resolveRuntimeRootDocument(state),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async function ensureRuntime(state) {
|
|
21
|
+
return state.config.mode === "development" ? ensureDevelopmentRuntime(state) : ensureProductionRuntime(state);
|
|
22
|
+
}
|
|
23
|
+
async function ensureDevelopmentRuntime(state) {
|
|
24
|
+
if (!state.clientWatch)
|
|
25
|
+
state.clientWatch = await watch(createWatchedOptions(state, "client"));
|
|
26
|
+
const client = await state.clientWatch.rebuild();
|
|
27
|
+
const ssr = state.config.ssrOptions ? await ensureDevelopmentSsr(state) : undefined;
|
|
28
|
+
await updateRuntimeFromBuilds(state, client, ssr);
|
|
29
|
+
return state.runtime;
|
|
30
|
+
}
|
|
31
|
+
async function ensureDevelopmentSsr(state) {
|
|
32
|
+
if (!state.config.ssrOptions)
|
|
33
|
+
return undefined;
|
|
34
|
+
if (!state.ssrWatch)
|
|
35
|
+
state.ssrWatch = await watch(createWatchedOptions(state, "ssr"));
|
|
36
|
+
return state.ssrWatch.rebuild();
|
|
37
|
+
}
|
|
38
|
+
async function ensureProductionRuntime(state) {
|
|
39
|
+
if (state.runtime)
|
|
40
|
+
return state.runtime;
|
|
41
|
+
const clientManifest = await readRuntimeAssetManifest(state.config.clientManifestPath);
|
|
42
|
+
const ssrManifest = await readRuntimeAssetManifest(state.config.ssrManifestPath);
|
|
43
|
+
const relatedClientEntryMap = ssrManifest ? await buildRuntimeRelatedMap(state.config, ssrManifest) : {};
|
|
44
|
+
const ssrModule = ssrManifest ? await importSsrModule(state, ssrManifest) : undefined;
|
|
45
|
+
state.runtime = { clientManifest, relatedClientEntryMap, ssrManifest, ssrModule };
|
|
46
|
+
return state.runtime;
|
|
47
|
+
}
|
|
48
|
+
async function updateRuntimeFromBuilds(state, client, ssr) {
|
|
49
|
+
const ssrManifest = ssr?.assetManifest;
|
|
50
|
+
const relatedClientEntryMap = ssrManifest ? await buildRuntimeRelatedMap(state.config, ssrManifest) : {};
|
|
51
|
+
const ssrModule = ssrManifest ? await importSsrModule(state, ssrManifest) : undefined;
|
|
52
|
+
state.runtime = {
|
|
53
|
+
client,
|
|
54
|
+
clientManifest: client.assetManifest,
|
|
55
|
+
relatedClientEntryMap,
|
|
56
|
+
ssr,
|
|
57
|
+
ssrManifest,
|
|
58
|
+
ssrModule,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function createWatchedOptions(state, kind) {
|
|
62
|
+
const options = kind === "client" ? state.config.clientOptions : state.config.ssrOptions;
|
|
63
|
+
const originalHook = options.onRebuilt;
|
|
64
|
+
return {
|
|
65
|
+
...options,
|
|
66
|
+
onRebuilt: async (result) => {
|
|
67
|
+
await originalHook?.(result);
|
|
68
|
+
if (kind === "client" && state.runtime)
|
|
69
|
+
state.runtime.client = result;
|
|
70
|
+
if (kind === "ssr" && state.runtime?.client)
|
|
71
|
+
await updateRuntimeFromBuilds(state, state.runtime.client, result);
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
async function importSsrModule(state, manifest) {
|
|
76
|
+
const entryPath = resolveRuntimeSsrEntryPath(state.config, manifest);
|
|
77
|
+
if (!entryPath)
|
|
78
|
+
return undefined;
|
|
79
|
+
const stats = await fs.stat(entryPath);
|
|
80
|
+
if (state.runtime?.ssrModule && state.ssrEntryMtime === stats.mtimeMs)
|
|
81
|
+
return state.runtime.ssrModule;
|
|
82
|
+
state.ssrEntryMtime = stats.mtimeMs;
|
|
83
|
+
return import(`${pathToFileURL(entryPath).href}?mtime=${stats.mtimeMs}`);
|
|
84
|
+
}
|
|
85
|
+
async function buildRuntimeRelatedMap(config, ssrManifest) {
|
|
86
|
+
if (!config.ssr)
|
|
87
|
+
return {};
|
|
88
|
+
return buildRelatedClientEntryMap({
|
|
89
|
+
manifest: ssrManifest,
|
|
90
|
+
pageId: config.pageId || { collapseIndex: config.ssr.collapseIndex, sourcePrefix: `${config.frontendDir}/pages` },
|
|
91
|
+
rootDir: config.rootDir,
|
|
92
|
+
ruleKey: config.ssr.key,
|
|
93
|
+
tsconfig: config.tsconfig,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async function buildRuntimeAssetLinks(state, pageIds = []) {
|
|
97
|
+
const runtime = await ensureRuntime(state);
|
|
98
|
+
if (!runtime.clientManifest)
|
|
99
|
+
throw new Error("bundler-frontend-runtime-client-manifest-missing");
|
|
100
|
+
return collectFrontendAssetLinks({
|
|
101
|
+
collect: { publicPath: state.config.clientOptions.publicPath },
|
|
102
|
+
globalEntryIds: state.config.globalClientEntries,
|
|
103
|
+
globalStyleRuleKey: state.config.globalStyleRuleKey,
|
|
104
|
+
manifest: runtime.clientManifest,
|
|
105
|
+
pageIds,
|
|
106
|
+
relatedEntryMap: runtime.relatedClientEntryMap,
|
|
107
|
+
renderTags: state.config.renderTags,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
async function resolveRuntimePageComponent(state, pageId) {
|
|
111
|
+
const runtime = await ensureRuntime(state);
|
|
112
|
+
const resolver = runtime.ssrModule?.[state.config.ssr?.resolverExport || "getModule"];
|
|
113
|
+
if (typeof resolver === "function")
|
|
114
|
+
return resolver(pageId);
|
|
115
|
+
const modules = runtime.ssrModule?.[state.config.ssr?.mapExport || "modules"];
|
|
116
|
+
return modules && typeof modules === "object" ? modules[pageId] : undefined;
|
|
117
|
+
}
|
|
118
|
+
async function resolveRuntimeRootDocument(state) {
|
|
119
|
+
const runtime = await ensureRuntime(state);
|
|
120
|
+
return runtime.ssrModule?.[state.config.ssr?.rootExport || "rootModule"];
|
|
121
|
+
}
|
|
122
|
+
function resolveRuntimeSsrEntryPath(config, manifest) {
|
|
123
|
+
if (!config.ssr || !config.ssrOutDir)
|
|
124
|
+
return undefined;
|
|
125
|
+
return resolveAssetManifestEntryOutputPath({
|
|
126
|
+
entryId: config.ssr.key,
|
|
127
|
+
from: "ruleKey",
|
|
128
|
+
manifest,
|
|
129
|
+
outDir: path.resolve(config.rootDir, config.ssrOutDir),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async function readRuntimeAssetManifest(filePath) {
|
|
133
|
+
if (!filePath)
|
|
134
|
+
return undefined;
|
|
135
|
+
const raw = await readBundlerManifest(filePath);
|
|
136
|
+
return extractAssetManifest(raw);
|
|
137
|
+
}
|
|
138
|
+
async function disposeRuntime(state) {
|
|
139
|
+
await state.clientWatch?.dispose();
|
|
140
|
+
await state.ssrWatch?.dispose();
|
|
141
|
+
}
|
|
142
|
+
function normalizeRuntimeConfig(input) {
|
|
143
|
+
if ("clientManifestPath" in input)
|
|
144
|
+
return input;
|
|
145
|
+
return createFrontendBundlerRuntimeConfig(input);
|
|
146
|
+
}
|
|
147
|
+
export { createFrontendBundlerRuntime, };
|
|
148
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/core/frontend_app/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BundlerSsrModuleMapRule, BundlerSsrModuleMapRuleOptions } from "../../types.d.ts";
|
|
2
|
+
declare function createSsrModuleMapRule(options: BundlerSsrModuleMapRuleOptions): BundlerSsrModuleMapRule;
|
|
3
|
+
declare function createReactSsrModuleMapRule(options: BundlerSsrModuleMapRuleOptions): BundlerSsrModuleMapRule;
|
|
4
|
+
export { createReactSsrModuleMapRule, createSsrModuleMapRule, };
|
|
5
|
+
//# sourceMappingURL=ssr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../../../src/core/frontend_app/ssr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,eAAe,CAAC;AAEvB,iBAAS,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAsBhG;AAED,iBAAS,2BAA2B,CAAC,OAAO,EAAE,8BAA8B,GAAG,uBAAuB,CAErG;AAED,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function createSsrModuleMapRule(options) {
|
|
2
|
+
return {
|
|
3
|
+
key: options.key,
|
|
4
|
+
include: options.include,
|
|
5
|
+
exclude: options.exclude,
|
|
6
|
+
strategy: "aggregate",
|
|
7
|
+
aggregate: {
|
|
8
|
+
kind: "module-map",
|
|
9
|
+
allowEmpty: options.allowEmpty,
|
|
10
|
+
collapseIndex: options.collapseIndex ?? true,
|
|
11
|
+
exports: {
|
|
12
|
+
default: options.defaultExport ?? true,
|
|
13
|
+
map: options.mapExport || "modules",
|
|
14
|
+
resolver: options.resolverExport || "getModule",
|
|
15
|
+
root: options.rootExport || "rootModule",
|
|
16
|
+
},
|
|
17
|
+
matchedModuleExportName: options.matchedModuleExportName || "default",
|
|
18
|
+
requireMatchedModuleExport: options.requireMatchedModuleExport,
|
|
19
|
+
rootModule: options.rootModule,
|
|
20
|
+
rootModuleExportName: options.rootModuleExportName || options.rootExport || "default",
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function createReactSsrModuleMapRule(options) {
|
|
25
|
+
return createSsrModuleMapRule(options);
|
|
26
|
+
}
|
|
27
|
+
export { createReactSsrModuleMapRule, createSsrModuleMapRule, };
|
|
28
|
+
//# sourceMappingURL=ssr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../../../src/core/frontend_app/ssr.ts"],"names":[],"mappings":"AAKA,SAAS,sBAAsB,CAAC,OAAuC;IACrE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YAC5C,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;gBACtC,GAAG,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;gBACnC,QAAQ,EAAE,OAAO,CAAC,cAAc,IAAI,WAAW;gBAC/C,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY;aACzC;YACD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,SAAS;YACrE,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,UAAU,IAAI,SAAS;SACtF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAuC;IAC1E,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BundlerExpressLikeNext, BundlerExpressLikeRequest, BundlerExpressLikeResponse, BundlerStaticAssetHandlerOptions, BundlerStaticAssetRequest, BundlerStaticAssetResponse } from "../../types.d.ts";
|
|
2
|
+
declare function serveStaticAsset(request: BundlerStaticAssetRequest, options: BundlerStaticAssetHandlerOptions): Promise<BundlerStaticAssetResponse | undefined>;
|
|
3
|
+
declare function createStaticAssetMiddleware(options: BundlerStaticAssetHandlerOptions): (request: BundlerExpressLikeRequest, response: BundlerExpressLikeResponse, next: BundlerExpressLikeNext) => Promise<void>;
|
|
4
|
+
export { createStaticAssetMiddleware, serveStaticAsset, };
|
|
5
|
+
//# sourceMappingURL=static.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../../../src/core/frontend_app/static.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAE1B,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAQvB,iBAAe,gBAAgB,CAC7B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAkBjD;AAED,iBAAS,2BAA2B,CAAC,OAAO,EAAE,gCAAgC,IAE1E,SAAS,yBAAyB,EAClC,UAAU,0BAA0B,EACpC,MAAM,sBAAsB,KAC3B,OAAO,CAAC,IAAI,CAAC,CAcjB;AAoID,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { normalizePathValue } from "../discovery/shared.js";
|
|
4
|
+
async function serveStaticAsset(request, options) {
|
|
5
|
+
const requestPath = normalizeRequestPath(request.path || request.url || "");
|
|
6
|
+
if (!requestPath)
|
|
7
|
+
return undefined;
|
|
8
|
+
if (isBlockedRequest(requestPath, options))
|
|
9
|
+
return createBlockedResponse(options);
|
|
10
|
+
const match = await resolveStaticFile(requestPath, options);
|
|
11
|
+
if (!match)
|
|
12
|
+
return undefined;
|
|
13
|
+
const selected = await selectPrecompressedFile(match, request);
|
|
14
|
+
const body = await fs.readFile(selected.absPath);
|
|
15
|
+
return {
|
|
16
|
+
body,
|
|
17
|
+
headers: createAssetHeaders({
|
|
18
|
+
compressedEncoding: selected.encoding,
|
|
19
|
+
mode: options.mode || "production",
|
|
20
|
+
requestPath: match.requestPath,
|
|
21
|
+
}),
|
|
22
|
+
status: 200,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function createStaticAssetMiddleware(options) {
|
|
26
|
+
return async (request, response, next) => {
|
|
27
|
+
try {
|
|
28
|
+
const asset = await serveStaticAsset(request, options);
|
|
29
|
+
if (!asset) {
|
|
30
|
+
next();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
response.statusCode = asset.status;
|
|
34
|
+
Object.entries(asset.headers).forEach(([key, value]) => response.setHeader(key, value));
|
|
35
|
+
response.end(asset.body || "");
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
next(error);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async function resolveStaticFile(requestPath, options) {
|
|
43
|
+
for (const dir of resolveStaticDirs(options)) {
|
|
44
|
+
const mountedPath = toMountedRequestPath(requestPath, dir.mountPath);
|
|
45
|
+
if (!mountedPath)
|
|
46
|
+
continue;
|
|
47
|
+
const absPath = path.resolve(dir.dir, mountedPath);
|
|
48
|
+
if (!isInsideDir(absPath, dir.dir))
|
|
49
|
+
continue;
|
|
50
|
+
if (await isFile(absPath))
|
|
51
|
+
return { absPath, requestPath: mountedPath };
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
async function selectPrecompressedFile(match, request) {
|
|
56
|
+
if (!supportsPrecompression(match.requestPath))
|
|
57
|
+
return { absPath: match.absPath };
|
|
58
|
+
const acceptEncoding = getHeader(request.headers, "accept-encoding");
|
|
59
|
+
if (/\bbr\b/iu.test(acceptEncoding) && await isFile(`${match.absPath}.br`)) {
|
|
60
|
+
return { absPath: `${match.absPath}.br`, encoding: "br" };
|
|
61
|
+
}
|
|
62
|
+
if (/\bgzip\b/iu.test(acceptEncoding) && await isFile(`${match.absPath}.gz`)) {
|
|
63
|
+
return { absPath: `${match.absPath}.gz`, encoding: "gzip" };
|
|
64
|
+
}
|
|
65
|
+
return { absPath: match.absPath };
|
|
66
|
+
}
|
|
67
|
+
function createAssetHeaders(args) {
|
|
68
|
+
const headers = {
|
|
69
|
+
"Cache-Control": resolveCacheControl(args.mode, args.requestPath),
|
|
70
|
+
"Content-Type": resolveContentType(args.requestPath),
|
|
71
|
+
"X-Content-Type-Options": "nosniff",
|
|
72
|
+
};
|
|
73
|
+
if (supportsPrecompression(args.requestPath))
|
|
74
|
+
headers.Vary = "Accept-Encoding";
|
|
75
|
+
if (args.compressedEncoding)
|
|
76
|
+
headers["Content-Encoding"] = args.compressedEncoding;
|
|
77
|
+
return headers;
|
|
78
|
+
}
|
|
79
|
+
function resolveStaticDirs(options) {
|
|
80
|
+
const dirs = [];
|
|
81
|
+
if (options.mode === "development" && options.publicDir)
|
|
82
|
+
dirs.push({ dir: path.resolve(options.publicDir), mountPath: "" });
|
|
83
|
+
dirs.push(...(options.extraStaticDirs || []).map(normalizeStaticDir));
|
|
84
|
+
dirs.push({ dir: path.resolve(options.clientOutDir), mountPath: "" });
|
|
85
|
+
return dirs;
|
|
86
|
+
}
|
|
87
|
+
function normalizeStaticDir(value) {
|
|
88
|
+
if (typeof value === "string")
|
|
89
|
+
return { dir: path.resolve(value), mountPath: "" };
|
|
90
|
+
return { dir: path.resolve(value.dir), mountPath: normalizePathValue(value.mountPath || "") };
|
|
91
|
+
}
|
|
92
|
+
function normalizeRequestPath(value) {
|
|
93
|
+
const rawPath = value.startsWith("/") || value.startsWith("http") ? value : `/${value}`;
|
|
94
|
+
const pathname = new URL(rawPath, "http://localhost").pathname;
|
|
95
|
+
const decoded = decodeURIComponent(pathname).replace(/\\/gu, "/");
|
|
96
|
+
if (decoded.split("/").includes(".."))
|
|
97
|
+
return "";
|
|
98
|
+
return normalizePathValue(path.posix.normalize(decoded)) || "index.html";
|
|
99
|
+
}
|
|
100
|
+
function toMountedRequestPath(requestPath, mountPath) {
|
|
101
|
+
if (!mountPath)
|
|
102
|
+
return requestPath;
|
|
103
|
+
if (requestPath === mountPath)
|
|
104
|
+
return "index.html";
|
|
105
|
+
return requestPath.startsWith(`${mountPath}/`) ? requestPath.slice(mountPath.length + 1) : "";
|
|
106
|
+
}
|
|
107
|
+
function isBlockedRequest(requestPath, options) {
|
|
108
|
+
if (options.blockPrivate !== false && /(?:^|\/)(?:manifest|bundler-manifest)\.json$/iu.test(requestPath))
|
|
109
|
+
return true;
|
|
110
|
+
return options.blockSourceMaps !== false && requestPath.endsWith(".map");
|
|
111
|
+
}
|
|
112
|
+
function createBlockedResponse(options) {
|
|
113
|
+
return {
|
|
114
|
+
body: Buffer.from(""),
|
|
115
|
+
headers: {
|
|
116
|
+
"Cache-Control": options.mode === "development" ? "no-store" : "public, max-age=0, must-revalidate",
|
|
117
|
+
"X-Content-Type-Options": "nosniff",
|
|
118
|
+
},
|
|
119
|
+
status: 404,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function getHeader(headers, name) {
|
|
123
|
+
if (!headers)
|
|
124
|
+
return "";
|
|
125
|
+
if (typeof Headers !== "undefined" && headers instanceof Headers)
|
|
126
|
+
return headers.get(name) || "";
|
|
127
|
+
const match = Object.entries(headers).find(([key]) => key.toLowerCase() === name.toLowerCase());
|
|
128
|
+
const value = match?.[1];
|
|
129
|
+
return Array.isArray(value) ? value.join(", ") : String(value || "");
|
|
130
|
+
}
|
|
131
|
+
function resolveCacheControl(mode, requestPath) {
|
|
132
|
+
if (mode === "development")
|
|
133
|
+
return "no-store";
|
|
134
|
+
if (isHashedAsset(requestPath))
|
|
135
|
+
return "public, max-age=31536000, immutable";
|
|
136
|
+
return "public, max-age=0, must-revalidate";
|
|
137
|
+
}
|
|
138
|
+
function isHashedAsset(requestPath) {
|
|
139
|
+
return /(?:^|[-_.])[A-Za-z0-9_-]{8,}(?=\.)/u.test(path.basename(requestPath));
|
|
140
|
+
}
|
|
141
|
+
function supportsPrecompression(requestPath) {
|
|
142
|
+
return /\.(?:css|[cm]?js)$/iu.test(requestPath);
|
|
143
|
+
}
|
|
144
|
+
function resolveContentType(requestPath) {
|
|
145
|
+
if (requestPath.endsWith(".css"))
|
|
146
|
+
return "text/css; charset=utf-8";
|
|
147
|
+
if (/\.(?:[cm]?js)$/iu.test(requestPath))
|
|
148
|
+
return "text/javascript; charset=utf-8";
|
|
149
|
+
if (requestPath.endsWith(".svg"))
|
|
150
|
+
return "image/svg+xml";
|
|
151
|
+
if (requestPath.endsWith(".json"))
|
|
152
|
+
return "application/json; charset=utf-8";
|
|
153
|
+
if (requestPath.endsWith(".html"))
|
|
154
|
+
return "text/html; charset=utf-8";
|
|
155
|
+
return "application/octet-stream";
|
|
156
|
+
}
|
|
157
|
+
function isInsideDir(absPath, dir) {
|
|
158
|
+
const relative = path.relative(path.resolve(dir), absPath);
|
|
159
|
+
return Boolean(relative) && !relative.startsWith("..") && !path.isAbsolute(relative);
|
|
160
|
+
}
|
|
161
|
+
async function isFile(filePath) {
|
|
162
|
+
return fs.stat(filePath).then((stats) => stats.isFile(), () => false);
|
|
163
|
+
}
|
|
164
|
+
export { createStaticAssetMiddleware, serveStaticAsset, };
|
|
165
|
+
//# sourceMappingURL=static.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../../../src/core/frontend_app/static.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Metafile } from "esbuild";
|
|
2
|
-
import type { BundlerResolvedDiscovery } from "../types.d.ts";
|
|
2
|
+
import type { BundlerOutputLayoutStats, BundlerPrecompressStats, BundlerResolvedDiscovery } from "../types.d.ts";
|
|
3
3
|
import type { NormalizedManifestOptions } from "./discovery.js";
|
|
4
4
|
type ManifestWriteResult = {
|
|
5
5
|
manifestPath?: string;
|
|
@@ -8,6 +8,8 @@ declare function writeBundlerManifest(args: {
|
|
|
8
8
|
metafile?: Metafile;
|
|
9
9
|
manifest: NormalizedManifestOptions;
|
|
10
10
|
outDir: string;
|
|
11
|
+
outputLayout?: BundlerOutputLayoutStats;
|
|
12
|
+
precompressed?: BundlerPrecompressStats;
|
|
11
13
|
resolvedDiscovery: BundlerResolvedDiscovery;
|
|
12
14
|
rootDir: string;
|
|
13
15
|
}): Promise<ManifestWriteResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEjH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,iBAAe,oBAAoB,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4B/B;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -17,6 +17,8 @@ async function writeBundlerManifest(args) {
|
|
|
17
17
|
resolvedDiscovery: args.resolvedDiscovery,
|
|
18
18
|
rootDir: args.rootDir,
|
|
19
19
|
}),
|
|
20
|
+
...(args.outputLayout ? { outputLayout: args.outputLayout } : {}),
|
|
21
|
+
...(args.precompressed ? { precompressed: args.precompressed } : {}),
|
|
20
22
|
...deriveManifest(args.metafile, {
|
|
21
23
|
outDir: args.outDir,
|
|
22
24
|
rootDir: args.rootDir,
|
|
@@ -1 +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;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,KAAK,UAAU,oBAAoB,CAAC,
|
|
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;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,KAAK,UAAU,oBAAoB,CAAC,IAQnC;IACC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpE,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,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,aAAa,EAAE,kBAAkB,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;KACH,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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BuildResult } from "esbuild";
|
|
2
|
+
import type { BundlerOutputLayoutOptions, BundlerOutputLayoutStats } from "../types.d.ts";
|
|
3
|
+
type NormalizedBundlerOutputLayoutOptions = {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
patterns: {
|
|
6
|
+
asset?: string;
|
|
7
|
+
css?: string;
|
|
8
|
+
js?: string;
|
|
9
|
+
map?: string | "alongside";
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
declare function normalizeBundlerOutputLayoutOptions(options: BundlerOutputLayoutOptions | undefined): NormalizedBundlerOutputLayoutOptions;
|
|
13
|
+
declare function applyOutputLayout(args: {
|
|
14
|
+
outDir: string;
|
|
15
|
+
outputLayout: NormalizedBundlerOutputLayoutOptions;
|
|
16
|
+
publicPath?: string;
|
|
17
|
+
result: BuildResult<any>;
|
|
18
|
+
rootDir: string;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
outputs: string[];
|
|
21
|
+
stats?: BundlerOutputLayoutStats;
|
|
22
|
+
}>;
|
|
23
|
+
export { applyOutputLayout, normalizeBundlerOutputLayoutOptions, };
|
|
24
|
+
export type { NormalizedBundlerOutputLayoutOptions };
|
|
25
|
+
//# sourceMappingURL=output-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-layout.d.ts","sourceRoot":"","sources":["../../../src/core/output-layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAEV,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAGvB,KAAK,oCAAoC,GAAG;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;KAC5B,CAAC;CACH,CAAC;AAoBF,iBAAS,mCAAmC,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,GAAG,oCAAoC,CAYlI;AAED,iBAAe,iBAAiB,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,oCAAoC,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,wBAAwB,CAAA;CAAE,CAAC,CAWnE;AA4ND,OAAO,EACL,iBAAiB,EACjB,mCAAmC,GACpC,CAAC;AACF,YAAY,EAAE,oCAAoC,EAAE,CAAC"}
|