@vue/compiler-sfc 3.5.34 → 3.5.35

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-sfc v3.5.34
2
+ * @vue/compiler-sfc v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -23291,15 +23291,18 @@ function loadTSConfig(configPath, ts2, fs, visited = /* @__PURE__ */ new Set())
23291
23291
  return res;
23292
23292
  }
23293
23293
  const fileToScopeCache = createCache();
23294
+ const fileToGlobalScopeCache = createCache();
23294
23295
  function invalidateTypeCache(filename) {
23295
23296
  filename = normalizePath(filename);
23296
23297
  fileToScopeCache.delete(filename);
23298
+ fileToGlobalScopeCache.delete(filename);
23297
23299
  tsConfigCache.delete(filename);
23298
23300
  const affectedConfig = tsConfigRefMap.get(filename);
23299
23301
  if (affectedConfig) tsConfigCache.delete(affectedConfig);
23300
23302
  }
23301
23303
  function fileToScope(ctx, filename, asGlobal = false) {
23302
- const cached = fileToScopeCache.get(filename);
23304
+ const cache = asGlobal ? fileToGlobalScopeCache : fileToScopeCache;
23305
+ const cached = cache.get(filename);
23303
23306
  if (cached) {
23304
23307
  return cached;
23305
23308
  }
@@ -23308,7 +23311,7 @@ function fileToScope(ctx, filename, asGlobal = false) {
23308
23311
  const body = parseFile(filename, source, fs, ctx.options.babelParserPlugins);
23309
23312
  const scope = new TypeScope(filename, source, 0, recordImports(body));
23310
23313
  recordTypes(ctx, body, scope, asGlobal);
23311
- fileToScopeCache.set(filename, scope);
23314
+ cache.set(filename, scope);
23312
23315
  return scope;
23313
23316
  }
23314
23317
  function parseFile(filename, content, fs, parserPlugins) {
@@ -25760,7 +25763,7 @@ function mergeSourceMaps(scriptMap, templateMap, templateLineOffset) {
25760
25763
  return generator.toJSON();
25761
25764
  }
25762
25765
 
25763
- const version = "3.5.34";
25766
+ const version = "3.5.35";
25764
25767
  const parseCache = parseCache$1;
25765
25768
  const errorMessages = {
25766
25769
  ...CompilerDOM.errorMessages,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-sfc v3.5.34
2
+ * @vue/compiler-sfc v3.5.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -26002,24 +26002,16 @@ const transformFor = createStructuralDirectiveTransform(
26002
26002
  const keyProp = findProp(node, `key`, false, true);
26003
26003
  const isDirKey = keyProp && keyProp.type === 7;
26004
26004
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
26005
- if (memo && keyExp && isDirKey) {
26006
- {
26007
- keyProp.exp = keyExp = processExpression(
26008
- keyExp,
26009
- context
26010
- );
26011
- }
26012
- }
26013
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
26014
- if (isTemplate) {
26015
- if (memo) {
26005
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
26006
+ {
26007
+ if (isTemplate && memo) {
26016
26008
  memo.exp = processExpression(
26017
26009
  memo.exp,
26018
26010
  context
26019
26011
  );
26020
26012
  }
26021
- if (keyProperty && keyProp.type !== 6) {
26022
- keyProperty.value = processExpression(
26013
+ if ((isTemplate || memo) && keyProperty && isDirKey) {
26014
+ keyExp = keyProp.exp = keyProperty.value = processExpression(
26023
26015
  keyProperty.value,
26024
26016
  context
26025
26017
  );
@@ -36877,6 +36869,12 @@ function requireParser$1 () {
36877
36869
  }
36878
36870
  }
36879
36871
 
36872
+ function tokensToString(tokens, from, to) {
36873
+ let result = '';
36874
+ for (let i = from; i < to; i++) result += tokens[i][1];
36875
+ return result
36876
+ }
36877
+
36880
36878
  class Parser {
36881
36879
  constructor(input) {
36882
36880
  this.input = input;
@@ -36989,9 +36987,10 @@ function requireParser$1 () {
36989
36987
  if (founded === 2) break
36990
36988
  }
36991
36989
  }
36992
- // If the token is a word, e.g. `!important`, `red` or any other valid property's value.
36993
- // Then we need to return the colon after that word token. [3] is the "end" colon of that word.
36994
- // And because we need it after that one we do +1 to get the next one.
36990
+ // If the token is a word, e.g. `!important`, `red` or any other valid
36991
+ // property's value. Then we need to return the colon after that word
36992
+ // token. [3] is the "end" colon of that word. And because we need it
36993
+ // after that one we do +1 to get the next one.
36995
36994
  throw this.input.error(
36996
36995
  'Missed semicolon',
36997
36996
  token[0] === 'word' ? token[3] + 1 : token[2]
@@ -37064,50 +37063,50 @@ function requireParser$1 () {
37064
37063
  );
37065
37064
  node.source.end.offset++;
37066
37065
 
37067
- while (tokens[0][0] !== 'word') {
37068
- if (tokens.length === 1) this.unknownWord(tokens);
37069
- node.raws.before += tokens.shift()[1];
37066
+ let start = 0;
37067
+ while (tokens[start][0] !== 'word') {
37068
+ if (start === tokens.length - 1) this.unknownWord([tokens[start]]);
37069
+ start++;
37070
37070
  }
37071
- node.source.start = this.getPosition(tokens[0][2]);
37071
+ node.raws.before += tokensToString(tokens, 0, start);
37072
+ node.source.start = this.getPosition(tokens[start][2]);
37072
37073
 
37073
- node.prop = '';
37074
- while (tokens.length) {
37075
- let type = tokens[0][0];
37074
+ let propStart = start;
37075
+ while (start < tokens.length) {
37076
+ let type = tokens[start][0];
37076
37077
  if (type === ':' || type === 'space' || type === 'comment') {
37077
37078
  break
37078
37079
  }
37079
- node.prop += tokens.shift()[1];
37080
+ start++;
37080
37081
  }
37082
+ node.prop = tokensToString(tokens, propStart, start);
37081
37083
 
37082
- node.raws.between = '';
37083
-
37084
+ let betweenStart = start;
37084
37085
  let token;
37085
- while (tokens.length) {
37086
- token = tokens.shift();
37087
-
37088
- if (token[0] === ':') {
37089
- node.raws.between += token[1];
37090
- break
37091
- } else {
37092
- if (token[0] === 'word' && /\w/.test(token[1])) {
37093
- this.unknownWord([token]);
37094
- }
37095
- node.raws.between += token[1];
37086
+ while (start < tokens.length) {
37087
+ token = tokens[start];
37088
+ start++;
37089
+ if (token[0] === ':') break
37090
+ if (token[0] === 'word' && /\w/.test(token[1])) {
37091
+ this.unknownWord([token]);
37096
37092
  }
37097
37093
  }
37094
+ node.raws.between = tokensToString(tokens, betweenStart, start);
37098
37095
 
37099
37096
  if (node.prop[0] === '_' || node.prop[0] === '*') {
37100
37097
  node.raws.before += node.prop[0];
37101
37098
  node.prop = node.prop.slice(1);
37102
37099
  }
37103
37100
 
37104
- let firstSpaces = [];
37105
- let next;
37106
- while (tokens.length) {
37107
- next = tokens[0][0];
37101
+ let firstSpacesStart = start;
37102
+ while (start < tokens.length) {
37103
+ let next = tokens[start][0];
37108
37104
  if (next !== 'space' && next !== 'comment') break
37109
- firstSpaces.push(tokens.shift());
37105
+ start++;
37110
37106
  }
37107
+ let firstSpaces = tokens.slice(firstSpacesStart, start);
37108
+
37109
+ tokens = tokens.slice(start);
37111
37110
 
37112
37111
  this.precheckMissedSemicolon(tokens);
37113
37112
 
@@ -38366,7 +38365,7 @@ function requireProcessor$1 () {
38366
38365
 
38367
38366
  class Processor {
38368
38367
  constructor(plugins = []) {
38369
- this.version = '8.5.14';
38368
+ this.version = '8.5.15';
38370
38369
  this.plugins = this.normalize(plugins);
38371
38370
  }
38372
38371
 
@@ -48577,15 +48576,18 @@ function resolveWithTS(containingFile, source, ts2, fs) {
48577
48576
  return;
48578
48577
  }
48579
48578
  const fileToScopeCache = createCache();
48579
+ const fileToGlobalScopeCache = createCache();
48580
48580
  function invalidateTypeCache(filename) {
48581
48581
  filename = normalizePath(filename);
48582
48582
  fileToScopeCache.delete(filename);
48583
+ fileToGlobalScopeCache.delete(filename);
48583
48584
  tsConfigCache.delete(filename);
48584
48585
  const affectedConfig = tsConfigRefMap.get(filename);
48585
48586
  if (affectedConfig) tsConfigCache.delete(affectedConfig);
48586
48587
  }
48587
48588
  function fileToScope(ctx, filename, asGlobal = false) {
48588
- const cached = fileToScopeCache.get(filename);
48589
+ const cache = asGlobal ? fileToGlobalScopeCache : fileToScopeCache;
48590
+ const cached = cache.get(filename);
48589
48591
  if (cached) {
48590
48592
  return cached;
48591
48593
  }
@@ -48594,7 +48596,7 @@ function fileToScope(ctx, filename, asGlobal = false) {
48594
48596
  const body = parseFile(filename, source, fs, ctx.options.babelParserPlugins);
48595
48597
  const scope = new TypeScope(filename, source, 0, recordImports(body));
48596
48598
  recordTypes(ctx, body, scope, asGlobal);
48597
- fileToScopeCache.set(filename, scope);
48599
+ cache.set(filename, scope);
48598
48600
  return scope;
48599
48601
  }
48600
48602
  function parseFile(filename, content, fs, parserPlugins) {
@@ -51076,7 +51078,7 @@ var __spreadValues = (a, b) => {
51076
51078
  }
51077
51079
  return a;
51078
51080
  };
51079
- const version = "3.5.34";
51081
+ const version = "3.5.35";
51080
51082
  const parseCache = parseCache$1;
51081
51083
  const errorMessages = __spreadValues(__spreadValues({}, errorMessages$1), DOMErrorMessages);
51082
51084
  const walk = walk$2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/compiler-sfc",
3
- "version": "3.5.34",
3
+ "version": "3.5.35",
4
4
  "description": "@vue/compiler-sfc",
5
5
  "main": "dist/compiler-sfc.cjs.js",
6
6
  "module": "dist/compiler-sfc.esm-browser.js",
@@ -45,12 +45,12 @@
45
45
  "@babel/parser": "^7.29.3",
46
46
  "estree-walker": "^2.0.2",
47
47
  "magic-string": "^0.30.21",
48
- "postcss": "^8.5.14",
48
+ "postcss": "^8.5.15",
49
49
  "source-map-js": "^1.2.1",
50
- "@vue/compiler-ssr": "3.5.34",
51
- "@vue/shared": "3.5.34",
52
- "@vue/compiler-core": "3.5.34",
53
- "@vue/compiler-dom": "3.5.34"
50
+ "@vue/compiler-core": "3.5.35",
51
+ "@vue/compiler-dom": "3.5.35",
52
+ "@vue/shared": "3.5.35",
53
+ "@vue/compiler-ssr": "3.5.35"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@babel/types": "^7.29.0",
@@ -62,6 +62,6 @@
62
62
  "postcss-modules": "^6.0.1",
63
63
  "postcss-selector-parser": "^7.1.1",
64
64
  "pug": "^3.0.4",
65
- "sass": "^1.99.0"
65
+ "sass": "^1.100.0"
66
66
  }
67
67
  }