less 4.0.1-alpha.0 → 4.1.2

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 (187) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc.json +70 -2
  3. package/Gruntfile.js +8 -23
  4. package/dist/less.js +1161 -1132
  5. package/dist/less.min.js +3 -3
  6. package/dist/less.min.js.map +1 -1
  7. package/lib/less/constants.js +2 -1
  8. package/lib/less/constants.js.map +1 -1
  9. package/lib/less/contexts.js +2 -20
  10. package/lib/less/contexts.js.map +1 -1
  11. package/lib/less/data/index.js +3 -5
  12. package/lib/less/data/index.js.map +1 -1
  13. package/lib/less/environment/abstract-plugin-loader.js +3 -5
  14. package/lib/less/environment/abstract-plugin-loader.js.map +1 -1
  15. package/lib/less/environment/environment.js +2 -4
  16. package/lib/less/environment/environment.js.map +1 -1
  17. package/lib/less/functions/boolean.js +14 -6
  18. package/lib/less/functions/boolean.js.map +1 -1
  19. package/lib/less/functions/color-blending.js +2 -4
  20. package/lib/less/functions/color-blending.js.map +1 -1
  21. package/lib/less/functions/color.js +7 -9
  22. package/lib/less/functions/color.js.map +1 -1
  23. package/lib/less/functions/data-uri.js +5 -26
  24. package/lib/less/functions/data-uri.js.map +1 -1
  25. package/lib/less/functions/default.js +2 -4
  26. package/lib/less/functions/default.js.map +1 -1
  27. package/lib/less/functions/function-caller.js +7 -12
  28. package/lib/less/functions/function-caller.js.map +1 -1
  29. package/lib/less/functions/index.js +14 -16
  30. package/lib/less/functions/index.js.map +1 -1
  31. package/lib/less/functions/list.js +11 -13
  32. package/lib/less/functions/list.js.map +1 -1
  33. package/lib/less/functions/math-helper.js +2 -4
  34. package/lib/less/functions/math-helper.js.map +1 -1
  35. package/lib/less/functions/math.js +2 -4
  36. package/lib/less/functions/math.js.map +1 -1
  37. package/lib/less/functions/number.js +4 -6
  38. package/lib/less/functions/number.js.map +1 -1
  39. package/lib/less/functions/string.js +4 -6
  40. package/lib/less/functions/string.js.map +1 -1
  41. package/lib/less/functions/svg.js +6 -8
  42. package/lib/less/functions/svg.js.map +1 -1
  43. package/lib/less/functions/types.js +11 -12
  44. package/lib/less/functions/types.js.map +1 -1
  45. package/lib/less/import-manager.js +6 -27
  46. package/lib/less/import-manager.js.map +1 -1
  47. package/lib/less/index.js +25 -43
  48. package/lib/less/index.js.map +1 -1
  49. package/lib/less/less-error.js +2 -20
  50. package/lib/less/less-error.js.map +1 -1
  51. package/lib/less/parse-tree.js +4 -6
  52. package/lib/less/parse-tree.js.map +1 -1
  53. package/lib/less/parse.js +6 -27
  54. package/lib/less/parse.js.map +1 -1
  55. package/lib/less/parser/parser-input.js +2 -4
  56. package/lib/less/parser/parser-input.js.map +1 -1
  57. package/lib/less/parser/parser.js +10 -31
  58. package/lib/less/parser/parser.js.map +1 -1
  59. package/lib/less/render.js +2 -20
  60. package/lib/less/render.js.map +1 -1
  61. package/lib/less/source-map-output.js +5 -1
  62. package/lib/less/source-map-output.js.map +1 -1
  63. package/lib/less/transform-tree.js +4 -6
  64. package/lib/less/transform-tree.js.map +1 -1
  65. package/lib/less/tree/anonymous.js +22 -41
  66. package/lib/less/tree/anonymous.js.map +1 -1
  67. package/lib/less/tree/assignment.js +15 -34
  68. package/lib/less/tree/assignment.js.map +1 -1
  69. package/lib/less/tree/atrule.js +49 -68
  70. package/lib/less/tree/atrule.js.map +1 -1
  71. package/lib/less/tree/attribute.js +16 -35
  72. package/lib/less/tree/attribute.js.map +1 -1
  73. package/lib/less/tree/call.js +20 -39
  74. package/lib/less/tree/call.js.map +1 -1
  75. package/lib/less/tree/color.js +75 -94
  76. package/lib/less/tree/color.js.map +1 -1
  77. package/lib/less/tree/combinator.js +16 -35
  78. package/lib/less/tree/combinator.js.map +1 -1
  79. package/lib/less/tree/comment.js +17 -36
  80. package/lib/less/tree/comment.js.map +1 -1
  81. package/lib/less/tree/condition.js +16 -35
  82. package/lib/less/tree/condition.js.map +1 -1
  83. package/lib/less/tree/debug-info.js.map +1 -1
  84. package/lib/less/tree/declaration.js +36 -74
  85. package/lib/less/tree/declaration.js.map +1 -1
  86. package/lib/less/tree/detached-ruleset.js +19 -57
  87. package/lib/less/tree/detached-ruleset.js.map +1 -1
  88. package/lib/less/tree/dimension.js +36 -53
  89. package/lib/less/tree/dimension.js.map +1 -1
  90. package/lib/less/tree/element.js +34 -53
  91. package/lib/less/tree/element.js.map +1 -1
  92. package/lib/less/tree/expression.js +23 -61
  93. package/lib/less/tree/expression.js.map +1 -1
  94. package/lib/less/tree/extend.js +34 -53
  95. package/lib/less/tree/extend.js.map +1 -1
  96. package/lib/less/tree/import.js +46 -84
  97. package/lib/less/tree/import.js.map +1 -1
  98. package/lib/less/tree/index.js +71 -46
  99. package/lib/less/tree/index.js.map +1 -1
  100. package/lib/less/tree/javascript.js +16 -35
  101. package/lib/less/tree/javascript.js.map +1 -1
  102. package/lib/less/tree/js-eval-node.js +14 -31
  103. package/lib/less/tree/js-eval-node.js.map +1 -1
  104. package/lib/less/tree/keyword.js +10 -29
  105. package/lib/less/tree/keyword.js.map +1 -1
  106. package/lib/less/tree/media.js +40 -78
  107. package/lib/less/tree/media.js.map +1 -1
  108. package/lib/less/tree/mixin-call.js +34 -47
  109. package/lib/less/tree/mixin-call.js.map +1 -1
  110. package/lib/less/tree/mixin-definition.js +51 -89
  111. package/lib/less/tree/mixin-definition.js.map +1 -1
  112. package/lib/less/tree/namespace-value.js +22 -37
  113. package/lib/less/tree/namespace-value.js.map +1 -1
  114. package/lib/less/tree/negative.js +14 -33
  115. package/lib/less/tree/negative.js.map +1 -1
  116. package/lib/less/tree/node.js +20 -7
  117. package/lib/less/tree/node.js.map +1 -1
  118. package/lib/less/tree/operation.js +22 -59
  119. package/lib/less/tree/operation.js.map +1 -1
  120. package/lib/less/tree/paren.js +12 -31
  121. package/lib/less/tree/paren.js.map +1 -1
  122. package/lib/less/tree/property.js +21 -36
  123. package/lib/less/tree/property.js.map +1 -1
  124. package/lib/less/tree/quoted.js +25 -44
  125. package/lib/less/tree/quoted.js.map +1 -1
  126. package/lib/less/tree/ruleset.js +69 -107
  127. package/lib/less/tree/ruleset.js.map +1 -1
  128. package/lib/less/tree/selector.js +38 -57
  129. package/lib/less/tree/selector.js.map +1 -1
  130. package/lib/less/tree/unicode-descriptor.js +8 -27
  131. package/lib/less/tree/unicode-descriptor.js.map +1 -1
  132. package/lib/less/tree/unit.js +38 -76
  133. package/lib/less/tree/unit.js.map +1 -1
  134. package/lib/less/tree/url.js +20 -39
  135. package/lib/less/tree/url.js.map +1 -1
  136. package/lib/less/tree/value.js +21 -40
  137. package/lib/less/tree/value.js.map +1 -1
  138. package/lib/less/tree/variable-call.js +17 -36
  139. package/lib/less/tree/variable-call.js.map +1 -1
  140. package/lib/less/tree/variable.js +21 -36
  141. package/lib/less/tree/variable.js.map +1 -1
  142. package/lib/less/utils.js +5 -33
  143. package/lib/less/utils.js.map +1 -1
  144. package/lib/less/visitors/extend-visitor.js +5 -26
  145. package/lib/less/visitors/extend-visitor.js.map +1 -1
  146. package/lib/less/visitors/import-sequencer.js.map +1 -1
  147. package/lib/less/visitors/import-visitor.js +5 -26
  148. package/lib/less/visitors/import-visitor.js.map +1 -1
  149. package/lib/less/visitors/index.js +7 -9
  150. package/lib/less/visitors/index.js.map +1 -1
  151. package/lib/less/visitors/join-selector-visitor.js +2 -4
  152. package/lib/less/visitors/join-selector-visitor.js.map +1 -1
  153. package/lib/less/visitors/to-css-visitor.js +7 -7
  154. package/lib/less/visitors/to-css-visitor.js.map +1 -1
  155. package/lib/less/visitors/visitor.js +2 -4
  156. package/lib/less/visitors/visitor.js.map +1 -1
  157. package/lib/less-browser/add-default-options.js +2 -4
  158. package/lib/less-browser/add-default-options.js.map +1 -1
  159. package/lib/less-browser/bootstrap.js +4 -6
  160. package/lib/less-browser/bootstrap.js.map +1 -1
  161. package/lib/less-browser/browser.js +2 -20
  162. package/lib/less-browser/browser.js.map +1 -1
  163. package/lib/less-browser/error-reporting.js +3 -24
  164. package/lib/less-browser/error-reporting.js.map +1 -1
  165. package/lib/less-browser/file-manager.js +17 -36
  166. package/lib/less-browser/file-manager.js.map +1 -1
  167. package/lib/less-browser/image-size.js +2 -4
  168. package/lib/less-browser/image-size.js.map +1 -1
  169. package/lib/less-browser/index.js +9 -11
  170. package/lib/less-browser/index.js.map +1 -1
  171. package/lib/less-browser/plugin-loader.js +10 -29
  172. package/lib/less-browser/plugin-loader.js.map +1 -1
  173. package/lib/less-node/file-manager.js +15 -34
  174. package/lib/less-node/file-manager.js.map +1 -1
  175. package/lib/less-node/image-size.js +4 -6
  176. package/lib/less-node/image-size.js.map +1 -1
  177. package/lib/less-node/index.js +6 -8
  178. package/lib/less-node/index.js.map +1 -1
  179. package/lib/less-node/plugin-loader.js +23 -42
  180. package/lib/less-node/plugin-loader.js.map +1 -1
  181. package/lib/less-node/url-file-manager.js +24 -39
  182. package/lib/less-node/url-file-manager.js.map +1 -1
  183. package/package.json +20 -17
  184. package/test/index.js +20 -2
  185. package/test/less-test.js +36 -16
  186. package/tsconfig.json +6 -0
  187. package/LICENSE +0 -177
