@absolutejs/absolute 0.19.0-beta.762 → 0.19.0-beta.764
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/dist/angular/index.js +98 -8
- package/dist/angular/index.js.map +3 -3
- package/dist/angular/server.js +98 -8
- package/dist/angular/server.js.map +3 -3
- package/dist/build.js +98 -8
- package/dist/build.js.map +3 -3
- package/dist/index.js +98 -8
- package/dist/index.js.map +3 -3
- package/package.json +7 -7
package/dist/build.js
CHANGED
|
@@ -43739,9 +43739,76 @@ ${registrations}
|
|
|
43739
43739
|
if (typeof hostSource === "string")
|
|
43740
43740
|
return hostSource;
|
|
43741
43741
|
return fs2.readFile(fileName, "utf-8");
|
|
43742
|
+
}, safeStableStringify = (value2) => {
|
|
43743
|
+
const seen = new WeakSet;
|
|
43744
|
+
return JSON.stringify(value2, (_key, entry) => {
|
|
43745
|
+
if (typeof entry === "function")
|
|
43746
|
+
return `[Function:${entry.name}]`;
|
|
43747
|
+
if (!entry || typeof entry !== "object")
|
|
43748
|
+
return entry;
|
|
43749
|
+
if (seen.has(entry))
|
|
43750
|
+
return "[Circular]";
|
|
43751
|
+
seen.add(entry);
|
|
43752
|
+
if (Array.isArray(entry))
|
|
43753
|
+
return entry;
|
|
43754
|
+
return Object.fromEntries(Object.entries(entry).sort(([left], [right]) => left.localeCompare(right)));
|
|
43755
|
+
});
|
|
43756
|
+
}, collectAngularResourcePaths = (source, fileDir) => {
|
|
43757
|
+
const paths = [];
|
|
43758
|
+
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
43759
|
+
if (templateUrlMatch?.[1])
|
|
43760
|
+
paths.push(join15(fileDir, templateUrlMatch[1]));
|
|
43761
|
+
const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
43762
|
+
if (styleUrlMatch?.[1])
|
|
43763
|
+
paths.push(join15(fileDir, styleUrlMatch[1]));
|
|
43764
|
+
const styleUrlsMatch = findUncommentedMatch(source, /styleUrls\s*:\s*\[([^\]]+)\]/);
|
|
43765
|
+
const urlMatches = styleUrlsMatch?.[1]?.match(/['"]([^'"]+)['"]/g);
|
|
43766
|
+
if (urlMatches) {
|
|
43767
|
+
for (const urlMatch of urlMatches) {
|
|
43768
|
+
paths.push(join15(fileDir, urlMatch.replace(/['"]/g, "")));
|
|
43769
|
+
}
|
|
43770
|
+
}
|
|
43771
|
+
return paths.map((path2) => resolve16(path2));
|
|
43772
|
+
}, readResourceCacheFile = async (cachePath) => {
|
|
43773
|
+
try {
|
|
43774
|
+
const entry = JSON.parse(await fs2.readFile(cachePath, "utf-8"));
|
|
43775
|
+
if (entry.version !== 1 || typeof entry.source !== "string") {
|
|
43776
|
+
return null;
|
|
43777
|
+
}
|
|
43778
|
+
return entry;
|
|
43779
|
+
} catch {
|
|
43780
|
+
return null;
|
|
43781
|
+
}
|
|
43782
|
+
}, writeResourceCacheFile = async (cachePath, source) => {
|
|
43783
|
+
await fs2.mkdir(dirname10(cachePath), { recursive: true });
|
|
43784
|
+
await fs2.writeFile(cachePath, JSON.stringify({
|
|
43785
|
+
source,
|
|
43786
|
+
version: 1
|
|
43787
|
+
}), "utf-8");
|
|
43788
|
+
}, resolveResourceTransformCachePath = async (filePath, source, stylePreprocessors) => {
|
|
43789
|
+
const resourcePaths = collectAngularResourcePaths(source, dirname10(filePath));
|
|
43790
|
+
const resourceContents = await Promise.all(resourcePaths.map(async (resourcePath) => {
|
|
43791
|
+
const content = await fs2.readFile(resourcePath, "utf-8");
|
|
43792
|
+
return `${resourcePath}\x00${content}`;
|
|
43793
|
+
}));
|
|
43794
|
+
const cacheInput = [
|
|
43795
|
+
"v1",
|
|
43796
|
+
filePath,
|
|
43797
|
+
source,
|
|
43798
|
+
...resourceContents,
|
|
43799
|
+
safeStableStringify(stylePreprocessors ?? null)
|
|
43800
|
+
].join("\x00");
|
|
43801
|
+
const cacheKey2 = Bun.hash(cacheInput).toString(BASE_36_RADIX);
|
|
43802
|
+
return join15(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey2}.json`);
|
|
43742
43803
|
}, precomputeAotResourceTransforms = async (inputPaths, readFile4, stylePreprocessors) => {
|
|
43743
43804
|
const transformedSources = new Map;
|
|
43744
43805
|
const visited = new Set;
|
|
43806
|
+
const stats = {
|
|
43807
|
+
cacheHits: 0,
|
|
43808
|
+
cacheMisses: 0,
|
|
43809
|
+
filesVisited: 0,
|
|
43810
|
+
transformedFiles: 0
|
|
43811
|
+
};
|
|
43745
43812
|
const transformFile = async (filePath) => {
|
|
43746
43813
|
const resolvedPath = resolve16(filePath);
|
|
43747
43814
|
if (visited.has(resolvedPath))
|
|
@@ -43749,9 +43816,24 @@ ${registrations}
|
|
|
43749
43816
|
visited.add(resolvedPath);
|
|
43750
43817
|
if (!existsSync16(resolvedPath) || resolvedPath.endsWith(".d.ts"))
|
|
43751
43818
|
return;
|
|
43819
|
+
stats.filesVisited += 1;
|
|
43752
43820
|
const source = await readFileForAotTransform(resolvedPath, readFile4);
|
|
43753
|
-
const
|
|
43754
|
-
|
|
43821
|
+
const cachePath = await resolveResourceTransformCachePath(resolvedPath, source, stylePreprocessors);
|
|
43822
|
+
const cached = await readResourceCacheFile(cachePath);
|
|
43823
|
+
let transformedSource;
|
|
43824
|
+
if (cached) {
|
|
43825
|
+
stats.cacheHits += 1;
|
|
43826
|
+
transformedSource = cached.source;
|
|
43827
|
+
} else {
|
|
43828
|
+
stats.cacheMisses += 1;
|
|
43829
|
+
const transformed = await inlineResources(source, dirname10(resolvedPath), stylePreprocessors);
|
|
43830
|
+
transformedSource = transformed.source;
|
|
43831
|
+
await writeResourceCacheFile(cachePath, transformedSource);
|
|
43832
|
+
}
|
|
43833
|
+
if (transformedSource !== source) {
|
|
43834
|
+
stats.transformedFiles += 1;
|
|
43835
|
+
transformedSources.set(resolvedPath, transformedSource);
|
|
43836
|
+
}
|
|
43755
43837
|
const imports = extractLocalImportSpecifiers(source, resolvedPath);
|
|
43756
43838
|
await Promise.all(imports.map(async (specifier) => {
|
|
43757
43839
|
const resolvedImport = resolveLocalTsImport(resolvedPath, specifier);
|
|
@@ -43760,7 +43842,7 @@ ${registrations}
|
|
|
43760
43842
|
}));
|
|
43761
43843
|
};
|
|
43762
43844
|
await Promise.all(inputPaths.map((inputPath) => transformFile(inputPath)));
|
|
43763
|
-
return transformedSources;
|
|
43845
|
+
return { stats, transformedSources };
|
|
43764
43846
|
}, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
|
|
43765
43847
|
const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
|
|
43766
43848
|
const outputPath = resolve16(join15(outDir, relative9(process.cwd(), resolve16(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
|
|
@@ -43821,7 +43903,15 @@ ${registrations}
|
|
|
43821
43903
|
emitted[relativePath] = text;
|
|
43822
43904
|
};
|
|
43823
43905
|
const originalReadFile = host.readFile;
|
|
43824
|
-
const
|
|
43906
|
+
const { stats: aotResourceTransformStats, transformedSources } = await traceAngularPhase("aot/precompute-resources", () => precomputeAotResourceTransforms(inputPaths, originalReadFile?.bind(host), stylePreprocessors), { entries: inputPaths.length });
|
|
43907
|
+
await traceAngularPhase("aot/resource-cache-summary", () => {
|
|
43908
|
+
return;
|
|
43909
|
+
}, {
|
|
43910
|
+
cacheHits: aotResourceTransformStats.cacheHits,
|
|
43911
|
+
cacheMisses: aotResourceTransformStats.cacheMisses,
|
|
43912
|
+
filesVisited: aotResourceTransformStats.filesVisited,
|
|
43913
|
+
transformedFiles: aotResourceTransformStats.transformedFiles
|
|
43914
|
+
});
|
|
43825
43915
|
host.readFile = (fileName) => {
|
|
43826
43916
|
const source = originalReadFile ? originalReadFile.call(host, fileName) : undefined;
|
|
43827
43917
|
if (typeof source !== "string")
|
|
@@ -43830,12 +43920,12 @@ ${registrations}
|
|
|
43830
43920
|
return source;
|
|
43831
43921
|
}
|
|
43832
43922
|
const resolvedPath = resolve16(fileName);
|
|
43833
|
-
return
|
|
43923
|
+
return transformedSources.get(resolvedPath) ?? source;
|
|
43834
43924
|
};
|
|
43835
43925
|
const originalGetSourceFileForCompile = host.getSourceFile;
|
|
43836
43926
|
host.getSourceFile = (fileName, languageVersion, onError2) => {
|
|
43837
|
-
const source =
|
|
43838
|
-
if (
|
|
43927
|
+
const source = transformedSources.get(resolve16(fileName));
|
|
43928
|
+
if (source) {
|
|
43839
43929
|
return ts2.createSourceFile(fileName, source, languageVersion, true);
|
|
43840
43930
|
}
|
|
43841
43931
|
return originalGetSourceFileForCompile?.call(host, fileName, languageVersion, onError2);
|
|
@@ -50213,5 +50303,5 @@ export {
|
|
|
50213
50303
|
build
|
|
50214
50304
|
};
|
|
50215
50305
|
|
|
50216
|
-
//# debugId=
|
|
50306
|
+
//# debugId=F3728BAC03FD13D664756E2164756E21
|
|
50217
50307
|
//# sourceMappingURL=build.js.map
|