@absolutejs/absolute 0.19.0-beta.1104 → 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
  }
@@ -48326,5 +48343,5 @@ export {
48326
48343
  ANGULAR_INIT_TIMEOUT_MS
48327
48344
  };
48328
48345
 
48329
- //# debugId=76B5B89ABE03384164756E2164756E21
48346
+ //# debugId=149F14089B95BC6964756E2164756E21
48330
48347
  //# sourceMappingURL=index.js.map