@absolutejs/absolute 0.19.0-beta.987 → 0.19.0-beta.989

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/build.js CHANGED
@@ -10757,6 +10757,10 @@ var init_updateAssetPaths = __esm(() => {
10757
10757
  });
10758
10758
 
10759
10759
  // src/dev/buildHMRClient.ts
10760
+ var exports_buildHMRClient = {};
10761
+ __export(exports_buildHMRClient, {
10762
+ buildHMRClient: () => buildHMRClient
10763
+ });
10760
10764
  import { existsSync as existsSync16 } from "fs";
10761
10765
  import { resolve as resolve12 } from "path";
10762
10766
  var {build: bunBuild } = globalThis.Bun;
@@ -11556,11 +11560,15 @@ var validateSafePath = (targetPath, baseDirectory) => {
11556
11560
  };
11557
11561
  var init_validateSafePath = () => {};
11558
11562
 
11559
- // src/build/scanAngularHandlerCalls.ts
11563
+ // src/build/scanVueSsrOnlyPages.ts
11564
+ var exports_scanVueSsrOnlyPages = {};
11565
+ __export(exports_scanVueSsrOnlyPages, {
11566
+ scanVueSsrOnlyPages: () => scanVueSsrOnlyPages
11567
+ });
11560
11568
  import { readdirSync as readdirSync2, readFileSync as readFileSync12 } from "fs";
11561
11569
  import { join as join22 } from "path";
11562
11570
  import ts6 from "typescript";
11563
- var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (filePath) => {
11571
+ var SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (filePath) => {
11564
11572
  if (filePath.endsWith(".tsx"))
11565
11573
  return ts6.ScriptKind.TSX;
11566
11574
  return ts6.ScriptKind.TS;
@@ -11598,26 +11606,173 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
11598
11606
  }
11599
11607
  }
11600
11608
  return out;
