veryfront 0.1.801 → 0.1.802
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 +2 -1
- package/esm/src/release-assets/build-executor.d.ts.map +1 -1
- package/esm/src/release-assets/build-executor.js +91 -0
- 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;AAE1D,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;AAE1D,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;AAgFD,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
|
@@ -228,7 +228,8 @@ function applyManifestDependencies(imports, manifest) {
|
|
|
228
228
|
}
|
|
229
229
|
return [
|
|
230
230
|
specifier,
|
|
231
|
-
dependencyAssets.get(
|
|
231
|
+
dependencyAssets.get(specifier) ?? dependencyAssets.get(url) ??
|
|
232
|
+
dependencyAssets.get(canonicalDependencyUrl(url)) ?? url,
|
|
232
233
|
];
|
|
233
234
|
}));
|
|
234
235
|
}
|
|
@@ -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,6 +23,7 @@ import { transformToESM } from "../transforms/esm-transform.js";
|
|
|
23
23
|
import { cacheHttpImportsToLocal } from "../transforms/esm/http-cache.js";
|
|
24
24
|
import { extractSourceUrl } from "../transforms/esm/source-url-embed.js";
|
|
25
25
|
import { parseImports, replaceSpecifiers } from "../transforms/esm/lexer.js";
|
|
26
|
+
import { getReactUrls } from "../transforms/esm/package-registry.js";
|
|
26
27
|
import { PLATFORM_UTILITIES } from "../html/utils.js";
|
|
27
28
|
import { extractCandidatesFromFiles } from "../html/styles-builder/candidate-extractor.js";
|
|
28
29
|
import { sha256HexBytes } from "./hash.js";
|
|
@@ -35,6 +36,13 @@ const BROWSER_MODULE_EXTENSIONS = [".tsx", ".ts", ".jsx", ".js", ".mdx"];
|
|
|
35
36
|
/** Directories whose modules are part of the browser closure. */
|
|
36
37
|
const BROWSER_MODULE_DIRS = ["pages/", "components/", "layouts/", "lib/", "src/"];
|
|
37
38
|
const FRAMEWORK_MODULE_URL_PREFIX = "/_vf_modules/_veryfront/";
|
|
39
|
+
const REACT_IMPORT_MAP_DEPENDENCIES = [
|
|
40
|
+
"react",
|
|
41
|
+
"react-dom",
|
|
42
|
+
"react-dom/client",
|
|
43
|
+
"react/jsx-runtime",
|
|
44
|
+
"react/jsx-dev-runtime",
|
|
45
|
+
];
|
|
38
46
|
function frameworkModuleUrlToSourceKey(moduleUrl) {
|
|
39
47
|
if (!moduleUrl.startsWith(FRAMEWORK_MODULE_URL_PREFIX))
|
|
40
48
|
return null;
|
|
@@ -222,6 +230,26 @@ function buildDependencyUrlMap(dependencies, dependencyModules) {
|
|
|
222
230
|
}
|
|
223
231
|
return urls;
|
|
224
232
|
}
|
|
233
|
+
function exposeDependencySpecifierAliases(assets, dependencyModules) {
|
|
234
|
+
const aliased = { ...assets };
|
|
235
|
+
for (const dependency of dependencyModules.values()) {
|
|
236
|
+
const asset = assets[dependency.manifestKey];
|
|
237
|
+
if (!asset)
|
|
238
|
+
continue;
|
|
239
|
+
for (const specifier of dependency.specifiers) {
|
|
240
|
+
const normalized = normalizeDependencySpecifier(specifier);
|
|
241
|
+
if (normalized.startsWith("http://") ||
|
|
242
|
+
normalized.startsWith("https://") ||
|
|
243
|
+
normalized.startsWith("file://") ||
|
|
244
|
+
normalized.startsWith("./") ||
|
|
245
|
+
normalized.startsWith("../")) {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
aliased[normalized] = asset;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return aliased;
|
|
252
|
+
}
|
|
225
253
|
function dependencyFallbackUrl(dependency) {
|
|
226
254
|
if (dependency.manifestKey.startsWith("http://") ||
|
|
227
255
|
dependency.manifestKey.startsWith("https://")) {
|
|
@@ -261,6 +289,49 @@ function addDependencyModule(dependencies, dependency) {
|
|
|
261
289
|
function normalizeDependencySpecifier(specifier) {
|
|
262
290
|
return specifier.replace(/[?#].*$/, "");
|
|
263
291
|
}
|
|
292
|
+
function findDependencyModuleBySpecifier(dependencies, specifier) {
|
|
293
|
+
const normalized = normalizeDependencySpecifier(specifier);
|
|
294
|
+
const direct = dependencies.get(specifier) ?? dependencies.get(normalized);
|
|
295
|
+
if (direct)
|
|
296
|
+
return direct;
|
|
297
|
+
for (const dependency of dependencies.values()) {
|
|
298
|
+
if (dependency.manifestKey === specifier || dependency.manifestKey === normalized) {
|
|
299
|
+
return dependency;
|
|
300
|
+
}
|
|
301
|
+
for (const dependencySpecifier of dependency.specifiers) {
|
|
302
|
+
if (normalizeDependencySpecifier(dependencySpecifier) === normalized) {
|
|
303
|
+
return dependency;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
async function collectReactImportMapDependencyModules(input, tempDir, vendorHttpImports, dependencies) {
|
|
310
|
+
const reactUrls = getReactUrls(input.reactVersion);
|
|
311
|
+
const entries = [];
|
|
312
|
+
for (const specifier of REACT_IMPORT_MAP_DEPENDENCIES) {
|
|
313
|
+
const url = reactUrls[specifier];
|
|
314
|
+
if (url)
|
|
315
|
+
entries.push([specifier, url]);
|
|
316
|
+
}
|
|
317
|
+
const source = entries.map(([, url]) => `import ${JSON.stringify(url)};`).join("\n");
|
|
318
|
+
if (!source)
|
|
319
|
+
return;
|
|
320
|
+
const vendored = await vendorHttpImports(source, {
|
|
321
|
+
tempDir,
|
|
322
|
+
reactVersion: input.reactVersion,
|
|
323
|
+
});
|
|
324
|
+
for (const dependency of vendored.dependencies) {
|
|
325
|
+
addDependencyModule(dependencies, dependency);
|
|
326
|
+
}
|
|
327
|
+
for (const [specifier, url] of entries) {
|
|
328
|
+
const dependency = findDependencyModuleBySpecifier(dependencies, url);
|
|
329
|
+
if (!dependency) {
|
|
330
|
+
throw new Error(`React import-map dependency missing: ${specifier}`);
|
|
331
|
+
}
|
|
332
|
+
dependency.specifiers.add(specifier);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
264
335
|
function resolveLocalDependencyPath(specifier, parentFilePath) {
|
|
265
336
|
const normalized = normalizeDependencySpecifier(specifier);
|
|
266
337
|
if (normalized.startsWith("file://")) {
|
|
@@ -775,6 +846,25 @@ async function runBuildInner(input, tempDir, client, transform) {
|
|
|
775
846
|
}
|
|
776
847
|
transformedModules.set(logicalPath, { logicalPath, code });
|
|
777
848
|
}
|
|
849
|
+
try {
|
|
850
|
+
await collectReactImportMapDependencyModules(input, tempDir, vendorHttpImports, dependencyModules);
|
|
851
|
+
}
|
|
852
|
+
catch (error) {
|
|
853
|
+
const sanitized = sanitizeError(error);
|
|
854
|
+
logger.warn("React import-map dependency vendoring failed during release asset build", {
|
|
855
|
+
error: sanitized,
|
|
856
|
+
});
|
|
857
|
+
await client.reportReleaseAssetManifestState(input.releaseVersionRef, "failed", sanitized);
|
|
858
|
+
return {
|
|
859
|
+
success: false,
|
|
860
|
+
state: "failed",
|
|
861
|
+
moduleCount: 0,
|
|
862
|
+
cssCount: 0,
|
|
863
|
+
routeCount: 0,
|
|
864
|
+
gaps,
|
|
865
|
+
error: sanitized,
|
|
866
|
+
};
|
|
867
|
+
}
|
|
778
868
|
const frameworkDependencies = await buildFrameworkDependencies(input, tempDir, transform, uploadQueue, pendingBytes, gaps);
|
|
779
869
|
let httpDependencies;
|
|
780
870
|
let httpDependencyFallbackUrls;
|
|
@@ -799,6 +889,7 @@ async function runBuildInner(input, tempDir, client, transform) {
|
|
|
799
889
|
error: sanitized,
|
|
800
890
|
};
|
|
801
891
|
}
|
|
892
|
+
httpDependencies = exposeDependencySpecifierAliases(httpDependencies, dependencyModules);
|
|
802
893
|
const dependencies = { ...frameworkDependencies, ...httpDependencies };
|
|
803
894
|
const dependencyUrls = buildDependencyUrlMap(dependencies, dependencyModules);
|
|
804
895
|
for (const [specifier, url] of httpDependencyFallbackUrls) {
|