less 4.6.3 → 4.6.5

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.
@@ -1891,6 +1891,7 @@ const Parser = function Parser(context, imports, fileInfo, currentIndex) {
1891
1891
  spacing = true;
1892
1892
  }
1893
1893
  } else if (parserInput.$char('(')) {
1894
+ let closed = false;
1894
1895
  p = this.property();
1895
1896
  parserInput.save();
1896
1897
  if (!p && syntaxOptions.queryInParens && parserInput.$re(/^[0-9a-z-]*\s*([<>]=|<=|>=|[<>]|=)/)) {
@@ -1904,9 +1905,20 @@ const Parser = function Parser(context, imports, fileInfo, currentIndex) {
1904
1905
  }
1905
1906
  } else {
1906
1907
  parserInput.restore();
1908
+ parserInput.save();
1907
1909
  e = this.value();
1910
+ if (e && parserInput.$char(')')) {
1911
+ closed = true;
1912
+ parserInput.forget();
1913
+ } else {
1914
+ parserInput.restore();
1915
+ e = this.mediaFeature(syntaxOptions);
1916
+ }
1908
1917
  }
1909
- if (parserInput.$char(')')) {
1918
+ if (!closed && parserInput.$char(')')) {
1919
+ closed = true;
1920
+ }
1921
+ if (closed) {
1910
1922
  if (p && !e) {
1911
1923
  nodes.push(new (tree.Paren)(new (tree.QueryInParens)(p.op, p.lvalue, p.rvalue, rangeP ? rangeP.op : null, rangeP ? rangeP.rvalue : null, p._index)));
1912
1924
  e = p;
@@ -2426,8 +2438,18 @@ const Parser = function Parser(context, imports, fileInfo, currentIndex) {
2426
2438
  const result = this.parenthesisCondition(needsParens);
2427
2439
  if (result) {
2428
2440
  result.negate = !result.negate;
2441
+ return result;
2442
+ }
2443
+
2444
+ // Allow simple bare values (keyword/variable) without parens,
2445
+ // e.g., `not false` or `not @var`.
2446
+ // Complex conditions (comparisons, function calls) require parentheses.
2447
+ const entities = this.entities;
2448
+ const index = parserInput.i;
2449
+ const a = entities.keyword() || entities.variable() || entities.quoted() || entities.mixinLookup();
2450
+ if (a) {
2451
+ return new(tree.Condition)('=', a, new(tree.Keyword)('true'), index + currentIndex, true);
2429
2452
  }
2430
- return result;
2431
2453
  }
2432
2454
  },
2433
2455
  parenthesisCondition: function (needsParens) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "less",
3
- "version": "4.6.3",
3
+ "version": "4.6.5",
4
4
  "description": "Leaner CSS",
5
5
  "homepage": "http://lesscss.org",
6
6
  "author": {
@@ -29,13 +29,14 @@
29
29
  "main": "./dist/less-node.cjs",
30
30
  "exports": {
31
31
  ".": {
32
- "browser": "./dist/less.js",
32
+ "browser": "./dist/less.cjs",
33
33
  "import": "./lib/less-node/index.js",
34
34
  "require": "./dist/less-node.cjs",
35
35
  "default": "./lib/less-node/index.js"
36
36
  },
37
37
  "./lib/*": "./lib/*",
38
38
  "./dist/less-node.cjs": "./dist/less-node.cjs",
39
+ "./dist/less.cjs": "./dist/less.cjs",
39
40
  "./dist/less.js": "./dist/less.js",
40
41
  "./dist/less.min.js": "./dist/less.min.js"
41
42
  },
@@ -70,7 +71,7 @@
70
71
  "errno": "^0.1.1",
71
72
  "graceful-fs": "^4.1.2",
72
73
  "image-size": "~0.5.0",
73
- "make-dir": "^2.1.0",
74
+ "make-dir": "^5.1.0",
74
75
  "mime": "^1.4.1",
75
76
  "needle": "^3.1.0",
76
77
  "source-map": "~0.6.0"