11609
+ }, fileMayContainVueHandler = (source) => source.includes("handleVuePageRequest"), isHandleVuePageRequestCallee = (expression) => {
11610
+ if (ts6.isIdentifier(expression)) {
11611
+ return expression.text === "handleVuePageRequest";
11612
+ }
11613
+ if (ts6.isPropertyAccessExpression(expression) && ts6.isIdentifier(expression.name)) {
11614
+ return expression.name.text === "handleVuePageRequest";
11615
+ }
11616
+ return false;
11617
+ }, getPropertyName = (name) => {
11618
+ if (ts6.isIdentifier(name) || ts6.isStringLiteral(name)) {
11619
+ return name.text;
11620
+ }
11621
+ return null;
11622
+ }, readStringLiteralValue = (node) => {
11623
+ if (ts6.isStringLiteral(node) || ts6.isNoSubstitutionTemplateLiteral(node)) {
11624
+ return node.text;
11625
+ }
11626
+ return null;
11627
+ }, isAssetCall = (node) => {
11628
+ if (!ts6.isCallExpression(node))
11629
+ return false;
11630
+ if (!ts6.isIdentifier(node.expression))
11631
+ return false;
11632
+ return node.expression.text === "asset";
11633
+ }, extractAssetLiteralKey = (call) => {
11634
+ if (call.arguments.length < 2)
11635
+ return null;
11636
+ const keyArg = call.arguments[1];
11637
+ if (!keyArg)
11638
+ return null;
11639
+ return readStringLiteralValue(keyArg);
11640
+ }, extractPagePathAssetKey = (initializer) => {
11641
+ if (!isAssetCall(initializer))
11642
+ return null;
11643
+ if (!ts6.isCallExpression(initializer))
11644
+ return null;
11645
+ return extractAssetLiteralKey(initializer);
11646
+ }, extractSsrOnlyPageName = (objectLiteral) => {
11647
+ let hasClientNone = false;
11648
+ let pageAssetKey = null;
11649
+ for (const property of objectLiteral.properties) {
11650
+ if (!ts6.isPropertyAssignment(property))
11651
+ continue;
11652
+ const name = getPropertyName(property.name);
11653
+ if (!name)
11654
+ continue;
11655
+ if (name === "client") {
11656
+ const value = readStringLiteralValue(property.initializer);
11657
+ if (value === "none")
11658
+ hasClientNone = true;
11659
+ continue;
11660
+ }
11661
+ if (name === "pagePath") {
11662
+ pageAssetKey = extractPagePathAssetKey(property.initializer);
11663
+ }
11664
+ }
11665
+ if (!hasClientNone)
11666
+ return null;
11667
+ return pageAssetKey;
11668
+ }, extractFromFile = (filePath, out) => {
11669
+ let source;
11670
+ try {
11671
+ source = readFileSync12(filePath, "utf-8");
11672
+ } catch {
11673
+ return;
11674
+ }
11675
+ if (!fileMayContainVueHandler(source))
11676
+ return;
11677
+ const sourceFile = ts6.createSourceFile(filePath, source, ts6.ScriptTarget.Latest, true, getScriptKind2(filePath));
11678
+ const visit = (node) => {
11679
+ if (ts6.isCallExpression(node) && isHandleVuePageRequestCallee(node.expression)) {
11680
+ const firstArg = node.arguments[0];
11681
+ if (firstArg && ts6.isObjectLiteralExpression(firstArg)) {
11682
+ const pageName = extractSsrOnlyPageName(firstArg);
11683
+ if (pageName)
11684
+ out.add(pageName);
11685
+ }
11686
+ }
11687
+ ts6.forEachChild(node, visit);
11688
+ };
11689
+ ts6.forEachChild(sourceFile, visit);
11690
+ }, scanVueSsrOnlyPages = (projectRoot) => {
11691
+ const files = collectSourceFiles2(projectRoot);
11692
+ const ssrOnlyPageNames = new Set;
11693
+ for (const file of files) {
11694
+ extractFromFile(file, ssrOnlyPageNames);
11695
+ }
11696
+ return ssrOnlyPageNames;
11697
+ };
11698
+ var init_scanVueSsrOnlyPages = __esm(() => {
11699
+ SKIP_DIRS2 = new Set([
11700
+ ".absolutejs",
11701
+ ".generated",
11702
+ ".git",
11703
+ ".next",
11704
+ ".svelte-kit",
11705
+ ".vercel",
11706
+ "build",
11707
+ "compiled",
11708
+ "dist",
11709
+ "node_modules"
11710
+ ]);
11711
+ SOURCE_EXTENSIONS2 = new Set([".ts", ".tsx", ".mts", ".cts"]);
11712
+ });
11713
+
11714
+ // src/build/scanAngularHandlerCalls.ts
11715
+ import { readdirSync as readdirSync3, readFileSync as readFileSync13 } from "fs";
11716
+ import { join as join23 } from "path";
11717
+ import ts7 from "typescript";
11718
+ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS3, SOURCE_EXTENSIONS3, getScriptKind3 = (filePath) => {
11719
+ if (filePath.endsWith(".tsx"))
11720
+ return ts7.ScriptKind.TSX;
11721
+ return ts7.ScriptKind.TS;
11722
+ }, hasSourceExtension3 = (filePath) => {
11723
+ const idx = filePath.lastIndexOf(".");
11724
+ if (idx === -1)
11725
+ return false;
11726
+ return SOURCE_EXTENSIONS3.has(filePath.slice(idx));
11727
+ }, collectSourceFiles3 = (root) => {
11728
+ const out = [];
11729
+ const stack = [root];
11730
+ while (stack.length > 0) {
11731
+ const dir = stack.pop();
11732
+ if (!dir)
11733
+ continue;
11734
+ let entries;
11735
+ try {
11736
+ entries = readdirSync3(dir, {
11737
+ encoding: "utf-8",
11738
+ withFileTypes: true
11739
+ });
11740
+ } catch {
11741
+ continue;
11742
+ }
11743
+ for (const entry of entries) {
11744
+ if (entry.isDirectory()) {
11745
+ if (SKIP_DIRS3.has(entry.name))
11746
+ continue;
11747
+ if (entry.name.startsWith("."))
11748
+ continue;
11749
+ stack.push(join23(dir, entry.name));
11750
+ } else if (entry.isFile() && hasSourceExtension3(entry.name)) {
11751
+ out.push(join23(dir, entry.name));
11752
+ }
11753
+ }
11754
+ }
11755
+ return out;
11601
11756
  }, fileMayContainAngularHandler = (source) => source.includes("handleAngularPageRequest"), extractManifestKey = (pagePathValue) => {
11602
- if (!ts6.isCallExpression(pagePathValue))
11757
+ if (!ts7.isCallExpression(pagePathValue))
11603
11758
  return null;
11604
11759
  const callee = pagePathValue.expression;
11605
- if (!ts6.isIdentifier(callee) || callee.text !== "asset")
11760
+ if (!ts7.isIdentifier(callee) || callee.text !== "asset")
11606
11761
  return null;
11607
11762
  const [, second] = pagePathValue.arguments;
11608
11763
  if (!second)
11609
11764
  return null;
11610
- if (!ts6.isStringLiteral(second))
11765
+ if (!ts7.isStringLiteral(second))
11611
11766
  return null;
11612
11767
  return second.text;
11613
11768
  }, findEnclosingMountPath = (node) => {
11614
11769
  let cursor = node.parent;
11615
11770
  while (cursor) {
11616
- if (ts6.isCallExpression(cursor)) {
11771
+ if (ts7.isCallExpression(cursor)) {
11617
11772
  const callee = cursor.expression;
11618
- if (ts6.isPropertyAccessExpression(callee) && ts6.isIdentifier(callee.name) && ELYSIA_ROUTE_METHODS2.has(callee.name.text)) {
11773
+ if (ts7.isPropertyAccessExpression(callee) && ts7.isIdentifier(callee.name) && ELYSIA_ROUTE_METHODS2.has(callee.name.text)) {
11619
11774
  const firstArg = cursor.arguments[0];
11620
- if (firstArg && ts6.isStringLiteral(firstArg) && firstArg.text.startsWith("/")) {
11775
+ if (firstArg && ts7.isStringLiteral(firstArg) && firstArg.text.startsWith("/")) {
11621
11776
  return firstArg.text;
11622
11777
  }
11623
11778
  }
@@ -11628,33 +11783,33 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
11628
11783
  }, extractCallsFromFile = (filePath, out) => {
11629
11784
  let source;
11630
11785
  try {
11631
- source = readFileSync12(filePath, "utf-8");
11786
+ source = readFileSync13(filePath, "utf-8");
11632
11787
  } catch {
11633
11788
  return;
11634
11789
  }
11635
11790
  if (!fileMayContainAngularHandler(source))
11636
11791
  return;
11637
- const sf = ts6.createSourceFile(filePath, source, ts6.ScriptTarget.Latest, true, getScriptKind2(filePath));
11792
+ const sf = ts7.createSourceFile(filePath, source, ts7.ScriptTarget.Latest, true, getScriptKind3(filePath));
11638
11793
  const visit = (node) => {
11639
- if (ts6.isCallExpression(node) && ts6.isIdentifier(node.expression) && node.expression.text === "handleAngularPageRequest") {
11794
+ if (ts7.isCallExpression(node) && ts7.isIdentifier(node.expression) && node.expression.text === "handleAngularPageRequest") {
11640
11795
  const [arg] = node.arguments;
11641
- if (arg && ts6.isObjectLiteralExpression(arg)) {
11796
+ if (arg && ts7.isObjectLiteralExpression(arg)) {
11642
11797
  let manifestKey = null;
11643
11798
  for (const prop of arg.properties) {
11644
- if (ts6.isPropertyAssignment(prop)) {
11799
+ if (ts7.isPropertyAssignment(prop)) {
11645
11800
  if (!prop.name)
11646
11801
  continue;
11647
- const name = ts6.isIdentifier(prop.name) ? prop.name.text : ts6.isStringLiteral(prop.name) ? prop.name.text : null;
11802
+ const name = ts7.isIdentifier(prop.name) ? prop.name.text : ts7.isStringLiteral(prop.name) ? prop.name.text : null;
11648
11803
  if (name === "pagePath") {
11649
11804
  manifestKey = extractManifestKey(prop.initializer);
11650
11805
  }
11651
- } else if (ts6.isSpreadAssignment(prop)) {
11806
+ } else if (ts7.isSpreadAssignment(prop)) {
11652
11807
  if (manifestKey)
11653
11808
  continue;
11654
11809
  const spreadExpr = prop.expression;
11655
- if (ts6.isCallExpression(spreadExpr) && spreadExpr.arguments.length > 0) {
11810
+ if (ts7.isCallExpression(spreadExpr) && spreadExpr.arguments.length > 0) {
11656
11811
  const [firstArg] = spreadExpr.arguments;
11657
- if (firstArg && ts6.isStringLiteral(firstArg)) {
11812
+ if (firstArg && ts7.isStringLiteral(firstArg)) {
11658
11813
  manifestKey = firstArg.text;
11659
11814
  }
11660
11815
  }
@@ -11669,11 +11824,11 @@ var ELYSIA_ROUTE_METHODS2, SKIP_DIRS2, SOURCE_EXTENSIONS2, getScriptKind2 = (fil
11669
11824
  }
11670
11825
  }
11671
11826
  }
11672
- ts6.forEachChild(node, visit);
11827
+ ts7.forEachChild(node, visit);
11673
11828
  };
11674
- ts6.forEachChild(sf, visit);
11829
+ ts7.forEachChild(sf, visit);
11675
11830
  }, scanAngularHandlerCalls = (projectRoot) => {
11676
- const files = collectSourceFiles2(projectRoot);
11831
+ const files = collectSourceFiles3(projectRoot);
11677
11832
  const collected = [];
11678
11833
  for (const file of files) {
11679
11834
  extractCallsFromFile(file, collected);
@@ -11691,7 +11846,7 @@ var init_scanAngularHandlerCalls = __esm(() => {
11691
11846
  "post",
11692
11847
  "put"
11693
11848
  ]);
11694
- SKIP_DIRS2 = new Set([
11849
+ SKIP_DIRS3 = new Set([
11695
11850
  ".absolutejs",
11696
11851
  ".generated",
11697
11852
  ".git",
@@ -11703,20 +11858,20 @@ var init_scanAngularHandlerCalls = __esm(() => {
11703
11858
  "dist",
11704
11859
  "node_modules"
11705
11860
  ]);
11706
- SOURCE_EXTENSIONS2 = new Set([".ts", ".tsx", ".mts", ".cts"]);
11861
+ SOURCE_EXTENSIONS3 = new Set([".ts", ".tsx", ".mts", ".cts"]);
11707
11862
  });
11708
11863
 
11709
11864
  // src/build/scanAngularPageRoutes.ts
11710
- import { readdirSync as readdirSync3, readFileSync as readFileSync13 } from "fs";
11711
- import { basename as basename5, join as join23 } from "path";
11712
- import ts7 from "typescript";
11713
- var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11865
+ import { readdirSync as readdirSync4, readFileSync as readFileSync14 } from "fs";
11866
+ import { basename as basename5, join as join24 } from "path";
11867
+ import ts8 from "typescript";
11868
+ var SOURCE_EXTENSIONS4, SKIP_DIRS4, hasSourceExtension4 = (filePath) => {
11714
11869
  const idx = filePath.lastIndexOf(".");
11715
11870
  if (idx === -1)
11716
11871
  return false;
11717
- return SOURCE_EXTENSIONS3.has(filePath.slice(idx));
11872
+ return SOURCE_EXTENSIONS4.has(filePath.slice(idx));
11718
11873
  }, isPageFile = (filePath) => {
11719
- if (!hasSourceExtension3(filePath))
11874
+ if (!hasSourceExtension4(filePath))
11720
11875
  return false;
11721
11876
  const base = basename5(filePath);
11722
11877
  if (base.endsWith(".d.ts"))
@@ -11735,7 +11890,7 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11735
11890
  continue;
11736
11891
  let entries;
11737
11892
  try {
11738
- entries = readdirSync3(dir, {
11893
+ entries = readdirSync4(dir, {
11739
11894
  encoding: "utf-8",
11740
11895
  withFileTypes: true
11741
11896
  });
@@ -11744,13 +11899,13 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11744
11899
  }
11745
11900
  for (const entry of entries) {
11746
11901
  if (entry.isDirectory()) {
11747
- if (SKIP_DIRS3.has(entry.name))
11902
+ if (SKIP_DIRS4.has(entry.name))
11748
11903
  continue;
11749
11904
  if (entry.name.startsWith("."))
11750
11905
  continue;
11751
- stack.push(join23(dir, entry.name));
11906
+ stack.push(join24(dir, entry.name));
11752
11907
  } else if (entry.isFile() && isPageFile(entry.name)) {
11753
- out.push(join23(dir, entry.name));
11908
+ out.push(join24(dir, entry.name));
11754
11909
  }
11755
11910
  }
11756
11911
  }
@@ -11758,15 +11913,15 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11758
11913
  }, hasTopLevelRoutesExport = (source, filePath) => {
11759
11914
  if (!source.includes("routes"))
11760
11915
  return false;
11761
- const sf = ts7.createSourceFile(filePath, source, ts7.ScriptTarget.Latest, true, ts7.ScriptKind.TS);
11916
+ const sf = ts8.createSourceFile(filePath, source, ts8.ScriptTarget.Latest, true, ts8.ScriptKind.TS);
11762
11917
  for (const statement of sf.statements) {
11763
- if (!ts7.isVariableStatement(statement))
11918
+ if (!ts8.isVariableStatement(statement))
11764
11919
  continue;
11765
- const isExported = statement.modifiers?.some((modifier) => modifier.kind === ts7.SyntaxKind.ExportKeyword);
11920
+ const isExported = statement.modifiers?.some((modifier) => modifier.kind === ts8.SyntaxKind.ExportKeyword);
11766
11921
  if (!isExported)
11767
11922
  continue;
11768
11923
  for (const declaration of statement.declarationList.declarations) {
11769
- if (!ts7.isIdentifier(declaration.name))
11924
+ if (!ts8.isIdentifier(declaration.name))
11770
11925
  continue;
11771
11926
  if (declaration.name.text === "routes")
11772
11927
  return true;
@@ -11779,7 +11934,7 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11779
11934
  for (const file of files) {
11780
11935
  let source;
11781
11936
  try {
11782
- source = readFileSync13(file, "utf-8");
11937
+ source = readFileSync14(file, "utf-8");
11783
11938
  } catch {
11784
11939
  continue;
11785
11940
  }
@@ -11795,8 +11950,8 @@ var SOURCE_EXTENSIONS3, SKIP_DIRS3, hasSourceExtension3 = (filePath) => {
11795
11950
  return out;
11796
11951
  };
11797
11952
  var init_scanAngularPageRoutes = __esm(() => {
11798
- SOURCE_EXTENSIONS3 = new Set([".ts", ".tsx", ".mts", ".cts"]);
11799
- SKIP_DIRS3 = new Set([
11953
+ SOURCE_EXTENSIONS4 = new Set([".ts", ".tsx", ".mts", ".cts"]);
11954
+ SKIP_DIRS4 = new Set([
11800
11955
  ".absolutejs",
11801
11956
  ".generated",
11802
11957
  ".git",
@@ -11826,46 +11981,46 @@ var exports_parseAngularConfigImports = {};
11826
11981
  __export(exports_parseAngularConfigImports, {
11827
11982
  parseAngularProvidersImport: () => parseAngularProvidersImport
11828
11983
  });
11829
- import { existsSync as existsSync19, readFileSync as readFileSync14 } from "fs";
11830
- import { dirname as dirname11, isAbsolute as isAbsolute3, join as join24 } from "path";
11831
- import ts8 from "typescript";
11984
+ import { existsSync as existsSync19, readFileSync as readFileSync15 } from "fs";
11985
+ import { dirname as dirname11, isAbsolute as isAbsolute3, join as join25 } from "path";
11986
+ import ts9 from "typescript";
11832
11987
  var findDefineConfigCall = (sf) => {
11833
11988
  let result = null;
11834
11989
  const visit = (node) => {
11835
11990
  if (result)
11836
11991
  return;
11837
- if (ts8.isCallExpression(node) && ts8.isIdentifier(node.expression) && node.expression.text === "defineConfig") {
11992
+ if (ts9.isCallExpression(node) && ts9.isIdentifier(node.expression) && node.expression.text === "defineConfig") {
11838
11993
  const [arg] = node.arguments;
11839
- if (arg && ts8.isObjectLiteralExpression(arg)) {
11994
+ if (arg && ts9.isObjectLiteralExpression(arg)) {
11840
11995
  result = arg;
11841
11996
  return;
11842
11997
  }
11843
11998
  }
11844
- ts8.forEachChild(node, visit);
11999
+ ts9.forEachChild(node, visit);
11845
12000
  };
11846
- ts8.forEachChild(sf, visit);
12001
+ ts9.forEachChild(sf, visit);
11847
12002
  return result;
11848
12003
  }, findPropertyInitializer = (object, name) => {
11849
12004
  for (const prop of object.properties) {
11850
- if (!ts8.isPropertyAssignment(prop))
12005
+ if (!ts9.isPropertyAssignment(prop))
11851
12006
  continue;
11852
12007
  if (!prop.name)
11853
12008
  continue;
11854
- const key = ts8.isIdentifier(prop.name) ? prop.name.text : ts8.isStringLiteral(prop.name) ? prop.name.text : null;
12009
+ const key = ts9.isIdentifier(prop.name) ? prop.name.text : ts9.isStringLiteral(prop.name) ? prop.name.text : null;
11855
12010
  if (key === name)
11856
12011
  return prop.initializer;
11857
12012
  }
11858
12013
  return null;
11859
12014
  }, findImportForBinding = (sf, binding) => {
11860
12015
  for (const statement of sf.statements) {
11861
- if (!ts8.isImportDeclaration(statement))
12016
+ if (!ts9.isImportDeclaration(statement))
11862
12017
  continue;
11863
- if (!ts8.isStringLiteral(statement.moduleSpecifier))
12018
+ if (!ts9.isStringLiteral(statement.moduleSpecifier))
11864
12019
  continue;
11865
12020
  if (statement.importClause?.isTypeOnly)
11866
12021
  continue;
11867
12022
  const named = statement.importClause?.namedBindings;
11868
- if (!named || !ts8.isNamedImports(named))
12023
+ if (!named || !ts9.isNamedImports(named))
11869
12024
  continue;
11870
12025
  for (const element of named.elements) {
11871
12026
  if (element.isTypeOnly)
@@ -11882,15 +12037,15 @@ var findDefineConfigCall = (sf) => {
11882
12037
  }, resolveConfigPath = (projectRoot) => {
11883
12038
  const envOverride = process.env.ABSOLUTE_CONFIG;
11884
12039
  if (envOverride) {
11885
- const resolved = isAbsolute3(envOverride) ? envOverride : join24(projectRoot, envOverride);
12040
+ const resolved = isAbsolute3(envOverride) ? envOverride : join25(projectRoot, envOverride);
11886
12041
  if (existsSync19(resolved))
11887
12042
  return resolved;
11888
12043
  }
11889
12044
  const candidates = [
11890
- join24(projectRoot, "absolute.config.ts"),
11891
- join24(projectRoot, "absolute.config.mts"),
11892
- join24(projectRoot, "absolute.config.js"),
11893
- join24(projectRoot, "absolute.config.mjs")
12045
+ join25(projectRoot, "absolute.config.ts"),
12046
+ join25(projectRoot, "absolute.config.mts"),
12047
+ join25(projectRoot, "absolute.config.js"),
12048
+ join25(projectRoot, "absolute.config.mjs")
11894
12049
  ];
11895
12050
  for (const candidate of candidates) {
11896
12051
  if (existsSync19(candidate))
@@ -11901,29 +12056,29 @@ var findDefineConfigCall = (sf) => {
11901
12056
  const configPath2 = resolveConfigPath(projectRoot);
11902
12057
  if (!configPath2)
11903
12058
  return null;
11904
- const source = readFileSync14(configPath2, "utf-8");
12059
+ const source = readFileSync15(configPath2, "utf-8");
11905
12060
  if (!source.includes("angular"))
11906
12061
  return null;
11907
12062
  if (!source.includes("providers"))
11908
12063
  return null;
11909
- const sf = ts8.createSourceFile(configPath2, source, ts8.ScriptTarget.Latest, true, ts8.ScriptKind.TS);
12064
+ const sf = ts9.createSourceFile(configPath2, source, ts9.ScriptTarget.Latest, true, ts9.ScriptKind.TS);
11910
12065
  const configObject = findDefineConfigCall(sf);
11911
12066
  if (!configObject)
11912
12067
  return null;
11913
12068
  const angularField = findPropertyInitializer(configObject, "angular");
11914
- if (!angularField || !ts8.isObjectLiteralExpression(angularField))
12069
+ if (!angularField || !ts9.isObjectLiteralExpression(angularField))
11915
12070
  return null;
11916
12071
  const providersField = findPropertyInitializer(angularField, "providers");
11917
12072
  if (!providersField)
11918
12073
  return null;
11919
- if (!ts8.isIdentifier(providersField))
12074
+ if (!ts9.isIdentifier(providersField))
11920
12075
  return null;
11921
12076
  const binding = providersField.text;
11922
12077
  const importInfo = findImportForBinding(sf, binding);
11923
12078
  if (!importInfo)
11924
12079
  return null;
11925
12080
  const configDir2 = dirname11(configPath2);
11926
- const absolutePath = importInfo.source.startsWith(".") ? join24(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute3(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
12081
+ const absolutePath = importInfo.source.startsWith(".") ? join25(configDir2, importInfo.source).replace(/\.[cm]?[tj]sx?$/, "") : isAbsolute3(importInfo.source) ? importInfo.source.replace(/\.[cm]?[tj]sx?$/, "") : importInfo.source;
11927
12082
  return {
11928
12083
  absolutePath,
11929
12084
  bindingName: binding,
@@ -12075,7 +12230,7 @@ import { existsSync as existsSync20 } from "fs";
12075
12230
  import { mkdir as mkdir4, stat as stat2 } from "fs/promises";
12076
12231
  import {
12077
12232
  dirname as dirname12,
12078
- join as join25,
12233
+ join as join26,
12079
12234
  basename as basename6,
12080
12235
  extname as extname5,
12081
12236
  resolve as resolve19,
@@ -12134,14 +12289,14 @@ var resolveDevClientDir2 = () => {
12134
12289
  `${basePath}.svelte`,
12135
12290
  `${basePath}.svelte.ts`,
12136
12291
  `${basePath}.svelte.js`,
12137
- join25(basePath, "index.ts"),
12138
- join25(basePath, "index.js"),
12139
- join25(basePath, "index.mjs"),
12140
- join25(basePath, "index.cjs"),
12141
- join25(basePath, "index.json"),
12142
- join25(basePath, "index.svelte"),
12143
- join25(basePath, "index.svelte.ts"),
12144
- join25(basePath, "index.svelte.js")
12292
+ join26(basePath, "index.ts"),
12293
+ join26(basePath, "index.js"),
12294
+ join26(basePath, "index.mjs"),
12295
+ join26(basePath, "index.cjs"),
12296
+ join26(basePath, "index.json"),
12297
+ join26(basePath, "index.svelte"),
12298
+ join26(basePath, "index.svelte.ts"),
12299
+ join26(basePath, "index.svelte.js")
12145
12300
  ];
12146
12301
  const checks = await Promise.all(candidates.map(exists));
12147
12302
  return candidates.find((_2, index) => checks[index]) ?? null;
@@ -12180,9 +12335,9 @@ var resolveDevClientDir2 = () => {
12180
12335
  }, compileSvelte = async (entryPoints, svelteRoot, cache = new Map, isDev = false, stylePreprocessors) => {
12181
12336
  const { compile, compileModule, preprocess } = await import("svelte/compiler");
12182
12337
  const generatedDir = getFrameworkGeneratedDir("svelte");
12183
- const clientDir = join25(generatedDir, "client");
12184
- const indexDir = join25(generatedDir, "indexes");
12185
- const serverDir = join25(generatedDir, "server");
12338
+ const clientDir = join26(generatedDir, "client");
12339
+ const indexDir = join26(generatedDir, "indexes");
12340
+ const serverDir = join26(generatedDir, "server");
12186
12341
  await Promise.all([clientDir, indexDir, serverDir].map((dir) => mkdir4(dir, { recursive: true })));
12187
12342
  const dev = env.NODE_ENV !== "production";
12188
12343
  const build = async (src) => {
@@ -12220,8 +12375,8 @@ var resolveDevClientDir2 = () => {
12220
12375
  const childBuilt = await Promise.all(childSources.map((child) => build(child)));
12221
12376
  const hasAwaitSlotFromChildren = childBuilt.some((child) => child.hasAwaitSlot);
12222
12377
  const externalRewrites = new Map;
12223
- const ssrOutputDir = dirname12(join25(serverDir, relDir, `${baseName}.js`));
12224
- const clientOutputDir = dirname12(join25(clientDir, relDir, `${baseName}.js`));
12378
+ const ssrOutputDir = dirname12(join26(serverDir, relDir, `${baseName}.js`));
12379
+ const clientOutputDir = dirname12(join26(clientDir, relDir, `${baseName}.js`));
12225
12380
  for (let idx = 0;idx < importPaths.length; idx++) {
12226
12381
  const rawSpec = importPaths[idx];
12227
12382
  if (!rawSpec)
@@ -12286,8 +12441,8 @@ var resolveDevClientDir2 = () => {
12286
12441
  code += islandMetadataExports;
12287
12442
  return { code, map: compiledJs.map };
12288
12443
  };
12289
- const ssrPath = join25(serverDir, relDir, `${baseName}.js`);
12290
- const clientPath = join25(clientDir, relDir, `${baseName}.js`);
12444
+ const ssrPath = join26(serverDir, relDir, `${baseName}.js`);
12445
+ const clientPath = join26(clientDir, relDir, `${baseName}.js`);
12291
12446
  await Promise.all([
12292
12447
  mkdir4(dirname12(ssrPath), { recursive: true }),
12293
12448
  mkdir4(dirname12(clientPath), { recursive: true })
@@ -12325,7 +12480,7 @@ var resolveDevClientDir2 = () => {
12325
12480
  await Promise.all(roots.map(async ({ client, hasAwaitSlot }) => {
12326
12481
  const relClientDir = dirname12(relative9(clientDir, client));
12327
12482
  const name = basename6(client, extname5(client));
12328
- const indexPath = join25(indexDir, relClientDir, `${name}.js`);
12483
+ const indexPath = join26(indexDir, relClientDir, `${name}.js`);
12329
12484
  const importRaw = relative9(dirname12(indexPath), client).split(sep2).join("/");
12330
12485
  const importPath = importRaw.startsWith(".") || importRaw.startsWith("/") ? importRaw : `./${importRaw}`;
12331
12486
  const hmrImports = isDev ? `window.__HMR_FRAMEWORK__ = "svelte";
@@ -12404,7 +12559,7 @@ if (typeof window !== "undefined") {
12404
12559
  svelteClientPaths: roots.map(({ client }) => client),
12405
12560
  svelteIndexPaths: roots.map(({ client }) => {
12406
12561
  const rel = dirname12(relative9(clientDir, client));
12407
- return join25(indexDir, rel, basename6(client));
12562
+ return join26(indexDir, rel, basename6(client));
12408
12563
  }),
12409
12564
  svelteServerPaths: roots.map(({ ssr }) => ssr)
12410
12565
  };
@@ -12419,7 +12574,7 @@ var init_compileSvelte = __esm(() => {
12419
12574
  init_lowerAwaitSlotSyntax();
12420
12575
  init_renderToReadableStream();
12421
12576
  devClientDir2 = resolveDevClientDir2();
12422
- hmrClientPath3 = join25(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
12577
+ hmrClientPath3 = join26(devClientDir2, "hmrClient.ts").replace(/\\/g, "/");
12423
12578
  persistentCache = new Map;
12424
12579
  sourceHashCache = new Map;
12425
12580
  transpiler3 = new Transpiler2({ loader: "ts", target: "browser" });
@@ -12434,7 +12589,7 @@ __export(exports_chainInlineSourcemaps, {
12434
12589
  chainBundleInlineSourcemap: () => chainBundleInlineSourcemap,
12435
12590
  buildLineRemap: () => buildLineRemap
12436
12591
  });
12437
- import { readFileSync as readFileSync15, writeFileSync as writeFileSync7 } from "fs";
12592
+ import { readFileSync as readFileSync16, writeFileSync as writeFileSync7 } from "fs";
12438
12593
  var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", BASE64_TO_INT, decodeVlq = (str, startPos) => {
12439
12594
  let result = 0;
12440
12595
  let shift = 0;
@@ -12725,7 +12880,7 @@ var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567
12725
12880
  version: 3
12726
12881
  };
12727
12882
  }, chainBundleInlineSourcemap = (bundleFilePath) => {
12728
- const text = readFileSync15(bundleFilePath, "utf-8");
12883
+ const text = readFileSync16(bundleFilePath, "utf-8");
12729
12884
  const outerMap = extractInlineMap(text);
12730
12885
  if (!outerMap)
12731
12886
  return;
@@ -12811,13 +12966,13 @@ __export(exports_compileVue, {
12811
12966
  compileVue: () => compileVue,
12812
12967
  clearVueHmrCaches: () => clearVueHmrCaches
12813
12968
  });
12814
- import { existsSync as existsSync21 } from "fs";
12969
+ import { existsSync as existsSync21, readFileSync as readFileSync17, realpathSync } from "fs";
12815
12970
  import { mkdir as mkdir5 } from "fs/promises";
12816
12971
  import {
12817
12972
  basename as basename7,
12818
12973
  dirname as dirname13,
12819
12974
  isAbsolute as isAbsolute4,
12820
- join as join26,
12975
+ join as join27,
12821
12976
  relative as relative10,
12822
12977
  resolve as resolve20
12823
12978
  } from "path";
@@ -12951,6 +13106,11 @@ var resolveDevClientDir3 = () => {
12951
13106
  ]);
12952
13107
  const hasScript = descriptor.script || descriptor.scriptSetup;
12953
13108
  const compiledScript = hasScript ? compiler.compileScript(descriptor, {
13109
+ fs: {
13110
+ fileExists: existsSync21,
13111
+ readFile: (file3) => existsSync21(file3) ? readFileSync17(file3, "utf-8") : undefined,
13112
+ realpath: realpathSync
13113
+ },
12954
13114
  id: componentId,
12955
13115
  inlineTemplate: false,
12956
13116
  sourceMap: true
@@ -12995,7 +13155,7 @@ var resolveDevClientDir3 = () => {
12995
13155
  ];
12996
13156
  let cssOutputPaths = [];
12997
13157
  if (isEntryPoint && allCss.length) {
12998
- const cssOutputFile = join26(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
13158
+ const cssOutputFile = join27(outputDirs.css, `${toKebab(fileBaseName)}-compiled.css`);
12999
13159
  await mkdir5(dirname13(cssOutputFile), { recursive: true });
13000
13160
  await write3(cssOutputFile, allCss.join(`
13001
13161
  `));
@@ -13026,8 +13186,8 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13026
13186
  };
13027
13187
  const clientCode = assembleModule(generateRenderFunction(false), "render", true) + islandMetadataExports;
13028
13188
  const serverCode = assembleModule(generateRenderFunction(true), "ssrRender", false) + islandMetadataExports;
13029
- const clientOutputPath = join26(outputDirs.client, `${relativeWithoutExtension}.js`);
13030
- const serverOutputPath = join26(outputDirs.server, `${relativeWithoutExtension}.js`);
13189
+ const clientOutputPath = join27(outputDirs.client, `${relativeWithoutExtension}.js`);
13190
+ const serverOutputPath = join27(outputDirs.server, `${relativeWithoutExtension}.js`);
13031
13191
  const relDir = dirname13(relativeFilePath);
13032
13192
  const relDepth = relDir === "." ? 0 : relDir.split("/").length;
13033
13193
  const adjustImports = (code) => code.replace(/(from\s+['"])(\.\.\/(?:\.\.\/)*)/g, (_2, prefix, dots) => {
@@ -13077,13 +13237,13 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13077
13237
  cacheMap.set(sourceFilePath, result);
13078
13238
  persistentBuildCache.set(sourceFilePath, result);
13079
13239
  return result;
13080
- }, compileVue = async (entryPoints, vueRootDir, isDev = false, stylePreprocessors) => {
13240
+ }, compileVue = async (entryPoints, vueRootDir, isDev = false, stylePreprocessors, ssrOnlyEntries) => {
13081
13241
  const compiler = await import("@vue/compiler-sfc");
13082
13242
  const generatedDir = getFrameworkGeneratedDir("vue");
13083
- const clientOutputDir = join26(generatedDir, "client");
13084
- const indexOutputDir = join26(generatedDir, "indexes");
13085
- const serverOutputDir = join26(generatedDir, "server");
13086
- const cssOutputDir = join26(generatedDir, "compiled");
13243
+ const clientOutputDir = join27(generatedDir, "client");
13244
+ const indexOutputDir = join27(generatedDir, "indexes");
13245
+ const serverOutputDir = join27(generatedDir, "server");
13246
+ const cssOutputDir = join27(generatedDir, "compiled");
13087
13247
  await Promise.all([
13088
13248
  mkdir5(clientOutputDir, { recursive: true }),
13089
13249
  mkdir5(indexOutputDir, { recursive: true }),
@@ -13093,15 +13253,24 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13093
13253
  const buildCache = new Map;
13094
13254
  const allTsHelperPaths = new Set;
13095
13255
  const compiledPages = await Promise.all(entryPoints.map(async (entryPath) => {
13096
- const result = await compileVueFile(resolve20(entryPath), {
13256
+ const resolvedEntryPath = resolve20(entryPath);
13257
+ const result = await compileVueFile(resolvedEntryPath, {
13097
13258
  client: clientOutputDir,
13098
13259
  css: cssOutputDir,
13099
13260
  server: serverOutputDir
13100
13261
  }, buildCache, true, vueRootDir, compiler, stylePreprocessors);
13101
13262
  result.tsHelperPaths.forEach((path) => allTsHelperPaths.add(path));
13263
+ if (ssrOnlyEntries?.has(resolvedEntryPath)) {
13264
+ return {
13265
+ clientPath: null,
13266
+ cssPaths: result.cssPaths,
13267
+ indexPath: null,
13268
+ serverPath: result.serverPath
13269
+ };
13270
+ }
13102
13271
  const entryBaseName = basename7(entryPath, ".vue");
13103
- const indexOutputFile = join26(indexOutputDir, `${entryBaseName}.js`);
13104
- const clientOutputFile = join26(clientOutputDir, relative10(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
13272
+ const indexOutputFile = join27(indexOutputDir, `${entryBaseName}.js`);
13273
+ const clientOutputFile = join27(clientOutputDir, relative10(vueRootDir, entryPath).replace(/\\/g, "/").replace(/\.vue$/, ".js"));
13105
13274
  await mkdir5(dirname13(indexOutputFile), { recursive: true });
13106
13275
  const vueHmrImports = isDev ? [
13107
13276
  `window.__HMR_FRAMEWORK__ = "vue";`,
@@ -13254,18 +13423,19 @@ if (typeof __VUE_HMR_RUNTIME__ !== 'undefined') {
13254
13423
  const sourceCode = await file2(tsPath).text();
13255
13424
  const transpiledCode = transpiler4.transformSync(sourceCode);
13256
13425
  const relativeJsPath = relative10(vueRootDir, tsPath).replace(/\.ts$/, ".js");
13257
- const outClientPath = join26(clientOutputDir, relativeJsPath);
13258
- const outServerPath = join26(serverOutputDir, relativeJsPath);
13426
+ const outClientPath = join27(clientOutputDir, relativeJsPath);
13427
+ const outServerPath = join27(serverOutputDir, relativeJsPath);
13259
13428
  await mkdir5(dirname13(outClientPath), { recursive: true });
13260
13429
  await mkdir5(dirname13(outServerPath), { recursive: true });
13261
13430
  await write3(outClientPath, transpiledCode);
13262
13431
  await write3(outServerPath, transpiledCode);
13263
13432
  }));
13433
+ const isString = (value) => value !== null;
13264
13434
  return {
13265
13435
  hmrMetadata: new Map(vueHmrMetadata),
13266
- vueClientPaths: compiledPages.map((result) => result.clientPath),
13436
+ vueClientPaths: compiledPages.map((p2) => p2.clientPath).filter(isString),
13267
13437
  vueCssPaths: compiledPages.flatMap((result) => result.cssPaths),
13268
- vueIndexPaths: compiledPages.map((result) => result.indexPath),
13438
+ vueIndexPaths: compiledPages.map((p2) => p2.indexPath).filter(isString),
13269
13439
  vueServerPaths: compiledPages.map((result) => result.serverPath)
13270
13440
  };
13271
13441
  };
@@ -13278,7 +13448,7 @@ var init_compileVue = __esm(() => {
13278
13448
  init_vueAutoRouterTransform();
13279
13449
  init_stylePreprocessor();
13280
13450
  devClientDir3 = resolveDevClientDir3();
13281
- hmrClientPath4 = join26(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
13451
+ hmrClientPath4 = join27(devClientDir3, "hmrClient.ts").replace(/\\/g, "/");
13282
13452
  transpiler4 = new Transpiler3({ loader: "ts", target: "browser" });
13283
13453
  scriptCache = new Map;
13284
13454
  scriptSetupCache = new Map;
@@ -13759,17 +13929,17 @@ __export(exports_compileAngular, {
13759
13929
  compileAngularFile: () => compileAngularFile,
13760
13930
  compileAngular: () => compileAngular
13761
13931
  });
13762
- import { existsSync as existsSync22, readFileSync as readFileSync16, promises as fs5 } from "fs";
13763
- import { join as join27, basename as basename8, sep as sep3, dirname as dirname14, resolve as resolve21, relative as relative11 } from "path";
13932
+ import { existsSync as existsSync22, readFileSync as readFileSync18, promises as fs5 } from "fs";
13933
+ import { join as join28, basename as basename8, sep as sep3, dirname as dirname14, resolve as resolve21, relative as relative11 } from "path";
13764
13934
  var {Glob: Glob6 } = globalThis.Bun;
13765
- import ts9 from "typescript";
13935
+ import ts10 from "typescript";
13766
13936
  var traceAngularPhase = async (name, fn2, metadata) => {
13767
13937
  const tracePhase = globalThis.__absoluteBuildTracePhase;
13768
13938
  return tracePhase ? tracePhase(`compile/angular/${name}`, fn2, metadata) : await fn2();
13769
13939
  }, readTsconfigPathAliases = () => {
13770
13940
  try {
13771
13941
  const configPath2 = resolve21(process.cwd(), "tsconfig.json");
13772
- const config = ts9.readConfigFile(configPath2, ts9.sys.readFile).config;
13942
+ const config = ts10.readConfigFile(configPath2, ts10.sys.readFile).config;
13773
13943
  const compilerOptions = config?.compilerOptions ?? {};
13774
13944
  const baseUrl = resolve21(process.cwd(), compilerOptions.baseUrl ?? ".");
13775
13945
  const aliases = Object.entries(compilerOptions.paths ?? {}).map(([pattern, replacements]) => ({ pattern, replacements }));
@@ -13803,10 +13973,10 @@ var traceAngularPhase = async (name, fn2, metadata) => {
13803
13973
  `${candidate}.tsx`,
13804
13974
  `${candidate}.js`,
13805
13975
  `${candidate}.jsx`,
13806
- join27(candidate, "index.ts"),
13807
- join27(candidate, "index.tsx"),
13808
- join27(candidate, "index.js"),
13809
- join27(candidate, "index.jsx")
13976
+ join28(candidate, "index.ts"),
13977
+ join28(candidate, "index.tsx"),
13978
+ join28(candidate, "index.js"),
13979
+ join28(candidate, "index.jsx")
13810
13980
  ];
13811
13981
  return candidates.find((file3) => existsSync22(file3));
13812
13982
  }, createLegacyAngularAnimationUsageResolver = (rootDir) => {
@@ -13898,7 +14068,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
13898
14068
  return resolve21(import.meta.dir, "./dev/client");
13899
14069
  }, devClientDir4, hmrClientPath5, formatDiagnosticMessage = (diagnostic) => {
13900
14070
  try {
13901
- return ts9.flattenDiagnosticMessageText(diagnostic.messageText, `
14071
+ return ts10.flattenDiagnosticMessageText(diagnostic.messageText, `
13902
14072
  `);
13903
14073
  } catch {
13904
14074
  return String(diagnostic.messageText || "Unknown error");
@@ -13906,7 +14076,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
13906
14076
  }, throwOnCompilationErrors = (diagnostics) => {
13907
14077
  if (!diagnostics?.length)
13908
14078
  return;
13909
- const errors = diagnostics.filter((diag) => diag.category === ts9.DiagnosticCategory.Error);
14079
+ const errors = diagnostics.filter((diag) => diag.category === ts10.DiagnosticCategory.Error);
13910
14080
  if (!errors.length)
13911
14081
  return;
13912
14082
  const fullMessage = errors.map(formatDiagnosticMessage).join(`
@@ -13948,22 +14118,22 @@ var traceAngularPhase = async (name, fn2, metadata) => {
13948
14118
  }
13949
14119
  return `${path}.js${query}`;
13950
14120
  }, isRelativeModuleSpecifier = (specifier) => specifier.startsWith("./") || specifier.startsWith("../"), extractLocalImportSpecifiers = (source, fileName) => {
13951
- const sourceFile = ts9.createSourceFile(fileName, source, ts9.ScriptTarget.Latest, true, ts9.ScriptKind.TS);
14121
+ const sourceFile = ts10.createSourceFile(fileName, source, ts10.ScriptTarget.Latest, true, ts10.ScriptKind.TS);
13952
14122
  const specifiers = [];
13953
14123
  const addSpecifier = (node) => {
13954
- if (!node || !ts9.isStringLiteralLike(node))
14124
+ if (!node || !ts10.isStringLiteralLike(node))
13955
14125
  return;
13956
14126
  const specifier = node.text;
13957
14127
  if (isRelativeModuleSpecifier(specifier))
13958
14128
  specifiers.push(specifier);
13959
14129
  };
13960
14130
  const visit = (node) => {
13961
- if (ts9.isImportDeclaration(node) || ts9.isExportDeclaration(node)) {
14131
+ if (ts10.isImportDeclaration(node) || ts10.isExportDeclaration(node)) {
13962
14132
  addSpecifier(node.moduleSpecifier);
13963
- } else if (ts9.isCallExpression(node) && node.expression.kind === ts9.SyntaxKind.ImportKeyword) {
14133
+ } else if (ts10.isCallExpression(node) && node.expression.kind === ts10.SyntaxKind.ImportKeyword) {
13964
14134
  addSpecifier(node.arguments[0]);
13965
14135
  }
13966
- ts9.forEachChild(node, visit);
14136
+ ts10.forEachChild(node, visit);
13967
14137
  };
13968
14138
  visit(sourceFile);
13969
14139
  return specifiers;
@@ -13976,10 +14146,10 @@ var traceAngularPhase = async (name, fn2, metadata) => {
13976
14146
  `${basePath}.tsx`,
13977
14147
  `${basePath}.mts`,
13978
14148
  `${basePath}.cts`,
13979
- join27(basePath, "index.ts"),
13980
- join27(basePath, "index.tsx"),
13981
- join27(basePath, "index.mts"),
13982
- join27(basePath, "index.cts")
14149
+ join28(basePath, "index.ts"),
14150
+ join28(basePath, "index.tsx"),
14151
+ join28(basePath, "index.mts"),
14152
+ join28(basePath, "index.cts")
13983
14153
  ];
13984
14154
  return candidates.map((candidate) => resolve21(candidate)).find((candidate) => existsSync22(candidate) && !candidate.endsWith(".d.ts")) ?? null;
13985
14155
  }, readFileForAotTransform = async (fileName, readFile6) => {
@@ -14005,15 +14175,15 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14005
14175
  const paths = [];
14006
14176
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
14007
14177
  if (templateUrlMatch?.[1])
14008
- paths.push(join27(fileDir, templateUrlMatch[1]));
14178
+ paths.push(join28(fileDir, templateUrlMatch[1]));
14009
14179
  const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
14010
14180
  if (styleUrlMatch?.[1])
14011
- paths.push(join27(fileDir, styleUrlMatch[1]));
14181
+ paths.push(join28(fileDir, styleUrlMatch[1]));
14012
14182
  const styleUrlsMatch = findUncommentedMatch(source, /styleUrls\s*:\s*\[([^\]]+)\]/);
14013
14183
  const urlMatches = styleUrlsMatch?.[1]?.match(/['"]([^'"]+)['"]/g);
14014
14184
  if (urlMatches) {
14015
14185
  for (const urlMatch of urlMatches) {
14016
- paths.push(join27(fileDir, urlMatch.replace(/['"]/g, "")));
14186
+ paths.push(join28(fileDir, urlMatch.replace(/['"]/g, "")));
14017
14187
  }
14018
14188
  }
14019
14189
  return paths.map((path) => resolve21(path));
@@ -14047,7 +14217,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14047
14217
  safeStableStringify(stylePreprocessors ?? null)
14048
14218
  ].join("\x00");
14049
14219
  const cacheKey2 = Bun.hash(cacheInput).toString(BASE_36_RADIX);
14050
- return join27(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey2}.json`);
14220
+ return join28(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey2}.json`);
14051
14221
  }, precomputeAotResourceTransforms = async (inputPaths, readFile6, stylePreprocessors) => {
14052
14222
  const transformedSources = new Map;
14053
14223
  const visited = new Set;
@@ -14093,10 +14263,10 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14093
14263
  return { stats, transformedSources };
14094
14264
  }, compileAngularFiles = async (inputPaths, outDir, stylePreprocessors) => {
14095
14265
  const islandMetadataByOutputPath = await traceAngularPhase("aot/island-metadata", () => new Map(inputPaths.map((inputPath) => {
14096
- const outputPath = resolve21(join27(outDir, relative11(process.cwd(), resolve21(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
14266
+ const outputPath = resolve21(join28(outDir, relative11(process.cwd(), resolve21(inputPath)).replace(/\.[cm]?[tj]sx?$/, ".js")));
14097
14267
  return [
14098
14268
  outputPath,
14099
- buildIslandMetadataExports(readFileSync16(inputPath, "utf-8"))
14269
+ buildIslandMetadataExports(readFileSync18(inputPath, "utf-8"))
14100
14270
  ];
14101
14271
  })), { entries: inputPaths.length });
14102
14272
  await traceAngularPhase("aot/preload-compiler", () => import("@angular/compiler"));
@@ -14111,25 +14281,25 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14111
14281
  emitDecoratorMetadata: true,
14112
14282
  esModuleInterop: true,
14113
14283
  experimentalDecorators: true,
14114
- module: ts9.ModuleKind.ESNext,
14115
- moduleResolution: ts9.ModuleResolutionKind.Bundler,
14116
- newLine: ts9.NewLineKind.LineFeed,
14284
+ module: ts10.ModuleKind.ESNext,
14285
+ moduleResolution: ts10.ModuleResolutionKind.Bundler,
14286
+ newLine: ts10.NewLineKind.LineFeed,
14117
14287
  noLib: false,
14118
14288
  outDir,
14119
14289
  skipLibCheck: true,
14120
- target: ts9.ScriptTarget.ES2022,
14290
+ target: ts10.ScriptTarget.ES2022,
14121
14291
  ...config.options
14122
14292
  };
14123
- options.target = ts9.ScriptTarget.ES2022;
14293
+ options.target = ts10.ScriptTarget.ES2022;
14124
14294
  options.experimentalDecorators = true;
14125
14295
  options.emitDecoratorMetadata = true;
14126
- options.newLine = ts9.NewLineKind.LineFeed;
14296
+ options.newLine = ts10.NewLineKind.LineFeed;
14127
14297
  options.outDir = outDir;
14128
14298
  options.noEmit = false;
14129
14299
  options.incremental = false;
14130
14300
  options.tsBuildInfoFile = undefined;
14131
14301
  options.rootDir = process.cwd();
14132
- const host = await traceAngularPhase("aot/create-compiler-host", () => ts9.createCompilerHost(options));
14302
+ const host = await traceAngularPhase("aot/create-compiler-host", () => ts10.createCompilerHost(options));
14133
14303
  const originalGetDefaultLibLocation = host.getDefaultLibLocation;
14134
14304
  host.getDefaultLibLocation = () => tsLibDir || (originalGetDefaultLibLocation ? originalGetDefaultLibLocation() : "");
14135
14305
  const originalGetDefaultLibFileName = host.getDefaultLibFileName;
@@ -14140,7 +14310,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14140
14310
  const originalGetSourceFile = host.getSourceFile;
14141
14311
  host.getSourceFile = (fileName, languageVersion, onError) => {
14142
14312
  if (fileName.startsWith("lib.") && fileName.endsWith(".d.ts") && tsLibDir) {
14143
- const resolvedPath = join27(tsLibDir, fileName);
14313
+ const resolvedPath = join28(tsLibDir, fileName);
14144
14314
  return originalGetSourceFile?.call(host, resolvedPath, languageVersion, onError);
14145
14315
  }
14146
14316
  return originalGetSourceFile?.call(host, fileName, languageVersion, onError);
@@ -14175,7 +14345,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14175
14345
  host.getSourceFile = (fileName, languageVersion, onError) => {
14176
14346
  const source = transformedSources.get(resolve21(fileName));
14177
14347
  if (source) {
14178
- return ts9.createSourceFile(fileName, source, languageVersion, true);
14348
+ return ts10.createSourceFile(fileName, source, languageVersion, true);
14179
14349
  }
14180
14350
  return originalGetSourceFileForCompile?.call(host, fileName, languageVersion, onError);
14181
14351
  };
@@ -14195,7 +14365,7 @@ var traceAngularPhase = async (name, fn2, metadata) => {
14195
14365
  const entries = await traceAngularPhase("aot/postprocess-emitted-js", () => {
14196
14366
  const rawEntries = Object.entries(emitted).filter(([fileName]) => fileName.endsWith(".js")).map(([fileName, content]) => ({
14197
14367
  content,
14198
- target: join27(outDir, fileName)
14368
+ target: join28(outDir, fileName)
14199
14369
  }));
14200
14370
  const outputFiles = new Set(rawEntries.map(({ target }) => resolve21(target)));
14201
14371
  return rawEntries.map(({ content, target }) => {
@@ -14372,7 +14542,7 @@ ${fields}
14372
14542
  }, inlineTemplateAndLowerDefer = async (source, fileDir) => {
14373
14543
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
14374
14544
  if (templateUrlMatch?.[1]) {
14375
- const templatePath = join27(fileDir, templateUrlMatch[1]);
14545
+ const templatePath = join28(fileDir, templateUrlMatch[1]);
14376
14546
  if (!existsSync22(templatePath)) {
14377
14547
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
14378
14548
  }
@@ -14403,11 +14573,11 @@ ${fields}
14403
14573
  }, inlineTemplateAndLowerDeferSync = (source, fileDir) => {
14404
14574
  const templateUrlMatch = findUncommentedMatch(source, /templateUrl\s*:\s*['"]([^'"]+)['"]/);
14405
14575
  if (templateUrlMatch?.[1]) {
14406
- const templatePath = join27(fileDir, templateUrlMatch[1]);
14576
+ const templatePath = join28(fileDir, templateUrlMatch[1]);
14407
14577
  if (!existsSync22(templatePath)) {
14408
14578
  throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
14409
14579
  }
14410
- const templateRaw2 = readFileSync16(templatePath, "utf-8");
14580
+ const templateRaw2 = readFileSync18(templatePath, "utf-8");
14411
14581
  const lowered2 = lowerAngularDeferSyntax(templateRaw2);
14412
14582
  const escaped2 = escapeTemplateContent(lowered2.template);
14413
14583
  const replacedSource2 = source.slice(0, templateUrlMatch.index) + `template: \`${escaped2}\`` + source.slice(templateUrlMatch.index + templateUrlMatch[0].length);
@@ -14440,7 +14610,7 @@ ${fields}
14440
14610
  return source;
14441
14611
  const stylePromises = urlMatches.map((urlMatch) => {
14442
14612
  const styleUrl = urlMatch.replace(/['"]/g, "");
14443
- return readAndEscapeFile(join27(fileDir, styleUrl), stylePreprocessors);
14613
+ return readAndEscapeFile(join28(fileDir, styleUrl), stylePreprocessors);
14444
14614
  });
14445
14615
  const results = await Promise.all(stylePromises);
14446
14616
  const inlinedStyles = results.filter(Boolean).map((escaped) => `\`${escaped}\``);
@@ -14451,7 +14621,7 @@ ${fields}
14451
14621
  const styleUrlMatch = findUncommentedMatch(source, /styleUrl\s*:\s*['"]([^'"]+)['"]/);
14452
14622
  if (!styleUrlMatch?.[1])
14453
14623
  return source;
14454
- const escaped = await readAndEscapeFile(join27(fileDir, styleUrlMatch[1]), stylePreprocessors);
14624
+ const escaped = await readAndEscapeFile(join28(fileDir, styleUrlMatch[1]), stylePreprocessors);
14455
14625
  if (!escaped)
14456
14626
  return source;
14457
14627
  return source.slice(0, styleUrlMatch.index) + `styles: [\`${escaped}\`]` + source.slice(styleUrlMatch.index + styleUrlMatch[0].length);
@@ -14487,10 +14657,10 @@ ${fields}
14487
14657
  `${candidate}.js`,
14488
14658
  `${candidate}.jsx`,
14489
14659
  `${candidate}.json`,
14490
- join27(candidate, "index.ts"),
14491
- join27(candidate, "index.tsx"),
14492
- join27(candidate, "index.js"),
14493
- join27(candidate, "index.jsx")
14660
+ join28(candidate, "index.ts"),
14661
+ join28(candidate, "index.tsx"),
14662
+ join28(candidate, "index.js"),
14663
+ join28(candidate, "index.jsx")
14494
14664
  ];
14495
14665
  return candidates.find((file3) => existsSync22(file3));
14496
14666
  };
@@ -14517,10 +14687,10 @@ ${fields}
14517
14687
  const inputDir = dirname14(sourcePath);
14518
14688
  const fileBase = basename8(sourcePath).replace(/\.[cm]?[tj]sx?$/, ".js");
14519
14689
  if (inputDir === outDir || inputDir.startsWith(`${outDir}${sep3}`)) {
14520
- return join27(inputDir, fileBase);
14690
+ return join28(inputDir, fileBase);
14521
14691
  }
14522
14692
  const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
14523
- return join27(outDir, relativeDir, fileBase);
14693
+ return join28(outDir, relativeDir, fileBase);
14524
14694
  };
14525
14695
  const withCacheBuster = (specifier) => {
14526
14696
  if (!cacheBuster)
@@ -14570,8 +14740,8 @@ ${fields}
14570
14740
  if (resolved.endsWith(".json") && existsSync22(resolved)) {
14571
14741
  const inputDir2 = dirname14(resolved);
14572
14742
  const relativeDir2 = inputDir2.startsWith(baseDir) ? inputDir2.substring(baseDir.length + 1) : inputDir2;
14573
- const targetDir2 = join27(outDir, relativeDir2);
14574
- const targetPath2 = join27(targetDir2, basename8(resolved));
14743
+ const targetDir2 = join28(outDir, relativeDir2);
14744
+ const targetPath2 = join28(targetDir2, basename8(resolved));
14575
14745
  await fs5.mkdir(targetDir2, { recursive: true });
14576
14746
  await fs5.copyFile(resolved, targetPath2);
14577
14747
  allOutputs.push(targetPath2);
@@ -14649,7 +14819,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14649
14819
  return { clientPaths: [...emptyPaths], serverPaths: [...emptyPaths] };
14650
14820
  }
14651
14821
  const compiledRoot = compiledParent;
14652
- const indexesDir = join27(compiledParent, "indexes");
14822
+ const indexesDir = join28(compiledParent, "indexes");
14653
14823
  await traceAngularPhase("setup/create-indexes-dir", () => fs5.mkdir(indexesDir, { recursive: true }));
14654
14824
  const aotOutputs = hmr ? [] : await traceAngularPhase("aot/compile-files", () => compileAngularFiles(entryPoints.map((entry) => resolve21(entry)), compiledRoot, stylePreprocessors), { entries: entryPoints.length });
14655
14825
  if (!hmr) {
@@ -14663,9 +14833,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14663
14833
  absolute: false,
14664
14834
  cwd: angularSrcDir
14665
14835
  })) {
14666
- const sourcePath = join27(angularSrcDir, rel);
14836
+ const sourcePath = join28(angularSrcDir, rel);
14667
14837
  const cwdRel = relative11(cwd, sourcePath);
14668
- const targetPath = join27(compiledRoot, cwdRel);
14838
+ const targetPath = join28(compiledRoot, cwdRel);
14669
14839
  await fs5.mkdir(dirname14(targetPath), { recursive: true });
14670
14840
  await fs5.copyFile(sourcePath, targetPath);
14671
14841
  }
@@ -14682,9 +14852,9 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14682
14852
  const fileBase = basename8(resolvedEntry).replace(/\.[tj]s$/, "");
14683
14853
  const jsName = `${fileBase}.js`;
14684
14854
  const compiledFallbackPaths = [
14685
- join27(compiledRoot, relativeEntry),
14686
- join27(compiledRoot, "pages", jsName),
14687
- join27(compiledRoot, jsName)
14855
+ join28(compiledRoot, relativeEntry),
14856
+ join28(compiledRoot, "pages", jsName),
14857
+ join28(compiledRoot, jsName)
14688
14858
  ].map((file3) => resolve21(file3));
14689
14859
  const resolveRawServerFile = (candidatePaths) => {
14690
14860
  const normalizedCandidates = [
@@ -14734,7 +14904,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14734
14904
  const providersHashInput = providersInjection ? (() => {
14735
14905
  let providersSourceContent = "";
14736
14906
  try {
14737
- providersSourceContent = readFileSync16(providersInjection.appProvidersSource, "utf-8");
14907
+ providersSourceContent = readFileSync18(providersInjection.appProvidersSource, "utf-8");
14738
14908
  } catch {}
14739
14909
  return JSON.stringify({
14740
14910
  basePath: pageInjectionForHash?.basePath ?? null,
@@ -14744,7 +14914,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14744
14914
  })() : "no-providers";
14745
14915
  const serverContentHash = `${Bun.hash(original).toString(BASE_36_RADIX)}.${Bun.hash(providersHashInput).toString(BASE_36_RADIX)}`;
14746
14916
  const cachedWrapper = wrapperOutputCache.get(resolvedEntry);
14747
- const clientFile = join27(indexesDir, jsName);
14917
+ const clientFile = join28(indexesDir, jsName);
14748
14918
  if (hmr && cachedWrapper && cachedWrapper.serverHash === serverContentHash && existsSync22(clientFile) && (usesLegacyAnimations || !original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__")) && (!usesLegacyAnimations || original.includes("__ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__"))) {
14749
14919
  return {
14750
14920
  clientPath: clientFile,
@@ -14776,7 +14946,7 @@ export const __ABSOLUTE_PAGE_USES_LEGACY_ANIMATIONS__ = true;
14776
14946
  const angularDirAbs = resolve21(outRoot);
14777
14947
  const appSourceAbs = resolve21(providersInjection.appProvidersSource);
14778
14948
  const rel = relative11(angularDirAbs, appSourceAbs).replace(/\\/g, "/");
14779
- return join27(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
14949
+ return join28(compiledParent, rel).replace(/\.[cm]?[tj]sx?$/, ".js");
14780
14950
  })();
14781
14951
  const appProvidersSpec = (() => {
14782
14952
  const rel = relative11(dirname14(rawServerFile), compiledAppProvidersPath).replace(/\\/g, "/");
@@ -14999,24 +15169,24 @@ var init_compileAngular = __esm(() => {
14999
15169
  init_stylePreprocessor();
15000
15170
  init_generatedDir();
15001
15171
  devClientDir4 = resolveDevClientDir4();
15002
- hmrClientPath5 = join27(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
15172
+ hmrClientPath5 = join28(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
15003
15173
  jitContentCache = new Map;
15004
15174
  wrapperOutputCache = new Map;
15005
15175
  });
15006
15176
 
15007
15177
  // src/dev/angular/hmrImportGenerator.ts
15008
- import ts10 from "typescript";
15178
+ import ts11 from "typescript";
15009
15179
  var createHmrImportGenerator = (namespaceMap) => ({
15010
15180
  addImport(request) {
15011
15181
  const ns = namespaceMap.get(request.exportModuleSpecifier);
15012
15182
  if (!ns) {
15013
15183
  throw new Error(`HMR import generator has no namespace mapping for ${request.exportModuleSpecifier}. ` + `Add it to namespaceDependencies before calling compileHmrUpdateCallback.`);
15014
15184
  }
15015
- const namespaceId = ts10.factory.createIdentifier(ns);
15185
+ const namespaceId = ts11.factory.createIdentifier(ns);
15016
15186
  if (request.exportSymbolName === null) {
15017
15187
  return namespaceId;
15018
15188
  }
15019
- return ts10.factory.createPropertyAccessExpression(namespaceId, ts10.factory.createIdentifier(request.exportSymbolName));
15189
+ return ts11.factory.createPropertyAccessExpression(namespaceId, ts11.factory.createIdentifier(request.exportSymbolName));
15020
15190
  }
15021
15191
  });
15022
15192
  var init_hmrImportGenerator = () => {};
@@ -15389,13 +15559,13 @@ var init_translator = __esm(() => {
15389
15559
  });
15390
15560
 
15391
15561
  // src/dev/angular/vendor/translator/ts_util.ts
15392
- import ts11 from "typescript";
15562
+ import ts12 from "typescript";
15393
15563
  function tsNumericExpression(value) {
15394
15564
  if (value < 0) {
15395
- const operand = ts11.factory.createNumericLiteral(Math.abs(value));
15396
- return ts11.factory.createPrefixUnaryExpression(ts11.SyntaxKind.MinusToken, operand);
15565
+ const operand = ts12.factory.createNumericLiteral(Math.abs(value));
15566
+ return ts12.factory.createPrefixUnaryExpression(ts12.SyntaxKind.MinusToken, operand);
15397
15567
  }
15398
- return ts11.factory.createNumericLiteral(value);
15568
+ return ts12.factory.createNumericLiteral(value);
15399
15569
  }
15400
15570
  var init_ts_util = __esm(() => {
15401
15571
  /*!
@@ -15408,142 +15578,142 @@ var init_ts_util = __esm(() => {
15408
15578
  });
15409
15579
 
15410
15580
  // src/dev/angular/vendor/translator/typescript_ast_factory.ts
15411
- import ts12 from "typescript";
15581
+ import ts13 from "typescript";
15412
15582
 
15413
15583
  class TypeScriptAstFactory {
15414
15584
  annotateForClosureCompiler;
15415
15585
  externalSourceFiles = new Map;
15416
15586
  UNARY_OPERATORS = /* @__PURE__ */ (() => ({
15417
- "+": ts12.SyntaxKind.PlusToken,
15418
- "-": ts12.SyntaxKind.MinusToken,
15419
- "!": ts12.SyntaxKind.ExclamationToken
15587
+ "+": ts13.SyntaxKind.PlusToken,
15588
+ "-": ts13.SyntaxKind.MinusToken,
15589
+ "!": ts13.SyntaxKind.ExclamationToken
15420
15590
  }))();
15421
15591
  BINARY_OPERATORS = /* @__PURE__ */ (() => ({
15422
- "&&": ts12.SyntaxKind.AmpersandAmpersandToken,
15423
- ">": ts12.SyntaxKind.GreaterThanToken,
15424
- ">=": ts12.SyntaxKind.GreaterThanEqualsToken,
15425
- "&": ts12.SyntaxKind.AmpersandToken,
15426
- "|": ts12.SyntaxKind.BarToken,
15427
- "/": ts12.SyntaxKind.SlashToken,
15428
- "==": ts12.SyntaxKind.EqualsEqualsToken,
15429
- "===": ts12.SyntaxKind.EqualsEqualsEqualsToken,
15430
- "<": ts12.SyntaxKind.LessThanToken,
15431
- "<=": ts12.SyntaxKind.LessThanEqualsToken,
15432
- "-": ts12.SyntaxKind.MinusToken,
15433
- "%": ts12.SyntaxKind.PercentToken,
15434
- "*": ts12.SyntaxKind.AsteriskToken,
15435
- "**": ts12.SyntaxKind.AsteriskAsteriskToken,
15436
- "!=": ts12.SyntaxKind.ExclamationEqualsToken,
15437
- "!==": ts12.SyntaxKind.ExclamationEqualsEqualsToken,
15438
- "||": ts12.SyntaxKind.BarBarToken,
15439
- "+": ts12.SyntaxKind.PlusToken,
15440
- "??": ts12.SyntaxKind.QuestionQuestionToken,
15441
- "=": ts12.SyntaxKind.EqualsToken,
15442
- "+=": ts12.SyntaxKind.PlusEqualsToken,
15443
- "-=": ts12.SyntaxKind.MinusEqualsToken,
15444
- "*=": ts12.SyntaxKind.AsteriskEqualsToken,
15445
- "/=": ts12.SyntaxKind.SlashEqualsToken,
15446
- "%=": ts12.SyntaxKind.PercentEqualsToken,
15447
- "**=": ts12.SyntaxKind.AsteriskAsteriskEqualsToken,
15448
- "&&=": ts12.SyntaxKind.AmpersandAmpersandEqualsToken,
15449
- "||=": ts12.SyntaxKind.BarBarEqualsToken,
15450
- "??=": ts12.SyntaxKind.QuestionQuestionEqualsToken,
15451
- in: ts12.SyntaxKind.InKeyword,
15452
- instanceof: ts12.SyntaxKind.InstanceOfKeyword
15592
+ "&&": ts13.SyntaxKind.AmpersandAmpersandToken,
15593
+ ">": ts13.SyntaxKind.GreaterThanToken,
15594
+ ">=": ts13.SyntaxKind.GreaterThanEqualsToken,
15595
+ "&": ts13.SyntaxKind.AmpersandToken,
15596
+ "|": ts13.SyntaxKind.BarToken,
15597
+ "/": ts13.SyntaxKind.SlashToken,
15598
+ "==": ts13.SyntaxKind.EqualsEqualsToken,
15599
+ "===": ts13.SyntaxKind.EqualsEqualsEqualsToken,
15600
+ "<": ts13.SyntaxKind.LessThanToken,
15601
+ "<=": ts13.SyntaxKind.LessThanEqualsToken,
15602
+ "-": ts13.SyntaxKind.MinusToken,
15603
+ "%": ts13.SyntaxKind.PercentToken,
15604
+ "*": ts13.SyntaxKind.AsteriskToken,
15605
+ "**": ts13.SyntaxKind.AsteriskAsteriskToken,
15606
+ "!=": ts13.SyntaxKind.ExclamationEqualsToken,
15607
+ "!==": ts13.SyntaxKind.ExclamationEqualsEqualsToken,
15608
+ "||": ts13.SyntaxKind.BarBarToken,
15609
+ "+": ts13.SyntaxKind.PlusToken,
15610
+ "??": ts13.SyntaxKind.QuestionQuestionToken,
15611
+ "=": ts13.SyntaxKind.EqualsToken,
15612
+ "+=": ts13.SyntaxKind.PlusEqualsToken,
15613
+ "-=": ts13.SyntaxKind.MinusEqualsToken,
15614
+ "*=": ts13.SyntaxKind.AsteriskEqualsToken,
15615
+ "/=": ts13.SyntaxKind.SlashEqualsToken,
15616
+ "%=": ts13.SyntaxKind.PercentEqualsToken,
15617
+ "**=": ts13.SyntaxKind.AsteriskAsteriskEqualsToken,
15618
+ "&&=": ts13.SyntaxKind.AmpersandAmpersandEqualsToken,
15619
+ "||=": ts13.SyntaxKind.BarBarEqualsToken,
15620
+ "??=": ts13.SyntaxKind.QuestionQuestionEqualsToken,
15621
+ in: ts13.SyntaxKind.InKeyword,
15622
+ instanceof: ts13.SyntaxKind.InstanceOfKeyword
15453
15623
  }))();
15454
15624
  VAR_TYPES = /* @__PURE__ */ (() => ({
15455
- const: ts12.NodeFlags.Const,
15456
- let: ts12.NodeFlags.Let,
15457
- var: ts12.NodeFlags.None
15625
+ const: ts13.NodeFlags.Const,
15626
+ let: ts13.NodeFlags.Let,
15627
+ var: ts13.NodeFlags.None
15458
15628
  }))();
15459
15629
  constructor(annotateForClosureCompiler) {
15460
15630
  this.annotateForClosureCompiler = annotateForClosureCompiler;
15461
15631
  }
15462
15632
  attachComments = attachComments;
15463
- createArrayLiteral = ts12.factory.createArrayLiteralExpression;
15633
+ createArrayLiteral = ts13.factory.createArrayLiteralExpression;
15464
15634
  createAssignment(target, operator, value) {
15465
- return ts12.factory.createBinaryExpression(target, this.BINARY_OPERATORS[operator], value);
15635
+ return ts13.factory.createBinaryExpression(target, this.BINARY_OPERATORS[operator], value);
15466
15636
  }
15467
15637
  createBinaryExpression(leftOperand, operator, rightOperand) {
15468
- return ts12.factory.createBinaryExpression(leftOperand, this.BINARY_OPERATORS[operator], rightOperand);
15638
+ return ts13.factory.createBinaryExpression(leftOperand, this.BINARY_OPERATORS[operator], rightOperand);
15469
15639
  }
15470
15640
  createBlock(body) {
15471
- return ts12.factory.createBlock(body);
15641
+ return ts13.factory.createBlock(body);
15472
15642
  }
15473
15643
  createCallExpression(callee, args, pure) {
15474
- const call = ts12.factory.createCallExpression(callee, undefined, args);
15644
+ const call = ts13.factory.createCallExpression(callee, undefined, args);
15475
15645
  if (pure) {
15476
- ts12.addSyntheticLeadingComment(call, ts12.SyntaxKind.MultiLineCommentTrivia, this.annotateForClosureCompiler ? "* @pureOrBreakMyCode " /* CLOSURE */ : "@__PURE__" /* TERSER */, false);
15646
+ ts13.addSyntheticLeadingComment(call, ts13.SyntaxKind.MultiLineCommentTrivia, this.annotateForClosureCompiler ? "* @pureOrBreakMyCode " /* CLOSURE */ : "@__PURE__" /* TERSER */, false);
15477
15647
  }
15478
15648
  return call;
15479
15649
  }
15480
15650
  createConditional(condition, whenTrue, whenFalse) {
15481
- return ts12.factory.createConditionalExpression(condition, undefined, whenTrue, undefined, whenFalse);
15651
+ return ts13.factory.createConditionalExpression(condition, undefined, whenTrue, undefined, whenFalse);
15482
15652
  }
15483
- createElementAccess = ts12.factory.createElementAccessExpression;
15484
- createExpressionStatement = ts12.factory.createExpressionStatement;
15653
+ createElementAccess = ts13.factory.createElementAccessExpression;
15654
+ createExpressionStatement = ts13.factory.createExpressionStatement;
15485
15655
  createDynamicImport(url) {
15486
- return ts12.factory.createCallExpression(ts12.factory.createToken(ts12.SyntaxKind.ImportKeyword), undefined, [
15487
- typeof url === "string" ? ts12.factory.createStringLiteral(url) : url
15656
+ return ts13.factory.createCallExpression(ts13.factory.createToken(ts13.SyntaxKind.ImportKeyword), undefined, [
15657
+ typeof url === "string" ? ts13.factory.createStringLiteral(url) : url
15488
15658
  ]);
15489
15659
  }
15490
15660
  createFunctionDeclaration(functionName, parameters, body) {
15491
- if (!ts12.isBlock(body)) {
15492
- throw new Error(`Invalid syntax, expected a block, but got ${ts12.SyntaxKind[body.kind]}.`);
15661
+ if (!ts13.isBlock(body)) {
15662
+ throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
15493
15663
  }
15494
- return ts12.factory.createFunctionDeclaration(undefined, undefined, functionName, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
15664
+ return ts13.factory.createFunctionDeclaration(undefined, undefined, functionName, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
15495
15665
  }
15496
15666
  createFunctionExpression(functionName, parameters, body) {
15497
- if (!ts12.isBlock(body)) {
15498
- throw new Error(`Invalid syntax, expected a block, but got ${ts12.SyntaxKind[body.kind]}.`);
15667
+ if (!ts13.isBlock(body)) {
15668
+ throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
15499
15669
  }
15500
- return ts12.factory.createFunctionExpression(undefined, undefined, functionName ?? undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
15670
+ return ts13.factory.createFunctionExpression(undefined, undefined, functionName ?? undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, body);
15501
15671
  }
15502
15672
  createArrowFunctionExpression(parameters, body) {
15503
- if (ts12.isStatement(body) && !ts12.isBlock(body)) {
15504
- throw new Error(`Invalid syntax, expected a block, but got ${ts12.SyntaxKind[body.kind]}.`);
15673
+ if (ts13.isStatement(body) && !ts13.isBlock(body)) {
15674
+ throw new Error(`Invalid syntax, expected a block, but got ${ts13.SyntaxKind[body.kind]}.`);
15505
15675
  }
15506
- return ts12.factory.createArrowFunction(undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, undefined, body);
15676
+ return ts13.factory.createArrowFunction(undefined, undefined, parameters.map((param) => this.createParameter(param)), undefined, undefined, body);
15507
15677
  }
15508
15678
  createParameter(param) {
15509
- return ts12.factory.createParameterDeclaration(undefined, undefined, param.name, undefined, param.type ?? undefined);
15679
+ return ts13.factory.createParameterDeclaration(undefined, undefined, param.name, undefined, param.type ?? undefined);
15510
15680
  }
15511
- createIdentifier = ts12.factory.createIdentifier;
15681
+ createIdentifier = ts13.factory.createIdentifier;
15512
15682
  createIfStatement(condition, thenStatement, elseStatement) {
15513
- return ts12.factory.createIfStatement(condition, thenStatement, elseStatement ?? undefined);
15683
+ return ts13.factory.createIfStatement(condition, thenStatement, elseStatement ?? undefined);
15514
15684
  }
15515
15685
  createLiteral(value) {
15516
15686
  if (value === undefined) {
15517
- return ts12.factory.createIdentifier("undefined");
15687
+ return ts13.factory.createIdentifier("undefined");
15518
15688
  } else if (value === null) {
15519
- return ts12.factory.createNull();
15689
+ return ts13.factory.createNull();
15520
15690
  } else if (typeof value === "boolean") {
15521
- return value ? ts12.factory.createTrue() : ts12.factory.createFalse();
15691
+ return value ? ts13.factory.createTrue() : ts13.factory.createFalse();
15522
15692
  } else if (typeof value === "number") {
15523
15693
  return tsNumericExpression(value);
15524
15694
  } else {
15525
- return ts12.factory.createStringLiteral(value);
15695
+ return ts13.factory.createStringLiteral(value);
15526
15696
  }
15527
15697
  }
15528
15698
  createNewExpression(expression, args) {
15529
- return ts12.factory.createNewExpression(expression, undefined, args);
15699
+ return ts13.factory.createNewExpression(expression, undefined, args);
15530
15700
  }
15531
15701
  createObjectLiteral(properties) {
15532
- return ts12.factory.createObjectLiteralExpression(properties.map((prop) => {
15702
+ return ts13.factory.createObjectLiteralExpression(properties.map((prop) => {
15533
15703
  if (prop.kind === "spread") {
15534
- return ts12.factory.createSpreadAssignment(prop.expression);
15704
+ return ts13.factory.createSpreadAssignment(prop.expression);
15535
15705
  }
15536
- return ts12.factory.createPropertyAssignment(prop.quoted ? ts12.factory.createStringLiteral(prop.propertyName) : ts12.factory.createIdentifier(prop.propertyName), prop.value);
15706
+ return ts13.factory.createPropertyAssignment(prop.quoted ? ts13.factory.createStringLiteral(prop.propertyName) : ts13.factory.createIdentifier(prop.propertyName), prop.value);
15537
15707
  }));
15538
15708
  }
15539
- createParenthesizedExpression = ts12.factory.createParenthesizedExpression;
15540
- createPropertyAccess = ts12.factory.createPropertyAccessExpression;
15541
- createSpreadElement = ts12.factory.createSpreadElement;
15709
+ createParenthesizedExpression = ts13.factory.createParenthesizedExpression;
15710
+ createPropertyAccess = ts13.factory.createPropertyAccessExpression;
15711
+ createSpreadElement = ts13.factory.createSpreadElement;
15542
15712
  createReturnStatement(expression) {
15543
- return ts12.factory.createReturnStatement(expression ?? undefined);
15713
+ return ts13.factory.createReturnStatement(expression ?? undefined);
15544
15714
  }
15545
15715
  createTaggedTemplate(tag, template) {
15546
- return ts12.factory.createTaggedTemplateExpression(tag, undefined, this.createTemplateLiteral(template));
15716
+ return ts13.factory.createTaggedTemplateExpression(tag, undefined, this.createTemplateLiteral(template));
15547
15717
  }
15548
15718
  createTemplateLiteral(template) {
15549
15719
  let templateLiteral;
@@ -15553,7 +15723,7 @@ class TypeScriptAstFactory {
15553
15723
  throw new Error("createTemplateLiteral: template has no elements");
15554
15724
  }
15555
15725
  if (length === 1) {
15556
- templateLiteral = ts12.factory.createNoSubstitutionTemplateLiteral(head.cooked, head.raw);
15726
+ templateLiteral = ts13.factory.createNoSubstitutionTemplateLiteral(head.cooked, head.raw);
15557
15727
  } else {
15558
15728
  const spans = [];
15559
15729
  for (let i = 1;i < length - 1; i++) {
@@ -15567,7 +15737,7 @@ class TypeScriptAstFactory {
15567
15737
  if (range !== null) {
15568
15738
  this.setSourceMapRange(middle, range);
15569
15739
  }
15570
- spans.push(ts12.factory.createTemplateSpan(expression, middle));
15740
+ spans.push(ts13.factory.createTemplateSpan(expression, middle));
15571
15741
  }
15572
15742
  const resolvedExpression = template.expressions[length - 2];
15573
15743
  const templatePart = template.elements[length - 1];
@@ -15578,27 +15748,27 @@ class TypeScriptAstFactory {
15578
15748
  if (templatePart.range !== null) {
15579
15749
  this.setSourceMapRange(templateTail, templatePart.range);
15580
15750
  }
15581
- spans.push(ts12.factory.createTemplateSpan(resolvedExpression, templateTail));
15582
- templateLiteral = ts12.factory.createTemplateExpression(ts12.factory.createTemplateHead(head.cooked, head.raw), spans);
15751
+ spans.push(ts13.factory.createTemplateSpan(resolvedExpression, templateTail));
15752
+ templateLiteral = ts13.factory.createTemplateExpression(ts13.factory.createTemplateHead(head.cooked, head.raw), spans);
15583
15753
  }
15584
15754
  if (head.range !== null) {
15585
15755
  this.setSourceMapRange(templateLiteral, head.range);
15586
15756
  }
15587
15757
  return templateLiteral;
15588
15758
  }
15589
- createThrowStatement = ts12.factory.createThrowStatement;
15590
- createTypeOfExpression = ts12.factory.createTypeOfExpression;
15591
- createVoidExpression = ts12.factory.createVoidExpression;
15759
+ createThrowStatement = ts13.factory.createThrowStatement;
15760
+ createTypeOfExpression = ts13.factory.createTypeOfExpression;
15761
+ createVoidExpression = ts13.factory.createVoidExpression;
15592
15762
  createUnaryExpression(operator, operand) {
15593
- return ts12.factory.createPrefixUnaryExpression(this.UNARY_OPERATORS[operator], operand);
15763
+ return ts13.factory.createPrefixUnaryExpression(this.UNARY_OPERATORS[operator], operand);
15594
15764
  }
15595
15765
  createVariableDeclaration(variableName, initializer, variableType, type) {
15596
- return ts12.factory.createVariableStatement(undefined, ts12.factory.createVariableDeclarationList([
15597
- ts12.factory.createVariableDeclaration(variableName, undefined, type ?? undefined, initializer ?? undefined)
15766
+ return ts13.factory.createVariableStatement(undefined, ts13.factory.createVariableDeclarationList([
15767
+ ts13.factory.createVariableDeclaration(variableName, undefined, type ?? undefined, initializer ?? undefined)
15598
15768
  ], this.VAR_TYPES[variableType]));
15599
15769
  }
15600
15770
  createRegularExpressionLiteral(body, flags) {
15601
- return ts12.factory.createRegularExpressionLiteral(`/${body}/${flags ?? ""}`);
15771
+ return ts13.factory.createRegularExpressionLiteral(`/${body}/${flags ?? ""}`);
15602
15772
  }
15603
15773
  setSourceMapRange(node, sourceMapRange) {
15604
15774
  if (sourceMapRange === null) {
@@ -15606,10 +15776,10 @@ class TypeScriptAstFactory {
15606
15776
  }
15607
15777
  const url = sourceMapRange.url;
15608
15778
  if (!this.externalSourceFiles.has(url)) {
15609
- this.externalSourceFiles.set(url, ts12.createSourceMapSource(url, sourceMapRange.content, (pos) => pos));
15779
+ this.externalSourceFiles.set(url, ts13.createSourceMapSource(url, sourceMapRange.content, (pos) => pos));
15610
15780
  }
15611
15781
  const source = this.externalSourceFiles.get(url);
15612
- ts12.setSourceMapRange(node, {
15782
+ ts13.setSourceMapRange(node, {
15613
15783
  pos: sourceMapRange.start.offset,
15614
15784
  end: sourceMapRange.end.offset,
15615
15785
  source
@@ -15619,77 +15789,77 @@ class TypeScriptAstFactory {
15619
15789
  createBuiltInType(type) {
15620
15790
  switch (type) {
15621
15791
  case "any":
15622
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.AnyKeyword);
15792
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.AnyKeyword);
15623
15793
  case "boolean":
15624
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.BooleanKeyword);
15794
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.BooleanKeyword);
15625
15795
  case "number":
15626
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.NumberKeyword);
15796
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.NumberKeyword);
15627
15797
  case "string":
15628
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.StringKeyword);
15798
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.StringKeyword);
15629
15799
  case "function":
15630
- return ts12.factory.createTypeReferenceNode(ts12.factory.createIdentifier("Function"));
15800
+ return ts13.factory.createTypeReferenceNode(ts13.factory.createIdentifier("Function"));
15631
15801
  case "never":
15632
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.NeverKeyword);
15802
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.NeverKeyword);
15633
15803
  case "unknown":
15634
- return ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.UnknownKeyword);
15804
+ return ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.UnknownKeyword);
15635
15805
  }
15636
15806
  }
15637
15807
  createExpressionType(expression, typeParams) {
15638
15808
  const typeName = getEntityTypeFromExpression(expression);
15639
- return ts12.factory.createTypeReferenceNode(typeName, typeParams ?? undefined);
15809
+ return ts13.factory.createTypeReferenceNode(typeName, typeParams ?? undefined);
15640
15810
  }
15641
15811
  createArrayType(elementType) {
15642
- return ts12.factory.createArrayTypeNode(elementType);
15812
+ return ts13.factory.createArrayTypeNode(elementType);
15643
15813
  }
15644
15814
  createMapType(valueType) {
15645
- return ts12.factory.createTypeLiteralNode([
15646
- ts12.factory.createIndexSignature(undefined, [
15647
- ts12.factory.createParameterDeclaration(undefined, undefined, "key", undefined, ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.StringKeyword))
15815
+ return ts13.factory.createTypeLiteralNode([
15816
+ ts13.factory.createIndexSignature(undefined, [
15817
+ ts13.factory.createParameterDeclaration(undefined, undefined, "key", undefined, ts13.factory.createKeywordTypeNode(ts13.SyntaxKind.StringKeyword))
15648
15818
  ], valueType)
15649
15819
  ]);
15650
15820
  }
15651
15821
  transplantType(type) {
15652
- if (typeof type.kind === "number" && typeof type.getSourceFile === "function" && ts12.isTypeNode(type)) {
15822
+ if (typeof type.kind === "number" && typeof type.getSourceFile === "function" && ts13.isTypeNode(type)) {
15653
15823
  return type;
15654
15824
  }
15655
15825
  throw new Error("Attempting to transplant a type node from a non-TypeScript AST: " + type);
15656
15826
  }
15657
15827
  }
15658
15828
  function createTemplateMiddle(cooked, raw) {
15659
- const node = ts12.factory.createTemplateHead(cooked, raw);
15660
- node.kind = ts12.SyntaxKind.TemplateMiddle;
15829
+ const node = ts13.factory.createTemplateHead(cooked, raw);
15830
+ node.kind = ts13.SyntaxKind.TemplateMiddle;
15661
15831
  return node;
15662
15832
  }
15663
15833
  function createTemplateTail(cooked, raw) {
15664
- const node = ts12.factory.createTemplateHead(cooked, raw);
15665
- node.kind = ts12.SyntaxKind.TemplateTail;
15834
+ const node = ts13.factory.createTemplateHead(cooked, raw);
15835
+ node.kind = ts13.SyntaxKind.TemplateTail;
15666
15836
  return node;
15667
15837
  }
15668
15838
  function attachComments(statement, leadingComments) {
15669
15839
  for (const comment of leadingComments) {
15670
- const commentKind = comment.multiline ? ts12.SyntaxKind.MultiLineCommentTrivia : ts12.SyntaxKind.SingleLineCommentTrivia;
15840
+ const commentKind = comment.multiline ? ts13.SyntaxKind.MultiLineCommentTrivia : ts13.SyntaxKind.SingleLineCommentTrivia;
15671
15841
  if (comment.multiline) {
15672
- ts12.addSyntheticLeadingComment(statement, commentKind, comment.toString(), comment.trailingNewline);
15842
+ ts13.addSyntheticLeadingComment(statement, commentKind, comment.toString(), comment.trailingNewline);
15673
15843
  } else {
15674
15844
  for (const line of comment.toString().split(`
15675
15845
  `)) {
15676
- ts12.addSyntheticLeadingComment(statement, commentKind, line, comment.trailingNewline);
15846
+ ts13.addSyntheticLeadingComment(statement, commentKind, line, comment.trailingNewline);
15677
15847
  }
15678
15848
  }
15679
15849
  }
15680
15850
  }
15681
15851
  function getEntityTypeFromExpression(expression) {
15682
- if (ts12.isIdentifier(expression)) {
15852
+ if (ts13.isIdentifier(expression)) {
15683
15853
  return expression;
15684
15854
  }
15685
- if (ts12.isPropertyAccessExpression(expression)) {
15855
+ if (ts13.isPropertyAccessExpression(expression)) {
15686
15856
  const left = getEntityTypeFromExpression(expression.expression);
15687
- if (!ts12.isIdentifier(expression.name)) {
15857
+ if (!ts13.isIdentifier(expression.name)) {
15688
15858
  throw new Error(`Unsupported property access for type reference: ${expression.name.text}`);
15689
15859
  }
15690
- return ts12.factory.createQualifiedName(left, expression.name);
15860
+ return ts13.factory.createQualifiedName(left, expression.name);
15691
15861
  }
15692
- throw new Error(`Unsupported expression for type reference: ${ts12.SyntaxKind[expression.kind]}`);
15862
+ throw new Error(`Unsupported expression for type reference: ${ts13.SyntaxKind[expression.kind]}`);
15693
15863
  }
15694
15864
  var init_typescript_ast_factory = __esm(() => {
15695
15865
  init_ts_util();
@@ -15722,9 +15892,9 @@ __export(exports_fastHmrCompiler, {
15722
15892
  primeComponentFingerprint: () => primeComponentFingerprint,
15723
15893
  invalidateFingerprintCache: () => invalidateFingerprintCache
15724
15894
  });
15725
- import { existsSync as existsSync23, readFileSync as readFileSync17, statSync as statSync2 } from "fs";
15895
+ import { existsSync as existsSync23, readFileSync as readFileSync19, statSync as statSync2 } from "fs";
15726
15896
  import { dirname as dirname15, extname as extname6, relative as relative12, resolve as resolve22 } from "path";
15727
- import ts13 from "typescript";
15897
+ import ts14 from "typescript";
15728
15898
  var fail = (reason, detail, location) => ({
15729
15899
  ok: false,
15730
15900
  reason,
@@ -15808,23 +15978,23 @@ var fail = (reason, detail, location) => ({
15808
15978
  }
15809
15979
  let sourceFile;
15810
15980
  try {
15811
- sourceFile = ts13.createSourceFile(componentFilePath, source, ts13.ScriptTarget.Latest, true, ts13.ScriptKind.TS);
15981
+ sourceFile = ts14.createSourceFile(componentFilePath, source, ts14.ScriptTarget.Latest, true, ts14.ScriptKind.TS);
15812
15982
  } catch {
15813
15983
  return;
15814
15984
  }
15815
15985
  for (const stmt of sourceFile.statements) {
15816
- if (!ts13.isClassDeclaration(stmt))
15986
+ if (!ts14.isClassDeclaration(stmt))
15817
15987
  continue;
15818
15988
  const className = stmt.name?.text;
15819
15989
  if (!className)
15820
15990
  continue;
15821
- const decorators = ts13.getDecorators(stmt) ?? [];
15991
+ const decorators = ts14.getDecorators(stmt) ?? [];
15822
15992
  const decoratorName = (() => {
15823
15993
  for (const d2 of decorators) {
15824
- if (!ts13.isCallExpression(d2.expression))
15994
+ if (!ts14.isCallExpression(d2.expression))
15825
15995
  continue;
15826
15996
  const expr = d2.expression.expression;
15827
- if (!ts13.isIdentifier(expr))
15997
+ if (!ts14.isIdentifier(expr))
15828
15998
  continue;
15829
15999
  if (expr.text === "Component" || expr.text === "Directive" || expr.text === "Pipe" || expr.text === "Injectable") {
15830
16000
  return expr.text;
@@ -15838,16 +16008,16 @@ var fail = (reason, detail, location) => ({
15838
16008
  const id = encodeURIComponent(`${projectRel}@${className}`);
15839
16009
  if (decoratorName === "Component") {
15840
16010
  const componentDecorator = decorators.find((d2) => {
15841
- if (!ts13.isCallExpression(d2.expression))
16011
+ if (!ts14.isCallExpression(d2.expression))
15842
16012
  return false;
15843
16013
  const expr = d2.expression.expression;
15844
- return ts13.isIdentifier(expr) && expr.text === "Component";
16014
+ return ts14.isIdentifier(expr) && expr.text === "Component";
15845
16015
  });
15846
16016
  if (!componentDecorator)
15847
16017
  continue;
15848
16018
  const decoratorCall = componentDecorator.expression;
15849
16019
  const args = decoratorCall.arguments[0];
15850
- if (!args || !ts13.isObjectLiteralExpression(args))
16020
+ if (!args || !ts14.isObjectLiteralExpression(args))
15851
16021
  continue;
15852
16022
  const decoratorMeta = readDecoratorMeta(args);
15853
16023
  const { inputs, outputs } = extractInputsAndOutputs(stmt, null);
@@ -15881,11 +16051,11 @@ var fail = (reason, detail, location) => ({
15881
16051
  return false;
15882
16052
  return true;
15883
16053
  }, ENTITY_DECORATOR_NAMES, findEntityDecorator = (cls) => {
15884
- for (const dec of ts13.getDecorators(cls) ?? []) {
16054
+ for (const dec of ts14.getDecorators(cls) ?? []) {
15885
16055
  const expr = dec.expression;
15886
- if (!ts13.isCallExpression(expr))
16056
+ if (!ts14.isCallExpression(expr))
15887
16057
  continue;
15888
- if (!ts13.isIdentifier(expr.expression))
16058
+ if (!ts14.isIdentifier(expr.expression))
15889
16059
  continue;
15890
16060
  if (ENTITY_DECORATOR_NAMES.has(expr.expression.text))
15891
16061
  return dec;
@@ -15903,18 +16073,18 @@ var fail = (reason, detail, location) => ({
15903
16073
  }
15904
16074
  const ctorParamTypes = [];
15905
16075
  for (const member of cls.members) {
15906
- if (!ts13.isConstructorDeclaration(member))
16076
+ if (!ts14.isConstructorDeclaration(member))
15907
16077
  continue;
15908
16078
  for (const param of member.parameters) {
15909
16079
  const typeText = param.type ? param.type.getText() : "";
15910
- const decorators = ts13.getDecorators(param) ?? [];
16080
+ const decorators = ts14.getDecorators(param) ?? [];
15911
16081
  const decoratorSig = decorators.length === 0 ? "" : decorators.map((d2) => {
15912
16082
  const e = d2.expression;
15913
- if (ts13.isCallExpression(e) && ts13.isIdentifier(e.expression)) {
16083
+ if (ts14.isCallExpression(e) && ts14.isIdentifier(e.expression)) {
15914
16084
  const args = e.arguments.map((a) => a.getText()).join(",");
15915
16085
  return `@${e.expression.text}(${args})`;
15916
16086
  }
15917
- if (ts13.isIdentifier(e))
16087
+ if (ts14.isIdentifier(e))
15918
16088
  return `@${e.text}`;
15919
16089
  return "@<unknown>";
15920
16090
  }).join("");
@@ -15936,23 +16106,23 @@ var fail = (reason, detail, location) => ({
15936
16106
  const walk = (node) => {
15937
16107
  if (found)
15938
16108
  return;
15939
- if (ts13.isClassDeclaration(node) && node.name?.text === className) {
16109
+ if (ts14.isClassDeclaration(node) && node.name?.text === className) {
15940
16110
  found = node;
15941
16111
  return;
15942
16112
  }
15943
- ts13.forEachChild(node, walk);
16113
+ ts14.forEachChild(node, walk);
15944
16114
  };
15945
16115
  walk(sourceFile);
15946
16116
  return found;
15947
16117
  }, getClassDecorators = (cls) => {
15948
- const modifiers = ts13.getDecorators(cls) ?? [];
16118
+ const modifiers = ts14.getDecorators(cls) ?? [];
15949
16119
  return [...modifiers];
15950
16120
  }, findComponentDecorator = (cls) => {
15951
16121
  for (const decorator of getClassDecorators(cls)) {
15952
16122
  const expr = decorator.expression;
15953
- if (ts13.isCallExpression(expr)) {
16123
+ if (ts14.isCallExpression(expr)) {
15954
16124
  const fn2 = expr.expression;
15955
- if (ts13.isIdentifier(fn2) && fn2.text === "Component") {
16125
+ if (ts14.isIdentifier(fn2) && fn2.text === "Component") {
15956
16126
  return decorator;
15957
16127
  }
15958
16128
  }
@@ -15960,15 +16130,15 @@ var fail = (reason, detail, location) => ({
15960
16130
  return null;
15961
16131
  }, getDecoratorArgsObject = (decorator) => {
15962
16132
  const call = decorator.expression;
15963
- if (!ts13.isCallExpression(call))
16133
+ if (!ts14.isCallExpression(call))
15964
16134
  return null;
15965
16135
  const arg = call.arguments[0];
15966
- if (!arg || !ts13.isObjectLiteralExpression(arg))
16136
+ if (!arg || !ts14.isObjectLiteralExpression(arg))
15967
16137
  return null;
15968
16138
  return arg;
15969
16139
  }, getProperty = (obj, name) => {
15970
16140
  for (const prop of obj.properties) {
15971
- if (ts13.isPropertyAssignment(prop) && (ts13.isIdentifier(prop.name) && prop.name.text === name || ts13.isStringLiteral(prop.name) && prop.name.text === name)) {
16141
+ if (ts14.isPropertyAssignment(prop) && (ts14.isIdentifier(prop.name) && prop.name.text === name || ts14.isStringLiteral(prop.name) && prop.name.text === name)) {
15972
16142
  return prop.initializer;
15973
16143
  }
15974
16144
  }
@@ -15977,7 +16147,7 @@ var fail = (reason, detail, location) => ({
15977
16147
  const expr = getProperty(obj, name);
15978
16148
  if (!expr)
15979
16149
  return null;
15980
- if (ts13.isStringLiteral(expr) || ts13.isNoSubstitutionTemplateLiteral(expr)) {
16150
+ if (ts14.isStringLiteral(expr) || ts14.isNoSubstitutionTemplateLiteral(expr)) {
15981
16151
  return expr.text;
15982
16152
  }
15983
16153
  return null;
@@ -15985,22 +16155,22 @@ var fail = (reason, detail, location) => ({
15985
16155
  const expr = getProperty(obj, name);
15986
16156
  if (!expr)
15987
16157
  return null;
15988
- if (expr.kind === ts13.SyntaxKind.TrueKeyword)
16158
+ if (expr.kind === ts14.SyntaxKind.TrueKeyword)
15989
16159
  return true;
15990
- if (expr.kind === ts13.SyntaxKind.FalseKeyword)
16160
+ if (expr.kind === ts14.SyntaxKind.FalseKeyword)
15991
16161
  return false;
15992
16162
  return null;
15993
16163
  }, isAngularDecoratorIdentifier = (name) => name === "Component" || name === "Directive" || name === "Pipe" || name === "Injectable", classHasAngularDecorator = (cls) => {
15994
- for (const dec of ts13.getDecorators(cls) ?? []) {
16164
+ for (const dec of ts14.getDecorators(cls) ?? []) {
15995
16165
  const expr = dec.expression;
15996
- if (ts13.isCallExpression(expr) && ts13.isIdentifier(expr.expression) && isAngularDecoratorIdentifier(expr.expression.text)) {
16166
+ if (ts14.isCallExpression(expr) && ts14.isIdentifier(expr.expression) && isAngularDecoratorIdentifier(expr.expression.text)) {
15997
16167
  return true;
15998
16168
  }
15999
16169
  }
16000
16170
  return false;
16001
16171
  }, findClassInSourceFile = (sf, className) => {
16002
16172
  for (const stmt of sf.statements) {
16003
- if (ts13.isClassDeclaration(stmt) && stmt.name?.text === className) {
16173
+ if (ts14.isClassDeclaration(stmt) && stmt.name?.text === className) {
16004
16174
  return stmt;
16005
16175
  }
16006
16176
  }
@@ -16010,15 +16180,15 @@ var fail = (reason, detail, location) => ({
16010
16180
  if (sameFile)
16011
16181
  return classHasAngularDecorator(sameFile);
16012
16182
  for (const stmt of sourceFile.statements) {
16013
- if (!ts13.isImportDeclaration(stmt))
16183
+ if (!ts14.isImportDeclaration(stmt))
16014
16184
  continue;
16015
- if (!ts13.isStringLiteral(stmt.moduleSpecifier))
16185
+ if (!ts14.isStringLiteral(stmt.moduleSpecifier))
16016
16186
  continue;
16017
16187
  const clause = stmt.importClause;
16018
16188
  if (!clause || clause.isTypeOnly)
16019
16189
  continue;
16020
16190
  const named = clause.namedBindings;
16021
- if (!named || !ts13.isNamedImports(named))
16191
+ if (!named || !ts14.isNamedImports(named))
16022
16192
  continue;
16023
16193
  const found = named.elements.find((el) => el.name.text === parentClassName);
16024
16194
  if (!found)
@@ -16039,11 +16209,11 @@ var fail = (reason, detail, location) => ({
16039
16209
  continue;
16040
16210
  let content;
16041
16211
  try {
16042
- content = readFileSync17(candidate, "utf-8");
16212
+ content = readFileSync19(candidate, "utf-8");
16043
16213
  } catch {
16044
16214
  continue;
16045
16215
  }
16046
- const parentSf = ts13.createSourceFile(candidate, content, ts13.ScriptTarget.Latest, true);
16216
+ const parentSf = ts14.createSourceFile(candidate, content, ts14.ScriptTarget.Latest, true);
16047
16217
  const parentCls = findClassInSourceFile(parentSf, parentClassName);
16048
16218
  if (!parentCls)
16049
16219
  continue;
@@ -16055,11 +16225,11 @@ var fail = (reason, detail, location) => ({
16055
16225
  }, inheritsDecoratedClass = (cls, sourceFile, componentDir, projectRoot) => {
16056
16226
  const heritage = cls.heritageClauses ?? [];
16057
16227
  for (const clause of heritage) {
16058
- if (clause.token !== ts13.SyntaxKind.ExtendsKeyword)
16228
+ if (clause.token !== ts14.SyntaxKind.ExtendsKeyword)
16059
16229
  continue;
16060
16230
  for (const typeNode of clause.types) {
16061
16231
  const expr = typeNode.expression;
16062
- if (!ts13.isIdentifier(expr)) {
16232
+ if (!ts14.isIdentifier(expr)) {
16063
16233
  return true;
16064
16234
  }
16065
16235
  if (parentHasAngularDecoratorAcrossFiles(expr.text, sourceFile, componentDir, projectRoot)) {
@@ -16070,18 +16240,18 @@ var fail = (reason, detail, location) => ({
16070
16240
  return false;
16071
16241
  }, CONTROL_CREATE_METHOD_NAME = "\u0275ngControlCreate", extractControlCreate = (cls) => {
16072
16242
  for (const member of cls.members) {
16073
- if (!ts13.isMethodDeclaration(member))
16243
+ if (!ts14.isMethodDeclaration(member))
16074
16244
  continue;
16075
- if (member.modifiers?.some((m) => m.kind === ts13.SyntaxKind.StaticKeyword))
16245
+ if (member.modifiers?.some((m) => m.kind === ts14.SyntaxKind.StaticKeyword))
16076
16246
  continue;
16077
16247
  const name = member.name;
16078
16248
  if (name === undefined)
16079
16249
  continue;
16080
- const nameText = ts13.isIdentifier(name) ? name.text : name.getText();
16250
+ const nameText = ts14.isIdentifier(name) ? name.text : name.getText();
16081
16251
  if (nameText !== CONTROL_CREATE_METHOD_NAME)
16082
16252
  continue;
16083
16253
  const firstParam = member.parameters[0];
16084
- if (firstParam === undefined || firstParam.type === undefined || !ts13.isTypeReferenceNode(firstParam.type)) {
16254
+ if (firstParam === undefined || firstParam.type === undefined || !ts14.isTypeReferenceNode(firstParam.type)) {
16085
16255
  return { passThroughInput: null };
16086
16256
  }
16087
16257
  const typeArgs = firstParam.type.typeArguments;
@@ -16089,16 +16259,16 @@ var fail = (reason, detail, location) => ({
16089
16259
  return { passThroughInput: null };
16090
16260
  }
16091
16261
  const arg = typeArgs[0];
16092
- if (arg === undefined || !ts13.isLiteralTypeNode(arg) || !ts13.isStringLiteral(arg.literal)) {
16262
+ if (arg === undefined || !ts14.isLiteralTypeNode(arg) || !ts14.isStringLiteral(arg.literal)) {
16093
16263
  return { passThroughInput: null };
16094
16264
  }
16095
16265
  return { passThroughInput: arg.literal.text };
16096
16266
  }
16097
16267
  return null;
16098
16268
  }, resolveEnumPropertyAccess = (expr, enumName, values) => {
16099
- if (!ts13.isPropertyAccessExpression(expr))
16269
+ if (!ts14.isPropertyAccessExpression(expr))
16100
16270
  return null;
16101
- if (!ts13.isIdentifier(expr.expression))
16271
+ if (!ts14.isIdentifier(expr.expression))
16102
16272
  return null;
16103
16273
  if (expr.expression.text !== enumName)
16104
16274
  return null;
@@ -16117,21 +16287,21 @@ var fail = (reason, detail, location) => ({
16117
16287
  const hostExpr = getProperty(args, "host");
16118
16288
  const schemasExpr = getProperty(args, "schemas");
16119
16289
  const styleUrls = [];
16120
- if (styleUrlsExpr && ts13.isArrayLiteralExpression(styleUrlsExpr)) {
16290
+ if (styleUrlsExpr && ts14.isArrayLiteralExpression(styleUrlsExpr)) {
16121
16291
  for (const el of styleUrlsExpr.elements) {
16122
- if (ts13.isStringLiteral(el))
16292
+ if (ts14.isStringLiteral(el))
16123
16293
  styleUrls.push(el.text);
16124
16294
  }
16125
16295
  }
16126
16296
  const styles = [];
16127
16297
  if (stylesExpr) {
16128
- if (ts13.isArrayLiteralExpression(stylesExpr)) {
16298
+ if (ts14.isArrayLiteralExpression(stylesExpr)) {
16129
16299
  for (const el of stylesExpr.elements) {
16130
- if (ts13.isStringLiteral(el) || ts13.isNoSubstitutionTemplateLiteral(el)) {
16300
+ if (ts14.isStringLiteral(el) || ts14.isNoSubstitutionTemplateLiteral(el)) {
16131
16301
  styles.push(el.text);
16132
16302
  }
16133
16303
  }
16134
- } else if (ts13.isStringLiteral(stylesExpr) || ts13.isNoSubstitutionTemplateLiteral(stylesExpr)) {
16304
+ } else if (ts14.isStringLiteral(stylesExpr) || ts14.isNoSubstitutionTemplateLiteral(stylesExpr)) {
16135
16305
  styles.push(stylesExpr.text);
16136
16306
  }
16137
16307
  }
@@ -16144,15 +16314,15 @@ var fail = (reason, detail, location) => ({
16144
16314
  encapsulation,
16145
16315
  hasProviders: getProperty(args, "providers") !== null,
16146
16316
  hasViewProviders: getProperty(args, "viewProviders") !== null,
16147
- importsExpr: importsExpr && ts13.isArrayLiteralExpression(importsExpr) ? importsExpr : null,
16148
- hostDirectivesExpr: hostDirectivesExpr && ts13.isArrayLiteralExpression(hostDirectivesExpr) ? hostDirectivesExpr : null,
16149
- animationsExpr: animationsExpr && ts13.isArrayLiteralExpression(animationsExpr) ? animationsExpr : null,
16150
- providersExpr: providersExpr && ts13.isArrayLiteralExpression(providersExpr) ? providersExpr : null,
16151
- viewProvidersExpr: viewProvidersExpr && ts13.isArrayLiteralExpression(viewProvidersExpr) ? viewProvidersExpr : null,
16152
- inputsArrayExpr: inputsArrayExpr && ts13.isArrayLiteralExpression(inputsArrayExpr) ? inputsArrayExpr : null,
16153
- outputsArrayExpr: outputsArrayExpr && ts13.isArrayLiteralExpression(outputsArrayExpr) ? outputsArrayExpr : null,
16154
- hostExpr: hostExpr && ts13.isObjectLiteralExpression(hostExpr) ? hostExpr : null,
16155
- schemasExpr: schemasExpr && ts13.isArrayLiteralExpression(schemasExpr) ? schemasExpr : null,
16317
+ importsExpr: importsExpr && ts14.isArrayLiteralExpression(importsExpr) ? importsExpr : null,
16318
+ hostDirectivesExpr: hostDirectivesExpr && ts14.isArrayLiteralExpression(hostDirectivesExpr) ? hostDirectivesExpr : null,
16319
+ animationsExpr: animationsExpr && ts14.isArrayLiteralExpression(animationsExpr) ? animationsExpr : null,
16320
+ providersExpr: providersExpr && ts14.isArrayLiteralExpression(providersExpr) ? providersExpr : null,
16321
+ viewProvidersExpr: viewProvidersExpr && ts14.isArrayLiteralExpression(viewProvidersExpr) ? viewProvidersExpr : null,
16322
+ inputsArrayExpr: inputsArrayExpr && ts14.isArrayLiteralExpression(inputsArrayExpr) ? inputsArrayExpr : null,
16323
+ outputsArrayExpr: outputsArrayExpr && ts14.isArrayLiteralExpression(outputsArrayExpr) ? outputsArrayExpr : null,
16324
+ hostExpr: hostExpr && ts14.isObjectLiteralExpression(hostExpr) ? hostExpr : null,
16325
+ schemasExpr: schemasExpr && ts14.isArrayLiteralExpression(schemasExpr) ? schemasExpr : null,
16156
16326
  preserveWhitespaces: getBooleanProperty(args, "preserveWhitespaces") ?? projectDefaults.preserveWhitespaces ?? false,
16157
16327
  selector: getStringProperty(args, "selector"),
16158
16328
  standalone: getBooleanProperty(args, "standalone") ?? true,
@@ -16163,13 +16333,13 @@ var fail = (reason, detail, location) => ({
16163
16333
  templateUrl: getStringProperty(args, "templateUrl")
16164
16334
  };
16165
16335
  }, extractDecoratorInput = (prop, compiler) => {
16166
- const decorators = ts13.getDecorators(prop) ?? [];
16336
+ const decorators = ts14.getDecorators(prop) ?? [];
16167
16337
  for (const decorator of decorators) {
16168
16338
  const expr = decorator.expression;
16169
- if (!ts13.isCallExpression(expr))
16339
+ if (!ts14.isCallExpression(expr))
16170
16340
  continue;
16171
16341
  const fn2 = expr.expression;
16172
- if (!ts13.isIdentifier(fn2) || fn2.text !== "Input")
16342
+ if (!ts14.isIdentifier(fn2) || fn2.text !== "Input")
16173
16343
  continue;
16174
16344
  const classPropertyName = prop.name.getText();
16175
16345
  let bindingPropertyName = classPropertyName;
@@ -16177,9 +16347,9 @@ var fail = (reason, detail, location) => ({
16177
16347
  let transformFunction = null;
16178
16348
  const arg = expr.arguments[0];
16179
16349
  if (arg) {
16180
- if (ts13.isStringLiteral(arg)) {
16350
+ if (ts14.isStringLiteral(arg)) {
16181
16351
  bindingPropertyName = arg.text;
16182
- } else if (ts13.isObjectLiteralExpression(arg)) {
16352
+ } else if (ts14.isObjectLiteralExpression(arg)) {
16183
16353
  const aliasNode = getStringProperty(arg, "alias");
16184
16354
  if (aliasNode !== null)
16185
16355
  bindingPropertyName = aliasNode;
@@ -16203,11 +16373,11 @@ var fail = (reason, detail, location) => ({
16203
16373
  }
16204
16374
  return null;
16205
16375
  }, isInputSignalCall = (init) => {
16206
- if (ts13.isCallExpression(init)) {
16376
+ if (ts14.isCallExpression(init)) {
16207
16377
  const fn2 = init.expression;
16208
- if (ts13.isIdentifier(fn2) && fn2.text === "input")
16378
+ if (ts14.isIdentifier(fn2) && fn2.text === "input")
16209
16379
  return true;
16210
- if (ts13.isPropertyAccessExpression(fn2) && ts13.isIdentifier(fn2.expression) && fn2.expression.text === "input") {
16380
+ if (ts14.isPropertyAccessExpression(fn2) && ts14.isIdentifier(fn2.expression) && fn2.expression.text === "input") {
16211
16381
  return true;
16212
16382
  }
16213
16383
  }
@@ -16218,13 +16388,13 @@ var fail = (reason, detail, location) => ({
16218
16388
  const classPropertyName = prop.name.getText();
16219
16389
  const call = prop.initializer;
16220
16390
  let required = false;
16221
- if (ts13.isPropertyAccessExpression(call.expression) && ts13.isIdentifier(call.expression.name) && call.expression.name.text === "required") {
16391
+ if (ts14.isPropertyAccessExpression(call.expression) && ts14.isIdentifier(call.expression.name) && call.expression.name.text === "required") {
16222
16392
  required = true;
16223
16393
  }
16224
16394
  let bindingPropertyName = classPropertyName;
16225
16395
  let transformFunction = null;
16226
16396
  const optsArg = call.arguments[required ? 0 : 1];
16227
- if (optsArg && ts13.isObjectLiteralExpression(optsArg)) {
16397
+ if (optsArg && ts14.isObjectLiteralExpression(optsArg)) {
16228
16398
  const aliasNode = getStringProperty(optsArg, "alias");
16229
16399
  if (aliasNode !== null)
16230
16400
  bindingPropertyName = aliasNode;
@@ -16244,28 +16414,28 @@ var fail = (reason, detail, location) => ({
16244
16414
  }
16245
16415
  };
16246
16416
  }, extractDecoratorOutput = (prop) => {
16247
- const decorators = ts13.getDecorators(prop) ?? [];
16417
+ const decorators = ts14.getDecorators(prop) ?? [];
16248
16418
  for (const decorator of decorators) {
16249
16419
  const expr = decorator.expression;
16250
- if (!ts13.isCallExpression(expr))
16420
+ if (!ts14.isCallExpression(expr))
16251
16421
  continue;
16252
16422
  const fn2 = expr.expression;
16253
- if (!ts13.isIdentifier(fn2) || fn2.text !== "Output")
16423
+ if (!ts14.isIdentifier(fn2) || fn2.text !== "Output")
16254
16424
  continue;
16255
16425
  const classPropertyName = prop.name.getText();
16256
16426
  let bindingName = classPropertyName;
16257
16427
  const arg = expr.arguments[0];
16258
- if (arg && ts13.isStringLiteral(arg))
16428
+ if (arg && ts14.isStringLiteral(arg))
16259
16429
  bindingName = arg.text;
16260
16430
  return { classPropertyName, bindingName };
16261
16431
  }
16262
16432
  return null;
16263
16433
  }, isOutputSignalCall = (init) => {
16264
- if (ts13.isCallExpression(init)) {
16434
+ if (ts14.isCallExpression(init)) {
16265
16435
  const fn2 = init.expression;
16266
- if (ts13.isIdentifier(fn2) && fn2.text === "output")
16436
+ if (ts14.isIdentifier(fn2) && fn2.text === "output")
16267
16437
  return true;
16268
- if (ts13.isPropertyAccessExpression(fn2) && ts13.isIdentifier(fn2.expression) && fn2.expression.text === "output") {
16438
+ if (ts14.isPropertyAccessExpression(fn2) && ts14.isIdentifier(fn2.expression) && fn2.expression.text === "output") {
16269
16439
  return true;
16270
16440
  }
16271
16441
  }
@@ -16277,7 +16447,7 @@ var fail = (reason, detail, location) => ({
16277
16447
  const call = prop.initializer;
16278
16448
  let bindingName = classPropertyName;
16279
16449
  const optsArg = call.arguments[0];
16280
- if (optsArg && ts13.isObjectLiteralExpression(optsArg)) {
16450
+ if (optsArg && ts14.isObjectLiteralExpression(optsArg)) {
16281
16451
  const aliasNode = getStringProperty(optsArg, "alias");
16282
16452
  if (aliasNode !== null)
16283
16453
  bindingName = aliasNode;
@@ -16289,7 +16459,7 @@ var fail = (reason, detail, location) => ({
16289
16459
  let hasDecoratorIO = false;
16290
16460
  let hasSignalIO = false;
16291
16461
  for (const member of cls.members) {
16292
- if (!ts13.isPropertyDeclaration(member))
16462
+ if (!ts14.isPropertyDeclaration(member))
16293
16463
  continue;
16294
16464
  const decoratorIn = extractDecoratorInput(member, compiler);
16295
16465
  if (decoratorIn) {
@@ -16323,21 +16493,21 @@ var fail = (reason, detail, location) => ({
16323
16493
  specialAttributes: {}
16324
16494
  }), parseHostObjectInto = (host, args, hostExprNode, compiler) => {
16325
16495
  const hostNode = getProperty(args, "host");
16326
- if (!hostNode || !ts13.isObjectLiteralExpression(hostNode)) {
16496
+ if (!hostNode || !ts14.isObjectLiteralExpression(hostNode)) {
16327
16497
  if (!hostExprNode)
16328
16498
  return;
16329
16499
  }
16330
- const obj = hostNode && ts13.isObjectLiteralExpression(hostNode) ? hostNode : hostExprNode;
16500
+ const obj = hostNode && ts14.isObjectLiteralExpression(hostNode) ? hostNode : hostExprNode;
16331
16501
  if (!obj)
16332
16502
  return;
16333
16503
  for (const prop of obj.properties) {
16334
- if (!ts13.isPropertyAssignment(prop))
16504
+ if (!ts14.isPropertyAssignment(prop))
16335
16505
  continue;
16336
16506
  const keyNode = prop.name;
16337
16507
  let key;
16338
- if (ts13.isStringLiteral(keyNode) || ts13.isNoSubstitutionTemplateLiteral(keyNode)) {
16508
+ if (ts14.isStringLiteral(keyNode) || ts14.isNoSubstitutionTemplateLiteral(keyNode)) {
16339
16509
  key = keyNode.text;
16340
- } else if (ts13.isIdentifier(keyNode)) {
16510
+ } else if (ts14.isIdentifier(keyNode)) {
16341
16511
  key = keyNode.text;
16342
16512
  } else {
16343
16513
  continue;
@@ -16354,36 +16524,36 @@ var fail = (reason, detail, location) => ({
16354
16524
  }
16355
16525
  }, mergeMemberHostDecorators = (host, cls) => {
16356
16526
  for (const member of cls.members) {
16357
- if (!ts13.canHaveDecorators(member))
16527
+ if (!ts14.canHaveDecorators(member))
16358
16528
  continue;
16359
- const decorators = ts13.getDecorators(member) ?? [];
16529
+ const decorators = ts14.getDecorators(member) ?? [];
16360
16530
  for (const dec of decorators) {
16361
16531
  const expr = dec.expression;
16362
- if (!ts13.isCallExpression(expr))
16532
+ if (!ts14.isCallExpression(expr))
16363
16533
  continue;
16364
16534
  const fn2 = expr.expression;
16365
- if (!ts13.isIdentifier(fn2))
16535
+ if (!ts14.isIdentifier(fn2))
16366
16536
  continue;
16367
16537
  if (fn2.text === "HostBinding") {
16368
- if (!ts13.isPropertyDeclaration(member) && !ts13.isGetAccessor(member))
16538
+ if (!ts14.isPropertyDeclaration(member) && !ts14.isGetAccessor(member))
16369
16539
  continue;
16370
16540
  const propertyName = member.name.text;
16371
16541
  const target = expr.arguments[0];
16372
- const key = target && ts13.isStringLiteral(target) ? target.text : propertyName;
16542
+ const key = target && ts14.isStringLiteral(target) ? target.text : propertyName;
16373
16543
  host.properties[key] = propertyName;
16374
16544
  } else if (fn2.text === "HostListener") {
16375
- if (!ts13.isMethodDeclaration(member))
16545
+ if (!ts14.isMethodDeclaration(member))
16376
16546
  continue;
16377
16547
  const methodName = member.name.text;
16378
16548
  const eventArg = expr.arguments[0];
16379
- if (!eventArg || !ts13.isStringLiteral(eventArg))
16549
+ if (!eventArg || !ts14.isStringLiteral(eventArg))
16380
16550
  continue;
16381
16551
  const event = eventArg.text;
16382
16552
  const argsArg = expr.arguments[1];
16383
16553
  let argsList = [];
16384
- if (argsArg && ts13.isArrayLiteralExpression(argsArg)) {
16554
+ if (argsArg && ts14.isArrayLiteralExpression(argsArg)) {
16385
16555
  for (const el of argsArg.elements) {
16386
- if (ts13.isStringLiteral(el))
16556
+ if (ts14.isStringLiteral(el))
16387
16557
  argsList.push(el.text);
16388
16558
  }
16389
16559
  }
@@ -16396,14 +16566,14 @@ var fail = (reason, detail, location) => ({
16396
16566
  let descendants = true;
16397
16567
  let emitDistinctChangesOnly = true;
16398
16568
  const opts = args[1];
16399
- if (opts && ts13.isObjectLiteralExpression(opts)) {
16569
+ if (opts && ts14.isObjectLiteralExpression(opts)) {
16400
16570
  static_ = getBooleanProperty(opts, "static") ?? false;
16401
16571
  descendants = getBooleanProperty(opts, "descendants") ?? true;
16402
16572
  emitDistinctChangesOnly = getBooleanProperty(opts, "emitDistinctChangesOnly") ?? true;
16403
16573
  }
16404
16574
  return { static_, descendants, emitDistinctChangesOnly };
16405
16575
  }, queryPredicateFromArg = (arg, compiler) => {
16406
- if (ts13.isStringLiteral(arg)) {
16576
+ if (ts14.isStringLiteral(arg)) {
16407
16577
  return arg.text.split(",").map((s2) => s2.trim()).filter(Boolean);
16408
16578
  }
16409
16579
  return {
@@ -16414,15 +16584,15 @@ var fail = (reason, detail, location) => ({
16414
16584
  const contentQueries = [];
16415
16585
  const viewQueries = [];
16416
16586
  for (const member of cls.members) {
16417
- if (!ts13.isPropertyDeclaration(member))
16587
+ if (!ts14.isPropertyDeclaration(member))
16418
16588
  continue;
16419
- const decorators = ts13.getDecorators(member) ?? [];
16589
+ const decorators = ts14.getDecorators(member) ?? [];
16420
16590
  for (const dec of decorators) {
16421
16591
  const expr = dec.expression;
16422
- if (!ts13.isCallExpression(expr))
16592
+ if (!ts14.isCallExpression(expr))
16423
16593
  continue;
16424
16594
  const fn2 = expr.expression;
16425
- if (!ts13.isIdentifier(fn2) || !QUERY_DECORATORS.has(fn2.text))
16595
+ if (!ts14.isIdentifier(fn2) || !QUERY_DECORATORS.has(fn2.text))
16426
16596
  continue;
16427
16597
  const propertyName = member.name.text;
16428
16598
  const tokenArg = expr.arguments[0];
@@ -16434,7 +16604,7 @@ var fail = (reason, detail, location) => ({
16434
16604
  const { static_, descendants, emitDistinctChangesOnly } = parseQueryDecoratorOptions(expr.arguments);
16435
16605
  const opts = expr.arguments[1];
16436
16606
  let read = null;
16437
- if (opts && ts13.isObjectLiteralExpression(opts)) {
16607
+ if (opts && ts14.isObjectLiteralExpression(opts)) {
16438
16608
  const readNode = getProperty(opts, "read");
16439
16609
  if (readNode) {
16440
16610
  read = new compiler.WrappedNodeExpr(readNode);
@@ -16462,15 +16632,15 @@ var fail = (reason, detail, location) => ({
16462
16632
  const contentQueries = [];
16463
16633
  const viewQueries = [];
16464
16634
  for (const member of cls.members) {
16465
- if (!ts13.isPropertyDeclaration(member) || !member.initializer)
16635
+ if (!ts14.isPropertyDeclaration(member) || !member.initializer)
16466
16636
  continue;
16467
16637
  let init = member.initializer;
16468
- if (!ts13.isCallExpression(init))
16638
+ if (!ts14.isCallExpression(init))
16469
16639
  continue;
16470
16640
  let queryName;
16471
- if (ts13.isIdentifier(init.expression)) {
16641
+ if (ts14.isIdentifier(init.expression)) {
16472
16642
  queryName = init.expression.text;
16473
- } else if (ts13.isPropertyAccessExpression(init.expression) && ts13.isIdentifier(init.expression.expression) && init.expression.name.text === "required") {
16643
+ } else if (ts14.isPropertyAccessExpression(init.expression) && ts14.isIdentifier(init.expression.expression) && init.expression.name.text === "required") {
16474
16644
  queryName = init.expression.expression.text;
16475
16645
  } else {
16476
16646
  continue;
@@ -16488,7 +16658,7 @@ var fail = (reason, detail, location) => ({
16488
16658
  let descendants = true;
16489
16659
  let read = null;
16490
16660
  const opts = init.arguments[1];
16491
- if (opts && ts13.isObjectLiteralExpression(opts)) {
16661
+ if (opts && ts14.isObjectLiteralExpression(opts)) {
16492
16662
  descendants = getBooleanProperty(opts, "descendants") ?? true;
16493
16663
  const readNode = getProperty(opts, "read");
16494
16664
  if (readNode)
@@ -16514,13 +16684,13 @@ var fail = (reason, detail, location) => ({
16514
16684
  const node = getProperty(args, "exportAs");
16515
16685
  if (!node)
16516
16686
  return null;
16517
- if (ts13.isStringLiteral(node)) {
16687
+ if (ts14.isStringLiteral(node)) {
16518
16688
  return node.text.split(",").map((s2) => s2.trim()).filter(Boolean);
16519
16689
  }
16520
- if (ts13.isArrayLiteralExpression(node)) {
16690
+ if (ts14.isArrayLiteralExpression(node)) {
16521
16691
  const out = [];
16522
16692
  for (const el of node.elements) {
16523
- if (ts13.isStringLiteral(el))
16693
+ if (ts14.isStringLiteral(el))
16524
16694
  out.push(el.text);
16525
16695
  }
16526
16696
  return out.length > 0 ? out : null;
@@ -16528,11 +16698,11 @@ var fail = (reason, detail, location) => ({
16528
16698
  return null;
16529
16699
  }, extractHostDirectives = (args, compiler) => {
16530
16700
  const node = getProperty(args, "hostDirectives");
16531
- if (!node || !ts13.isArrayLiteralExpression(node))
16701
+ if (!node || !ts14.isArrayLiteralExpression(node))
16532
16702
  return null;
16533
16703
  const out = [];
16534
16704
  for (const el of node.elements) {
16535
- if (ts13.isIdentifier(el)) {
16705
+ if (ts14.isIdentifier(el)) {
16536
16706
  out.push({
16537
16707
  directive: {
16538
16708
  value: new compiler.WrappedNodeExpr(el),
@@ -16544,7 +16714,7 @@ var fail = (reason, detail, location) => ({
16544
16714
  });
16545
16715
  continue;
16546
16716
  }
16547
- if (!ts13.isObjectLiteralExpression(el))
16717
+ if (!ts14.isObjectLiteralExpression(el))
16548
16718
  continue;
16549
16719
  const directiveNode = getProperty(el, "directive");
16550
16720
  if (!directiveNode)
@@ -16552,11 +16722,11 @@ var fail = (reason, detail, location) => ({
16552
16722
  const inputsNode = getProperty(el, "inputs");
16553
16723
  const outputsNode = getProperty(el, "outputs");
16554
16724
  const collectMap = (n) => {
16555
- if (!n || !ts13.isArrayLiteralExpression(n))
16725
+ if (!n || !ts14.isArrayLiteralExpression(n))
16556
16726
  return null;
16557
16727
  const map = {};
16558
16728
  for (const item of n.elements) {
16559
- if (!ts13.isStringLiteral(item))
16729
+ if (!ts14.isStringLiteral(item))
16560
16730
  continue;
16561
16731
  const [name, alias] = item.text.split(":").map((s2) => s2.trim());
16562
16732
  if (name)
@@ -16618,7 +16788,7 @@ var fail = (reason, detail, location) => ({
16618
16788
  return cached.info;
16619
16789
  let source;
16620
16790
  try {
16621
- source = readFileSync17(filePath, "utf-8");
16791
+ source = readFileSync19(filePath, "utf-8");
16622
16792
  } catch {
16623
16793
  childComponentInfoCache.set(cacheKey2, {
16624
16794
  info: null,
@@ -16626,10 +16796,10 @@ var fail = (reason, detail, location) => ({
16626
16796
  });
16627
16797
  return null;
16628
16798
  }
16629
- const sf = ts13.createSourceFile(filePath, source, ts13.ScriptTarget.Latest, true);
16799
+ const sf = ts14.createSourceFile(filePath, source, ts14.ScriptTarget.Latest, true);
16630
16800
  let info = null;
16631
16801
  for (const stmt of sf.statements) {
16632
- if (!ts13.isClassDeclaration(stmt))
16802
+ if (!ts14.isClassDeclaration(stmt))
16633
16803
  continue;
16634
16804
  if (!stmt.name || stmt.name.text !== className)
16635
16805
  continue;
@@ -16672,7 +16842,7 @@ var fail = (reason, detail, location) => ({
16672
16842
  return cached.info;
16673
16843
  let content;
16674
16844
  try {
16675
- content = readFileSync17(dtsPath, "utf-8");
16845
+ content = readFileSync19(dtsPath, "utf-8");
16676
16846
  } catch {
16677
16847
  childComponentInfoCache.set(cacheKey2, {
16678
16848
  info: null,
@@ -16764,9 +16934,9 @@ var fail = (reason, detail, location) => ({
16764
16934
  }, buildClassToSpecMap = (sourceFile) => {
16765
16935
  const result = new Map;
16766
16936
  for (const stmt of sourceFile.statements) {
16767
- if (!ts13.isImportDeclaration(stmt))
16937
+ if (!ts14.isImportDeclaration(stmt))
16768
16938
  continue;
16769
- if (!ts13.isStringLiteral(stmt.moduleSpecifier))
16939
+ if (!ts14.isStringLiteral(stmt.moduleSpecifier))
16770
16940
  continue;
16771
16941
  const spec = stmt.moduleSpecifier.text;
16772
16942
  const clause = stmt.importClause;
@@ -16775,7 +16945,7 @@ var fail = (reason, detail, location) => ({
16775
16945
  if (clause.name)
16776
16946
  result.set(clause.name.text, spec);
16777
16947
  const named = clause.namedBindings;
16778
- if (named && ts13.isNamedImports(named)) {
16948
+ if (named && ts14.isNamedImports(named)) {
16779
16949
  for (const el of named.elements) {
16780
16950
  if (el.isTypeOnly)
16781
16951
  continue;
@@ -16792,7 +16962,7 @@ var fail = (reason, detail, location) => ({
16792
16962
  return null;
16793
16963
  let content;
16794
16964
  try {
16795
- content = readFileSync17(startDtsPath, "utf-8");
16965
+ content = readFileSync19(startDtsPath, "utf-8");
16796
16966
  } catch {
16797
16967
  return null;
16798
16968
  }
@@ -16888,7 +17058,7 @@ var fail = (reason, detail, location) => ({
16888
17058
  return result;
16889
17059
  const classToSpec = buildClassToSpecMap(sourceFile);
16890
17060
  for (const el of importsExpr.elements) {
16891
- if (!ts13.isIdentifier(el))
17061
+ if (!ts14.isIdentifier(el))
16892
17062
  continue;
16893
17063
  const className = el.text;
16894
17064
  const spec = classToSpec.get(className);
@@ -16907,35 +17077,35 @@ var fail = (reason, detail, location) => ({
16907
17077
  }
16908
17078
  return (h2 >>> 0).toString(36);
16909
17079
  }, initializerShapeIsStructural = (node) => {
16910
- if (ts13.isArrowFunction(node) || ts13.isFunctionExpression(node) || ts13.isCallExpression(node) || ts13.isNewExpression(node)) {
17080
+ if (ts14.isArrowFunction(node) || ts14.isFunctionExpression(node) || ts14.isCallExpression(node) || ts14.isNewExpression(node)) {
16911
17081
  return true;
16912
17082
  }
16913
- if (ts13.isConditionalExpression(node)) {
17083
+ if (ts14.isConditionalExpression(node)) {
16914
17084
  return initializerShapeIsStructural(node.whenTrue) || initializerShapeIsStructural(node.whenFalse);
16915
17085
  }
16916
- if (ts13.isParenthesizedExpression(node)) {
17086
+ if (ts14.isParenthesizedExpression(node)) {
16917
17087
  return initializerShapeIsStructural(node.expression);
16918
17088
  }
16919
- if (ts13.isAsExpression(node) || ts13.isTypeAssertionExpression(node)) {
17089
+ if (ts14.isAsExpression(node) || ts14.isTypeAssertionExpression(node)) {
16920
17090
  return initializerShapeIsStructural(node.expression);
16921
17091
  }
16922
- if (ts13.isNonNullExpression(node)) {
17092
+ if (ts14.isNonNullExpression(node)) {
16923
17093
  return initializerShapeIsStructural(node.expression);
16924
17094
  }
16925
- if (ts13.isObjectLiteralExpression(node)) {
17095
+ if (ts14.isObjectLiteralExpression(node)) {
16926
17096
  for (const prop of node.properties) {
16927
- if (ts13.isPropertyAssignment(prop) && initializerShapeIsStructural(prop.initializer)) {
17097
+ if (ts14.isPropertyAssignment(prop) && initializerShapeIsStructural(prop.initializer)) {
16928
17098
  return true;
16929
17099
  }
16930
- if (ts13.isShorthandPropertyAssignment(prop))
17100
+ if (ts14.isShorthandPropertyAssignment(prop))
16931
17101
  continue;
16932
- if (ts13.isSpreadAssignment(prop) && initializerShapeIsStructural(prop.expression)) {
17102
+ if (ts14.isSpreadAssignment(prop) && initializerShapeIsStructural(prop.expression)) {
16933
17103
  return true;
16934
17104
  }
16935
17105
  }
16936
17106
  return false;
16937
17107
  }
16938
- if (ts13.isArrayLiteralExpression(node)) {
17108
+ if (ts14.isArrayLiteralExpression(node)) {
16939
17109
  for (const el of node.elements) {
16940
17110
  if (initializerShapeIsStructural(el))
16941
17111
  return true;
@@ -16946,7 +17116,7 @@ var fail = (reason, detail, location) => ({
16946
17116
  }, extractArrowFieldSig = (cls) => {
16947
17117
  const entries = [];
16948
17118
  for (const member of cls.members) {
16949
- if (!ts13.isPropertyDeclaration(member))
17119
+ if (!ts14.isPropertyDeclaration(member))
16950
17120
  continue;
16951
17121
  const init = member.initializer;
16952
17122
  if (!init)
@@ -16956,12 +17126,12 @@ var fail = (reason, detail, location) => ({
16956
17126
  const name = member.name.getText();
16957
17127
  let bodyText;
16958
17128
  try {
16959
- const printer = ts13.createPrinter({
16960
- newLine: ts13.NewLineKind.LineFeed,
17129
+ const printer = ts14.createPrinter({
17130
+ newLine: ts14.NewLineKind.LineFeed,
16961
17131
  omitTrailingSemicolon: true,
16962
17132
  removeComments: true
16963
17133
  });
16964
- bodyText = printer.printNode(ts13.EmitHint.Unspecified, init, cls.getSourceFile());
17134
+ bodyText = printer.printNode(ts14.EmitHint.Unspecified, init, cls.getSourceFile());
16965
17135
  } catch {
16966
17136
  bodyText = init.getText();
16967
17137
  }
@@ -16972,9 +17142,9 @@ var fail = (reason, detail, location) => ({
16972
17142
  }, INPUT_OUTPUT_DECORATORS, extractMemberDecoratorSig = (cls) => {
16973
17143
  const entries = [];
16974
17144
  for (const member of cls.members) {
16975
- if (!ts13.canHaveDecorators(member))
17145
+ if (!ts14.canHaveDecorators(member))
16976
17146
  continue;
16977
- const decorators = ts13.getDecorators(member) ?? [];
17147
+ const decorators = ts14.getDecorators(member) ?? [];
16978
17148
  if (decorators.length === 0)
16979
17149
  continue;
16980
17150
  const memberName = member.name?.getText() ?? "<anon>";
@@ -16982,14 +17152,14 @@ var fail = (reason, detail, location) => ({
16982
17152
  const expr = decorator.expression;
16983
17153
  let decName = "<unknown>";
16984
17154
  let argText = "";
16985
- if (ts13.isCallExpression(expr)) {
16986
- if (ts13.isIdentifier(expr.expression)) {
17155
+ if (ts14.isCallExpression(expr)) {
17156
+ if (ts14.isIdentifier(expr.expression)) {
16987
17157
  decName = expr.expression.text;
16988
17158
  }
16989
17159
  if (expr.arguments.length > 0) {
16990
17160
  argText = expr.arguments.map((a) => a.getText()).join(",");
16991
17161
  }
16992
- } else if (ts13.isIdentifier(expr)) {
17162
+ } else if (ts14.isIdentifier(expr)) {
16993
17163
  decName = expr.text;
16994
17164
  }
16995
17165
  if (INPUT_OUTPUT_DECORATORS.has(decName))
@@ -17010,22 +17180,22 @@ var fail = (reason, detail, location) => ({
17010
17180
  return cached.hasProviders;
17011
17181
  let source;
17012
17182
  try {
17013
- source = readFileSync17(filePath, "utf8");
17183
+ source = readFileSync19(filePath, "utf8");
17014
17184
  } catch {
17015
17185
  return true;
17016
17186
  }
17017
- const sf = ts13.createSourceFile(filePath, source, ts13.ScriptTarget.ES2022, true, ts13.ScriptKind.TS);
17187
+ const sf = ts14.createSourceFile(filePath, source, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
17018
17188
  let hasProviders = false;
17019
17189
  const visit = (node) => {
17020
17190
  if (hasProviders)
17021
17191
  return;
17022
- if (ts13.isClassDeclaration(node)) {
17023
- for (const decorator of ts13.getDecorators(node) ?? []) {
17192
+ if (ts14.isClassDeclaration(node)) {
17193
+ for (const decorator of ts14.getDecorators(node) ?? []) {
17024
17194
  const expr = decorator.expression;
17025
- if (!ts13.isCallExpression(expr))
17195
+ if (!ts14.isCallExpression(expr))
17026
17196
  continue;
17027
17197
  const arg = expr.arguments[0];
17028
- if (!arg || !ts13.isObjectLiteralExpression(arg))
17198
+ if (!arg || !ts14.isObjectLiteralExpression(arg))
17029
17199
  continue;
17030
17200
  if (getProperty(arg, "providers") !== null) {
17031
17201
  hasProviders = true;
@@ -17033,7 +17203,7 @@ var fail = (reason, detail, location) => ({
17033
17203
  }
17034
17204
  }
17035
17205
  }
17036
- ts13.forEachChild(node, visit);
17206
+ ts14.forEachChild(node, visit);
17037
17207
  };
17038
17208
  visit(sf);
17039
17209
  providerProbeCache.set(filePath, {
@@ -17043,10 +17213,10 @@ var fail = (reason, detail, location) => ({
17043
17213
  return hasProviders;
17044
17214
  }, TS_EXTENSIONS, resolveImportSource = (identifierName, sourceFile, componentDir) => {
17045
17215
  for (const stmt of sourceFile.statements) {
17046
- if (!ts13.isImportDeclaration(stmt))
17216
+ if (!ts14.isImportDeclaration(stmt))
17047
17217
  continue;
17048
17218
  const moduleSpec = stmt.moduleSpecifier;
17049
- if (!ts13.isStringLiteral(moduleSpec))
17219
+ if (!ts14.isStringLiteral(moduleSpec))
17050
17220
  continue;
17051
17221
  const spec = moduleSpec.text;
17052
17222
  if (!spec.startsWith(".") && !spec.startsWith("/"))
@@ -17060,7 +17230,7 @@ var fail = (reason, detail, location) => ({
17060
17230
  }
17061
17231
  if (importClause.namedBindings) {
17062
17232
  const nb = importClause.namedBindings;
17063
- if (ts13.isNamespaceImport(nb)) {
17233
+ if (ts14.isNamespaceImport(nb)) {
17064
17234
  if (nb.name.text === identifierName)
17065
17235
  matches = true;
17066
17236
  } else {
@@ -17090,7 +17260,7 @@ var fail = (reason, detail, location) => ({
17090
17260
  return [];
17091
17261
  const sig = [];
17092
17262
  for (const entry of importsExpr.elements) {
17093
- if (ts13.isIdentifier(entry)) {
17263
+ if (ts14.isIdentifier(entry)) {
17094
17264
  const importPath = resolveImportSource(entry.text, sourceFile, componentDir);
17095
17265
  if (importPath) {
17096
17266
  if (fileHasModuleProviders(importPath)) {
@@ -17109,13 +17279,13 @@ var fail = (reason, detail, location) => ({
17109
17279
  }, extractPropertyFieldNames = (cls) => {
17110
17280
  const names = [];
17111
17281
  for (const member of cls.members) {
17112
- if (!ts13.isPropertyDeclaration(member) && !ts13.isMethodDeclaration(member) && !ts13.isGetAccessorDeclaration(member) && !ts13.isSetAccessorDeclaration(member)) {
17282
+ if (!ts14.isPropertyDeclaration(member) && !ts14.isMethodDeclaration(member) && !ts14.isGetAccessorDeclaration(member) && !ts14.isSetAccessorDeclaration(member)) {
17113
17283
  continue;
17114
17284
  }
17115
17285
  const name = member.name;
17116
17286
  if (name === undefined)
17117
17287
  continue;
17118
- const text = ts13.isIdentifier(name) ? name.text : ts13.isStringLiteral(name) || ts13.isNoSubstitutionTemplateLiteral(name) ? name.text : name.getText();
17288
+ const text = ts14.isIdentifier(name) ? name.text : ts14.isStringLiteral(name) || ts14.isNoSubstitutionTemplateLiteral(name) ? name.text : name.getText();
17119
17289
  if (text.length > 0)
17120
17290
  names.push(text);
17121
17291
  }
@@ -17123,7 +17293,7 @@ var fail = (reason, detail, location) => ({
17123
17293
  }, extractTopLevelImports = (sourceFile) => {
17124
17294
  const names = new Set;
17125
17295
  for (const stmt of sourceFile.statements) {
17126
- if (!ts13.isImportDeclaration(stmt))
17296
+ if (!ts14.isImportDeclaration(stmt))
17127
17297
  continue;
17128
17298
  const clause = stmt.importClause;
17129
17299
  if (!clause)
@@ -17135,9 +17305,9 @@ var fail = (reason, detail, location) => ({
17135
17305
  const bindings = clause.namedBindings;
17136
17306
  if (!bindings)
17137
17307
  continue;
17138
- if (ts13.isNamespaceImport(bindings)) {
17308
+ if (ts14.isNamespaceImport(bindings)) {
17139
17309
  names.add(bindings.name.text);
17140
- } else if (ts13.isNamedImports(bindings)) {
17310
+ } else if (ts14.isNamedImports(bindings)) {
17141
17311
  for (const el of bindings.elements) {
17142
17312
  if (el.isTypeOnly)
17143
17313
  continue;
@@ -17149,18 +17319,18 @@ var fail = (reason, detail, location) => ({
17149
17319
  }, extractFingerprint = (cls, className, decoratorMeta, inputs, outputs, sourceFile, componentDir) => {
17150
17320
  const ctorParamTypes = [];
17151
17321
  for (const member of cls.members) {
17152
- if (!ts13.isConstructorDeclaration(member))
17322
+ if (!ts14.isConstructorDeclaration(member))
17153
17323
  continue;
17154
17324
  for (const param of member.parameters) {
17155
17325
  const typeText = param.type ? param.type.getText() : "";
17156
- const decorators = ts13.getDecorators(param) ?? [];
17326
+ const decorators = ts14.getDecorators(param) ?? [];
17157
17327
  const decoratorSig = decorators.length === 0 ? "" : decorators.map((d2) => {
17158
17328
  const expr = d2.expression;
17159
- if (ts13.isCallExpression(expr) && ts13.isIdentifier(expr.expression)) {
17329
+ if (ts14.isCallExpression(expr) && ts14.isIdentifier(expr.expression)) {
17160
17330
  const args = expr.arguments.map((a) => a.getText()).join(",");
17161
17331
  return `@${expr.expression.text}(${args})`;
17162
17332
  }
17163
- if (ts13.isIdentifier(expr)) {
17333
+ if (ts14.isIdentifier(expr)) {
17164
17334
  return `@${expr.text}`;
17165
17335
  }
17166
17336
  return "@<unknown>";
@@ -17176,12 +17346,12 @@ var fail = (reason, detail, location) => ({
17176
17346
  const providerImportSig = extractProviderImportSig(decoratorMeta.importsExpr, sourceFile, componentDir);
17177
17347
  const topLevelImports = extractTopLevelImports(sourceFile);
17178
17348
  const propertyFieldNames = extractPropertyFieldNames(cls);
17179
- const printer = ts13.createPrinter({
17180
- newLine: ts13.NewLineKind.LineFeed,
17349
+ const printer = ts14.createPrinter({
17350
+ newLine: ts14.NewLineKind.LineFeed,
17181
17351
  omitTrailingSemicolon: true,
17182
17352
  removeComments: true
17183
17353
  });
17184
- const canonicalText = (node) => printer.printNode(ts13.EmitHint.Unspecified, node, sourceFile);
17354
+ const canonicalText = (node) => printer.printNode(ts14.EmitHint.Unspecified, node, sourceFile);
17185
17355
  const importsArraySig = decoratorMeta.importsExpr ? djb2Hash(canonicalText(decoratorMeta.importsExpr)) : "";
17186
17356
  const hostDirectivesSig = decoratorMeta.hostDirectivesExpr ? djb2Hash(canonicalText(decoratorMeta.hostDirectivesExpr)) : "";
17187
17357
  const animationsArraySig = decoratorMeta.animationsExpr ? djb2Hash(canonicalText(decoratorMeta.animationsExpr)) : "";
@@ -17194,13 +17364,13 @@ var fail = (reason, detail, location) => ({
17194
17364
  const PAGE_EXPORT_NAMES = new Set(["providers", "routes"]);
17195
17365
  const pageExportEntries = [];
17196
17366
  for (const stmt of sourceFile.statements) {
17197
- if (!ts13.isVariableStatement(stmt))
17367
+ if (!ts14.isVariableStatement(stmt))
17198
17368
  continue;
17199
- const isExported = stmt.modifiers?.some((m) => m.kind === ts13.SyntaxKind.ExportKeyword);
17369
+ const isExported = stmt.modifiers?.some((m) => m.kind === ts14.SyntaxKind.ExportKeyword);
17200
17370
  if (!isExported)
17201
17371
  continue;
17202
17372
  for (const decl of stmt.declarationList.declarations) {
17203
- if (!ts13.isIdentifier(decl.name))
17373
+ if (!ts14.isIdentifier(decl.name))
17204
17374
  continue;
17205
17375
  if (!PAGE_EXPORT_NAMES.has(decl.name.text))
17206
17376
  continue;
@@ -17241,35 +17411,35 @@ var fail = (reason, detail, location) => ({
17241
17411
  }, buildFreshClassMethodsBlock = (classNode, className) => {
17242
17412
  const memberSources = [];
17243
17413
  let hasStatic = false;
17244
- const printer = ts13.createPrinter({ removeComments: true });
17414
+ const printer = ts14.createPrinter({ removeComments: true });
17245
17415
  for (const member of classNode.members) {
17246
- if (ts13.isPropertyDeclaration(member)) {
17247
- const modifiers = (ts13.getModifiers(member) ?? []).filter((m) => m.kind !== ts13.SyntaxKind.PrivateKeyword && m.kind !== ts13.SyntaxKind.PublicKeyword && m.kind !== ts13.SyntaxKind.ProtectedKeyword && m.kind !== ts13.SyntaxKind.ReadonlyKeyword && m.kind !== ts13.SyntaxKind.OverrideKeyword);
17248
- const cleaned = ts13.factory.createPropertyDeclaration(modifiers, member.name, undefined, undefined, member.initializer);
17249
- memberSources.push(printer.printNode(ts13.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
17416
+ if (ts14.isPropertyDeclaration(member)) {
17417
+ 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);
17418
+ const cleaned = ts14.factory.createPropertyDeclaration(modifiers, member.name, undefined, undefined, member.initializer);
17419
+ memberSources.push(printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
17250
17420
  continue;
17251
17421
  }
17252
- if (ts13.isConstructorDeclaration(member)) {
17253
- const cleanedParams = member.parameters.map((param) => ts13.factory.updateParameterDeclaration(param, (ts13.getModifiers(param) ?? []).filter((m) => m.kind !== ts13.SyntaxKind.PrivateKeyword && m.kind !== ts13.SyntaxKind.PublicKeyword && m.kind !== ts13.SyntaxKind.ProtectedKeyword && m.kind !== ts13.SyntaxKind.ReadonlyKeyword && m.kind !== ts13.SyntaxKind.OverrideKeyword), param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer));
17254
- const cleaned = ts13.factory.createConstructorDeclaration([], cleanedParams, member.body);
17255
- memberSources.push(printer.printNode(ts13.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
17422
+ if (ts14.isConstructorDeclaration(member)) {
17423
+ 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));
17424
+ const cleaned = ts14.factory.createConstructorDeclaration([], cleanedParams, member.body);
17425
+ memberSources.push(printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile()));
17256
17426
  continue;
17257
17427
  }
17258
- if (ts13.isMethodDeclaration(member) || ts13.isGetAccessorDeclaration(member) || ts13.isSetAccessorDeclaration(member)) {
17259
- const modifiers = ts13.getModifiers(member) ?? [];
17260
- const isStatic = modifiers.some((m) => m.kind === ts13.SyntaxKind.StaticKeyword);
17428
+ if (ts14.isMethodDeclaration(member) || ts14.isGetAccessorDeclaration(member) || ts14.isSetAccessorDeclaration(member)) {
17429
+ const modifiers = ts14.getModifiers(member) ?? [];
17430
+ const isStatic = modifiers.some((m) => m.kind === ts14.SyntaxKind.StaticKeyword);
17261
17431
  if (isStatic)
17262
17432
  hasStatic = true;
17263
- const cleanedParams = member.parameters.map((param) => ts13.factory.updateParameterDeclaration(param, ts13.getModifiers(param) ?? [], param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer));
17433
+ const cleanedParams = member.parameters.map((param) => ts14.factory.updateParameterDeclaration(param, ts14.getModifiers(param) ?? [], param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer));
17264
17434
  let cleaned;
17265
- if (ts13.isMethodDeclaration(member)) {
17266
- cleaned = ts13.factory.createMethodDeclaration(modifiers, member.asteriskToken, member.name, member.questionToken, member.typeParameters, cleanedParams, member.type, member.body);
17267
- } else if (ts13.isGetAccessorDeclaration(member)) {
17268
- cleaned = ts13.factory.createGetAccessorDeclaration(modifiers, member.name, cleanedParams, member.type, member.body);
17435
+ if (ts14.isMethodDeclaration(member)) {
17436
+ cleaned = ts14.factory.createMethodDeclaration(modifiers, member.asteriskToken, member.name, member.questionToken, member.typeParameters, cleanedParams, member.type, member.body);
17437
+ } else if (ts14.isGetAccessorDeclaration(member)) {
17438
+ cleaned = ts14.factory.createGetAccessorDeclaration(modifiers, member.name, cleanedParams, member.type, member.body);
17269
17439
  } else {
17270
- cleaned = ts13.factory.createSetAccessorDeclaration(modifiers, member.name, cleanedParams, member.body);
17440
+ cleaned = ts14.factory.createSetAccessorDeclaration(modifiers, member.name, cleanedParams, member.body);
17271
17441
  }
17272
- const printed = printer.printNode(ts13.EmitHint.Unspecified, cleaned, classNode.getSourceFile());
17442
+ const printed = printer.printNode(ts14.EmitHint.Unspecified, cleaned, classNode.getSourceFile());
17273
17443
  memberSources.push(printed);
17274
17444
  }
17275
17445
  }
@@ -17281,10 +17451,10 @@ ${memberSources.join(`
17281
17451
  }`;
17282
17452
  let transpiled;
17283
17453
  try {
17284
- transpiled = ts13.transpileModule(wrappedSource, {
17454
+ transpiled = ts14.transpileModule(wrappedSource, {
17285
17455
  compilerOptions: {
17286
- module: ts13.ModuleKind.ES2022,
17287
- target: ts13.ScriptTarget.ES2022
17456
+ module: ts14.ModuleKind.ES2022,
17457
+ target: ts14.ScriptTarget.ES2022
17288
17458
  },
17289
17459
  reportDiagnostics: false
17290
17460
  }).outputText;
@@ -17318,7 +17488,7 @@ ${transpiled}
17318
17488
  return null;
17319
17489
  const ext = extname6(abs).toLowerCase();
17320
17490
  if (!STYLE_PREPROCESSED_EXT.has(ext) || ext === ".css") {
17321
- return readFileSync17(abs, "utf8");
17491
+ return readFileSync19(abs, "utf8");
17322
17492
  }
17323
17493
  try {
17324
17494
  const { compileStyleFileIfNeededSync: compileStyleFileIfNeededSync2 } = (init_stylePreprocessor(), __toCommonJS(exports_stylePreprocessor));
@@ -17357,8 +17527,8 @@ ${block}
17357
17527
  const opts = {};
17358
17528
  if (existsSync23(tsconfigPath)) {
17359
17529
  try {
17360
- const text = readFileSync17(tsconfigPath, "utf8");
17361
- const parsed = ts13.parseConfigFileTextToJson(tsconfigPath, text);
17530
+ const text = readFileSync19(tsconfigPath, "utf8");
17531
+ const parsed = ts14.parseConfigFileTextToJson(tsconfigPath, text);
17362
17532
  if (!parsed.error && parsed.config) {
17363
17533
  const cfg = parsed.config;
17364
17534
  const ang = cfg.angularCompilerOptions ?? {};
@@ -17391,8 +17561,8 @@ ${block}
17391
17561
  } catch (err) {
17392
17562
  return fail("unexpected-error", `import @angular/compiler: ${err}`);
17393
17563
  }
17394
- const tsSource = readFileSync17(componentFilePath, "utf8");
17395
- const sourceFile = ts13.createSourceFile(componentFilePath, tsSource, ts13.ScriptTarget.ES2022, true, ts13.ScriptKind.TS);
17564
+ const tsSource = readFileSync19(componentFilePath, "utf8");
17565
+ const sourceFile = ts14.createSourceFile(componentFilePath, tsSource, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
17396
17566
  const classNode = findClassDeclaration(sourceFile, className);
17397
17567
  if (!classNode) {
17398
17568
  return fail("class-not-found", `${className} in ${componentFilePath}`);
@@ -17441,7 +17611,7 @@ ${block}
17441
17611
  if (!existsSync23(tplAbs)) {
17442
17612
  return fail("template-resource-not-found", `Template file not found: ${tplAbs}`, { file: componentFilePath });
17443
17613
  }
17444
- templateText = readFileSync17(tplAbs, "utf8");
17614
+ templateText = readFileSync19(tplAbs, "utf8");
17445
17615
  templatePath = tplAbs;
17446
17616
  } else {
17447
17617
  return fail("unsupported-decorator-args", "missing template/templateUrl");
@@ -17512,7 +17682,7 @@ ${block}
17512
17682
  viewQueries: advancedMetadata.viewQueries,
17513
17683
  host: advancedMetadata.host,
17514
17684
  lifecycle: {
17515
- usesOnChanges: classNode.members.some((m) => ts13.isMethodDeclaration(m) && m.name !== undefined && ts13.isIdentifier(m.name) && m.name.text === "ngOnChanges")
17685
+ usesOnChanges: classNode.members.some((m) => ts14.isMethodDeclaration(m) && m.name !== undefined && ts14.isIdentifier(m.name) && m.name.text === "ngOnChanges")
17516
17686
  },
17517
17687
  inputs,
17518
17688
  outputs,
@@ -17568,15 +17738,15 @@ ${block}
17568
17738
  }
17569
17739
  const importGenerator = createHmrImportGenerator(namespaceMap);
17570
17740
  const tsFunctionDecl = translateStatement(sourceFile, callback, importGenerator);
17571
- const exportedDecl = ts13.factory.updateFunctionDeclaration(tsFunctionDecl, [
17572
- ts13.factory.createToken(ts13.SyntaxKind.ExportKeyword),
17573
- ts13.factory.createToken(ts13.SyntaxKind.DefaultKeyword)
17741
+ const exportedDecl = ts14.factory.updateFunctionDeclaration(tsFunctionDecl, [
17742
+ ts14.factory.createToken(ts14.SyntaxKind.ExportKeyword),
17743
+ ts14.factory.createToken(ts14.SyntaxKind.DefaultKeyword)
17574
17744
  ], tsFunctionDecl.asteriskToken, tsFunctionDecl.name, tsFunctionDecl.typeParameters, tsFunctionDecl.parameters, tsFunctionDecl.type, tsFunctionDecl.body);
17575
- const printer = ts13.createPrinter({
17576
- newLine: ts13.NewLineKind.LineFeed,
17745
+ const printer = ts14.createPrinter({
17746
+ newLine: ts14.NewLineKind.LineFeed,
17577
17747
  removeComments: false
17578
17748
  });
17579
- const fnText = printer.printNode(ts13.EmitHint.Unspecified, exportedDecl, sourceFile);
17749
+ const fnText = printer.printNode(ts14.EmitHint.Unspecified, exportedDecl, sourceFile);
17580
17750
  const provisionalMethodsBlock = buildFreshClassMethodsBlock(classNode, className) ?? "";
17581
17751
  const referencedNames = new Set;
17582
17752
  const identRe = /[A-Za-z_$][A-Za-z0-9_$]*/g;
@@ -17586,33 +17756,33 @@ ${block}
17586
17756
  }
17587
17757
  const sourceScopeNames = new Set;
17588
17758
  for (const stmt of sourceFile.statements) {
17589
- if (ts13.isImportDeclaration(stmt)) {
17590
- if (!ts13.isStringLiteral(stmt.moduleSpecifier))
17759
+ if (ts14.isImportDeclaration(stmt)) {
17760
+ if (!ts14.isStringLiteral(stmt.moduleSpecifier))
17591
17761
  continue;
17592
17762
  const clause = stmt.importClause;
17593
17763
  if (clause?.name)
17594
17764
  sourceScopeNames.add(clause.name.text);
17595
- if (clause?.namedBindings && ts13.isNamedImports(clause.namedBindings)) {
17765
+ if (clause?.namedBindings && ts14.isNamedImports(clause.namedBindings)) {
17596
17766
  for (const el of clause.namedBindings.elements) {
17597
17767
  if (el.isTypeOnly)
17598
17768
  continue;
17599
17769
  sourceScopeNames.add(el.name.text);
17600
17770
  }
17601
- } else if (clause?.namedBindings && ts13.isNamespaceImport(clause.namedBindings)) {
17771
+ } else if (clause?.namedBindings && ts14.isNamespaceImport(clause.namedBindings)) {
17602
17772
  sourceScopeNames.add(clause.namedBindings.name.text);
17603
17773
  }
17604
17774
  continue;
17605
17775
  }
17606
- if (ts13.isVariableStatement(stmt) || stmt.kind === ts13.SyntaxKind.VariableStatement) {
17776
+ if (ts14.isVariableStatement(stmt) || stmt.kind === ts14.SyntaxKind.VariableStatement) {
17607
17777
  const varStmt = stmt;
17608
17778
  for (const decl of varStmt.declarationList.declarations) {
17609
- if (ts13.isIdentifier(decl.name)) {
17779
+ if (ts14.isIdentifier(decl.name)) {
17610
17780
  sourceScopeNames.add(decl.name.text);
17611
17781
  }
17612
17782
  }
17613
17783
  continue;
17614
17784
  }
17615
- if (ts13.isFunctionDeclaration(stmt) || ts13.isClassDeclaration(stmt)) {
17785
+ if (ts14.isFunctionDeclaration(stmt) || ts14.isClassDeclaration(stmt)) {
17616
17786
  if (stmt.name)
17617
17787
  sourceScopeNames.add(stmt.name.text);
17618
17788
  }
@@ -17623,7 +17793,7 @@ ${block}
17623
17793
  }
17624
17794
  const allImportedNames = new Set;
17625
17795
  for (const stmt of sourceFile.statements) {
17626
- if (!ts13.isImportDeclaration(stmt))
17796
+ if (!ts14.isImportDeclaration(stmt))
17627
17797
  continue;
17628
17798
  const clause = stmt.importClause;
17629
17799
  if (!clause || clause.isTypeOnly)
@@ -17633,7 +17803,7 @@ ${block}
17633
17803
  const bindings = clause.namedBindings;
17634
17804
  if (!bindings)
17635
17805
  continue;
17636
- if (ts13.isNamespaceImport(bindings)) {
17806
+ if (ts14.isNamespaceImport(bindings)) {
17637
17807
  allImportedNames.add(bindings.name.text);
17638
17808
  } else {
17639
17809
  for (const el of bindings.elements) {
@@ -17645,10 +17815,10 @@ ${block}
17645
17815
  }
17646
17816
  const depsToDestructure = [...sourceScopeNames].filter((n) => referencedNames.has(n) || allImportedNames.has(n));
17647
17817
  const tsSourceText = fnText;
17648
- const transpiled = ts13.transpileModule(tsSourceText, {
17818
+ const transpiled = ts14.transpileModule(tsSourceText, {
17649
17819
  compilerOptions: {
17650
- module: ts13.ModuleKind.ES2022,
17651
- target: ts13.ScriptTarget.ES2022
17820
+ module: ts14.ModuleKind.ES2022,
17821
+ target: ts14.ScriptTarget.ES2022
17652
17822
  },
17653
17823
  fileName: componentFilePath,
17654
17824
  reportDiagnostics: false
@@ -18200,7 +18370,7 @@ __export(exports_compileEmber, {
18200
18370
  });
18201
18371
  import { existsSync as existsSync24 } from "fs";
18202
18372
  import { mkdir as mkdir6, rm as rm4 } from "fs/promises";
18203
- import { basename as basename9, dirname as dirname16, extname as extname7, join as join28, resolve as resolve23 } from "path";
18373
+ import { basename as basename9, dirname as dirname16, extname as extname7, join as join29, resolve as resolve23 } from "path";
18204
18374
  var {build: bunBuild2, Transpiler: Transpiler4, write: write4, file: file3 } = globalThis.Bun;
18205
18375
  var cachedPreprocessor = null, getPreprocessor = async () => {
18206
18376
  if (cachedPreprocessor)
@@ -18319,7 +18489,7 @@ export const importSync = (specifier) => {
18319
18489
  build.onResolve({ filter: /^@(?:ember|glimmer|simple-dom)\// }, (args) => {
18320
18490
  if (standalonePackages.has(args.path))
18321
18491
  return;
18322
- const internal = join28(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
18492
+ const internal = join29(cwd, "node_modules/ember-source/dist/packages", args.path, "index.js");
18323
18493
  if (existsSync24(internal))
18324
18494
  return { path: internal };
18325
18495
  return;
@@ -18367,16 +18537,16 @@ export default PageComponent;
18367
18537
  }
18368
18538
  const transpiled = transpiler5.transformSync(preprocessed);
18369
18539
  const baseName = basename9(resolvedEntry).replace(/\.(gjs|gts|ts|js)$/, "");
18370
- const tmpDir = join28(compiledRoot, "_tmp");
18371
- const serverDir = join28(compiledRoot, "server");
18372
- const clientDir = join28(compiledRoot, "client");
18540
+ const tmpDir = join29(compiledRoot, "_tmp");
18541
+ const serverDir = join29(compiledRoot, "server");
18542
+ const clientDir = join29(compiledRoot, "client");
18373
18543
  await Promise.all([
18374
18544
  mkdir6(tmpDir, { recursive: true }),
18375
18545
  mkdir6(serverDir, { recursive: true }),
18376
18546
  mkdir6(clientDir, { recursive: true })
18377
18547
  ]);
18378
- const tmpPagePath = resolve23(join28(tmpDir, `${baseName}.module.js`));
18379
- const tmpHarnessPath = resolve23(join28(tmpDir, `${baseName}.harness.js`));
18548
+ const tmpPagePath = resolve23(join29(tmpDir, `${baseName}.module.js`));
18549
+ const tmpHarnessPath = resolve23(join29(tmpDir, `${baseName}.harness.js`));
18380
18550
  await Promise.all([
18381
18551
  write4(tmpPagePath, transpiled),
18382
18552
  write4(tmpHarnessPath, generateServerHarness(tmpPagePath))
@@ -18384,7 +18554,7 @@ export default PageComponent;
18384
18554
  const stagedSourceMap = new Map([
18385
18555
  [tmpPagePath, resolvedEntry]
18386
18556
  ]);
18387
- const serverPath = join28(serverDir, `${baseName}.js`);
18557
+ const serverPath = join29(serverDir, `${baseName}.js`);
18388
18558
  const buildResult = await bunBuild2({
18389
18559
  entrypoints: [tmpHarnessPath],
18390
18560
  format: "esm",
@@ -18401,7 +18571,7 @@ export default PageComponent;
18401
18571
  console.warn(`\u26A0\uFE0F Ember server build for ${baseName} had errors:`, buildResult.logs);
18402
18572
  }
18403
18573
  await rm4(tmpDir, { force: true, recursive: true });
18404
- const clientPath = join28(clientDir, `${baseName}.js`);
18574
+ const clientPath = join29(clientDir, `${baseName}.js`);
18405
18575
  await write4(clientPath, transpiled);
18406
18576
  return { clientPath, serverPath };
18407
18577
  }, compileEmber = async (entries, emberDir, cwd = process.cwd(), _hmr = false) => {
@@ -18429,7 +18599,7 @@ export default PageComponent;
18429
18599
  preprocessed = rewriteTemplateEvalToScope(result.code);
18430
18600
  }
18431
18601
  return transpiler5.transformSync(preprocessed);
18432
- }, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join28(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join28(getEmberCompiledRoot(emberDir), "client");
18602
+ }, clearEmberCompilerCache = () => {}, getEmberCompiledRoot = (_emberDir) => getFrameworkGeneratedDir("ember"), getEmberServerCompiledDir = (emberDir) => join29(getEmberCompiledRoot(emberDir), "server"), getEmberClientCompiledDir = (emberDir) => join29(getEmberCompiledRoot(emberDir), "client");
18433
18603
  var init_compileEmber = __esm(() => {
18434
18604
  init_generatedDir();
18435
18605
  transpiler5 = new Transpiler4({
@@ -18451,7 +18621,7 @@ __export(exports_buildReactVendor, {
18451
18621
  buildReactVendor: () => buildReactVendor
18452
18622
  });
18453
18623
  import { existsSync as existsSync25, mkdirSync as mkdirSync8 } from "fs";
18454
- import { join as join29, resolve as resolve24 } from "path";
18624
+ import { join as join30, resolve as resolve24 } from "path";
18455
18625
  import { rm as rm5 } from "fs/promises";
18456
18626
  var {build: bunBuild3 } = globalThis.Bun;
18457
18627
  var resolveJsxDevRuntimeCompatPath = () => {
@@ -18505,14 +18675,14 @@ var resolveJsxDevRuntimeCompatPath = () => {
18505
18675
  `)}
18506
18676
  `;
18507
18677
  }, buildReactVendor = async (buildDir) => {
18508
- const vendorDir = join29(buildDir, "react", "vendor");
18678
+ const vendorDir = join30(buildDir, "react", "vendor");
18509
18679
  mkdirSync8(vendorDir, { recursive: true });
18510
- const tmpDir = join29(buildDir, "_vendor_tmp");
18680
+ const tmpDir = join30(buildDir, "_vendor_tmp");
18511
18681
  mkdirSync8(tmpDir, { recursive: true });
18512
18682
  const specifiers = resolveVendorSpecifiers();
18513
18683
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
18514
18684
  const safeName = toSafeFileName(specifier);
18515
- const entryPath = join29(tmpDir, `${safeName}.ts`);
18685
+ const entryPath = join30(tmpDir, `${safeName}.ts`);
18516
18686
  const source = await generateEntrySource(specifier);
18517
18687
  await Bun.write(entryPath, source);
18518
18688
  return entryPath;
@@ -18577,7 +18747,7 @@ __export(exports_buildAngularVendor, {
18577
18747
  buildAngularServerVendor: () => buildAngularServerVendor
18578
18748
  });
18579
18749
  import { mkdirSync as mkdirSync9 } from "fs";
18580
- import { join as join30 } from "path";
18750
+ import { join as join31 } from "path";
18581
18751
  import { rm as rm6 } from "fs/promises";
18582
18752
  var {build: bunBuild4, Glob: Glob7 } = globalThis.Bun;
18583
18753
  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) => {
@@ -18614,7 +18784,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18614
18784
  }
18615
18785
  return { angular, transitiveRoots };
18616
18786
  }, PARTIAL_DECL_MARKERS, containsPartialDeclarations = (source) => PARTIAL_DECL_MARKERS.some((marker) => source.includes(marker)), collectTransitiveAngularSpecs = async (roots, angularFound) => {
18617
- const { readFileSync: readFileSync18 } = await import("fs");
18787
+ const { readFileSync: readFileSync20 } = await import("fs");
18618
18788
  const transpiler6 = new Bun.Transpiler({ loader: "js" });
18619
18789
  const visited = new Set;
18620
18790
  const frontier = [];
@@ -18635,7 +18805,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18635
18805
  }
18636
18806
  let content;
18637
18807
  try {
18638
- content = readFileSync18(resolved, "utf-8");
18808
+ content = readFileSync20(resolved, "utf-8");
18639
18809
  } catch {
18640
18810
  continue;
18641
18811
  }
@@ -18674,14 +18844,14 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18674
18844
  await collectTransitiveAngularSpecs([...angular, ...transitiveRoots], angular);
18675
18845
  return Array.from(angular).filter(isResolvable2);
18676
18846
  }, buildAngularVendor = async (buildDir, directories = [], linkerJitMode = false, depVendorSpecifiers = []) => {
18677
- const vendorDir = join30(buildDir, "angular", "vendor");
18847
+ const vendorDir = join31(buildDir, "angular", "vendor");
18678
18848
  mkdirSync9(vendorDir, { recursive: true });
18679
- const tmpDir = join30(buildDir, "_angular_vendor_tmp");
18849
+ const tmpDir = join31(buildDir, "_angular_vendor_tmp");
18680
18850
  mkdirSync9(tmpDir, { recursive: true });
18681
18851
  const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
18682
18852
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
18683
18853
  const safeName = toSafeFileName2(specifier);
18684
- const entryPath = join30(tmpDir, `${safeName}.ts`);
18854
+ const entryPath = join31(tmpDir, `${safeName}.ts`);
18685
18855
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
18686
18856
  return entryPath;
18687
18857
  }));
@@ -18712,9 +18882,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18712
18882
  const specifiers = await resolveAngularSpecifiers(directories, linkerJitMode);
18713
18883
  return computeAngularVendorPaths(specifiers);
18714
18884
  }, buildAngularServerVendor = async (buildDir, directories = [], linkerJitMode = false) => {
18715
- const vendorDir = join30(buildDir, "angular", "vendor", "server");
18885
+ const vendorDir = join31(buildDir, "angular", "vendor", "server");
18716
18886
  mkdirSync9(vendorDir, { recursive: true });
18717
- const tmpDir = join30(buildDir, "_angular_server_vendor_tmp");
18887
+ const tmpDir = join31(buildDir, "_angular_server_vendor_tmp");
18718
18888
  mkdirSync9(tmpDir, { recursive: true });
18719
18889
  const browserSpecs = await resolveAngularSpecifiers(directories, linkerJitMode);
18720
18890
  const allSpecs = new Set(browserSpecs);
@@ -18725,7 +18895,7 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18725
18895
  const specifiers = Array.from(allSpecs);
18726
18896
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
18727
18897
  const safeName = toSafeFileName2(specifier);
18728
- const entryPath = join30(tmpDir, `${safeName}.ts`);
18898
+ const entryPath = join31(tmpDir, `${safeName}.ts`);
18729
18899
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
18730
18900
  return entryPath;
18731
18901
  }));
@@ -18747,9 +18917,9 @@ var REQUIRED_ANGULAR_SPECIFIERS_BASE, requiredAngularSpecifiers = (jitMode) => j
18747
18917
  return specifiers;
18748
18918
  }, computeAngularServerVendorPaths = (buildDir, specifiers) => {
18749
18919
  const paths = {};
18750
- const vendorDir = join30(buildDir, "angular", "vendor", "server");
18920
+ const vendorDir = join31(buildDir, "angular", "vendor", "server");
18751
18921
  for (const specifier of specifiers) {
18752
- paths[specifier] = join30(vendorDir, `${toSafeFileName2(specifier)}.js`);
18922
+ paths[specifier] = join31(vendorDir, `${toSafeFileName2(specifier)}.js`);
18753
18923
  }
18754
18924
  return paths;
18755
18925
  }, computeAngularServerVendorPathsAsync = async (buildDir, directories = [], linkerJitMode = true) => {
@@ -18805,17 +18975,17 @@ __export(exports_buildVueVendor, {
18805
18975
  buildVueVendor: () => buildVueVendor
18806
18976
  });
18807
18977
  import { mkdirSync as mkdirSync10 } from "fs";
18808
- import { join as join31 } from "path";
18978
+ import { join as join32 } from "path";
18809
18979
  import { rm as rm7 } from "fs/promises";
18810
18980
  var {build: bunBuild5 } = globalThis.Bun;
18811
18981
  var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"), buildVueVendor = async (buildDir) => {
18812
- const vendorDir = join31(buildDir, "vue", "vendor");
18982
+ const vendorDir = join32(buildDir, "vue", "vendor");
18813
18983
  mkdirSync10(vendorDir, { recursive: true });
18814
- const tmpDir = join31(buildDir, "_vue_vendor_tmp");
18984
+ const tmpDir = join32(buildDir, "_vue_vendor_tmp");
18815
18985
  mkdirSync10(tmpDir, { recursive: true });
18816
18986
  const entrypoints = await Promise.all(vueSpecifiers.map(async (specifier) => {
18817
18987
  const safeName = toSafeFileName3(specifier);
18818
- const entryPath = join31(tmpDir, `${safeName}.ts`);
18988
+ const entryPath = join32(tmpDir, `${safeName}.ts`);
18819
18989
  await Bun.write(entryPath, `export * from '${specifier}';
18820
18990
  `);
18821
18991
  return entryPath;
@@ -18840,11 +19010,11 @@ var vueSpecifiers, toSafeFileName3 = (specifier) => specifier.replace(/\//g, "_"
18840
19010
  console.warn("\u26A0\uFE0F Vue vendor build had errors:", result.logs);
18841
19011
  return;
18842
19012
  }
18843
- const { readFileSync: readFileSync18, writeFileSync: writeFileSync8, readdirSync: readdirSync4 } = await import("fs");
18844
- const files = readdirSync4(vendorDir).filter((f2) => f2.endsWith(".js"));
19013
+ const { readFileSync: readFileSync20, writeFileSync: writeFileSync8, readdirSync: readdirSync5 } = await import("fs");
19014
+ const files = readdirSync5(vendorDir).filter((f2) => f2.endsWith(".js"));
18845
19015
  for (const file4 of files) {
18846
- const filePath = join31(vendorDir, file4);
18847
- const content = readFileSync18(filePath, "utf-8");
19016
+ const filePath = join32(vendorDir, file4);
19017
+ const content = readFileSync20(filePath, "utf-8");
18848
19018
  if (!content.includes("__VUE_HMR_RUNTIME__"))
18849
19019
  continue;
18850
19020
  const patched = content.replace(/getGlobalThis\(\)\.__VUE_HMR_RUNTIME__\s*=\s*\{/, "getGlobalThis().__VUE_HMR_RUNTIME__ = getGlobalThis().__VUE_HMR_RUNTIME__ || {");
@@ -18870,7 +19040,7 @@ __export(exports_buildSvelteVendor, {
18870
19040
  buildSvelteVendor: () => buildSvelteVendor
18871
19041
  });
18872
19042
  import { mkdirSync as mkdirSync11 } from "fs";
18873
- import { join as join32 } from "path";
19043
+ import { join as join33 } from "path";
18874
19044
  import { rm as rm8 } from "fs/promises";
18875
19045
  var {build: bunBuild6 } = globalThis.Bun;
18876
19046
  var svelteSpecifiers, isResolvable3 = (specifier) => {
@@ -18884,13 +19054,13 @@ var svelteSpecifiers, isResolvable3 = (specifier) => {
18884
19054
  const specifiers = resolveVendorSpecifiers2();
18885
19055
  if (specifiers.length === 0)
18886
19056
  return;
18887
- const vendorDir = join32(buildDir, "svelte", "vendor");
19057
+ const vendorDir = join33(buildDir, "svelte", "vendor");
18888
19058
  mkdirSync11(vendorDir, { recursive: true });
18889
- const tmpDir = join32(buildDir, "_svelte_vendor_tmp");
19059
+ const tmpDir = join33(buildDir, "_svelte_vendor_tmp");
18890
19060
  mkdirSync11(tmpDir, { recursive: true });
18891
19061
  const entrypoints = await Promise.all(specifiers.map(async (specifier) => {
18892
19062
  const safeName = toSafeFileName4(specifier);
18893
- const entryPath = join32(tmpDir, `${safeName}.ts`);
19063
+ const entryPath = join33(tmpDir, `${safeName}.ts`);
18894
19064
  await Bun.write(entryPath, `export * from '${specifier}';
18895
19065
  `);
18896
19066
  return entryPath;
@@ -18940,7 +19110,7 @@ __export(exports_rewriteImportsPlugin, {
18940
19110
  buildWithImportRewrite: () => buildWithImportRewrite
18941
19111
  });
18942
19112
  import { readdir as readdir3 } from "fs/promises";
18943
- import { join as join33 } from "path";
19113
+ import { join as join34 } from "path";
18944
19114
  var escapeRegex2 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), jsRewriteImports = (content, replacements) => {
18945
19115
  let result = content;
18946
19116
  for (const [specifier, webPath] of replacements) {
@@ -19069,7 +19239,7 @@ ${content}`;
19069
19239
  const entries = await readdir3(dir);
19070
19240
  for (const entry of entries) {
19071
19241
  if (entry.endsWith(".js"))
19072
- allFiles.push(join33(dir, entry));
19242
+ allFiles.push(join34(dir, entry));
19073
19243
  }
19074
19244
  } catch {}
19075
19245
  }
@@ -19113,12 +19283,12 @@ import {
19113
19283
  cpSync,
19114
19284
  existsSync as existsSync26,
19115
19285
  mkdirSync as mkdirSync12,
19116
- readFileSync as readFileSync18,
19286
+ readFileSync as readFileSync20,
19117
19287
  rmSync as rmSync2,
19118
19288
  statSync as statSync3,
19119
19289
  writeFileSync as writeFileSync8
19120
19290
  } from "fs";
19121
- import { basename as basename10, dirname as dirname17, extname as extname8, join as join34, relative as relative13, resolve as resolve25 } from "path";
19291
+ import { basename as basename10, dirname as dirname17, extname as extname8, join as join35, relative as relative13, resolve as resolve25 } from "path";
19122
19292
  import { cwd, env as env2, exit } from "process";
19123
19293
  var {build: bunBuild7, Glob: Glob8 } = globalThis.Bun;
19124
19294
  var isDev, isBuildTraceEnabled = () => {
@@ -19196,8 +19366,8 @@ var isDev, isBuildTraceEnabled = () => {
19196
19366
  mkdirSync12(htmxDestDir, { recursive: true });
19197
19367
  const glob = new Glob8("htmx*.min.js");
19198
19368
  for (const relPath of glob.scanSync({ cwd: htmxDir })) {
19199
- const src = join34(htmxDir, relPath);
19200
- const dest = join34(htmxDestDir, "htmx.min.js");
19369
+ const src = join35(htmxDir, relPath);
19370
+ const dest = join35(htmxDestDir, "htmx.min.js");
19201
19371
  copyFileSync2(src, dest);
19202
19372
  return;
19203
19373
  }
@@ -19225,7 +19395,7 @@ var isDev, isBuildTraceEnabled = () => {
19225
19395
  globalThis.__absoluteVersion = pkg.version;
19226
19396
  };
19227
19397
  await resolveCandidate(candidates);
19228
- }, SKIP_DIRS4, addWorkerPathIfExists = (file4, relPath, workerPaths) => {
19398
+ }, SKIP_DIRS5, addWorkerPathIfExists = (file4, relPath, workerPaths) => {
19229
19399
  const absPath = resolve25(file4, "..", relPath);
19230
19400
  try {
19231
19401
  statSync3(absPath);
@@ -19241,7 +19411,7 @@ var isDev, isBuildTraceEnabled = () => {
19241
19411
  addWorkerPathIfExists(file4, relPath, workerPaths);
19242
19412
  }
19243
19413
  }, collectWorkerPathsFromFile = (file4, patterns, workerPaths) => {
19244
- const content = readFileSync18(file4, "utf-8");
19414
+ const content = readFileSync20(file4, "utf-8");
19245
19415
  for (const pattern of patterns) {
19246
19416
  collectWorkerPathsFromContent(content, pattern, file4, workerPaths);
19247
19417
  }
@@ -19250,7 +19420,7 @@ var isDev, isBuildTraceEnabled = () => {
19250
19420
  for await (const file4 of glob.scan({ absolute: true, cwd: dir })) {
19251
19421
  const relToDir = file4.slice(dir.length + 1);
19252
19422
  const [firstSegment] = relToDir.split("/");
19253
- if (firstSegment && SKIP_DIRS4.has(firstSegment))
19423
+ if (firstSegment && SKIP_DIRS5.has(firstSegment))
19254
19424
  continue;
19255
19425
  collectWorkerPathsFromFile(file4, patterns, workerPaths);
19256
19426
  }
@@ -19272,7 +19442,7 @@ var isDev, isBuildTraceEnabled = () => {
19272
19442
  vuePagesPath
19273
19443
  }) => {
19274
19444
  const { readdirSync: readDir } = await import("fs");
19275
- const devIndexDir = join34(buildPath, "_src_indexes");
19445
+ const devIndexDir = join35(buildPath, "_src_indexes");
19276
19446
  mkdirSync12(devIndexDir, { recursive: true });
19277
19447
  if (reactIndexesPath && reactPagesPath) {
19278
19448
  copyReactDevIndexes(reactIndexesPath, reactPagesPath, devIndexDir, readDir);
@@ -19290,35 +19460,35 @@ var isDev, isBuildTraceEnabled = () => {
19290
19460
  const indexFiles = readDir(reactIndexesPath).filter((file4) => file4.endsWith(".tsx"));
19291
19461
  const pagesRel = relative13(process.cwd(), resolve25(reactPagesPath)).replace(/\\/g, "/");
19292
19462
  for (const file4 of indexFiles) {
19293
- let content = readFileSync18(join34(reactIndexesPath, file4), "utf-8");
19463
+ let content = readFileSync20(join35(reactIndexesPath, file4), "utf-8");
19294
19464
  content = content.replace(/from\s*['"]([^'"]*\/pages\/([^'"]+))['"]/g, (_match, _fullPath, componentName) => `from '/@src/${pagesRel}/${componentName}'`);
19295
- writeFileSync8(join34(devIndexDir, file4), content);
19465
+ writeFileSync8(join35(devIndexDir, file4), content);
19296
19466
  }
19297
19467
  }, copySvelteDevIndexes = (svelteDir, sveltePagesPath, svelteEntries, devIndexDir) => {
19298
- const svelteIndexDir = join34(getFrameworkGeneratedDir("svelte"), "indexes");
19468
+ const svelteIndexDir = join35(getFrameworkGeneratedDir("svelte"), "indexes");
19299
19469
  const sveltePageEntries = svelteEntries.filter((file4) => resolve25(file4).startsWith(resolve25(sveltePagesPath)));
19300
19470
  for (const entry of sveltePageEntries) {
19301
19471
  const name = basename10(entry).replace(/\.svelte(\.(ts|js))?$/, "");
19302
- const indexFile = join34(svelteIndexDir, "pages", `${name}.js`);
19472
+ const indexFile = join35(svelteIndexDir, "pages", `${name}.js`);
19303
19473
  if (!existsSync26(indexFile))
19304
19474
  continue;
19305
- let content = readFileSync18(indexFile, "utf-8");
19475
+ let content = readFileSync20(indexFile, "utf-8");
19306
19476
  const srcRel = relative13(process.cwd(), resolve25(entry)).replace(/\\/g, "/");
19307
19477
  content = content.replace(/import\s+Component\s+from\s+['"]([^'"]+)['"]/, `import Component from "/@src/${srcRel}"`);
19308
- writeFileSync8(join34(devIndexDir, `${name}.svelte.js`), content);
19478
+ writeFileSync8(join35(devIndexDir, `${name}.svelte.js`), content);
19309
19479
  }
19310
19480
  }, copyVueDevIndexes = (vueDir, vuePagesPath, vueEntries, devIndexDir) => {
19311
- const vueIndexDir = join34(getFrameworkGeneratedDir("vue"), "indexes");
19481
+ const vueIndexDir = join35(getFrameworkGeneratedDir("vue"), "indexes");
19312
19482
  const vuePageEntries = vueEntries.filter((file4) => resolve25(file4).startsWith(resolve25(vuePagesPath)));
19313
19483
  for (const entry of vuePageEntries) {
19314
19484
  const name = basename10(entry, ".vue");
19315
- const indexFile = join34(vueIndexDir, `${name}.js`);
19485
+ const indexFile = join35(vueIndexDir, `${name}.js`);
19316
19486
  if (!existsSync26(indexFile))
19317
19487
  continue;
19318
- let content = readFileSync18(indexFile, "utf-8");
19488
+ let content = readFileSync20(indexFile, "utf-8");
19319
19489
  const srcRel = relative13(process.cwd(), resolve25(entry)).replace(/\\/g, "/");
19320
19490
  content = content.replace(/import\s+Comp(?:\s*,\s*\*\s+as\s+\w+)?\s+from\s+['"]([^'"]+)['"]/, (match) => match.replace(/from\s+['"][^'"]+['"]/, `from "/@src/${srcRel}"`));
19321
- writeFileSync8(join34(devIndexDir, `${name}.vue.js`), content);
19491
+ writeFileSync8(join35(devIndexDir, `${name}.vue.js`), content);
19322
19492
  }
19323
19493
  }, resolveVueRuntimeId = (content, firstUseName, outputPath, projectRoot) => {
19324
19494
  const varIdx = content.indexOf(`var ${firstUseName} =`);
@@ -19366,7 +19536,7 @@ var isDev, isBuildTraceEnabled = () => {
19366
19536
  }
19367
19537
  return result;
19368
19538
  }, VUE_HMR_RUNTIME, injectVueComposableTracking = (outputPath, projectRoot) => {
19369
- let content = readFileSync18(outputPath, "utf-8");
19539
+ let content = readFileSync20(outputPath, "utf-8");
19370
19540
  const usePattern = /^var\s+(use[A-Z]\w*)\s*=/gm;
19371
19541
  const useNames = [];
19372
19542
  let match;
@@ -19416,7 +19586,7 @@ ${content.slice(firstUseIdx)}`;
19416
19586
  }, rewriteUrlReferences = (outputPaths, urlFileMap) => {
19417
19587
  const urlPattern = /new\s+URL\(\s*["'](\.\.?\/[^"']+)["']\s*,\s*import\.meta\.url\s*\)/g;
19418
19588
  for (const outputPath of outputPaths) {
19419
- let content = readFileSync18(outputPath, "utf-8");
19589
+ let content = readFileSync20(outputPath, "utf-8");
19420
19590
  let changed = false;
19421
19591
  content = content.replace(urlPattern, (_match, relPath) => {
19422
19592
  const targetName = basename10(relPath);
@@ -19541,10 +19711,10 @@ ${content.slice(firstUseIdx)}`;
19541
19711
  restoreTracePhase();
19542
19712
  return;
19543
19713
  }
19544
- const traceDir = join34(buildPath2, ".absolute-trace");
19714
+ const traceDir = join35(buildPath2, ".absolute-trace");
19545
19715
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
19546
19716
  mkdirSync12(traceDir, { recursive: true });
19547
- writeFileSync8(join34(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
19717
+ writeFileSync8(join35(traceDir, `build-trace-${timestamp}.json`), JSON.stringify({
19548
19718
  events: traceEvents,
19549
19719
  frameworks: traceFrameworkNames,
19550
19720
  generatedAt: new Date().toISOString(),
@@ -19575,15 +19745,15 @@ ${content.slice(firstUseIdx)}`;
19575
19745
  const stylesPath = typeof stylesConfig === "string" ? stylesConfig : stylesConfig?.path;
19576
19746
  const stylesIgnore = typeof stylesConfig === "object" ? stylesConfig.ignore : undefined;
19577
19747
  const stylesDir = stylesPath && validateSafePath(stylesPath, projectRoot);
19578
- const reactIndexesPath = reactDir && join34(getFrameworkGeneratedDir("react"), "indexes");
19579
- const reactPagesPath = reactDir && join34(reactDir, "pages");
19580
- const htmlPagesPath = htmlDir && join34(htmlDir, "pages");
19581
- const htmlScriptsPath = htmlDir && join34(htmlDir, "scripts");
19582
- const sveltePagesPath = svelteDir && join34(svelteDir, "pages");
19583
- const vuePagesPath = vueDir && join34(vueDir, "pages");
19584
- const htmxPagesPath = htmxDir && join34(htmxDir, "pages");
19585
- const angularPagesPath = angularDir && join34(angularDir, "pages");
19586
- const emberPagesPath = emberDir && join34(emberDir, "pages");
19748
+ const reactIndexesPath = reactDir && join35(getFrameworkGeneratedDir("react"), "indexes");
19749
+ const reactPagesPath = reactDir && join35(reactDir, "pages");
19750
+ const htmlPagesPath = htmlDir && join35(htmlDir, "pages");
19751
+ const htmlScriptsPath = htmlDir && join35(htmlDir, "scripts");
19752
+ const sveltePagesPath = svelteDir && join35(svelteDir, "pages");
19753
+ const vuePagesPath = vueDir && join35(vueDir, "pages");
19754
+ const htmxPagesPath = htmxDir && join35(htmxDir, "pages");
19755
+ const angularPagesPath = angularDir && join35(angularDir, "pages");
19756
+ const emberPagesPath = emberDir && join35(emberDir, "pages");
19587
19757
  const frontends = [
19588
19758
  reactDir,
19589
19759
  htmlDir,
@@ -19642,8 +19812,8 @@ ${content.slice(firstUseIdx)}`;
19642
19812
  const [firstEntry] = serverDirMap;
19643
19813
  if (!firstEntry)
19644
19814
  throw new Error("Expected at least one server directory entry");
19645
- serverRoot = join34(firstEntry.dir, firstEntry.subdir);
19646
- serverOutDir = join34(buildPath, basename10(firstEntry.dir));
19815
+ serverRoot = join35(firstEntry.dir, firstEntry.subdir);
19816
+ serverOutDir = join35(buildPath, basename10(firstEntry.dir));
19647
19817
  } else if (serverDirMap.length > 1) {
19648
19818
  serverRoot = commonAncestor(serverDirMap.map((entry) => entry.dir), projectRoot);
19649
19819
  serverOutDir = buildPath;
@@ -19671,7 +19841,7 @@ ${content.slice(firstUseIdx)}`;
19671
19841
  await tracePhase("react/index-generation", () => generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr));
19672
19842
  }
19673
19843
  if (assetsPath && (!isIncremental || normalizedIncrementalFiles?.some((f2) => f2.includes("/assets/")))) {
19674
- await tracePhase("assets/copy", () => cpSync(assetsPath, join34(buildPath, "assets"), {
19844
+ await tracePhase("assets/copy", () => cpSync(assetsPath, join35(buildPath, "assets"), {
19675
19845
  force: true,
19676
19846
  recursive: true
19677
19847
  }));
@@ -19781,11 +19951,11 @@ ${content.slice(firstUseIdx)}`;
19781
19951
  }
19782
19952
  }
19783
19953
  if (htmlDefaults.error || htmlDefaults.notFound || htmlDefaults.loading || Object.keys(htmlPages).length > 0) {
19784
- const htmlConventionsOutDir = join34(buildPath, "conventions", "html");
19954
+ const htmlConventionsOutDir = join35(buildPath, "conventions", "html");
19785
19955
  mkdirSync12(htmlConventionsOutDir, { recursive: true });
19786
19956
  const htmlPathRemap = new Map;
19787
19957
  for (const sourcePath of htmlConventionSources) {
19788
- const dest = join34(htmlConventionsOutDir, basename10(sourcePath));
19958
+ const dest = join35(htmlConventionsOutDir, basename10(sourcePath));
19789
19959
  cpSync(sourcePath, dest, { force: true });
19790
19960
  htmlPathRemap.set(sourcePath, dest);
19791
19961
  }
@@ -19828,7 +19998,7 @@ ${content.slice(firstUseIdx)}`;
19828
19998
  const reactEntries = isIncremental && reactIndexesPath && reactPagesPath ? filterToIncrementalEntries(allReactEntries, (entry) => {
19829
19999
  if (entry.startsWith(resolve25(reactIndexesPath))) {
19830
20000
  const pageName = basename10(entry, ".tsx");
19831
- return join34(reactPagesPath, `${pageName}.tsx`);
20001
+ return join35(reactPagesPath, `${pageName}.tsx`);
19832
20002
  }
19833
20003
  return null;
19834
20004
  }) : allReactEntries;
@@ -19851,6 +20021,20 @@ ${content.slice(firstUseIdx)}`;
19851
20021
  const shouldCompileSvelte = svelteDir && svelteEntries.length > 0;
19852
20022
  const shouldCompileVue = vueDir && vueEntries.length > 0;
19853
20023
  const shouldCompileAngular = angularDir && angularEntries.length > 0;
20024
+ const ssrOnlyVueEntries = shouldCompileVue ? await tracePhase("scan/vue-ssr-only", async () => {
20025
+ const { scanVueSsrOnlyPages: scanVueSsrOnlyPages2 } = await Promise.resolve().then(() => (init_scanVueSsrOnlyPages(), exports_scanVueSsrOnlyPages));
20026
+ const ssrOnlyPageNames = scanVueSsrOnlyPages2(projectRoot);
20027
+ if (ssrOnlyPageNames.size === 0)
20028
+ return new Set;
20029
+ const resolved = new Set;
20030
+ for (const entry of vueEntries) {
20031
+ const name = basename10(entry, ".vue");
20032
+ if (ssrOnlyPageNames.has(name)) {
20033
+ resolved.add(resolve25(entry));
20034
+ }
20035
+ }
20036
+ return resolved;
20037
+ }) : new Set;
19854
20038
  const shouldCompileEmber = emberDir && emberEntries.length > 0;
19855
20039
  const emptyStringArray = [];
19856
20040
  const islandBuildInfo = islandRegistryPath ? await tracePhase("islands/registry", () => loadIslandRegistryBuildInfo(islandRegistryPath)) : null;
@@ -19913,7 +20097,7 @@ ${content.slice(firstUseIdx)}`;
19913
20097
  svelteIndexPaths: [...emptyStringArray],
19914
20098
  svelteServerPaths: [...emptyStringArray]
19915
20099
  },
19916
- shouldCompileVue ? tracePhase("compile/vue", () => Promise.resolve().then(() => (init_compileVue(), exports_compileVue)).then((mod) => mod.compileVue(vueEntries, vueDir, hmr, styleTransformConfig))) : {
20100
+ shouldCompileVue ? tracePhase("compile/vue", () => Promise.resolve().then(() => (init_compileVue(), exports_compileVue)).then((mod) => mod.compileVue(vueEntries, vueDir, hmr, styleTransformConfig, ssrOnlyVueEntries))) : {
19917
20101
  vueClientPaths: [...emptyStringArray],
19918
20102
  vueCssPaths: [...emptyStringArray],
19919
20103
  vueIndexPaths: [...emptyStringArray],
@@ -19931,14 +20115,14 @@ ${content.slice(firstUseIdx)}`;
19931
20115
  try {
19932
20116
  const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
19933
20117
  const { readdir: readdir4 } = await import("fs/promises");
19934
- const { join: join35 } = await import("path");
20118
+ const { join: join36 } = await import("path");
19935
20119
  const walk = async (dir) => {
19936
20120
  const entries = await readdir4(dir, {
19937
20121
  withFileTypes: true
19938
20122
  });
19939
20123
  const out = [];
19940
20124
  for (const entry of entries) {
19941
- const full = join35(dir, entry.name);
20125
+ const full = join36(dir, entry.name);
19942
20126
  if (entry.isDirectory()) {
19943
20127
  out.push(...await walk(full));
19944
20128
  } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
@@ -20003,7 +20187,7 @@ ${content.slice(firstUseIdx)}`;
20003
20187
  const compileReactConventions = async () => {
20004
20188
  if (reactConventionSources.length === 0)
20005
20189
  return emptyStringArray;
20006
- const destDir = join34(buildPath, "conventions", "react");
20190
+ const destDir = join35(buildPath, "conventions", "react");
20007
20191
  rmSync2(destDir, { force: true, recursive: true });
20008
20192
  mkdirSync12(destDir, { recursive: true });
20009
20193
  const destPaths = [];
@@ -20047,7 +20231,7 @@ ${content.slice(firstUseIdx)}`;
20047
20231
  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 }
20048
20232
  ]);
20049
20233
  const bundleConventionFiles = async (framework, compiledPaths) => {
20050
- const destDir = join34(buildPath, "conventions", framework);
20234
+ const destDir = join35(buildPath, "conventions", framework);
20051
20235
  rmSync2(destDir, { force: true, recursive: true });
20052
20236
  mkdirSync12(destDir, { recursive: true });
20053
20237
  const destPaths = [];
@@ -20121,7 +20305,7 @@ ${content.slice(firstUseIdx)}`;
20121
20305
  }
20122
20306
  })) : {
20123
20307
  entries: [],
20124
- generatedRoot: join34(buildPath, "_island_entries")
20308
+ generatedRoot: join35(buildPath, "_island_entries")
20125
20309
  };
20126
20310
  const islandClientEntryPoints = islandEntryResult.entries.map((entry) => entry.entryPath);
20127
20311
  if (serverEntryPoints.length === 0 && reactClientEntryPoints.length === 0 && nonReactClientEntryPoints.length === 0 && islandClientEntryPoints.length === 0 && htmxDir === undefined && htmlDir === undefined) {
@@ -20157,7 +20341,7 @@ ${content.slice(firstUseIdx)}`;
20157
20341
  return {};
20158
20342
  }
20159
20343
  if (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {
20160
- const refreshEntry = join34(reactIndexesPath, "_refresh.tsx");
20344
+ const refreshEntry = join35(reactIndexesPath, "_refresh.tsx");
20161
20345
  if (!reactClientEntryPoints.includes(refreshEntry))
20162
20346
  reactClientEntryPoints.push(refreshEntry);
20163
20347
  }
@@ -20259,19 +20443,19 @@ ${content.slice(firstUseIdx)}`;
20259
20443
  throw: false
20260
20444
  }, resolveBunBuildOverride(bunBuildConfig, "reactClient")) : undefined;
20261
20445
  if (reactDir && reactClientEntryPoints.length > 0) {
20262
- rmSync2(join34(buildPath, "react", "generated", "indexes"), {
20446
+ rmSync2(join35(buildPath, "react", "generated", "indexes"), {
20263
20447
  force: true,
20264
20448
  recursive: true
20265
20449
  });
20266
20450
  }
20267
20451
  if (angularDir && angularClientPaths.length > 0) {
20268
- rmSync2(join34(buildPath, "angular", "indexes"), {
20452
+ rmSync2(join35(buildPath, "angular", "indexes"), {
20269
20453
  force: true,
20270
20454
  recursive: true
20271
20455
  });
20272
20456
  }
20273
20457
  if (islandClientEntryPoints.length > 0) {
20274
- rmSync2(join34(buildPath, "islands"), {
20458
+ rmSync2(join35(buildPath, "islands"), {
20275
20459
  force: true,
20276
20460
  recursive: true
20277
20461
  });
@@ -20360,7 +20544,7 @@ ${content.slice(firstUseIdx)}`;
20360
20544
  globalCssEntries.length > 0 ? tracePhase("bun/global-css", () => bunBuild7(mergeBunBuildConfig({
20361
20545
  entrypoints: globalCssEntries,
20362
20546
  naming: `[dir]/[name].[hash].[ext]`,
20363
- outdir: stylesDir ? join34(buildPath, basename10(stylesDir)) : buildPath,
20547
+ outdir: stylesDir ? join35(buildPath, basename10(stylesDir)) : buildPath,
20364
20548
  plugins: [stylePreprocessorPlugin2],
20365
20549
  root: stylesDir || clientRoot,
20366
20550
  target: "browser",
@@ -20369,7 +20553,7 @@ ${content.slice(firstUseIdx)}`;
20369
20553
  vueCssPaths.length > 0 ? tracePhase("bun/vue-css", () => bunBuild7(mergeBunBuildConfig({
20370
20554
  entrypoints: vueCssPaths,
20371
20555
  naming: `[name].[hash].[ext]`,
20372
- outdir: join34(buildPath, assetsPath ? basename10(assetsPath) : "assets", "css"),
20556
+ outdir: join35(buildPath, assetsPath ? basename10(assetsPath) : "assets", "css"),
20373
20557
  target: "browser",
20374
20558
  throw: false
20375
20559
  }, resolveBunBuildOverride(bunBuildConfig, "vueCss")))) : undefined
@@ -20529,7 +20713,7 @@ ${content.slice(firstUseIdx)}`;
20529
20713
  const injectHMRIntoHTMLFile = (filePath, framework) => {
20530
20714
  if (!hmrClientBundle)
20531
20715
  return;
20532
- let html = readFileSync18(filePath, "utf-8");
20716
+ let html = readFileSync20(filePath, "utf-8");
20533
20717
  if (html.includes("data-hmr-client"))
20534
20718
  return;
20535
20719
  const tag = `<script>window.__HMR_FRAMEWORK__="${framework}";</script><script data-hmr-client>${hmrClientBundle}</script>`;
@@ -20540,7 +20724,7 @@ ${content.slice(firstUseIdx)}`;
20540
20724
  const processHtmlPages = async () => {
20541
20725
  if (!(htmlDir && htmlPagesPath))
20542
20726
  return;
20543
- const outputHtmlPages = isSingle ? join34(buildPath, "pages") : join34(buildPath, basename10(htmlDir), "pages");
20727
+ const outputHtmlPages = isSingle ? join35(buildPath, "pages") : join35(buildPath, basename10(htmlDir), "pages");
20544
20728
  mkdirSync12(outputHtmlPages, { recursive: true });
20545
20729
  cpSync(htmlPagesPath, outputHtmlPages, {
20546
20730
  force: true,
@@ -20565,14 +20749,14 @@ ${content.slice(firstUseIdx)}`;
20565
20749
  const processHtmxPages = async () => {
20566
20750
  if (!(htmxDir && htmxPagesPath))
20567
20751
  return;
20568
- const outputHtmxPages = isSingle ? join34(buildPath, "pages") : join34(buildPath, basename10(htmxDir), "pages");
20752
+ const outputHtmxPages = isSingle ? join35(buildPath, "pages") : join35(buildPath, basename10(htmxDir), "pages");
20569
20753
  mkdirSync12(outputHtmxPages, { recursive: true });
20570
20754
  cpSync(htmxPagesPath, outputHtmxPages, {
20571
20755
  force: true,
20572
20756
  recursive: true
20573
20757
  });
20574
20758
  if (shouldCopyHtmx) {
20575
- const htmxDestDir = isSingle ? buildPath : join34(buildPath, basename10(htmxDir));
20759
+ const htmxDestDir = isSingle ? buildPath : join35(buildPath, basename10(htmxDir));
20576
20760
  copyHtmxVendor(htmxDir, htmxDestDir);
20577
20761
  }
20578
20762
  if (shouldUpdateHtmxAssetPaths) {
@@ -20637,9 +20821,9 @@ ${content.slice(firstUseIdx)}`;
20637
20821
  writeBuildTrace(buildPath);
20638
20822
  return { conventions: conventionsMap, manifest };
20639
20823
  }
20640
- writeFileSync8(join34(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
20824
+ writeFileSync8(join35(buildPath, "manifest.json"), JSON.stringify(manifest, null, "\t"));
20641
20825
  if (Object.keys(conventionsMap).length > 0) {
20642
- writeFileSync8(join34(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
20826
+ writeFileSync8(join35(buildPath, "conventions.json"), JSON.stringify(conventionsMap, null, "\t"));
20643
20827
  }
20644
20828
  writeBuildTrace(buildPath);
20645
20829
  if (mode === "production") {
@@ -20702,7 +20886,7 @@ var init_build = __esm(() => {
20702
20886
  init_logger();
20703
20887
  init_validateSafePath();
20704
20888
  isDev = env2.NODE_ENV === "development";
20705
- SKIP_DIRS4 = new Set([
20889
+ SKIP_DIRS5 = new Set([
20706
20890
  "build",
20707
20891
  "node_modules",
20708
20892
  ".absolutejs",
@@ -20761,7 +20945,7 @@ var init_build = __esm(() => {
20761
20945
 
20762
20946
  // src/build/buildEmberVendor.ts
20763
20947
  import { mkdirSync as mkdirSync13, existsSync as existsSync27 } from "fs";
20764
- import { join as join35 } from "path";
20948
+ import { join as join36 } from "path";
20765
20949
  import { rm as rm9 } from "fs/promises";
20766
20950
  var {build: bunBuild8 } = globalThis.Bun;
20767
20951
  var toSafeFileName5 = (specifier) => specifier.replace(/^@/, "").replace(/\//g, "_"), generateMacrosShim = () => `// Generated shim for @embroider/macros \u2014 provides minimal runtime
@@ -20813,7 +20997,7 @@ export const importSync = (specifier) => {
20813
20997
  if (standaloneSpecifiers.has(specifier)) {
20814
20998
  return { resolveTo: specifier, specifier };
20815
20999
  }
20816
- const emberInternalPath = join35(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
21000
+ const emberInternalPath = join36(cwd2, "node_modules/ember-source/dist/packages", specifier, "index.js");
20817
21001
  if (!existsSync27(emberInternalPath)) {
20818
21002
  throw new Error(`Ember vendor build: cannot find ${specifier} at ${emberInternalPath}. ` + `Is ember-source installed and at least 6.12?`);
20819
21003
  }
@@ -20845,7 +21029,7 @@ export const importSync = (specifier) => {
20845
21029
  if (standalonePackages.has(args.path)) {
20846
21030
  return;
20847
21031
  }
20848
- const internal = join35(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
21032
+ const internal = join36(cwd2, "node_modules/ember-source/dist/packages", args.path, "index.js");
20849
21033
  if (existsSync27(internal)) {
20850
21034
  return { path: internal };
20851
21035
  }
@@ -20853,16 +21037,16 @@ export const importSync = (specifier) => {
20853
21037
  });
20854
21038
  }
20855
21039
  }), buildEmberVendor = async (buildDir, cwd2 = process.cwd()) => {
20856
- const vendorDir = join35(buildDir, "ember", "vendor");
21040
+ const vendorDir = join36(buildDir, "ember", "vendor");
20857
21041
  mkdirSync13(vendorDir, { recursive: true });
20858
- const tmpDir = join35(buildDir, "_ember_vendor_tmp");
21042
+ const tmpDir = join36(buildDir, "_ember_vendor_tmp");
20859
21043
  mkdirSync13(tmpDir, { recursive: true });
20860
- const macrosShimPath = join35(tmpDir, "embroider_macros_shim.js");
21044
+ const macrosShimPath = join36(tmpDir, "embroider_macros_shim.js");
20861
21045
  await Bun.write(macrosShimPath, generateMacrosShim());
20862
21046
  const resolutions = REQUIRED_EMBER_SPECIFIERS.map((specifier) => resolveEmberSpecifier(specifier, cwd2));
20863
21047
  const entrypoints = await Promise.all(resolutions.map(async (resolution) => {
20864
21048
  const safeName = toSafeFileName5(resolution.specifier);
20865
- const entryPath = join35(tmpDir, `${safeName}.js`);
21049
+ const entryPath = join36(tmpDir, `${safeName}.js`);
20866
21050
  const source = resolution.specifier === "@embroider/macros" ? `export * from ${JSON.stringify(macrosShimPath)};
20867
21051
  ` : generateVendorEntrySource2(resolution);
20868
21052
  await Bun.write(entryPath, source);
@@ -20915,7 +21099,7 @@ __export(exports_dependencyGraph, {
20915
21099
  buildInitialDependencyGraph: () => buildInitialDependencyGraph,
20916
21100
  addFileToGraph: () => addFileToGraph
20917
21101
  });
20918
- import { existsSync as existsSync28, readFileSync as readFileSync19 } from "fs";
21102
+ import { existsSync as existsSync28, readFileSync as readFileSync21 } from "fs";
20919
21103
  var {Glob: Glob9 } = globalThis.Bun;
20920
21104
  import { resolve as resolve26 } from "path";
20921
21105
  var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath) => {
@@ -21086,15 +21270,15 @@ var emptyDependencyGraph, tsTranspiler, jsTranspiler, loaderForFile = (filePath)
21086
21270
  const lowerPath = filePath.toLowerCase();
21087
21271
  const isSvelteOrVue = lowerPath.endsWith(".svelte") || lowerPath.endsWith(".vue");
21088
21272
  if (loader === "html") {
21089
- const content = readFileSync19(filePath, "utf-8");
21273
+ const content = readFileSync21(filePath, "utf-8");
21090
21274
  return extractHtmlDependencies(filePath, content);
21091
21275
  }
21092
21276
  if (loader === "tsx" || loader === "js") {
21093
- const content = readFileSync19(filePath, "utf-8");
21277
+ const content = readFileSync21(filePath, "utf-8");
21094
21278
  return extractJsDependencies(filePath, content, loader);
21095
21279
  }
21096
21280
  if (isSvelteOrVue) {
21097
- const content = readFileSync19(filePath, "utf-8");
21281
+ const content = readFileSync21(filePath, "utf-8");
21098
21282
  return extractSvelteVueDependencies(filePath, content);
21099
21283
  }
21100
21284
  return [];
@@ -21237,7 +21421,7 @@ var init_clientManager = __esm(() => {
21237
21421
  });
21238
21422
 
21239
21423
  // src/dev/pathUtils.ts
21240
- import { existsSync as existsSync29, readdirSync as readdirSync4, readFileSync as readFileSync20 } from "fs";
21424
+ import { existsSync as existsSync29, readdirSync as readdirSync5, readFileSync as readFileSync22 } from "fs";
21241
21425
  import { dirname as dirname18, resolve as resolve28 } from "path";
21242
21426
  var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21243
21427
  if (shouldIgnorePath(filePath, resolved)) {
@@ -21319,7 +21503,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21319
21503
  const walk = (dir) => {
21320
21504
  let entries;
21321
21505
  try {
21322
- entries = readdirSync4(dir, { withFileTypes: true });
21506
+ entries = readdirSync5(dir, { withFileTypes: true });
21323
21507
  } catch {
21324
21508
  return;
21325
21509
  }
@@ -21337,7 +21521,7 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21337
21521
  }
21338
21522
  let source;
21339
21523
  try {
21340
- source = readFileSync20(full, "utf8");
21524
+ source = readFileSync22(full, "utf8");
21341
21525
  } catch {
21342
21526
  continue;
21343
21527
  }
@@ -21415,8 +21599,8 @@ var STYLE_EXTENSION_PATTERN2, detectFramework = (filePath, resolved) => {
21415
21599
  roots.push(abs);
21416
21600
  }
21417
21601
  try {
21418
- const { readdirSync: readdirSync5 } = __require("fs");
21419
- const entries = readdirSync5(cwd2, { withFileTypes: true });
21602
+ const { readdirSync: readdirSync6 } = __require("fs");
21603
+ const entries = readdirSync6(cwd2, { withFileTypes: true });
21420
21604
  for (const entry of entries) {
21421
21605
  if (!entry.isDirectory())
21422
21606
  continue;
@@ -21496,8 +21680,8 @@ var init_pathUtils = __esm(() => {
21496
21680
 
21497
21681
  // src/dev/fileWatcher.ts
21498
21682
  import { watch } from "fs";
21499
- import { existsSync as existsSync30, readdirSync as readdirSync5, statSync as statSync4 } from "fs";
21500
- import { dirname as dirname19, join as join36, resolve as resolve29 } from "path";
21683
+ import { existsSync as existsSync30, readdirSync as readdirSync6, statSync as statSync4 } from "fs";
21684
+ import { dirname as dirname19, join as join37, resolve as resolve29 } from "path";
21501
21685
  var safeRemoveFromGraph = (graph, fullPath) => {
21502
21686
  try {
21503
21687
  removeFileFromGraph(graph, fullPath);
@@ -21522,7 +21706,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21522
21706
  const atomicRecoveryScan = (eventDir) => {
21523
21707
  let entries;
21524
21708
  try {
21525
- entries = readdirSync5(eventDir);
21709
+ entries = readdirSync6(eventDir);
21526
21710
  } catch {
21527
21711
  return;
21528
21712
  }
@@ -21530,7 +21714,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21530
21714
  for (const name of entries) {
21531
21715
  if (shouldSkipFilename(name, isStylesDir))
21532
21716
  continue;
21533
- const child = join36(eventDir, name).replace(/\\/g, "/");
21717
+ const child = join37(eventDir, name).replace(/\\/g, "/");
21534
21718
  let st2;
21535
21719
  try {
21536
21720
  st2 = statSync4(child);
@@ -21555,12 +21739,12 @@ var safeRemoveFromGraph = (graph, fullPath) => {
21555
21739
  return;
21556
21740
  if (shouldSkipFilename(filename, isStylesDir)) {
21557
21741
  if (event === "rename") {
21558
- const eventDir = dirname19(join36(absolutePath, filename)).replace(/\\/g, "/");
21742
+ const eventDir = dirname19(join37(absolutePath, filename)).replace(/\\/g, "/");
21559
21743
  atomicRecoveryScan(eventDir);
21560
21744
  }
21561
21745
  return;
21562
21746
  }
21563
- const fullPath = join36(absolutePath, filename).replace(/\\/g, "/");
21747
+ const fullPath = join37(absolutePath, filename).replace(/\\/g, "/");
21564
21748
  if (shouldIgnorePath(fullPath, state.resolvedPaths)) {
21565
21749
  return;
21566
21750
  }
@@ -21712,7 +21896,7 @@ var init_assetStore = __esm(() => {
21712
21896
  });
21713
21897
 
21714
21898
  // src/islands/pageMetadata.ts
21715
- import { readFileSync as readFileSync21 } from "fs";
21899
+ import { readFileSync as readFileSync23 } from "fs";
21716
21900
  import { dirname as dirname20, resolve as resolve31 } from "path";
21717
21901
  var pagePatterns, getPageDirs = (config) => [
21718
21902
  { dir: config.angularDirectory, framework: "angular" },
@@ -21755,7 +21939,7 @@ var pagePatterns, getPageDirs = (config) => [
21755
21939
  return;
21756
21940
  const files = await scanEntryPoints(resolve31(entry.dir), pattern);
21757
21941
  for (const filePath of files) {
21758
- const source = readFileSync21(filePath, "utf-8");
21942
+ const source = readFileSync23(filePath, "utf-8");
21759
21943
  const islands = extractIslandUsagesFromSource(source);
21760
21944
  pageMetadata.set(resolve31(filePath), {
21761
21945
  islands: resolveIslandUsages(islands, islandSourceLookup),
@@ -21786,10 +21970,10 @@ var init_pageMetadata = __esm(() => {
21786
21970
  });
21787
21971
 
21788
21972
  // src/dev/fileHashTracker.ts
21789
- import { readFileSync as readFileSync22 } from "fs";
21973
+ import { readFileSync as readFileSync24 } from "fs";
21790
21974
  var computeFileHash = (filePath) => {
21791
21975
  try {
21792
- const fileContent = readFileSync22(filePath);
21976
+ const fileContent = readFileSync24(filePath);
21793
21977
  return Number(Bun.hash(fileContent));
21794
21978
  } catch {
21795
21979
  return UNFOUND_INDEX;
@@ -22003,15 +22187,15 @@ __export(exports_resolveOwningComponents, {
22003
22187
  resolveDescendantsOfParent: () => resolveDescendantsOfParent,
22004
22188
  invalidateResourceIndex: () => invalidateResourceIndex
22005
22189
  });
22006
- import { readdirSync as readdirSync6, readFileSync as readFileSync23, statSync as statSync5 } from "fs";
22007
- import { dirname as dirname21, extname as extname9, join as join37, resolve as resolve34 } from "path";
22008
- import ts14 from "typescript";
22190
+ import { readdirSync as readdirSync7, readFileSync as readFileSync25, statSync as statSync5 } from "fs";
22191
+ import { dirname as dirname21, extname as extname9, join as join38, resolve as resolve34 } from "path";
22192
+ import ts15 from "typescript";
22009
22193
  var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") || file4.endsWith(".tsx"), walkAngularSourceFiles = (root) => {
22010
22194
  const out = [];
22011
22195
  const visit = (dir) => {
22012
22196
  let entries;
22013
22197
  try {
22014
- entries = readdirSync6(dir, { withFileTypes: true });
22198
+ entries = readdirSync7(dir, { withFileTypes: true });
22015
22199
  } catch {
22016
22200
  return;
22017
22201
  }
@@ -22019,7 +22203,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22019
22203
  if (entry.name.startsWith(".") || entry.name === "node_modules") {
22020
22204
  continue;
22021
22205
  }
22022
- const full = join37(dir, entry.name);
22206
+ const full = join38(dir, entry.name);
22023
22207
  if (entry.isDirectory()) {
22024
22208
  visit(full);
22025
22209
  } else if (entry.isFile() && isAngularSourceFile(entry.name)) {
@@ -22031,13 +22215,13 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22031
22215
  return out;
22032
22216
  }, getStringPropertyValue = (obj, name) => {
22033
22217
  for (const prop of obj.properties) {
22034
- if (!ts14.isPropertyAssignment(prop))
22218
+ if (!ts15.isPropertyAssignment(prop))
22035
22219
  continue;
22036
- const propName = ts14.isIdentifier(prop.name) ? prop.name.text : ts14.isStringLiteral(prop.name) ? prop.name.text : null;
22220
+ const propName = ts15.isIdentifier(prop.name) ? prop.name.text : ts15.isStringLiteral(prop.name) ? prop.name.text : null;
22037
22221
  if (propName !== name)
22038
22222
  continue;
22039
22223
  const init = prop.initializer;
22040
- if (ts14.isStringLiteral(init) || ts14.isNoSubstitutionTemplateLiteral(init)) {
22224
+ if (ts15.isStringLiteral(init) || ts15.isNoSubstitutionTemplateLiteral(init)) {
22041
22225
  return init.text;
22042
22226
  }
22043
22227
  }
@@ -22045,16 +22229,16 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22045
22229
  }, getStringArrayProperty = (obj, name) => {
22046
22230
  const out = [];
22047
22231
  for (const prop of obj.properties) {
22048
- if (!ts14.isPropertyAssignment(prop))
22232
+ if (!ts15.isPropertyAssignment(prop))
22049
22233
  continue;
22050
- const propName = ts14.isIdentifier(prop.name) ? prop.name.text : ts14.isStringLiteral(prop.name) ? prop.name.text : null;
22234
+ const propName = ts15.isIdentifier(prop.name) ? prop.name.text : ts15.isStringLiteral(prop.name) ? prop.name.text : null;
22051
22235
  if (propName !== name)
22052
22236
  continue;
22053
22237
  const init = prop.initializer;
22054
- if (!ts14.isArrayLiteralExpression(init))
22238
+ if (!ts15.isArrayLiteralExpression(init))
22055
22239
  continue;
22056
22240
  for (const element of init.elements) {
22057
- if (ts14.isStringLiteral(element) || ts14.isNoSubstitutionTemplateLiteral(element)) {
22241
+ if (ts15.isStringLiteral(element) || ts15.isNoSubstitutionTemplateLiteral(element)) {
22058
22242
  out.push(element.text);
22059
22243
  }
22060
22244
  }
@@ -22063,31 +22247,31 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22063
22247
  }, parseDecoratedClasses = (filePath) => {
22064
22248
  let source;
22065
22249
  try {
22066
- source = readFileSync23(filePath, "utf8");
22250
+ source = readFileSync25(filePath, "utf8");
22067
22251
  } catch {
22068
22252
  return [];
22069
22253
  }
22070
- const sourceFile = ts14.createSourceFile(filePath, source, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
22254
+ const sourceFile = ts15.createSourceFile(filePath, source, ts15.ScriptTarget.ES2022, true, ts15.ScriptKind.TS);
22071
22255
  const out = [];
22072
22256
  const visit = (node) => {
22073
- if (ts14.isClassDeclaration(node) && node.name) {
22074
- for (const decorator of ts14.getDecorators(node) ?? []) {
22257
+ if (ts15.isClassDeclaration(node) && node.name) {
22258
+ for (const decorator of ts15.getDecorators(node) ?? []) {
22075
22259
  const expr = decorator.expression;
22076
- if (!ts14.isCallExpression(expr))
22260
+ if (!ts15.isCallExpression(expr))
22077
22261
  continue;
22078
22262
  const fn2 = expr.expression;
22079
- if (!ts14.isIdentifier(fn2))
22263
+ if (!ts15.isIdentifier(fn2))
22080
22264
  continue;
22081
22265
  const kind = ENTITY_DECORATORS[fn2.text];
22082
22266
  if (!kind)
22083
22267
  continue;
22084
22268
  let extendsName = null;
22085
22269
  for (const heritage of node.heritageClauses ?? []) {
22086
- if (heritage.token !== ts14.SyntaxKind.ExtendsKeyword) {
22270
+ if (heritage.token !== ts15.SyntaxKind.ExtendsKeyword) {
22087
22271
  continue;
22088
22272
  }
22089
22273
  const first = heritage.types[0];
22090
- if (first && ts14.isIdentifier(first.expression)) {
22274
+ if (first && ts15.isIdentifier(first.expression)) {
22091
22275
  extendsName = first.expression.text;
22092
22276
  }
22093
22277
  break;
@@ -22100,7 +22284,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22100
22284
  extendsName
22101
22285
  };
22102
22286
  const arg = expr.arguments[0];
22103
- if (arg && ts14.isObjectLiteralExpression(arg) && kind === "component") {
22287
+ if (arg && ts15.isObjectLiteralExpression(arg) && kind === "component") {
22104
22288
  const tplUrl = getStringPropertyValue(arg, "templateUrl");
22105
22289
  if (tplUrl)
22106
22290
  entry.templateUrls.push(tplUrl);
@@ -22113,7 +22297,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22113
22297
  break;
22114
22298
  }
22115
22299
  }
22116
- ts14.forEachChild(node, visit);
22300
+ ts15.forEachChild(node, visit);
22117
22301
  };
22118
22302
  visit(sourceFile);
22119
22303
  return out;
@@ -22153,16 +22337,16 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22153
22337
  }, indexByRoot, resolveParentClassFile = (parentName, childFilePath, angularRoot) => {
22154
22338
  let source;
22155
22339
  try {
22156
- source = readFileSync23(childFilePath, "utf8");
22340
+ source = readFileSync25(childFilePath, "utf8");
22157
22341
  } catch {
22158
22342
  return null;
22159
22343
  }
22160
- const sf = ts14.createSourceFile(childFilePath, source, ts14.ScriptTarget.ES2022, true, ts14.ScriptKind.TS);
22344
+ const sf = ts15.createSourceFile(childFilePath, source, ts15.ScriptTarget.ES2022, true, ts15.ScriptKind.TS);
22161
22345
  const childDir = dirname21(childFilePath);
22162
22346
  for (const stmt of sf.statements) {
22163
- if (!ts14.isImportDeclaration(stmt))
22347
+ if (!ts15.isImportDeclaration(stmt))
22164
22348
  continue;
22165
- if (!ts14.isStringLiteral(stmt.moduleSpecifier))
22349
+ if (!ts15.isStringLiteral(stmt.moduleSpecifier))
22166
22350
  continue;
22167
22351
  const clause = stmt.importClause;
22168
22352
  if (!clause || clause.isTypeOnly)
@@ -22170,7 +22354,7 @@ var ENTITY_DECORATORS, isAngularSourceFile = (file4) => file4.endsWith(".ts") ||
22170
22354
  let matchesName = false;
22171
22355
  if (clause.name && clause.name.text === parentName)
22172
22356
  matchesName = true;
22173
- if (!matchesName && clause.namedBindings && ts14.isNamedImports(clause.namedBindings)) {
22357
+ if (!matchesName && clause.namedBindings && ts15.isNamedImports(clause.namedBindings)) {
22174
22358
  for (const el of clause.namedBindings.elements) {
22175
22359
  if (el.isTypeOnly)
22176
22360
  continue;
@@ -22520,8 +22704,8 @@ __export(exports_moduleServer, {
22520
22704
  createModuleServer: () => createModuleServer,
22521
22705
  SRC_URL_PREFIX: () => SRC_URL_PREFIX
22522
22706
  });
22523
- import { existsSync as existsSync31, readFileSync as readFileSync24, statSync as statSync6 } from "fs";
22524
- import { basename as basename12, dirname as dirname22, extname as extname10, join as join38, resolve as resolve36, relative as relative14 } from "path";
22707
+ import { existsSync as existsSync31, readFileSync as readFileSync26, statSync as statSync6 } from "fs";
22708
+ import { basename as basename12, dirname as dirname22, extname as extname10, join as join39, resolve as resolve36, relative as relative14 } from "path";
22525
22709
  var SRC_PREFIX = "/@src/", jsTranspiler2, tsTranspiler2, tsxTranspiler, TRANSPILABLE, ALL_EXPORTS_RE, STRING_CONTENTS_RE, preserveTypeExports = (originalSource, transpiled, valueExports) => {
22526
22710
  const codeOnly = originalSource.replace(STRING_CONTENTS_RE, '""');
22527
22711
  const allExports = [];
@@ -22593,9 +22777,9 @@ ${stubs}
22593
22777
  const subpath = isScoped ? parts.slice(2).join("/") : parts.slice(1).join("/");
22594
22778
  if (!subpath) {
22595
22779
  const pkgDir = resolve36(projectRoot, "node_modules", packageName ?? "");
22596
- const pkgJsonPath = join38(pkgDir, "package.json");
22780
+ const pkgJsonPath = join39(pkgDir, "package.json");
22597
22781
  if (existsSync31(pkgJsonPath)) {
22598
- const pkg = JSON.parse(readFileSync24(pkgJsonPath, "utf-8"));
22782
+ const pkg = JSON.parse(readFileSync26(pkgJsonPath, "utf-8"));
22599
22783
  const esmEntry = typeof pkg.module === "string" && pkg.module || typeof pkg.browser === "string" && pkg.browser;
22600
22784
  if (esmEntry) {
22601
22785
  const resolved = resolve36(pkgDir, esmEntry);
@@ -22696,7 +22880,7 @@ ${code}`;
22696
22880
  reactFastRefreshWarningEmitted = true;
22697
22881
  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.");
22698
22882
  }, transformReactFile = (filePath, projectRoot, rewriter) => {
22699
- const raw = readFileSync24(filePath, "utf-8");
22883
+ const raw = readFileSync26(filePath, "utf-8");
22700
22884
  const valueExports = tsxTranspiler.scan(raw).exports;
22701
22885
  let transpiled = reactTranspiler.transformSync(raw);
22702
22886
  transpiled = preserveTypeExports(raw, transpiled, valueExports);
@@ -22712,7 +22896,7 @@ ${transpiled}`;
22712
22896
  transpiled += buildIslandMetadataExports(raw);
22713
22897
  return rewriteImports(transpiled, filePath, projectRoot, rewriter);
22714
22898
  }, transformPlainFile = (filePath, projectRoot, rewriter, vueDir) => {
22715
- const raw = readFileSync24(filePath, "utf-8");
22899
+ const raw = readFileSync26(filePath, "utf-8");
22716
22900
  const ext = extname10(filePath);
22717
22901
  const isTS = ext === ".ts" || ext === ".tsx";
22718
22902
  const isTSX = ext === ".tsx" || ext === ".jsx";
@@ -22878,7 +23062,7 @@ ${code}`;
22878
23062
  ` + ` var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`);
22879
23063
  return code.replace(/import\.meta\.hot\.accept\(/g, "__hmr_accept(");
22880
23064
  }, transformSvelteFile = async (filePath, projectRoot, rewriter, stylePreprocessors) => {
22881
- const raw = readFileSync24(filePath, "utf-8");
23065
+ const raw = readFileSync26(filePath, "utf-8");
22882
23066
  if (!svelteCompiler) {
22883
23067
  svelteCompiler = await import("svelte/compiler");
22884
23068
  }
@@ -22940,7 +23124,7 @@ export default __script__;`;
22940
23124
  return `${cssInjection}
22941
23125
  ${code}`;
22942
23126
  }, transformVueFile = async (filePath, projectRoot, rewriter, vueDir, stylePreprocessors) => {
22943
- const rawSource = readFileSync24(filePath, "utf-8");
23127
+ const rawSource = readFileSync26(filePath, "utf-8");
22944
23128
  const raw = addAutoRouterSetupApp(rawSource);
22945
23129
  if (!vueCompiler) {
22946
23130
  vueCompiler = await import("@vue/compiler-sfc");
@@ -22995,7 +23179,7 @@ ${code}`;
22995
23179
  }
22996
23180
  });
22997
23181
  }, handleCssRequest = (filePath) => {
22998
- const raw = readFileSync24(filePath, "utf-8");
23182
+ const raw = readFileSync26(filePath, "utf-8");
22999
23183
  const escaped = raw.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$/g, "\\$");
23000
23184
  return [
23001
23185
  `const style = document.createElement('style');`,
@@ -23654,7 +23838,7 @@ var init_simpleHTMXHMR = () => {};
23654
23838
 
23655
23839
  // src/dev/rebuildTrigger.ts
23656
23840
  import { existsSync as existsSync32, rmSync as rmSync3 } from "fs";
23657
- import { basename as basename13, dirname as dirname24, join as join39, relative as relative16, resolve as resolve40, sep as sep4 } from "path";
23841
+ import { basename as basename13, dirname as dirname24, join as join40, relative as relative16, resolve as resolve40, sep as sep4 } from "path";
23658
23842
  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) => {
23659
23843
  if (!config.tailwind)
23660
23844
  return;
@@ -23771,8 +23955,8 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
23771
23955
  const relJs = `${rel.slice(0, -ext[0].length)}.js`;
23772
23956
  const generatedDir = getFrameworkGeneratedDir(framework, cwd2);
23773
23957
  for (const candidate of [
23774
- join39(generatedDir, relJs),
23775
- `${join39(generatedDir, relJs)}.map`
23958
+ join40(generatedDir, relJs),
23959
+ `${join40(generatedDir, relJs)}.map`
23776
23960
  ]) {
23777
23961
  try {
23778
23962
  rmSync3(candidate, { force: true });
@@ -24634,12 +24818,12 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24634
24818
  try {
24635
24819
  const { primeComponentFingerprint: primeComponentFingerprint2 } = await Promise.resolve().then(() => (init_fastHmrCompiler(), exports_fastHmrCompiler));
24636
24820
  const { readdir: readdir5 } = await import("fs/promises");
24637
- const { join: join40 } = await import("path");
24821
+ const { join: join41 } = await import("path");
24638
24822
  const walk = async (dir) => {
24639
24823
  const entries = await readdir5(dir, { withFileTypes: true });
24640
24824
  const files = [];
24641
24825
  for (const entry of entries) {
24642
- const full = join40(dir, entry.name);
24826
+ const full = join41(dir, entry.name);
24643
24827
  if (entry.isDirectory()) {
24644
24828
  files.push(...await walk(full));
24645
24829
  } else if (entry.isFile() && entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
@@ -24692,9 +24876,9 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
24692
24876
  const editedProvidersChain = providersImport && angularFiles.some((file4) => resolve40(file4) === resolve40(providersImport.absolutePath) || resolve40(file4).startsWith(`${resolve40(angularDir)}/`));
24693
24877
  const pageEntries = editedProvidersChain && initialPageEntries.length === 0 ? (() => {
24694
24878
  const allPages = [];
24695
- const { readdirSync: readdirSync7 } = __require("fs");
24879
+ const { readdirSync: readdirSync8 } = __require("fs");
24696
24880
  const walk = (dir) => {
24697
- for (const entry of readdirSync7(dir, {
24881
+ for (const entry of readdirSync8(dir, {
24698
24882
  withFileTypes: true
24699
24883
  })) {
24700
24884
  const full = resolve40(dir, entry.name);
@@ -25105,7 +25289,7 @@ var moduleServerPromise, getModuleServer = () => moduleServerPromise, runSequent
25105
25289
  const { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } = await compileVue2(vueFiles, vueDir, true, getStyleTransformConfig(state.config));
25106
25290
  const serverEntries = [...vueServerPaths];
25107
25291
  const clientEntries = [...vueIndexPaths, ...vueClientPaths];
25108
- const cssOutDir = join39(buildDir, state.resolvedPaths.assetsDir ? basename13(state.resolvedPaths.assetsDir) : "assets", "css");
25292
+ const cssOutDir = join40(buildDir, state.resolvedPaths.assetsDir ? basename13(state.resolvedPaths.assetsDir) : "assets", "css");
25109
25293
  const { serverRoot, serverOutDir } = await computeServerOutPaths(state.resolvedPaths, "vue");
25110
25294
  const [serverResult, clientResult, cssResult] = await Promise.all([
25111
25295
  serverEntries.length > 0 ? bunBuild9({
@@ -26120,7 +26304,7 @@ __export(exports_buildDepVendor, {
26120
26304
  buildDepVendor: () => buildDepVendor
26121
26305
  });
26122
26306
  import { mkdirSync as mkdirSync14 } from "fs";
26123
- import { join as join40 } from "path";
26307
+ import { join as join41 } from "path";
26124
26308
  import { rm as rm10 } from "fs/promises";
26125
26309
  var {build: bunBuild9, Glob: Glob10 } = globalThis.Bun;
26126
26310
  var toSafeFileName6 = (specifier) => {
@@ -26174,7 +26358,7 @@ var toSafeFileName6 = (specifier) => {
26174
26358
  framework: Array.from(framework).filter(isResolvable4)
26175
26359
  };
26176
26360
  }, collectTransitiveImports = async (specs, alreadyVendored, alreadyScanned) => {
26177
- const { readFileSync: readFileSync25 } = await import("fs");
26361
+ const { readFileSync: readFileSync27 } = await import("fs");
26178
26362
  const transpiler6 = new Bun.Transpiler({ loader: "js" });
26179
26363
  const newSpecs = new Set;
26180
26364
  for (const spec of specs) {
@@ -26189,7 +26373,7 @@ var toSafeFileName6 = (specifier) => {
26189
26373
  }
26190
26374
  let content;
26191
26375
  try {
26192
- content = readFileSync25(resolved, "utf-8");
26376
+ content = readFileSync27(resolved, "utf-8");
26193
26377
  } catch {
26194
26378
  continue;
26195
26379
  }
@@ -26231,7 +26415,7 @@ var toSafeFileName6 = (specifier) => {
26231
26415
  }), buildDepVendorPass = async (specifiers, vendorDir, tmpDir) => {
26232
26416
  const entries = await Promise.all(specifiers.map(async (specifier) => {
26233
26417
  const safeName = toSafeFileName6(specifier);
26234
- const entryPath = join40(tmpDir, `${safeName}.ts`);
26418
+ const entryPath = join41(tmpDir, `${safeName}.ts`);
26235
26419
  await Bun.write(entryPath, await generateVendorEntrySource(specifier));
26236
26420
  return { entryPath, specifier };
26237
26421
  }));
@@ -26292,9 +26476,9 @@ var toSafeFileName6 = (specifier) => {
26292
26476
  const { dep: initialSpecs, framework: frameworkRoots } = await scanBareImports(directories);
26293
26477
  if (initialSpecs.length === 0 && frameworkRoots.length === 0)
26294
26478
  return {};
26295
- const vendorDir = join40(buildDir, "vendor");
26479
+ const vendorDir = join41(buildDir, "vendor");
26296
26480
  mkdirSync14(vendorDir, { recursive: true });
26297
- const tmpDir = join40(buildDir, "_dep_vendor_tmp");
26481
+ const tmpDir = join41(buildDir, "_dep_vendor_tmp");
26298
26482
  mkdirSync14(tmpDir, { recursive: true });
26299
26483
  const allSpecs = new Set(initialSpecs);
26300
26484
  const alreadyScanned = new Set;
@@ -26806,5 +26990,5 @@ export {
26806
26990
  build
26807
26991
  };
26808
26992
 
26809
- //# debugId=4F18A2DD76FF7F8064756E2164756E21
26993
+ //# debugId=D5F157E27B971C2F64756E2164756E21
26810
26994
  //# sourceMappingURL=build.js.map