cssstyle 5.3.5 → 5.3.6

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 (86) hide show
  1. package/lib/CSSStyleDeclaration.js +2 -2
  2. package/lib/generated/implementedProperties.js +1 -1
  3. package/lib/generated/properties.js +1958 -2271
  4. package/lib/generated/propertyDefinitions.js +13033 -0
  5. package/lib/normalize.js +1259 -1095
  6. package/lib/parsers.js +588 -228
  7. package/lib/properties/background.js +89 -79
  8. package/lib/properties/backgroundAttachment.js +11 -14
  9. package/lib/properties/backgroundClip.js +11 -14
  10. package/lib/properties/backgroundColor.js +8 -13
  11. package/lib/properties/backgroundImage.js +11 -26
  12. package/lib/properties/backgroundOrigin.js +11 -14
  13. package/lib/properties/backgroundPosition.js +29 -18
  14. package/lib/properties/backgroundRepeat.js +11 -7
  15. package/lib/properties/backgroundSize.js +22 -16
  16. package/lib/properties/border.js +30 -87
  17. package/lib/properties/borderBottom.js +30 -86
  18. package/lib/properties/borderBottomColor.js +8 -14
  19. package/lib/properties/borderBottomStyle.js +8 -13
  20. package/lib/properties/borderBottomWidth.js +11 -23
  21. package/lib/properties/borderCollapse.js +4 -9
  22. package/lib/properties/borderColor.js +17 -23
  23. package/lib/properties/borderLeft.js +30 -86
  24. package/lib/properties/borderLeftColor.js +8 -14
  25. package/lib/properties/borderLeftStyle.js +8 -13
  26. package/lib/properties/borderLeftWidth.js +11 -23
  27. package/lib/properties/borderRight.js +30 -86
  28. package/lib/properties/borderRightColor.js +8 -14
  29. package/lib/properties/borderRightStyle.js +8 -13
  30. package/lib/properties/borderRightWidth.js +11 -23
  31. package/lib/properties/borderSpacing.js +12 -9
  32. package/lib/properties/borderStyle.js +17 -23
  33. package/lib/properties/borderTop.js +30 -86
  34. package/lib/properties/borderTopColor.js +8 -14
  35. package/lib/properties/borderTopStyle.js +8 -13
  36. package/lib/properties/borderTopWidth.js +11 -23
  37. package/lib/properties/borderWidth.js +18 -36
  38. package/lib/properties/bottom.js +6 -17
  39. package/lib/properties/clear.js +4 -9
  40. package/lib/properties/clip.js +10 -5
  41. package/lib/properties/color.js +4 -10
  42. package/lib/properties/display.js +11 -8
  43. package/lib/properties/flex.js +55 -53
  44. package/lib/properties/flexBasis.js +10 -20
  45. package/lib/properties/flexGrow.js +10 -19
  46. package/lib/properties/flexShrink.js +10 -19
  47. package/lib/properties/float.js +4 -9
  48. package/lib/properties/floodColor.js +4 -10
  49. package/lib/properties/font.js +46 -33
  50. package/lib/properties/fontFamily.js +16 -12
  51. package/lib/properties/fontSize.js +11 -22
  52. package/lib/properties/fontStyle.js +14 -8
  53. package/lib/properties/fontVariant.js +11 -18
  54. package/lib/properties/fontWeight.js +14 -25
  55. package/lib/properties/height.js +7 -17
  56. package/lib/properties/left.js +6 -17
  57. package/lib/properties/lightingColor.js +4 -10
  58. package/lib/properties/lineHeight.js +10 -24
  59. package/lib/properties/margin.js +14 -32
  60. package/lib/properties/marginBottom.js +10 -20
  61. package/lib/properties/marginLeft.js +10 -20
  62. package/lib/properties/marginRight.js +10 -20
  63. package/lib/properties/marginTop.js +10 -20
  64. package/lib/properties/opacity.js +6 -18
  65. package/lib/properties/outlineColor.js +4 -10
  66. package/lib/properties/padding.js +15 -30
  67. package/lib/properties/paddingBottom.js +11 -21
  68. package/lib/properties/paddingLeft.js +11 -21
  69. package/lib/properties/paddingRight.js +11 -21
  70. package/lib/properties/paddingTop.js +11 -21
  71. package/lib/properties/right.js +6 -17
  72. package/lib/properties/stopColor.js +4 -10
  73. package/lib/properties/top.js +7 -17
  74. package/lib/properties/webkitBorderAfterColor.js +4 -10
  75. package/lib/properties/webkitBorderBeforeColor.js +4 -10
  76. package/lib/properties/webkitBorderEndColor.js +4 -10
  77. package/lib/properties/webkitBorderStartColor.js +4 -10
  78. package/lib/properties/webkitColumnRuleColor.js +4 -10
  79. package/lib/properties/webkitTapHighlightColor.js +4 -10
  80. package/lib/properties/webkitTextEmphasisColor.js +4 -10
  81. package/lib/properties/webkitTextFillColor.js +4 -10
  82. package/lib/properties/webkitTextStrokeColor.js +4 -10
  83. package/lib/properties/width.js +7 -17
  84. package/lib/utils/propertyDescriptors.js +49 -13
  85. package/lib/utils/strings.js +6 -0
  86. package/package.json +8 -27
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "right";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,22 +14,9 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ isNumber, name, type, value: itemValue }] = value;
18
- switch (type) {
19
- case "Calc": {
20
- if (isNumber) {
21
- return;
22
- }
23
- return `${name}(${itemValue})`;
24
- }
25
- case "GlobalKeyword":
26
- case "Identifier": {
27
- return name;
28
- }
29
- default: {
30
- return parsers.parseLengthPercentage(value);
31
- }
32
- }
17
+ return parsers.resolveNumericValue(value, {
18
+ type: "length"
19
+ });
33
20
  } else if (typeof value === "string") {
34
21
  return value;
35
22
  }
