@absolutejs/absolute 0.19.0-beta.987 → 0.19.0-beta.988
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/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js.map +2 -2
- package/dist/angular/server.js.map +2 -2
- package/dist/build.js +841 -662
- package/dist/build.js.map +8 -7
- package/dist/index.js +874 -695
- package/dist/index.js.map +8 -7
- package/dist/src/build/compileVue.d.ts +1 -1
- package/dist/src/build/scanVueSsrOnlyPages.d.ts +6 -0
- package/dist/src/vue/pageHandler.d.ts +20 -10
- package/dist/vue/index.js +242 -102
- package/dist/vue/index.js.map +7 -4
- package/dist/vue/server.js +145 -5
- package/dist/vue/server.js.map +7 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11060,6 +11060,10 @@ var init_updateAssetPaths = __esm(() => {
|
|
|
11060
11060
|
});
|
|
11061
11061
|
|
|
11062
11062
|
// src/dev/buildHMRClient.ts
|
|
11063
|
+
var exports_buildHMRClient = {};
|
|
11064
|
+
__export(exports_buildHMRClient, {
|
|
11065
|
+
buildHMRClient: () => buildHMRClient
|
|
11066
|
+
});
|
|
11063
11067
|
import { existsSync as existsSync17 } from "fs";
|
|
11064
11068
|
import { resolve as resolve15 } from "path";
|
|
11065
11069
|
var {build: bunBuild } = globalThis.Bun;
|
|
@@ -11859,11 +11863,15 @@ var validateSafePath = (targetPath, baseDirectory) => {
|
|
|
11859
11863
|
};
|
|
11860
11864
|
var init_validateSafePath = () => {};
|
|
11861
11865
|
|
|
11862
|
-
// src/build/
|
|
11866
|
+
// src/build/scanVueSsrOnlyPages.ts
|
|
11867
|
+
var exports_scanVueSsrOnlyPages = {};
|
|
11868
|
+
__export(exports_scanVueSsrOnlyPages, {
|
|
11869
|
+
scanVueSsrOnlyPages: () => scanVueSsrOnlyPages
|
|
11870
|
+
});
|
|
11863
11871
|
import { readdirSync as readdirSync2, readFileSync as readFileSync14 } from "fs";
|
|
11864
11872
|
import { join as join23 } from "path";
|
|
11865
11873
|
import ts6 from "typescript";
|
|
11866
|
-
var
|
|
11874
|
+
var SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (filePath) => {
|
|
11867
11875
|
if (filePath.endsWith(".tsx"))
|
|
11868
11876
|
return ts6.ScriptKind.TSX;
|
|
11869
11877
|
return ts6.ScriptKind.TS;
|
|
@@ -11901,26 +11909,173 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
11901
11909
|
}
|
|
11902
11910
|
}
|
|
11903
11911
|
return out;
|
|
11912
|
+
}, fileMayContainVueHandler = (source) => source.includes("handleVuePageRequest"), isHandleVuePageRequestCallee = (expression) => {
|
|
11913
|
+
if (ts6.isIdentifier(expression)) {
|
|
11914
|
+
return expression.text === "handleVuePageRequest";
|
|
11915
|
+
}
|
|
11916
|
+
if (ts6.isPropertyAccessExpression(expression) && ts6.isIdentifier(expression.name)) {
|
|
11917
|
+
return expression.name.text === "handleVuePageRequest";
|
|
11918
|
+
}
|
|
11919
|
+
return false;
|
|
11920
|
+
}, getPropertyName = (name) => {
|
|
11921
|
+
if (ts6.isIdentifier(name) || ts6.isStringLiteral(name)) {
|
|
11922
|
+
return name.text;
|
|
11923
|
+
}
|
|
11924
|
+
return null;
|
|
11925
|
+
}, readStringLiteralValue = (node) => {
|
|
11926
|
+
if (ts6.isStringLiteral(node) || ts6.isNoSubstitutionTemplateLiteral(node)) {
|
|
11927
|
+
return node.text;
|
|
11928
|
+
}
|
|
11929
|
+
return null;
|
|
11930
|
+
}, isAssetCall = (node) => {
|
|
11931
|
+
if (!ts6.isCallExpression(node))
|
|
11932
|
+
return false;
|
|
11933
|
+
if (!ts6.isIdentifier(node.expression))
|
|
11934
|
+
return false;
|
|
11935
|
+
return node.expression.text === "asset";
|
|
11936
|
+
}, extractAssetLiteralKey = (call) => {
|
|
11937
|
+
if (call.arguments.length < 2)
|
|
11938
|
+
return null;
|
|
11939
|
+
const keyArg = call.arguments[1];
|
|
11940
|
+
if (!keyArg)
|
|
11941
|
+
return null;
|
|
11942
|
+
return readStringLiteralValue(keyArg);
|
|
11943
|
+
}, extractPagePathAssetKey = (initializer) => {
|
|
11944
|
+
if (!isAssetCall(initializer))
|
|
11945
|
+
return null;
|
|
11946
|
+
if (!ts6.isCallExpression(initializer))
|
|
11947
|
+
return null;
|
|
11948
|
+
return extractAssetLiteralKey(initializer);
|
|
11949
|
+
}, extractSsrOnlyPageName = (objectLiteral) => {
|
|
11950
|
+
let hasClientNone = false;
|
|
11951
|
+
let pageAssetKey = null;
|
|
11952
|
+
for (const property of objectLiteral.properties) {
|
|
11953
|
+
if (!ts6.isPropertyAssignment(property))
|
|
11954
|
+
continue;
|
|
11955
|
+
const name = getPropertyName(property.name);
|
|
11956
|
+
if (!name)
|
|
11957
|
+
continue;
|
|
11958
|
+
if (name === "client") {
|
|
11959
|
+
const value = readStringLiteralValue(property.initializer);
|
|
11960
|
+
if (value === "none")
|
|
11961
|
+
hasClientNone = true;
|
|
11962
|
+
continue;
|
|
11963
|
+
}
|
|
11964
|
+
if (name === "pagePath") {
|
|
11965
|
+
pageAssetKey = extractPagePathAssetKey(property.initializer);
|
|
11966
|
+
}
|
|
11967
|
+
}
|
|
11968
|
+
if (!hasClientNone)
|
|
11969
|
+
return null;
|
|
11970
|
+
return pageAssetKey;
|
|
11971
|
+
}, extractFromFile = (filePath, out) => {
|
|
11972
|
+
let source;
|
|
11973
|
+
try {
|
|
11974
|
+
source = readFileSync14(filePath, "utf-8");
|
|
11975
|
+
} catch {
|
|
11976
|
+
return;
|
|
11977
|
+
}
|
|
11978
|
+
if (!fileMayContainVueHandler(source))
|
|
11979
|
+
return;
|
|
11980
|
+
const sourceFile = ts6.createSourceFile(filePath, source, ts6.ScriptTarget.Latest, true, getScriptKind2(filePath));
|
|
11981
|
+
const visit = (node) => {
|
|
11982
|
+
if (ts6.isCallExpression(node) && isHandleVuePageRequestCallee(node.expression)) {
|
|
11983
|
+
const firstArg = node.arguments[0];
|
|
11984
|
+
if (firstArg && ts6.isObjectLiteralExpression(firstArg)) {
|
|
11985
|
+
const pageName = extractSsrOnlyPageName(firstArg);
|
|
11986
|
+
if (pageName)
|
|
11987
|
+
out.add(pageName);
|
|
11988
|
+
}
|
|
11989
|
+
}
|
|
11990
|
+
ts6.forEachChild(node, visit);
|
|
11991
|
+
};
|
|
11992
|
+
ts6.forEachChild(sourceFile, visit);
|
|
11993
|
+
}, scanVueSsrOnlyPages = (projectRoot) => {
|
|
11994
|
+
const files = collectSourceFiles2(projectRoot);
|
|
11995
|
+
const ssrOnlyPageNames = new Set;
|
|
11996
|
+
for (const file2 of files) {
|
|
11997
|
+
extractFromFile(file2, ssrOnlyPageNames);
|
|
11998
|
+
}
|
|
11999
|
+
return ssrOnlyPageNames;
|
|
12000
|
+
};
|
|
12001
|
+
var init_scanVueSsrOnlyPages = __esm(() => {
|
|
12002
|
+
SKIP_DIRS2 = new Set([
|
|
12003
|
+
".absolutejs",
|
|
12004
|
+
".generated",
|
|
12005
|
+
".git",
|
|
12006
|
+
".next",
|
|
12007
|
+
".svelte-kit",
|
|
12008
|
+
".vercel",
|
|
12009
|
+
"build",
|
|
12010
|
+
"compiled",
|
|
12011
|
+
"dist",
|
|
12012
|
+
"node_modules"
|
|
12013
|
+
]);
|
|
12014
|
+
SOURCE_EXTENSIONS2 = new Set([".ts", ".tsx", ".mts", ".cts"]);
|
|
12015
|
+
});
|
|
12016
|
+
|
|
12017
|
+
// src/build/scanAngularHandlerCalls.ts
|
|
12018
|
+
import { readdirSync as readdirSync3, readFileSync as readFileSync15 } from "fs";
|
|
12019
|
+
import { join as join24 } from "path";
|
|
12020
|
+
import ts7 from "typescript";
|
|
12021
|
+
var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
|
|
12022
|
+
if (filePath.endsWith(".tsx"))
|
|
12023
|
+
return ts7.ScriptKind.TSX;
|
|
12024
|
+
return ts7.ScriptKind.TS;
|
|
12025
|
+
}, hasSourceExtension3 = (filePath) => {
|
|
12026
|
+
const idx = filePath.lastIndexOf(".");
|
|
12027
|
+
if (idx === -1)
|
|
12028
|
+
return false;
|
|
12029
|
+
return SOURCE_EXTENSIONS3.has(filePath.slice(idx));
|
|
12030
|
+
}, collectSourceFiles3 = (root) => {
|
|
12031
|
+
const out = [];
|
|
12032
|
+
const stack = [root];
|
|
12033
|
+
while (stack.length > 0) {
|
|
12034
|
+
const dir = stack.pop();
|
|
12035
|
+
if (!dir)
|
|
12036
|
+
continue;
|
|
12037
|
+
let entries;
|
|
12038
|
+
try {
|
|
12039
|
+
entries = readdirSync3(dir, {
|
|
12040
|
+
encoding: "utf-8",
|
|
12041
|
+
withFileTypes: true
|
|
12042
|
+
});
|
|
12043
|
+
} catch {
|
|
12044
|
+
continue;
|
|
12045
|
+
}
|
|
12046
|
+
for (const entry of entries) {
|
|
12047
|
+
if (entry.isDirectory()) {
|
|
12048
|
+
if (SKIP_DIRS3.has(entry.name))
|
|
12049
|
+
continue;
|
|
12050
|
+
if (entry.name.startsWith("."))
|
|
12051
|
+
continue;
|
|
12052
|
+
stack.push(join24(dir, entry.name));
|
|
12053
|
+
} else if (entry.isFile() && hasSourceExtension3(entry.name)) {
|
|
12054
|
+
out.push(join24(dir, entry.name));
|
|
12055
|
+
}
|
|
12056
|
+
}
|
|
12057
|
+
}
|
|
12058
|
+
return out;
|
|
11904
12059
|
}, fileMayContainAngularHandler = (source) => source.includes("handleAngularPageRequest"), extractManifestKey = (pagePathValue) => {
|
|
11905
|
-
if (!
|
|
12060
|
+
if (!ts7.isCallExpression(pagePathValue))
|
|
11906
12061
|
return null;
|
|
11907
12062
|
const callee = pagePathValue.expression;
|
|
11908
|
-
if (!
|
|
12063
|
+
if (!ts7.isIdentifier(callee) || callee.text !== "asset")
|
|
11909
12064
|
return null;
|
|
11910
12065
|
const [, second] = pagePathValue.arguments;
|
|
11911
12066
|
if (!second)
|
|
11912
12067
|
return null;
|
|
11913
|
-
if (!
|
|
12068
|
+
if (!ts7.isStringLiteral(second))
|
|
11914
12069
|
return null;
|
|
11915
12070
|
return second.text;
|
|
11916
12071
|
}, findEnclosingMountPath = (node) => {
|
|
11917
12072
|
let cursor = node.parent;
|
|
11918
12073
|
while (cursor) {
|
|
11919
|
-
if (
|
|
12074
|
+
if (ts7.isCallExpression(cursor)) {
|
|
11920
12075
|
const callee = cursor.expression;
|
|
11921
|
-
if (
|
|
12076
|
+
if (ts7.isPropertyAccessExpression(callee) && ts7.isIdentifier(callee.name) && ELYSIA_ROUTE_METHODS2.has(callee.name.text)) {
|
|
11922
12077
|
const firstArg = cursor.arguments[0];
|
|
11923
|
-
if (firstArg &&
|
|
12078
|
+
if (firstArg && ts7.isStringLiteral(firstArg) && firstArg.text.startsWith("/")) {
|
|
11924
12079
|
return firstArg.text;
|
|
11925
12080
|
}
|
|
11926
12081
|
}
|
|
@@ -11931,33 +12086,33 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
11931
12086
|
}, extractCallsFromFile = (filePath, out) => {
|
|
11932
12087
|
let source;
|
|
11933
12088
|
try {
|
|
11934
|
-
source =
|
|
12089
|
+
source = readFileSync15(filePath, "utf-8");
|
|
11935
12090
|
} catch {
|
|
11936
12091
|
return;
|
|
11937
12092
|
}
|
|
11938
12093
|
if (!fileMayContainAngularHandler(source))
|
|
11939
12094
|
return;
|
|
11940
|
-
const sf =
|
|
12095
|
+
const sf = ts7.createSourceFile(filePath, source, ts7.ScriptTarget.Latest, true, getScriptKind3(filePath));
|
|
11941
12096
|
const visit = (node) => {
|
|
11942
|
-
if (
|
|
12097
|
+
if (ts7.isCallExpression(node) && ts7.isIdentifier(node.expression) && node.expression.text === "handleAngularPageRequest") {
|
|
11943
12098
|
const [arg] = node.arguments;
|
|
11944
|
-
if (arg &&
|
|
12099
|
+
if (arg && ts7.isObjectLiteralExpression(arg)) {
|
|
11945
12100
|
let manifestKey = null;
|
|
11946
12101
|
for (const prop of arg.properties) {
|
|
11947
|
-
if (
|
|
12102
|
+
if (ts7.isPropertyAssignment(prop)) {
|
|
11948
12103
|
if (!prop.name)
|
|
11949
12104
|
continue;
|
|
11950
|
-
const name =
|
|
12105
|
+
const name = ts7.isIdentifier(prop.name) ? prop.name.text : ts7.isStringLiteral(prop.name) ? prop.name.text : null;
|
|
11951
12106
|
if (name === "pagePath") {
|
|
11952
12107
|
manifestKey = extractManifestKey(prop.initializer);
|
|
11953
12108
|
}
|
|
11954
|
-
} else if (
|
|
12109
|
+
} else if (ts7.isSpreadAssignment(prop)) {
|
|
11955
12110
|
if (manifestKey)
|
|
11956
12111
|
continue;
|
|
11957
12112
|
const spreadExpr = prop.expression;
|
|
11958
|
-
if (
|
|
12113
|
+
if (ts7.isCallExpression(spreadExpr) && spreadExpr.arguments.length > 0) {
|
|
11959
12114
|
const [firstArg] = spreadExpr.arguments;
|
|
11960
|
-
if (firstArg &&
|
|
12115
|
+
if (firstArg && ts7.isStringLiteral(firstArg)) {
|
|
11961
12116
|
manifestKey = firstArg.text;
|
|
11962
12117
|
}
|
|
11963
12118
|
}
|
|
@@ -11972,11 +12127,11 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
|
|
|
11972
12127
|
}
|
|
11973
12128
|
}
|
|
11974
12129
|
}
|
|
11975
|
-
|
|
12130
|
+
ts7.forEachChild(node, visit);
|
|
11976
12131
|
};
|
|
11977
|
-
|
|
12132
|
+
ts7.forEachChild(sf, visit);
|
|
11978
12133
|
}, scanAngularHandlerCalls = (projectRoot) => {
|
|
11979
|
-
const files =
|
|
12134
|
+
const files = collectSourceFiles3(projectRoot);
|
|
11980
12135
|
const collected = [];
|
|
11981
12136
|
for (const file2 of files) {
|
|
11982
12137
|
extractCallsFromFile(file2, collected);
|
|
@@ -11994,7 +12149,7 @@ var init_scanAngularHandlerCalls = __esm(() => {
|
|
|
11994
12149
|
"post",
|
|
11995
12150
|
"put"
|
|
11996
12151
|
]);
|
|
11997
|
-
|
|
12152
|
+
SKIP_DIRS3 = new Set([
|
|
11998
12153
|
".absolutejs",
|
|
11999
12154
|
".generated",
|
|
12000
12155
|
".git",
|
|
@@ -12006,20 +12161,20 @@ var init_scanAngularHandlerCalls = __esm(() => {
|
|
|
12006
12161
|
"dist",
|
|
12007
12162
|
"node_modules"
|
|
12008
12163
|
]);
|
|
12009
|
-
|
|
12164
|
+
SOURCE_EXTENSIONS3 = new Set([".ts", ".tsx", ".mts", ".cts"]);
|
|
12010
12165
|
});
|
|
12011
12166
|
|
|
12012
12167
|
// src/build/scanAngularPageRoutes.ts
|
|
12013
|
-
import { readdirSync as
|
|
12014
|
-
import { basename as basename6, join as
|
|
12015
|
-
import
|
|
12016
|
-
var
|
|
12168
|
+
import { readdirSync as readdirSync4, readFileSync as readFileSync16 } from "fs";
|
|
12169
|
+
import { basename as basename6, join as join25 } from "path";
|
|
12170
|
+
import ts8 from "typescript";
|
|
12171
|
+
var SOURCE_EXTENSIONS4, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
|
|
12017
12172
|
const idx = filePath.lastIndexOf(".");
|
|
12018
12173
|
if (idx === -1)
|
|
12019
12174
|
return false;
|
|
12020
|
-
return
|
|
12175
|
+
return SOURCE_EXTENSIONS4.has(filePath.slice(idx));
|
|
12021
12176
|
}, isPageFile = (filePath) => {
|
|
12022
|
-
if (!
|
|
12177
|
+
if (!hasSourceExtension4(filePath))
|
|
12023
12178
|
return false;
|
|
12024
12179
|
const base = basename6(filePath);
|
|
12025
12180
|
if (base.endsWith(".d.ts"))
|
|
@@ -12038,7 +12193,7 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
|
|
|
12038
12193
|
continue;
|
|
12039
12194
|
let entries;
|
|
12040
12195
|
try {
|
|
12041
|
-
entries =
|
|
12196
|
+
entries = readdirSync4(dir, {
|
|
12042
12197
|
encoding: "utf-8",
|
|
12043
12198
|
withFileTypes: true
|
|
12044
12199
|
});
|
|
@@ -12047,13 +12202,13 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
|
|
|
12047
12202
|
}
|
|
12048
12203
|
for (const entry of entries) {
|
|
12049
12204
|
if (entry.isDirectory()) {
|
|
12050
|
-
if (
|
|
12205
|
+
if (SKIP_DIRS4.has(entry.name))
|
|
12051
12206
|
continue;
|
|
12052
12207
|
if (entry.name.startsWith("."))
|
|
12053
12208
|
continue;
|
|
12054
|
-
stack.push(
|
|
12209
|
+
stack.push(join25(dir, entry.name));
|
|
12055
12210
|
} else if (entry.isFile() && isPageFile(entry.name)) {
|
|
12056
|
-
out.push(
|
|
12211
|
+
out.push(join25(dir, entry.name));
|
|
12057
12212
|
}
|
|
12058
12213
|
}
|
|
12059
12214
|
}
|
|
@@ -12061,15 +12216,15 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
|
|
|
12061
12216
|
}, hasTopLevelRoutesExport = (source, filePath) => {
|
|
12062
12217
|
if (!source.includes("routes"))
|
|
12063
12218
|
return false;
|
|
12064
|
-
const sf =
|
|
12219
|
+
const sf = ts8.createSourceFile(filePath, source, ts8.ScriptTarget.Latest, true, ts8.ScriptKind.TS);
|
|
12065
12220
|
for (const statement of sf.statements) {
|
|
12066
|
-
if (!
|
|
12221
|
+
if (!ts8.isVariableStatement(statement))
|
|
12067
12222
|
continue;
|
|
12068
|
-
const isExported = statement.modifiers?.some((modifier) => modifier.kind ===
|
|
12223
|
+
const isExported = statement.modifiers?.some((modifier) => modifier.kind === ts8.SyntaxKind.ExportKeyword);
|
|
12069
12224
|
if (!isExported)
|
|
12070
12225
|
continue;
|
|
12071
12226
|
for (const declaration of statement.declarationList.declarations) {
|
|
12072
|
-
if (!
|
|
12227
|
+
if (!ts8.isIdentifier(declaration.name))
|
|
12073
12228
|
continue;
|
|
12074
12229
|
if (declaration.name.text === "routes")
|
|
12075
12230
|
return true;
|
|
@@ -12082,7 +12237,7 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
|
|
|
12082
12237
|
for (const file2 of files) {
|
|
12083
12238
|
let source;
|
|
12084
12239
|
try {
|
|
12085
|
-
source =
|
|
12240
|
+
source = readFileSync16(file2, "utf-8");
|
|
12086
12241
|
} catch {
|
|
12087
12242
|
continue;
|
|
12088
12243
|
}
|
|
@@ -12098,8 +12253,8 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
|
|
|
12098
12253
|
return out;
|
|
12099
12254
|
};
|
|
12100
12255
|
var init_scanAngularPageRoutes = __esm(() => {
|
|
12101
|
-
|
|
12102
|
-
|
|
12256
|
+
SOURCE_EXTENSIONS4 = new Set([".ts", ".tsx", ".mts", ".cts"]);
|
|
12257
|
+
SKIP_DIRS4 = new Set([
|
|
12103
12258
|
".absolutejs",
|
|
12104
12259
|
".generated",
|
|
12105
12260
|
".git",
|
|
@@ -12129,46 +12284,46 @@ var exports_parseAngularConfigImports = {};
|
|
|
12129
12284
|
__export(exports_parseAngularConfigImports, {
|
|
12130
12285
|
parseAngularProvidersImport: () => parseAngularProvidersImport
|
|
12131
12286
|
});
|
|
12132
|
-
import { existsSync as existsSync20, readFileSync as
|
|
12133
|
-
import { dirname as dirname13, isAbsolute as isAbsolute3, join as
|
|
12134
|
-
import
|
|
12287
|
+
import { existsSync as existsSync20, readFileSync as readFileSync17 } from "fs";
|
|
12288
|
+
import { dirname as dirname13, isAbsolute as isAbsolute3, join as join26 } from "path";
|
|
12289
|
+
import ts9 from "typescript";
|
|
12135
12290
|
var findDefineConfigCall = (sf) => {
|
|
12136
12291
|
let result = null;
|
|
12137
12292
|
const visit = (node) => {
|
|
12138
12293
|
if (result)
|
|
12139
12294
|
return;
|
|
12140
|
-
if (
|
|
12295
|
+
if (ts9.isCallExpression(node) && ts9.isIdentifier(node.expression) && node.expression.text === "defineConfig") {
|
|
12141
12296
|
const [arg] = node.arguments;
|
|
12142
|
-
if (arg &&
|
|
12297
|
+
if (arg && ts9.isObjectLiteralExpression(arg)) {
|
|
12143
12298
|
result = arg;
|
|
12144
12299
|
return;
|
|
12145
12300
|
}
|
|
12146
12301
|
}
|
|
12147
|
-
|
|
12302
|
+
ts9.forEachChild(node, visit);
|
|
12148
12303
|
};
|
|
12149
|
-
|
|
12304
|
+
ts9.forEachChild(sf, visit);
|
|
12150
12305
|
return result;
|
|
12151
12306
|
}, findPropertyInitializer = (object, name) => {
|
|
12152
12307
|
for (const prop of object.properties) {
|
|
12153
|
-
if (!
|
|
12308
|
+
if (!ts9.isPropertyAssignment(prop))
|
|
12154
12309
|
continue;
|
|
12155
12310
|
if (!prop.name)
|
|
12156
12311
|
continue;
|
|
12157
|
-
const key =
|
|
12312
|
+
const key = ts9.isIdentifier(prop.name) ? prop.name.text : ts9.isStringLiteral(prop.name) ? prop.name.text : null;
|
|
12158
12313
|
if (key === name)
|
|
12159
12314
|
return prop.initializer;
|
|
12160
12315
|
}
|
|
12161
12316
|
return null;
|
|
12162
12317
|
}, findImportForBinding = (sf, binding) => {
|
|
12163
12318
|
for (const statement of sf.statements) {
|
|
12164
|
-
if (!
|
|
12319
|
+
if (!ts9.isImportDeclaration(statement))
|
|
12165
12320
|
continue;
|
|
12166
|
-
if (!
|
|
12321
|
+
if (!ts9.isStringLiteral(statement.moduleSpecifier))
|
|
12167
12322
|
continue;
|
|
12168
12323
|
if (statement.importClause?.isTypeOnly)
|
|
12169
12324
|
continue;
|
|
12170
12325
|
const named = statement.importClause?.namedBindings;
|
|
12171
|
-
if (!named || !
|
|
12326
|
+
if (!named || !ts9.isNamedImports(named))
|
|
12172
12327
|
continue;
|
|
12173
12328
|
for (const element of named.elements) {
|
|
12174
12329
|
if (element.isTypeOnly)
|
|
@@ -12185,15 +12340,15 @@ var findDefineConfigCall = (sf) => {
|
|
|
12185
12340
|
}, resolveConfigPath = (projectRoot) => {
|
|
12186
12341
|
const envOverride = process.env.ABSOLUTE_CONFIG;
|
|
12187
12342
|
if (envOverride) {
|
|
12188
|
-
const resolved = isAbsolute3(envOverride) ? envOverride :
|
|
12343
|
+
const resolved = isAbsolute3(envOverride) ? envOverride : join26(projectRoot, envOverride);
|
|
12189
12344
|
if (existsSync20(resolved))
|
|
12190
12345
|
return resolved;
|
|
12191
12346
|
}
|
|
12192
12347
|
const candidates = [
|
|
12193
|
-
|
|
12194
|
-
|
|
12195
|
-
|
|
12196
|
-
|
|
12348
|
+
join26(projectRoot, "absolute.config.ts"),
|
|
12349
|
+
join26(projectRoot, "absolute.config.mts"),
|
|
12350
|
+
join26(projectRoot, "absolute.config.js"),
|
|
12351
|
+
join26(projectRoot, "absolute.config.mjs")
|
|
12197
12352
|
];
|
|
12198
12353
|
for (const candidate of candidates) {
|
|
12199
12354
|
if (existsSync20(candidate))
|
|
@@ -12204,29 +12359,29 @@ var findDefineConfigCall = (sf) => {
|
|
|
12204
12359
|
const configPath2 = resolveConfigPath(projectRoot);
|
|
12205
12360
|
if (!configPath2)
|
|
12206
12361
|
return null;
|
|
12207
|
-
const source =
|
|
12362
|
+
const source = readFileSync17(configPath2, "utf-8");
|
|
12208
12363
|
if (!source.includes("angular"))
|
|
12209
12364
|
return null;
|
|
12210
12365
|
if (!source.includes("providers"))
|
|
12211
12366
|
return null;
|
|
12212
|
-
const sf =
|
|
12367
|
+
const sf = ts9.createSourceFile(configPath2, source, ts9.ScriptTarget.Latest, true, ts9.ScriptKind.TS);
|
|
12213
12368
|
const configObject = findDefineConfigCall(sf);
|
|
12214
12369
|
if (!configObject)
|
|
12215
12370
|
return null;
|
|
12216
12371
|
const angularField = findPropertyInitializer(configObject, "angular");
|
|
12217
|
-
if (!angularField || !
|
|
12372
|
+
if (!angularField || !ts9.isObjectLiteralExpression(angularField))
|
|
12218
12373
|
return null;
|
|
12219
12374
|
const providersField = findPropertyInitializer(angularField, "providers");
|
|
12220
12375
|
if (!providersField)
|
|
12221
12376
|
return null;
|
|
12222
|
-
if (!
|
|
12377
|
+
if (!ts9.isIdentifier(providersField))
|
|
12223
12378
|
return null;
|
|
12224
12379
|
const binding = providersField.text;
|
|
12225
12380
|
const importInfo = findImportForBinding(sf, binding);
|
|
12226
12381
|
if (!importInfo)
|
|
12227
12382
|
return null;
|
|
12228
12383
|
const configDir2 = dirname13(configPath2);
|
|
12229
|
-
const absolutePath = importInfo.source.startsWith(".") ?
|
|
12384
|
+
const absolutePath = importInfo.source.startsWith(".") ? join26(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute3(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
|
|
12230
12385
|
return {
|
|
12231
12386
|
absolutePath,
|
|
12232
12387
|
bindingName: binding,
|
|
@@ -12301,7 +12456,7 @@ import { existsSync as existsSync21 } from "fs";
|
|
|
12301
12456
|
import { mkdir as mkdir4, stat as stat2 } from "fs/promises";
|
|
12302
12457
|
import {
|
|
12303
12458
|
dirname as dirname14,
|
|
12304
|
-
join as
|
|
12459
|
+
join as join27,
|
|
12305
12460
|
basename as basename7,
|
|
12306
12461
|
extname as extname5,
|
|
12307
12462
|
resolve as resolve22,
|
|
@@ -12360,14 +12515,14 @@ var resolveDevClientDir2 = () => {
|
|
|
12360
12515
|
`${basePath}.svelte`,
|
|
12361
12516
|
`${basePath}.svelte.ts`,
|
|
12362
12517
|
`${basePath}.svelte.js`,
|
|
12363
|
-
|
|
12364
|
-
|
|
12365
|
-
|
|
12366
|
-
|
|
12367
|
-
|
|
12368
|
-
|
|
12369
|
-
|
|
12370
|
-
|
|
12518
|
+
join27(basePath, "index.ts"),
|
|
12519
|
+
join27(basePath, "index.js"),
|
|
12520
|
+
join27(basePath, "index.mjs"),
|
|
12521
|
+
join27(basePath, "index.cjs"),
|
|
12522
|
+
join27(basePath, "index.json"),
|
|
12523
|
+
join27(basePath, "index.svelte"),
|
|
12524
|
+
join27(basePath, "index.svelte.ts"),
|
|
12525
|
+
join27(basePath, "index.svelte.js")
|
|
12371
12526
|
];
|
|
12372
12527
|
const checks = await Promise.all(candidates.map(exists));
|
|
12373
12528
|
return candidates.find((_2, index) => checks[index]) ?? null;
|
|
@@ -12406,9 +12561,9 @@ var resolveDevClientDir2 = () => {
|
|
|
12406
12561
|
}, compileSvelte = async (entryPoints, svelteRoot, cache = new Map, isDev2 = false, stylePreprocessors) => {
|
|
12407
12562
|
const { compile, compileModule, preprocess } = await import("svelte/compiler");
|
|
12408
12563
|
const generatedDir = getFrameworkGeneratedDir("svelte");
|
|
12409
|
-
const clientDir =
|
|
12410
|
-
const indexDir =
|
|
12411
|
-
const serverDir =
|
|
12564
|
+
const clientDir = join27(generatedDir, "client");
|
|
12565
|
+
const indexDir = join27(generatedDir, "indexes");
|
|
12566
|
+
const serverDir = join27(generatedDir, "server");
|
|
12412
12567
|
await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir4(dir, { recursive: true })));
|
|
12413
12568
|
const dev = env2.NODE_ENV !== "production";
|
|
12414
12569
|
const build2 = async (src) => {
|
|
@@ -12446,8 +12601,8 @@ var resolveDevClientDir2 = () => {
|
|
|
12446
12601
|
const childBuilt = await Promise.all(childSources.map((child) => build2(child)));
|
|
12447
12602
|
const hasAwaitSlotFromChildren = childBuilt.some((child) => child.hasAwaitSlot);
|
|
12448
12603
|
const externalRewrites = new Map;
|
|
12449
|
-
const ssrOutputDir = dirname14(
|
|
12450
|
-
const clientOutputDir = dirname14(
|
|
12604
|
+
const ssrOutputDir = dirname14(join27(serverDir, relDir, `${baseName}.js`));
|
|
12605
|
+
const clientOutputDir = dirname14(join27(clientDir, relDir, `${baseName}.js`));
|
|
12451
12606
|
for (let idx = 0;idx < importPaths.length; idx++) {
|
|
12452
12607
|
const rawSpec = importPaths[idx];
|
|
12453
12608
|
if (!rawSpec)
|
|
@@ -12512,8 +12667,8 @@ var resolveDevClientDir2 = () => {
|
|
|
12512
12667
|
code += islandMetadataExports;
|
|
12513
12668
|
return { code, map: compiledJs.map };
|
|
12514
12669
|
};
|
|
12515
|
-
const ssrPath =
|
|
12516
|
-
const clientPath =
|
|
12670
|
+
const ssrPath = join27(serverDir, relDir, `${baseName}.js`);
|
|
12671
|
+
const clientPath = join27(clientDir, relDir, `${baseName}.js`);
|
|
12517
12672
|
await Promise.all([
|
|
12518
12673
|
mkdir4(dirname14(ssrPath), { recursive: true }),
|
|
12519
12674
|
mkdir4(dirname14(clientPath), { recursive: true })
|
|
@@ -12551,7 +12706,7 @@ var resolveDevClientDir2 = () => {
|
|
|
12551
12706
|
await Promise.all(roots.map(async ({ client: client2, hasAwaitSlot }) => {
|
|
12552
12707
|
const relClientDir = dirname14(relative9(clientDir, client2));
|
|
12553
12708
|
const name = basename7(client2, extname5(client2));
|
|
12554
|
-
const indexPath =
|
|
12709
|
+
const indexPath = join27(indexDir, relClientDir, `${name}.js`);
|
|
12555
12710
|
const importRaw = relative9(dirname14(indexPath), client2).split(sep2).join("/");
|
|
12556
12711
|
const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
|
|
12557
12712
|
const hmrImports = isDev2 ? `window.__HMR_FRAMEWORK__ = "svelte";
|
|
@@ -12630,7 +12785,7 @@ if (typeof window !== "undefined") {
|
|
|
12630
12785
|
svelteClientPaths: roots.map(({ client: client2 }) => client2),
|
|
12631
12786
|
svelteIndexPaths: roots.map(({ client: client2 }) => {
|
|
12632
12787
|
const rel = dirname14(relative9(clientDir, client2));
|
|
12633
|
-
return
|
|
12788
|
+
return join27(indexDir, rel, basename7(client2));
|
|
12634
12789
|
}),
|
|
12635
12790
|
svelteServerPaths: roots.map(({ ssr }) => ssr)
|
|
12636
12791
|
};
|
|
@@ -12645,7 +12800,7 @@ var init_compileSvelte = __esm(() => {
|
|
|
12645
12800
|
init_lowerAwaitSlotSyntax();
|
|
12646
12801
|
init_renderToReadableStream();
|
|
12647
12802
|
devClientDir2 = resolveDevClientDir2();
|
|
12648
|
-
hmrClientPath3 =
|
|
12803
|
+
hmrClientPath3 = join27(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
|
|
12649
12804
|
persistentCache = new Map;
|
|
12650
12805
|
sourceHashCache = new Map;
|
|
12651
12806
|
transpiler3 = new Transpiler2({ loader: "ts", target: "browser" });
|
|
@@ -12660,7 +12815,7 @@ __export(exports_chainInlineSourcemaps, {
|
|
|
12660
12815
|
chainBundleInlineSourcemap: () => chainBundleInlineSourcemap,
|
|
12661
12816
|
buildLineRemap: () => buildLineRemap
|
|
12662
12817
|
});
|
|
12663
|
-
import { readFileSync as
|
|
12818
|
+
import { readFileSync as readFileSync18, writeFileSync as writeFileSync8 } from "fs";
|
|
12664
12819
|
var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", BASE64_TO_INT, decodeVlq = (str, startPos) => {
|
|
12665
12820
|
let result = 0;
|
|
12666
12821
|
let shift = 0;
|
|
@@ -12951,7 +13106,7 @@ var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567
|
|
|
12951
13106
|
version: 3
|
|
12952
13107
|
};
|
|
12953
13108
|
}, chainBundleInlineSourcemap = (bundleFilePath) => {
|
|
12954
|
-
const text =
|
|
13109
|
+
const text = readFileSync18(bundleFilePath, "utf-8");
|
|
12955
13110
|
const outerMap = extractInlineMap(text);
|
|
12956
13111
|
if (!outerMap)
|
|
12957
13112
|
return;
|
|
@@ -13043,7 +13198,7 @@ import {
|
|
|
13043
13198
|
basename as basename8,
|
|
13044
13199
|
dirname as dirname15,
|
|
13045
13200
|
isAbsolute as isAbsolute4,
|
|
13046
|
-
join as
|
|
13201
|
+
join as join28,
|
|
13047
13202
|
relative as relative10,
|
|
13048
13203
|
resolve as resolve23
|
|
13049
13204
|
} from "path";
|
|
@@ -13221,7 +13376,7 @@ var resolveDevClientDir3 = () => {
|
|
|
13221
13376
|
];
|
|
13222
13377
|
let cssOutputPaths = [];
|
|
13223
13378
|
if (isEntryPoint && allCss.length) {
|
|
13224
|
-
const cssOutputFile =
|
|
13379
|
+
const cssOutputFile = join28(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
|
|
13225
13380
|
await mkdir5(dirname15(cssOutputFile), { recursive: true });
|
|
13226
13381
|
await write3(cssOutputFile, allCss.join(`
|
|
13227
13382
|
`));
|
|
@@ -13252,8 +13407,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13252
13407
|
};
|
|
13253
13408
|
const clientCode = assembleModule(generateRenderFunction(false), "render", true) + islandMetadataExports;
|
|
13254
13409
|
const serverCode = assembleModule(generateRenderFunction(true), "ssrRender", false) + islandMetadataExports;
|
|
13255
|
-
const clientOutputPath =
|
|
13256
|
-
const serverOutputPath =
|
|
13410
|
+
const clientOutputPath = join28(outputDirs.client, `${relativeWithoutExtension}.js`);
|
|
13411
|
+
const serverOutputPath = join28(outputDirs.server, `${relativeWithoutExtension}.js`);
|
|
13257
13412
|
const relDir = dirname15(relativeFilePath);
|
|
13258
13413
|
const relDepth = relDir === "." ? 0 : relDir.split("/").length;
|
|
13259
13414
|
const adjustImports = (code) => code.replace(/(from\s+['"])(\.\.\/(?:\.\.\/)*)/g, (_2, prefix, dots) => {
|
|
@@ -13303,13 +13458,13 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13303
13458
|
cacheMap.set(sourceFilePath, result);
|
|
13304
13459
|
persistentBuildCache.set(sourceFilePath, result);
|
|
13305
13460
|
return result;
|
|
13306
|
-
}, compileVue = async (entryPoints, vueRootDir, isDev2 = false, stylePreprocessors) => {
|
|
13461
|
+
}, compileVue = async (entryPoints, vueRootDir, isDev2 = false, stylePreprocessors, ssrOnlyEntries) => {
|
|
13307
13462
|
const compiler = await import("@vue/compiler-sfc");
|
|
13308
13463
|
const generatedDir = getFrameworkGeneratedDir("vue");
|
|
13309
|
-
const clientOutputDir =
|
|
13310
|
-
const indexOutputDir =
|
|
13311
|
-
const serverOutputDir =
|
|
13312
|
-
const cssOutputDir =
|
|
13464
|
+
const clientOutputDir = join28(generatedDir, "client");
|
|
13465
|
+
const indexOutputDir = join28(generatedDir, "indexes");
|
|
13466
|
+
const serverOutputDir = join28(generatedDir, "server");
|
|
13467
|
+
const cssOutputDir = join28(generatedDir, "compiled");
|
|
13313
13468
|
await Promise.all([
|
|
13314
13469
|
mkdir5(clientOutputDir, { recursive: true }),
|
|
13315
13470
|
mkdir5(indexOutputDir, { recursive: true }),
|
|
@@ -13319,15 +13474,24 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13319
13474
|
const buildCache = new Map;
|
|
13320
13475
|
const allTsHelperPaths = new Set;
|
|
13321
13476
|
const compiledPages = await Promise.all(entryPoints.map(async (entryPath) => {
|
|
13322
|
-
const
|
|
13477
|
+
const resolvedEntryPath = resolve23(entryPath);
|
|
13478
|
+
const result = await compileVueFile(resolvedEntryPath, {
|
|
13323
13479
|
client: clientOutputDir,
|
|
13324
13480
|
css: cssOutputDir,
|
|
13325
13481
|
server: serverOutputDir
|
|
13326
13482
|
}, buildCache, true, vueRootDir, compiler, stylePreprocessors);
|
|
13327
13483
|
result.tsHelperPaths.forEach((path) => allTsHelperPaths.add(path));
|
|
13484
|
+
if (ssrOnlyEntries?.has(resolvedEntryPath)) {
|
|
13485
|
+
return {
|
|
13486
|
+
clientPath: null,
|
|
13487
|
+
cssPaths: result.cssPaths,
|
|
13488
|
+
indexPath: null,
|
|
13489
|
+
serverPath: result.serverPath
|
|
13490
|
+
};
|
|
13491
|
+
}
|
|
13328
13492
|
const entryBaseName = basename8(entryPath, ".vue");
|
|
13329
|
-
const indexOutputFile =
|
|
13330
|
-
const clientOutputFile =
|
|
13493
|
+
const indexOutputFile = join28(indexOutputDir, `${entryBaseName}.js`);
|
|
13494
|
+
const clientOutputFile = join28(clientOutputDir, relative10(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
|
|
13331
13495
|
await mkdir5(dirname15(indexOutputFile), { recursive: true });
|
|
13332
13496
|
const vueHmrImports = isDev2 ? [
|
|
13333
13497
|
`window.__HMR_FRAMEWORK__ = "vue";`,
|
|
@@ -13480,18 +13644,19 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
|
|
|
13480
13644
|
const sourceCode = await file3(tsPath).text();
|
|
13481
13645
|
const transpiledCode = transpiler4.transformSync(sourceCode);
|
|
13482
13646
|
const relativeJsPath = relative10(vueRootDir, tsPath).replace(/\.ts$/, ".js");
|
|
13483
|
-
const outClientPath =
|
|
13484
|
-
const outServerPath =
|
|
13647
|
+
const outClientPath = join28(clientOutputDir, relativeJsPath);
|
|
13648
|
+
const outServerPath = join28(serverOutputDir, relativeJsPath);
|
|
13485
13649
|
await mkdir5(dirname15(outClientPath), { recursive: true });
|
|
13486
13650
|
await mkdir5(dirname15(outServerPath), { recursive: true });
|
|
13487
13651
|
await write3(outClientPath, transpiledCode);
|
|
13488
13652
|
await write3(outServerPath, transpiledCode);
|
|
13489
13653
|
}));
|
|
13654
|
+
const isString = (value) => value !== null;
|
|
13490
13655
|
return {
|
|
13491
13656
|
hmrMetadata: new Map(vueHmrMetadata),
|
|
13492
|
-
vueClientPaths: compiledPages.map((
|
|
13657
|
+
vueClientPaths: compiledPages.map((p2) => p2.clientPath).filter(isString),
|
|
13493
13658
|
vueCssPaths: compiledPages.flatMap((result) => result.cssPaths),
|
|
13494
|
-
vueIndexPaths: compiledPages.map((
|
|
13659
|
+
vueIndexPaths: compiledPages.map((p2) => p2.indexPath).filter(isString),
|
|
13495
13660
|
vueServerPaths: compiledPages.map((result) => result.serverPath)
|
|
13496
13661
|
};
|
|
13497
13662
|
};
|
|
@@ -13504,7 +13669,7 @@ var init_compileVue = __esm(() => {
|
|
|
13504
13669
|
init_vueAutoRouterTransform();
|
|
13505
13670
|
init_stylePreprocessor();
|
|
13506
13671
|
devClientDir3 = resolveDevClientDir3();
|
|
13507
|
-
hmrClientPath4 =
|
|
13672
|
+
hmrClientPath4 = join28(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
|
|
13508
13673
|
transpiler4 = new Transpiler3({ loader: "ts", target: "browser" });
|
|
13509
13674
|
scriptCache = new Map;
|
|
13510
13675
|
scriptSetupCache = new Map;
|
|
@@ -13985,17 +14150,17 @@ __export(exports_compileAngular, {
|
|
|
13985
14150
|
compileAngularFile: () => compileAngularFile,
|
|
13986
14151
|
compileAngular: () => compileAngular
|
|
13987
14152
|
});
|
|
13988
|
-
import { existsSync as existsSync23, readFileSync as
|
|
13989
|
-
import { join as
|
|
14153
|
+
import { existsSync as existsSync23, readFileSync as readFileSync19, promises as fs5 } from "fs";
|
|
14154
|
+
import { join as join29, basename as basename9, sep as sep3, dirname as dirname16, resolve as resolve24, relative as relative11 } from "path";
|
|
13990
14155
|
var {Glob: Glob6 } = globalThis.Bun;
|
|
13991
|
-
import
|
|
14156
|
+
import ts10 from "typescript";
|
|
13992
14157
|
var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
13993
14158
|
const tracePhase = globalThis.__absoluteBuildTracePhase;
|
|
13994
14159
|
return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata2) : await fn2();
|
|
13995
14160
|
}, readTsconfigPathAliases = () => {
|
|
13996
14161
|
try {
|
|
13997
14162
|
const configPath2 = resolve24(process.cwd(), "tsconfig.json");
|
|
13998
|
-
const config =
|
|
14163
|
+
const config = ts10.readConfigFile(configPath2, ts10.sys.readFile).config;
|
|
13999
14164
|
const compilerOptions = config?.compilerOptions ?? {};
|
|
14000
14165
|
const baseUrl = resolve24(process.cwd(), compilerOptions.baseUrl ?? ".");
|
|
14001
14166
|
const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
|
|
@@ -14029,10 +14194,10 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14029
14194
|
`${candidate}.tsx`,
|
|
14030
14195
|
`${candidate}.js`,
|
|
14031
14196
|
`${candidate}.jsx`,
|
|
14032
|
-
|
|
14033
|
-
|
|
14034
|
-
|
|
14035
|
-
|
|
14197
|
+
join29(candidate, "index.ts"),
|
|
14198
|
+
join29(candidate, "index.tsx"),
|
|
14199
|
+
join29(candidate, "index.js"),
|
|
14200
|
+
join29(candidate, "index.jsx")
|
|
14036
14201
|
];
|
|
14037
14202
|
return candidates.find((file4) => existsSync23(file4));
|
|
14038
14203
|
}, createLegacyAngularAnimationUsageResolver = (rootDir) => {
|
|
@@ -14124,7 +14289,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14124
14289
|
return resolve24(import.meta.dir, "./dev/client");
|
|
14125
14290
|
}, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
|
|
14126
14291
|
try {
|
|
14127
|
-
return
|
|
14292
|
+
return ts10.flattenDiagnosticMessageText(diagnostic.messageText, `
|
|
14128
14293
|
`);
|
|
14129
14294
|
} catch {
|
|
14130
14295
|
return String(diagnostic.messageText || "Unknown error");
|
|
@@ -14132,7 +14297,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14132
14297
|
}, throwOnCompilationErrors = (diagnostics) => {
|
|
14133
14298
|
if (!diagnostics?.length)
|
|
14134
14299
|
return;
|
|
14135
|
-
const errors = diagnostics.filter((diag) => diag.category ===
|
|
14300
|
+
const errors = diagnostics.filter((diag) => diag.category === ts10.DiagnosticCategory.Error);
|
|
14136
14301
|
if (!errors.length)
|
|
14137
14302
|
return;
|
|
14138
14303
|
const fullMessage = errors.map(formatDiagnosticMessage).join(`
|
|
@@ -14174,22 +14339,22 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14174
14339
|
}
|
|
14175
14340
|
return `${path}.js${query}`;
|
|
14176
14341
|
}, isRelativeModuleSpecifier = (specifier) => specifier.startsWith("./") || specifier.startsWith("../"), extractLocalImportSpecifiers = (source, fileName) => {
|
|
14177
|
-
const sourceFile =
|
|
14342
|
+
const sourceFile = ts10.createSourceFile(fileName, source, ts10.ScriptTarget.Latest, true, ts10.ScriptKind.TS);
|
|
14178
14343
|
const specifiers = [];
|
|
14179
14344
|
const addSpecifier = (node) => {
|
|
14180
|
-
if (!node || !
|
|
14345
|
+
if (!node || !ts10.isStringLiteralLike(node))
|
|
14181
14346
|
return;
|
|
14182
14347
|
const specifier = node.text;
|
|
14183
14348
|
if (isRelativeModuleSpecifier(specifier))
|
|
14184
14349
|
specifiers.push(specifier);
|
|
14185
14350
|
};
|
|
14186
14351
|
const visit = (node) => {
|
|
14187
|
-
if (
|
|
14352
|
+
if (ts10.isImportDeclaration(node) || ts10.isExportDeclaration(node)) {
|
|
14188
14353
|
addSpecifier(node.moduleSpecifier);
|
|
14189
|
-
} else if (
|
|
14354
|
+
} else if (ts10.isCallExpression(node) && node.expression.kind === ts10.SyntaxKind.ImportKeyword) {
|
|
14190
14355
|
addSpecifier(node.arguments[0]);
|
|
14191
14356
|
}
|
|
14192
|
-
|
|
14357
|
+
ts10.forEachChild(node, visit);
|
|
14193
14358
|
};
|
|
14194
14359
|
visit(sourceFile);
|
|
14195
14360
|
return specifiers;
|
|
@@ -14202,10 +14367,10 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14202
14367
|
`${basePath}.tsx`,
|
|
14203
14368
|
`${basePath}.mts`,
|
|
14204
14369
|
`${basePath}.cts`,
|
|
14205
|
-
|
|
14206
|
-
|
|
14207
|
-
|
|
14208
|
-
|
|
14370
|
+
join29(basePath, "index.ts"),
|
|
14371
|
+
join29(basePath, "index.tsx"),
|
|
14372
|
+
join29(basePath, "index.mts"),
|
|
14373
|
+
join29(basePath, "index.cts")
|
|
14209
14374
|
];
|
|
14210
14375
|
return candidates.map((candidate) => resolve24(candidate)).find((candidate) => existsSync23(candidate) && !candidate.endsWith(".d.ts")) ?? null;
|
|
14211
14376
|
}, readFileForAotTransform = async (fileName, readFile6) => {
|
|
@@ -14231,15 +14396,15 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14231
14396
|
const paths = [];
|
|
14232
14397
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
14233
14398
|
if (templateUrlMatch?.[1])
|
|
14234
|
-
paths.push(
|
|
14399
|
+
paths.push(join29(fileDir, templateUrlMatch[1]));
|
|
14235
14400
|
const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
14236
14401
|
if (styleUrlMatch?.[1])
|
|
14237
|
-
paths.push(
|
|
14402
|
+
paths.push(join29(fileDir, styleUrlMatch[1]));
|
|
14238
14403
|
const styleUrlsMatch = findUncommentedMatch(source, /styleUrls\s*:\s*\[([^\]]+)\]/);
|
|
14239
14404
|
const urlMatches = styleUrlsMatch?.[1]?.match(/['"]([^'"]+)['"]/g);
|
|
14240
14405
|
if (urlMatches) {
|
|
14241
14406
|
for (const urlMatch of urlMatches) {
|
|
14242
|
-
paths.push(
|
|
14407
|
+
paths.push(join29(fileDir, urlMatch.replace(/['"]/g, "")));
|
|
14243
14408
|
}
|
|
14244
14409
|
}
|
|
14245
14410
|
return paths.map((path) => resolve24(path));
|
|
@@ -14273,7 +14438,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14273
14438
|
safeStableStringify(stylePreprocessors ?? null)
|
|
14274
14439
|
].join("\x00");
|
|
14275
14440
|
const cacheKey2 = Bun.hash(cacheInput).toString(BASE_36_RADIX);
|
|
14276
|
-
return
|
|
14441
|
+
return join29(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey2}.json`);
|
|
14277
14442
|
}, precomputeAotResourceTransforms = async (inputPaths, readFile6, stylePreprocessors) => {
|
|
14278
14443
|
const transformedSources = new Map;
|
|
14279
14444
|
const visited = new Set;
|
|
@@ -14319,10 +14484,10 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14319
14484
|
return { stats, transformedSources };
|
|
14320
14485
|
}, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
|
|
14321
14486
|
const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
|
|
14322
|
-
const outputPath = resolve24(
|
|
14487
|
+
const outputPath = resolve24(join29(outDir, relative11(process.cwd(), resolve24(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
|
|
14323
14488
|
return [
|
|
14324
14489
|
outputPath,
|
|
14325
|
-
buildIslandMetadataExports(
|
|
14490
|
+
buildIslandMetadataExports(readFileSync19(inputPath, "utf-8"))
|
|
14326
14491
|
];
|
|
14327
14492
|
})), { entries: inputPaths.length });
|
|
14328
14493
|
await traceAngularPhase("aot/preload-compiler", () => import("@angular/compiler"));
|
|
@@ -14337,25 +14502,25 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14337
14502
|
emitDecoratorMetadata: true,
|
|
14338
14503
|
esModuleInterop: true,
|
|
14339
14504
|
experimentalDecorators: true,
|
|
14340
|
-
module:
|
|
14341
|
-
moduleResolution:
|
|
14342
|
-
newLine:
|
|
14505
|
+
module: ts10.ModuleKind.ESNext,
|
|
14506
|
+
moduleResolution: ts10.ModuleResolutionKind.Bundler,
|
|
14507
|
+
newLine: ts10.NewLineKind.LineFeed,
|
|
14343
14508
|
noLib: false,
|
|
14344
14509
|
outDir,
|
|
14345
14510
|
skipLibCheck: true,
|
|
14346
|
-
target:
|
|
14511
|
+
target: ts10.ScriptTarget.ES2022,
|
|
14347
14512
|
...config.options
|
|
14348
14513
|
};
|
|
14349
|
-
options.target =
|
|
14514
|
+
options.target = ts10.ScriptTarget.ES2022;
|
|
14350
14515
|
options.experimentalDecorators = true;
|
|
14351
14516
|
options.emitDecoratorMetadata = true;
|
|
14352
|
-
options.newLine =
|
|
14517
|
+
options.newLine = ts10.NewLineKind.LineFeed;
|
|
14353
14518
|
options.outDir = outDir;
|
|
14354
14519
|
options.noEmit = false;
|
|
14355
14520
|
options.incremental = false;
|
|
14356
14521
|
options.tsBuildInfoFile = undefined;
|
|
14357
14522
|
options.rootDir = process.cwd();
|
|
14358
|
-
const host = await traceAngularPhase("aot/create-compiler-host", () =>
|
|
14523
|
+
const host = await traceAngularPhase("aot/create-compiler-host", () => ts10.createCompilerHost(options));
|
|
14359
14524
|
const originalGetDefaultLibLocation = host.getDefaultLibLocation;
|
|
14360
14525
|
host.getDefaultLibLocation = () => tsLibDir || (originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : "");
|
|
14361
14526
|
const originalGetDefaultLibFileName = host.getDefaultLibFileName;
|
|
@@ -14366,7 +14531,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14366
14531
|
const originalGetSourceFile = host.getSourceFile;
|
|
14367
14532
|
host.getSourceFile = (fileName, languageVersion, onError) => {
|
|
14368
14533
|
if (fileName.startsWith("lib.") && fileName.endsWith(".d.ts") && tsLibDir) {
|
|
14369
|
-
const resolvedPath =
|
|
14534
|
+
const resolvedPath = join29(tsLibDir, fileName);
|
|
14370
14535
|
return originalGetSourceFile?.call(host, resolvedPath, languageVersion, onError);
|
|
14371
14536
|
}
|
|
14372
14537
|
return originalGetSourceFile?.call(host, fileName, languageVersion, onError);
|
|
@@ -14401,7 +14566,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14401
14566
|
host.getSourceFile = (fileName, languageVersion, onError) => {
|
|
14402
14567
|
const source = transformedSources.get(resolve24(fileName));
|
|
14403
14568
|
if (source) {
|
|
14404
|
-
return
|
|
14569
|
+
return ts10.createSourceFile(fileName, source, languageVersion, true);
|
|
14405
14570
|
}
|
|
14406
14571
|
return originalGetSourceFileForCompile?.call(host, fileName, languageVersion, onError);
|
|
14407
14572
|
};
|
|
@@ -14421,7 +14586,7 @@ var traceAngularPhase = async (name, fn2, metadata2) => {
|
|
|
14421
14586
|
const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
|
|
14422
14587
|
const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
|
|
14423
14588
|
content,
|
|
14424
|
-
target:
|
|
14589
|
+
target: join29(outDir, fileName)
|
|
14425
14590
|
}));
|
|
14426
14591
|
const outputFiles = new Set(rawEntries.map(({ target }) => resolve24(target)));
|
|
14427
14592
|
return rawEntries.map(({ content, target }) => {
|
|
@@ -14598,7 +14763,7 @@ ${fields}
|
|
|
14598
14763
|
}, inlineTemplateAndLowerDefer = async (source, fileDir) => {
|
|
14599
14764
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
14600
14765
|
if (templateUrlMatch?.[1]) {
|
|
14601
|
-
const templatePath =
|
|
14766
|
+
const templatePath = join29(fileDir, templateUrlMatch[1]);
|
|
14602
14767
|
if (!existsSync23(templatePath)) {
|
|
14603
14768
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
14604
14769
|
}
|
|
@@ -14629,11 +14794,11 @@ ${fields}
|
|
|
14629
14794
|
}, inlineTemplateAndLowerDeferSync = (source, fileDir) => {
|
|
14630
14795
|
const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
14631
14796
|
if (templateUrlMatch?.[1]) {
|
|
14632
|
-
const templatePath =
|
|
14797
|
+
const templatePath = join29(fileDir, templateUrlMatch[1]);
|
|
14633
14798
|
if (!existsSync23(templatePath)) {
|
|
14634
14799
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
14635
14800
|
}
|
|
14636
|
-
const templateRaw2 =
|
|
14801
|
+
const templateRaw2 = readFileSync19(templatePath, "utf-8");
|
|
14637
14802
|
const lowered2 = lowerAngularDeferSyntax(templateRaw2);
|
|
14638
14803
|
const escaped2 = escapeTemplateContent(lowered2.template);
|
|
14639
14804
|
const replacedSource2 = source.slice(0, templateUrlMatch.index) + `template: \`${escaped2}\`` + source.slice(templateUrlMatch.index + templateUrlMatch[0].length);
|
|
@@ -14666,7 +14831,7 @@ ${fields}
|
|
|
14666
14831
|
return source;
|
|
14667
14832
|
const stylePromises = urlMatches.map((urlMatch) => {
|
|
14668
14833
|
const styleUrl = urlMatch.replace(/['"]/g, "");
|
|
14669
|
-
return readAndEscapeFile(
|
|
14834
|
+
return readAndEscapeFile(join29(fileDir, styleUrl), stylePreprocessors);
|
|
14670
14835
|
});
|
|
14671
14836
|
const results = await Promise.all(stylePromises);
|
|
14672
14837
|
const inlinedStyles = results.filter(Boolean).map((escaped) => `\`${escaped}\``);
|
|
@@ -14677,7 +14842,7 @@ ${fields}
|
|
|
14677
14842
|
const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
|
|
14678
14843
|
if (!styleUrlMatch?.[1])
|
|
14679
14844
|
return source;
|
|
14680
|
-
const escaped = await readAndEscapeFile(
|
|
14845
|
+
const escaped = await readAndEscapeFile(join29(fileDir, styleUrlMatch[1]), stylePreprocessors);
|
|
14681
14846
|
if (!escaped)
|
|
14682
14847
|
return source;
|
|
14683
14848
|
return source.slice(0, styleUrlMatch.index) + `styles: [\`${escaped}\`]` + source.slice(styleUrlMatch.index + styleUrlMatch[0].length);
|
|
@@ -14713,10 +14878,10 @@ ${fields}
|
|
|
14713
14878
|
`${candidate}.js`,
|
|
14714
14879
|
`${candidate}.jsx`,
|
|
14715
14880
|
`${candidate}.json`,
|
|
14716
|
-
|
|
14717
|
-
|
|
14718
|
-
|
|
14719
|
-
|
|
14881
|
+
join29(candidate, "index.ts"),
|
|
14882
|
+
join29(candidate, "index.tsx"),
|
|
14883
|
+
join29(candidate, "index.js"),
|
|
14884
|
+
join29(candidate, "index.jsx")
|
|
14720
14885
|
];
|
|
14721
14886
|
return candidates.find((file4) => existsSync23(file4));
|
|
14722
14887
|
};
|
|
@@ -14743,10 +14908,10 @@ ${fields}
|
|
|
14743
14908
|
const inputDir = dirname16(sourcePath);
|
|
14744
14909
|
const fileBase = basename9(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
14745
14910
|
if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep3}`)) {
|
|
14746
|
-
return
|
|
14911
|
+
return join29(inputDir, fileBase);
|
|
14747
14912
|
}
|
|
14748
14913
|
const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
|
|
14749
|
-
return
|
|
14914
|
+
return join29(outDir, relativeDir, fileBase);
|
|
14750
14915
|
};
|
|
14751
14916
|
const withCacheBuster = (specifier) => {
|
|
14752
14917
|
if (!cacheBuster)
|
|
@@ -14796,8 +14961,8 @@ ${fields}
|
|
|
14796
14961
|
if (resolved.endsWith(".json") && existsSync23(resolved)) {
|
|
14797
14962
|
const inputDir2 = dirname16(resolved);
|
|
14798
14963
|
const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
|
|
14799
|
-
const targetDir2 =
|
|
14800
|
-
const targetPath2 =
|
|
14964
|
+
const targetDir2 = join29(outDir, relativeDir2);
|
|
14965
|
+
const targetPath2 = join29(targetDir2, basename9(resolved));
|
|
14801
14966
|
await fs5.mkdir(targetDir2, { recursive: true });
|
|
14802
14967
|
await fs5.copyFile(resolved, targetPath2);
|
|
14803
14968
|
allOutputs.push(targetPath2);
|
|
@@ -14875,7 +15040,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14875
15040
|
return { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };
|
|
14876
15041
|
}
|
|
14877
15042
|
const compiledRoot = compiledParent;
|
|
14878
|
-
const indexesDir =
|
|
15043
|
+
const indexesDir = join29(compiledParent, "indexes");
|
|
14879
15044
|
await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
|
|
14880
15045
|
const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve24(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
|
|
14881
15046
|
if (!hmr) {
|
|
@@ -14889,9 +15054,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14889
15054
|
absolute: false,
|
|
14890
15055
|
cwd: angularSrcDir
|
|
14891
15056
|
})) {
|
|
14892
|
-
const sourcePath =
|
|
15057
|
+
const sourcePath = join29(angularSrcDir, rel);
|
|
14893
15058
|
const cwdRel = relative11(cwd, sourcePath);
|
|
14894
|
-
const targetPath =
|
|
15059
|
+
const targetPath = join29(compiledRoot, cwdRel);
|
|
14895
15060
|
await fs5.mkdir(dirname16(targetPath), { recursive: true });
|
|
14896
15061
|
await fs5.copyFile(sourcePath, targetPath);
|
|
14897
15062
|
}
|
|
@@ -14908,9 +15073,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14908
15073
|
const fileBase = basename9(resolvedEntry).replace(/\.[tj]s$/, "");
|
|
14909
15074
|
const jsName = `${fileBase}.js`;
|
|
14910
15075
|
const compiledFallbackPaths = [
|
|
14911
|
-
|
|
14912
|
-
|
|
14913
|
-
|
|
15076
|
+
join29(compiledRoot, relativeEntry),
|
|
15077
|
+
join29(compiledRoot, "pages", jsName),
|
|
15078
|
+
join29(compiledRoot, jsName)
|
|
14914
15079
|
].map((file4) => resolve24(file4));
|
|
14915
15080
|
const resolveRawServerFile = (candidatePaths) => {
|
|
14916
15081
|
const normalizedCandidates = [
|
|
@@ -14960,7 +15125,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14960
15125
|
const providersHashInput = providersInjection ? (() => {
|
|
14961
15126
|
let providersSourceContent = "";
|
|
14962
15127
|
try {
|
|
14963
|
-
providersSourceContent =
|
|
15128
|
+
providersSourceContent = readFileSync19(providersInjection.appProvidersSource, "utf-8");
|
|
14964
15129
|
} catch {}
|
|
14965
15130
|
return JSON.stringify({
|
|
14966
15131
|
basePath: pageInjectionForHash?.basePath ?? null,
|
|
@@ -14970,7 +15135,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
14970
15135
|
})() : "no-providers";
|
|
14971
15136
|
const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
|
|
14972
15137
|
const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
|
|
14973
|
-
const clientFile =
|
|
15138
|
+
const clientFile = join29(indexesDir, jsName);
|
|
14974
15139
|
if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync23(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
|
|
14975
15140
|
return {
|
|
14976
15141
|
clientPath: clientFile,
|
|
@@ -15002,7 +15167,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
|
|
|
15002
15167
|
const angularDirAbs = resolve24(outRoot);
|
|
15003
15168
|
const appSourceAbs = resolve24(providersInjection.appProvidersSource);
|
|
15004
15169
|
const rel = relative11(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
|
|
15005
|
-
return
|
|
15170
|
+
return join29(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
|
|
15006
15171
|
})();
|
|
15007
15172
|
const appProvidersSpec = (() => {
|
|
15008
15173
|
const rel = relative11(dirname16(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
|
|
@@ -15225,24 +15390,24 @@ var init_compileAngular = __esm(() => {
|
|
|
15225
15390
|
init_stylePreprocessor();
|
|
15226
15391
|
init_generatedDir();
|
|
15227
15392
|
devClientDir4 = resolveDevClientDir4();
|
|
15228
|
-
hmrClientPath5 =
|
|
15393
|
+
hmrClientPath5 = join29(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
|
|
15229
15394
|
jitContentCache = new Map;
|
|
15230
15395
|
wrapperOutputCache = new Map;
|
|
15231
15396
|
});
|
|
15232
15397
|
|
|
15233
15398
|
// src/dev/angular/hmrImportGenerator.ts
|
|
15234
|
-
import
|
|
15399
|
+
import ts11 from "typescript";
|
|
15235
15400
|
var createHmrImportGenerator = (namespaceMap) => ({
|
|
15236
15401
|
addImport(request) {
|
|
15237
15402
|
const ns = namespaceMap.get(request.exportModuleSpecifier);
|
|
15238
15403
|
if (!ns) {
|
|
15239
15404
|
throw new Error(`HMR import generator has no namespace mapping for ${request.exportModuleSpecifier}. ` + `Add it to namespaceDependencies before calling compileHmrUpdateCallback.`);
|
|
15240
15405
|
}
|
|
15241
|
-
const namespaceId =
|
|
15406
|
+
const namespaceId = ts11.factory.createIdentifier(ns);
|
|
15242
15407
|
if (request.exportSymbolName === null) {
|
|
15243
15408
|
return namespaceId;
|
|
15244
15409
|
}
|
|
15245
|
-
return
|
|
15410
|
+
return ts11.factory.createPropertyAccessExpression(namespaceId, ts11.factory.createIdentifier(request.exportSymbolName));
|
|
15246
15411
|
}
|
|
15247
15412
|
});
|
|
15248
15413
|
var init_hmrImportGenerator = () => {};
|
|
@@ -15615,13 +15780,13 @@ var init_translator = __esm(() => {
|
|
|
15615
15780
|
});
|
|
15616
15781
|
|
|
15617
15782
|
// src/dev/angular/vendor/translator/ts_util.ts
|
|
15618
|
-
import
|
|
15783
|
+
import ts12 from "typescript";
|
|
15619
15784
|
function tsNumericExpression(value) {
|
|
15620
15785
|
if (value < 0) {
|
|
15621
|
-
const operand =
|
|
15622
|
-
return
|
|
15786
|
+
const operand = ts12.factory.createNumericLiteral(Math.abs(value));
|
|
15787
|
+
return ts12.factory.createPrefixUnaryExpression(ts12.SyntaxKind.MinusToken, operand);
|
|
15623
15788
|
}
|
|
15624
|
-
return
|
|
15789
|
+
return ts12.factory.createNumericLiteral(value);
|
|
15625
15790
|
}
|
|
15626
15791
|
var init_ts_util = __esm(() => {
|
|
15627
15792
|
/*!
|
|
@@ -15634,142 +15799,142 @@ var init_ts_util = __esm(() => {
|
|
|
15634
15799
|
});
|
|
15635
15800
|
|
|
15636
15801
|
// src/dev/angular/vendor/translator/typescript_ast_factory.ts
|
|
15637
|
-
import
|
|
15802
|
+
import ts13 from "typescript";
|
|
15638
15803
|
|
|
15639
15804
|
class TypeScriptAstFactory {
|
|
15640
15805
|
annotateForClosureCompiler;
|
|
15641
15806
|
externalSourceFiles = new Map;
|
|
15642
15807
|
UNARY_OPERATORS = /* @__PURE__ */ (() => ({
|
|
15643
|
-
"+":
|
|
15644
|
-
"-":
|
|
15645
|
-
"!":
|
|
15808
|
+
"+": ts13.SyntaxKind.PlusToken,
|
|
15809
|
+
"-": ts13.SyntaxKind.MinusToken,
|
|
15810
|
+
"!": ts13.SyntaxKind.ExclamationToken
|
|
15646
15811
|
}))();
|
|
15647
15812
|
BINARY_OPERATORS = /* @__PURE__ */ (() => ({
|
|
15648
|
-
"&&":
|
|
15649
|
-
">":
|
|
15650
|
-
">=":
|
|
15651
|
-
"&":
|
|
15652
|
-
"|":
|
|
15653
|
-
"/":
|
|
15654
|
-
"==":
|
|
15655
|
-
"===":
|
|
15656
|
-
"<":
|
|
15657
|
-
"<=":
|
|
15658
|
-
"-":
|
|
15659
|
-
"%":
|
|
15660
|
-
"*":
|
|
15661
|
-
"**":
|
|
15662
|
-
"!=":
|
|
15663
|
-
"!==":
|
|
15664
|
-
"||":
|
|
15665
|
-
"+":
|
|
15666
|
-
"??":
|
|
15667
|
-
"=":
|
|
15668
|
-
"+=":
|
|
15669
|
-
"-=":
|
|
15670
|
-
"*=":
|
|
15671
|
-
"/=":
|
|
15672
|
-
"%=":
|
|
15673
|
-
"**=":
|
|
15674
|
-
"&&=":
|
|
15675
|
-
"||=":
|
|
15676
|
-
"??=":
|
|
15677
|
-
in:
|
|
15678
|
-
instanceof:
|
|
15813
|
+
"&&": ts13.SyntaxKind.AmpersandAmpersandToken,
|
|
15814
|
+
">": ts13.SyntaxKind.GreaterThanToken,
|
|
15815
|
+
">=": ts13.SyntaxKind.GreaterThanEqualsToken,
|
|
15816
|
+
"&": ts13.SyntaxKind.AmpersandToken,
|
|
15817
|
+
"|": ts13.SyntaxKind.BarToken,
|
|
15818
|
+
"/": ts13.SyntaxKind.SlashToken,
|
|
15819
|
+
"==": ts13.SyntaxKind.EqualsEqualsToken,
|
|
15820
|
+
"===": ts13.SyntaxKind.EqualsEqualsEqualsToken,
|
|
15821
|
+
"<": ts13.SyntaxKind.LessThanToken,
|
|
15822
|
+
"<=": ts13.SyntaxKind.LessThanEqualsToken,
|
|
15823
|
+
"-": ts13.SyntaxKind.MinusToken,
|
|
15824
|
+
"%": ts13.SyntaxKind.PercentToken,
|
|
15825
|
+
"*": ts13.SyntaxKind.AsteriskToken,
|
|
15826
|
+
"**": ts13.SyntaxKind.AsteriskAsteriskToken,
|
|
15827
|
+
"!=": ts13.SyntaxKind.ExclamationEqualsToken,
|
|
15828
|
+
"!==": ts13.SyntaxKind.ExclamationEqualsEqualsToken,
|
|
15829
|
+
"||": ts13.SyntaxKind.BarBarToken,
|
|
15830
|
+
"+": ts13.SyntaxKind.PlusToken,
|
|
15831
|
+
"??": ts13.SyntaxKind.QuestionQuestionToken,
|
|
15832
|
+
"=": ts13.SyntaxKind.EqualsToken,
|
|
15833
|
+
"+=": ts13.SyntaxKind.PlusEqualsToken,
|
|
15834
|
+
"-=": ts13.SyntaxKind.MinusEqualsToken,
|
|
15835
|
+
"*=": ts13.SyntaxKind.AsteriskEqualsToken,
|
|
15836
|
+
"/=": ts13.SyntaxKind.SlashEqualsToken,
|
|
15837
|
+
"%=": ts13.SyntaxKind.PercentEqualsToken,
|
|
15838
|
+
"**=": ts13.SyntaxKind.AsteriskAsteriskEqualsToken,
|
|
15839
|
+
"&&=": ts13.SyntaxKind.AmpersandAmpersandEqualsToken,
|
|
15840
|
+
"||=": ts13.SyntaxKind.BarBarEqualsToken,
|
|
15841
|
+
"??=": ts13.SyntaxKind.QuestionQuestionEqualsToken,
|
|
15842
|
+
in: ts13.SyntaxKind.InKeyword,
|
|
15843
|
+
instanceof: ts13.SyntaxKind.InstanceOfKeyword
|
|
15679
15844
|
}))();
|
|
15680
15845
|
VAR_TYPES = /* @__PURE__ */ (() => ({
|
|
15681
|
-
const:
|
|
15682
|
-
let:
|
|
15683
|
-
var:
|
|
15846
|
+
const: ts13.NodeFlags.Const,
|
|
15847
|
+
let: ts13.NodeFlags.Let,
|
|
15848
|
+
var: ts13.NodeFlags.None
|
|
15684
15849
|
}))();
|
|
15685
15850
|
constructor(annotateForClosureCompiler) {
|
|
15686
15851
|
this.annotateForClosureCompiler = annotateForClosureCompiler;
|
|
15687
15852
|
}
|
|
15688
15853
|
attachComments = attachComments;
|
|
15689
|
-
createArrayLiteral =
|
|
15854
|
+
createArrayLiteral = ts13.factory.createArrayLiteralExpression;
|
|
15690
15855
|
createAssignment(target, operator, value) {
|
|
15691
|
-
return
|
|
15856
|
+
return ts13.factory.createBinaryExpression(target, this.BINARY_OPERATORS[operator], value);
|
|
15692
15857
|
}
|
|
15693
15858
|
createBinaryExpression(leftOperand, operator, rightOperand) {
|
|
15694
|
-
return
|
|
15859
|
+
return ts13.factory.createBinaryExpression(leftOperand, this.BINARY_OPERATORS[operator], rightOperand);
|
|
15695
15860
|
}
|
|
15696
15861
|
createBlock(body) {
|
|
15697
|
-
return
|
|
15862
|
+
return ts13.factory.createBlock(body);
|
|
15698
15863
|
}
|
|
15699
15864
|
createCallExpression(callee, args, pure) {
|
|
15700
|
-
const call =
|
|
15865
|
+
const call = ts13.factory.createCallExpression(callee, undefined, args);
|
|
15701
15866
|
if (pure) {
|
|
15702
|
-
|
|
15867
|
+
ts13.addSyntheticLeadingComment(call, ts13.SyntaxKind.MultiLineCommentTrivia, this.annotateForClosureCompiler ? "* @pureOrBreakMyCode " /* CLOSURE */ : "@__PURE__" /* TERSER */, false);
|
|
15703
15868
|
}
|
|
15704
15869
|
return call;
|
|
15705
15870
|
}
|
|
15706
15871
|
createConditional(condition, whenTrue, whenFalse) {
|
|
15707
|
-
return
|
|
15872
|
+
return ts13.factory.createConditionalExpression(condition, undefined, whenTrue, undefined, whenFalse);
|
|
15708
15873
|
}
|
|
15709
|
-
createElementAccess =
|
|
15710
|
-
createExpressionStatement =
|
|
15874
|
+
createElementAccess = ts13.factory.createElementAccessExpression;
|
|
15875
|
+
createExpressionStatement = ts13.factory.createExpressionStatement;
|
|
15711
15876
|
createDynamicImport(url) {
|
|
15712
|
-
return
|
|
15713
|
-
typeof url === "string" ?
|
|
15877
|
+
return ts13.factory.createCallExpression(ts13.factory.createToken(ts13.SyntaxKind.ImportKeyword), undefined, [
|
|
15878
|
+
typeof url === "string" ? ts13.factory.createStringLiteral(url) : url
|
|
15714
15879
|
]);
|
|
15715
15880
|
}
|
|
15716
15881
|
createFunctionDeclaration(functionName, parameters, body) {
|
|
15717
|
-
if (!
|
|
15718
|
-
throw new Error(`Invalid syntax, expected a block, but got ${
|
|
15882
|
+
if (!ts13.isBlock(body)) {
|
|
15883
|
+
throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
|
|
15719
15884
|
}
|
|
15720
|
-
return
|
|
15885
|
+
return ts13.factory.createFunctionDeclaration(undefined, undefined, functionName, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
|
|
15721
15886
|
}
|
|
15722
15887
|
createFunctionExpression(functionName, parameters, body) {
|
|
15723
|
-
if (!
|
|
15724
|
-
throw new Error(`Invalid syntax, expected a block, but got ${
|
|
15888
|
+
if (!ts13.isBlock(body)) {
|
|
15889
|
+
throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
|
|
15725
15890
|
}
|
|
15726
|
-
return
|
|
15891
|
+
return ts13.factory.createFunctionExpression(undefined, undefined, functionName ?? undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
|
|
15727
15892
|
}
|
|
15728
15893
|
createArrowFunctionExpression(parameters, body) {
|
|
15729
|
-
if (
|
|
15730
|
-
throw new Error(`Invalid syntax, expected a block, but got ${
|
|
15894
|
+
if (ts13.isStatement(body) && !ts13.isBlock(body)) {
|
|
15895
|
+
throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
|
|
15731
15896
|
}
|
|
15732
|
-
return
|
|
15897
|
+
return ts13.factory.createArrowFunction(undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, undefined, body);
|
|
15733
15898
|
}
|
|
15734
15899
|
createParameter(param) {
|
|
15735
|
-
return
|
|
15900
|
+
return ts13.factory.createParameterDeclaration(undefined, undefined, param.name, undefined, param.type ?? undefined);
|
|
15736
15901
|
}
|
|
15737
|
-
createIdentifier =
|
|
15902
|
+
createIdentifier = ts13.factory.createIdentifier;
|
|
15738
15903
|
createIfStatement(condition, thenStatement, elseStatement) {
|
|
15739
|
-
return
|
|
15904
|
+
return ts13.factory.createIfStatement(condition, thenStatement, elseStatement ?? undefined);
|
|
15740
15905
|
}
|
|
15741
15906
|
createLiteral(value) {
|
|
15742
15907
|
if (value === undefined) {
|
|
15743
|
-
return
|
|
15908
|
+
return ts13.factory.createIdentifier("undefined");
|
|
15744
15909
|
} else if (value === null) {
|
|
15745
|
-
return
|
|
15910
|
+
return ts13.factory.createNull();
|
|
15746
15911
|
} else if (typeof value === "boolean") {
|
|
15747
|
-
return value ?
|
|
15912
|
+
return value ? ts13.factory.createTrue() : ts13.factory.createFalse();
|
|
15748
15913
|
} else if (typeof value === "number") {
|
|
15749
15914
|
return tsNumericExpression(value);
|
|
15750
15915
|
} else {
|
|
15751
|
-
return
|
|
15916
|
+
return ts13.factory.createStringLiteral(value);
|
|
15752
15917
|
}
|
|
15753
15918
|
}
|
|
15754
15919
|
createNewExpression(expression, args) {
|
|
15755
|
-
return
|
|
15920
|
+
return ts13.factory.createNewExpression(expression, undefined, args);
|
|
15756
15921
|
}
|
|
15757
15922
|
createObjectLiteral(properties) {
|
|
15758
|
-
return
|
|
15923
|
+
return ts13.factory.createObjectLiteralExpression(properties.map((prop) => {
|
|
15759
15924
|
if (prop.kind === "spread") {
|
|
15760
|
-
return
|
|
15925
|
+
return ts13.factory.createSpreadAssignment(prop.expression);
|
|
15761
15926
|
}
|
|
15762
|
-
return
|
|
15927
|
+
return ts13.factory.createPropertyAssignment(prop.quoted ? ts13.factory.createStringLiteral(prop.propertyName) : ts13.factory.createIdentifier(prop.propertyName), prop.value);
|
|
15763
15928
|
}));
|
|
15764
15929
|
}
|
|
15765
|
-
createParenthesizedExpression =
|
|
15766
|
-
createPropertyAccess =
|
|
15767
|
-
createSpreadElement =
|
|
15930
|
+
createParenthesizedExpression = ts13.factory.createParenthesizedExpression;
|
|
15931
|
+
createPropertyAccess = ts13.factory.createPropertyAccessExpression;
|
|
15932
|
+
createSpreadElement = ts13.factory.createSpreadElement;
|
|
15768
15933
|
createReturnStatement(expression) {
|
|
15769
|
-
return
|
|
15934
|
+
return ts13.factory.createReturnStatement(expression ?? undefined);
|
|
15770
15935
|
}
|
|
15771
15936
|
createTaggedTemplate(tag, template) {
|
|
15772
|
-
return
|
|
15937
|
+
return ts13.factory.createTaggedTemplateExpression(tag, undefined, this.createTemplateLiteral(template));
|
|
15773
15938
|
}
|
|
15774
15939
|
createTemplateLiteral(template) {
|
|
15775
15940
|
let templateLiteral;
|
|
@@ -15779,7 +15944,7 @@ class TypeScriptAstFactory {
|
|
|
15779
15944
|
throw new Error("createTemplateLiteral: template has no elements");
|
|
15780
15945
|
}
|
|
15781
15946
|
if (length === 1) {
|
|
15782
|
-
templateLiteral =
|
|
15947
|
+
templateLiteral = ts13.factory.createNoSubstitutionTemplateLiteral(head.cooked, head.raw);
|
|
15783
15948
|
} else {
|
|
15784
15949
|
const spans = [];
|
|
15785
15950
|
for (let i = 1;i < length - 1; i++) {
|
|
@@ -15793,7 +15958,7 @@ class TypeScriptAstFactory {
|
|
|
15793
15958
|
if (range !== null) {
|
|
15794
15959
|
this.setSourceMapRange(middle, range);
|
|
15795
15960
|
}
|
|
15796
|
-
spans.push(
|
|
15961
|
+
spans.push(ts13.factory.createTemplateSpan(expression, middle));
|
|
15797
15962
|
}
|
|
15798
15963
|
const resolvedExpression = template.expressions[length - 2];
|
|
15799
15964
|
const templatePart = template.elements[length - 1];
|
|
@@ -15804,27 +15969,27 @@ class TypeScriptAstFactory {
|
|
|
15804
15969
|
if (templatePart.range !== null) {
|
|
15805
15970
|
this.setSourceMapRange(templateTail, templatePart.range);
|
|
15806
15971
|
}
|
|
15807
|
-
spans.push(
|
|
15808
|
-
templateLiteral =
|
|
15972
|
+
spans.push(ts13.factory.createTemplateSpan(resolvedExpression, templateTail));
|
|
15973
|
+
templateLiteral = ts13.factory.createTemplateExpression(ts13.factory.createTemplateHead(head.cooked, head.raw), spans);
|
|
15809
15974
|
}
|
|
15810
15975
|
if (head.range !== null) {
|
|
15811
15976
|
this.setSourceMapRange(templateLiteral, head.range);
|
|
15812
15977
|
}
|
|
15813
15978
|
return templateLiteral;
|
|
15814
15979
|
}
|
|
15815
|
-
createThrowStatement =
|
|
15816
|
-
createTypeOfExpression =
|
|
15817
|
-
createVoidExpression =
|
|
15980
|
+
createThrowStatement = ts13.factory.createThrowStatement;
|
|
15981
|
+
createTypeOfExpression = ts13.factory.createTypeOfExpression;
|
|
15982
|
+
createVoidExpression = ts13.factory.createVoidExpression;
|
|
15818
15983
|
createUnaryExpression(operator, operand) {
|
|
15819
|
-
return
|
|
15984
|
+
return ts13.factory.createPrefixUnaryExpression(this.UNARY_OPERATORS[operator], operand);
|
|
15820
15985
|
}
|
|
15821
15986
|
createVariableDeclaration(variableName, initializer, variableType, type) {
|
|
15822
|
-
return
|
|
15823
|
-
|
|
15987
|
+
return ts13.factory.createVariableStatement(undefined, ts13.factory.createVariableDeclarationList([
|
|
15988
|
+
ts13.factory.createVariableDeclaration(variableName, undefined, type ?? undefined, initializer ?? undefined)
|
|
15824
15989
|
], this.VAR_TYPES[variableType]));
|
|
15825
15990
|
}
|
|
15826
15991
|
createRegularExpressionLiteral(body, flags) {
|
|
15827
|
-
return
|
|
15992
|
+
return ts13.factory.createRegularExpressionLiteral(`/${body}/${flags ?? ""}`);
|
|
15828
15993
|
}
|
|
15829
15994
|
setSourceMapRange(node, sourceMapRange) {
|
|
15830
15995
|
if (sourceMapRange === null) {
|
|
@@ -15832,10 +15997,10 @@ class TypeScriptAstFactory {
|
|
|
15832
15997
|
}
|
|
15833
15998
|
const url = sourceMapRange.url;
|
|
15834
15999
|
if (!this.externalSourceFiles.has(url)) {
|
|
15835
|
-
this.externalSourceFiles.set(url,
|
|
16000
|
+
this.externalSourceFiles.set(url, ts13.createSourceMapSource(url, sourceMapRange.content, (pos) => pos));
|
|
15836
16001
|
}
|
|
15837
16002
|
const source = this.externalSourceFiles.get(url);
|
|
15838
|
-
|
|
16003
|
+
ts13.setSourceMapRange(node, {
|
|
15839
16004
|
pos: sourceMapRange.start.offset,
|
|
15840
16005
|
end: sourceMapRange.end.offset,
|
|
15841
16006
|
source
|
|
@@ -15845,77 +16010,77 @@ class TypeScriptAstFactory {
|
|
|
15845
16010
|
createBuiltInType(type) {
|
|
15846
16011
|
switch (type) {
|
|
15847
16012
|
case "any":
|
|
15848
|
-
return
|
|
16013
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.AnyKeyword);
|
|
15849
16014
|
case "boolean":
|
|
15850
|
-
return
|
|
16015
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.BooleanKeyword);
|
|
15851
16016
|
case "number":
|
|
15852
|
-
return
|
|
16017
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.NumberKeyword);
|
|
15853
16018
|
case "string":
|
|
15854
|
-
return
|
|
16019
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.StringKeyword);
|
|
15855
16020
|
case "function":
|
|
15856
|
-
return
|
|
16021
|
+
return ts13.factory.createTypeReferenceNode(ts13.factory.createIdentifier("Function"));
|
|
15857
16022
|
case "never":
|
|
15858
|
-
return
|
|
16023
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.NeverKeyword);
|
|
15859
16024
|
case "unknown":
|
|
15860
|
-
return
|
|
16025
|
+
return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.UnknownKeyword);
|
|
15861
16026
|
}
|
|
15862
16027
|
}
|
|
15863
16028
|
createExpressionType(expression, typeParams) {
|
|
15864
16029
|
const typeName = getEntityTypeFromExpression(expression);
|
|
15865
|
-
return
|
|
16030
|
+
return ts13.factory.createTypeReferenceNode(typeName, typeParams ?? undefined);
|
|
15866
16031
|
}
|
|
15867
16032
|
createArrayType(elementType) {
|
|
15868
|
-
return
|
|
16033
|
+
return ts13.factory.createArrayTypeNode(elementType);
|
|
15869
16034
|
}
|
|
15870
16035
|
createMapType(valueType) {
|
|
15871
|
-
return
|
|
15872
|
-
|
|
15873
|
-
|
|
16036
|
+
return ts13.factory.createTypeLiteralNode([
|
|
16037
|
+
ts13.factory.createIndexSignature(undefined, [
|
|
16038
|
+
ts13.factory.createParameterDeclaration(undefined, undefined, "key", undefined, ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.StringKeyword))
|
|
15874
16039
|
], valueType)
|
|
15875
16040
|
]);
|
|
15876
16041
|
}
|
|
15877
16042
|
transplantType(type) {
|
|
15878
|
-
if (typeof type.kind === "number" && typeof type.getSourceFile === "function" &&
|
|
16043
|
+
if (typeof type.kind === "number" && typeof type.getSourceFile === "function" && ts13.isTypeNode(type)) {
|
|
15879
16044
|
return type;
|
|
15880
16045
|
}
|
|
15881
16046
|
throw new Error("Attempting to transplant a type node from a non-TypeScript AST: " + type);
|
|
15882
16047
|
}
|
|
15883
16048
|
}
|
|
15884
16049
|
function createTemplateMiddle(cooked, raw) {
|
|
15885
|
-
const node =
|
|
15886
|
-
node.kind =
|
|
16050
|
+
const node = ts13.factory.createTemplateHead(cooked, raw);
|
|
16051
|
+
node.kind = ts13.SyntaxKind.TemplateMiddle;
|
|
15887
16052
|
return node;
|
|
15888
16053
|
}
|
|
15889
16054
|
function createTemplateTail(cooked, raw) {
|
|
15890
|
-
const node =
|
|
15891
|
-
node.kind =
|
|
16055
|
+
const node = ts13.factory.createTemplateHead(cooked, raw);
|
|
16056
|
+
node.kind = ts13.SyntaxKind.TemplateTail;
|
|
15892
16057
|
return node;
|
|
15893
16058
|
}
|
|
15894
16059
|
function attachComments(statement, leadingComments) {
|
|
15895
16060
|
for (const comment of leadingComments) {
|
|
15896
|
-
const commentKind = comment.multiline ?
|
|
16061
|
+
const commentKind = comment.multiline ? ts13.SyntaxKind.MultiLineCommentTrivia : ts13.SyntaxKind.SingleLineCommentTrivia;
|
|
15897
16062
|
if (comment.multiline) {
|
|
15898
|
-
|
|
16063
|
+
ts13.addSyntheticLeadingComment(statement, commentKind, comment.toString(), comment.trailingNewline);
|
|
15899
16064
|
} else {
|
|
15900
16065
|
for (const line of comment.toString().split(`
|
|
15901
16066
|
`)) {
|
|
15902
|
-
|
|
16067
|
+
ts13.addSyntheticLeadingComment(statement, commentKind, line, comment.trailingNewline);
|
|
15903
16068
|
}
|
|
15904
16069
|
}
|
|
15905
16070
|
}
|
|
15906
16071
|
}
|
|
15907
16072
|
function getEntityTypeFromExpression(expression) {
|
|
15908
|
-
if (
|
|
16073
|
+
if (ts13.isIdentifier(expression)) {
|
|
15909
16074
|
return expression;
|
|
15910
16075
|
}
|
|
15911
|
-
if (
|
|
16076
|
+
if (ts13.isPropertyAccessExpression(expression)) {
|
|
15912
16077
|
const left = getEntityTypeFromExpression(expression.expression);
|
|
15913
|
-
if (!
|
|
16078
|
+
if (!ts13.isIdentifier(expression.name)) {
|
|
15914
16079
|
throw new Error(`Unsupported property access for type reference: ${expression.name.text}`);
|
|
15915
16080
|
}
|
|
15916
|
-
return
|
|
16081
|
+
return ts13.factory.createQualifiedName(left, expression.name);
|
|
15917
16082
|
}
|
|
15918
|
-
throw new Error(`Unsupported expression for type reference: ${
|
|
16083
|
+
throw new Error(`Unsupported expression for type reference: ${ts13.SyntaxKind[expression.kind]}`);
|
|
15919
16084
|
}
|
|
15920
16085
|
var init_typescript_ast_factory = __esm(() => {
|
|
15921
16086
|
init_ts_util();
|
|
@@ -15948,9 +16113,9 @@ __export(exports_fastHmrCompiler, {
|
|
|
15948
16113
|
primeComponentFingerprint: () => primeComponentFingerprint,
|
|
15949
16114
|
invalidateFingerprintCache: () => invalidateFingerprintCache
|
|
15950
16115
|
});
|
|
15951
|
-
import { existsSync as existsSync24, readFileSync as
|
|
16116
|
+
import { existsSync as existsSync24, readFileSync as readFileSync20, statSync as statSync2 } from "fs";
|
|
15952
16117
|
import { dirname as dirname17, extname as extname6, relative as relative12, resolve as resolve25 } from "path";
|
|
15953
|
-
import
|
|
16118
|
+
import ts14 from "typescript";
|
|
15954
16119
|
var fail = (reason, detail, location) => ({
|
|
15955
16120
|
ok: false,
|
|
15956
16121
|
reason,
|
|
@@ -16034,23 +16199,23 @@ var fail = (reason, detail, location) => ({
|
|
|
16034
16199
|
}
|
|
16035
16200
|
let sourceFile;
|
|
16036
16201
|
try {
|
|
16037
|
-
sourceFile =
|
|
16202
|
+
sourceFile = ts14.createSourceFile(componentFilePath, source, ts14.ScriptTarget.Latest, true, ts14.ScriptKind.TS);
|
|
16038
16203
|
} catch {
|
|
16039
16204
|
return;
|
|
16040
16205
|
}
|
|
16041
16206
|
for (const stmt of sourceFile.statements) {
|
|
16042
|
-
if (!
|
|
16207
|
+
if (!ts14.isClassDeclaration(stmt))
|
|
16043
16208
|
continue;
|
|
16044
16209
|
const className = stmt.name?.text;
|
|
16045
16210
|
if (!className)
|
|
16046
16211
|
continue;
|
|
16047
|
-
const decorators =
|
|
16212
|
+
const decorators = ts14.getDecorators(stmt) ?? [];
|
|
16048
16213
|
const decoratorName = (() => {
|
|
16049
16214
|
for (const d2 of decorators) {
|
|
16050
|
-
if (!
|
|
16215
|
+
if (!ts14.isCallExpression(d2.expression))
|
|
16051
16216
|
continue;
|
|
16052
16217
|
const expr = d2.expression.expression;
|
|
16053
|
-
if (!
|
|
16218
|
+
if (!ts14.isIdentifier(expr))
|
|
16054
16219
|
continue;
|
|
16055
16220
|
if (expr.text === "Component" || expr.text === "Directive" || expr.text === "Pipe" || expr.text === "Injectable") {
|
|
16056
16221
|
return expr.text;
|
|
@@ -16064,16 +16229,16 @@ var fail = (reason, detail, location) => ({
|
|
|
16064
16229
|
const id = encodeURIComponent(`${projectRel}@${className}`);
|
|
16065
16230
|
if (decoratorName === "Component") {
|
|
16066
16231
|
const componentDecorator = decorators.find((d2) => {
|
|
16067
|
-
if (!
|
|
16232
|
+
if (!ts14.isCallExpression(d2.expression))
|
|
16068
16233
|
return false;
|
|
16069
16234
|
const expr = d2.expression.expression;
|
|
16070
|
-
return
|
|
16235
|
+
return ts14.isIdentifier(expr) && expr.text === "Component";
|
|
16071
16236
|
});
|
|
16072
16237
|
if (!componentDecorator)
|
|
16073
16238
|
continue;
|
|
16074
16239
|
const decoratorCall = componentDecorator.expression;
|
|
16075
16240
|
const args = decoratorCall.arguments[0];
|
|
16076
|
-
if (!args || !
|
|
16241
|
+
if (!args || !ts14.isObjectLiteralExpression(args))
|
|
16077
16242
|
continue;
|
|
16078
16243
|
const decoratorMeta = readDecoratorMeta(args);
|
|
16079
16244
|
const { inputs, outputs } = extractInputsAndOutputs(stmt, null);
|
|
@@ -16107,11 +16272,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16107
16272
|
return false;
|
|
16108
16273
|
return true;
|
|
16109
16274
|
}, ENTITY_DECORATOR_NAMES, findEntityDecorator = (cls) => {
|
|
16110
|
-
for (const dec of
|
|
16275
|
+
for (const dec of ts14.getDecorators(cls) ?? []) {
|
|
16111
16276
|
const expr = dec.expression;
|
|
16112
|
-
if (!
|
|
16277
|
+
if (!ts14.isCallExpression(expr))
|
|
16113
16278
|
continue;
|
|
16114
|
-
if (!
|
|
16279
|
+
if (!ts14.isIdentifier(expr.expression))
|
|
16115
16280
|
continue;
|
|
16116
16281
|
if (ENTITY_DECORATOR_NAMES.has(expr.expression.text))
|
|
16117
16282
|
return dec;
|
|
@@ -16129,18 +16294,18 @@ var fail = (reason, detail, location) => ({
|
|
|
16129
16294
|
}
|
|
16130
16295
|
const ctorParamTypes = [];
|
|
16131
16296
|
for (const member of cls.members) {
|
|
16132
|
-
if (!
|
|
16297
|
+
if (!ts14.isConstructorDeclaration(member))
|
|
16133
16298
|
continue;
|
|
16134
16299
|
for (const param of member.parameters) {
|
|
16135
16300
|
const typeText = param.type ? param.type.getText() : "";
|
|
16136
|
-
const decorators =
|
|
16301
|
+
const decorators = ts14.getDecorators(param) ?? [];
|
|
16137
16302
|
const decoratorSig = decorators.length === 0 ? "" : decorators.map((d2) => {
|
|
16138
16303
|
const e = d2.expression;
|
|
16139
|
-
if (
|
|
16304
|
+
if (ts14.isCallExpression(e) && ts14.isIdentifier(e.expression)) {
|
|
16140
16305
|
const args = e.arguments.map((a) => a.getText()).join(",");
|
|
16141
16306
|
return `@${e.expression.text}(${args})`;
|
|
16142
16307
|
}
|
|
16143
|
-
if (
|
|
16308
|
+
if (ts14.isIdentifier(e))
|
|
16144
16309
|
return `@${e.text}`;
|
|
16145
16310
|
return "@<unknown>";
|
|
16146
16311
|
}).join("");
|
|
@@ -16162,23 +16327,23 @@ var fail = (reason, detail, location) => ({
|
|
|
16162
16327
|
const walk = (node) => {
|
|
16163
16328
|
if (found)
|
|
16164
16329
|
return;
|
|
16165
|
-
if (
|
|
16330
|
+
if (ts14.isClassDeclaration(node) && node.name?.text === className) {
|
|
16166
16331
|
found = node;
|
|
16167
16332
|
return;
|
|
16168
16333
|
}
|
|
16169
|
-
|
|
16334
|
+
ts14.forEachChild(node, walk);
|
|
16170
16335
|
};
|
|
16171
16336
|
walk(sourceFile);
|
|
16172
16337
|
return found;
|
|
16173
16338
|
}, getClassDecorators = (cls) => {
|
|
16174
|
-
const modifiers =
|
|
16339
|
+
const modifiers = ts14.getDecorators(cls) ?? [];
|
|
16175
16340
|
return [...modifiers];
|
|
16176
16341
|
}, findComponentDecorator = (cls) => {
|
|
16177
16342
|
for (const decorator of getClassDecorators(cls)) {
|
|
16178
16343
|
const expr = decorator.expression;
|
|
16179
|
-
if (
|
|
16344
|
+
if (ts14.isCallExpression(expr)) {
|
|
16180
16345
|
const fn2 = expr.expression;
|
|
16181
|
-
if (
|
|
16346
|
+
if (ts14.isIdentifier(fn2) && fn2.text === "Component") {
|
|
16182
16347
|
return decorator;
|
|
16183
16348
|
}
|
|
16184
16349
|
}
|
|
@@ -16186,15 +16351,15 @@ var fail = (reason, detail, location) => ({
|
|
|
16186
16351
|
return null;
|
|
16187
16352
|
}, getDecoratorArgsObject = (decorator) => {
|
|
16188
16353
|
const call = decorator.expression;
|
|
16189
|
-
if (!
|
|
16354
|
+
if (!ts14.isCallExpression(call))
|
|
16190
16355
|
return null;
|
|
16191
16356
|
const arg = call.arguments[0];
|
|
16192
|
-
if (!arg || !
|
|
16357
|
+
if (!arg || !ts14.isObjectLiteralExpression(arg))
|
|
16193
16358
|
return null;
|
|
16194
16359
|
return arg;
|
|
16195
16360
|
}, getProperty = (obj, name) => {
|
|
16196
16361
|
for (const prop of obj.properties) {
|
|
16197
|
-
if (
|
|
16362
|
+
if (ts14.isPropertyAssignment(prop) && (ts14.isIdentifier(prop.name) && prop.name.text === name || ts14.isStringLiteral(prop.name) && prop.name.text === name)) {
|
|
16198
16363
|
return prop.initializer;
|
|
16199
16364
|
}
|
|
16200
16365
|
}
|
|
@@ -16203,7 +16368,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16203
16368
|
const expr = getProperty(obj, name);
|
|
16204
16369
|
if (!expr)
|
|
16205
16370
|
return null;
|
|
16206
|
-
if (
|
|
16371
|
+
if (ts14.isStringLiteral(expr) || ts14.isNoSubstitutionTemplateLiteral(expr)) {
|
|
16207
16372
|
return expr.text;
|
|
16208
16373
|
}
|
|
16209
16374
|
return null;
|
|
@@ -16211,22 +16376,22 @@ var fail = (reason, detail, location) => ({
|
|
|
16211
16376
|
const expr = getProperty(obj, name);
|
|
16212
16377
|
if (!expr)
|
|
16213
16378
|
return null;
|
|
16214
|
-
if (expr.kind ===
|
|
16379
|
+
if (expr.kind === ts14.SyntaxKind.TrueKeyword)
|
|
16215
16380
|
return true;
|
|
16216
|
-
if (expr.kind ===
|
|
16381
|
+
if (expr.kind === ts14.SyntaxKind.FalseKeyword)
|
|
16217
16382
|
return false;
|
|
16218
16383
|
return null;
|
|
16219
16384
|
}, isAngularDecoratorIdentifier = (name) => name === "Component" || name === "Directive" || name === "Pipe" || name === "Injectable", classHasAngularDecorator = (cls) => {
|
|
16220
|
-
for (const dec of
|
|
16385
|
+
for (const dec of ts14.getDecorators(cls) ?? []) {
|
|
16221
16386
|
const expr = dec.expression;
|
|
16222
|
-
if (
|
|
16387
|
+
if (ts14.isCallExpression(expr) && ts14.isIdentifier(expr.expression) && isAngularDecoratorIdentifier(expr.expression.text)) {
|
|
16223
16388
|
return true;
|
|
16224
16389
|
}
|
|
16225
16390
|
}
|
|
16226
16391
|
return false;
|
|
16227
16392
|
}, findClassInSourceFile = (sf, className) => {
|
|
16228
16393
|
for (const stmt of sf.statements) {
|
|
16229
|
-
if (
|
|
16394
|
+
if (ts14.isClassDeclaration(stmt) && stmt.name?.text === className) {
|
|
16230
16395
|
return stmt;
|
|
16231
16396
|
}
|
|
16232
16397
|
}
|
|
@@ -16236,15 +16401,15 @@ var fail = (reason, detail, location) => ({
|
|
|
16236
16401
|
if (sameFile)
|
|
16237
16402
|
return classHasAngularDecorator(sameFile);
|
|
16238
16403
|
for (const stmt of sourceFile.statements) {
|
|
16239
|
-
if (!
|
|
16404
|
+
if (!ts14.isImportDeclaration(stmt))
|
|
16240
16405
|
continue;
|
|
16241
|
-
if (!
|
|
16406
|
+
if (!ts14.isStringLiteral(stmt.moduleSpecifier))
|
|
16242
16407
|
continue;
|
|
16243
16408
|
const clause = stmt.importClause;
|
|
16244
16409
|
if (!clause || clause.isTypeOnly)
|
|
16245
16410
|
continue;
|
|
16246
16411
|
const named = clause.namedBindings;
|
|
16247
|
-
if (!named || !
|
|
16412
|
+
if (!named || !ts14.isNamedImports(named))
|
|
16248
16413
|
continue;
|
|
16249
16414
|
const found = named.elements.find((el) => el.name.text === parentClassName);
|
|
16250
16415
|
if (!found)
|
|
@@ -16265,11 +16430,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16265
16430
|
continue;
|
|
16266
16431
|
let content;
|
|
16267
16432
|
try {
|
|
16268
|
-
content =
|
|
16433
|
+
content = readFileSync20(candidate, "utf-8");
|
|
16269
16434
|
} catch {
|
|
16270
16435
|
continue;
|
|
16271
16436
|
}
|
|
16272
|
-
const parentSf =
|
|
16437
|
+
const parentSf = ts14.createSourceFile(candidate, content, ts14.ScriptTarget.Latest, true);
|
|
16273
16438
|
const parentCls = findClassInSourceFile(parentSf, parentClassName);
|
|
16274
16439
|
if (!parentCls)
|
|
16275
16440
|
continue;
|
|
@@ -16281,11 +16446,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16281
16446
|
}, inheritsDecoratedClass = (cls, sourceFile, componentDir, projectRoot) => {
|
|
16282
16447
|
const heritage = cls.heritageClauses ?? [];
|
|
16283
16448
|
for (const clause of heritage) {
|
|
16284
|
-
if (clause.token !==
|
|
16449
|
+
if (clause.token !== ts14.SyntaxKind.ExtendsKeyword)
|
|
16285
16450
|
continue;
|
|
16286
16451
|
for (const typeNode of clause.types) {
|
|
16287
16452
|
const expr = typeNode.expression;
|
|
16288
|
-
if (!
|
|
16453
|
+
if (!ts14.isIdentifier(expr)) {
|
|
16289
16454
|
return true;
|
|
16290
16455
|
}
|
|
16291
16456
|
if (parentHasAngularDecoratorAcrossFiles(expr.text, sourceFile, componentDir, projectRoot)) {
|
|
@@ -16296,18 +16461,18 @@ var fail = (reason, detail, location) => ({
|
|
|
16296
16461
|
return false;
|
|
16297
16462
|
}, CONTROL_CREATE_METHOD_NAME = "\u0275ngControlCreate", extractControlCreate = (cls) => {
|
|
16298
16463
|
for (const member of cls.members) {
|
|
16299
|
-
if (!
|
|
16464
|
+
if (!ts14.isMethodDeclaration(member))
|
|
16300
16465
|
continue;
|
|
16301
|
-
if (member.modifiers?.some((m) => m.kind ===
|
|
16466
|
+
if (member.modifiers?.some((m) => m.kind === ts14.SyntaxKind.StaticKeyword))
|
|
16302
16467
|
continue;
|
|
16303
16468
|
const name = member.name;
|
|
16304
16469
|
if (name === undefined)
|
|
16305
16470
|
continue;
|
|
16306
|
-
const nameText =
|
|
16471
|
+
const nameText = ts14.isIdentifier(name) ? name.text : name.getText();
|
|
16307
16472
|
if (nameText !== CONTROL_CREATE_METHOD_NAME)
|
|
16308
16473
|
continue;
|
|
16309
16474
|
const firstParam = member.parameters[0];
|
|
16310
|
-
if (firstParam === undefined || firstParam.type === undefined || !
|
|
16475
|
+
if (firstParam === undefined || firstParam.type === undefined || !ts14.isTypeReferenceNode(firstParam.type)) {
|
|
16311
16476
|
return { passThroughInput: null };
|
|
16312
16477
|
}
|
|
16313
16478
|
const typeArgs = firstParam.type.typeArguments;
|
|
@@ -16315,16 +16480,16 @@ var fail = (reason, detail, location) => ({
|
|
|
16315
16480
|
return { passThroughInput: null };
|
|
16316
16481
|
}
|
|
16317
16482
|
const arg = typeArgs[0];
|
|
16318
|
-
if (arg === undefined || !
|
|
16483
|
+
if (arg === undefined || !ts14.isLiteralTypeNode(arg) || !ts14.isStringLiteral(arg.literal)) {
|
|
16319
16484
|
return { passThroughInput: null };
|
|
16320
16485
|
}
|
|
16321
16486
|
return { passThroughInput: arg.literal.text };
|
|
16322
16487
|
}
|
|
16323
16488
|
return null;
|
|
16324
16489
|
}, resolveEnumPropertyAccess = (expr, enumName, values) => {
|
|
16325
|
-
if (!
|
|
16490
|
+
if (!ts14.isPropertyAccessExpression(expr))
|
|
16326
16491
|
return null;
|
|
16327
|
-
if (!
|
|
16492
|
+
if (!ts14.isIdentifier(expr.expression))
|
|
16328
16493
|
return null;
|
|
16329
16494
|
if (expr.expression.text !== enumName)
|
|
16330
16495
|
return null;
|
|
@@ -16343,21 +16508,21 @@ var fail = (reason, detail, location) => ({
|
|
|
16343
16508
|
const hostExpr = getProperty(args, "host");
|
|
16344
16509
|
const schemasExpr = getProperty(args, "schemas");
|
|
16345
16510
|
const styleUrls = [];
|
|
16346
|
-
if (styleUrlsExpr &&
|
|
16511
|
+
if (styleUrlsExpr && ts14.isArrayLiteralExpression(styleUrlsExpr)) {
|
|
16347
16512
|
for (const el of styleUrlsExpr.elements) {
|
|
16348
|
-
if (
|
|
16513
|
+
if (ts14.isStringLiteral(el))
|
|
16349
16514
|
styleUrls.push(el.text);
|
|
16350
16515
|
}
|
|
16351
16516
|
}
|
|
16352
16517
|
const styles = [];
|
|
16353
16518
|
if (stylesExpr) {
|
|
16354
|
-
if (
|
|
16519
|
+
if (ts14.isArrayLiteralExpression(stylesExpr)) {
|
|
16355
16520
|
for (const el of stylesExpr.elements) {
|
|
16356
|
-
if (
|
|
16521
|
+
if (ts14.isStringLiteral(el) || ts14.isNoSubstitutionTemplateLiteral(el)) {
|
|
16357
16522
|
styles.push(el.text);
|
|
16358
16523
|
}
|
|
16359
16524
|
}
|
|
16360
|
-
} else if (
|
|
16525
|
+
} else if (ts14.isStringLiteral(stylesExpr) || ts14.isNoSubstitutionTemplateLiteral(stylesExpr)) {
|
|
16361
16526
|
styles.push(stylesExpr.text);
|
|
16362
16527
|
}
|
|
16363
16528
|
}
|
|
@@ -16370,15 +16535,15 @@ var fail = (reason, detail, location) => ({
|
|
|
16370
16535
|
encapsulation,
|
|
16371
16536
|
hasProviders: getProperty(args, "providers") !== null,
|
|
16372
16537
|
hasViewProviders: getProperty(args, "viewProviders") !== null,
|
|
16373
|
-
importsExpr: importsExpr &&
|
|
16374
|
-
hostDirectivesExpr: hostDirectivesExpr &&
|
|
16375
|
-
animationsExpr: animationsExpr &&
|
|
16376
|
-
providersExpr: providersExpr &&
|
|
16377
|
-
viewProvidersExpr: viewProvidersExpr &&
|
|
16378
|
-
inputsArrayExpr: inputsArrayExpr &&
|
|
16379
|
-
outputsArrayExpr: outputsArrayExpr &&
|
|
16380
|
-
hostExpr: hostExpr &&
|
|
16381
|
-
schemasExpr: schemasExpr &&
|
|
16538
|
+
importsExpr: importsExpr && ts14.isArrayLiteralExpression(importsExpr) ? importsExpr : null,
|
|
16539
|
+
hostDirectivesExpr: hostDirectivesExpr && ts14.isArrayLiteralExpression(hostDirectivesExpr) ? hostDirectivesExpr : null,
|
|
16540
|
+
animationsExpr: animationsExpr && ts14.isArrayLiteralExpression(animationsExpr) ? animationsExpr : null,
|
|
16541
|
+
providersExpr: providersExpr && ts14.isArrayLiteralExpression(providersExpr) ? providersExpr : null,
|
|
16542
|
+
viewProvidersExpr: viewProvidersExpr && ts14.isArrayLiteralExpression(viewProvidersExpr) ? viewProvidersExpr : null,
|
|
16543
|
+
inputsArrayExpr: inputsArrayExpr && ts14.isArrayLiteralExpression(inputsArrayExpr) ? inputsArrayExpr : null,
|
|
16544
|
+
outputsArrayExpr: outputsArrayExpr && ts14.isArrayLiteralExpression(outputsArrayExpr) ? outputsArrayExpr : null,
|
|
16545
|
+
hostExpr: hostExpr && ts14.isObjectLiteralExpression(hostExpr) ? hostExpr : null,
|
|
16546
|
+
schemasExpr: schemasExpr && ts14.isArrayLiteralExpression(schemasExpr) ? schemasExpr : null,
|
|
16382
16547
|
preserveWhitespaces: getBooleanProperty(args, "preserveWhitespaces") ?? projectDefaults.preserveWhitespaces ?? false,
|
|
16383
16548
|
selector: getStringProperty(args, "selector"),
|
|
16384
16549
|
standalone: getBooleanProperty(args, "standalone") ?? true,
|
|
@@ -16389,13 +16554,13 @@ var fail = (reason, detail, location) => ({
|
|
|
16389
16554
|
templateUrl: getStringProperty(args, "templateUrl")
|
|
16390
16555
|
};
|
|
16391
16556
|
}, extractDecoratorInput = (prop, compiler) => {
|
|
16392
|
-
const decorators =
|
|
16557
|
+
const decorators = ts14.getDecorators(prop) ?? [];
|
|
16393
16558
|
for (const decorator of decorators) {
|
|
16394
16559
|
const expr = decorator.expression;
|
|
16395
|
-
if (!
|
|
16560
|
+
if (!ts14.isCallExpression(expr))
|
|
16396
16561
|
continue;
|
|
16397
16562
|
const fn2 = expr.expression;
|
|
16398
|
-
if (!
|
|
16563
|
+
if (!ts14.isIdentifier(fn2) || fn2.text !== "Input")
|
|
16399
16564
|
continue;
|
|
16400
16565
|
const classPropertyName = prop.name.getText();
|
|
16401
16566
|
let bindingPropertyName = classPropertyName;
|
|
@@ -16403,9 +16568,9 @@ var fail = (reason, detail, location) => ({
|
|
|
16403
16568
|
let transformFunction = null;
|
|
16404
16569
|
const arg = expr.arguments[0];
|
|
16405
16570
|
if (arg) {
|
|
16406
|
-
if (
|
|
16571
|
+
if (ts14.isStringLiteral(arg)) {
|
|
16407
16572
|
bindingPropertyName = arg.text;
|
|
16408
|
-
} else if (
|
|
16573
|
+
} else if (ts14.isObjectLiteralExpression(arg)) {
|
|
16409
16574
|
const aliasNode = getStringProperty(arg, "alias");
|
|
16410
16575
|
if (aliasNode !== null)
|
|
16411
16576
|
bindingPropertyName = aliasNode;
|
|
@@ -16429,11 +16594,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16429
16594
|
}
|
|
16430
16595
|
return null;
|
|
16431
16596
|
}, isInputSignalCall = (init) => {
|
|
16432
|
-
if (
|
|
16597
|
+
if (ts14.isCallExpression(init)) {
|
|
16433
16598
|
const fn2 = init.expression;
|
|
16434
|
-
if (
|
|
16599
|
+
if (ts14.isIdentifier(fn2) && fn2.text === "input")
|
|
16435
16600
|
return true;
|
|
16436
|
-
if (
|
|
16601
|
+
if (ts14.isPropertyAccessExpression(fn2) && ts14.isIdentifier(fn2.expression) && fn2.expression.text === "input") {
|
|
16437
16602
|
return true;
|
|
16438
16603
|
}
|
|
16439
16604
|
}
|
|
@@ -16444,13 +16609,13 @@ var fail = (reason, detail, location) => ({
|
|
|
16444
16609
|
const classPropertyName = prop.name.getText();
|
|
16445
16610
|
const call = prop.initializer;
|
|
16446
16611
|
let required = false;
|
|
16447
|
-
if (
|
|
16612
|
+
if (ts14.isPropertyAccessExpression(call.expression) && ts14.isIdentifier(call.expression.name) && call.expression.name.text === "required") {
|
|
16448
16613
|
required = true;
|
|
16449
16614
|
}
|
|
16450
16615
|
let bindingPropertyName = classPropertyName;
|
|
16451
16616
|
let transformFunction = null;
|
|
16452
16617
|
const optsArg = call.arguments[required ? 0 : 1];
|
|
16453
|
-
if (optsArg &&
|
|
16618
|
+
if (optsArg && ts14.isObjectLiteralExpression(optsArg)) {
|
|
16454
16619
|
const aliasNode = getStringProperty(optsArg, "alias");
|
|
16455
16620
|
if (aliasNode !== null)
|
|
16456
16621
|
bindingPropertyName = aliasNode;
|
|
@@ -16470,28 +16635,28 @@ var fail = (reason, detail, location) => ({
|
|
|
16470
16635
|
}
|
|
16471
16636
|
};
|
|
16472
16637
|
}, extractDecoratorOutput = (prop) => {
|
|
16473
|
-
const decorators =
|
|
16638
|
+
const decorators = ts14.getDecorators(prop) ?? [];
|
|
16474
16639
|
for (const decorator of decorators) {
|
|
16475
16640
|
const expr = decorator.expression;
|
|
16476
|
-
if (!
|
|
16641
|
+
if (!ts14.isCallExpression(expr))
|
|
16477
16642
|
continue;
|
|
16478
16643
|
const fn2 = expr.expression;
|
|
16479
|
-
if (!
|
|
16644
|
+
if (!ts14.isIdentifier(fn2) || fn2.text !== "Output")
|
|
16480
16645
|
continue;
|
|
16481
16646
|
const classPropertyName = prop.name.getText();
|
|
16482
16647
|
let bindingName = classPropertyName;
|
|
16483
16648
|
const arg = expr.arguments[0];
|
|
16484
|
-
if (arg &&
|
|
16649
|
+
if (arg && ts14.isStringLiteral(arg))
|
|
16485
16650
|
bindingName = arg.text;
|
|
16486
16651
|
return { classPropertyName, bindingName };
|
|
16487
16652
|
}
|
|
16488
16653
|
return null;
|
|
16489
16654
|
}, isOutputSignalCall = (init) => {
|
|
16490
|
-
if (
|
|
16655
|
+
if (ts14.isCallExpression(init)) {
|
|
16491
16656
|
const fn2 = init.expression;
|
|
16492
|
-
if (
|
|
16657
|
+
if (ts14.isIdentifier(fn2) && fn2.text === "output")
|
|
16493
16658
|
return true;
|
|
16494
|
-
if (
|
|
16659
|
+
if (ts14.isPropertyAccessExpression(fn2) && ts14.isIdentifier(fn2.expression) && fn2.expression.text === "output") {
|
|
16495
16660
|
return true;
|
|
16496
16661
|
}
|
|
16497
16662
|
}
|
|
@@ -16503,7 +16668,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16503
16668
|
const call = prop.initializer;
|
|
16504
16669
|
let bindingName = classPropertyName;
|
|
16505
16670
|
const optsArg = call.arguments[0];
|
|
16506
|
-
if (optsArg &&
|
|
16671
|
+
if (optsArg && ts14.isObjectLiteralExpression(optsArg)) {
|
|
16507
16672
|
const aliasNode = getStringProperty(optsArg, "alias");
|
|
16508
16673
|
if (aliasNode !== null)
|
|
16509
16674
|
bindingName = aliasNode;
|
|
@@ -16515,7 +16680,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16515
16680
|
let hasDecoratorIO = false;
|
|
16516
16681
|
let hasSignalIO = false;
|
|
16517
16682
|
for (const member of cls.members) {
|
|
16518
|
-
if (!
|
|
16683
|
+
if (!ts14.isPropertyDeclaration(member))
|
|
16519
16684
|
continue;
|
|
16520
16685
|
const decoratorIn = extractDecoratorInput(member, compiler);
|
|
16521
16686
|
if (decoratorIn) {
|
|
@@ -16549,21 +16714,21 @@ var fail = (reason, detail, location) => ({
|
|
|
16549
16714
|
specialAttributes: {}
|
|
16550
16715
|
}), parseHostObjectInto = (host, args, hostExprNode, compiler) => {
|
|
16551
16716
|
const hostNode = getProperty(args, "host");
|
|
16552
|
-
if (!hostNode || !
|
|
16717
|
+
if (!hostNode || !ts14.isObjectLiteralExpression(hostNode)) {
|
|
16553
16718
|
if (!hostExprNode)
|
|
16554
16719
|
return;
|
|
16555
16720
|
}
|
|
16556
|
-
const obj = hostNode &&
|
|
16721
|
+
const obj = hostNode && ts14.isObjectLiteralExpression(hostNode) ? hostNode : hostExprNode;
|
|
16557
16722
|
if (!obj)
|
|
16558
16723
|
return;
|
|
16559
16724
|
for (const prop of obj.properties) {
|
|
16560
|
-
if (!
|
|
16725
|
+
if (!ts14.isPropertyAssignment(prop))
|
|
16561
16726
|
continue;
|
|
16562
16727
|
const keyNode = prop.name;
|
|
16563
16728
|
let key;
|
|
16564
|
-
if (
|
|
16729
|
+
if (ts14.isStringLiteral(keyNode) || ts14.isNoSubstitutionTemplateLiteral(keyNode)) {
|
|
16565
16730
|
key = keyNode.text;
|
|
16566
|
-
} else if (
|
|
16731
|
+
} else if (ts14.isIdentifier(keyNode)) {
|
|
16567
16732
|
key = keyNode.text;
|
|
16568
16733
|
} else {
|
|
16569
16734
|
continue;
|
|
@@ -16580,36 +16745,36 @@ var fail = (reason, detail, location) => ({
|
|
|
16580
16745
|
}
|
|
16581
16746
|
}, mergeMemberHostDecorators = (host, cls) => {
|
|
16582
16747
|
for (const member of cls.members) {
|
|
16583
|
-
if (!
|
|
16748
|
+
if (!ts14.canHaveDecorators(member))
|
|
16584
16749
|
continue;
|
|
16585
|
-
const decorators =
|
|
16750
|
+
const decorators = ts14.getDecorators(member) ?? [];
|
|
16586
16751
|
for (const dec of decorators) {
|
|
16587
16752
|
const expr = dec.expression;
|
|
16588
|
-
if (!
|
|
16753
|
+
if (!ts14.isCallExpression(expr))
|
|
16589
16754
|
continue;
|
|
16590
16755
|
const fn2 = expr.expression;
|
|
16591
|
-
if (!
|
|
16756
|
+
if (!ts14.isIdentifier(fn2))
|
|
16592
16757
|
continue;
|
|
16593
16758
|
if (fn2.text === "HostBinding") {
|
|
16594
|
-
if (!
|
|
16759
|
+
if (!ts14.isPropertyDeclaration(member) && !ts14.isGetAccessor(member))
|
|
16595
16760
|
continue;
|
|
16596
16761
|
const propertyName = member.name.text;
|
|
16597
16762
|
const target = expr.arguments[0];
|
|
16598
|
-
const key = target &&
|
|
16763
|
+
const key = target && ts14.isStringLiteral(target) ? target.text : propertyName;
|
|
16599
16764
|
host.properties[key] = propertyName;
|
|
16600
16765
|
} else if (fn2.text === "HostListener") {
|
|
16601
|
-
if (!
|
|
16766
|
+
if (!ts14.isMethodDeclaration(member))
|
|
16602
16767
|
continue;
|
|
16603
16768
|
const methodName = member.name.text;
|
|
16604
16769
|
const eventArg = expr.arguments[0];
|
|
16605
|
-
if (!eventArg || !
|
|
16770
|
+
if (!eventArg || !ts14.isStringLiteral(eventArg))
|
|
16606
16771
|
continue;
|
|
16607
16772
|
const event = eventArg.text;
|
|
16608
16773
|
const argsArg = expr.arguments[1];
|
|
16609
16774
|
let argsList = [];
|
|
16610
|
-
if (argsArg &&
|
|
16775
|
+
if (argsArg && ts14.isArrayLiteralExpression(argsArg)) {
|
|
16611
16776
|
for (const el of argsArg.elements) {
|
|
16612
|
-
if (
|
|
16777
|
+
if (ts14.isStringLiteral(el))
|
|
16613
16778
|
argsList.push(el.text);
|
|
16614
16779
|
}
|
|
16615
16780
|
}
|
|
@@ -16622,14 +16787,14 @@ var fail = (reason, detail, location) => ({
|
|
|
16622
16787
|
let descendants = true;
|
|
16623
16788
|
let emitDistinctChangesOnly = true;
|
|
16624
16789
|
const opts = args[1];
|
|
16625
|
-
if (opts &&
|
|
16790
|
+
if (opts && ts14.isObjectLiteralExpression(opts)) {
|
|
16626
16791
|
static_ = getBooleanProperty(opts, "static") ?? false;
|
|
16627
16792
|
descendants = getBooleanProperty(opts, "descendants") ?? true;
|
|
16628
16793
|
emitDistinctChangesOnly = getBooleanProperty(opts, "emitDistinctChangesOnly") ?? true;
|
|
16629
16794
|
}
|
|
16630
16795
|
return { static_, descendants, emitDistinctChangesOnly };
|
|
16631
16796
|
}, queryPredicateFromArg = (arg, compiler) => {
|
|
16632
|
-
if (
|
|
16797
|
+
if (ts14.isStringLiteral(arg)) {
|
|
16633
16798
|
return arg.text.split(",").map((s2) => s2.trim()).filter(Boolean);
|
|
16634
16799
|
}
|
|
16635
16800
|
return {
|
|
@@ -16640,15 +16805,15 @@ var fail = (reason, detail, location) => ({
|
|
|
16640
16805
|
const contentQueries = [];
|
|
16641
16806
|
const viewQueries = [];
|
|
16642
16807
|
for (const member of cls.members) {
|
|
16643
|
-
if (!
|
|
16808
|
+
if (!ts14.isPropertyDeclaration(member))
|
|
16644
16809
|
continue;
|
|
16645
|
-
const decorators =
|
|
16810
|
+
const decorators = ts14.getDecorators(member) ?? [];
|
|
16646
16811
|
for (const dec of decorators) {
|
|
16647
16812
|
const expr = dec.expression;
|
|
16648
|
-
if (!
|
|
16813
|
+
if (!ts14.isCallExpression(expr))
|
|
16649
16814
|
continue;
|
|
16650
16815
|
const fn2 = expr.expression;
|
|
16651
|
-
if (!
|
|
16816
|
+
if (!ts14.isIdentifier(fn2) || !QUERY_DECORATORS.has(fn2.text))
|
|
16652
16817
|
continue;
|
|
16653
16818
|
const propertyName = member.name.text;
|
|
16654
16819
|
const tokenArg = expr.arguments[0];
|
|
@@ -16660,7 +16825,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16660
16825
|
const { static_, descendants, emitDistinctChangesOnly } = parseQueryDecoratorOptions(expr.arguments);
|
|
16661
16826
|
const opts = expr.arguments[1];
|
|
16662
16827
|
let read = null;
|
|
16663
|
-
if (opts &&
|
|
16828
|
+
if (opts && ts14.isObjectLiteralExpression(opts)) {
|
|
16664
16829
|
const readNode = getProperty(opts, "read");
|
|
16665
16830
|
if (readNode) {
|
|
16666
16831
|
read = new compiler.WrappedNodeExpr(readNode);
|
|
@@ -16688,15 +16853,15 @@ var fail = (reason, detail, location) => ({
|
|
|
16688
16853
|
const contentQueries = [];
|
|
16689
16854
|
const viewQueries = [];
|
|
16690
16855
|
for (const member of cls.members) {
|
|
16691
|
-
if (!
|
|
16856
|
+
if (!ts14.isPropertyDeclaration(member) || !member.initializer)
|
|
16692
16857
|
continue;
|
|
16693
16858
|
let init = member.initializer;
|
|
16694
|
-
if (!
|
|
16859
|
+
if (!ts14.isCallExpression(init))
|
|
16695
16860
|
continue;
|
|
16696
16861
|
let queryName;
|
|
16697
|
-
if (
|
|
16862
|
+
if (ts14.isIdentifier(init.expression)) {
|
|
16698
16863
|
queryName = init.expression.text;
|
|
16699
|
-
} else if (
|
|
16864
|
+
} else if (ts14.isPropertyAccessExpression(init.expression) && ts14.isIdentifier(init.expression.expression) && init.expression.name.text === "required") {
|
|
16700
16865
|
queryName = init.expression.expression.text;
|
|
16701
16866
|
} else {
|
|
16702
16867
|
continue;
|
|
@@ -16714,7 +16879,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16714
16879
|
let descendants = true;
|
|
16715
16880
|
let read = null;
|
|
16716
16881
|
const opts = init.arguments[1];
|
|
16717
|
-
if (opts &&
|
|
16882
|
+
if (opts && ts14.isObjectLiteralExpression(opts)) {
|
|
16718
16883
|
descendants = getBooleanProperty(opts, "descendants") ?? true;
|
|
16719
16884
|
const readNode = getProperty(opts, "read");
|
|
16720
16885
|
if (readNode)
|
|
@@ -16740,13 +16905,13 @@ var fail = (reason, detail, location) => ({
|
|
|
16740
16905
|
const node = getProperty(args, "exportAs");
|
|
16741
16906
|
if (!node)
|
|
16742
16907
|
return null;
|
|
16743
|
-
if (
|
|
16908
|
+
if (ts14.isStringLiteral(node)) {
|
|
16744
16909
|
return node.text.split(",").map((s2) => s2.trim()).filter(Boolean);
|
|
16745
16910
|
}
|
|
16746
|
-
if (
|
|
16911
|
+
if (ts14.isArrayLiteralExpression(node)) {
|
|
16747
16912
|
const out = [];
|
|
16748
16913
|
for (const el of node.elements) {
|
|
16749
|
-
if (
|
|
16914
|
+
if (ts14.isStringLiteral(el))
|
|
16750
16915
|
out.push(el.text);
|
|
16751
16916
|
}
|
|
16752
16917
|
return out.length > 0 ? out : null;
|
|
@@ -16754,11 +16919,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16754
16919
|
return null;
|
|
16755
16920
|
}, extractHostDirectives = (args, compiler) => {
|
|
16756
16921
|
const node = getProperty(args, "hostDirectives");
|
|
16757
|
-
if (!node || !
|
|
16922
|
+
if (!node || !ts14.isArrayLiteralExpression(node))
|
|
16758
16923
|
return null;
|
|
16759
16924
|
const out = [];
|
|
16760
16925
|
for (const el of node.elements) {
|
|
16761
|
-
if (
|
|
16926
|
+
if (ts14.isIdentifier(el)) {
|
|
16762
16927
|
out.push({
|
|
16763
16928
|
directive: {
|
|
16764
16929
|
value: new compiler.WrappedNodeExpr(el),
|
|
@@ -16770,7 +16935,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16770
16935
|
});
|
|
16771
16936
|
continue;
|
|
16772
16937
|
}
|
|
16773
|
-
if (!
|
|
16938
|
+
if (!ts14.isObjectLiteralExpression(el))
|
|
16774
16939
|
continue;
|
|
16775
16940
|
const directiveNode = getProperty(el, "directive");
|
|
16776
16941
|
if (!directiveNode)
|
|
@@ -16778,11 +16943,11 @@ var fail = (reason, detail, location) => ({
|
|
|
16778
16943
|
const inputsNode = getProperty(el, "inputs");
|
|
16779
16944
|
const outputsNode = getProperty(el, "outputs");
|
|
16780
16945
|
const collectMap = (n) => {
|
|
16781
|
-
if (!n || !
|
|
16946
|
+
if (!n || !ts14.isArrayLiteralExpression(n))
|
|
16782
16947
|
return null;
|
|
16783
16948
|
const map = {};
|
|
16784
16949
|
for (const item of n.elements) {
|
|
16785
|
-
if (!
|
|
16950
|
+
if (!ts14.isStringLiteral(item))
|
|
16786
16951
|
continue;
|
|
16787
16952
|
const [name, alias] = item.text.split(":").map((s2) => s2.trim());
|
|
16788
16953
|
if (name)
|
|
@@ -16844,7 +17009,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16844
17009
|
return cached.info;
|
|
16845
17010
|
let source;
|
|
16846
17011
|
try {
|
|
16847
|
-
source =
|
|
17012
|
+
source = readFileSync20(filePath, "utf-8");
|
|
16848
17013
|
} catch {
|
|
16849
17014
|
childComponentInfoCache.set(cacheKey2, {
|
|
16850
17015
|
info: null,
|
|
@@ -16852,10 +17017,10 @@ var fail = (reason, detail, location) => ({
|
|
|
16852
17017
|
});
|
|
16853
17018
|
return null;
|
|
16854
17019
|
}
|
|
16855
|
-
const sf =
|
|
17020
|
+
const sf = ts14.createSourceFile(filePath, source, ts14.ScriptTarget.Latest, true);
|
|
16856
17021
|
let info = null;
|
|
16857
17022
|
for (const stmt of sf.statements) {
|
|
16858
|
-
if (!
|
|
17023
|
+
if (!ts14.isClassDeclaration(stmt))
|
|
16859
17024
|
continue;
|
|
16860
17025
|
if (!stmt.name || stmt.name.text !== className)
|
|
16861
17026
|
continue;
|
|
@@ -16898,7 +17063,7 @@ var fail = (reason, detail, location) => ({
|
|
|
16898
17063
|
return cached.info;
|
|
16899
17064
|
let content;
|
|
16900
17065
|
try {
|
|
16901
|
-
content =
|
|
17066
|
+
content = readFileSync20(dtsPath, "utf-8");
|
|
16902
17067
|
} catch {
|
|
16903
17068
|
childComponentInfoCache.set(cacheKey2, {
|
|
16904
17069
|
info: null,
|
|
@@ -16990,9 +17155,9 @@ var fail = (reason, detail, location) => ({
|
|
|
16990
17155
|
}, buildClassToSpecMap = (sourceFile) => {
|
|
16991
17156
|
const result = new Map;
|
|
16992
17157
|
for (const stmt of sourceFile.statements) {
|
|
16993
|
-
if (!
|
|
17158
|
+
if (!ts14.isImportDeclaration(stmt))
|
|
16994
17159
|
continue;
|
|
16995
|
-
if (!
|
|
17160
|
+
if (!ts14.isStringLiteral(stmt.moduleSpecifier))
|
|
16996
17161
|
continue;
|
|
16997
17162
|
const spec = stmt.moduleSpecifier.text;
|
|
16998
17163
|
const clause = stmt.importClause;
|
|
@@ -17001,7 +17166,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17001
17166
|
if (clause.name)
|
|
17002
17167
|
result.set(clause.name.text, spec);
|
|
17003
17168
|
const named = clause.namedBindings;
|
|
17004
|
-
if (named &&
|
|
17169
|
+
if (named && ts14.isNamedImports(named)) {
|
|
17005
17170
|
for (const el of named.elements) {
|
|
17006
17171
|
if (el.isTypeOnly)
|
|
17007
17172
|
continue;
|
|
@@ -17018,7 +17183,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17018
17183
|
return null;
|
|
17019
17184
|
let content;
|
|
17020
17185
|
try {
|
|
17021
|
-
content =
|
|
17186
|
+
content = readFileSync20(startDtsPath, "utf-8");
|
|
17022
17187
|
} catch {
|
|
17023
17188
|
return null;
|
|
17024
17189
|
}
|
|
@@ -17114,7 +17279,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17114
17279
|
return result;
|
|
17115
17280
|
const classToSpec = buildClassToSpecMap(sourceFile);
|
|
17116
17281
|
for (const el of importsExpr.elements) {
|
|
17117
|
-
if (!
|
|
17282
|
+
if (!ts14.isIdentifier(el))
|
|
17118
17283
|
continue;
|
|
17119
17284
|
const className = el.text;
|
|
17120
17285
|
const spec = classToSpec.get(className);
|
|
@@ -17133,35 +17298,35 @@ var fail = (reason, detail, location) => ({
|
|
|
17133
17298
|
}
|
|
17134
17299
|
return (h2 >>> 0).toString(36);
|
|
17135
17300
|
}, initializerShapeIsStructural = (node) => {
|
|
17136
|
-
if (
|
|
17301
|
+
if (ts14.isArrowFunction(node) || ts14.isFunctionExpression(node) || ts14.isCallExpression(node) || ts14.isNewExpression(node)) {
|
|
17137
17302
|
return true;
|
|
17138
17303
|
}
|
|
17139
|
-
if (
|
|
17304
|
+
if (ts14.isConditionalExpression(node)) {
|
|
17140
17305
|
return initializerShapeIsStructural(node.whenTrue) || initializerShapeIsStructural(node.whenFalse);
|
|
17141
17306
|
}
|
|
17142
|
-
if (
|
|
17307
|
+
if (ts14.isParenthesizedExpression(node)) {
|
|
17143
17308
|
return initializerShapeIsStructural(node.expression);
|
|
17144
17309
|
}
|
|
17145
|
-
if (
|
|
17310
|
+
if (ts14.isAsExpression(node) || ts14.isTypeAssertionExpression(node)) {
|
|
17146
17311
|
return initializerShapeIsStructural(node.expression);
|
|
17147
17312
|
}
|
|
17148
|
-
if (
|
|
17313
|
+
if (ts14.isNonNullExpression(node)) {
|
|
17149
17314
|
return initializerShapeIsStructural(node.expression);
|
|
17150
17315
|
}
|
|
17151
|
-
if (
|
|
17316
|
+
if (ts14.isObjectLiteralExpression(node)) {
|
|
17152
17317
|
for (const prop of node.properties) {
|
|
17153
|
-
if (
|
|
17318
|
+
if (ts14.isPropertyAssignment(prop) && initializerShapeIsStructural(prop.initializer)) {
|
|
17154
17319
|
return true;
|
|
17155
17320
|
}
|
|
17156
|
-
if (
|
|
17321
|
+
if (ts14.isShorthandPropertyAssignment(prop))
|
|
17157
17322
|
continue;
|
|
17158
|
-
if (
|
|
17323
|
+
if (ts14.isSpreadAssignment(prop) && initializerShapeIsStructural(prop.expression)) {
|
|
17159
17324
|
return true;
|
|
17160
17325
|
}
|
|
17161
17326
|
}
|
|
17162
17327
|
return false;
|
|
17163
17328
|
}
|
|
17164
|
-
if (
|
|
17329
|
+
if (ts14.isArrayLiteralExpression(node)) {
|
|
17165
17330
|
for (const el of node.elements) {
|
|
17166
17331
|
if (initializerShapeIsStructural(el))
|
|
17167
17332
|
return true;
|
|
@@ -17172,7 +17337,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17172
17337
|
}, extractArrowFieldSig = (cls) => {
|
|
17173
17338
|
const entries = [];
|
|
17174
17339
|
for (const member of cls.members) {
|
|
17175
|
-
if (!
|
|
17340
|
+
if (!ts14.isPropertyDeclaration(member))
|
|
17176
17341
|
continue;
|
|
17177
17342
|
const init = member.initializer;
|
|
17178
17343
|
if (!init)
|
|
@@ -17182,12 +17347,12 @@ var fail = (reason, detail, location) => ({
|
|
|
17182
17347
|
const name = member.name.getText();
|
|
17183
17348
|
let bodyText;
|
|
17184
17349
|
try {
|
|
17185
|
-
const printer =
|
|
17186
|
-
newLine:
|
|
17350
|
+
const printer = ts14.createPrinter({
|
|
17351
|
+
newLine: ts14.NewLineKind.LineFeed,
|
|
17187
17352
|
omitTrailingSemicolon: true,
|
|
17188
17353
|
removeComments: true
|
|
17189
17354
|
});
|
|
17190
|
-
bodyText = printer.printNode(
|
|
17355
|
+
bodyText = printer.printNode(ts14.EmitHint.Unspecified, init, cls.getSourceFile());
|
|
17191
17356
|
} catch {
|
|
17192
17357
|
bodyText = init.getText();
|
|
17193
17358
|
}
|
|
@@ -17198,9 +17363,9 @@ var fail = (reason, detail, location) => ({
|
|
|
17198
17363
|
}, INPUT_OUTPUT_DECORATORS, extractMemberDecoratorSig = (cls) => {
|
|
17199
17364
|
const entries = [];
|
|
17200
17365
|
for (const member of cls.members) {
|
|
17201
|
-
if (!
|
|
17366
|
+
if (!ts14.canHaveDecorators(member))
|
|
17202
17367
|
continue;
|
|
17203
|
-
const decorators =
|
|
17368
|
+
const decorators = ts14.getDecorators(member) ?? [];
|
|
17204
17369
|
if (decorators.length === 0)
|
|
17205
17370
|
continue;
|
|
17206
17371
|
const memberName = member.name?.getText() ?? "<anon>";
|
|
@@ -17208,14 +17373,14 @@ var fail = (reason, detail, location) => ({
|
|
|
17208
17373
|
const expr = decorator.expression;
|
|
17209
17374
|
let decName = "<unknown>";
|
|
17210
17375
|
let argText = "";
|
|
17211
|
-
if (
|
|
17212
|
-
if (
|
|
17376
|
+
if (ts14.isCallExpression(expr)) {
|
|
17377
|
+
if (ts14.isIdentifier(expr.expression)) {
|
|
17213
17378
|
decName = expr.expression.text;
|
|
17214
17379
|
}
|
|
17215
17380
|
if (expr.arguments.length > 0) {
|
|
17216
17381
|
argText = expr.arguments.map((a) => a.getText()).join(",");
|
|
17217
17382
|
}
|
|
17218
|
-
} else if (
|
|
17383
|
+
} else if (ts14.isIdentifier(expr)) {
|
|
17219
17384
|
decName = expr.text;
|
|
17220
17385
|
}
|
|
17221
17386
|
if (INPUT_OUTPUT_DECORATORS.has(decName))
|
|
@@ -17236,22 +17401,22 @@ var fail = (reason, detail, location) => ({
|
|
|
17236
17401
|
return cached.hasProviders;
|
|
17237
17402
|
let source;
|
|
17238
17403
|
try {
|
|
17239
|
-
source =
|
|
17404
|
+
source = readFileSync20(filePath, "utf8");
|
|
17240
17405
|
} catch {
|
|
17241
17406
|
return true;
|
|
17242
17407
|
}
|
|
17243
|
-
const sf =
|
|
17408
|
+
const sf = ts14.createSourceFile(filePath, source, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
|
|
17244
17409
|
let hasProviders = false;
|
|
17245
17410
|
const visit = (node) => {
|
|
17246
17411
|
if (hasProviders)
|
|
17247
17412
|
return;
|
|
17248
|
-
if (
|
|
17249
|
-
for (const decorator of
|
|
17413
|
+
if (ts14.isClassDeclaration(node)) {
|
|
17414
|
+
for (const decorator of ts14.getDecorators(node) ?? []) {
|
|
17250
17415
|
const expr = decorator.expression;
|
|
17251
|
-
if (!
|
|
17416
|
+
if (!ts14.isCallExpression(expr))
|
|
17252
17417
|
continue;
|
|
17253
17418
|
const arg = expr.arguments[0];
|
|
17254
|
-
if (!arg || !
|
|
17419
|
+
if (!arg || !ts14.isObjectLiteralExpression(arg))
|
|
17255
17420
|
continue;
|
|
17256
17421
|
if (getProperty(arg, "providers") !== null) {
|
|
17257
17422
|
hasProviders = true;
|
|
@@ -17259,7 +17424,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17259
17424
|
}
|
|
17260
17425
|
}
|
|
17261
17426
|
}
|
|
17262
|
-
|
|
17427
|
+
ts14.forEachChild(node, visit);
|
|
17263
17428
|
};
|
|
17264
17429
|
visit(sf);
|
|
17265
17430
|
providerProbeCache.set(filePath, {
|
|
@@ -17269,10 +17434,10 @@ var fail = (reason, detail, location) => ({
|
|
|
17269
17434
|
return hasProviders;
|
|
17270
17435
|
}, TS_EXTENSIONS, resolveImportSource = (identifierName, sourceFile, componentDir) => {
|
|
17271
17436
|
for (const stmt of sourceFile.statements) {
|
|
17272
|
-
if (!
|
|
17437
|
+
if (!ts14.isImportDeclaration(stmt))
|
|
17273
17438
|
continue;
|
|
17274
17439
|
const moduleSpec = stmt.moduleSpecifier;
|
|
17275
|
-
if (!
|
|
17440
|
+
if (!ts14.isStringLiteral(moduleSpec))
|
|
17276
17441
|
continue;
|
|
17277
17442
|
const spec = moduleSpec.text;
|
|
17278
17443
|
if (!spec.startsWith(".") && !spec.startsWith("/"))
|
|
@@ -17286,7 +17451,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17286
17451
|
}
|
|
17287
17452
|
if (importClause.namedBindings) {
|
|
17288
17453
|
const nb = importClause.namedBindings;
|
|
17289
|
-
if (
|
|
17454
|
+
if (ts14.isNamespaceImport(nb)) {
|
|
17290
17455
|
if (nb.name.text === identifierName)
|
|
17291
17456
|
matches = true;
|
|
17292
17457
|
} else {
|
|
@@ -17316,7 +17481,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17316
17481
|
return [];
|
|
17317
17482
|
const sig = [];
|
|
17318
17483
|
for (const entry of importsExpr.elements) {
|
|
17319
|
-
if (
|
|
17484
|
+
if (ts14.isIdentifier(entry)) {
|
|
17320
17485
|
const importPath = resolveImportSource(entry.text, sourceFile, componentDir);
|
|
17321
17486
|
if (importPath) {
|
|
17322
17487
|
if (fileHasModuleProviders(importPath)) {
|
|
@@ -17335,13 +17500,13 @@ var fail = (reason, detail, location) => ({
|
|
|
17335
17500
|
}, extractPropertyFieldNames = (cls) => {
|
|
17336
17501
|
const names = [];
|
|
17337
17502
|
for (const member of cls.members) {
|
|
17338
|
-
if (!
|
|
17503
|
+
if (!ts14.isPropertyDeclaration(member) && !ts14.isMethodDeclaration(member) && !ts14.isGetAccessorDeclaration(member) && !ts14.isSetAccessorDeclaration(member)) {
|
|
17339
17504
|
continue;
|
|
17340
17505
|
}
|
|
17341
17506
|
const name = member.name;
|
|
17342
17507
|
if (name === undefined)
|
|
17343
17508
|
continue;
|
|
17344
|
-
const text =
|
|
17509
|
+
const text = ts14.isIdentifier(name) ? name.text : ts14.isStringLiteral(name) || ts14.isNoSubstitutionTemplateLiteral(name) ? name.text : name.getText();
|
|
17345
17510
|
if (text.length > 0)
|
|
17346
17511
|
names.push(text);
|
|
17347
17512
|
}
|
|
@@ -17349,7 +17514,7 @@ var fail = (reason, detail, location) => ({
|
|
|
17349
17514
|
}, extractTopLevelImports = (sourceFile) => {
|
|
17350
17515
|
const names = new Set;
|
|
17351
17516
|
for (const stmt of sourceFile.statements) {
|
|
17352
|
-
if (!
|
|
17517
|
+
if (!ts14.isImportDeclaration(stmt))
|
|
17353
17518
|
continue;
|
|
17354
17519
|
const clause = stmt.importClause;
|
|
17355
17520
|
if (!clause)
|
|
@@ -17361,9 +17526,9 @@ var fail = (reason, detail, location) => ({
|
|
|
17361
17526
|
const bindings = clause.namedBindings;
|
|
17362
17527
|
if (!bindings)
|
|
17363
17528
|
continue;
|
|
17364
|
-
if (
|
|
17529
|
+
if (ts14.isNamespaceImport(bindings)) {
|
|
17365
17530
|
names.add(bindings.name.text);
|
|
17366
|
-
} else if (
|
|
17531
|
+
} else if (ts14.isNamedImports(bindings)) {
|
|
17367
17532
|
for (const el of bindings.elements) {
|
|
17368
17533
|
if (el.isTypeOnly)
|
|
17369
17534
|
continue;
|
|
@@ -17375,18 +17540,18 @@ var fail = (reason, detail, location) => ({
|
|
|
17375
17540
|
}, extractFingerprint = (cls, className, decoratorMeta, inputs, outputs, sourceFile, componentDir) => {
|
|
17376
17541
|
const ctorParamTypes = [];
|
|
17377
17542
|
for (const member of cls.members) {
|
|
17378
|
-
if (!
|
|
17543
|
+
if (!ts14.isConstructorDeclaration(member))
|
|
17379
17544
|
continue;
|
|
17380
17545
|
for (const param of member.parameters) {
|
|
17381
17546
|
const typeText = param.type ? param.type.getText() : "";
|
|
17382
|
-
const decorators =
|
|
17547
|
+
const decorators = ts14.getDecorators(param) ?? [];
|
|
17383
17548
|
const decoratorSig = decorators.length === 0 ? "" : decorators.map((d2) => {
|
|
17384
17549
|
const expr = d2.expression;
|
|
17385
|
-
if (
|
|
17550
|
+
if (ts14.isCallExpression(expr) && ts14.isIdentifier(expr.expression)) {
|
|
17386
17551
|
const args = expr.arguments.map((a) => a.getText()).join(",");
|
|
17387
17552
|
return `@${expr.expression.text}(${args})`;
|
|
17388
17553
|
}
|
|
17389
|
-
if (
|
|
17554
|
+
if (ts14.isIdentifier(expr)) {
|
|
17390
17555
|
return `@${expr.text}`;
|
|
17391
17556
|
}
|
|
17392
17557
|
return "@<unknown>";
|
|
@@ -17402,12 +17567,12 @@ var fail = (reason, detail, location) => ({
|
|
|
17402
17567
|
const providerImportSig = extractProviderImportSig(decoratorMeta.importsExpr, sourceFile, componentDir);
|
|
17403
17568
|
const topLevelImports = extractTopLevelImports(sourceFile);
|
|
17404
17569
|
const propertyFieldNames = extractPropertyFieldNames(cls);
|
|
17405
|
-
const printer =
|
|
17406
|
-
newLine:
|
|
17570
|
+
const printer = ts14.createPrinter({
|
|
17571
|
+
newLine: ts14.NewLineKind.LineFeed,
|
|
17407
17572
|
omitTrailingSemicolon: true,
|
|
17408
17573
|
removeComments: true
|
|
17409
17574
|
});
|
|
17410
|
-
const canonicalText = (node) => printer.printNode(
|
|
17575
|
+
const canonicalText = (node) => printer.printNode(ts14.EmitHint.Unspecified, node, sourceFile);
|
|
17411
17576
|
const importsArraySig = decoratorMeta.importsExpr ? djb2Hash(canonicalText(decoratorMeta.importsExpr)) : "";
|
|
17412
17577
|
const hostDirectivesSig = decoratorMeta.hostDirectivesExpr ? djb2Hash(canonicalText(decoratorMeta.hostDirectivesExpr)) : "";
|
|
17413
17578
|
const animationsArraySig = decoratorMeta.animationsExpr ? djb2Hash(canonicalText(decoratorMeta.animationsExpr)) : "";
|
|
@@ -17420,13 +17585,13 @@ var fail = (reason, detail, location) => ({
|
|
|
17420
17585
|
const PAGE_EXPORT_NAMES = new Set(["providers", "routes"]);
|
|
17421
17586
|
const pageExportEntries = [];
|
|
17422
17587
|
for (const stmt of sourceFile.statements) {
|
|
17423
|
-
if (!
|
|
17588
|
+
if (!ts14.isVariableStatement(stmt))
|
|
17424
17589
|
continue;
|
|
17425
|
-
const isExported = stmt.modifiers?.some((m) => m.kind ===
|
|
17590
|
+
const isExported = stmt.modifiers?.some((m) => m.kind === ts14.SyntaxKind.ExportKeyword);
|
|
17426
17591
|
if (!isExported)
|
|
17427
17592
|
continue;
|
|
17428
17593
|
for (const decl of stmt.declarationList.declarations) {
|
|
17429
|
-
if (!
|
|
17594
|
+
if (!ts14.isIdentifier(decl.name))
|
|
17430
17595
|
continue;
|
|
17431
17596
|
if (!PAGE_EXPORT_NAMES.has(decl.name.text))
|
|
17432
17597
|
continue;
|
|
@@ -17467,35 +17632,35 @@ var fail = (reason, detail, location) => ({
|
|
|
17467
17632
|
}, buildFreshClassMethodsBlock = (classNode, className) => {
|
|
17468
17633
|
const memberSources = [];
|
|
17469
17634
|
let hasStatic = false;
|
|
17470
|
-
const printer =
|
|
17635
|
+
const printer = ts14.createPrinter({ removeComments: true });
|
|
17471
17636
|
for (const member of classNode.members) {
|
|
17472
|
-
if (
|
|
17473
|
-
const modifiers = (
|
|
17474
|
-
const cleaned =
|
|
17475
|
-
memberSources.push(printer.printNode(
|
|
17637
|
+
if (ts14.isPropertyDeclaration(member)) {
|
|
17638
|
+
const modifiers = (ts14.getModifiers(member) ?? []).filter((m) => m.kind !== ts14.SyntaxKind.PrivateKeyword && m.kind !== ts14.SyntaxKind.PublicKeyword && m.kind !== ts14.SyntaxKind.ProtectedKeyword && m.kind !== ts14.SyntaxKind.ReadonlyKeyword && m.kind !== ts14.SyntaxKind.OverrideKeyword);
|
|
17639
|
+
const cleaned = ts14.factory.createPropertyDeclaration(modifiers, member.name, undefined, undefined, member.initializer);
|
|
17640
|
+
memberSources.push(printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
|
|
17476
17641
|
continue;
|
|
17477
17642
|
}
|
|
17478
|
-
if (
|
|
17479
|
-
const cleanedParams = member.parameters.map((param) =>
|
|
17480
|
-
const cleaned =
|
|
17481
|
-
memberSources.push(printer.printNode(
|
|
17643
|
+
if (ts14.isConstructorDeclaration(member)) {
|
|
17644
|
+
const cleanedParams = member.parameters.map((param) => ts14.factory.updateParameterDeclaration(param, (ts14.getModifiers(param) ?? []).filter((m) => m.kind !== ts14.SyntaxKind.PrivateKeyword && m.kind !== ts14.SyntaxKind.PublicKeyword && m.kind !== ts14.SyntaxKind.ProtectedKeyword && m.kind !== ts14.SyntaxKind.ReadonlyKeyword && m.kind !== ts14.SyntaxKind.OverrideKeyword), param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer));
|
|
17645
|
+
const cleaned = ts14.factory.createConstructorDeclaration([], cleanedParams, member.body);
|
|
17646
|
+
memberSources.push(printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
|
|
17482
17647
|
continue;
|
|
17483
17648
|
}
|
|
17484
|
-
if (
|
|
17485
|
-
const modifiers =
|
|
17486
|
-
const isStatic = modifiers.some((m) => m.kind ===
|
|
17649
|
+
if (ts14.isMethodDeclaration(member) || ts14.isGetAccessorDeclaration(member) || ts14.isSetAccessorDeclaration(member)) {
|
|
17650
|
+
const modifiers = ts14.getModifiers(member) ?? [];
|
|
17651
|
+
const isStatic = modifiers.some((m) => m.kind === ts14.SyntaxKind.StaticKeyword);
|
|
17487
17652
|
if (isStatic)
|
|
17488
17653
|
hasStatic = true;
|
|
17489
|
-
const cleanedParams = member.parameters.map((param) =>
|
|
17654
|
+
const cleanedParams = member.parameters.map((param) => ts14.factory.updateParameterDeclaration(param, ts14.getModifiers(param) ?? [], param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer));
|
|
17490
17655
|
let cleaned;
|
|
17491
|
-
if (
|
|
17492
|
-
cleaned =
|
|
17493
|
-
} else if (
|
|
17494
|
-
cleaned =
|
|
17656
|
+
if (ts14.isMethodDeclaration(member)) {
|
|
17657
|
+
cleaned = ts14.factory.createMethodDeclaration(modifiers, member.asteriskToken, member.name, member.questionToken, member.typeParameters, cleanedParams, member.type, member.body);
|
|
17658
|
+
} else if (ts14.isGetAccessorDeclaration(member)) {
|
|
17659
|
+
cleaned = ts14.factory.createGetAccessorDeclaration(modifiers, member.name, cleanedParams, member.type, member.body);
|
|
17495
17660
|
} else {
|
|
17496
|
-
cleaned =
|
|
17661
|
+
cleaned = ts14.factory.createSetAccessorDeclaration(modifiers, member.name, cleanedParams, member.body);
|
|
17497
17662
|
}
|
|
17498
|
-
const printed = printer.printNode(
|
|
17663
|
+
const printed = printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile());
|
|
17499
17664
|
memberSources.push(printed);
|
|
17500
17665
|
}
|
|
17501
17666
|
}
|
|
@@ -17507,10 +17672,10 @@ ${memberSources.join(`
|
|
|
17507
17672
|
}`;
|
|
17508
17673
|
let transpiled;
|
|
17509
17674
|
try {
|
|
17510
|
-
transpiled =
|
|
17675
|
+
transpiled = ts14.transpileModule(wrappedSource, {
|
|
17511
17676
|
compilerOptions: {
|
|
17512
|
-
module:
|
|
17513
|
-
target:
|
|
17677
|
+
module: ts14.ModuleKind.ES2022,
|
|
17678
|
+
target: ts14.ScriptTarget.ES2022
|
|
17514
17679
|
},
|
|
17515
17680
|
reportDiagnostics: false
|
|
17516
17681
|
}).outputText;
|
|
@@ -17544,7 +17709,7 @@ ${transpiled}
|
|
|
17544
17709
|
return null;
|
|
17545
17710
|
const ext = extname6(abs).toLowerCase();
|
|
17546
17711
|
if (!STYLE_PREPROCESSED_EXT.has(ext) || ext === ".css") {
|
|
17547
|
-
return
|
|
17712
|
+
return readFileSync20(abs, "utf8");
|
|
17548
17713
|
}
|
|
17549
17714
|
try {
|
|
17550
17715
|
const { compileStyleFileIfNeededSync: compileStyleFileIfNeededSync2 } = (init_stylePreprocessor(), __toCommonJS(exports_stylePreprocessor));
|
|
@@ -17583,8 +17748,8 @@ ${block}
|
|
|
17583
17748
|
const opts = {};
|
|
17584
17749
|
if (existsSync24(tsconfigPath)) {
|
|
17585
17750
|
try {
|
|
17586
|
-
const text =
|
|
17587
|
-
const parsed =
|
|
17751
|
+
const text = readFileSync20(tsconfigPath, "utf8");
|
|
17752
|
+
const parsed = ts14.parseConfigFileTextToJson(tsconfigPath, text);
|
|
17588
17753
|
if (!parsed.error && parsed.config) {
|
|
17589
17754
|
const cfg = parsed.config;
|
|
17590
17755
|
const ang = cfg.angularCompilerOptions ?? {};
|
|
@@ -17617,8 +17782,8 @@ ${block}
|
|
|
17617
17782
|
} catch (err) {
|
|
17618
17783
|
return fail("unexpected-error", `import @angular/compiler: ${err}`);
|
|
17619
17784
|
}
|
|
17620
|
-
const tsSource =
|
|
17621
|
-
const sourceFile =
|
|
17785
|
+
const tsSource = readFileSync20(componentFilePath, "utf8");
|
|
17786
|
+
const sourceFile = ts14.createSourceFile(componentFilePath, tsSource, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
|
|
17622
17787
|
const classNode = findClassDeclaration(sourceFile, className);
|
|
17623
17788
|
if (!classNode) {
|
|
17624
17789
|
return fail("class-not-found", `${className} in ${componentFilePath}`);
|
|
@@ -17667,7 +17832,7 @@ ${block}
|
|
|
17667
17832
|
if (!existsSync24(tplAbs)) {
|
|
17668
17833
|
return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
|
|
17669
17834
|
}
|
|
17670
|
-
templateText =
|
|
17835
|
+
templateText = readFileSync20(tplAbs, "utf8");
|
|
17671
17836
|
templatePath = tplAbs;
|
|
17672
17837
|
} else {
|
|
17673
17838
|
return fail("unsupported-decorator-args", "missing template/templateUrl");
|
|
@@ -17738,7 +17903,7 @@ ${block}
|
|
|
17738
17903
|
viewQueries: advancedMetadata.viewQueries,
|
|
17739
17904
|
host: advancedMetadata.host,
|
|
17740
17905
|
lifecycle: {
|
|
17741
|
-
usesOnChanges: classNode.members.some((m) =>
|
|
17906
|
+
usesOnChanges: classNode.members.some((m) => ts14.isMethodDeclaration(m) && m.name !== undefined && ts14.isIdentifier(m.name) && m.name.text === "ngOnChanges")
|
|
17742
17907
|
},
|
|
17743
17908
|
inputs,
|
|
17744
17909
|
outputs,
|
|
@@ -17794,15 +17959,15 @@ ${block}
|
|
|
17794
17959
|
}
|
|
17795
17960
|
const importGenerator = createHmrImportGenerator(namespaceMap);
|
|
17796
17961
|
const tsFunctionDecl = translateStatement(sourceFile, callback, importGenerator);
|
|
17797
|
-
const exportedDecl =
|
|
17798
|
-
|
|
17799
|
-
|
|
17962
|
+
const exportedDecl = ts14.factory.updateFunctionDeclaration(tsFunctionDecl, [
|
|
17963
|
+
ts14.factory.createToken(ts14.SyntaxKind.ExportKeyword),
|
|
17964
|
+
ts14.factory.createToken(ts14.SyntaxKind.DefaultKeyword)
|
|
17800
17965
|
], tsFunctionDecl.asteriskToken, tsFunctionDecl.name, tsFunctionDecl.typeParameters, tsFunctionDecl.parameters, tsFunctionDecl.type, tsFunctionDecl.body);
|
|
17801
|
-
const printer =
|
|
17802
|
-
newLine:
|
|
17966
|
+
const printer = ts14.createPrinter({
|
|
17967
|
+
newLine: ts14.NewLineKind.LineFeed,
|
|
17803
17968
|
removeComments: false
|
|
17804
17969
|
});
|
|
17805
|
-
const fnText = printer.printNode(
|
|
17970
|
+
const fnText = printer.printNode(ts14.EmitHint.Unspecified, exportedDecl, sourceFile);
|
|
17806
17971
|
const provisionalMethodsBlock = buildFreshClassMethodsBlock(classNode, className) ?? "";
|
|
17807
17972
|
const referencedNames = new Set;
|
|
17808
17973
|
const identRe = /[A-Za-z_$][A-Za-z0-9_$]*/g;
|
|
@@ -17812,33 +17977,33 @@ ${block}
|
|
|
17812
17977
|
}
|
|
17813
17978
|
const sourceScopeNames = new Set;
|
|
17814
17979
|
for (const stmt of sourceFile.statements) {
|
|
17815
|
-
if (
|
|
17816
|
-
if (!
|
|
17980
|
+
if (ts14.isImportDeclaration(stmt)) {
|
|
17981
|
+
if (!ts14.isStringLiteral(stmt.moduleSpecifier))
|
|
17817
17982
|
continue;
|
|
17818
17983
|
const clause = stmt.importClause;
|
|
17819
17984
|
if (clause?.name)
|
|
17820
17985
|
sourceScopeNames.add(clause.name.text);
|
|
17821
|
-
if (clause?.namedBindings &&
|
|
17986
|
+
if (clause?.namedBindings && ts14.isNamedImports(clause.namedBindings)) {
|
|
17822
17987
|
for (const el of clause.namedBindings.elements) {
|
|
17823
17988
|
if (el.isTypeOnly)
|
|
17824
17989
|
continue;
|
|
17825
17990
|
sourceScopeNames.add(el.name.text);
|
|
17826
17991
|
}
|
|
17827
|
-
} else if (clause?.namedBindings &&
|
|
17992
|
+
} else if (clause?.namedBindings && ts14.isNamespaceImport(clause.namedBindings)) {
|
|
17828
17993
|
sourceScopeNames.add(clause.namedBindings.name.text);
|
|
17829
17994
|
}
|
|
17830
17995
|
continue;
|
|
17831
17996
|
}
|
|
17832
|
-
if (
|
|
17997
|
+
if (ts14.isVariableStatement(stmt) || stmt.kind === ts14.SyntaxKind.VariableStatement) {
|
|
17833
17998
|
const varStmt = stmt;
|
|
17834
17999
|
for (const decl of varStmt.declarationList.declarations) {
|
|
17835
|
-
if (
|
|
18000
|
+
if (ts14.isIdentifier(decl.name)) {
|
|
17836
18001
|
sourceScopeNames.add(decl.name.text);
|
|
17837
18002
|
}
|
|
17838
18003
|
}
|
|
17839
18004
|
continue;
|
|
17840
18005
|
}
|
|
17841
|
-
if (
|
|
18006
|
+
if (ts14.isFunctionDeclaration(stmt) || ts14.isClassDeclaration(stmt)) {
|
|
17842
18007
|
if (stmt.name)
|
|
17843
18008
|
sourceScopeNames.add(stmt.name.text);
|
|
17844
18009
|
}
|
|
@@ -17849,7 +18014,7 @@ ${block}
|
|
|
17849
18014
|
}
|
|
17850
18015
|
const allImportedNames = new Set;
|
|
17851
18016
|
for (const stmt of sourceFile.statements) {
|
|
17852
|
-
if (!
|
|
18017
|
+
if (!ts14.isImportDeclaration(stmt))
|
|
17853
18018
|
continue;
|
|
17854
18019
|
const clause = stmt.importClause;
|
|
17855
18020
|
if (!clause || clause.isTypeOnly)
|
|
@@ -17859,7 +18024,7 @@ ${block}
|
|
|
17859
18024
|
const bindings = clause.namedBindings;
|
|
17860
18025
|
if (!bindings)
|
|
17861
18026
|
continue;
|
|
17862
|
-
if (
|
|
18027
|
+
if (ts14.isNamespaceImport(bindings)) {
|
|
17863
18028
|
allImportedNames.add(bindings.name.text);
|
|
17864
18029
|
} else {
|
|
17865
18030
|
for (const el of bindings.elements) {
|
|
@@ -17871,10 +18036,10 @@ ${block}
|
|
|
17871
18036
|
}
|
|
17872
18037
|
const depsToDestructure = [...sourceScopeNames].filter((n) => referencedNames.has(n) || allImportedNames.has(n));
|
|
17873
18038
|
const tsSourceText = fnText;
|
|
17874
|
-
const transpiled =
|
|
18039
|
+
const transpiled = ts14.transpileModule(tsSourceText, {
|
|
17875
18040
|
compilerOptions: {
|
|
17876
|
-
module:
|
|
17877
|
-
target:
|
|
18041
|
+
module: ts14.ModuleKind.ES2022,
|
|
18042
|
+
target: ts14.ScriptTarget.ES2022
|
|
17878
18043
|
},
|
|
17879
18044
|
fileName: componentFilePath,
|
|
17880
18045
|
reportDiagnostics: false
|
|
@@ -18426,7 +18591,7 @@ __export(exports_compileEmber, {
|
|
|
18426
18591
|
});
|
|
18427
18592
|
import { existsSync as existsSync25 } from "fs";
|
|
18428
18593
|
import { mkdir as mkdir6, rm as rm4 } from "fs/promises";
|
|
18429
|
-
import { basename as basename10, dirname as dirname18, extname as extname7, join as
|
|
18594
|
+
import { basename as basename10, dirname as dirname18, extname as extname7, join as join30, resolve as resolve26 } from "path";
|
|
18430
18595
|
var {build: bunBuild2, Transpiler: Transpiler4, write: write4, file: file4 } = globalThis.Bun;
|
|
18431
18596
|
var cachedPreprocessor = null, getPreprocessor = async () => {
|
|
18432
18597
|
if (cachedPreprocessor)
|
|
@@ -18545,7 +18710,7 @@ export const importSync = (specifier) => {
|
|
|
18545
18710
|
build2.onResolve({ filter: /^@(?:ember|glimmer|simple-dom)\// }, (args) => {
|
|
18546
18711
|
if (standalonePackages.has(args.path))
|
|
18547
18712
|
return;
|
|
18548
|
-
const internal =
|
|
18713
|
+
const internal = join30(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
18549
18714
|
if (existsSync25(internal))
|
|
18550
18715
|
return { path: internal };
|
|
18551
18716
|
return;
|
|
@@ -18593,16 +18758,16 @@ export default PageComponent;
|
|
|
18593
18758
|
}
|
|
18594
18759
|
const transpiled = transpiler5.transformSync(preprocessed);
|
|
18595
18760
|
const baseName = basename10(resolvedEntry).replace(/\.(gjs|gts|ts|js)$/, "");
|
|
18596
|
-
const tmpDir =
|
|
18597
|
-
const serverDir =
|
|
18598
|
-
const clientDir =
|
|
18761
|
+
const tmpDir = join30(compiledRoot, "_tmp");
|
|
18762
|
+
const serverDir = join30(compiledRoot, "server");
|
|
18763
|
+
const clientDir = join30(compiledRoot, "client");
|
|
18599
18764
|
await Promise.all([
|
|
18600
18765
|
mkdir6(tmpDir, { recursive: true }),
|
|
18601
18766
|
mkdir6(serverDir, { recursive: true }),
|
|
18602
18767
|
mkdir6(clientDir, { recursive: true })
|
|
18603
18768
|
]);
|
|
18604
|
-
const tmpPagePath = resolve26(
|
|
18605
|
-
const tmpHarnessPath = resolve26(
|
|
18769
|
+
const tmpPagePath = resolve26(join30(tmpDir, `${baseName}.module.js`));
|
|
18770
|
+
const tmpHarnessPath = resolve26(join30(tmpDir, `${baseName}.harness.js`));
|
|
18606
18771
|
await Promise.all([
|
|
18607
18772
|
write4(tmpPagePath, transpiled),
|
|
18608
18773
|
write4(tmpHarnessPath, generateServerHarness(tmpPagePath))
|
|
@@ -18610,7 +18775,7 @@ export default PageComponent;
|
|
|
18610
18775
|
const stagedSourceMap = new Map([
|
|
18611
18776
|
[tmpPagePath, resolvedEntry]
|
|
18612
18777
|
]);
|
|
18613
|
-
const serverPath =
|
|
18778
|
+
const serverPath = join30(serverDir, `${baseName}.js`);
|
|
18614
18779
|
const buildResult = await bunBuild2({
|
|
18615
18780
|
entrypoints: [tmpHarnessPath],
|
|
18616
18781
|
format: "esm",
|
|
@@ -18627,7 +18792,7 @@ export default PageComponent;
|
|
|
18627
18792
|
console.warn(`\u26A0\uFE0F Ember server build for ${baseName} had errors:`, buildResult.logs);
|
|
18628
18793
|
}
|
|
18629
18794
|
await rm4(tmpDir, { force: true, recursive: true });
|
|
18630
|
-
const clientPath =
|
|
18795
|
+
const clientPath = join30(clientDir, `${baseName}.js`);
|
|
18631
18796
|
await write4(clientPath, transpiled);
|
|
18632
18797
|
return { clientPath, serverPath };
|
|
18633
18798
|
}, compileEmber = async (entries, emberDir, cwd = process.cwd(), _hmr = false) => {
|
|
@@ -18655,7 +18820,7 @@ export default PageComponent;
|
|
|
18655
18820
|
preprocessed = rewriteTemplateEvalToScope(result.code);
|
|
18656
18821
|
}
|
|
18657
18822
|
return transpiler5.transformSync(preprocessed);
|
|
18658
|
-
}, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) =>
|
|
18823
|
+
}, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join30(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join30(getEmberCompiledRoot(emberDir), "client");
|
|
18659
18824
|
var init_compileEmber = __esm(() => {
|
|
18660
18825
|
init_generatedDir();
|
|
18661
18826
|
transpiler5 = new Transpiler4({
|
|
@@ -18677,7 +18842,7 @@ __export(exports_buildReactVendor, {
|
|
|
18677
18842
|
buildReactVendor: () => buildReactVendor
|
|
18678
18843
|
});
|
|
18679
18844
|
import { existsSync as existsSync26, mkdirSync as mkdirSync8 } from "fs";
|
|
18680
|
-
import { join as
|
|
18845
|
+
import { join as join31, resolve as resolve27 } from "path";
|
|
18681
18846
|
import { rm as rm5 } from "fs/promises";
|
|
18682
18847
|
var {build: bunBuild3 } = globalThis.Bun;
|
|
18683
18848
|
var resolveJsxDevRuntimeCompatPath = () => {
|
|
@@ -18731,14 +18896,14 @@ var resolveJsxDevRuntimeCompatPath = () => {
|
|
|
18731
18896
|
`)}
|
|
18732
18897
|
`;
|
|
18733
18898
|
}, buildReactVendor = async (buildDir) => {
|
|
18734
|
-
const vendorDir =
|
|
18899
|
+
const vendorDir = join31(buildDir, "react", "vendor");
|
|
18735
18900
|
mkdirSync8(vendorDir, { recursive: true });
|
|
18736
|
-
const tmpDir =
|
|
18901
|
+
const tmpDir = join31(buildDir, "_vendor_tmp");
|
|
18737
18902
|
mkdirSync8(tmpDir, { recursive: true });
|
|
18738
18903
|
const specifiers = resolveVendorSpecifiers();
|
|
18739
18904
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
18740
18905
|
const safeName = toSafeFileName(specifier);
|
|
18741
|
-
const entryPath =
|
|
18906
|
+
const entryPath = join31(tmpDir, `${safeName}.ts`);
|
|
18742
18907
|
const source = await generateEntrySource(specifier);
|
|
18743
18908
|
await Bun.write(entryPath, source);
|
|
18744
18909
|
return entryPath;
|
|
@@ -18803,7 +18968,7 @@ __export(exports_buildAngularVendor, {
|
|
|
18803
18968
|
buildAngularServerVendor: () => buildAngularServerVendor
|
|
18804
18969
|
});
|
|
18805
18970
|
import { mkdirSync as mkdirSync9 } from "fs";
|
|
18806
|
-
import { join as
|
|
18971
|
+
import { join as join32 } from "path";
|
|
18807
18972
|
import { rm as rm6 } from "fs/promises";
|
|
18808
18973
|
var {build: bunBuild4, Glob: Glob7 } = globalThis.Bun;
|
|
18809
18974
|
var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => jitMode ? [...REQUIRED_ANGULAR_SPECIFIERS_BASE, "@angular/compiler"] : REQUIRED_ANGULAR_SPECIFIERS_BASE, SERVER_ONLY_ANGULAR_SPECIFIERS, BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES, isBuildOnlyAngularSpecifier = (spec) => BUILD_ONLY_ANGULAR_SPECIFIER_PREFIXES.some((prefix) => spec === prefix || spec.startsWith(`${prefix}/`)), SCAN_SKIP_DIRS, isResolvable2 = (specifier) => {
|
|
@@ -18840,7 +19005,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18840
19005
|
}
|
|
18841
19006
|
return { angular, transitiveRoots };
|
|
18842
19007
|
}, PARTIAL_DECL_MARKERS, containsPartialDeclarations = (source) => PARTIAL_DECL_MARKERS.some((marker) => source.includes(marker)), collectTransitiveAngularSpecs = async (roots, angularFound) => {
|
|
18843
|
-
const { readFileSync:
|
|
19008
|
+
const { readFileSync: readFileSync21 } = await import("fs");
|
|
18844
19009
|
const transpiler6 = new Bun.Transpiler({ loader: "js" });
|
|
18845
19010
|
const visited = new Set;
|
|
18846
19011
|
const frontier = [];
|
|
@@ -18861,7 +19026,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18861
19026
|
}
|
|
18862
19027
|
let content;
|
|
18863
19028
|
try {
|
|
18864
|
-
content =
|
|
19029
|
+
content = readFileSync21(resolved, "utf-8");
|
|
18865
19030
|
} catch {
|
|
18866
19031
|
continue;
|
|
18867
19032
|
}
|
|
@@ -18900,14 +19065,14 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18900
19065
|
await collectTransitiveAngularSpecs([...angular, ...transitiveRoots], angular);
|
|
18901
19066
|
return Array.from(angular).filter(isResolvable2);
|
|
18902
19067
|
}, buildAngularVendor = async (buildDir, directories = [], linkerJitMode = false, depVendorSpecifiers = []) => {
|
|
18903
|
-
const vendorDir =
|
|
19068
|
+
const vendorDir = join32(buildDir, "angular", "vendor");
|
|
18904
19069
|
mkdirSync9(vendorDir, { recursive: true });
|
|
18905
|
-
const tmpDir =
|
|
19070
|
+
const tmpDir = join32(buildDir, "_angular_vendor_tmp");
|
|
18906
19071
|
mkdirSync9(tmpDir, { recursive: true });
|
|
18907
19072
|
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
18908
19073
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
18909
19074
|
const safeName = toSafeFileName2(specifier);
|
|
18910
|
-
const entryPath =
|
|
19075
|
+
const entryPath = join32(tmpDir, `${safeName}.ts`);
|
|
18911
19076
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
18912
19077
|
return entryPath;
|
|
18913
19078
|
}));
|
|
@@ -18938,9 +19103,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18938
19103
|
const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
18939
19104
|
return computeAngularVendorPaths(specifiers);
|
|
18940
19105
|
}, buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode = false) => {
|
|
18941
|
-
const vendorDir =
|
|
19106
|
+
const vendorDir = join32(buildDir, "angular", "vendor", "server");
|
|
18942
19107
|
mkdirSync9(vendorDir, { recursive: true });
|
|
18943
|
-
const tmpDir =
|
|
19108
|
+
const tmpDir = join32(buildDir, "_angular_server_vendor_tmp");
|
|
18944
19109
|
mkdirSync9(tmpDir, { recursive: true });
|
|
18945
19110
|
const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
|
|
18946
19111
|
const allSpecs = new Set(browserSpecs);
|
|
@@ -18951,7 +19116,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18951
19116
|
const specifiers = Array.from(allSpecs);
|
|
18952
19117
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
18953
19118
|
const safeName = toSafeFileName2(specifier);
|
|
18954
|
-
const entryPath =
|
|
19119
|
+
const entryPath = join32(tmpDir, `${safeName}.ts`);
|
|
18955
19120
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
18956
19121
|
return entryPath;
|
|
18957
19122
|
}));
|
|
@@ -18973,9 +19138,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
|
|
|
18973
19138
|
return specifiers;
|
|
18974
19139
|
}, computeAngularServerVendorPaths = (buildDir, specifiers) => {
|
|
18975
19140
|
const paths = {};
|
|
18976
|
-
const vendorDir =
|
|
19141
|
+
const vendorDir = join32(buildDir, "angular", "vendor", "server");
|
|
18977
19142
|
for (const specifier of specifiers) {
|
|
18978
|
-
paths[specifier] =
|
|
19143
|
+
paths[specifier] = join32(vendorDir, `${toSafeFileName2(specifier)}.js`);
|
|
18979
19144
|
}
|
|
18980
19145
|
return paths;
|
|
18981
19146
|
}, computeAngularServerVendorPathsAsync = async (buildDir, directories = [], linkerJitMode = true) => {
|
|
@@ -19031,17 +19196,17 @@ __export(exports_buildVueVendor, {
|
|
|
19031
19196
|
buildVueVendor: () => buildVueVendor
|
|
19032
19197
|
});
|
|
19033
19198
|
import { mkdirSync as mkdirSync10 } from "fs";
|
|
19034
|
-
import { join as
|
|
19199
|
+
import { join as join33 } from "path";
|
|
19035
19200
|
import { rm as rm7 } from "fs/promises";
|
|
19036
19201
|
var {build: bunBuild5 } = globalThis.Bun;
|
|
19037
19202
|
var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"), buildVueVendor = async (buildDir) => {
|
|
19038
|
-
const vendorDir =
|
|
19203
|
+
const vendorDir = join33(buildDir, "vue", "vendor");
|
|
19039
19204
|
mkdirSync10(vendorDir, { recursive: true });
|
|
19040
|
-
const tmpDir =
|
|
19205
|
+
const tmpDir = join33(buildDir, "_vue_vendor_tmp");
|
|
19041
19206
|
mkdirSync10(tmpDir, { recursive: true });
|
|
19042
19207
|
const entrypoints = await Promise.all(vueSpecifiers.map(async (specifier) => {
|
|
19043
19208
|
const safeName = toSafeFileName3(specifier);
|
|
19044
|
-
const entryPath =
|
|
19209
|
+
const entryPath = join33(tmpDir, `${safeName}.ts`);
|
|
19045
19210
|
await Bun.write(entryPath, `export * from '${specifier}';
|
|
19046
19211
|
`);
|
|
19047
19212
|
return entryPath;
|
|
@@ -19066,11 +19231,11 @@ var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"
|
|
|
19066
19231
|
console.warn("\u26A0\uFE0F Vue vendor build had errors:", result.logs);
|
|
19067
19232
|
return;
|
|
19068
19233
|
}
|
|
19069
|
-
const { readFileSync:
|
|
19070
|
-
const files =
|
|
19234
|
+
const { readFileSync: readFileSync21, writeFileSync: writeFileSync9, readdirSync: readdirSync5 } = await import("fs");
|
|
19235
|
+
const files = readdirSync5(vendorDir).filter((f2) => f2.endsWith(".js"));
|
|
19071
19236
|
for (const file5 of files) {
|
|
19072
|
-
const filePath =
|
|
19073
|
-
const content =
|
|
19237
|
+
const filePath = join33(vendorDir, file5);
|
|
19238
|
+
const content = readFileSync21(filePath, "utf-8");
|
|
19074
19239
|
if (!content.includes("__VUE_HMR_RUNTIME__"))
|
|
19075
19240
|
continue;
|
|
19076
19241
|
const patched = content.replace(/getGlobalThis\(\)\.__VUE_HMR_RUNTIME__\s*=\s*\{/, "getGlobalThis().__VUE_HMR_RUNTIME__ = getGlobalThis().__VUE_HMR_RUNTIME__ || {");
|
|
@@ -19096,7 +19261,7 @@ __export(exports_buildSvelteVendor, {
|
|
|
19096
19261
|
buildSvelteVendor: () => buildSvelteVendor
|
|
19097
19262
|
});
|
|
19098
19263
|
import { mkdirSync as mkdirSync11 } from "fs";
|
|
19099
|
-
import { join as
|
|
19264
|
+
import { join as join34 } from "path";
|
|
19100
19265
|
import { rm as rm8 } from "fs/promises";
|
|
19101
19266
|
var {build: bunBuild6 } = globalThis.Bun;
|
|
19102
19267
|
var svelteSpecifiers, isResolvable3 = (specifier) => {
|
|
@@ -19110,13 +19275,13 @@ var svelteSpecifiers, isResolvable3 = (specifier) => {
|
|
|
19110
19275
|
const specifiers = resolveVendorSpecifiers2();
|
|
19111
19276
|
if (specifiers.length === 0)
|
|
19112
19277
|
return;
|
|
19113
|
-
const vendorDir =
|
|
19278
|
+
const vendorDir = join34(buildDir, "svelte", "vendor");
|
|
19114
19279
|
mkdirSync11(vendorDir, { recursive: true });
|
|
19115
|
-
const tmpDir =
|
|
19280
|
+
const tmpDir = join34(buildDir, "_svelte_vendor_tmp");
|
|
19116
19281
|
mkdirSync11(tmpDir, { recursive: true });
|
|
19117
19282
|
const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
|
|
19118
19283
|
const safeName = toSafeFileName4(specifier);
|
|
19119
|
-
const entryPath =
|
|
19284
|
+
const entryPath = join34(tmpDir, `${safeName}.ts`);
|
|
19120
19285
|
await Bun.write(entryPath, `export * from '${specifier}';
|
|
19121
19286
|
`);
|
|
19122
19287
|
return entryPath;
|
|
@@ -19166,7 +19331,7 @@ __export(exports_rewriteImportsPlugin, {
|
|
|
19166
19331
|
buildWithImportRewrite: () => buildWithImportRewrite
|
|
19167
19332
|
});
|
|
19168
19333
|
import { readdir as readdir3 } from "fs/promises";
|
|
19169
|
-
import { join as
|
|
19334
|
+
import { join as join35 } from "path";
|
|
19170
19335
|
var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), jsRewriteImports = (content, replacements) => {
|
|
19171
19336
|
let result = content;
|
|
19172
19337
|
for (const [specifier, webPath] of replacements) {
|
|
@@ -19295,7 +19460,7 @@ ${content}`;
|
|
|
19295
19460
|
const entries = await readdir3(dir);
|
|
19296
19461
|
for (const entry of entries) {
|
|
19297
19462
|
if (entry.endsWith(".js"))
|
|
19298
|
-
allFiles.push(
|
|
19463
|
+
allFiles.push(join35(dir, entry));
|
|
19299
19464
|
}
|
|
19300
19465
|
} catch {}
|
|
19301
19466
|
}
|
|
@@ -19339,12 +19504,12 @@ import {
|
|
|
19339
19504
|
cpSync,
|
|
19340
19505
|
existsSync as existsSync27,
|
|
19341
19506
|
mkdirSync as mkdirSync12,
|
|
19342
|
-
readFileSync as
|
|
19507
|
+
readFileSync as readFileSync21,
|
|
19343
19508
|
rmSync as rmSync2,
|
|
19344
19509
|
statSync as statSync3,
|
|
19345
19510
|
writeFileSync as writeFileSync9
|
|
19346
19511
|
} from "fs";
|
|
19347
|
-
import { basename as basename11, dirname as dirname19, extname as extname8, join as
|
|
19512
|
+
import { basename as basename11, dirname as dirname19, extname as extname8, join as join36, relative as relative13, resolve as resolve28 } from "path";
|
|
19348
19513
|
import { cwd, env as env3, exit } from "process";
|
|
19349
19514
|
var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
|
|
19350
19515
|
var isDev2, isBuildTraceEnabled = () => {
|
|
@@ -19422,8 +19587,8 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19422
19587
|
mkdirSync12(htmxDestDir, { recursive: true });
|
|
19423
19588
|
const glob = new Glob8("htmx*.min.js");
|
|
19424
19589
|
for (const relPath of glob.scanSync({ cwd: htmxDir })) {
|
|
19425
|
-
const src =
|
|
19426
|
-
const dest =
|
|
19590
|
+
const src = join36(htmxDir, relPath);
|
|
19591
|
+
const dest = join36(htmxDestDir, "htmx.min.js");
|
|
19427
19592
|
copyFileSync2(src, dest);
|
|
19428
19593
|
return;
|
|
19429
19594
|
}
|
|
@@ -19451,7 +19616,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19451
19616
|
globalThis.__absoluteVersion = pkg.version;
|
|
19452
19617
|
};
|
|
19453
19618
|
await resolveCandidate(candidates);
|
|
19454
|
-
},
|
|
19619
|
+
}, SKIP_DIRS5, addWorkerPathIfExists = (file5, relPath, workerPaths) => {
|
|
19455
19620
|
const absPath = resolve28(file5, "..", relPath);
|
|
19456
19621
|
try {
|
|
19457
19622
|
statSync3(absPath);
|
|
@@ -19467,7 +19632,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19467
19632
|
addWorkerPathIfExists(file5, relPath, workerPaths);
|
|
19468
19633
|
}
|
|
19469
19634
|
}, collectWorkerPathsFromFile = (file5, patterns, workerPaths) => {
|
|
19470
|
-
const content =
|
|
19635
|
+
const content = readFileSync21(file5, "utf-8");
|
|
19471
19636
|
for (const pattern of patterns) {
|
|
19472
19637
|
collectWorkerPathsFromContent(content, pattern, file5, workerPaths);
|
|
19473
19638
|
}
|
|
@@ -19476,7 +19641,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19476
19641
|
for await (const file5 of glob.scan({ absolute: true, cwd: dir })) {
|
|
19477
19642
|
const relToDir = file5.slice(dir.length + 1);
|
|
19478
19643
|
const [firstSegment] = relToDir.split("/");
|
|
19479
|
-
if (firstSegment &&
|
|
19644
|
+
if (firstSegment && SKIP_DIRS5.has(firstSegment))
|
|
19480
19645
|
continue;
|
|
19481
19646
|
collectWorkerPathsFromFile(file5, patterns, workerPaths);
|
|
19482
19647
|
}
|
|
@@ -19498,7 +19663,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19498
19663
|
vuePagesPath
|
|
19499
19664
|
}) => {
|
|
19500
19665
|
const { readdirSync: readDir } = await import("fs");
|
|
19501
|
-
const devIndexDir =
|
|
19666
|
+
const devIndexDir = join36(buildPath, "_src_indexes");
|
|
19502
19667
|
mkdirSync12(devIndexDir, { recursive: true });
|
|
19503
19668
|
if (reactIndexesPath && reactPagesPath) {
|
|
19504
19669
|
copyReactDevIndexes(reactIndexesPath, reactPagesPath, devIndexDir, readDir);
|
|
@@ -19516,35 +19681,35 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19516
19681
|
const indexFiles = readDir(reactIndexesPath).filter((file5) => file5.endsWith(".tsx"));
|
|
19517
19682
|
const pagesRel = relative13(process.cwd(), resolve28(reactPagesPath)).replace(/\\/g, "/");
|
|
19518
19683
|
for (const file5 of indexFiles) {
|
|
19519
|
-
let content =
|
|
19684
|
+
let content = readFileSync21(join36(reactIndexesPath, file5), "utf-8");
|
|
19520
19685
|
content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
|
|
19521
|
-
writeFileSync9(
|
|
19686
|
+
writeFileSync9(join36(devIndexDir, file5), content);
|
|
19522
19687
|
}
|
|
19523
19688
|
}, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
|
|
19524
|
-
const svelteIndexDir =
|
|
19689
|
+
const svelteIndexDir = join36(getFrameworkGeneratedDir("svelte"), "indexes");
|
|
19525
19690
|
const sveltePageEntries = svelteEntries.filter((file5) => resolve28(file5).startsWith(resolve28(sveltePagesPath)));
|
|
19526
19691
|
for (const entry of sveltePageEntries) {
|
|
19527
19692
|
const name = basename11(entry).replace(/\.svelte(\.(ts|js))?$/, "");
|
|
19528
|
-
const indexFile =
|
|
19693
|
+
const indexFile = join36(svelteIndexDir, "pages", `${name}.js`);
|
|
19529
19694
|
if (!existsSync27(indexFile))
|
|
19530
19695
|
continue;
|
|
19531
|
-
let content =
|
|
19696
|
+
let content = readFileSync21(indexFile, "utf-8");
|
|
19532
19697
|
const srcRel = relative13(process.cwd(), resolve28(entry)).replace(/\\/g, "/");
|
|
19533
19698
|
content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
|
|
19534
|
-
writeFileSync9(
|
|
19699
|
+
writeFileSync9(join36(devIndexDir, `${name}.svelte.js`), content);
|
|
19535
19700
|
}
|
|
19536
19701
|
}, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
|
|
19537
|
-
const vueIndexDir =
|
|
19702
|
+
const vueIndexDir = join36(getFrameworkGeneratedDir("vue"), "indexes");
|
|
19538
19703
|
const vuePageEntries = vueEntries.filter((file5) => resolve28(file5).startsWith(resolve28(vuePagesPath)));
|
|
19539
19704
|
for (const entry of vuePageEntries) {
|
|
19540
19705
|
const name = basename11(entry, ".vue");
|
|
19541
|
-
const indexFile =
|
|
19706
|
+
const indexFile = join36(vueIndexDir, `${name}.js`);
|
|
19542
19707
|
if (!existsSync27(indexFile))
|
|
19543
19708
|
continue;
|
|
19544
|
-
let content =
|
|
19709
|
+
let content = readFileSync21(indexFile, "utf-8");
|
|
19545
19710
|
const srcRel = relative13(process.cwd(), resolve28(entry)).replace(/\\/g, "/");
|
|
19546
19711
|
content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
|
|
19547
|
-
writeFileSync9(
|
|
19712
|
+
writeFileSync9(join36(devIndexDir, `${name}.vue.js`), content);
|
|
19548
19713
|
}
|
|
19549
19714
|
}, resolveVueRuntimeId = (content, firstUseName, outputPath, projectRoot) => {
|
|
19550
19715
|
const varIdx = content.indexOf(`var ${firstUseName} =`);
|
|
@@ -19592,7 +19757,7 @@ var isDev2, isBuildTraceEnabled = () => {
|
|
|
19592
19757
|
}
|
|
19593
19758
|
return result;
|
|
19594
19759
|
}, VUE_HMR_RUNTIME, injectVueComposableTracking = (outputPath, projectRoot) => {
|
|
19595
|
-
let content =
|
|
19760
|
+
let content = readFileSync21(outputPath, "utf-8");
|
|
19596
19761
|
const usePattern = /^var\s+(use[A-Z]\w*)\s*=/gm;
|
|
19597
19762
|
const useNames = [];
|
|
19598
19763
|
let match;
|
|
@@ -19642,7 +19807,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19642
19807
|
}, rewriteUrlReferences = (outputPaths, urlFileMap) => {
|
|
19643
19808
|
const urlPattern = /new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g;
|
|
19644
19809
|
for (const outputPath of outputPaths) {
|
|
19645
|
-
let content =
|
|
19810
|
+
let content = readFileSync21(outputPath, "utf-8");
|
|
19646
19811
|
let changed = false;
|
|
19647
19812
|
content = content.replace(urlPattern, (_match, relPath) => {
|
|
19648
19813
|
const targetName = basename11(relPath);
|
|
@@ -19767,10 +19932,10 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19767
19932
|
restoreTracePhase();
|
|
19768
19933
|
return;
|
|
19769
19934
|
}
|
|
19770
|
-
const traceDir =
|
|
19935
|
+
const traceDir = join36(buildPath2, ".absolute-trace");
|
|
19771
19936
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
19772
19937
|
mkdirSync12(traceDir, { recursive: true });
|
|
19773
|
-
writeFileSync9(
|
|
19938
|
+
writeFileSync9(join36(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
|
|
19774
19939
|
events: traceEvents,
|
|
19775
19940
|
frameworks: traceFrameworkNames,
|
|
19776
19941
|
generatedAt: new Date().toISOString(),
|
|
@@ -19801,15 +19966,15 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19801
19966
|
const stylesPath = typeof stylesConfig === "string" ? stylesConfig : stylesConfig?.path;
|
|
19802
19967
|
const stylesIgnore = typeof stylesConfig === "object" ? stylesConfig.ignore : undefined;
|
|
19803
19968
|
const stylesDir = stylesPath && validateSafePath(stylesPath, projectRoot);
|
|
19804
|
-
const reactIndexesPath = reactDir &&
|
|
19805
|
-
const reactPagesPath = reactDir &&
|
|
19806
|
-
const htmlPagesPath = htmlDir &&
|
|
19807
|
-
const htmlScriptsPath = htmlDir &&
|
|
19808
|
-
const sveltePagesPath = svelteDir &&
|
|
19809
|
-
const vuePagesPath = vueDir &&
|
|
19810
|
-
const htmxPagesPath = htmxDir &&
|
|
19811
|
-
const angularPagesPath = angularDir &&
|
|
19812
|
-
const emberPagesPath = emberDir &&
|
|
19969
|
+
const reactIndexesPath = reactDir && join36(getFrameworkGeneratedDir("react"), "indexes");
|
|
19970
|
+
const reactPagesPath = reactDir && join36(reactDir, "pages");
|
|
19971
|
+
const htmlPagesPath = htmlDir && join36(htmlDir, "pages");
|
|
19972
|
+
const htmlScriptsPath = htmlDir && join36(htmlDir, "scripts");
|
|
19973
|
+
const sveltePagesPath = svelteDir && join36(svelteDir, "pages");
|
|
19974
|
+
const vuePagesPath = vueDir && join36(vueDir, "pages");
|
|
19975
|
+
const htmxPagesPath = htmxDir && join36(htmxDir, "pages");
|
|
19976
|
+
const angularPagesPath = angularDir && join36(angularDir, "pages");
|
|
19977
|
+
const emberPagesPath = emberDir && join36(emberDir, "pages");
|
|
19813
19978
|
const frontends = [
|
|
19814
19979
|
reactDir,
|
|
19815
19980
|
htmlDir,
|
|
@@ -19868,8 +20033,8 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19868
20033
|
const [firstEntry] = serverDirMap;
|
|
19869
20034
|
if (!firstEntry)
|
|
19870
20035
|
throw new Error("Expected at least one server directory entry");
|
|
19871
|
-
serverRoot =
|
|
19872
|
-
serverOutDir =
|
|
20036
|
+
serverRoot = join36(firstEntry.dir, firstEntry.subdir);
|
|
20037
|
+
serverOutDir = join36(buildPath, basename11(firstEntry.dir));
|
|
19873
20038
|
} else if (serverDirMap.length > 1) {
|
|
19874
20039
|
serverRoot = commonAncestor(serverDirMap.map((entry) => entry.dir), projectRoot);
|
|
19875
20040
|
serverOutDir = buildPath;
|
|
@@ -19897,7 +20062,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
19897
20062
|
await tracePhase("react/index-generation", () => generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr));
|
|
19898
20063
|
}
|
|
19899
20064
|
if (assetsPath && (!isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/assets/")))) {
|
|
19900
|
-
await tracePhase("assets/copy", () => cpSync(assetsPath,
|
|
20065
|
+
await tracePhase("assets/copy", () => cpSync(assetsPath, join36(buildPath, "assets"), {
|
|
19901
20066
|
force: true,
|
|
19902
20067
|
recursive: true
|
|
19903
20068
|
}));
|
|
@@ -20007,11 +20172,11 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20007
20172
|
}
|
|
20008
20173
|
}
|
|
20009
20174
|
if (htmlDefaults.error || htmlDefaults.notFound || htmlDefaults.loading || Object.keys(htmlPages).length > 0) {
|
|
20010
|
-
const htmlConventionsOutDir =
|
|
20175
|
+
const htmlConventionsOutDir = join36(buildPath, "conventions", "html");
|
|
20011
20176
|
mkdirSync12(htmlConventionsOutDir, { recursive: true });
|
|
20012
20177
|
const htmlPathRemap = new Map;
|
|
20013
20178
|
for (const sourcePath of htmlConventionSources) {
|
|
20014
|
-
const dest =
|
|
20179
|
+
const dest = join36(htmlConventionsOutDir, basename11(sourcePath));
|
|
20015
20180
|
cpSync(sourcePath, dest, { force: true });
|
|
20016
20181
|
htmlPathRemap.set(sourcePath, dest);
|
|
20017
20182
|
}
|
|
@@ -20054,7 +20219,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20054
20219
|
const reactEntries = isIncremental && reactIndexesPath && reactPagesPath ? filterToIncrementalEntries(allReactEntries, (entry) => {
|
|
20055
20220
|
if (entry.startsWith(resolve28(reactIndexesPath))) {
|
|
20056
20221
|
const pageName = basename11(entry, ".tsx");
|
|
20057
|
-
return
|
|
20222
|
+
return join36(reactPagesPath, `${pageName}.tsx`);
|
|
20058
20223
|
}
|
|
20059
20224
|
return null;
|
|
20060
20225
|
}) : allReactEntries;
|
|
@@ -20077,6 +20242,20 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20077
20242
|
const shouldCompileSvelte = svelteDir && svelteEntries.length > 0;
|
|
20078
20243
|
const shouldCompileVue = vueDir && vueEntries.length > 0;
|
|
20079
20244
|
const shouldCompileAngular = angularDir && angularEntries.length > 0;
|
|
20245
|
+
const ssrOnlyVueEntries = shouldCompileVue ? await tracePhase("scan/vue-ssr-only", async () => {
|
|
20246
|
+
const { scanVueSsrOnlyPages: scanVueSsrOnlyPages2 } = await Promise.resolve().then(() => (init_scanVueSsrOnlyPages(), exports_scanVueSsrOnlyPages));
|
|
20247
|
+
const ssrOnlyPageNames = scanVueSsrOnlyPages2(projectRoot);
|
|
20248
|
+
if (ssrOnlyPageNames.size === 0)
|
|
20249
|
+
return new Set;
|
|
20250
|
+
const resolved = new Set;
|
|
20251
|
+
for (const entry of vueEntries) {
|
|
20252
|
+
const name = basename11(entry, ".vue");
|
|
20253
|
+
if (ssrOnlyPageNames.has(name)) {
|
|
20254
|
+
resolved.add(resolve28(entry));
|
|
20255
|
+
}
|
|
20256
|
+
}
|
|
20257
|
+
return resolved;
|
|
20258
|
+
}) : new Set;
|
|
20080
20259
|
const shouldCompileEmber = emberDir && emberEntries.length > 0;
|
|
20081
20260
|
const emptyStringArray = [];
|
|
20082
20261
|
const islandBuildInfo = islandRegistryPath ? await tracePhase("islands/registry", () => loadIslandRegistryBuildInfo(islandRegistryPath)) : null;
|
|
@@ -20139,7 +20318,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20139
20318
|
svelteIndexPaths: [...emptyStringArray],
|
|
20140
20319
|
svelteServerPaths: [...emptyStringArray]
|
|
20141
20320
|
},
|
|
20142
|
-
shouldCompileVue ? tracePhase("compile/vue", () => Promise.resolve().then(() => (init_compileVue(), exports_compileVue)).then((mod) => mod.compileVue(vueEntries, vueDir, hmr, styleTransformConfig))) : {
|
|
20321
|
+
shouldCompileVue ? tracePhase("compile/vue", () => Promise.resolve().then(() => (init_compileVue(), exports_compileVue)).then((mod) => mod.compileVue(vueEntries, vueDir, hmr, styleTransformConfig, ssrOnlyVueEntries))) : {
|
|
20143
20322
|
vueClientPaths: [...emptyStringArray],
|
|
20144
20323
|
vueCssPaths: [...emptyStringArray],
|
|
20145
20324
|
vueIndexPaths: [...emptyStringArray],
|
|
@@ -20157,14 +20336,14 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20157
20336
|
try {
|
|
20158
20337
|
const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
20159
20338
|
const { readdir: readdir4 } = await import("fs/promises");
|
|
20160
|
-
const { join:
|
|
20339
|
+
const { join: join37 } = await import("path");
|
|
20161
20340
|
const walk = async (dir) => {
|
|
20162
20341
|
const entries = await readdir4(dir, {
|
|
20163
20342
|
withFileTypes: true
|
|
20164
20343
|
});
|
|
20165
20344
|
const out = [];
|
|
20166
20345
|
for (const entry of entries) {
|
|
20167
|
-
const full =
|
|
20346
|
+
const full = join37(dir, entry.name);
|
|
20168
20347
|
if (entry.isDirectory()) {
|
|
20169
20348
|
out.push(...await walk(full));
|
|
20170
20349
|
} else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
|
|
@@ -20229,7 +20408,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20229
20408
|
const compileReactConventions = async () => {
|
|
20230
20409
|
if (reactConventionSources.length === 0)
|
|
20231
20410
|
return emptyStringArray;
|
|
20232
|
-
const destDir =
|
|
20411
|
+
const destDir = join36(buildPath, "conventions", "react");
|
|
20233
20412
|
rmSync2(destDir, { force: true, recursive: true });
|
|
20234
20413
|
mkdirSync12(destDir, { recursive: true });
|
|
20235
20414
|
const destPaths = [];
|
|
@@ -20273,7 +20452,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20273
20452
|
angularConventionSources.length > 0 && angularDir ? tracePhase("compile/convention-angular", () => Promise.resolve().then(() => (init_compileAngular(), exports_compileAngular)).then((mod) => mod.compileAngular(angularConventionSources, angularDir, hmr, styleTransformConfig))) : { serverPaths: emptyStringArray }
|
|
20274
20453
|
]);
|
|
20275
20454
|
const bundleConventionFiles = async (framework, compiledPaths) => {
|
|
20276
|
-
const destDir =
|
|
20455
|
+
const destDir = join36(buildPath, "conventions", framework);
|
|
20277
20456
|
rmSync2(destDir, { force: true, recursive: true });
|
|
20278
20457
|
mkdirSync12(destDir, { recursive: true });
|
|
20279
20458
|
const destPaths = [];
|
|
@@ -20347,7 +20526,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20347
20526
|
}
|
|
20348
20527
|
})) : {
|
|
20349
20528
|
entries: [],
|
|
20350
|
-
generatedRoot:
|
|
20529
|
+
generatedRoot: join36(buildPath, "_island_entries")
|
|
20351
20530
|
};
|
|
20352
20531
|
const islandClientEntryPoints = islandEntryResult.entries.map((entry) => entry.entryPath);
|
|
20353
20532
|
if (serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && islandClientEntryPoints.length === 0 && htmxDir === undefined && htmlDir === undefined) {
|
|
@@ -20383,7 +20562,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20383
20562
|
return {};
|
|
20384
20563
|
}
|
|
20385
20564
|
if (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {
|
|
20386
|
-
const refreshEntry =
|
|
20565
|
+
const refreshEntry = join36(reactIndexesPath, "_refresh.tsx");
|
|
20387
20566
|
if (!reactClientEntryPoints.includes(refreshEntry))
|
|
20388
20567
|
reactClientEntryPoints.push(refreshEntry);
|
|
20389
20568
|
}
|
|
@@ -20485,19 +20664,19 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20485
20664
|
throw: false
|
|
20486
20665
|
}, resolveBunBuildOverride(bunBuildConfig, "reactClient")) : undefined;
|
|
20487
20666
|
if (reactDir && reactClientEntryPoints.length > 0) {
|
|
20488
|
-
rmSync2(
|
|
20667
|
+
rmSync2(join36(buildPath, "react", "generated", "indexes"), {
|
|
20489
20668
|
force: true,
|
|
20490
20669
|
recursive: true
|
|
20491
20670
|
});
|
|
20492
20671
|
}
|
|
20493
20672
|
if (angularDir && angularClientPaths.length > 0) {
|
|
20494
|
-
rmSync2(
|
|
20673
|
+
rmSync2(join36(buildPath, "angular", "indexes"), {
|
|
20495
20674
|
force: true,
|
|
20496
20675
|
recursive: true
|
|
20497
20676
|
});
|
|
20498
20677
|
}
|
|
20499
20678
|
if (islandClientEntryPoints.length > 0) {
|
|
20500
|
-
rmSync2(
|
|
20679
|
+
rmSync2(join36(buildPath, "islands"), {
|
|
20501
20680
|
force: true,
|
|
20502
20681
|
recursive: true
|
|
20503
20682
|
});
|
|
@@ -20586,7 +20765,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20586
20765
|
globalCssEntries.length > 0 ? tracePhase("bun/global-css", () => bunBuild7(mergeBunBuildConfig({
|
|
20587
20766
|
entrypoints: globalCssEntries,
|
|
20588
20767
|
naming: `[dir]/[name].[hash].[ext]`,
|
|
20589
|
-
outdir: stylesDir ?
|
|
20768
|
+
outdir: stylesDir ? join36(buildPath, basename11(stylesDir)) : buildPath,
|
|
20590
20769
|
plugins: [stylePreprocessorPlugin2],
|
|
20591
20770
|
root: stylesDir || clientRoot,
|
|
20592
20771
|
target: "browser",
|
|
@@ -20595,7 +20774,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20595
20774
|
vueCssPaths.length > 0 ? tracePhase("bun/vue-css", () => bunBuild7(mergeBunBuildConfig({
|
|
20596
20775
|
entrypoints: vueCssPaths,
|
|
20597
20776
|
naming: `[name].[hash].[ext]`,
|
|
20598
|
-
outdir:
|
|
20777
|
+
outdir: join36(buildPath, assetsPath ? basename11(assetsPath) : "assets", "css"),
|
|
20599
20778
|
target: "browser",
|
|
20600
20779
|
throw: false
|
|
20601
20780
|
}, resolveBunBuildOverride(bunBuildConfig, "vueCss")))) : undefined
|
|
@@ -20755,7 +20934,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20755
20934
|
const injectHMRIntoHTMLFile = (filePath, framework) => {
|
|
20756
20935
|
if (!hmrClientBundle)
|
|
20757
20936
|
return;
|
|
20758
|
-
let html =
|
|
20937
|
+
let html = readFileSync21(filePath, "utf-8");
|
|
20759
20938
|
if (html.includes("data-hmr-client"))
|
|
20760
20939
|
return;
|
|
20761
20940
|
const tag = `<script>window.__HMR_FRAMEWORK__="${framework}";</script><script data-hmr-client>${hmrClientBundle}</script>`;
|
|
@@ -20766,7 +20945,7 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20766
20945
|
const processHtmlPages = async () => {
|
|
20767
20946
|
if (!(htmlDir && htmlPagesPath))
|
|
20768
20947
|
return;
|
|
20769
|
-
const outputHtmlPages = isSingle ?
|
|
20948
|
+
const outputHtmlPages = isSingle ? join36(buildPath, "pages") : join36(buildPath, basename11(htmlDir), "pages");
|
|
20770
20949
|
mkdirSync12(outputHtmlPages, { recursive: true });
|
|
20771
20950
|
cpSync(htmlPagesPath, outputHtmlPages, {
|
|
20772
20951
|
force: true,
|
|
@@ -20791,14 +20970,14 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20791
20970
|
const processHtmxPages = async () => {
|
|
20792
20971
|
if (!(htmxDir && htmxPagesPath))
|
|
20793
20972
|
return;
|
|
20794
|
-
const outputHtmxPages = isSingle ?
|
|
20973
|
+
const outputHtmxPages = isSingle ? join36(buildPath, "pages") : join36(buildPath, basename11(htmxDir), "pages");
|
|
20795
20974
|
mkdirSync12(outputHtmxPages, { recursive: true });
|
|
20796
20975
|
cpSync(htmxPagesPath, outputHtmxPages, {
|
|
20797
20976
|
force: true,
|
|
20798
20977
|
recursive: true
|
|
20799
20978
|
});
|
|
20800
20979
|
if (shouldCopyHtmx) {
|
|
20801
|
-
const htmxDestDir = isSingle ? buildPath :
|
|
20980
|
+
const htmxDestDir = isSingle ? buildPath : join36(buildPath, basename11(htmxDir));
|
|
20802
20981
|
copyHtmxVendor(htmxDir, htmxDestDir);
|
|
20803
20982
|
}
|
|
20804
20983
|
if (shouldUpdateHtmxAssetPaths) {
|
|
@@ -20863,9 +21042,9 @@ ${content.slice(firstUseIdx)}`;
|
|
|
20863
21042
|
writeBuildTrace(buildPath);
|
|
20864
21043
|
return { conventions: conventionsMap, manifest };
|
|
20865
21044
|
}
|
|
20866
|
-
writeFileSync9(
|
|
21045
|
+
writeFileSync9(join36(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
|
|
20867
21046
|
if (Object.keys(conventionsMap).length > 0) {
|
|
20868
|
-
writeFileSync9(
|
|
21047
|
+
writeFileSync9(join36(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
|
|
20869
21048
|
}
|
|
20870
21049
|
writeBuildTrace(buildPath);
|
|
20871
21050
|
if (mode === "production") {
|
|
@@ -20928,7 +21107,7 @@ var init_build = __esm(() => {
|
|
|
20928
21107
|
init_logger();
|
|
20929
21108
|
init_validateSafePath();
|
|
20930
21109
|
isDev2 = env3.NODE_ENV === "development";
|
|
20931
|
-
|
|
21110
|
+
SKIP_DIRS5 = new Set([
|
|
20932
21111
|
"build",
|
|
20933
21112
|
"node_modules",
|
|
20934
21113
|
".absolutejs",
|
|
@@ -20987,7 +21166,7 @@ var init_build = __esm(() => {
|
|
|
20987
21166
|
|
|
20988
21167
|
// src/build/buildEmberVendor.ts
|
|
20989
21168
|
import { mkdirSync as mkdirSync13, existsSync as existsSync28 } from "fs";
|
|
20990
|
-
import { join as
|
|
21169
|
+
import { join as join37 } from "path";
|
|
20991
21170
|
import { rm as rm9 } from "fs/promises";
|
|
20992
21171
|
var {build: bunBuild8 } = globalThis.Bun;
|
|
20993
21172
|
var toSafeFileName5 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), generateMacrosShim = () => `// Generated shim for @embroider/macros \u2014 provides minimal runtime
|
|
@@ -21039,7 +21218,7 @@ export const importSync = (specifier) => {
|
|
|
21039
21218
|
if (standaloneSpecifiers.has(specifier)) {
|
|
21040
21219
|
return { resolveTo: specifier, specifier };
|
|
21041
21220
|
}
|
|
21042
|
-
const emberInternalPath =
|
|
21221
|
+
const emberInternalPath = join37(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
|
|
21043
21222
|
if (!existsSync28(emberInternalPath)) {
|
|
21044
21223
|
throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
|
|
21045
21224
|
}
|
|
@@ -21071,7 +21250,7 @@ export const importSync = (specifier) => {
|
|
|
21071
21250
|
if (standalonePackages.has(args.path)) {
|
|
21072
21251
|
return;
|
|
21073
21252
|
}
|
|
21074
|
-
const internal =
|
|
21253
|
+
const internal = join37(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
|
|
21075
21254
|
if (existsSync28(internal)) {
|
|
21076
21255
|
return { path: internal };
|
|
21077
21256
|
}
|
|
@@ -21079,16 +21258,16 @@ export const importSync = (specifier) => {
|
|
|
21079
21258
|
});
|
|
21080
21259
|
}
|
|
21081
21260
|
}), buildEmberVendor = async (buildDir, cwd2 = process.cwd()) => {
|
|
21082
|
-
const vendorDir =
|
|
21261
|
+
const vendorDir = join37(buildDir, "ember", "vendor");
|
|
21083
21262
|
mkdirSync13(vendorDir, { recursive: true });
|
|
21084
|
-
const tmpDir =
|
|
21263
|
+
const tmpDir = join37(buildDir, "_ember_vendor_tmp");
|
|
21085
21264
|
mkdirSync13(tmpDir, { recursive: true });
|
|
21086
|
-
const macrosShimPath =
|
|
21265
|
+
const macrosShimPath = join37(tmpDir, "embroider_macros_shim.js");
|
|
21087
21266
|
await Bun.write(macrosShimPath, generateMacrosShim());
|
|
21088
21267
|
const resolutions = REQUIRED_EMBER_SPECIFIERS.map((specifier) => resolveEmberSpecifier(specifier, cwd2));
|
|
21089
21268
|
const entrypoints = await Promise.all(resolutions.map(async (resolution) => {
|
|
21090
21269
|
const safeName = toSafeFileName5(resolution.specifier);
|
|
21091
|
-
const entryPath =
|
|
21270
|
+
const entryPath = join37(tmpDir, `${safeName}.js`);
|
|
21092
21271
|
const source = resolution.specifier === "@embroider/macros" ? `export * from ${JSON.stringify(macrosShimPath)};
|
|
21093
21272
|
` : generateVendorEntrySource2(resolution);
|
|
21094
21273
|
await Bun.write(entryPath, source);
|
|
@@ -21141,7 +21320,7 @@ __export(exports_dependencyGraph, {
|
|
|
21141
21320
|
buildInitialDependencyGraph: () => buildInitialDependencyGraph,
|
|
21142
21321
|
addFileToGraph: () => addFileToGraph
|
|
21143
21322
|
});
|
|
21144
|
-
import { existsSync as existsSync29, readFileSync as
|
|
21323
|
+
import { existsSync as existsSync29, readFileSync as readFileSync22 } from "fs";
|
|
21145
21324
|
var {Glob: Glob9 } = globalThis.Bun;
|
|
21146
21325
|
import { resolve as resolve29 } from "path";
|
|
21147
21326
|
var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
|
|
@@ -21312,15 +21491,15 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
|
|
|
21312
21491
|
const lowerPath = filePath.toLowerCase();
|
|
21313
21492
|
const isSvelteOrVue = lowerPath.endsWith(".svelte") || lowerPath.endsWith(".vue");
|
|
21314
21493
|
if (loader === "html") {
|
|
21315
|
-
const content =
|
|
21494
|
+
const content = readFileSync22(filePath, "utf-8");
|
|
21316
21495
|
return extractHtmlDependencies(filePath, content);
|
|
21317
21496
|
}
|
|
21318
21497
|
if (loader === "tsx" || loader === "js") {
|
|
21319
|
-
const content =
|
|
21498
|
+
const content = readFileSync22(filePath, "utf-8");
|
|
21320
21499
|
return extractJsDependencies(filePath, content, loader);
|
|
21321
21500
|
}
|
|
21322
21501
|
if (isSvelteOrVue) {
|
|
21323
|
-
const content =
|
|
21502
|
+
const content = readFileSync22(filePath, "utf-8");
|
|
21324
21503
|
return extractSvelteVueDependencies(filePath, content);
|
|
21325
21504
|
}
|
|
21326
21505
|
return [];
|
|
@@ -21463,7 +21642,7 @@ var init_clientManager = __esm(() => {
|
|
|
21463
21642
|
});
|
|
21464
21643
|
|
|
21465
21644
|
// src/dev/pathUtils.ts
|
|
21466
|
-
import { existsSync as existsSync30, readdirSync as
|
|
21645
|
+
import { existsSync as existsSync30, readdirSync as readdirSync5, readFileSync as readFileSync23 } from "fs";
|
|
21467
21646
|
import { dirname as dirname20, resolve as resolve31 } from "path";
|
|
21468
21647
|
var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
21469
21648
|
if (shouldIgnorePath(filePath, resolved)) {
|
|
@@ -21545,7 +21724,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21545
21724
|
const walk = (dir) => {
|
|
21546
21725
|
let entries;
|
|
21547
21726
|
try {
|
|
21548
|
-
entries =
|
|
21727
|
+
entries = readdirSync5(dir, { withFileTypes: true });
|
|
21549
21728
|
} catch {
|
|
21550
21729
|
return;
|
|
21551
21730
|
}
|
|
@@ -21563,7 +21742,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21563
21742
|
}
|
|
21564
21743
|
let source;
|
|
21565
21744
|
try {
|
|
21566
|
-
source =
|
|
21745
|
+
source = readFileSync23(full, "utf8");
|
|
21567
21746
|
} catch {
|
|
21568
21747
|
continue;
|
|
21569
21748
|
}
|
|
@@ -21641,8 +21820,8 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
|
|
|
21641
21820
|
roots.push(abs);
|
|
21642
21821
|
}
|
|
21643
21822
|
try {
|
|
21644
|
-
const { readdirSync:
|
|
21645
|
-
const entries =
|
|
21823
|
+
const { readdirSync: readdirSync6 } = __require("fs");
|
|
21824
|
+
const entries = readdirSync6(cwd2, { withFileTypes: true });
|
|
21646
21825
|
for (const entry of entries) {
|
|
21647
21826
|
if (!entry.isDirectory())
|
|
21648
21827
|
continue;
|
|
@@ -21722,8 +21901,8 @@ var init_pathUtils = __esm(() => {
|
|
|
21722
21901
|
|
|
21723
21902
|
// src/dev/fileWatcher.ts
|
|
21724
21903
|
import { watch } from "fs";
|
|
21725
|
-
import { existsSync as existsSync31, readdirSync as
|
|
21726
|
-
import { dirname as dirname21, join as
|
|
21904
|
+
import { existsSync as existsSync31, readdirSync as readdirSync6, statSync as statSync4 } from "fs";
|
|
21905
|
+
import { dirname as dirname21, join as join38, resolve as resolve32 } from "path";
|
|
21727
21906
|
var safeRemoveFromGraph = (graph, fullPath) => {
|
|
21728
21907
|
try {
|
|
21729
21908
|
removeFileFromGraph(graph, fullPath);
|
|
@@ -21748,7 +21927,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21748
21927
|
const atomicRecoveryScan = (eventDir) => {
|
|
21749
21928
|
let entries;
|
|
21750
21929
|
try {
|
|
21751
|
-
entries =
|
|
21930
|
+
entries = readdirSync6(eventDir);
|
|
21752
21931
|
} catch {
|
|
21753
21932
|
return;
|
|
21754
21933
|
}
|
|
@@ -21756,7 +21935,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21756
21935
|
for (const name of entries) {
|
|
21757
21936
|
if (shouldSkipFilename(name, isStylesDir))
|
|
21758
21937
|
continue;
|
|
21759
|
-
const child =
|
|
21938
|
+
const child = join38(eventDir, name).replace(/\\/g, "/");
|
|
21760
21939
|
let st2;
|
|
21761
21940
|
try {
|
|
21762
21941
|
st2 = statSync4(child);
|
|
@@ -21781,12 +21960,12 @@ var safeRemoveFromGraph = (graph, fullPath) => {
|
|
|
21781
21960
|
return;
|
|
21782
21961
|
if (shouldSkipFilename(filename, isStylesDir)) {
|
|
21783
21962
|
if (event === "rename") {
|
|
21784
|
-
const eventDir = dirname21(
|
|
21963
|
+
const eventDir = dirname21(join38(absolutePath, filename)).replace(/\\/g, "/");
|
|
21785
21964
|
atomicRecoveryScan(eventDir);
|
|
21786
21965
|
}
|
|
21787
21966
|
return;
|
|
21788
21967
|
}
|
|
21789
|
-
const fullPath =
|
|
21968
|
+
const fullPath = join38(absolutePath, filename).replace(/\\/g, "/");
|
|
21790
21969
|
if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
|
|
21791
21970
|
return;
|
|
21792
21971
|
}
|
|
@@ -21938,10 +22117,10 @@ var init_assetStore = __esm(() => {
|
|
|
21938
22117
|
});
|
|
21939
22118
|
|
|
21940
22119
|
// src/dev/fileHashTracker.ts
|
|
21941
|
-
import { readFileSync as
|
|
22120
|
+
import { readFileSync as readFileSync24 } from "fs";
|
|
21942
22121
|
var computeFileHash = (filePath) => {
|
|
21943
22122
|
try {
|
|
21944
|
-
const fileContent =
|
|
22123
|
+
const fileContent = readFileSync24(filePath);
|
|
21945
22124
|
return Number(Bun.hash(fileContent));
|
|
21946
22125
|
} catch {
|
|
21947
22126
|
return UNFOUND_INDEX;
|
|
@@ -22155,15 +22334,15 @@ __export(exports_resolveOwningComponents, {
|
|
|
22155
22334
|
resolveDescendantsOfParent: () => resolveDescendantsOfParent,
|
|
22156
22335
|
invalidateResourceIndex: () => invalidateResourceIndex
|
|
22157
22336
|
});
|
|
22158
|
-
import { readdirSync as
|
|
22159
|
-
import { dirname as dirname22, extname as extname9, join as
|
|
22160
|
-
import
|
|
22337
|
+
import { readdirSync as readdirSync7, readFileSync as readFileSync25, statSync as statSync5 } from "fs";
|
|
22338
|
+
import { dirname as dirname22, extname as extname9, join as join39, resolve as resolve36 } from "path";
|
|
22339
|
+
import ts15 from "typescript";
|
|
22161
22340
|
var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") || file5.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
|
|
22162
22341
|
const out = [];
|
|
22163
22342
|
const visit = (dir) => {
|
|
22164
22343
|
let entries;
|
|
22165
22344
|
try {
|
|
22166
|
-
entries =
|
|
22345
|
+
entries = readdirSync7(dir, { withFileTypes: true });
|
|
22167
22346
|
} catch {
|
|
22168
22347
|
return;
|
|
22169
22348
|
}
|
|
@@ -22171,7 +22350,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22171
22350
|
if (entry.name.startsWith(".") || entry.name === "node_modules") {
|
|
22172
22351
|
continue;
|
|
22173
22352
|
}
|
|
22174
|
-
const full =
|
|
22353
|
+
const full = join39(dir, entry.name);
|
|
22175
22354
|
if (entry.isDirectory()) {
|
|
22176
22355
|
visit(full);
|
|
22177
22356
|
} else if (entry.isFile() && isAngularSourceFile(entry.name)) {
|
|
@@ -22183,13 +22362,13 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22183
22362
|
return out;
|
|
22184
22363
|
}, getStringPropertyValue = (obj, name) => {
|
|
22185
22364
|
for (const prop of obj.properties) {
|
|
22186
|
-
if (!
|
|
22365
|
+
if (!ts15.isPropertyAssignment(prop))
|
|
22187
22366
|
continue;
|
|
22188
|
-
const propName =
|
|
22367
|
+
const propName = ts15.isIdentifier(prop.name) ? prop.name.text : ts15.isStringLiteral(prop.name) ? prop.name.text : null;
|
|
22189
22368
|
if (propName !== name)
|
|
22190
22369
|
continue;
|
|
22191
22370
|
const init = prop.initializer;
|
|
22192
|
-
if (
|
|
22371
|
+
if (ts15.isStringLiteral(init) || ts15.isNoSubstitutionTemplateLiteral(init)) {
|
|
22193
22372
|
return init.text;
|
|
22194
22373
|
}
|
|
22195
22374
|
}
|
|
@@ -22197,16 +22376,16 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22197
22376
|
}, getStringArrayProperty = (obj, name) => {
|
|
22198
22377
|
const out = [];
|
|
22199
22378
|
for (const prop of obj.properties) {
|
|
22200
|
-
if (!
|
|
22379
|
+
if (!ts15.isPropertyAssignment(prop))
|
|
22201
22380
|
continue;
|
|
22202
|
-
const propName =
|
|
22381
|
+
const propName = ts15.isIdentifier(prop.name) ? prop.name.text : ts15.isStringLiteral(prop.name) ? prop.name.text : null;
|
|
22203
22382
|
if (propName !== name)
|
|
22204
22383
|
continue;
|
|
22205
22384
|
const init = prop.initializer;
|
|
22206
|
-
if (!
|
|
22385
|
+
if (!ts15.isArrayLiteralExpression(init))
|
|
22207
22386
|
continue;
|
|
22208
22387
|
for (const element of init.elements) {
|
|
22209
|
-
if (
|
|
22388
|
+
if (ts15.isStringLiteral(element) || ts15.isNoSubstitutionTemplateLiteral(element)) {
|
|
22210
22389
|
out.push(element.text);
|
|
22211
22390
|
}
|
|
22212
22391
|
}
|
|
@@ -22215,31 +22394,31 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22215
22394
|
}, parseDecoratedClasses = (filePath) => {
|
|
22216
22395
|
let source;
|
|
22217
22396
|
try {
|
|
22218
|
-
source =
|
|
22397
|
+
source = readFileSync25(filePath, "utf8");
|
|
22219
22398
|
} catch {
|
|
22220
22399
|
return [];
|
|
22221
22400
|
}
|
|
22222
|
-
const sourceFile =
|
|
22401
|
+
const sourceFile = ts15.createSourceFile(filePath, source, ts15.ScriptTarget.ES2022, true, ts15.ScriptKind.TS);
|
|
22223
22402
|
const out = [];
|
|
22224
22403
|
const visit = (node) => {
|
|
22225
|
-
if (
|
|
22226
|
-
for (const decorator of
|
|
22404
|
+
if (ts15.isClassDeclaration(node) && node.name) {
|
|
22405
|
+
for (const decorator of ts15.getDecorators(node) ?? []) {
|
|
22227
22406
|
const expr = decorator.expression;
|
|
22228
|
-
if (!
|
|
22407
|
+
if (!ts15.isCallExpression(expr))
|
|
22229
22408
|
continue;
|
|
22230
22409
|
const fn2 = expr.expression;
|
|
22231
|
-
if (!
|
|
22410
|
+
if (!ts15.isIdentifier(fn2))
|
|
22232
22411
|
continue;
|
|
22233
22412
|
const kind = ENTITY_DECORATORS[fn2.text];
|
|
22234
22413
|
if (!kind)
|
|
22235
22414
|
continue;
|
|
22236
22415
|
let extendsName = null;
|
|
22237
22416
|
for (const heritage of node.heritageClauses ?? []) {
|
|
22238
|
-
if (heritage.token !==
|
|
22417
|
+
if (heritage.token !== ts15.SyntaxKind.ExtendsKeyword) {
|
|
22239
22418
|
continue;
|
|
22240
22419
|
}
|
|
22241
22420
|
const first = heritage.types[0];
|
|
22242
|
-
if (first &&
|
|
22421
|
+
if (first && ts15.isIdentifier(first.expression)) {
|
|
22243
22422
|
extendsName = first.expression.text;
|
|
22244
22423
|
}
|
|
22245
22424
|
break;
|
|
@@ -22252,7 +22431,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22252
22431
|
extendsName
|
|
22253
22432
|
};
|
|
22254
22433
|
const arg = expr.arguments[0];
|
|
22255
|
-
if (arg &&
|
|
22434
|
+
if (arg && ts15.isObjectLiteralExpression(arg) && kind === "component") {
|
|
22256
22435
|
const tplUrl = getStringPropertyValue(arg, "templateUrl");
|
|
22257
22436
|
if (tplUrl)
|
|
22258
22437
|
entry.templateUrls.push(tplUrl);
|
|
@@ -22265,7 +22444,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22265
22444
|
break;
|
|
22266
22445
|
}
|
|
22267
22446
|
}
|
|
22268
|
-
|
|
22447
|
+
ts15.forEachChild(node, visit);
|
|
22269
22448
|
};
|
|
22270
22449
|
visit(sourceFile);
|
|
22271
22450
|
return out;
|
|
@@ -22305,16 +22484,16 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22305
22484
|
}, indexByRoot, resolveParentClassFile = (parentName, childFilePath, angularRoot) => {
|
|
22306
22485
|
let source;
|
|
22307
22486
|
try {
|
|
22308
|
-
source =
|
|
22487
|
+
source = readFileSync25(childFilePath, "utf8");
|
|
22309
22488
|
} catch {
|
|
22310
22489
|
return null;
|
|
22311
22490
|
}
|
|
22312
|
-
const sf =
|
|
22491
|
+
const sf = ts15.createSourceFile(childFilePath, source, ts15.ScriptTarget.ES2022, true, ts15.ScriptKind.TS);
|
|
22313
22492
|
const childDir = dirname22(childFilePath);
|
|
22314
22493
|
for (const stmt of sf.statements) {
|
|
22315
|
-
if (!
|
|
22494
|
+
if (!ts15.isImportDeclaration(stmt))
|
|
22316
22495
|
continue;
|
|
22317
|
-
if (!
|
|
22496
|
+
if (!ts15.isStringLiteral(stmt.moduleSpecifier))
|
|
22318
22497
|
continue;
|
|
22319
22498
|
const clause = stmt.importClause;
|
|
22320
22499
|
if (!clause || clause.isTypeOnly)
|
|
@@ -22322,7 +22501,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file5) => file5.endsWith(".ts") ||
|
|
|
22322
22501
|
let matchesName = false;
|
|
22323
22502
|
if (clause.name && clause.name.text === parentName)
|
|
22324
22503
|
matchesName = true;
|
|
22325
|
-
if (!matchesName && clause.namedBindings &&
|
|
22504
|
+
if (!matchesName && clause.namedBindings && ts15.isNamedImports(clause.namedBindings)) {
|
|
22326
22505
|
for (const el of clause.namedBindings.elements) {
|
|
22327
22506
|
if (el.isTypeOnly)
|
|
22328
22507
|
continue;
|
|
@@ -22543,8 +22722,8 @@ __export(exports_moduleServer, {
|
|
|
22543
22722
|
createModuleServer: () => createModuleServer,
|
|
22544
22723
|
SRC_URL_PREFIX: () => SRC_URL_PREFIX
|
|
22545
22724
|
});
|
|
22546
|
-
import { existsSync as existsSync32, readFileSync as
|
|
22547
|
-
import { basename as basename13, dirname as dirname23, extname as extname10, join as
|
|
22725
|
+
import { existsSync as existsSync32, readFileSync as readFileSync26, statSync as statSync6 } from "fs";
|
|
22726
|
+
import { basename as basename13, dirname as dirname23, extname as extname10, join as join40, resolve as resolve37, relative as relative14 } from "path";
|
|
22548
22727
|
var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
|
|
22549
22728
|
const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
|
|
22550
22729
|
const allExports = [];
|
|
@@ -22616,9 +22795,9 @@ ${stubs}
|
|
|
22616
22795
|
const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
|
|
22617
22796
|
if (!subpath) {
|
|
22618
22797
|
const pkgDir = resolve37(projectRoot, "node_modules", packageName ?? "");
|
|
22619
|
-
const pkgJsonPath =
|
|
22798
|
+
const pkgJsonPath = join40(pkgDir, "package.json");
|
|
22620
22799
|
if (existsSync32(pkgJsonPath)) {
|
|
22621
|
-
const pkg = JSON.parse(
|
|
22800
|
+
const pkg = JSON.parse(readFileSync26(pkgJsonPath, "utf-8"));
|
|
22622
22801
|
const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
|
|
22623
22802
|
if (esmEntry) {
|
|
22624
22803
|
const resolved = resolve37(pkgDir, esmEntry);
|
|
@@ -22719,7 +22898,7 @@ ${code}`;
|
|
|
22719
22898
|
reactFastRefreshWarningEmitted = true;
|
|
22720
22899
|
logWarn("React HMR is blocked: this Bun build ignores " + "`reactFastRefresh` on Bun.Transpiler, so component state " + "cannot be preserved across edits. Tracking " + "https://github.com/oven-sh/bun/pull/28312 \u2014 if it still has " + "not merged, leave a \uD83D\uDC4D on the PR so the Bun team knows it " + "is blocking you. Until then, React edits trigger a full " + "reload instead of a fast refresh.");
|
|
22721
22900
|
}, transformReactFile = (filePath, projectRoot, rewriter) => {
|
|
22722
|
-
const raw =
|
|
22901
|
+
const raw = readFileSync26(filePath, "utf-8");
|
|
22723
22902
|
const valueExports = tsxTranspiler.scan(raw).exports;
|
|
22724
22903
|
let transpiled = reactTranspiler.transformSync(raw);
|
|
22725
22904
|
transpiled = preserveTypeExports(raw, transpiled, valueExports);
|
|
@@ -22735,7 +22914,7 @@ ${transpiled}`;
|
|
|
22735
22914
|
transpiled += buildIslandMetadataExports(raw);
|
|
22736
22915
|
return rewriteImports(transpiled, filePath, projectRoot, rewriter);
|
|
22737
22916
|
}, transformPlainFile = (filePath, projectRoot, rewriter, vueDir) => {
|
|
22738
|
-
const raw =
|
|
22917
|
+
const raw = readFileSync26(filePath, "utf-8");
|
|
22739
22918
|
const ext = extname10(filePath);
|
|
22740
22919
|
const isTS = ext === ".ts" || ext === ".tsx";
|
|
22741
22920
|
const isTSX = ext === ".tsx" || ext === ".jsx";
|
|
@@ -22901,7 +23080,7 @@ ${code}`;
|
|
|
22901
23080
|
` + ` var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`);
|
|
22902
23081
|
return code.replace(/import\.meta\.hot\.accept\(/g, "__hmr_accept(");
|
|
22903
23082
|
}, transformSvelteFile = async (filePath, projectRoot, rewriter, stylePreprocessors) => {
|
|
22904
|
-
const raw =
|
|
23083
|
+
const raw = readFileSync26(filePath, "utf-8");
|
|
22905
23084
|
if (!svelteCompiler) {
|
|
22906
23085
|
svelteCompiler = await import("svelte/compiler");
|
|
22907
23086
|
}
|
|
@@ -22963,7 +23142,7 @@ export default __script__;`;
|
|
|
22963
23142
|
return `${cssInjection}
|
|
22964
23143
|
${code}`;
|
|
22965
23144
|
}, transformVueFile = async (filePath, projectRoot, rewriter, vueDir, stylePreprocessors) => {
|
|
22966
|
-
const rawSource =
|
|
23145
|
+
const rawSource = readFileSync26(filePath, "utf-8");
|
|
22967
23146
|
const raw = addAutoRouterSetupApp(rawSource);
|
|
22968
23147
|
if (!vueCompiler) {
|
|
22969
23148
|
vueCompiler = await import("@vue/compiler-sfc");
|
|
@@ -23018,7 +23197,7 @@ ${code}`;
|
|
|
23018
23197
|
}
|
|
23019
23198
|
});
|
|
23020
23199
|
}, handleCssRequest = (filePath) => {
|
|
23021
|
-
const raw =
|
|
23200
|
+
const raw = readFileSync26(filePath, "utf-8");
|
|
23022
23201
|
const escaped = raw.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
|
|
23023
23202
|
return [
|
|
23024
23203
|
`const style = document.createElement('style');`,
|
|
@@ -23677,7 +23856,7 @@ var init_simpleHTMXHMR = () => {};
|
|
|
23677
23856
|
|
|
23678
23857
|
// src/dev/rebuildTrigger.ts
|
|
23679
23858
|
import { existsSync as existsSync33, rmSync as rmSync3 } from "fs";
|
|
23680
|
-
import { basename as basename14, dirname as dirname25, join as
|
|
23859
|
+
import { basename as basename14, dirname as dirname25, join as join41, relative as relative16, resolve as resolve41, sep as sep4 } from "path";
|
|
23681
23860
|
var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequentially = (items, action) => items.reduce((chain, item) => chain.then(() => action(item)), Promise.resolve()), getStyleTransformConfig = (config) => createStyleTransformConfig(config.stylePreprocessors, config.postcss), recompileTailwindForFastPath = async (state, config, files) => {
|
|
23682
23861
|
if (!config.tailwind)
|
|
23683
23862
|
return;
|
|
@@ -23794,8 +23973,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
23794
23973
|
const relJs = `${rel.slice(0, -ext[0].length)}.js`;
|
|
23795
23974
|
const generatedDir = getFrameworkGeneratedDir(framework, cwd2);
|
|
23796
23975
|
for (const candidate of [
|
|
23797
|
-
|
|
23798
|
-
`${
|
|
23976
|
+
join41(generatedDir, relJs),
|
|
23977
|
+
`${join41(generatedDir, relJs)}.map`
|
|
23799
23978
|
]) {
|
|
23800
23979
|
try {
|
|
23801
23980
|
rmSync3(candidate, { force: true });
|
|
@@ -24657,12 +24836,12 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24657
24836
|
try {
|
|
24658
24837
|
const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
|
|
24659
24838
|
const { readdir: readdir5 } = await import("fs/promises");
|
|
24660
|
-
const { join:
|
|
24839
|
+
const { join: join42 } = await import("path");
|
|
24661
24840
|
const walk = async (dir) => {
|
|
24662
24841
|
const entries = await readdir5(dir, { withFileTypes: true });
|
|
24663
24842
|
const files = [];
|
|
24664
24843
|
for (const entry of entries) {
|
|
24665
|
-
const full =
|
|
24844
|
+
const full = join42(dir, entry.name);
|
|
24666
24845
|
if (entry.isDirectory()) {
|
|
24667
24846
|
files.push(...await walk(full));
|
|
24668
24847
|
} else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
|
|
@@ -24715,9 +24894,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
24715
24894
|
const editedProvidersChain = providersImport && angularFiles.some((file5) => resolve41(file5) === resolve41(providersImport.absolutePath) || resolve41(file5).startsWith(`${resolve41(angularDir)}/`));
|
|
24716
24895
|
const pageEntries = editedProvidersChain && initialPageEntries.length === 0 ? (() => {
|
|
24717
24896
|
const allPages = [];
|
|
24718
|
-
const { readdirSync:
|
|
24897
|
+
const { readdirSync: readdirSync8 } = __require("fs");
|
|
24719
24898
|
const walk = (dir) => {
|
|
24720
|
-
for (const entry of
|
|
24899
|
+
for (const entry of readdirSync8(dir, {
|
|
24721
24900
|
withFileTypes: true
|
|
24722
24901
|
})) {
|
|
24723
24902
|
const full = resolve41(dir, entry.name);
|
|
@@ -25128,7 +25307,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
|
|
|
25128
25307
|
const { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } = await compileVue2(vueFiles, vueDir, true, getStyleTransformConfig(state.config));
|
|
25129
25308
|
const serverEntries = [...vueServerPaths];
|
|
25130
25309
|
const clientEntries = [...vueIndexPaths, ...vueClientPaths];
|
|
25131
|
-
const cssOutDir =
|
|
25310
|
+
const cssOutDir = join41(buildDir, state.resolvedPaths.assetsDir ? basename14(state.resolvedPaths.assetsDir) : "assets", "css");
|
|
25132
25311
|
const { serverRoot, serverOutDir } = await computeServerOutPaths(state.resolvedPaths, "vue");
|
|
25133
25312
|
const [serverResult, clientResult, cssResult] = await Promise.all([
|
|
25134
25313
|
serverEntries.length > 0 ? bunBuild9({
|
|
@@ -26123,7 +26302,7 @@ __export(exports_buildDepVendor, {
|
|
|
26123
26302
|
buildDepVendor: () => buildDepVendor
|
|
26124
26303
|
});
|
|
26125
26304
|
import { mkdirSync as mkdirSync14 } from "fs";
|
|
26126
|
-
import { join as
|
|
26305
|
+
import { join as join42 } from "path";
|
|
26127
26306
|
import { rm as rm10 } from "fs/promises";
|
|
26128
26307
|
var {build: bunBuild9, Glob: Glob10 } = globalThis.Bun;
|
|
26129
26308
|
var toSafeFileName6 = (specifier) => {
|
|
@@ -26177,7 +26356,7 @@ var toSafeFileName6 = (specifier) => {
|
|
|
26177
26356
|
framework: Array.from(framework).filter(isResolvable4)
|
|
26178
26357
|
};
|
|
26179
26358
|
}, collectTransitiveImports = async (specs, alreadyVendored, alreadyScanned) => {
|
|
26180
|
-
const { readFileSync:
|
|
26359
|
+
const { readFileSync: readFileSync27 } = await import("fs");
|
|
26181
26360
|
const transpiler6 = new Bun.Transpiler({ loader: "js" });
|
|
26182
26361
|
const newSpecs = new Set;
|
|
26183
26362
|
for (const spec of specs) {
|
|
@@ -26192,7 +26371,7 @@ var toSafeFileName6 = (specifier) => {
|
|
|
26192
26371
|
}
|
|
26193
26372
|
let content;
|
|
26194
26373
|
try {
|
|
26195
|
-
content =
|
|
26374
|
+
content = readFileSync27(resolved, "utf-8");
|
|
26196
26375
|
} catch {
|
|
26197
26376
|
continue;
|
|
26198
26377
|
}
|
|
@@ -26234,7 +26413,7 @@ var toSafeFileName6 = (specifier) => {
|
|
|
26234
26413
|
}), buildDepVendorPass = async (specifiers, vendorDir, tmpDir) => {
|
|
26235
26414
|
const entries = await Promise.all(specifiers.map(async (specifier) => {
|
|
26236
26415
|
const safeName = toSafeFileName6(specifier);
|
|
26237
|
-
const entryPath =
|
|
26416
|
+
const entryPath = join42(tmpDir, `${safeName}.ts`);
|
|
26238
26417
|
await Bun.write(entryPath, await generateVendorEntrySource(specifier));
|
|
26239
26418
|
return { entryPath, specifier };
|
|
26240
26419
|
}));
|
|
@@ -26295,9 +26474,9 @@ var toSafeFileName6 = (specifier) => {
|
|
|
26295
26474
|
const { dep: initialSpecs, framework: frameworkRoots } = await scanBareImports(directories);
|
|
26296
26475
|
if (initialSpecs.length === 0 && frameworkRoots.length === 0)
|
|
26297
26476
|
return {};
|
|
26298
|
-
const vendorDir =
|
|
26477
|
+
const vendorDir = join42(buildDir, "vendor");
|
|
26299
26478
|
mkdirSync14(vendorDir, { recursive: true });
|
|
26300
|
-
const tmpDir =
|
|
26479
|
+
const tmpDir = join42(buildDir, "_dep_vendor_tmp");
|
|
26301
26480
|
mkdirSync14(tmpDir, { recursive: true });
|
|
26302
26481
|
const allSpecs = new Set(initialSpecs);
|
|
26303
26482
|
const alreadyScanned = new Set;
|
|
@@ -26998,17 +27177,17 @@ __export(exports_devtoolsJson, {
|
|
|
26998
27177
|
normalizeDevtoolsWorkspaceRoot: () => normalizeDevtoolsWorkspaceRoot,
|
|
26999
27178
|
devtoolsJson: () => devtoolsJson
|
|
27000
27179
|
});
|
|
27001
|
-
import { existsSync as existsSync34, mkdirSync as mkdirSync15, readFileSync as
|
|
27002
|
-
import { dirname as dirname26, join as
|
|
27180
|
+
import { existsSync as existsSync34, mkdirSync as mkdirSync15, readFileSync as readFileSync27, writeFileSync as writeFileSync10 } from "fs";
|
|
27181
|
+
import { dirname as dirname26, join as join43, resolve as resolve43 } from "path";
|
|
27003
27182
|
import { Elysia as Elysia3 } from "elysia";
|
|
27004
27183
|
var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_KEY = "__absoluteDevtoolsWorkspaceUuid", getGlobalUuid = () => Reflect.get(globalThis, UUID_CACHE_KEY), setGlobalUuid = (uuid) => {
|
|
27005
27184
|
Reflect.set(globalThis, UUID_CACHE_KEY, uuid);
|
|
27006
27185
|
return uuid;
|
|
27007
|
-
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve43(uuidCachePath ??
|
|
27186
|
+
}, isUuidV4 = (value) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value), resolveDevtoolsUuidCachePath = (buildDir, uuidCachePath) => resolve43(uuidCachePath ?? join43(buildDir, ".absolute", "chrome-devtools-workspace-uuid")), readCachedUuid = (cachePath) => {
|
|
27008
27187
|
if (!existsSync34(cachePath))
|
|
27009
27188
|
return null;
|
|
27010
27189
|
try {
|
|
27011
|
-
const value =
|
|
27190
|
+
const value = readFileSync27(cachePath, "utf-8").trim();
|
|
27012
27191
|
return isUuidV4(value) ? value : null;
|
|
27013
27192
|
} catch {
|
|
27014
27193
|
return null;
|
|
@@ -27043,11 +27222,11 @@ var ENDPOINT = "/.well-known/appspecific/com.chrome.devtools.json", UUID_CACHE_K
|
|
|
27043
27222
|
if (process.env.WSL_DISTRO_NAME) {
|
|
27044
27223
|
const distro = process.env.WSL_DISTRO_NAME;
|
|
27045
27224
|
const withoutLeadingSlash = root.replace(/^\//, "");
|
|
27046
|
-
return
|
|
27225
|
+
return join43("\\\\wsl.localhost", distro, withoutLeadingSlash).replace(/\//g, "\\");
|
|
27047
27226
|
}
|
|
27048
27227
|
if (process.env.DOCKER_DESKTOP && !root.startsWith("\\\\")) {
|
|
27049
27228
|
const withoutLeadingSlash = root.replace(/^\//, "");
|
|
27050
|
-
return
|
|
27229
|
+
return join43("\\\\wsl.localhost", "docker-desktop-data", withoutLeadingSlash).replace(/\//g, "\\");
|
|
27051
27230
|
}
|
|
27052
27231
|
return root;
|
|
27053
27232
|
};
|
|
@@ -27278,15 +27457,15 @@ __export(exports_prerender, {
|
|
|
27278
27457
|
prerender: () => prerender,
|
|
27279
27458
|
PRERENDER_BYPASS_HEADER: () => PRERENDER_BYPASS_HEADER
|
|
27280
27459
|
});
|
|
27281
|
-
import { mkdirSync as mkdirSync16, readFileSync as
|
|
27282
|
-
import { join as
|
|
27460
|
+
import { mkdirSync as mkdirSync16, readFileSync as readFileSync28 } from "fs";
|
|
27461
|
+
import { join as join44 } from "path";
|
|
27283
27462
|
var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_TIMEOUT_MS = 30000, PRERENDER_BYPASS_HEADER = "X-Absolute-Prerender-Bypass", routeToFilename = (route) => route === "/" ? "index.html" : `${route.slice(1).replace(/\//g, "-")}.html`, writeTimestamp = async (htmlPath) => {
|
|
27284
27463
|
const metaPath = htmlPath.replace(/\.html$/, ".meta");
|
|
27285
27464
|
await Bun.write(metaPath, String(Date.now()));
|
|
27286
27465
|
}, readTimestamp = (htmlPath) => {
|
|
27287
27466
|
const metaPath = htmlPath.replace(/\.html$/, ".meta");
|
|
27288
27467
|
try {
|
|
27289
|
-
const content =
|
|
27468
|
+
const content = readFileSync28(metaPath, "utf-8");
|
|
27290
27469
|
return Number(content) || 0;
|
|
27291
27470
|
} catch {
|
|
27292
27471
|
return 0;
|
|
@@ -27345,7 +27524,7 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
|
|
|
27345
27524
|
return false;
|
|
27346
27525
|
const html = await res.text();
|
|
27347
27526
|
const fileName = routeToFilename(route);
|
|
27348
|
-
const filePath =
|
|
27527
|
+
const filePath = join44(prerenderDir, fileName);
|
|
27349
27528
|
await Bun.write(filePath, html);
|
|
27350
27529
|
await writeTimestamp(filePath);
|
|
27351
27530
|
return true;
|
|
@@ -27371,13 +27550,13 @@ var SERVER_OUTPUT_LIMIT = 4000, STARTUP_POLL_INTERVAL_MS = 100, DEFAULT_STARTUP_
|
|
|
27371
27550
|
}
|
|
27372
27551
|
const html = await res.text();
|
|
27373
27552
|
const fileName = routeToFilename(route);
|
|
27374
|
-
const filePath =
|
|
27553
|
+
const filePath = join44(prerenderDir, fileName);
|
|
27375
27554
|
await Bun.write(filePath, html);
|
|
27376
27555
|
await writeTimestamp(filePath);
|
|
27377
27556
|
result.routes.set(route, filePath);
|
|
27378
27557
|
log2?.(` Pre-rendered ${route} \u2192 ${fileName} (${html.length} bytes)`);
|
|
27379
27558
|
}, prerender = async (port, outDir, staticConfig, log2) => {
|
|
27380
|
-
const prerenderDir =
|
|
27559
|
+
const prerenderDir = join44(outDir, "_prerendered");
|
|
27381
27560
|
mkdirSync16(prerenderDir, { recursive: true });
|
|
27382
27561
|
const baseUrl = `http://localhost:${port}`;
|
|
27383
27562
|
let routes;
|
|
@@ -27479,7 +27658,7 @@ __export(exports_serverEntryWatcher, {
|
|
|
27479
27658
|
});
|
|
27480
27659
|
import { existsSync as existsSync38, statSync as statSync8, watch as watch2 } from "fs";
|
|
27481
27660
|
import { createRequire as createRequire2 } from "module";
|
|
27482
|
-
import { dirname as dirname27, join as
|
|
27661
|
+
import { dirname as dirname27, join as join47, resolve as resolve46 } from "path";
|
|
27483
27662
|
var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || ATOMIC_WRITE_TEMP_PATTERNS2.some((re2) => re2.test(filename)), startServerEntryWatcher = () => {
|
|
27484
27663
|
if (globalThis.__absoluteEntryWatcherStarted)
|
|
27485
27664
|
return;
|
|
@@ -27567,8 +27746,8 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ATOMIC_WRITE_TEMP
|
|
|
27567
27746
|
const recoveryScan = (dir) => {
|
|
27568
27747
|
let entries;
|
|
27569
27748
|
try {
|
|
27570
|
-
const { readdirSync:
|
|
27571
|
-
entries =
|
|
27749
|
+
const { readdirSync: readdirSync9 } = __require("fs");
|
|
27750
|
+
entries = readdirSync9(dir, { withFileTypes: true });
|
|
27572
27751
|
} catch {
|
|
27573
27752
|
return;
|
|
27574
27753
|
}
|
|
@@ -27582,7 +27761,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ATOMIC_WRITE_TEMP
|
|
|
27582
27761
|
continue;
|
|
27583
27762
|
let st2;
|
|
27584
27763
|
try {
|
|
27585
|
-
st2 = statSync8(
|
|
27764
|
+
st2 = statSync8(join47(dir, entry.name));
|
|
27586
27765
|
} catch {
|
|
27587
27766
|
continue;
|
|
27588
27767
|
}
|
|
@@ -28137,8 +28316,8 @@ var handleHTMXPageRequest = async (pagePath) => {
|
|
|
28137
28316
|
};
|
|
28138
28317
|
// src/core/prepare.ts
|
|
28139
28318
|
init_loadConfig();
|
|
28140
|
-
import { existsSync as existsSync36, readdirSync as
|
|
28141
|
-
import { basename as basename15, join as
|
|
28319
|
+
import { existsSync as existsSync36, readdirSync as readdirSync8, readFileSync as readFileSync29 } from "fs";
|
|
28320
|
+
import { basename as basename15, join as join45, relative as relative17, resolve as resolve45 } from "path";
|
|
28142
28321
|
import { Elysia as Elysia5 } from "elysia";
|
|
28143
28322
|
|
|
28144
28323
|
// src/core/loadIslandRegistry.ts
|
|
@@ -28649,7 +28828,7 @@ var loadPrerenderMap = (prerenderDir) => {
|
|
|
28649
28828
|
return map;
|
|
28650
28829
|
let entries;
|
|
28651
28830
|
try {
|
|
28652
|
-
entries =
|
|
28831
|
+
entries = readdirSync8(prerenderDir);
|
|
28653
28832
|
} catch {
|
|
28654
28833
|
return map;
|
|
28655
28834
|
}
|
|
@@ -28658,7 +28837,7 @@ var loadPrerenderMap = (prerenderDir) => {
|
|
|
28658
28837
|
continue;
|
|
28659
28838
|
const name = basename15(entry, ".html");
|
|
28660
28839
|
const route = name === "index" ? "/" : `/${name}`;
|
|
28661
|
-
map.set(route,
|
|
28840
|
+
map.set(route, join45(prerenderDir, entry));
|
|
28662
28841
|
}
|
|
28663
28842
|
return map;
|
|
28664
28843
|
};
|
|
@@ -28710,7 +28889,7 @@ var prepare = async (configOrPath) => {
|
|
|
28710
28889
|
return result;
|
|
28711
28890
|
}
|
|
28712
28891
|
stepStartedAt = performance.now();
|
|
28713
|
-
const manifest = JSON.parse(
|
|
28892
|
+
const manifest = JSON.parse(readFileSync29(`${buildDir}/manifest.json`, "utf-8"));
|
|
28714
28893
|
setCurrentIslandManifest(manifest);
|
|
28715
28894
|
if (config.islands?.registry) {
|
|
28716
28895
|
setCurrentIslandRegistry(await loadIslandRegistry(config.islands.registry));
|
|
@@ -28718,9 +28897,9 @@ var prepare = async (configOrPath) => {
|
|
|
28718
28897
|
setCurrentPageIslandMetadata(await loadPageIslandMetadata(config));
|
|
28719
28898
|
recordStep("load production manifest and island metadata", stepStartedAt);
|
|
28720
28899
|
stepStartedAt = performance.now();
|
|
28721
|
-
const conventionsPath =
|
|
28900
|
+
const conventionsPath = join45(buildDir, "conventions.json");
|
|
28722
28901
|
if (existsSync36(conventionsPath)) {
|
|
28723
|
-
const conventions2 = JSON.parse(
|
|
28902
|
+
const conventions2 = JSON.parse(readFileSync29(conventionsPath, "utf-8"));
|
|
28724
28903
|
setConventions(conventions2);
|
|
28725
28904
|
}
|
|
28726
28905
|
recordStep("load production conventions", stepStartedAt);
|
|
@@ -28734,7 +28913,7 @@ var prepare = async (configOrPath) => {
|
|
|
28734
28913
|
});
|
|
28735
28914
|
recordStep("create static plugin", stepStartedAt);
|
|
28736
28915
|
stepStartedAt = performance.now();
|
|
28737
|
-
const prerenderDir =
|
|
28916
|
+
const prerenderDir = join45(buildDir, "_prerendered");
|
|
28738
28917
|
const prerenderMap = loadPrerenderMap(prerenderDir);
|
|
28739
28918
|
recordStep("load prerender map", stepStartedAt);
|
|
28740
28919
|
if (prerenderMap.size > 0) {
|
|
@@ -28792,18 +28971,18 @@ import { argv } from "process";
|
|
|
28792
28971
|
var {env: env4 } = globalThis.Bun;
|
|
28793
28972
|
|
|
28794
28973
|
// src/dev/devCert.ts
|
|
28795
|
-
import { existsSync as existsSync37, mkdirSync as mkdirSync17, readFileSync as
|
|
28796
|
-
import { join as
|
|
28797
|
-
var CERT_DIR =
|
|
28798
|
-
var CERT_PATH =
|
|
28799
|
-
var KEY_PATH =
|
|
28974
|
+
import { existsSync as existsSync37, mkdirSync as mkdirSync17, readFileSync as readFileSync30, rmSync as rmSync4 } from "fs";
|
|
28975
|
+
import { join as join46 } from "path";
|
|
28976
|
+
var CERT_DIR = join46(process.cwd(), ".absolutejs");
|
|
28977
|
+
var CERT_PATH = join46(CERT_DIR, "cert.pem");
|
|
28978
|
+
var KEY_PATH = join46(CERT_DIR, "key.pem");
|
|
28800
28979
|
var CERT_VALIDITY_DAYS = 365;
|
|
28801
28980
|
var devLog = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[36m[dev]\x1B[0m ${msg}`);
|
|
28802
28981
|
var devWarn = (msg) => console.log(`\x1B[2m${new Date().toLocaleTimeString()}\x1B[0m \x1B[33m[dev]\x1B[0m \x1B[33m${msg}\x1B[0m`);
|
|
28803
28982
|
var certFilesExist = () => existsSync37(CERT_PATH) && existsSync37(KEY_PATH);
|
|
28804
28983
|
var isCertExpired = () => {
|
|
28805
28984
|
try {
|
|
28806
|
-
const certPem =
|
|
28985
|
+
const certPem = readFileSync30(CERT_PATH, "utf-8");
|
|
28807
28986
|
const proc = Bun.spawnSync(["openssl", "x509", "-enddate", "-noout"], {
|
|
28808
28987
|
stdin: new TextEncoder().encode(certPem)
|
|
28809
28988
|
});
|
|
@@ -28899,8 +29078,8 @@ var loadDevCert = () => {
|
|
|
28899
29078
|
return null;
|
|
28900
29079
|
try {
|
|
28901
29080
|
return {
|
|
28902
|
-
cert:
|
|
28903
|
-
key:
|
|
29081
|
+
cert: readFileSync30(paths.cert, "utf-8"),
|
|
29082
|
+
key: readFileSync30(paths.key, "utf-8")
|
|
28904
29083
|
};
|
|
28905
29084
|
} catch {
|
|
28906
29085
|
return null;
|
|
@@ -29175,7 +29354,7 @@ var generateHeadElement = ({
|
|
|
29175
29354
|
};
|
|
29176
29355
|
// src/utils/defineEnv.ts
|
|
29177
29356
|
var {env: bunEnv } = globalThis.Bun;
|
|
29178
|
-
import { existsSync as existsSync39, readFileSync as
|
|
29357
|
+
import { existsSync as existsSync39, readFileSync as readFileSync31 } from "fs";
|
|
29179
29358
|
import { resolve as resolve47 } from "path";
|
|
29180
29359
|
|
|
29181
29360
|
// node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
|
|
@@ -35217,13 +35396,13 @@ var checkEnvFileSecurity = (properties) => {
|
|
|
35217
35396
|
const sensitiveKeys = Object.keys(properties).filter(isSensitive);
|
|
35218
35397
|
if (sensitiveKeys.length === 0)
|
|
35219
35398
|
return;
|
|
35220
|
-
const envContent =
|
|
35399
|
+
const envContent = readFileSync31(envPath, "utf-8");
|
|
35221
35400
|
const presentKeys = sensitiveKeys.filter((key) => envContent.includes(`${key}=`));
|
|
35222
35401
|
if (presentKeys.length === 0)
|
|
35223
35402
|
return;
|
|
35224
35403
|
const gitignorePath = resolve47(cwd2, ".gitignore");
|
|
35225
35404
|
if (existsSync39(gitignorePath)) {
|
|
35226
|
-
const gitignore =
|
|
35405
|
+
const gitignore = readFileSync31(gitignorePath, "utf-8");
|
|
35227
35406
|
if (gitignore.split(`
|
|
35228
35407
|
`).some((line) => line.trim() === ".env"))
|
|
35229
35408
|
return;
|
|
@@ -35464,5 +35643,5 @@ export {
|
|
|
35464
35643
|
ANGULAR_INIT_TIMEOUT_MS
|
|
35465
35644
|
};
|
|
35466
35645
|
|
|
35467
|
-
//# debugId=
|
|
35646
|
+
//# debugId=C9D7EF143BA9D85D64756E2164756E21
|
|
35468
35647
|
//# sourceMappingURL=index.js.map
|