less 4.5.1 → 4.6.1

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 (340) hide show
  1. package/README.md +70 -5
  2. package/bin/lessc +37 -23
  3. package/dist/less.js +14501 -11745
  4. package/dist/less.min.js +4 -4
  5. package/dist/less.min.js.map +1 -1
  6. package/index.cjs +41 -0
  7. package/lib/less/constants.js +5 -7
  8. package/lib/less/contexts.js +71 -55
  9. package/lib/less/data/colors.js +150 -153
  10. package/lib/less/data/index.js +4 -7
  11. package/lib/less/data/unit-conversions.js +2 -5
  12. package/lib/less/default-options.js +36 -26
  13. package/lib/less/deprecation.js +67 -0
  14. package/lib/less/environment/abstract-file-manager.js +62 -50
  15. package/lib/less/environment/abstract-plugin-loader.js +69 -46
  16. package/lib/less/environment/environment-api.ts +21 -0
  17. package/lib/less/environment/environment.js +34 -30
  18. package/lib/less/environment/file-manager-api.ts +77 -0
  19. package/lib/less/functions/boolean.js +13 -13
  20. package/lib/less/functions/color-blending.js +39 -31
  21. package/lib/less/functions/color.js +153 -137
  22. package/lib/less/functions/data-uri.js +73 -64
  23. package/lib/less/functions/default.js +9 -11
  24. package/lib/less/functions/function-caller.js +35 -34
  25. package/lib/less/functions/function-registry.js +16 -17
  26. package/lib/less/functions/index.js +33 -33
  27. package/lib/less/functions/list.js +88 -75
  28. package/lib/less/functions/math-helper.js +8 -11
  29. package/lib/less/functions/math.js +21 -21
  30. package/lib/less/functions/number.js +42 -53
  31. package/lib/less/functions/string.js +18 -22
  32. package/lib/less/functions/style.js +21 -20
  33. package/lib/less/functions/svg.js +83 -82
  34. package/lib/less/functions/types.js +28 -32
  35. package/lib/less/import-manager.js +73 -64
  36. package/lib/less/index.js +65 -65
  37. package/lib/less/less-error.js +63 -45
  38. package/lib/less/logger.js +11 -14
  39. package/lib/less/parse-tree.js +52 -53
  40. package/lib/less/parse.js +44 -44
  41. package/lib/less/parser/parser-input.js +151 -113
  42. package/lib/less/parser/parser.js +864 -658
  43. package/lib/less/plugin-manager.js +57 -46
  44. package/lib/less/render.js +17 -23
  45. package/lib/less/source-map-builder.js +52 -43
  46. package/lib/less/source-map-output.js +56 -43
  47. package/lib/less/transform-tree.js +40 -30
  48. package/lib/less/tree/anonymous.js +52 -28
  49. package/lib/less/tree/assignment.js +44 -27
  50. package/lib/less/tree/atrule-syntax.js +4 -6
  51. package/lib/less/tree/atrule.js +247 -140
  52. package/lib/less/tree/attribute.js +55 -24
  53. package/lib/less/tree/call.js +70 -42
  54. package/lib/less/tree/color.js +194 -145
  55. package/lib/less/tree/combinator.js +31 -21
  56. package/lib/less/tree/comment.js +44 -23
  57. package/lib/less/tree/condition.js +61 -36
  58. package/lib/less/tree/container.js +90 -34
  59. package/lib/less/tree/debug-info.js +28 -15
  60. package/lib/less/tree/declaration.js +97 -52
  61. package/lib/less/tree/detached-ruleset.js +42 -24
  62. package/lib/less/tree/dimension.js +127 -71
  63. package/lib/less/tree/element.js +82 -52
  64. package/lib/less/tree/expression.js +75 -50
  65. package/lib/less/tree/extend.js +71 -42
  66. package/lib/less/tree/import.js +184 -110
  67. package/lib/less/tree/index.js +52 -81
  68. package/lib/less/tree/javascript.js +43 -32
  69. package/lib/less/tree/js-eval-node.js +46 -32
  70. package/lib/less/tree/keyword.js +25 -17
  71. package/lib/less/tree/media.js +77 -35
  72. package/lib/less/tree/merge-rules.js +47 -0
  73. package/lib/less/tree/mixin-call.js +181 -98
  74. package/lib/less/tree/mixin-definition.js +211 -117
  75. package/lib/less/tree/namespace-value.js +63 -44
  76. package/lib/less/tree/negative.js +34 -21
  77. package/lib/less/tree/nested-at-rule.js +149 -66
  78. package/lib/less/tree/node.js +225 -90
  79. package/lib/less/tree/operation.js +59 -34
  80. package/lib/less/tree/paren.js +34 -17
  81. package/lib/less/tree/property.js +66 -35
  82. package/lib/less/tree/query-in-parens.js +52 -60
  83. package/lib/less/tree/quoted.js +93 -44
  84. package/lib/less/tree/ruleset.js +632 -318
  85. package/lib/less/tree/selector.js +151 -77
  86. package/lib/less/tree/unicode-descriptor.js +14 -12
  87. package/lib/less/tree/unit.js +111 -63
  88. package/lib/less/tree/url.js +62 -38
  89. package/lib/less/tree/value.js +50 -34
  90. package/lib/less/tree/variable-call.js +47 -30
  91. package/lib/less/tree/variable.js +53 -31
  92. package/lib/less/utils.js +44 -47
  93. package/lib/less/visitors/extend-visitor.js +233 -172
  94. package/lib/less/visitors/import-sequencer.js +24 -24
  95. package/lib/less/visitors/import-visitor.js +62 -52
  96. package/lib/less/visitors/index.js +14 -17
  97. package/lib/less/visitors/join-selector-visitor.js +40 -37
  98. package/lib/less/visitors/set-tree-visibility-visitor.js +32 -18
  99. package/lib/less/visitors/to-css-visitor.js +135 -128
  100. package/lib/less/visitors/visitor.js +60 -45
  101. package/lib/less-browser/add-default-options.js +23 -13
  102. package/lib/less-browser/bootstrap.js +23 -17
  103. package/lib/less-browser/browser.js +24 -21
  104. package/lib/less-browser/cache.js +17 -19
  105. package/lib/less-browser/error-reporting.js +52 -44
  106. package/lib/less-browser/file-manager.js +52 -42
  107. package/lib/less-browser/image-size.js +12 -12
  108. package/lib/less-browser/index.js +131 -105
  109. package/lib/less-browser/log-listener.js +30 -31
  110. package/lib/less-browser/plugin-loader.js +10 -10
  111. package/lib/less-browser/utils.js +19 -21
  112. package/lib/less-node/environment.js +32 -8
  113. package/lib/less-node/file-manager.js +62 -45
  114. package/lib/less-node/fs.js +11 -8
  115. package/lib/less-node/image-size.js +40 -31
  116. package/lib/less-node/index.js +28 -19
  117. package/lib/less-node/lessc-helper.js +20 -21
  118. package/lib/less-node/plugin-loader.js +35 -27
  119. package/lib/less-node/url-file-manager.js +33 -31
  120. package/package.json +29 -18
  121. package/.eslintignore +0 -6
  122. package/.eslintrc.js +0 -63
  123. package/Gruntfile.js +0 -403
  124. package/bower.json +0 -22
  125. package/lib/less/constants.js.map +0 -1
  126. package/lib/less/contexts.js.map +0 -1
  127. package/lib/less/data/colors.js.map +0 -1
  128. package/lib/less/data/index.js.map +0 -1
  129. package/lib/less/data/unit-conversions.js.map +0 -1
  130. package/lib/less/default-options.js.map +0 -1
  131. package/lib/less/environment/abstract-file-manager.js.map +0 -1
  132. package/lib/less/environment/abstract-plugin-loader.js.map +0 -1
  133. package/lib/less/environment/environment-api.js +0 -3
  134. package/lib/less/environment/environment-api.js.map +0 -1
  135. package/lib/less/environment/environment.js.map +0 -1
  136. package/lib/less/environment/file-manager-api.js +0 -3
  137. package/lib/less/environment/file-manager-api.js.map +0 -1
  138. package/lib/less/functions/boolean.js.map +0 -1
  139. package/lib/less/functions/color-blending.js.map +0 -1
  140. package/lib/less/functions/color.js.map +0 -1
  141. package/lib/less/functions/data-uri.js.map +0 -1
  142. package/lib/less/functions/default.js.map +0 -1
  143. package/lib/less/functions/function-caller.js.map +0 -1
  144. package/lib/less/functions/function-registry.js.map +0 -1
  145. package/lib/less/functions/index.js.map +0 -1
  146. package/lib/less/functions/list.js.map +0 -1
  147. package/lib/less/functions/math-helper.js.map +0 -1
  148. package/lib/less/functions/math.js.map +0 -1
  149. package/lib/less/functions/number.js.map +0 -1
  150. package/lib/less/functions/string.js.map +0 -1
  151. package/lib/less/functions/style.js.map +0 -1
  152. package/lib/less/functions/svg.js.map +0 -1
  153. package/lib/less/functions/types.js.map +0 -1
  154. package/lib/less/import-manager.js.map +0 -1
  155. package/lib/less/index.js.map +0 -1
  156. package/lib/less/less-error.js.map +0 -1
  157. package/lib/less/logger.js.map +0 -1
  158. package/lib/less/parse-tree.js.map +0 -1
  159. package/lib/less/parse.js.map +0 -1
  160. package/lib/less/parser/parser-input.js.map +0 -1
  161. package/lib/less/parser/parser.js.map +0 -1
  162. package/lib/less/plugin-manager.js.map +0 -1
  163. package/lib/less/render.js.map +0 -1
  164. package/lib/less/source-map-builder.js.map +0 -1
  165. package/lib/less/source-map-output.js.map +0 -1
  166. package/lib/less/transform-tree.js.map +0 -1
  167. package/lib/less/tree/anonymous.js.map +0 -1
  168. package/lib/less/tree/assignment.js.map +0 -1
  169. package/lib/less/tree/atrule-syntax.js.map +0 -1
  170. package/lib/less/tree/atrule.js.map +0 -1
  171. package/lib/less/tree/attribute.js.map +0 -1
  172. package/lib/less/tree/call.js.map +0 -1
  173. package/lib/less/tree/color.js.map +0 -1
  174. package/lib/less/tree/combinator.js.map +0 -1
  175. package/lib/less/tree/comment.js.map +0 -1
  176. package/lib/less/tree/condition.js.map +0 -1
  177. package/lib/less/tree/container.js.map +0 -1
  178. package/lib/less/tree/debug-info.js.map +0 -1
  179. package/lib/less/tree/declaration.js.map +0 -1
  180. package/lib/less/tree/detached-ruleset.js.map +0 -1
  181. package/lib/less/tree/dimension.js.map +0 -1
  182. package/lib/less/tree/element.js.map +0 -1
  183. package/lib/less/tree/expression.js.map +0 -1
  184. package/lib/less/tree/extend.js.map +0 -1
  185. package/lib/less/tree/import.js.map +0 -1
  186. package/lib/less/tree/index.js.map +0 -1
  187. package/lib/less/tree/javascript.js.map +0 -1
  188. package/lib/less/tree/js-eval-node.js.map +0 -1
  189. package/lib/less/tree/keyword.js.map +0 -1
  190. package/lib/less/tree/media.js.map +0 -1
  191. package/lib/less/tree/mixin-call.js.map +0 -1
  192. package/lib/less/tree/mixin-definition.js.map +0 -1
  193. package/lib/less/tree/namespace-value.js.map +0 -1
  194. package/lib/less/tree/negative.js.map +0 -1
  195. package/lib/less/tree/nested-at-rule.js.map +0 -1
  196. package/lib/less/tree/node.js.map +0 -1
  197. package/lib/less/tree/operation.js.map +0 -1
  198. package/lib/less/tree/paren.js.map +0 -1
  199. package/lib/less/tree/property.js.map +0 -1
  200. package/lib/less/tree/query-in-parens.js.map +0 -1
  201. package/lib/less/tree/quoted.js.map +0 -1
  202. package/lib/less/tree/ruleset.js.map +0 -1
  203. package/lib/less/tree/selector.js.map +0 -1
  204. package/lib/less/tree/unicode-descriptor.js.map +0 -1
  205. package/lib/less/tree/unit.js.map +0 -1
  206. package/lib/less/tree/url.js.map +0 -1
  207. package/lib/less/tree/value.js.map +0 -1
  208. package/lib/less/tree/variable-call.js.map +0 -1
  209. package/lib/less/tree/variable.js.map +0 -1
  210. package/lib/less/utils.js.map +0 -1
  211. package/lib/less/visitors/extend-visitor.js.map +0 -1
  212. package/lib/less/visitors/import-sequencer.js.map +0 -1
  213. package/lib/less/visitors/import-visitor.js.map +0 -1
  214. package/lib/less/visitors/index.js.map +0 -1
  215. package/lib/less/visitors/join-selector-visitor.js.map +0 -1
  216. package/lib/less/visitors/set-tree-visibility-visitor.js.map +0 -1
  217. package/lib/less/visitors/to-css-visitor.js.map +0 -1
  218. package/lib/less/visitors/visitor.js.map +0 -1
  219. package/lib/less-browser/add-default-options.js.map +0 -1
  220. package/lib/less-browser/bootstrap.js.map +0 -1
  221. package/lib/less-browser/browser.js.map +0 -1
  222. package/lib/less-browser/cache.js.map +0 -1
  223. package/lib/less-browser/error-reporting.js.map +0 -1
  224. package/lib/less-browser/file-manager.js.map +0 -1
  225. package/lib/less-browser/image-size.js.map +0 -1
  226. package/lib/less-browser/index.js.map +0 -1
  227. package/lib/less-browser/log-listener.js.map +0 -1
  228. package/lib/less-browser/plugin-loader.js.map +0 -1
  229. package/lib/less-browser/utils.js.map +0 -1
  230. package/lib/less-node/environment.js.map +0 -1
  231. package/lib/less-node/file-manager.js.map +0 -1
  232. package/lib/less-node/fs.js.map +0 -1
  233. package/lib/less-node/image-size.js.map +0 -1
  234. package/lib/less-node/index.js.map +0 -1
  235. package/lib/less-node/lessc-helper.js.map +0 -1
  236. package/lib/less-node/plugin-loader.js.map +0 -1
  237. package/lib/less-node/url-file-manager.js.map +0 -1
  238. package/scripts/coverage-lines.js +0 -207
  239. package/scripts/coverage-report.js +0 -158
  240. package/scripts/postinstall.js +0 -61
  241. package/test/.eslintrc.json +0 -9
  242. package/test/README.md +0 -3
  243. package/test/browser/common.js +0 -251
  244. package/test/browser/css/global-vars/simple.css +0 -3
  245. package/test/browser/css/modify-vars/simple.css +0 -8
  246. package/test/browser/css/plugin/plugin.css +0 -3
  247. package/test/browser/css/postProcessor/postProcessor.css +0 -4
  248. package/test/browser/css/relative-urls/urls.css +0 -36
  249. package/test/browser/css/rewrite-urls/urls.css +0 -36
  250. package/test/browser/css/rootpath/urls.css +0 -35
  251. package/test/browser/css/rootpath-relative/urls.css +0 -35
  252. package/test/browser/css/rootpath-rewrite-urls/urls.css +0 -35
  253. package/test/browser/css/urls.css +0 -54
  254. package/test/browser/generator/benchmark.config.js +0 -50
  255. package/test/browser/generator/generate.js +0 -78
  256. package/test/browser/generator/runner.config.js +0 -184
  257. package/test/browser/generator/runner.js +0 -2
  258. package/test/browser/generator/template.js +0 -104
  259. package/test/browser/generator/utils.js +0 -14
  260. package/test/browser/less/console-errors/test-error.less +0 -3
  261. package/test/browser/less/console-errors/test-error.txt +0 -2
  262. package/test/browser/less/errors/image-height-error.less +0 -3
  263. package/test/browser/less/errors/image-height-error.txt +0 -4
  264. package/test/browser/less/errors/image-size-error.less +0 -3
  265. package/test/browser/less/errors/image-size-error.txt +0 -4
  266. package/test/browser/less/errors/image-width-error.less +0 -3
  267. package/test/browser/less/errors/image-width-error.txt +0 -4
  268. package/test/browser/less/global-vars/simple.less +0 -3
  269. package/test/browser/less/imports/urls.less +0 -4
  270. package/test/browser/less/imports/urls2.less +0 -4
  271. package/test/browser/less/modify-vars/imports/simple2.less +0 -4
  272. package/test/browser/less/modify-vars/simple.less +0 -8
  273. package/test/browser/less/nested-gradient-with-svg-gradient/mixin-consumer.less +0 -5
  274. package/test/browser/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less +0 -15
  275. package/test/browser/less/plugin/plugin.js +0 -4
  276. package/test/browser/less/plugin/plugin.less +0 -4
  277. package/test/browser/less/postProcessor/postProcessor.less +0 -4
  278. package/test/browser/less/relative-urls/urls.less +0 -34
  279. package/test/browser/less/rewrite-urls/urls.less +0 -34
  280. package/test/browser/less/rootpath/urls.less +0 -33
  281. package/test/browser/less/rootpath-relative/urls.less +0 -33
  282. package/test/browser/less/rootpath-rewrite-urls/urls.less +0 -33
  283. package/test/browser/less/urls.less +0 -62
  284. package/test/browser/runner-VisitorPlugin-options.js +0 -3
  285. package/test/browser/runner-VisitorPlugin.js +0 -3
  286. package/test/browser/runner-browser-options.js +0 -51
  287. package/test/browser/runner-browser-spec.js +0 -12
  288. package/test/browser/runner-console-errors.js +0 -5
  289. package/test/browser/runner-errors-options.js +0 -6
  290. package/test/browser/runner-errors-spec.js +0 -3
  291. package/test/browser/runner-filemanagerPlugin-options.js +0 -5
  292. package/test/browser/runner-filemanagerPlugin.js +0 -3
  293. package/test/browser/runner-global-vars-options.js +0 -7
  294. package/test/browser/runner-global-vars-spec.js +0 -3
  295. package/test/browser/runner-main-options.js +0 -17
  296. package/test/browser/runner-main-spec.js +0 -7
  297. package/test/browser/runner-modify-vars-options.js +0 -5
  298. package/test/browser/runner-modify-vars-spec.js +0 -33
  299. package/test/browser/runner-no-js-errors-options.js +0 -4
  300. package/test/browser/runner-no-js-errors-spec.js +0 -3
  301. package/test/browser/runner-postProcessorPlugin-options.js +0 -3
  302. package/test/browser/runner-postProcessorPlugin.js +0 -3
  303. package/test/browser/runner-preProcessorPlugin-options.js +0 -3
  304. package/test/browser/runner-preProcessorPlugin.js +0 -3
  305. package/test/browser/runner-production-options.js +0 -3
  306. package/test/browser/runner-production-spec.js +0 -5
  307. package/test/browser/runner-relative-urls-options.js +0 -3
  308. package/test/browser/runner-relative-urls-spec.js +0 -3
  309. package/test/browser/runner-rewrite-urls-options.js +0 -3
  310. package/test/browser/runner-rewrite-urls-spec.js +0 -3
  311. package/test/browser/runner-rootpath-options.js +0 -3
  312. package/test/browser/runner-rootpath-relative-options.js +0 -4
  313. package/test/browser/runner-rootpath-relative-spec.js +0 -3
  314. package/test/browser/runner-rootpath-rewrite-urls-options.js +0 -4
  315. package/test/browser/runner-rootpath-rewrite-urls-spec.js +0 -3
  316. package/test/browser/runner-rootpath-spec.js +0 -3
  317. package/test/browser/runner-strict-units-options.js +0 -5
  318. package/test/browser/runner-strict-units-spec.js +0 -3
  319. package/test/index.js +0 -307
  320. package/test/less-test.js +0 -984
  321. package/test/mocha-playwright/runner.js +0 -210
  322. package/test/modify-vars.js +0 -28
  323. package/test/plugins/filemanager/index.js +0 -19
  324. package/test/plugins/postprocess/index.js +0 -14
  325. package/test/plugins/preprocess/index.js +0 -19
  326. package/test/plugins/visitor/index.js +0 -24
  327. package/test/sourcemaps/basic.json +0 -1
  328. package/test/sourcemaps/comprehensive.json +0 -1
  329. package/test/sourcemaps/custom-props.json +0 -1
  330. package/test/sourcemaps/index.html +0 -17
  331. package/test/sourcemaps/sourcemaps-basepath.json +0 -1
  332. package/test/sourcemaps/sourcemaps-include-source.json +0 -1
  333. package/test/sourcemaps/sourcemaps-rootpath.json +0 -1
  334. package/test/sourcemaps/sourcemaps-url.json +0 -1
  335. package/test/sourcemaps-disable-annotation/basic.json +0 -1
  336. package/test/sourcemaps-variable-selector/basic.json +0 -1
  337. package/test/test-es6.ts +0 -17
  338. package/test.less +0 -1
  339. package/tsconfig.build.json +0 -7
  340. package/tsconfig.json +0 -21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "less",
