@absolutejs/absolute 0.19.0-beta.1078 → 0.19.0-beta.1079

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.
@@ -740,16 +740,39 @@ var init_islandSsr = __esm(() => {
740
740
  });
741
741
 
742
742
  // src/build/maskLiterals.ts
743
- var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
743
+ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
744
744
  const n = src.length;
745
745
  const pieces = [];
746
746
  let out = "";
747
747
  let i = 0;
748
748
  let prevChar = "";
749
749
  let prevWord = "";
750
+ let prevWasSpace = false;
751
+ let wordBeforeParen = "";
750
752
  const mask = (text) => {
751
753
  out += SENTINEL + pieces.length + SENTINEL;
752
754
  pieces.push(text);
755
+ prevChar = ")";
756
+ prevWord = "";
757
+ prevWasSpace = false;
758
+ };
759
+ const endOfString = (start) => {
760
+ const q = src[start];
761
+ let j = start + 1;
762
+ while (j < n) {
763
+ const c = src[j];
764
+ if (c === "\\") {
765
+ j += 2;
766
+ continue;
767
+ }
768
+ if (c === q)
769
+ return j + 1;
770
+ if (c === `
771
+ `)
772
+ return j;
773
+ j++;
774
+ }
775
+ return j;
753
776
  };
754
777
  const endOfInterp = (start) => {
755
778
  let j = start;
@@ -805,24 +828,6 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
805
828
  }
806
829
  return j;
807
830
  }
808
- function endOfString(start) {
809
- const q = src[start];
810
- let j = start + 1;
811
- while (j < n) {
812
- const c = src[j];
813
- if (c === "\\") {
814
- j += 2;
815
- continue;
816
- }
817
- if (c === q)
818
- return j + 1;
819
- if (c === `
820
- `)
821
- return j;
822
- j++;
823
- }
824
- return j;
825
- }
826
831
  const endOfRegex = (start) => {
827
832
  let j = start + 1;
828
833
  let inClass = false;
@@ -860,8 +865,6 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
860
865
  `)
861
866
  i++;
862
867
  mask(src.slice(s, i));
863
- prevChar = "";
864
- prevWord = "";
865
868
  continue;
866
869
  }
867
870
  if (c === "/" && c2 === "*") {
@@ -879,16 +882,20 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
879
882
  const end = endOfTemplate(i);
880
883
  mask(src.slice(i, end));
881
884
  i = end;
882
- prevChar = "`";
883
- prevWord = "";
884
885
  continue;
885
886
  }
886
887
  if (c === '"' || c === "'") {
887
888
  const end = endOfString(i);
888
- out += src.slice(i, end);
889
+ const isSpecifier = prevWord === "from" || prevWord === "import" || prevChar === "(" && (wordBeforeParen === "import" || wordBeforeParen === "require");
890
+ if (isSpecifier) {
891
+ out += src.slice(i, end);
892
+ prevChar = '"';
893
+ prevWord = "";
894
+ prevWasSpace = false;
895
+ } else {
896
+ mask(src.slice(i, end));
897
+ }
889
898
  i = end;
890
- prevChar = '"';
891
- prevWord = "";
892
899
  continue;
893
900
  }
894
901
  if (c === "/" && (prevChar === "" || REGEX_OK_AFTER_CHAR.has(prevChar) || REGEX_OK_AFTER_WORD.has(prevWord))) {
@@ -896,25 +903,36 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
896
903
  if (end > 0) {
897
904
  out += src.slice(i, end);
898
905
  i = end;
899
- prevChar = "/";
906
+ prevChar = ")";
900
907
  prevWord = "";
908
+ prevWasSpace = false;
901
909
  continue;
902
910
  }
903
911
  }
904
912
  out += c;
905
913
  i++;
906
914
  if (c === " " || c === "\t" || c === "\r" || c === `
907
- `)
915
+ `) {
916
+ prevWasSpace = true;
908
917
  continue;
909
- const wasIdent = isIdentChar(prevChar);
918
+ }
919
+ if (isIdentChar(c)) {
920
+ const contiguous = isIdentChar(prevChar) && !prevWasSpace;
921
+ prevWord = contiguous ? prevWord + c : c;
922
+ } else {
923
+ if (c === "(")
924
+ wordBeforeParen = prevWord;
925
+ prevWord = "";
926
+ }
910
927
  prevChar = c;
911
- prevWord = isIdentChar(c) ? wasIdent ? prevWord + c : c : "";
928
+ prevWasSpace = false;
912
929
  }
913
930
  const restoreRegex = new RegExp(`${SENTINEL}(\\d+)${SENTINEL}`, "g");
914
931
  const restore = (rewritten) => rewritten.replace(restoreRegex, (_m, d) => pieces[Number(d)] ?? "");
915
932
  return { masked: out, restore };
916
933
  };
917
934
  var init_maskLiterals = __esm(() => {
935
+ SENTINEL = String.fromCharCode(57344);
918
936
  REGEX_OK_AFTER_CHAR = new Set([
919
937
  "(",
920
938
  ",",
@@ -2630,5 +2648,5 @@ export {
2630
2648
  createIslandStore
2631
2649
  };
2632
2650
 
2633
- //# debugId=13A56E0BA5C32D4664756E2164756E21
2651
+ //# debugId=A4E68C081DF3970564756E2164756E21
2634
2652
  //# sourceMappingURL=index.js.map