package/.eslintignore CHANGED
@@ -2,4 +2,5 @@ Gruntfile.js
2
2
  dist/*
3
3
  tmp/*
4
4
  lib/*
5
- test/browser/less.min.js
5
+ test/browser/less.min.js
6
+ node_modules
package/.eslintrc.json CHANGED
@@ -1,3 +1,71 @@
1
1
  {
2
- "extends": "../../.eslintrc.json"
3
- }
2
+ "parser": "@typescript-eslint/parser",
3
+ "parserOptions": {
4
+ "ecmaVersion": 2018,
5
+ "sourceType": "module"
6
+ },
7
+ "plugins": ["@typescript-eslint"],
8
+ "env": {
9
+ "browser": true,
10
+ "node": true
11
+ },
12
+ "globals": {},
13
+ "rules": {
14
+ "no-eval": 2,
15
+ "no-use-before-define": [
16
+ 2,
17
+ {
18
+ "functions": false
19
+ }
20
+ ],
21
+ "no-undef": 0,
22
+ "no-unused-vars": 1,
23
+ "no-caller": 2,
24
+ "no-eq-null": 1,
25
+ "guard-for-in": 2,
26
+ "no-implicit-coercion": [
27
+ 2,
28
+ {
29
+ "boolean": false,
30
+ "string": true,
31
+ "number": true
32
+ }
33
+ ],
34
+ "no-with": 2,
35
+ "no-mixed-spaces-and-tabs": 2,
36
+ "no-multiple-empty-lines": 2,
37
+ "dot-location": [2, "property"],
38
+ "operator-linebreak": [0, "after"],
39
+ "keyword-spacing": [2, {}],
40
+ "space-unary-ops": [
41
+ 2,
42
+ {
43
+ "words": false,
44
+ "nonwords": false
45
+ }
46
+ ],
47
+ "no-spaced-func": 2,
48
+ "space-before-function-paren": [
49
+ 1,
50
+ {
51
+ "anonymous": "ignore",
52
+ "named": "never"
53
+ }
54
+ ],
55
+ "comma-dangle": [2, "never"],
56
+ "no-trailing-spaces": 0,
57
+ "max-len": [2, 160],
58
+ "comma-style": [2, "last"],
59
+ "curly": [2, "all"],
60
+ "space-infix-ops": 2,
61
+ "spaced-comment": 1,
62
+ "space-before-blocks": [2, "always"],
63
+ "indent": [
64
+ 2,
65
+ 4,
66
+ {
67
+ "SwitchCase": 1
68
+ }
69
+ ]
70
+ }
71
+ }
package/Gruntfile.js CHANGED
@@ -12,7 +12,6 @@ module.exports = function(grunt) {
12
12
  // Report the elapsed execution time of tasks.
13
13
  require("time-grunt")(grunt);
14
14
 
15
- var COMPRESS_FOR_TESTS = false;
16
15
  var git = require("git-rev");
17
16
 
18
17
  // Sauce Labs browser
@@ -184,17 +183,11 @@ module.exports = function(grunt) {
184
183
  // Make the SauceLabs jobs
185
184
  ["all"].concat(browserTests).map(makeJob);
186
185
 
187
- var semver = require('semver');
188
186
  var path = require('path');
189
187
 
190
188
  // Handle async / await in Rollup build for tests
191
- // Remove this when Node 6 is no longer supported for the build/test process
192
- const nodeVersion = semver.major(process.versions.node);
193
189
  const tsNodeRuntime = path.resolve(path.join('node_modules', '.bin', 'ts-node'));
194
- let scriptRuntime = 'node';
195
- if (nodeVersion < 8) {
196
- scriptRuntime = tsNodeRuntime;
197
- }
190
+ const crossEnv = path.resolve(path.join('node_modules', '.bin', 'cross-env'));
198
191
 
199
192
  // Project configuration.
200
193
  grunt.initConfig({
@@ -209,7 +202,7 @@ module.exports = function(grunt) {
209
202
  build: {
210
203
  command: [
211
204
  /** Browser runtime */