3
- "version": "4.5.1",
3
+ "version": "4.6.1",
4
4
  "description": "Leaner CSS",
5
5
  "homepage": "http://lesscss.org",
6
6
  "author": {
@@ -22,17 +22,33 @@
22
22
  "raw": "https://raw.githubusercontent.com/less/less.js/master/"
23
23
  },
24
24
  "license": "Apache-2.0",
25
+ "type": "module",
25
26
  "bin": {
26
27
  "lessc": "./bin/lessc"
27
28
  },
28
- "main": "index",
29
- "module": "./lib/less-node/index",
29
+ "main": "./lib/less-node/index.js",
30
+ "exports": {
31
+ ".": {
32
+ "import": "./lib/less-node/index.js",
33
+ "require": "./index.cjs"
34
+ },
35
+ "./lib/*": "./lib/*"
36
+ },
30
37
  "directories": {
31
38
  "test": "./test"
32
39
  },
40
+ "files": [
41
+ "bin",
42
+ "lib",
43
+ "!lib/**/*.map",
44
+ "dist",
45
+ "index.js",
46
+ "index.cjs",
47
+ "README.md"
48
+ ],
33
49
  "browser": "./dist/less.js",
34
50
  "engines": {
35
- "node": ">=14"
51
+ "node": ">=18"
36
52
  },