@@ -56,3 +43,5 @@ module.exports.definition = {
56
43
  enumerable: true,
57
44
  configurable: true
58
45
  };
46
+
47
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "stop-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "top";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,22 +14,10 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ isNumber, name, type, value: itemValue }] = value;
18
- switch (type) {
19
- case "Calc": {
20
- if (isNumber) {
21
- return;
22
- }
23
- return `${name}(${itemValue})`;
24
- }
25
- case "GlobalKeyword":
26
- case "Identifier": {
27
- return name;
28
- }
29
- default: {
30
- return parsers.parseLengthPercentage(value);
31
- }
32
- }
17
+ return parsers.resolveNumericValue(value, {
18
+ min: 0,
19
+ type: "length"
20
+ });
33
21
  } else if (typeof value === "string") {
34
22
  return value;
35
23
  }
@@ -56,3 +44,5 @@ module.exports.definition = {
56
44
  enumerable: true,
57
45
  configurable: true
58
46
  };
47
+
48
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-border-after-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-border-before-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-border-end-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-border-start-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-column-rule-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-tap-highlight-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-text-emphasis-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-text-fill-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "-webkit-text-stroke-color";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,15 +14,7 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ name, type }] = value;
18
- switch (type) {
19
- case "GlobalKeyword": {
20
- return name;
21
- }
22
- default: {
23
- return parsers.parseColor(value);
24
- }
25
- }
17
+ return parsers.resolveColorValue(value);
26
18
  } else if (typeof value === "string") {
27
19
  return value;
28
20
  }
@@ -49,3 +41,5 @@ module.exports.definition = {
49
41
  enumerable: true,
50
42
  configurable: true
51
43
  };
44
+
45
+ module.exports.property = property;
@@ -4,7 +4,7 @@ const parsers = require("../parsers");
4
4
 
5
5
  const property = "width";
6
6
 
