@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.
@@ -1815,16 +1815,39 @@ var init_islandSsr = __esm(() => {
1815
1815
  });
1816
1816
 
1817
1817
  // src/build/maskLiterals.ts
1818
- var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
1818
+ var SENTINEL, isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_AFTER_CHAR, REGEX_OK_AFTER_WORD, maskLiterals = (src) => {
1819
1819
  const n = src.length;
1820
1820
  const pieces = [];
1821
1821
  let out = "";
1822
1822
  let i = 0;
1823
1823
  let prevChar = "";
1824
1824
  let prevWord = "";
1825
+ let prevWasSpace = false;
1826
+ let wordBeforeParen = "";
1825
1827
  const mask = (text) => {
1826
1828
  out += SENTINEL + pieces.length + SENTINEL;
1827
1829
  pieces.push(text);
1830
+ prevChar = ")";
1831
+ prevWord = "";
1832
+ prevWasSpace = false;
1833
+ };
1834
+ const endOfString = (start) => {
1835
+ const q = src[start];
1836
+ let j = start + 1;
1837
+ while (j < n) {
1838
+ const c = src[j];
1839
+ if (c === "\\") {
1840
+ j += 2;
1841
+ continue;
1842
+ }
1843
+ if (c === q)
1844
+ return j + 1;
1845
+ if (c === `
1846
+ `)
1847
+ return j;
1848
+ j++;
1849
+ }
1850
+ return j;
1828
1851
  };
1829
1852
  const endOfInterp = (start) => {
1830
1853
  let j = start;
@@ -1880,24 +1903,6 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
1880
1903
  }
1881
1904
  return j;
1882
1905
  }
1883
- function endOfString(start) {
1884
- const q = src[start];
1885
- let j = start + 1;
1886
- while (j < n) {
1887
- const c = src[j];
1888
- if (c === "\\") {
1889
- j += 2;
1890
- continue;
1891
- }
1892
- if (c === q)
1893
- return j + 1;
1894
- if (c === `
1895
- `)
1896
- return j;
1897
- j++;
1898
- }
1899
- return j;
1900
- }
1901
1906
  const endOfRegex = (start) => {
1902
1907
  let j = start + 1;
1903
1908
  let inClass = false;
@@ -1935,8 +1940,6 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
1935
1940
  `)
1936
1941
  i++;
1937
1942
  mask(src.slice(s, i));
1938
- prevChar = "";
1939
- prevWord = "";
1940
1943
  continue;
1941
1944
  }
1942
1945
  if (c === "/" && c2 === "*") {
@@ -1954,16 +1957,20 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
1954
1957
  const end = endOfTemplate(i);
1955
1958
  mask(src.slice(i, end));
1956
1959
  i = end;
1957
- prevChar = "`";
1958
- prevWord = "";
1959
1960
  continue;
1960
1961
  }
1961
1962
  if (c === '"' || c === "'") {
1962
1963
  const end = endOfString(i);
1963
- out += src.slice(i, end);
1964
+ const isSpecifier = prevWord === "from" || prevWord === "import" || prevChar === "(" && (wordBeforeParen === "import" || wordBeforeParen === "require");
1965
+ if (isSpecifier) {
1966
+ out += src.slice(i, end);
1967
+ prevChar = '"';
1968
+ prevWord = "";
1969
+ prevWasSpace = false;
1970
+ } else {
1971
+ mask(src.slice(i, end));
1972
+ }
1964
1973
  i = end;
1965
- prevChar = '"';
1966
- prevWord = "";
1967
1974
  continue;
1968
1975
  }
1969
1976
  if (c === "/" && (prevChar === "" || REGEX_OK_AFTER_CHAR.has(prevChar) || REGEX_OK_AFTER_WORD.has(prevWord))) {
@@ -1971,25 +1978,36 @@ var SENTINEL = "\uE000", isIdentChar = (c) => /[A-Za-z0-9_$]/.test(c), REGEX_OK_
1971
1978
  if (end > 0) {
1972
1979
  out += src.slice(i, end);
1973
1980
  i = end;
1974
- prevChar = "/";
1981
+ prevChar = ")";
1975
1982
  prevWord = "";
1983
+ prevWasSpace = false;
1976
1984
  continue;
1977
1985
  }
1978
1986
  }
1979
1987
  out += c;
1980
1988
  i++;
1981
1989
  if (c === " " || c === "\t" || c === "\r" || c === `
1982
- `)
1990
+ `) {
1991
+ prevWasSpace = true;
1983
1992
  continue;
1984
- const wasIdent = isIdentChar(prevChar);
1993
+ }
1994
+ if (isIdentChar(c)) {
1995
+ const contiguous = isIdentChar(prevChar) && !prevWasSpace;
1996
+ prevWord = contiguous ? prevWord + c : c;
1997
+ } else {
1998
+ if (c === "(")
1999
+ wordBeforeParen = prevWord;
2000
+ prevWord = "";
2001
+ }
1985
2002
  prevChar = c;
1986
- prevWord = isIdentChar(c) ? wasIdent ? prevWord + c : c : "";
2003
+ prevWasSpace = false;
1987
2004
  }
1988
2005
  const restoreRegex = new RegExp(`${SENTINEL}(\\d+)${SENTINEL}`, "g");
1989
2006
  const restore = (rewritten) => rewritten.replace(restoreRegex, (_m, d) => pieces[Number(d)] ?? "");
1990
2007
  return { masked: out, restore };
1991
2008
  };
1992
2009
  var init_maskLiterals = __esm(() => {
2010
+ SENTINEL = String.fromCharCode(57344);
1993
2011
  REGEX_OK_AFTER_CHAR = new Set([
1994
2012
  "(",
1995
2013
  ",",
@@ -4518,5 +4536,5 @@ export {
4518
4536
  Island
4519
4537
  };
4520
4538
 
4521
- //# debugId=CE1E68F889BAF28D64756E2164756E21
4539
+ //# debugId=5D057DA7E1D729CF64756E2164756E21
4522
4540
  //# sourceMappingURL=index.js.map