212
- scriptRuntime + " build/rollup.js --dist",
205
+ "node build/rollup.js --dist",
213
206
  /** Copy to repo root */
214
207
  "npm run copy:root",
215
208
  /** Node.js runtime */
@@ -219,17 +212,19 @@ module.exports = function(grunt) {
219
212
  testbuild: {
220
213
  command: [
221
214
  "npm run build",
222
- scriptRuntime + " build/rollup.js --browser --out=./tmp/browser/less.min.js"
215
+ "node build/rollup.js --browser --out=./tmp/browser/less.min.js"
223
216
  ].join(" && ")
224
217
  },
225
218
  testcjs: {
226
219
  command: "npm run build"
227
220
  },
228
221
  testbrowser: {
229
- command: scriptRuntime + " build/rollup.js --browser --out=./tmp/browser/less.min.js"
222
+ command: "node build/rollup.js --browser --out=./tmp/browser/less.min.js"
230
223
  },
231
224
  test: {
232
225
  command: [
226
+ // https://github.com/TypeStrong/ts-node/issues/693#issuecomment-848907036
227
+ crossEnv + " TS_NODE_SCOPE=true",
233
228
  tsNodeRuntime + " test/test-es6.ts",
234
229
  "node test/index.js"
235
230
  ].join(' && ')
@@ -243,9 +238,6 @@ module.exports = function(grunt) {
243
238
  benchmark: {
244
239
  command: "node benchmark/index.js"
245
240
  },
246
- benchmarkbrowser: {
247
- command: "node test/browser/generator/runner.js benchmark"
248
- },
249
241
  opts: {
250
242
  // test running with all current options (using `opts` since `options` means something already)
251
243
  command: [
@@ -286,7 +278,7 @@ module.exports = function(grunt) {
286
278
  eslint: {
287
279
  target: [
288
280
  "test/**/*.js",
289
- "lib/less*/**/*.js",
281
+ "src/less*/**/*.js",
290
282
  "!test/less/errors/plugin/plugin-error.js"
291
283
  ],
292
284
  options: {
@@ -416,15 +408,8 @@ module.exports = function(grunt) {
416
408
  ]);
417
409
 
418
410
  // Run benchmark
419
- grunt.registerTask("benchmark-node", [
411
+ grunt.registerTask("benchmark", [
420
412
  "shell:testcjs",
421
413
  "shell:benchmark"
422
414
  ]);
423
-
424
- // Run all browser tests
425
- grunt.registerTask("benchmark", [
426
- "browsertest-lessjs",
427
- "connect",
428
- "shell:benchmarkbrowser"
429
- ]);
430
415
  };