37
53
  "scripts": {
38
54
  "quicktest": "grunt quicktest",
@@ -41,12 +57,9 @@
41
57
  "grunt": "grunt",
42
58
  "lint": "eslint '**/*.{ts,js}'",
43
59
  "lint:fix": "eslint '**/*.{ts,js}' --fix",
44
- "build": "npm-run-all clean compile",
45
- "clean": "shx rm -rf ./lib tsconfig.tsbuildinfo",
46
- "compile": "tsc -p tsconfig.build.json",
47
- "dev": "tsc -p tsconfig.build.json -w",
48
- "prepublishOnly": "grunt dist",
49
- "postinstall": "node scripts/postinstall.js"
60
+ "typecheck": "tsc --noEmit",
61
+ "build": "node build/rollup.js --dist",
62
+ "prepublishOnly": "npm run typecheck && grunt dist"
50
63
  },
51
64
  "optionalDependencies": {
52
65
  "errno": "^0.1.1",
@@ -63,12 +76,13 @@
63
76
  "@rollup/plugin-commonjs": "^17.0.0",
64
77
  "@rollup/plugin-json": "^4.1.0",
65
78
  "@rollup/plugin-node-resolve": "^11.0.0",
79
+ "@types/node": "^18",
66
80
  "@typescript-eslint/eslint-plugin": "^4.28.0",
67
81
  "@typescript-eslint/parser": "^4.28.0",
68
82
  "benny": "^3.6.12",
69
83
  "bootstrap-less-port": "0.3.0",
70
- "chai": "^4.2.0",
71
84
  "c8": "^10.1.3",
85
+ "chai": "^4.2.0",
72
86
  "chalk": "^4.1.2",
73
87
  "cosmiconfig": "~9.0.0",
74
88
  "cross-env": "^7.0.3",
@@ -77,7 +91,7 @@
77
91
  "git-rev": "^0.2.1",
78
92
  "glob": "~11.0.3",
79
93
  "globby": "^10.0.1",
80
- "grunt": "^1.0.4",
94
+ "grunt": "^1.5.0",
81
95
  "grunt-cli": "^1.3.2",
82
96
  "grunt-contrib-clean": "^1.0.0",
83
97
  "grunt-contrib-connect": "^1.0.2",
@@ -101,12 +115,10 @@
101
115
  "resolve": "^1.17.0",
102
116
  "rollup": "^2.52.2",
103
117
  "rollup-plugin-terser": "^5.1.1",
104
- "rollup-plugin-typescript2": "^0.29.0",
105
118
  "semver": "^6.3.0",
106
119
  "shx": "^0.3.2",
107
120
  "time-grunt": "^1.3.0",
108
- "ts-node": "^10.9.1",
109
- "typescript": "^4.3.4",
121
+ "typescript": "^5.7.0",
110
122
  "uikit": "2.27.4"
111
123
  },
