@absolutejs/absolute 0.19.0-beta.1103 → 0.19.0-beta.1105

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/cli/index.js CHANGED
@@ -170608,7 +170608,7 @@ ${serverOutput}` : "Server failed to start for pre-rendering";
170608
170608
  var init_prerender = () => {};
170609
170609
 
170610
170610
  // src/build/maskLiterals.ts
170611
- var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
170611
+ var SENTINEL, RISKY_STRING_CONTENT, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
170612
170612
  const n = src.length;
170613
170613
  const pieces = [];
170614
170614
  let out = "";
@@ -170616,7 +170616,6 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
170616
170616
  let prevChar = "";
170617
170617
  let prevWord = "";
170618
170618
  let prevWasSpace = false;
170619
- let wordBeforeParen = "";
170620
170619
  const mask = (text) => {
170621
170620
  out += SENTINEL + pieces.length + SENTINEL;
170622
170621
  pieces.push(text);
@@ -170754,14 +170753,14 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
170754
170753
  }
170755
170754
  if (c === '"' || c === "'") {
170756
170755
  const end = endOfString(i);
170757
- const isSpecifier = prevWord === "from" || prevWord === "import" || prevChar === "(" && (wordBeforeParen === "import" || wordBeforeParen === "require");
170758
- if (isSpecifier) {
170759
- out += src.slice(i, end);
170756
+ const text = src.slice(i, end);
170757
+ if (RISKY_STRING_CONTENT.test(text)) {
170758
+ mask(text);
170759
+ } else {
170760
+ out += text;
170760
170761
  prevChar = '"';
170761
170762
  prevWord = "";
170762
170763
  prevWasSpace = false;
170763
- } else {
170764
- mask(src.slice(i, end));
170765
170764
  }
170766
170765
  i = end;
170767
170766
  continue;
@@ -170788,8 +170787,6 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
170788
170787
  const contiguous = isIdentChar(prevChar) && !prevWasSpace;
170789
170788
  prevWord = contiguous ? prevWord + c : c;
170790
170789
  } else {
170791
- if (c === "(")
170792
- wordBeforeParen = prevWord;
170793
170790
  prevWord = "";
170794
170791
  }
170795
170792
  prevChar = c;
@@ -170801,6 +170798,7 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
170801
170798
  };
170802
170799
  var init_maskLiterals = __esm(() => {
170803
170800
  SENTINEL = String.fromCharCode(57344);
170801
+ RISKY_STRING_CONTENT = /\b(?:from|import|require)\s*\(?\s*["'`]/;
170804
170802
  REGEX_OK_AFTER_CHAR = new Set([
170805
170803
  "(",
170806
170804
  ",",
package/dist/index.js CHANGED
@@ -7825,7 +7825,7 @@ var init_islandSsr = __esm(() => {
7825
7825
  });
7826
7826
 
7827
7827
  // src/build/maskLiterals.ts
7828
- var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
7828
+ var SENTINEL, RISKY_STRING_CONTENT, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
7829
7829
  const n = src.length;
7830
7830
  const pieces = [];
7831
7831
  let out = "";
@@ -7833,7 +7833,6 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
7833
7833
  let prevChar = "";
7834
7834
  let prevWord = "";
7835
7835
  let prevWasSpace = false;
7836
- let wordBeforeParen = "";
7837
7836
  const mask = (text) => {
7838
7837
  out += SENTINEL + pieces.length + SENTINEL;
7839
7838
  pieces.push(text);
@@ -7971,14 +7970,14 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
7971
7970
  }
7972
7971
  if (c === '"' || c === "'") {
7973
7972
  const end = endOfString(i);
7974
- const isSpecifier = prevWord === "from" || prevWord === "import" || prevChar === "(" && (wordBeforeParen === "import" || wordBeforeParen === "require");
7975
- if (isSpecifier) {
7976
- out += src.slice(i, end);
7973
+ const text = src.slice(i, end);
7974
+ if (RISKY_STRING_CONTENT.test(text)) {
7975
+ mask(text);
7976
+ } else {
7977
+ out += text;
7977
7978
  prevChar = '"';
7978
7979
  prevWord = "";
7979
7980
  prevWasSpace = false;
7980
- } else {
7981
- mask(src.slice(i, end));
7982
7981
  }
7983
7982
  i = end;
7984
7983
  continue;
@@ -8005,8 +8004,6 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
8005
8004
  const contiguous = isIdentChar(prevChar) && !prevWasSpace;
8006
8005
  prevWord = contiguous ? prevWord + c : c;
8007
8006
  } else {
8008
- if (c === "(")
8009
- wordBeforeParen = prevWord;
8010
8007
  prevWord = "";
8011
8008
  }
8012
8009
  prevChar = c;
@@ -8018,6 +8015,7 @@ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR,
8018
8015
  };
8019
8016
  var init_maskLiterals = __esm(() => {
8020
8017
  SENTINEL = String.fromCharCode(57344);
8018
+ RISKY_STRING_CONTENT = /\b(?:from|import|require)\s*\(?\s*["'`]/;
8021
8019
  REGEX_OK_AFTER_CHAR = new Set([
8022
8020
  "(",
8023
8021
  ",",
@@ -22578,21 +22576,29 @@ var escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), rewriter
22578
22576
  const fromRegex = new RegExp(`(from\\s*["'])(${alt})(["'])`, "g");
22579
22577
  const sideEffectRegex = new RegExp(`(import\\s*["'])(${alt})(["']\\s*;?)`, "g");
22580
22578
  const dynamicRegex = new RegExp(`(import\\s*\\(\\s*["'])(${alt})(["']\\s*\\))`, "g");
22579
+ const ph = `${SENTINEL}\\d+${SENTINEL}`;
22580
+ const gap = `(?:\\s|${ph}|/\\*${ph}\\*/|//${ph})*`;
22581
+ const sweepFromRegex = new RegExp(`(\\bfrom${gap}["'])(${alt})(["'])`, "g");
22582
+ const sweepSideEffectRegex = new RegExp(`(\\bimport${gap}["'])(${alt})(["'])`, "g");
22583
+ const sweepDynamicRegex = new RegExp(`(\\b(?:import|require)${gap}\\(${gap}["'])(${alt})(["'])`, "g");
22581
22584
  const rewriter = {
22582
22585
  dynamicRegex,
22583
22586
  fromRegex,
22584
22587
  lookup,
22585
- sideEffectRegex
22588
+ sideEffectRegex,
22589
+ sweepDynamicRegex,
22590
+ sweepFromRegex,
22591
+ sweepSideEffectRegex
22586
22592
  };
22587
22593
  rewriterCache.set(key, rewriter);
22588
22594
  return rewriter;
22595
+ }, makeReplacer = (rewriter) => (_match, prefix, specifier, suffix) => {
22596
+ const webPath = rewriter.lookup.get(specifier);
22597
+ if (!webPath)
22598
+ return _match;
22599
+ return `${prefix}${webPath}${suffix}`;
22589
22600
  }, applyAllReplacements = (content, rewriter) => {
22590
- const replacer = (_match, prefix, specifier, suffix) => {
22591
- const webPath = rewriter.lookup.get(specifier);
22592
- if (!webPath)
22593
- return _match;
22594
- return `${prefix}${webPath}${suffix}`;
22595
- };
22601
+ const replacer = makeReplacer(rewriter);
22596
22602
  rewriter.fromRegex.lastIndex = 0;
22597
22603
  rewriter.sideEffectRegex.lastIndex = 0;
22598
22604
  rewriter.dynamicRegex.lastIndex = 0;
@@ -22601,6 +22607,16 @@ var escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), rewriter
22601
22607
  result = result.replace(rewriter.sideEffectRegex, replacer);
22602
22608
  result = result.replace(rewriter.dynamicRegex, replacer);
22603
22609
  return result;
22610
+ }, applySweep = (content, rewriter) => {
22611
+ const replacer = makeReplacer(rewriter);
22612
+ rewriter.sweepFromRegex.lastIndex = 0;
22613
+ rewriter.sweepSideEffectRegex.lastIndex = 0;
22614
+ rewriter.sweepDynamicRegex.lastIndex = 0;
22615
+ let result = content;
22616
+ result = result.replace(rewriter.sweepFromRegex, replacer);
22617
+ result = result.replace(rewriter.sweepSideEffectRegex, replacer);
22618
+ result = result.replace(rewriter.sweepDynamicRegex, replacer);
22619
+ return result;
22604
22620
  }, REFRESH_STUBS, patchRefreshGlobals = async (outputPaths) => {
22605
22621
  const jsFiles = outputPaths.filter((path) => path.endsWith(".js"));
22606
22622
  await Promise.all(jsFiles.map(async (filePath) => {
@@ -22621,7 +22637,8 @@ var escapeRegex3 = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), rewriter
22621
22637
  const original = await Bun.file(filePath).text();
22622
22638
  const { masked, restore } = maskLiterals(original);
22623
22639
  const native = nativeRewriteImports(masked, replacements);
22624
- const content = restore(native ?? applyAllReplacements(masked, rewriter));
22640
+ const rewritten = native ?? applyAllReplacements(masked, rewriter);
22641
+ const content = restore(applySweep(rewritten, rewriter));
22625
22642
  if (content !== original) {
22626
22643
  await Bun.write(filePath, content);
22627
22644
  }
@@ -26696,6 +26713,13 @@ ${fields}
26696
26713
  }
26697
26714
  result += source.slice(lastIndex);
26698
26715
  return result;
26716
+ }, PROVIDERS_INJECTION_BLOCK_RE, readPreservedInjection = async (targetPath) => {
26717
+ try {
26718
+ const existing = await fs5.readFile(targetPath, "utf-8");
26719
+ return PROVIDERS_INJECTION_BLOCK_RE.exec(existing)?.[0] ?? "";
26720
+ } catch {
26721
+ return "";
26722
+ }
26699
26723
  }, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
26700
26724
  const entryPath = resolve25(inputPath);
26701
26725
  const allOutputs = [];
@@ -26853,8 +26877,9 @@ ${fields}
26853
26877
  const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey2) !== contentHash || !existsSync26(targetPath);
26854
26878
  if (shouldWriteFile) {
26855
26879
  const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
26880
+ const preservedInjection = await readPreservedInjection(targetPath);
26856
26881
  await fs5.mkdir(targetDir, { recursive: true });
26857
- await fs5.writeFile(targetPath, processedContent, "utf-8");
26882
+ await fs5.writeFile(targetPath, processedContent + preservedInjection, "utf-8");
26858
26883
  jitContentCache.set(cacheKey2, contentHash);
26859
26884
  }
26860
26885
  allOutputs.push(targetPath);
@@ -27240,6 +27265,7 @@ var init_compileAngular = __esm(() => {
27240
27265
  hmrClientPath5 = join34(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
27241
27266
  jitContentCache = new Map;
27242
27267
  wrapperOutputCache = new Map;
27268
+ PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
27243
27269
  });
27244
27270
 
27245
27271
  // src/dev/angular/hmrImportGenerator.ts
@@ -48317,5 +48343,5 @@ export {
48317
48343
  ANGULAR_INIT_TIMEOUT_MS
48318
48344
  };
48319
48345
 
48320
- //# debugId=D8FFE763B112EC2764756E2164756E21
48346
+ //# debugId=149F14089B95BC6964756E2164756E21
48321
48347
  //# sourceMappingURL=index.js.map