@vue/compiler-sfc 3.5.3 → 3.5.4

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.3
2
+ * @vue/compiler-sfc v3.5.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -7801,15 +7801,24 @@ function processRule(id, rule) {
7801
7801
  return;
7802
7802
  }
7803
7803
  processedRules.add(rule);
7804
+ let deep = false;
7805
+ let parent = rule.parent;
7806
+ while (parent && parent.type !== "root") {
7807
+ if (parent.__deep) {
7808
+ deep = true;
7809
+ break;
7810
+ }
7811
+ parent = parent.parent;
7812
+ }
7804
7813
  rule.selector = selectorParser$2((selectorRoot) => {
7805
7814
  selectorRoot.each((selector) => {
7806
- rewriteSelector(id, selector, selectorRoot);
7815
+ rewriteSelector(id, rule, selector, selectorRoot, deep);
7807
7816
  });
7808
7817
  }).processSync(rule.selector);
7809
7818
  }
7810
- function rewriteSelector(id, selector, selectorRoot, slotted = false) {
7819
+ function rewriteSelector(id, rule, selector, selectorRoot, deep, slotted = false) {
7811
7820
  let node = null;
7812
- let shouldInject = true;
7821
+ let shouldInject = !deep;
7813
7822
  selector.each((n) => {
7814
7823
  if (n.type === "combinator" && (n.value === ">>>" || n.value === "/deep/")) {
7815
7824
  n.value = " ";
@@ -7822,6 +7831,7 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
7822
7831
  if (n.type === "pseudo") {
7823
7832
  const { value } = n;
7824
7833
  if (value === ":deep" || value === "::v-deep") {
7834
+ rule.__deep = true;
7825
7835
  if (n.nodes.length) {
7826
7836
  let last = n;
7827
7837
  n.nodes[0].each((ss) => {
@@ -7853,10 +7863,11 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
7853
7863
  if (value === ":slotted" || value === "::v-slotted") {
7854
7864
  rewriteSelector(
7855
7865
  id,
7866
+ rule,
7856
7867
  n.nodes[0],
7857
7868
  selectorRoot,
7869
+ deep,
7858
7870
  true
7859
- /* slotted */
7860
7871
  );
7861
7872
  let last = n;
7862
7873
  n.nodes[0].each((ss) => {
@@ -7898,11 +7909,26 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
7898
7909
  node = n;
7899
7910
  }
7900
7911
  });
7912
+ if (rule.nodes.some((node2) => node2.type === "rule")) {
7913
+ const deep2 = rule.__deep;
7914
+ const decls = rule.nodes.filter((node2) => node2.type === "decl");
7915
+ if (!deep2 && decls.length) {
7916
+ for (const decl of decls) {
7917
+ rule.removeChild(decl);
7918
+ }
7919
+ const hostRule = new require$$0$1.Rule({
7920
+ nodes: decls,
7921
+ selector: "&"
7922
+ });
7923
+ rule.prepend(hostRule);
7924
+ }
7925
+ shouldInject = deep2;
7926
+ }
7901
7927
  if (node) {
7902
7928
  const { type, value } = node;
7903
7929
  if (type === "pseudo" && (value === ":is" || value === ":where")) {
7904
7930
  node.nodes.forEach(
7905
- (value2) => rewriteSelector(id, value2, selectorRoot, slotted)
7931
+ (value2) => rewriteSelector(id, rule, value2, selectorRoot, deep, slotted)
7906
7932
  );
7907
7933
  shouldInject = false;
7908
7934
  }
@@ -20856,7 +20882,7 @@ function isStaticNode(node) {
20856
20882
  return false;
20857
20883
  }
20858
20884
 
20859
- const version = "3.5.3";
20885
+ const version = "3.5.4";
20860
20886
  const parseCache = parseCache$1;
20861
20887
  const errorMessages = {
20862
20888
  ...CompilerDOM.errorMessages,
@@ -1,13 +1,14 @@
1
1
  /**
2
- * @vue/compiler-sfc v3.5.3
2
+ * @vue/compiler-sfc v3.5.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
6
  /*! #__NO_SIDE_EFFECTS__ */
7
7
  // @__NO_SIDE_EFFECTS__
8
- function makeMap(str, expectsLowerCase) {
9
- const set = new Set(str.split(","));
10
- return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);
8
+ function makeMap(str) {
9
+ const map = /* @__PURE__ */ Object.create(null);
10
+ for (const key of str.split(",")) map[key] = 1;
11
+ return (val) => val in map;
11
12
  }
12
13
 
13
14
  const EMPTY_OBJ = Object.freeze({}) ;
@@ -18468,10 +18469,8 @@ function createRootCodegen(root, context) {
18468
18469
  }
18469
18470
  } else if (children.length > 1) {
18470
18471
  let patchFlag = 64;
18471
- let patchFlagText = PatchFlagNames[64];
18472
18472
  if (children.filter((c) => c.type !== 3).length === 1) {
18473
18473
  patchFlag |= 2048;
18474
- patchFlagText += `, ${PatchFlagNames[2048]}`;
18475
18474
  }
18476
18475
  root.codegenNode = createVNodeCall(
18477
18476
  context,
@@ -23062,10 +23061,8 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
23062
23061
  return vnodeCall;
23063
23062
  } else {
23064
23063
  let patchFlag = 64;
23065
- let patchFlagText = PatchFlagNames[64];
23066
23064
  if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {
23067
23065
  patchFlag |= 2048;
23068
- patchFlagText += `, ${PatchFlagNames[2048]}`;
23069
23066
  }
23070
23067
  return createVNodeCall(
23071
23068
  context,
@@ -25064,10 +25061,7 @@ const isNonKeyModifier = /* @__PURE__ */ makeMap(
25064
25061
  `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`
25065
25062
  );
25066
25063
  const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
25067
- const isKeyboardEvent = /* @__PURE__ */ makeMap(
25068
- `onkeyup,onkeydown,onkeypress`,
25069
- true
25070
- );
25064
+ const isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);
25071
25065
  const resolveModifiers = (key, modifiers, context, loc) => {
25072
25066
  const keyModifiers = [];
25073
25067
  const nonKeyModifiers = [];
@@ -25079,7 +25073,7 @@ const resolveModifiers = (key, modifiers, context, loc) => {
25079
25073
  } else {
25080
25074
  if (maybeKeyModifier(modifier)) {
25081
25075
  if (isStaticExp(key)) {
25082
- if (isKeyboardEvent(key.content)) {
25076
+ if (isKeyboardEvent(key.content.toLowerCase())) {
25083
25077
  keyModifiers.push(modifier);
25084
25078
  } else {
25085
25079
  nonKeyModifiers.push(modifier);
@@ -25132,7 +25126,7 @@ const transformOn = (dir, node, context) => {
25132
25126
  ]);
25133
25127
  }
25134
25128
  if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard
25135
- (!isStaticExp(key) || isKeyboardEvent(key.content))) {
25129
+ (!isStaticExp(key) || isKeyboardEvent(key.content.toLowerCase()))) {
25136
25130
  handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [
25137
25131
  handlerExp,
25138
25132
  JSON.stringify(keyModifiers)
@@ -34070,7 +34064,7 @@ let Declaration$3 = declaration;
34070
34064
  let Node$1 = node$2;
34071
34065
  let { isClean: isClean$1, my: my$1 } = symbols;
34072
34066
 
34073
- let AtRule$4, parse$4, Root$6, Rule$4;
34067
+ let AtRule$4, parse$4, Root$6, Rule$5;
34074
34068
 
34075
34069
  function cleanSource(nodes) {
34076
34070
  return nodes.map(i => {
@@ -34264,7 +34258,7 @@ let Container$7 = class Container extends Node$1 {
34264
34258
  }
34265
34259
  nodes = [new Declaration$3(nodes)];
34266
34260
  } else if (nodes.selector || nodes.selectors) {
34267
- nodes = [new Rule$4(nodes)];
34261
+ nodes = [new Rule$5(nodes)];
34268
34262
  } else if (nodes.name) {
34269
34263
  nodes = [new AtRule$4(nodes)];
34270
34264
  } else if (nodes.text) {
@@ -34471,7 +34465,7 @@ Container$7.registerParse = dependant => {
34471
34465
  };
34472
34466
 
34473
34467
  Container$7.registerRule = dependant => {
34474
- Rule$4 = dependant;
34468
+ Rule$5 = dependant;
34475
34469
  };
34476
34470
 
34477
34471
  Container$7.registerAtRule = dependant => {
@@ -34490,7 +34484,7 @@ Container$7.rebuild = node => {
34490
34484
  if (node.type === 'atrule') {
34491
34485
  Object.setPrototypeOf(node, AtRule$4.prototype);
34492
34486
  } else if (node.type === 'rule') {
34493
- Object.setPrototypeOf(node, Rule$4.prototype);
34487
+ Object.setPrototypeOf(node, Rule$5.prototype);
34494
34488
  } else if (node.type === 'decl') {
34495
34489
  Object.setPrototypeOf(node, Declaration$3.prototype);
34496
34490
  } else if (node.type === 'comment') {
@@ -35098,7 +35092,7 @@ list$2.default = list$2;
35098
35092
  let Container$3 = container$1;
35099
35093
  let list$1 = list_1;
35100
35094
 
35101
- let Rule$3 = class Rule extends Container$3 {
35095
+ let Rule$4 = class Rule extends Container$3 {
35102
35096
  constructor(defaults) {
35103
35097
  super(defaults);
35104
35098
  this.type = 'rule';
@@ -35116,10 +35110,10 @@ let Rule$3 = class Rule extends Container$3 {
35116
35110
  }
35117
35111
  };
35118
35112
 
35119
- var rule = Rule$3;
35120
- Rule$3.default = Rule$3;
35113
+ var rule = Rule$4;
35114
+ Rule$4.default = Rule$4;
35121
35115
 
35122
- Container$3.registerRule(Rule$3);
35116
+ Container$3.registerRule(Rule$4);
35123
35117
 
35124
35118
  let AtRule$2 = atRule;
35125
35119
  let Comment$2 = comment$3;
@@ -35127,7 +35121,7 @@ let Declaration$2 = declaration;
35127
35121
  let Input$3 = input;
35128
35122
  let PreviousMap = previousMap;
35129
35123
  let Root$4 = root$2;
35130
- let Rule$2 = rule;
35124
+ let Rule$3 = rule;
35131
35125
 
35132
35126
  function fromJSON$1(json, inputs) {
35133
35127
  if (Array.isArray(json)) return json.map(n => fromJSON$1(n))
@@ -35161,7 +35155,7 @@ function fromJSON$1(json, inputs) {
35161
35155
  } else if (defaults.type === 'decl') {
35162
35156
  return new Declaration$2(defaults)
35163
35157
  } else if (defaults.type === 'rule') {
35164
- return new Rule$2(defaults)
35158
+ return new Rule$3(defaults)
35165
35159
  } else if (defaults.type === 'comment') {
35166
35160
  return new Comment$2(defaults)
35167
35161
  } else if (defaults.type === 'atrule') {
@@ -35545,7 +35539,7 @@ let AtRule$1 = atRule;
35545
35539
  let Comment$1 = comment$3;
35546
35540
  let Declaration$1 = declaration;
35547
35541
  let Root$3 = root$2;
35548
- let Rule$1 = rule;
35542
+ let Rule$2 = rule;
35549
35543
  let tokenizer = tokenize$1;
35550
35544
 
35551
35545
  const SAFE_COMMENT_NEIGHBOR = {
@@ -35847,7 +35841,7 @@ let Parser$1 = class Parser {
35847
35841
  }
35848
35842
 
35849
35843
  emptyRule(token) {
35850
- let node = new Rule$1();
35844
+ let node = new Rule$2();
35851
35845
  this.init(node, token[2]);
35852
35846
  node.selector = '';
35853
35847
  node.raws.between = '';
@@ -36057,7 +36051,7 @@ let Parser$1 = class Parser {
36057
36051
  rule(tokens) {
36058
36052
  tokens.pop();
36059
36053
 
36060
- let node = new Rule$1();
36054
+ let node = new Rule$2();
36061
36055
  this.init(node, tokens[0][2]);
36062
36056
 
36063
36057
  node.raws.between = this.spacesAndCommentsFromEnd(tokens);
@@ -37047,7 +37041,7 @@ let parse = parse_1;
37047
37041
  let Processor = processor$1;
37048
37042
  let Result = result;
37049
37043
  let Root = root$2;
37050
- let Rule = rule;
37044
+ let Rule$1 = rule;
37051
37045
  let stringify = stringify_1;
37052
37046
  let Warning = warning;
37053
37047
 
@@ -37109,7 +37103,7 @@ postcss.list = list;
37109
37103
  postcss.comment = defaults => new Comment(defaults);
37110
37104
  postcss.atRule = defaults => new AtRule(defaults);
37111
37105
  postcss.decl = defaults => new Declaration(defaults);
37112
- postcss.rule = defaults => new Rule(defaults);
37106
+ postcss.rule = defaults => new Rule$1(defaults);
37113
37107
  postcss.root = defaults => new Root(defaults);
37114
37108
  postcss.document = defaults => new Document(defaults);
37115
37109
 
@@ -37123,7 +37117,7 @@ postcss.Warning = Warning;
37123
37117
  postcss.AtRule = AtRule;
37124
37118
  postcss.Result = Result;
37125
37119
  postcss.Input = Input;
37126
- postcss.Rule = Rule;
37120
+ postcss.Rule = Rule$1;
37127
37121
  postcss.Root = Root;
37128
37122
  postcss.Node = Node;
37129
37123
 
@@ -37157,7 +37151,7 @@ postcss$1.Warning;
37157
37151
  postcss$1.AtRule;
37158
37152
  postcss$1.Result;
37159
37153
  postcss$1.Input;
37160
- postcss$1.Rule;
37154
+ const Rule = postcss$1.Rule;
37161
37155
  postcss$1.Root;
37162
37156
  postcss$1.Node;
37163
37157
 
@@ -40640,15 +40634,24 @@ function processRule(id, rule) {
40640
40634
  return;
40641
40635
  }
40642
40636
  processedRules.add(rule);
40637
+ let deep = false;
40638
+ let parent = rule.parent;
40639
+ while (parent && parent.type !== "root") {
40640
+ if (parent.__deep) {
40641
+ deep = true;
40642
+ break;
40643
+ }
40644
+ parent = parent.parent;
40645
+ }
40643
40646
  rule.selector = selectorParser((selectorRoot) => {
40644
40647
  selectorRoot.each((selector) => {
40645
- rewriteSelector(id, selector, selectorRoot);
40648
+ rewriteSelector(id, rule, selector, selectorRoot, deep);
40646
40649
  });
40647
40650
  }).processSync(rule.selector);
40648
40651
  }
40649
- function rewriteSelector(id, selector, selectorRoot, slotted = false) {
40652
+ function rewriteSelector(id, rule, selector, selectorRoot, deep, slotted = false) {
40650
40653
  let node = null;
40651
- let shouldInject = true;
40654
+ let shouldInject = !deep;
40652
40655
  selector.each((n) => {
40653
40656
  if (n.type === "combinator" && (n.value === ">>>" || n.value === "/deep/")) {
40654
40657
  n.value = " ";
@@ -40661,6 +40664,7 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
40661
40664
  if (n.type === "pseudo") {
40662
40665
  const { value } = n;
40663
40666
  if (value === ":deep" || value === "::v-deep") {
40667
+ rule.__deep = true;
40664
40668
  if (n.nodes.length) {
40665
40669
  let last = n;
40666
40670
  n.nodes[0].each((ss) => {
@@ -40692,10 +40696,11 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
40692
40696
  if (value === ":slotted" || value === "::v-slotted") {
40693
40697
  rewriteSelector(
40694
40698
  id,
40699
+ rule,
40695
40700
  n.nodes[0],
40696
40701
  selectorRoot,
40702
+ deep,
40697
40703
  true
40698
- /* slotted */
40699
40704
  );
40700
40705
  let last = n;
40701
40706
  n.nodes[0].each((ss) => {
@@ -40737,11 +40742,26 @@ function rewriteSelector(id, selector, selectorRoot, slotted = false) {
40737
40742
  node = n;
40738
40743
  }
40739
40744
  });
40745
+ if (rule.nodes.some((node2) => node2.type === "rule")) {
40746
+ const deep2 = rule.__deep;
40747
+ const decls = rule.nodes.filter((node2) => node2.type === "decl");
40748
+ if (!deep2 && decls.length) {
40749
+ for (const decl of decls) {
40750
+ rule.removeChild(decl);
40751
+ }
40752
+ const hostRule = new Rule({
40753
+ nodes: decls,
40754
+ selector: "&"
40755
+ });
40756
+ rule.prepend(hostRule);
40757
+ }
40758
+ shouldInject = deep2;
40759
+ }
40740
40760
  if (node) {
40741
40761
  const { type, value } = node;
40742
40762
  if (type === "pseudo" && (value === ":is" || value === ":where")) {
40743
40763
  node.nodes.forEach(
40744
- (value2) => rewriteSelector(id, value2, selectorRoot, slotted)
40764
+ (value2) => rewriteSelector(id, rule, value2, selectorRoot, deep, slotted)
40745
40765
  );
40746
40766
  shouldInject = false;
40747
40767
  }
@@ -48891,7 +48911,7 @@ var __spreadValues = (a, b) => {
48891
48911
  }
48892
48912
  return a;
48893
48913
  };
48894
- const version = "3.5.3";
48914
+ const version = "3.5.4";
48895
48915
  const parseCache = parseCache$1;
48896
48916
  const errorMessages = __spreadValues(__spreadValues({}, errorMessages$1), DOMErrorMessages);
48897
48917
  const walk = walk$2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/compiler-sfc",
3
- "version": "3.5.3",
3
+ "version": "3.5.4",
4
4
  "description": "@vue/compiler-sfc",
5
5
  "main": "dist/compiler-sfc.cjs.js",
6
6
  "module": "dist/compiler-sfc.esm-browser.js",
@@ -47,10 +47,10 @@
47
47
  "magic-string": "^0.30.11",
48
48
  "postcss": "^8.4.44",
49
49
  "source-map-js": "^1.2.0",
50
- "@vue/compiler-core": "3.5.3",
51
- "@vue/compiler-dom": "3.5.3",
52
- "@vue/compiler-ssr": "3.5.3",
53
- "@vue/shared": "3.5.3"
50
+ "@vue/compiler-core": "3.5.4",
51
+ "@vue/compiler-dom": "3.5.4",
52
+ "@vue/compiler-ssr": "3.5.4",
53
+ "@vue/shared": "3.5.4"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@babel/types": "^7.25.2",
@@ -62,6 +62,6 @@
62
62
  "postcss-modules": "^6.0.0",
63
63
  "postcss-selector-parser": "^6.1.2",
64
64
  "pug": "^3.0.3",
65
- "sass": "^1.77.8"
65
+ "sass": "^1.78.0"
66
66
  }
67
67
  }