7
- module.exports.parse = function parse(v, opt = {}) {
7
+ module.exports.parse = (v, opt = {}) => {
8
8
  const { globalObject } = opt;
9
9
  if (v === "") {
10
10
  return v;
@@ -14,22 +14,10 @@ module.exports.parse = function parse(v, opt = {}) {
14
14
  inArray: true
15
15
  });
16
16
  if (Array.isArray(value) && value.length === 1) {
17
- const [{ isNumber, name, type, value: itemValue }] = value;
18
- switch (type) {
19
- case "Calc": {
20
- if (isNumber) {
21
- return;
22
- }
23
- return `${name}(${itemValue})`;
24
- }
25
- case "GlobalKeyword":
26
- case "Identifier": {
27
- return name;
28
- }
29
- default: {
30
- return parsers.parseLengthPercentage(value);
31
- }
32
- }
17
+ return parsers.resolveNumericValue(value, {
18
+ min: 0,
19
+ type: "length"
20
+ });
33
21
  } else if (typeof value === "string") {
34
22
  return value;
35
23
  }
@@ -56,3 +44,5 @@ module.exports.definition = {
56
44
  enumerable: true,
57
45
  configurable: true
58
46
  };
47
+
48
+ module.exports.property = property;
@@ -2,18 +2,54 @@
2
2
 
3
3
  const parsers = require("../parsers");
4
4
 
5
- exports.getPropertyDescriptor = function getPropertyDescriptor(property) {
6
- return {
7
- set(v) {
8
- v = parsers.parsePropertyValue(property, v, {
9
- globalObject: this._global
5
+ const { AST_TYPES } = parsers;
6
+
7
+ const getPropertyDescriptor = (property) => ({
8
+ set(v) {
9
+ const value = parsers.prepareValue(v, this._global);
10
+ if (parsers.hasVarFunc(value)) {
11
+ this._setProperty(property, value);
12
+ } else {
13
+ const parsedValue = parsers.parsePropertyValue(property, v, {
14
+ globalObject: this._global,
15
+ inArray: true
10
16
  });
11
- this._setProperty(property, v);
12
- },
13
- get() {
14
- return this.getPropertyValue(property);
15
- },
16
- enumerable: true,
17
- configurable: true
18
- };
17
+ if (Array.isArray(parsedValue)) {
18
+ if (parsedValue.length === 1) {
19
+ const [{ name, type, value: itemValue }] = parsedValue;
20
+ switch (type) {
21
+ case AST_TYPES.CALC: {
22
+ this._setProperty(property, `${name}(${itemValue})`);
23
+ break;
24
+ }
25
+ case AST_TYPES.GLOBAL_KEYWORD:
26
+ case AST_TYPES.IDENTIFIER: {
27
+ // Set the normalized name for keywords or identifiers.
28
+ this._setProperty(property, name);
29
+ break;
30
+ }
31
+ default: {
32
+ // Set the prepared value for Dimension, Function, etc.
33
+ this._setProperty(property, value);
34
+ }
35
+ }
36
+ } else {
37
+ // Set the prepared value for lists containing multiple values.
38
+ this._setProperty(property, value);
39
+ }
40
+ } else if (typeof parsedValue === "string") {
41
+ // Empty string.
42
+ this._setProperty(property, parsedValue);
43
+ }
44
+ }
45
+ },
46
+ get() {
47
+ return this.getPropertyValue(property);
48
+ },
49
+ enumerable: true,
50
+ configurable: true
51
+ });
52
+
53
+ module.exports = {
54
+ getPropertyDescriptor
19
55
  };
@@ -8,6 +8,9 @@ exports.asciiWhitespaceRe = asciiWhitespaceRe;
8
8
 
9
9
  // https://infra.spec.whatwg.org/#ascii-lowercase
10
10
  exports.asciiLowercase = (s) => {
11
+ if (!/[^\x00-\x7f]/.test(s)) {
12
+ return s.toLowerCase();
13
+ }
11
14
  const len = s.length;
12
15
  const out = new Array(len);
13
16
  for (let i = 0; i < len; i++) {
@@ -20,6 +23,9 @@ exports.asciiLowercase = (s) => {
20
23
 
21
24
  // https://infra.spec.whatwg.org/#ascii-uppercase
22
25
  exports.asciiUppercase = (s) => {
26
+ if (!/[^\x00-\x7f]/.test(s)) {
27
+ return s.toUpperCase();
28
+ }
23
29
  const len = s.length;
24
30
  const out = new Array(len);
25
31
  for (let i = 0; i < len; i++) {
package/package.json CHANGED
@@ -1,36 +1,15 @@
1
1
  {
2
2
  "name": "cssstyle",
3
- "description": "CSSStyleDeclaration Object Model implementation",
3
+ "description": "An implementation of the CSSStyleDeclaration class from the CSS Object Model specification",
4
4
  "keywords": [
5
5
  "CSS",
6
6
  "CSSStyleDeclaration",
7
7
  "StyleSheet"
8
8
  ],
9
- "version": "5.3.5",
10
- "homepage": "https://github.com/jsdom/cssstyle",
11
- "maintainers": [
12
- {
13
- "name": "Jon Sakas",
14
- "email": "jon.sakas@gmail.com",
15
- "url": "https://jon.sakas.co/"
16
- },
17
- {
18
- "name": "Rafał Ruciński",
19
- "email": "fatfisz@gmail.com",
20
- "url": "https://fatfisz.com"
21
- }
22
- ],
23
- "contributors": [
24
- {
25
- "name": "Chad Walker",
26
- "email": "chad@chad-cat-lore-eddie.com",
27
- "url": "https://github.com/chad3814"
28
- }
29
- ],
30
- "repository": "jsdom/cssstyle",
31
- "bugs": "https://github.com/jsdom/cssstyle/issues",
32
- "directories": {
33
- "lib": "./lib"
9
+ "version": "5.3.6",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/jsdom/cssstyle.git"
34
13
  },
35
14
  "files": [
36
15
  "lib/"
@@ -39,7 +18,8 @@
39
18
  "dependencies": {
40
19
  "@asamuzakjp/css-color": "^4.1.1",
41
20
  "@csstools/css-syntax-patches-for-csstree": "^1.0.21",
42
- "css-tree": "^3.1.0"
21
+ "css-tree": "^3.1.0",
22
+ "lru-cache": "^11.2.4"
43
23
  },
44
24
  "devDependencies": {
45
25
  "@babel/generator": "^7.28.5",
@@ -63,6 +43,7 @@
63
43
  "prepare": "run-p prepare:*",
64
44
  "prepare:implemented_properties": "node ./scripts/generateImplementedProperties.mjs",
65
45
  "prepare:properties": "node ./scripts/generateProperties.js",
46
+ "prepare:propertyDefinitions": "node ./scripts/generatePropertyDefinitions.mjs",
66
47
  "test": "node --test"
67
48
  },
68
49
  "license": "MIT",