112
124
  "keywords": [
@@ -137,9 +149,8 @@
137
149
  "rawcurrent": "https://raw.github.com/less/less.js/v",
138
150
  "sourcearchive": "https://github.com/less/less.js/archive/v",
139
151
  "dependencies": {
140
- "copy-anything": "^2.0.1",
141
- "parse-node-version": "^1.0.1",
142
- "tslib": "^2.3.0"
152
+ "copy-anything": "^3.0.5",
153
+ "parse-node-version": "^1.0.1"
143
154
  },
144
155
  "gitHead": "1df9072ee9ebdadc791bf35dfb1dbc3ef9f1948f"
145
156
  }
package/.eslintignore DELETED
@@ -1,6 +0,0 @@
1
- Gruntfile.js
2
- dist/*
3
- tmp/*
4
- lib/*
5
- test/browser/less.min.js
6
- node_modules
package/.eslintrc.js DELETED
@@ -1,63 +0,0 @@
1
- module.exports = {
2
- 'parser': '@typescript-eslint/parser',
3
- 'extends': 'eslint:recommended',
4
- 'parserOptions': {
5
- 'ecmaVersion': 2018,
6
- 'sourceType': 'module'
7
- },
8
- 'plugins': ['@typescript-eslint'],
9
- 'env': {
10
- 'browser': true,
11
- 'node': true,
12
- 'mocha': true
13
- },
14
- 'globals': {},
15
- 'rules': {
16
- indent: ['error', 4, {
17
- SwitchCase: 1
18
- }],
19
- 'no-empty': ['error', { 'allowEmptyCatch': true }],
20
- quotes: ['error', 'single', {
21
- avoidEscape: true
22
- }],
23
- /**
24
- * The codebase uses some while(true) statements.
25
- * Refactor to remove this rule.
26
- */
27
- 'no-constant-condition': 0,
28
- /**
29
- * Less combines assignments with conditionals sometimes
30
- */
31
- 'no-cond-assign': 0,
32
- /**
33
- * @todo - remove when some kind of code style (XO?) is added
34
- */
35
- 'no-multiple-empty-lines': 'error'
36
- },
37
- 'overrides': [
38
- {
39
- files: ['*.ts'],
40
- extends: ['plugin:@typescript-eslint/recommended'],
41
- rules: {
42
- /**
43
- * Suppress until Less has better-defined types
44
- * @see https://github.com/less/less.js/discussions/3786
45
- */
46
- '@typescript-eslint/no-explicit-any': 0
47
- }
48
- },
49
- {
50
- files: ['test/**/*.{js,ts}', 'benchmark/index.js'],
51
- /**
52
- * @todo - fix later
53
- */
54
- rules: {
55
- 'no-undef': 0,
56
- 'no-useless-escape': 0,
57
- 'no-unused-vars': 0,
58
- 'no-redeclare': 0,
59
- '@typescript-eslint/no-unused-vars': 0
60
- }
61
- },
62
- ]
63
- }
package/Gruntfile.js DELETED
@@ -1,403 +0,0 @@
1
- "use strict";
2
-
3
- var resolve = require('resolve');
4
- var path = require('path');
5
-
6
- var testFolder = path.relative(process.cwd(), path.dirname(resolve.sync('@less/test-data')));
7
- var lessFolder = testFolder;
8
-
9
- module.exports = function(grunt) {
10
- grunt.option("stack", true);
11
-
12
- // Report the elapsed execution time of tasks.
13
- require("time-grunt")(grunt);
14
-
15
- var git = require("git-rev");
16
-
17
- // Sauce Labs browser
18
- var browsers = [
19
- // Desktop browsers
20
- {
21
- browserName: "chrome",
22
- version: "latest",
23
- platform: "Windows 7"
24
- },
25
- {
26
- browserName: "firefox",
27
- version: "latest",
28
- platform: "Linux"
29
- },
30
- {
31
- browserName: "safari",
32
- version: "9",
33
- platform: "OS X 10.11"
34
- },
35
- {
36
- browserName: "internet explorer",
37
- version: "8",
38
- platform: "Windows XP"
39
- },
40
- {
41
- browserName: "internet explorer",
42
- version: "11",
43
- platform: "Windows 8.1"
44
- },
45
- {
46
- browserName: "edge",
47
- version: "13",
48
- platform: "Windows 10"
49
- },
50
- // Mobile browsers
51
- {
52
- browserName: "ipad",
53
- deviceName: "iPad Air Simulator",
54
- deviceOrientation: "portrait",
55
- version: "8.4",
56
- platform: "OS X 10.9"
57
- },
58
- {
59
- browserName: "iphone",
60
- deviceName: "iPhone 5 Simulator",
61
- deviceOrientation: "portrait",
62
- version: "9.3",
63
- platform: "OS X 10.11"
64
- },
65
- {
66
- browserName: "android",
67
- deviceName: "Google Nexus 7 HD Emulator",
68
- deviceOrientation: "portrait",
69
- version: "4.4",
70
- platform: "Linux"
71
- }
72
- ];
73
-
74
- var sauceJobs = {};
75
-
76
- var browserTests = [
77
- "filemanager-plugin",
78
- "visitor-plugin",
79
- "global-vars",
80
- "modify-vars",
81
- "production",
82
- "rootpath-relative",
83
- "rootpath-rewrite-urls",
84
- "rootpath",
85
- "relative-urls",
86
- "rewrite-urls",
87
- "browser",
88
- "no-js-errors"
89
- ];
90
-
91
- function makeJob(testName) {
92
- sauceJobs[testName] = {
93
- options: {
94
- urls:
95
- testName === "all"
96
- ? browserTests.map(function(name) {
97
- return (
98
- "http://localhost:8081/tmp/browser/test-runner-" +
99
- name +
100
- ".html"
101
- );
102
- })
103
- : [
104
- "http://localhost:8081/tmp/browser/test-runner-" +
105
- testName +
106
- ".html"
107
- ],
108
- testname:
109
- testName === "all" ? "Unit Tests for Less.js" : testName,
110
- browsers: browsers,
111
- public: "public",
112
- recordVideo: false,
113
- videoUploadOnPass: false,
114
- recordScreenshots: process.env.TRAVIS_BRANCH !== "master",
115
- build:
116
- process.env.TRAVIS_BRANCH === "master"
117
- ? process.env.TRAVIS_JOB_ID
118
- : undefined,
119
- tags: [
120
- process.env.TRAVIS_BUILD_NUMBER,
121
- process.env.TRAVIS_PULL_REQUEST,
122
- process.env.TRAVIS_BRANCH
123
- ],
124
- statusCheckAttempts: -1,
125
- sauceConfig: {
126
- "idle-timeout": 100
127
- },
128
- throttled: 5,
129
- onTestComplete: function(result, callback) {
130
- // Called after a unit test is done, per page, per browser
131
- // 'result' param is the object returned by the test framework's reporter
132
- // 'callback' is a Node.js style callback function. You must invoke it after you
133
- // finish your work.
134
- // Pass a non-null value as the callback's first parameter if you want to throw an
135
- // exception. If your function is synchronous you can also throw exceptions
136
- // directly.
137
- // Passing true or false as the callback's second parameter passes or fails the
138
- // test. Passing undefined does not alter the test result. Please note that this
139
- // only affects the grunt task's result. You have to explicitly update the Sauce
140
- // Labs job's status via its REST API, if you want so.
141
-
142
- // This should be the encrypted value in Travis
143
- var user = process.env.SAUCE_USERNAME;
144
- var pass = process.env.SAUCE_ACCESS_KEY;
145
-
146
- git.short(function(hash) {
147
- require("phin")(
148
- {
149
- method: "PUT",
150
- url: [
151
- "https://saucelabs.com/rest/v1",
152
- user,
153
- "jobs",
154
- result.job_id
155
- ].join("/"),
156
- auth: { user: user, pass: pass },
157
- data: {
158
- passed: result.passed,
159
- build: "build-" + hash
160
- }
161
- },
162
- function(error, response) {
163
- if (error) {
164
- console.log(error);
165
- callback(error);
166
- } else if (response.statusCode !== 200) {
167
- console.log(response);
168
- callback(
169
- new Error("Unexpected response status")
170
- );
171
- } else {
172
- callback(null, result.passed);
173
- }
174
- }
175
- );
176
- });
177
- }
178
- }
179
- };
180
- }
181
-
182
- // Make the SauceLabs jobs
183
- ["all"].concat(browserTests).map(makeJob);
184
-
185
- // Project configuration.
186
- grunt.initConfig({
187
- shell: {
188
- options: {
189
- stdout: true,
190
- failOnError: true,
191
- execOptions: {
192
- maxBuffer: Infinity
193
- }
194
- },
195
- build: {
196
- command: [
197
- /** Browser runtime */
198
- "node build/rollup.js --dist",
199
- /** Node.js runtime */
200
- "npm run build"
201
- ].join(" && ")
202
- },
203
- testbuild: {
204
- command: [
205
- "npm run build",
206
- "node build/rollup.js --browser --out=./tmp/browser/less.min.js"
207
- ].join(" && ")
208
- },
209
- testcjs: {
210
- command: "npm run build"
211
- },
212
- testbrowser: {
213
- command: "node build/rollup.js --browser --out=./tmp/browser/less.min.js"
214
- },
215
- test: {
216
- command: 'npx ts-node test/test-es6.ts && node test/index.js'
217
- },
218
- generatebrowser: {
219
- command: 'node test/browser/generator/generate.js'
220
- },
221
- runbrowser: {
222
- command: 'node test/browser/generator/runner.js'
223
- },
224
- benchmark: {
225
- command: "node benchmark/index.js"
226
- },
227
- opts: {
228
- // test running with all current options (using `opts` since `options` means something already)
229
- command: [
230
- // @TODO: make this more thorough
231
- // CURRENT OPTIONS
232
- `node bin/lessc --ie-compat ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
233
- // --math
234
- `node bin/lessc --math=always ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
235
- `node bin/lessc --math=parens-division ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
236
- `node bin/lessc --math=parens ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
237
- `node bin/lessc --math=strict ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
238
- `node bin/lessc --math=strict-legacy ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
239
-
240
- // DEPRECATED OPTIONS
241
- // --strict-math
242
- `node bin/lessc --strict-math=on ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`
243
- ].join(" && ")
244
- },
245
- plugin: {
246
- command: [
247
- `node bin/lessc --clean-css="--s1 --advanced" ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`,
248
- "cd lib",
249
- `node ../bin/lessc --clean-css="--s1 --advanced" ../${lessFolder}/tests-unit/lazy-eval/lazy-eval.less ../tmp/lazy-eval.css`,
250
- `node ../bin/lessc --source-map=lazy-eval.css.map --autoprefix ../${lessFolder}/tests-unit/lazy-eval/lazy-eval.less ../tmp/lazy-eval.css`,
251
- "cd ..",
252
- // Test multiple plugins
253
- `node bin/lessc --plugin=clean-css="--s1 --advanced" --plugin=autoprefix="ie 11,Edge >= 13,Chrome >= 47,Firefox >= 45,iOS >= 9.2,Safari >= 9" ${lessFolder}/tests-unit/lazy-eval/lazy-eval.less tmp/lazy-eval.css`
254
- ].join(" && ")
255
- },
256
- "sourcemap-test": {
257
- // quoted value doesn't seem to get picked up by time-grunt, or isn't output, at least; maybe just "sourcemap" is fine?
258
- command: [
259
- `node bin/lessc --source-map=test/sourcemaps/maps/import-map.map ${lessFolder}/tests-unit/import/import.less test/sourcemaps/import.css`,
260
- `node bin/lessc --source-map ${lessFolder}/tests-config/sourcemaps/basic.less test/sourcemaps/basic.css`
261
- ].join(" && ")
262
- }
263
- },
264
-
265
- eslint: {
266
- target: [
267
- "test/**/*.js",
268
- "src/less*/**/*.js",
269
- "!test/less/errors/plugin/plugin-error.js"
270
- ],
271
- options: {
272
- configFile: ".eslintrc.js",
273
- fix: true
274
- }
275
- },
276
-
277
- connect: {
278
- server: {
279
- options: {
280
- port: 8081,
281
- base: '../..'
282
- }
283
- }
284
- },
285
-
286
- "saucelabs-mocha": sauceJobs,
287
-
288
- // Clean the version of less built for the tests
289
- clean: {
290
- test: ["test/browser/less.js", "tmp", "test/less-bom"],
291
- "sourcemap-test": [
292
- "test/sourcemaps/*.css",
293
- "test/sourcemaps/*.map"
294
- ],
295
- sauce_log: ["sc_*.log"]
296
- }
297
- });
298
-
299
- // Load these plugins to provide the necessary tasks
300
- grunt.loadNpmTasks("grunt-saucelabs");
301
-
302
- require("jit-grunt")(grunt);
303
-
304
- // by default, run tests
305
- grunt.registerTask("default", ["test"]);
306
-
307
- // Release
308
- grunt.registerTask("dist", [
309
- "shell:build"
310
- ]);
311
-
312
- // Create the browser version of less.js
313
- grunt.registerTask("browsertest-lessjs", [
314
- "shell:testbrowser"
315
- ]);
316
-
317
- // Run all browser tests
318
- grunt.registerTask("browsertest", [
319
- "browsertest-lessjs",
320
- "connect",
321
- "shell:runbrowser"
322
- ]);
323
-
324
- // setup a web server to run the browser tests in a browser rather than phantom
325
- grunt.registerTask("browsertest-server", [
326
- "browsertest-lessjs",
327
- "shell:generatebrowser",
328
- "connect::keepalive"
329
- ]);
330
-
331
- var previous_force_state = grunt.option("force");
332
-
333
- grunt.registerTask("force", function(set) {
334
- if (set === "on") {
335
- grunt.option("force", true);
336
- } else if (set === "off") {
337
- grunt.option("force", false);
338
- } else if (set === "restore") {
339
- grunt.option("force", previous_force_state);
340
- }
341
- });
342
-
343
- grunt.registerTask("sauce", [
344
- "browsertest-lessjs",
345
- "shell:generatebrowser",
346
- "connect",
347
- "sauce-after-setup"
348
- ]);
349
-
350
- grunt.registerTask("sauce-after-setup", [
351
- "saucelabs-mocha:all",
352
- "clean:sauce_log"
353
- ]);
354
-
355
- var testTasks = [
356
- "clean",
357
- "eslint",
358
- "shell:testbuild",
359
- "shell:test",
360
- "shell:opts",
361
- "shell:plugin",
362
- "connect",
363
- "shell:runbrowser"
364
- ];
365
-
366
- if (
367
- isNaN(Number(process.env.TRAVIS_PULL_REQUEST, 10)) &&
368
- (process.env.TRAVIS_BRANCH === "master")
369
- ) {
370
- testTasks.push("force:on");
371
- testTasks.push("sauce-after-setup");
372
- testTasks.push("force:off");
373
- }
374
-
375
- // Run all tests
376
- grunt.registerTask("test", testTasks);
377
-
378
- // Run shell option tests (includes deprecated options)
379
- grunt.registerTask("shell-options", ["shell:opts"]);
380
-
381
- // Run shell plugin test
382
- grunt.registerTask("shell-plugin", ["shell:plugin"]);
383
-
384
- // Quickly build and run Node tests
385
- grunt.registerTask("quicktest", [
386
- "shell:testcjs",
387
- "shell:test"
388
- ]);
389
-
390
- // generate a good test environment for testing sourcemaps
391
- grunt.registerTask("sourcemap-test", [
392
- "clean:sourcemap-test",
393
- "shell:build:lessc",
394
- "shell:sourcemap-test",
395
- "connect::keepalive"
396
- ]);
397
-
398
- // Run benchmark
399
- grunt.registerTask("benchmark", [
400
- "shell:testcjs",
401
- "shell:benchmark"
402
- ]);
403
- };
package/bower.json DELETED
@@ -1,22 +0,0 @@
1
- {
2
- "name": "less",
3
- "main": "dist/less.js",
4
- "ignore": [
5
- "**/.*",
6
- "benchmark",
7
- "bin",
8
- "lib",
9
- "src",
10
- "build",
11
- "test",
12
- "*.md",
13
- "LICENSE",
14
- "Gruntfile.js",
15
- "*.json",
16
- "*.yml",
17
- ".gitattributes",
18
- ".npmignore",
19
- ".eslintignore",
20
- "tsconfig.json"
21
- ]
22
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/less/constants.js"],"names":[],"mappings":";;;AACa,QAAA,IAAI,GAAG;IAChB,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;IACT,6BAA6B;CAChC,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;CACT,CAAC","sourcesContent":["\nexport const Math = {\n ALWAYS: 0,\n PARENS_DIVISION: 1,\n PARENS: 2\n // removed - STRICT_LEGACY: 3\n};\n\nexport const RewriteUrls = {\n OFF: 0,\n LOCAL: 1,\n ALL: 2\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../src/less/contexts.js"],"names":[],"mappings":"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","sourcesContent":["const contexts = {};\nexport default contexts;\nimport * as Constants from './constants';\n\nconst copyFromOriginal = function copyFromOriginal(original, destination, propertiesToCopy) {\n if (!original) { return; }\n\n for (let i = 0; i < propertiesToCopy.length; i++) {\n if (Object.prototype.hasOwnProperty.call(original, propertiesToCopy[i])) {\n destination[propertiesToCopy[i]] = original[propertiesToCopy[i]];\n }\n }\n};\n\n/*\n parse is used whilst parsing\n */\nconst parseCopyProperties = [\n // options\n 'paths', // option - unmodified - paths to search for imports on\n 'rewriteUrls', // option - whether to adjust URL's to be relative\n 'rootpath', // option - rootpath to append to URL's\n 'strictImports', // option -\n 'insecure', // option - whether to allow imports from insecure ssl hosts\n 'dumpLineNumbers', // option - @deprecated The dumpLineNumbers option is deprecated. Use sourcemaps instead. All modes ('comments', 'mediaquery', 'all') will be removed in a future version.\n 'compress', // option - whether to compress\n 'syncImport', // option - whether to import synchronously\n 'mime', // browser only - mime type for sheet import\n 'useFileCache', // browser only - whether to use the per file session cache\n // context\n 'processImports', // option & context - whether to process imports. if false then imports will not be imported.\n // Used by the import manager to stop multiple import visitors being created.\n 'pluginManager', // Used as the plugin manager for the session\n 'quiet', // option - whether to log warnings\n];\n\ncontexts.Parse = function(options) {\n copyFromOriginal(options, this, parseCopyProperties);\n\n if (typeof this.paths === 'string') { this.paths = [this.paths]; }\n};\n\nconst evalCopyProperties = [\n 'paths', // additional include paths\n 'compress', // whether to compress\n 'math', // whether math has to be within parenthesis\n 'strictUnits', // whether units need to evaluate correctly\n 'sourceMap', // whether to output a source map\n 'importMultiple', // whether we are currently importing multiple copies\n 'urlArgs', // whether to add args into url tokens\n 'javascriptEnabled', // option - whether Inline JavaScript is enabled. if undefined, defaults to false\n 'pluginManager', // Used as the plugin manager for the session\n 'importantScope', // used to bubble up !important statements\n 'rewriteUrls' // option - whether to adjust URL's to be relative\n];\n\ncontexts.Eval = function(options, frames) {\n copyFromOriginal(options, this, evalCopyProperties);\n\n if (typeof this.paths === 'string') { this.paths = [this.paths]; }\n\n this.frames = frames || [];\n this.importantScope = this.importantScope || [];\n};\n\ncontexts.Eval.prototype.enterCalc = function () {\n if (!this.calcStack) {\n this.calcStack = [];\n }\n this.calcStack.push(true);\n this.inCalc = true;\n};\n\ncontexts.Eval.prototype.exitCalc = function () {\n this.calcStack.pop();\n if (!this.calcStack.length) {\n this.inCalc = false;\n }\n};\n\ncontexts.Eval.prototype.inParenthesis = function () {\n if (!this.parensStack) {\n this.parensStack = [];\n }\n this.parensStack.push(true);\n};\n\ncontexts.Eval.prototype.outOfParenthesis = function () {\n this.parensStack.pop();\n};\n\ncontexts.Eval.prototype.inCalc = false;\ncontexts.Eval.prototype.mathOn = true;\ncontexts.Eval.prototype.isMathOn = function (op) {\n if (!this.mathOn) {\n return false;\n }\n if (op === '/' && this.math !== Constants.Math.ALWAYS && (!this.parensStack || !this.parensStack.length)) {\n return false;\n }\n if (this.math > Constants.Math.PARENS_DIVISION) {\n return this.parensStack && this.parensStack.length;\n }\n return true;\n};\n\ncontexts.Eval.prototype.pathRequiresRewrite = function (path) {\n const isRelative = this.rewriteUrls === Constants.RewriteUrls.LOCAL ? isPathLocalRelative : isPathRelative;\n\n return isRelative(path);\n};\n\ncontexts.Eval.prototype.rewritePath = function (path, rootpath) {\n let newPath;\n\n rootpath = rootpath || '';\n newPath = this.normalizePath(rootpath + path);\n\n // If a path was explicit relative and the rootpath was not an absolute path\n // we must ensure that the new path is also explicit relative.\n if (isPathLocalRelative(path) &&\n isPathRelative(rootpath) &&\n isPathLocalRelative(newPath) === false) {\n newPath = `./${newPath}`;\n }\n\n return newPath;\n};\n\ncontexts.Eval.prototype.normalizePath = function (path) {\n const segments = path.split('/').reverse();\n let segment;\n\n path = [];\n while (segments.length !== 0) {\n segment = segments.pop();\n switch ( segment ) {\n case '.':\n break;\n case '..':\n if ((path.length === 0) || (path[path.length - 1] === '..')) {\n path.push( segment );\n } else {\n path.pop();\n }\n break;\n default:\n path.push(segment);\n break;\n }\n }\n\n return path.join('/');\n};\n\nfunction isPathRelative(path) {\n return !/^(?:[a-z-]+:|\\/|#)/i.test(path);\n}\n\nfunction isPathLocalRelative(path) {\n return path.charAt(0) === '.';\n}\n\n// todo - do the same for the toCSS ?\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/less/data/colors.js"],"names":[],"mappings":"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","sourcesContent":["export default {\n 'aliceblue':'#f0f8ff',\n 'antiquewhite':'#faebd7',\n 'aqua':'#00ffff',\n 'aquamarine':'#7fffd4',\n 'azure':'#f0ffff',\n 'beige':'#f5f5dc',\n 'bisque':'#ffe4c4',\n 'black':'#000000',\n 'blanchedalmond':'#ffebcd',\n 'blue':'#0000ff',\n 'blueviolet':'#8a2be2',\n 'brown':'#a52a2a',\n 'burlywood':'#deb887',\n 'cadetblue':'#5f9ea0',\n 'chartreuse':'#7fff00',\n 'chocolate':'#d2691e',\n 'coral':'#ff7f50',\n 'cornflowerblue':'#6495ed',\n 'cornsilk':'#fff8dc',\n 'crimson':'#dc143c',\n 'cyan':'#00ffff',\n 'darkblue':'#00008b',\n 'darkcyan':'#008b8b',\n 'darkgoldenrod':'#b8860b',\n 'darkgray':'#a9a9a9',\n 'darkgrey':'#a9a9a9',\n 'darkgreen':'#006400',\n 'darkkhaki':'#bdb76b',\n 'darkmagenta':'#8b008b',\n 'darkolivegreen':'#556b2f',\n 'darkorange':'#ff8c00',\n 'darkorchid':'#9932cc',\n 'darkred':'#8b0000',\n 'darksalmon':'#e9967a',\n 'darkseagreen':'#8fbc8f',\n 'darkslateblue':'#483d8b',\n 'darkslategray':'#2f4f4f',\n 'darkslategrey':'#2f4f4f',\n 'darkturquoise':'#00ced1',\n 'darkviolet':'#9400d3',\n 'deeppink':'#ff1493',\n 'deepskyblue':'#00bfff',\n 'dimgray':'#696969',\n 'dimgrey':'#696969',\n 'dodgerblue':'#1e90ff',\n 'firebrick':'#b22222',\n 'floralwhite':'#fffaf0',\n 'forestgreen':'#228b22',\n 'fuchsia':'#ff00ff',\n 'gainsboro':'#dcdcdc',\n 'ghostwhite':'#f8f8ff',\n 'gold':'#ffd700',\n 'goldenrod':'#daa520',\n 'gray':'#808080',\n 'grey':'#808080',\n 'green':'#008000',\n 'greenyellow':'#adff2f',\n 'honeydew':'#f0fff0',\n 'hotpink':'#ff69b4',\n 'indianred':'#cd5c5c',\n 'indigo':'#4b0082',\n 'ivory':'#fffff0',\n 'khaki':'#f0e68c',\n 'lavender':'#e6e6fa',\n 'lavenderblush':'#fff0f5',\n 'lawngreen':'#7cfc00',\n 'lemonchiffon':'#fffacd',\n 'lightblue':'#add8e6',\n 'lightcoral':'#f08080',\n 'lightcyan':'#e0ffff',\n 'lightgoldenrodyellow':'#fafad2',\n 'lightgray':'#d3d3d3',\n 'lightgrey':'#d3d3d3',\n 'lightgreen':'#90ee90',\n 'lightpink':'#ffb6c1',\n 'lightsalmon':'#ffa07a',\n 'lightseagreen':'#20b2aa',\n 'lightskyblue':'#87cefa',\n 'lightslategray':'#778899',\n 'lightslategrey':'#778899',\n 'lightsteelblue':'#b0c4de',\n 'lightyellow':'#ffffe0',\n 'lime':'#00ff00',\n 'limegreen':'#32cd32',\n 'linen':'#faf0e6',\n 'magenta':'#ff00ff',\n 'maroon':'#800000',\n 'mediumaquamarine':'#66cdaa',\n 'mediumblue':'#0000cd',\n 'mediumorchid':'#ba55d3',\n 'mediumpurple':'#9370d8',\n 'mediumseagreen':'#3cb371',\n 'mediumslateblue':'#7b68ee',\n 'mediumspringgreen':'#00fa9a',\n 'mediumturquoise':'#48d1cc',\n 'mediumvioletred':'#c71585',\n 'midnightblue':'#191970',\n 'mintcream':'#f5fffa',\n 'mistyrose':'#ffe4e1',\n 'moccasin':'#ffe4b5',\n 'navajowhite':'#ffdead',\n 'navy':'#000080',\n 'oldlace':'#fdf5e6',\n 'olive':'#808000',\n 'olivedrab':'#6b8e23',\n 'orange':'#ffa500',\n 'orangered':'#ff4500',\n 'orchid':'#da70d6',\n 'palegoldenrod':'#eee8aa',\n 'palegreen':'#98fb98',\n 'paleturquoise':'#afeeee',\n 'palevioletred':'#d87093',\n 'papayawhip':'#ffefd5',\n 'peachpuff':'#ffdab9',\n 'peru':'#cd853f',\n 'pink':'#ffc0cb',\n 'plum':'#dda0dd',\n 'powderblue':'#b0e0e6',\n 'purple':'#800080',\n 'rebeccapurple':'#663399',\n 'red':'#ff0000',\n 'rosybrown':'#bc8f8f',\n 'royalblue':'#4169e1',\n 'saddlebrown':'#8b4513',\n 'salmon':'#fa8072',\n 'sandybrown':'#f4a460',\n 'seagreen':'#2e8b57',\n 'seashell':'#fff5ee',\n 'sienna':'#a0522d',\n 'silver':'#c0c0c0',\n 'skyblue':'#87ceeb',\n 'slateblue':'#6a5acd',\n 'slategray':'#708090',\n 'slategrey':'#708090',\n 'snow':'#fffafa',\n 'springgreen':'#00ff7f',\n 'steelblue':'#4682b4',\n 'tan':'#d2b48c',\n 'teal':'#008080',\n 'thistle':'#d8bfd8',\n 'tomato':'#ff6347',\n 'turquoise':'#40e0d0',\n 'violet':'#ee82ee',\n 'wheat':'#f5deb3',\n 'white':'#ffffff',\n 'whitesmoke':'#f5f5f5',\n 'yellow':'#ffff00',\n 'yellowgreen':'#9acd32'\n};"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/less/data/index.js"],"names":[],"mappings":";;;AAAA,4DAA8B;AAC9B,gFAAiD;AAEjD,kBAAe,EAAE,MAAM,kBAAA,EAAE,eAAe,4BAAA,EAAE,CAAC","sourcesContent":["import colors from './colors';\nimport unitConversions from './unit-conversions';\n\nexport default { colors, unitConversions };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unit-conversions.js","sourceRoot":"","sources":["../../../src/less/data/unit-conversions.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM,GAAG,EAAE;QACjB,IAAI,EAAE,MAAM,GAAG,EAAE;QACjB,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE;KACzB;IACD,QAAQ,EAAE;QACN,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,KAAK;KACd;IACD,KAAK,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,EAAE,CAAC,GAAG,GAAG;QACd,MAAM,EAAE,CAAC,GAAG,GAAG;QACf,MAAM,EAAE,CAAC;KACZ;CACJ,CAAC","sourcesContent":["export default {\n length: {\n 'm': 1,\n 'cm': 0.01,\n 'mm': 0.001,\n 'in': 0.0254,\n 'px': 0.0254 / 96,\n 'pt': 0.0254 / 72,\n 'pc': 0.0254 / 72 * 12\n },\n duration: {\n 's': 1,\n 'ms': 0.001\n },\n angle: {\n 'rad': 1 / (2 * Math.PI),\n 'deg': 1 / 360,\n 'grad': 1 / 400,\n 'turn': 1\n }\n};"]}