@projectwallace/css-layer-tree 2.1.2 → 2.1.3

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.
Files changed (2) hide show
  1. package/dist/index.mjs +12 -10
  2. package/package.json +3 -3
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AT_RULE, LAYER_NAME, parse, traverse } from "@projectwallace/css-parser";
1
+ import { is_atrule, is_atrule_prelude, is_layer_name, parse, traverse } from "@projectwallace/css-parser";
2
2
  //#region src/TreeNode.ts
3
3
  var LayerTreeNode = class LayerTreeNode {
4
4
  name;
@@ -57,8 +57,8 @@ function layer_tree_from_ast(ast) {
57
57
  }
58
58
  traverse(ast, {
59
59
  enter(node) {
60
- if (node.type !== AT_RULE) return;
61
- if (node.name === "layer") if (node.prelude) {
60
+ if (!is_atrule(node)) return;
61
+ if (node.name === "layer") if (node.has_prelude) {
62
62
  let groups = node.prelude.text.split(",").map((s) => s.trim());
63
63
  if (!node.has_block) for (let name of groups) {
64
64
  let parts = get_layer_names(name);
@@ -73,7 +73,9 @@ function layer_tree_from_ast(ast) {
73
73
  }
74
74
  else {
75
75
  let layer_names = [];
76
- for (let child of node.prelude.children) if (child.type === LAYER_NAME) layer_names.push(child.text);
76
+ if (is_atrule_prelude(node.prelude)) {
77
+ for (let child of node.prelude.children) if (is_layer_name(child)) layer_names.push(child.name);
78
+ }
77
79
  for (let i = 0; i < layer_names.length; i++) {
78
80
  let layer_name = layer_names[i];
79
81
  if (!layer_name) continue;
@@ -88,9 +90,9 @@ function layer_tree_from_ast(ast) {
88
90
  root.add_child(current_stack, name, create_location(node));
89
91
  current_stack.push(name);
90
92
  }
91
- else if (node.name === "import" && node.prelude) {
92
- for (let child of node.prelude.children) if (child.type === LAYER_NAME) {
93
- if (child.name?.trim()) for (let layer_name of get_layer_names(child.name)) {
93
+ else if (node.name === "import" && node.has_prelude && is_atrule_prelude(node.prelude)) {
94
+ for (let child of node.prelude.children) if (is_layer_name(child)) {
95
+ if (child.name.trim()) for (let layer_name of get_layer_names(child.name)) {
94
96
  root.add_child(current_stack, layer_name, create_location(node));
95
97
  current_stack.push(layer_name);
96
98
  }
@@ -103,10 +105,10 @@ function layer_tree_from_ast(ast) {
103
105
  }
104
106
  },
105
107
  leave(node) {
106
- if (node.type !== AT_RULE) return;
107
- if (node.name === "layer") if (node.prelude && node.has_block) {
108
+ if (!is_atrule(node)) return;
109
+ if (node.name === "layer") if (node.has_prelude && node.has_block && is_atrule_prelude(node.prelude)) {
108
110
  let layer_count = 0;
109
- for (let child of node.prelude.children) if (child.type === LAYER_NAME) layer_count++;
111
+ for (let child of node.prelude.children) if (is_layer_name(child)) layer_count++;
110
112
  for (let i = 0; i < layer_count; i++) current_stack.pop();
111
113
  } else current_stack.pop();
112
114
  else if (node.name === "import") current_stack.length = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectwallace/css-layer-tree",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "Discover the composition of your CSS @layers in a tree-based format.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,7 +34,7 @@
34
34
  "prettier": "^3.3.3",
35
35
  "publint": "^0.3.18",
36
36
  "tsdown": "^0.21.0",
37
- "typescript": "5.9.3",
37
+ "typescript": "6.0.2",
38
38
  "vitest": "^4.0.0"
39
39
  },
40
40
  "files": [
@@ -56,6 +56,6 @@
56
56
  "singleQuote": true
57
57
  },
58
58
  "dependencies": {
59
- "@projectwallace/css-parser": "^0.13.5"
59
+ "@projectwallace/css-parser": "~0.14.0"
60
60
  }
61
61
  }