veryfront 0.1.781 → 0.1.783
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/esm/deno.js +1 -1
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +5 -12
- package/esm/src/release-assets/build-executor.d.ts.map +1 -1
- package/esm/src/release-assets/build-executor.js +151 -13
- package/esm/src/release-assets/manifest-schema.d.ts.map +1 -1
- package/esm/src/release-assets/manifest-schema.js +3 -2
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAcjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA6JF,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAcjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA6JF,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AA2CD,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC,CA8DzB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElF"}
|
package/esm/src/html/utils.js
CHANGED
|
@@ -196,18 +196,11 @@ function stableManifestDependencyKey(manifest) {
|
|
|
196
196
|
})
|
|
197
197
|
: "";
|
|
198
198
|
}
|
|
199
|
-
function applyManifestDependencies(imports,
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const entry = manifest.dependencies[specifier];
|
|
205
|
-
if (!entry || entry.contentType !== "text/javascript")
|
|
206
|
-
continue;
|
|
207
|
-
rewritten ??= { ...imports };
|
|
208
|
-
rewritten[specifier] = `${manifest.assetBasePath}/${entry.contentHash}.js`;
|
|
209
|
-
}
|
|
210
|
-
return rewritten ?? imports;
|
|
199
|
+
function applyManifestDependencies(imports, _manifest) {
|
|
200
|
+
// Framework dependency assets are recorded for future S7 vendoring, but they
|
|
201
|
+
// are not browser-safe until their own relative import closures are rewritten
|
|
202
|
+
// and uploaded. Keep import-map entries on their existing module URLs.
|
|
203
|
+
return imports;
|
|
211
204
|
}
|
|
212
205
|
function isImportMapOnlyOptions(options) {
|
|
213
206
|
return !("projectDir" in options) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-executor.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/build-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"build-executor.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/build-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ import { transformToESM } from "../transforms/esm-transform.js";
|
|
|
23
23
|
import { PLATFORM_UTILITIES } from "../html/utils.js";
|
|
24
24
|
import { extractCandidatesFromFiles } from "../html/styles-builder/candidate-extractor.js";
|
|
25
25
|
import { sha256HexBytes } from "./hash.js";
|
|
26
|
-
import { RELEASE_ASSET_BASE_PATH, RELEASE_ASSET_CONTENT_TYPES, RELEASE_ASSET_MANIFEST_SCHEMA_VERSION, RELEASE_ASSET_MAX_SIZE_BYTES, RELEASE_ASSET_UPLOAD_CONCURRENCY, } from "./constants.js";
|
|
26
|
+
import { RELEASE_ASSET_BASE_PATH, RELEASE_ASSET_CONTENT_TYPES, RELEASE_ASSET_MANIFEST_SCHEMA_VERSION, RELEASE_ASSET_MAX_SIZE_BYTES, RELEASE_ASSET_UPLOAD_CONCURRENCY, releaseAssetUrl, } from "./constants.js";
|
|
27
27
|
const logger = serverLogger.component("release-asset-build");
|
|
28
28
|
/** Browser module source extensions eligible for transform. */
|
|
29
29
|
const BROWSER_MODULE_EXTENSIONS = [".tsx", ".ts", ".jsx", ".js", ".mdx"];
|
|
@@ -121,6 +121,142 @@ function resolveStaticImports(source, moduleLogicalPath, knownPaths) {
|
|
|
121
121
|
}
|
|
122
122
|
return results;
|
|
123
123
|
}
|
|
124
|
+
function resolveKnownModulePath(path, knownPaths) {
|
|
125
|
+
const normalized = path
|
|
126
|
+
.replace(/^\/?_vf_modules\//, "")
|
|
127
|
+
.replace(/^\/+/, "")
|
|
128
|
+
.replace(/[?#].*$/, "");
|
|
129
|
+
if (normalized.startsWith("_veryfront/"))
|
|
130
|
+
return null;
|
|
131
|
+
if (knownPaths.has(normalized))
|
|
132
|
+
return normalized;
|
|
133
|
+
const withoutExt = normalized.replace(/\.(tsx|ts|jsx|mdx|js)$/, "");
|
|
134
|
+
for (const ext of BROWSER_MODULE_EXTENSIONS) {
|
|
135
|
+
const candidate = `${withoutExt}${ext}`;
|
|
136
|
+
if (knownPaths.has(candidate))
|
|
137
|
+
return candidate;
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
function collectVfModuleImports(code, knownPaths) {
|
|
142
|
+
const imports = new Map();
|
|
143
|
+
const re = /(["'])(\/_vf_modules\/[^"']+)\1/g;
|
|
144
|
+
let match;
|
|
145
|
+
while ((match = re.exec(code)) !== null) {
|
|
146
|
+
const specifier = match[2];
|
|
147
|
+
const logicalPath = resolveKnownModulePath(specifier, knownPaths);
|
|
148
|
+
if (logicalPath)
|
|
149
|
+
imports.set(specifier, logicalPath);
|
|
150
|
+
}
|
|
151
|
+
return imports;
|
|
152
|
+
}
|
|
153
|
+
function rewriteVfModuleImports(code, moduleAssets, knownPaths, dependencyUrls) {
|
|
154
|
+
return code.replace(/(["'])(\/_vf_modules\/[^"']+)\1/g, (full, quote, specifier) => {
|
|
155
|
+
const dependencyUrl = dependencyUrls.get(specifier.replace(/[?#].*$/, ""));
|
|
156
|
+
if (dependencyUrl)
|
|
157
|
+
return `${quote}${dependencyUrl}${quote}`;
|
|
158
|
+
const logicalPath = resolveKnownModulePath(specifier, knownPaths);
|
|
159
|
+
const asset = logicalPath ? moduleAssets.get(logicalPath) : undefined;
|
|
160
|
+
if (!asset)
|
|
161
|
+
return full;
|
|
162
|
+
return `${quote}${releaseAssetUrl(asset.contentHash, "js")}${quote}`;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function buildDependencyUrlMap(_dependencies) {
|
|
166
|
+
// Framework barrels can contain their own relative import closure. Keep those
|
|
167
|
+
// URLs on the module server until the builder rewrites and uploads the full
|
|
168
|
+
// framework closure, otherwise the browser resolves relatives under /_vf/assets.
|
|
169
|
+
return new Map();
|
|
170
|
+
}
|
|
171
|
+
async function finalizeProjectModules(transformedModules, knownPaths, dependencyUrls, uploadQueue, pendingBytes, gaps) {
|
|
172
|
+
const finalized = new Map();
|
|
173
|
+
const unresolvedCycles = new Set();
|
|
174
|
+
const cyclicModules = collectCyclicProjectModules(transformedModules, knownPaths, gaps);
|
|
175
|
+
const skippedModules = new Set(cyclicModules);
|
|
176
|
+
async function finalize(logicalPath, stack) {
|
|
177
|
+
const existing = finalized.get(logicalPath);
|
|
178
|
+
if (existing)
|
|
179
|
+
return existing;
|
|
180
|
+
if (cyclicModules.has(logicalPath))
|
|
181
|
+
return null;
|
|
182
|
+
if (stack.includes(logicalPath)) {
|
|
183
|
+
const cycle = [...stack.slice(stack.indexOf(logicalPath)), logicalPath].join("->");
|
|
184
|
+
const gap = `cycle:${cycle}`;
|
|
185
|
+
if (!unresolvedCycles.has(gap)) {
|
|
186
|
+
unresolvedCycles.add(gap);
|
|
187
|
+
gaps.push(gap);
|
|
188
|
+
}
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
const transformed = transformedModules.get(logicalPath);
|
|
192
|
+
if (!transformed)
|
|
193
|
+
return null;
|
|
194
|
+
const nextStack = [...stack, logicalPath];
|
|
195
|
+
const imports = collectVfModuleImports(transformed.code, knownPaths);
|
|
196
|
+
for (const importedPath of imports.values()) {
|
|
197
|
+
await finalize(importedPath, nextStack);
|
|
198
|
+
}
|
|
199
|
+
const rewritten = rewriteVfModuleImports(transformed.code, finalized, knownPaths, dependencyUrls);
|
|
200
|
+
const entry = await addPreparedJavaScriptAsset(logicalPath, rewritten, uploadQueue, pendingBytes);
|
|
201
|
+
if (!entry)
|
|
202
|
+
return null;
|
|
203
|
+
finalized.set(logicalPath, entry);
|
|
204
|
+
return entry;
|
|
205
|
+
}
|
|
206
|
+
for (const logicalPath of transformedModules.keys()) {
|
|
207
|
+
if (cyclicModules.has(logicalPath))
|
|
208
|
+
continue;
|
|
209
|
+
const entry = await finalize(logicalPath, []);
|
|
210
|
+
if (!entry) {
|
|
211
|
+
skippedModules.add(logicalPath);
|
|
212
|
+
const gap = `oversized:${logicalPath}`;
|
|
213
|
+
if (!gaps.includes(gap))
|
|
214
|
+
gaps.push(gap);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return { modules: Object.fromEntries(finalized), skippedModules };
|
|
218
|
+
}
|
|
219
|
+
function collectCyclicProjectModules(transformedModules, knownPaths, gaps) {
|
|
220
|
+
const cyclic = new Set();
|
|
221
|
+
const visiting = new Set();
|
|
222
|
+
const visited = new Set();
|
|
223
|
+
const stack = [];
|
|
224
|
+
const recordedCycles = new Set();
|
|
225
|
+
function visit(logicalPath) {
|
|
226
|
+
if (visited.has(logicalPath))
|
|
227
|
+
return;
|
|
228
|
+
if (visiting.has(logicalPath)) {
|
|
229
|
+
const index = stack.indexOf(logicalPath);
|
|
230
|
+
if (index < 0)
|
|
231
|
+
return;
|
|
232
|
+
const cycleMembers = stack.slice(index);
|
|
233
|
+
for (const member of cycleMembers)
|
|
234
|
+
cyclic.add(member);
|
|
235
|
+
const gap = `cycle:${[...cycleMembers, logicalPath].join("->")}`;
|
|
236
|
+
if (!recordedCycles.has(gap)) {
|
|
237
|
+
recordedCycles.add(gap);
|
|
238
|
+
gaps.push(gap);
|
|
239
|
+
}
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
const transformed = transformedModules.get(logicalPath);
|
|
243
|
+
if (!transformed)
|
|
244
|
+
return;
|
|
245
|
+
visiting.add(logicalPath);
|
|
246
|
+
stack.push(logicalPath);
|
|
247
|
+
const imports = collectVfModuleImports(transformed.code, knownPaths);
|
|
248
|
+
for (const importedPath of imports.values()) {
|
|
249
|
+
if (transformedModules.has(importedPath))
|
|
250
|
+
visit(importedPath);
|
|
251
|
+
}
|
|
252
|
+
stack.pop();
|
|
253
|
+
visiting.delete(logicalPath);
|
|
254
|
+
visited.add(logicalPath);
|
|
255
|
+
}
|
|
256
|
+
for (const logicalPath of transformedModules.keys())
|
|
257
|
+
visit(logicalPath);
|
|
258
|
+
return cyclic;
|
|
259
|
+
}
|
|
124
260
|
async function addPreparedJavaScriptAsset(logicalPath, code, uploadQueue, pendingBytes) {
|
|
125
261
|
const bytes = new TextEncoder().encode(code);
|
|
126
262
|
if (bytes.byteLength > RELEASE_ASSET_MAX_SIZE_BYTES)
|
|
@@ -269,7 +405,7 @@ async function runBuildInner(input, tempDir, client, transform) {
|
|
|
269
405
|
}
|
|
270
406
|
// 3 + 4. Collect the browser module closure and transform each module
|
|
271
407
|
// through the SAME pipeline serveModule uses (browser, non-SSR).
|
|
272
|
-
const
|
|
408
|
+
const transformedModules = new Map();
|
|
273
409
|
const gaps = [];
|
|
274
410
|
const uploadQueue = [];
|
|
275
411
|
// Bytes are held per-hash only until uploaded, then dropped (M3).
|
|
@@ -308,19 +444,21 @@ async function runBuildInner(input, tempDir, client, transform) {
|
|
|
308
444
|
error: sanitized,
|
|
309
445
|
};
|
|
310
446
|
}
|
|
311
|
-
|
|
312
|
-
// M2: enforce 10 MB client-side limit — skip oversized modules with a gap.
|
|
313
|
-
if (!entry) {
|
|
314
|
-
gaps.push(`oversized:${logicalPath}`);
|
|
315
|
-
logger.warn("Module exceeds max size, skipping", {
|
|
316
|
-
path: logicalPath,
|
|
317
|
-
limit: RELEASE_ASSET_MAX_SIZE_BYTES,
|
|
318
|
-
});
|
|
319
|
-
continue;
|
|
320
|
-
}
|
|
321
|
-
modules[logicalPath] = entry;
|
|
447
|
+
transformedModules.set(logicalPath, { logicalPath, code });
|
|
322
448
|
}
|
|
323
449
|
const dependencies = await buildFrameworkDependencies(input, tempDir, transform, uploadQueue, pendingBytes, gaps);
|
|
450
|
+
const dependencyUrls = buildDependencyUrlMap(dependencies);
|
|
451
|
+
const { modules, skippedModules } = await finalizeProjectModules(transformedModules, knownPaths, dependencyUrls, uploadQueue, pendingBytes, gaps);
|
|
452
|
+
for (const logicalPath of transformedModules.keys()) {
|
|
453
|
+
if (modules[logicalPath])
|
|
454
|
+
continue;
|
|
455
|
+
if (skippedModules.has(logicalPath))
|
|
456
|
+
continue;
|
|
457
|
+
logger.warn("Module exceeds max size, skipping", {
|
|
458
|
+
path: logicalPath,
|
|
459
|
+
limit: RELEASE_ASSET_MAX_SIZE_BYTES,
|
|
460
|
+
});
|
|
461
|
+
}
|
|
324
462
|
// 5b. CSS: compile project CSS where reachable, else record css:[] and note.
|
|
325
463
|
const css = [];
|
|
326
464
|
const cssHashes = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-schema.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAC;AAkClF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"manifest-schema.d.ts","sourceRoot":"","sources":["../../../src/src/release-assets/manifest-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAC;AAkClF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBzC,CAAC;AAMF,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAC5C,UAAU,CAAC,OAAO,6BAA6B,CAAC,CACjD,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,UAAU,GACV,SAAS,GACT,OAAO,GACP,QAAQ,GACR,YAAY,CAAC;AAEjB,0DAA0D;AAC1D,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,yBAAyB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAuBrF"}
|
|
@@ -51,8 +51,9 @@ export const getReleaseAssetManifestSchema = defineSchema((v) => v.object({
|
|
|
51
51
|
modules: v.record(v.string(), v.object(assetEntryShape(v))),
|
|
52
52
|
css: v.array(v.object(cssEntryShape(v))),
|
|
53
53
|
routes: v.record(v.string(), v.object(routeEntryShape(v))),
|
|
54
|
-
// `dependencies`
|
|
55
|
-
//
|
|
54
|
+
// `dependencies` records framework dependency artifacts for future S7
|
|
55
|
+
// vendoring. HTML keeps import-map entries on module URLs until those
|
|
56
|
+
// artifacts include their own rewritten import closures.
|
|
56
57
|
dependencies: v.record(v.string(), v.object(assetEntryShape(v))),
|
|
57
58
|
fallback: v.object(fallbackShape(v)),
|
|
58
59
|
}));
|