less-execjs 2.6.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (632) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.gitmodules +9 -0
  4. data/.rubocop.yml +8 -0
  5. data/.travis.yml +19 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE +177 -0
  8. data/README.md +55 -0
  9. data/Rakefile +8 -0
  10. data/bin/lessc +22 -0
  11. data/less-execjs.gemspec +34 -0
  12. data/lib/less-execjs.rb +1 -0
  13. data/lib/less.rb +29 -0
  14. data/lib/less/compiler.js +24 -0
  15. data/lib/less/defaults.rb +15 -0
  16. data/lib/less/errors.rb +16 -0
  17. data/lib/less/js/image-size.js +4 -0
  18. data/lib/less/js/image-size/.gitignore +7 -0
  19. data/lib/less/js/image-size/.jshintrc +19 -0
  20. data/lib/less/js/image-size/.travis.yml +12 -0
  21. data/lib/less/js/image-size/Contributors.md +9 -0
  22. data/lib/less/js/image-size/LICENSE +9 -0
  23. data/lib/less/js/image-size/Readme.md +87 -0
  24. data/lib/less/js/image-size/bin/image-size.js +36 -0
  25. data/lib/less/js/image-size/lib/detector.js +19 -0
  26. data/lib/less/js/image-size/lib/index.js +104 -0
  27. data/lib/less/js/image-size/lib/readUInt.js +11 -0
  28. data/lib/less/js/image-size/lib/types.js +12 -0
  29. data/lib/less/js/image-size/lib/types/bmp.js +17 -0
  30. data/lib/less/js/image-size/lib/types/gif.js +19 -0
  31. data/lib/less/js/image-size/lib/types/jpg.js +62 -0
  32. data/lib/less/js/image-size/lib/types/png.js +23 -0
  33. data/lib/less/js/image-size/lib/types/psd.js +17 -0
  34. data/lib/less/js/image-size/lib/types/svg.js +78 -0
  35. data/lib/less/js/image-size/lib/types/tiff.js +118 -0
  36. data/lib/less/js/image-size/lib/types/webp.js +51 -0
  37. data/lib/less/js/image-size/package.json +49 -0
  38. data/lib/less/js/image-size/specs/.jshintrc +9 -0
  39. data/lib/less/js/image-size/specs/complexity.js +58 -0
  40. data/lib/less/js/image-size/specs/fs-close.spec.js +61 -0
  41. data/lib/less/js/image-size/specs/images/invalid/malformed.svg +1 -0
  42. data/lib/less/js/image-size/specs/images/invalid/sample.png +0 -0
  43. data/lib/less/js/image-size/specs/images/invalid/width.svg +1 -0
  44. data/lib/less/js/image-size/specs/images/valid/bmp/sample.bmp +0 -0
  45. data/lib/less/js/image-size/specs/images/valid/gif/sample.gif +0 -0
  46. data/lib/less/js/image-size/specs/images/valid/jpg/large.jpg +0 -0
  47. data/lib/less/js/image-size/specs/images/valid/jpg/progressive.jpg +0 -0
  48. data/lib/less/js/image-size/specs/images/valid/jpg/sample.jpg +0 -0
  49. data/lib/less/js/image-size/specs/images/valid/jpg/sampleExported.jpg +0 -0
  50. data/lib/less/js/image-size/specs/images/valid/jpg/very-large.jpg +0 -0
  51. data/lib/less/js/image-size/specs/images/valid/png/sample.png +0 -0
  52. data/lib/less/js/image-size/specs/images/valid/psd/sample.psd +0 -0
  53. data/lib/less/js/image-size/specs/images/valid/svg/percentage.svg +4 -0
  54. data/lib/less/js/image-size/specs/images/valid/svg/single-quotes.svg +5 -0
  55. data/lib/less/js/image-size/specs/images/valid/svg/viewbox-height.svg +4 -0
  56. data/lib/less/js/image-size/specs/images/valid/svg/viewbox-width-height.svg +4 -0
  57. data/lib/less/js/image-size/specs/images/valid/svg/viewbox-width.svg +4 -0
  58. data/lib/less/js/image-size/specs/images/valid/svg/viewbox.svg +4 -0
  59. data/lib/less/js/image-size/specs/images/valid/svg/width-height.svg +5 -0
  60. data/lib/less/js/image-size/specs/images/valid/tiff/big-endian.tiff +0 -0
  61. data/lib/less/js/image-size/specs/images/valid/tiff/jpeg.tiff +0 -0
  62. data/lib/less/js/image-size/specs/images/valid/tiff/little-endian.tiff +0 -0
  63. data/lib/less/js/image-size/specs/images/valid/webp/lossless.webp +0 -0
  64. data/lib/less/js/image-size/specs/images/valid/webp/lossy.webp +0 -0
  65. data/lib/less/js/image-size/specs/invalid.spec.js +53 -0
  66. data/lib/less/js/image-size/specs/others.spec.js +77 -0
  67. data/lib/less/js/image-size/specs/unsupported.spec.js +34 -0
  68. data/lib/less/js/image-size/specs/valid.spec.js +75 -0
  69. data/lib/less/js/less/.gitattributes +11 -0
  70. data/lib/less/js/less/.gitignore +27 -0
  71. data/lib/less/js/less/.jscsrc +73 -0
  72. data/lib/less/js/less/.jshintrc +11 -0
  73. data/lib/less/js/less/.npmignore +9 -0
  74. data/lib/less/js/less/.travis.yml +14 -0
  75. data/lib/less/js/less/CHANGELOG.md +561 -0
  76. data/lib/less/js/less/CONTRIBUTING.md +50 -0
  77. data/lib/less/js/less/Gruntfile.js +459 -0
  78. data/lib/less/js/less/LICENSE +177 -0
  79. data/lib/less/js/less/README.md +56 -0
  80. data/lib/less/js/less/appveyor.yml +32 -0
  81. data/lib/less/js/less/benchmark/benchmark.less +3979 -0
  82. data/lib/less/js/less/benchmark/index.js +55 -0
  83. data/lib/less/js/less/bin/lessc +488 -0
  84. data/lib/less/js/less/bower.json +24 -0
  85. data/lib/less/js/less/browser.js +1 -0
  86. data/lib/less/js/less/build.gradle +347 -0
  87. data/lib/less/js/less/build/amd.js +6 -0
  88. data/lib/less/js/less/build/build.yml +130 -0
  89. data/lib/less/js/less/build/require-rhino.js +12 -0
  90. data/lib/less/js/less/build/rhino-header.js +4 -0
  91. data/lib/less/js/less/build/rhino-modules.js +131 -0
  92. data/lib/less/js/less/build/tasks/.gitkeep +1 -0
  93. data/lib/less/js/less/dist/less.js +10500 -0
  94. data/lib/less/js/less/dist/less.min.js +20 -0
  95. data/lib/less/js/less/gradle/wrapper/gradle-wrapper.jar +0 -0
  96. data/lib/less/js/less/gradle/wrapper/gradle-wrapper.properties +6 -0
  97. data/lib/less/js/less/gradlew +164 -0
  98. data/lib/less/js/less/gradlew.bat +90 -0
  99. data/lib/less/js/less/index.js +1 -0
  100. data/lib/less/js/less/lib/less-browser/add-default-options.js +46 -0
  101. data/lib/less/js/less/lib/less-browser/bootstrap.js +51 -0
  102. data/lib/less/js/less/lib/less-browser/browser.js +64 -0
  103. data/lib/less/js/less/lib/less-browser/cache.js +42 -0
  104. data/lib/less/js/less/lib/less-browser/error-reporting.js +170 -0
  105. data/lib/less/js/less/lib/less-browser/file-manager.js +119 -0
  106. data/lib/less/js/less/lib/less-browser/image-size.js +28 -0
  107. data/lib/less/js/less/lib/less-browser/index.js +263 -0
  108. data/lib/less/js/less/lib/less-browser/log-listener.js +43 -0
  109. data/lib/less/js/less/lib/less-browser/utils.js +24 -0
  110. data/lib/less/js/less/lib/less-node/environment.js +14 -0
  111. data/lib/less/js/less/lib/less-node/file-manager.js +108 -0
  112. data/lib/less/js/less/lib/less-node/fs.js +10 -0
  113. data/lib/less/js/less/lib/less-node/image-size.js +57 -0
  114. data/lib/less/js/less/lib/less-node/index.js +74 -0
  115. data/lib/less/js/less/lib/less-node/lessc-helper.js +82 -0
  116. data/lib/less/js/less/lib/less-node/plugin-loader.js +91 -0
  117. data/lib/less/js/less/lib/less-node/url-file-manager.js +56 -0
  118. data/lib/less/js/less/lib/less-rhino/index.js +450 -0
  119. data/lib/less/js/less/lib/less/contexts.js +111 -0
  120. data/lib/less/js/less/lib/less/data/colors.js +150 -0
  121. data/lib/less/js/less/lib/less/data/index.js +4 -0
  122. data/lib/less/js/less/lib/less/data/unit-conversions.js +21 -0
  123. data/lib/less/js/less/lib/less/environment/abstract-file-manager.js +123 -0
  124. data/lib/less/js/less/lib/less/environment/environment-api.js +25 -0
  125. data/lib/less/js/less/lib/less/environment/environment.js +51 -0
  126. data/lib/less/js/less/lib/less/environment/file-manager-api.js +103 -0
  127. data/lib/less/js/less/lib/less/functions/color-blending.js +74 -0
  128. data/lib/less/js/less/lib/less/functions/color.js +322 -0
  129. data/lib/less/js/less/lib/less/functions/data-uri.js +85 -0
  130. data/lib/less/js/less/lib/less/functions/default.js +27 -0
  131. data/lib/less/js/less/lib/less/functions/function-caller.js +46 -0
  132. data/lib/less/js/less/lib/less/functions/function-registry.js +29 -0
  133. data/lib/less/js/less/lib/less/functions/index.js +19 -0
  134. data/lib/less/js/less/lib/less/functions/math-helper.js +16 -0
  135. data/lib/less/js/less/lib/less/functions/math.js +29 -0
  136. data/lib/less/js/less/lib/less/functions/number.js +81 -0
  137. data/lib/less/js/less/lib/less/functions/string.js +37 -0
  138. data/lib/less/js/less/lib/less/functions/svg.js +88 -0
  139. data/lib/less/js/less/lib/less/functions/types.js +89 -0
  140. data/lib/less/js/less/lib/less/import-manager.js +131 -0
  141. data/lib/less/js/less/lib/less/index.js +29 -0
  142. data/lib/less/js/less/lib/less/less-error.js +42 -0
  143. data/lib/less/js/less/lib/less/logger.js +34 -0
  144. data/lib/less/js/less/lib/less/parse-tree.js +60 -0
  145. data/lib/less/js/less/lib/less/parse.js +68 -0
  146. data/lib/less/js/less/lib/less/parser/chunker.js +112 -0
  147. data/lib/less/js/less/lib/less/parser/parser-input.js +259 -0
  148. data/lib/less/js/less/lib/less/parser/parser.js +1851 -0
  149. data/lib/less/js/less/lib/less/plugin-manager.js +114 -0
  150. data/lib/less/js/less/lib/less/plugins/function-importer.js +35 -0
  151. data/lib/less/js/less/lib/less/render.js +41 -0
  152. data/lib/less/js/less/lib/less/source-map-builder.js +69 -0
  153. data/lib/less/js/less/lib/less/source-map-output.js +138 -0
  154. data/lib/less/js/less/lib/less/transform-tree.js +74 -0
  155. data/lib/less/js/less/lib/less/tree/alpha.js +28 -0
  156. data/lib/less/js/less/lib/less/tree/anonymous.js +26 -0
  157. data/lib/less/js/less/lib/less/tree/assignment.js +27 -0
  158. data/lib/less/js/less/lib/less/tree/attribute.js +27 -0
  159. data/lib/less/js/less/lib/less/tree/call.js +62 -0
  160. data/lib/less/js/less/lib/less/tree/color.js +189 -0
  161. data/lib/less/js/less/lib/less/tree/combinator.js +23 -0
  162. data/lib/less/js/less/lib/less/tree/comment.js +21 -0
  163. data/lib/less/js/less/lib/less/tree/condition.js +37 -0
  164. data/lib/less/js/less/lib/less/tree/debug-info.js +38 -0
  165. data/lib/less/js/less/lib/less/tree/detached-ruleset.js +21 -0
  166. data/lib/less/js/less/lib/less/tree/dimension.js +157 -0
  167. data/lib/less/js/less/lib/less/tree/directive.js +133 -0
  168. data/lib/less/js/less/lib/less/tree/element.js +60 -0
  169. data/lib/less/js/less/lib/less/tree/expression.js +56 -0
  170. data/lib/less/js/less/lib/less/tree/extend.js +56 -0
  171. data/lib/less/js/less/lib/less/tree/import.js +165 -0
  172. data/lib/less/js/less/lib/less/tree/index.js +41 -0
  173. data/lib/less/js/less/lib/less/tree/javascript.js +28 -0
  174. data/lib/less/js/less/lib/less/tree/js-eval-node.js +61 -0
  175. data/lib/less/js/less/lib/less/tree/keyword.js +14 -0
  176. data/lib/less/js/less/lib/less/tree/media.js +144 -0
  177. data/lib/less/js/less/lib/less/tree/mixin-call.js +182 -0
  178. data/lib/less/js/less/lib/less/tree/mixin-definition.js +200 -0
  179. data/lib/less/js/less/lib/less/tree/negative.js +20 -0
  180. data/lib/less/js/less/lib/less/tree/node.js +123 -0
  181. data/lib/less/js/less/lib/less/tree/operation.js +48 -0
  182. data/lib/less/js/less/lib/less/tree/paren.js +16 -0
  183. data/lib/less/js/less/lib/less/tree/quoted.js +55 -0
  184. data/lib/less/js/less/lib/less/tree/rule.js +95 -0
  185. data/lib/less/js/less/lib/less/tree/ruleset-call.js +13 -0
  186. data/lib/less/js/less/lib/less/tree/ruleset.js +709 -0
  187. data/lib/less/js/less/lib/less/tree/selector.js +111 -0
  188. data/lib/less/js/less/lib/less/tree/unicode-descriptor.js +9 -0
  189. data/lib/less/js/less/lib/less/tree/unit.js +120 -0
  190. data/lib/less/js/less/lib/less/tree/url.js +54 -0
  191. data/lib/less/js/less/lib/less/tree/value.js +34 -0
  192. data/lib/less/js/less/lib/less/tree/variable.js +53 -0
  193. data/lib/less/js/less/lib/less/utils.js +20 -0
  194. data/lib/less/js/less/lib/less/visitors/extend-visitor.js +460 -0
  195. data/lib/less/js/less/lib/less/visitors/import-sequencer.js +54 -0
  196. data/lib/less/js/less/lib/less/visitors/import-visitor.js +189 -0
  197. data/lib/less/js/less/lib/less/visitors/index.js +10 -0
  198. data/lib/less/js/less/lib/less/visitors/join-selector-visitor.js +51 -0
  199. data/lib/less/js/less/lib/less/visitors/set-tree-visibility-visitor.js +38 -0
  200. data/lib/less/js/less/lib/less/visitors/to-css-visitor.js +383 -0
  201. data/lib/less/js/less/lib/less/visitors/visitor.js +152 -0
  202. data/lib/less/js/less/lib/source-map/source-map-0.1.31.js +1933 -0
  203. data/lib/less/js/less/lib/source-map/source-map-footer.js +4 -0
  204. data/lib/less/js/less/lib/source-map/source-map-header.js +3 -0
  205. data/lib/less/js/less/package.json +89 -0
  206. data/lib/less/js/less/test/browser/common.js +206 -0
  207. data/lib/less/js/less/test/browser/css/global-vars/simple.css +3 -0
  208. data/lib/less/js/less/test/browser/css/modify-vars/simple.css +8 -0
  209. data/lib/less/js/less/test/browser/css/postProcessor/postProcessor.css +4 -0
  210. data/lib/less/js/less/test/browser/css/relative-urls/urls.css +36 -0
  211. data/lib/less/js/less/test/browser/css/rootpath-relative/urls.css +35 -0
  212. data/lib/less/js/less/test/browser/css/rootpath/urls.css +35 -0
  213. data/lib/less/js/less/test/browser/css/urls.css +57 -0
  214. data/lib/less/js/less/test/browser/jasmine-jsreporter.js +391 -0
  215. data/lib/less/js/less/test/browser/less/console-errors/test-error.less +3 -0
  216. data/lib/less/js/less/test/browser/less/console-errors/test-error.txt +2 -0
  217. data/lib/less/js/less/test/browser/less/errors/image-height-error.less +3 -0
  218. data/lib/less/js/less/test/browser/less/errors/image-height-error.txt +4 -0
  219. data/lib/less/js/less/test/browser/less/errors/image-size-error.less +3 -0
  220. data/lib/less/js/less/test/browser/less/errors/image-size-error.txt +4 -0
  221. data/lib/less/js/less/test/browser/less/errors/image-width-error.less +3 -0
  222. data/lib/less/js/less/test/browser/less/errors/image-width-error.txt +4 -0
  223. data/lib/less/js/less/test/browser/less/global-vars/simple.less +3 -0
  224. data/lib/less/js/less/test/browser/less/imports/urls.less +4 -0
  225. data/lib/less/js/less/test/browser/less/imports/urls2.less +4 -0
  226. data/lib/less/js/less/test/browser/less/modify-vars/imports/simple2.less +4 -0
  227. data/lib/less/js/less/test/browser/less/modify-vars/simple.less +8 -0
  228. data/lib/less/js/less/test/browser/less/nested-gradient-with-svg-gradient/mixin-consumer.less +5 -0
  229. data/lib/less/js/less/test/browser/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less +15 -0
  230. data/lib/less/js/less/test/browser/less/postProcessor/postProcessor.less +4 -0
  231. data/lib/less/js/less/test/browser/less/relative-urls/urls.less +34 -0
  232. data/lib/less/js/less/test/browser/less/rootpath-relative/urls.less +33 -0
  233. data/lib/less/js/less/test/browser/less/rootpath/urls.less +33 -0
  234. data/lib/less/js/less/test/browser/less/urls.less +65 -0
  235. data/lib/less/js/less/test/browser/runner-VisitorPlugin-options.js +3 -0
  236. data/lib/less/js/less/test/browser/runner-VisitorPlugin.js +3 -0
  237. data/lib/less/js/less/test/browser/runner-browser-options.js +51 -0
  238. data/lib/less/js/less/test/browser/runner-browser-spec.js +12 -0
  239. data/lib/less/js/less/test/browser/runner-console-errors.js +5 -0
  240. data/lib/less/js/less/test/browser/runner-errors-options.js +4 -0
  241. data/lib/less/js/less/test/browser/runner-errors-spec.js +3 -0
  242. data/lib/less/js/less/test/browser/runner-filemanagerPlugin-options.js +4 -0
  243. data/lib/less/js/less/test/browser/runner-filemanagerPlugin.js +3 -0
  244. data/lib/less/js/less/test/browser/runner-global-vars-options.js +7 -0
  245. data/lib/less/js/less/test/browser/runner-global-vars-spec.js +3 -0
  246. data/lib/less/js/less/test/browser/runner-legacy-options.js +5 -0
  247. data/lib/less/js/less/test/browser/runner-legacy-spec.js +3 -0
  248. data/lib/less/js/less/test/browser/runner-main-options.js +18 -0
  249. data/lib/less/js/less/test/browser/runner-main-spec.js +7 -0
  250. data/lib/less/js/less/test/browser/runner-modify-vars-options.js +5 -0
  251. data/lib/less/js/less/test/browser/runner-modify-vars-spec.js +33 -0
  252. data/lib/less/js/less/test/browser/runner-no-js-errors-options.js +4 -0
  253. data/lib/less/js/less/test/browser/runner-no-js-errors-spec.js +3 -0
  254. data/lib/less/js/less/test/browser/runner-postProcessor-options.js +5 -0
  255. data/lib/less/js/less/test/browser/runner-postProcessor.js +3 -0
  256. data/lib/less/js/less/test/browser/runner-postProcessorPlugin-options.js +3 -0
  257. data/lib/less/js/less/test/browser/runner-postProcessorPlugin.js +3 -0
  258. data/lib/less/js/less/test/browser/runner-preProcessorPlugin-options.js +3 -0
  259. data/lib/less/js/less/test/browser/runner-preProcessorPlugin.js +3 -0
  260. data/lib/less/js/less/test/browser/runner-production-options.js +3 -0
  261. data/lib/less/js/less/test/browser/runner-production-spec.js +5 -0
  262. data/lib/less/js/less/test/browser/runner-relative-urls-options.js +3 -0
  263. data/lib/less/js/less/test/browser/runner-relative-urls-spec.js +3 -0
  264. data/lib/less/js/less/test/browser/runner-rootpath-options.js +3 -0
  265. data/lib/less/js/less/test/browser/runner-rootpath-relative-options.js +4 -0
  266. data/lib/less/js/less/test/browser/runner-rootpath-relative-spec.js +3 -0
  267. data/lib/less/js/less/test/browser/runner-rootpath-spec.js +3 -0
  268. data/lib/less/js/less/test/browser/runner-strict-units-options.js +5 -0
  269. data/lib/less/js/less/test/browser/runner-strict-units-spec.js +3 -0
  270. data/lib/less/js/less/test/browser/test-runner-template.tmpl +95 -0
  271. data/lib/less/js/less/test/copy-bom.js +72 -0
  272. data/lib/less/js/less/test/css/charsets.css +1 -0
  273. data/lib/less/js/less/test/css/colors.css +87 -0
  274. data/lib/less/js/less/test/css/comments.css +83 -0
  275. data/lib/less/js/less/test/css/comments2.css +18 -0
  276. data/lib/less/js/less/test/css/compression/compression.css +3 -0
  277. data/lib/less/js/less/test/css/css-3.css +157 -0
  278. data/lib/less/js/less/test/css/css-escapes.css +24 -0
  279. data/lib/less/js/less/test/css/css-guards.css +37 -0
  280. data/lib/less/js/less/test/css/css.css +95 -0
  281. data/lib/less/js/less/test/css/debug/linenumbers-all.css +50 -0
  282. data/lib/less/js/less/test/css/debug/linenumbers-comments.css +41 -0
  283. data/lib/less/js/less/test/css/debug/linenumbers-mediaquery.css +41 -0
  284. data/lib/less/js/less/test/css/detached-rulesets.css +76 -0
  285. data/lib/less/js/less/test/css/directives-bubling.css +119 -0
  286. data/lib/less/js/less/test/css/empty.css +0 -0
  287. data/lib/less/js/less/test/css/extend-chaining.css +81 -0
  288. data/lib/less/js/less/test/css/extend-clearfix.css +19 -0
  289. data/lib/less/js/less/test/css/extend-exact.css +37 -0
  290. data/lib/less/js/less/test/css/extend-media.css +24 -0
  291. data/lib/less/js/less/test/css/extend-nest.css +57 -0
  292. data/lib/less/js/less/test/css/extend-selector.css +87 -0
  293. data/lib/less/js/less/test/css/extend.css +76 -0
  294. data/lib/less/js/less/test/css/extract-and-length.css +133 -0
  295. data/lib/less/js/less/test/css/filemanagerPlugin/filemanager.css +3 -0
  296. data/lib/less/js/less/test/css/functions.css +201 -0
  297. data/lib/less/js/less/test/css/globalVars/extended.css +12 -0
  298. data/lib/less/js/less/test/css/globalVars/simple.css +6 -0
  299. data/lib/less/js/less/test/css/ie-filters.css +9 -0
  300. data/lib/less/js/less/test/css/import-inline.css +8 -0
  301. data/lib/less/js/less/test/css/import-interpolation.css +13 -0
  302. data/lib/less/js/less/test/css/import-once.css +15 -0
  303. data/lib/less/js/less/test/css/import-reference-issues.css +24 -0
  304. data/lib/less/js/less/test/css/import-reference.css +97 -0
  305. data/lib/less/js/less/test/css/import.css +49 -0
  306. data/lib/less/js/less/test/css/include-path-string/include-path-string.css +3 -0
  307. data/lib/less/js/less/test/css/include-path/include-path.css +9 -0
  308. data/lib/less/js/less/test/css/javascript.css +28 -0
  309. data/lib/less/js/less/test/css/lazy-eval.css +3 -0
  310. data/lib/less/js/less/test/css/legacy/legacy.css +21 -0
  311. data/lib/less/js/less/test/css/media.css +218 -0
  312. data/lib/less/js/less/test/css/merge.css +34 -0
  313. data/lib/less/js/less/test/css/mixins-args.css +163 -0
  314. data/lib/less/js/less/test/css/mixins-closure.css +9 -0
  315. data/lib/less/js/less/test/css/mixins-guards-default-func.css +129 -0
  316. data/lib/less/js/less/test/css/mixins-guards.css +211 -0
  317. data/lib/less/js/less/test/css/mixins-important.css +57 -0
  318. data/lib/less/js/less/test/css/mixins-interpolated.css +43 -0
  319. data/lib/less/js/less/test/css/mixins-named-args.css +27 -0
  320. data/lib/less/js/less/test/css/mixins-nested.css +14 -0
  321. data/lib/less/js/less/test/css/mixins-pattern.css +51 -0
  322. data/lib/less/js/less/test/css/mixins.css +144 -0
  323. data/lib/less/js/less/test/css/modifyVars/extended.css +9 -0
  324. data/lib/less/js/less/test/css/no-output.css +0 -0
  325. data/lib/less/js/less/test/css/no-strict-math/mixins-guards.css +12 -0
  326. data/lib/less/js/less/test/css/no-strict-math/no-sm-operations.css +12 -0
  327. data/lib/less/js/less/test/css/operations.css +50 -0
  328. data/lib/less/js/less/test/css/parens.css +36 -0
  329. data/lib/less/js/less/test/css/plugin.css +44 -0
  330. data/lib/less/js/less/test/css/postProcessorPlugin/postProcessor.css +4 -0
  331. data/lib/less/js/less/test/css/preProcessorPlugin/preProcessor.css +3 -0
  332. data/lib/less/js/less/test/css/property-name-interp.css +21 -0
  333. data/lib/less/js/less/test/css/rulesets.css +33 -0
  334. data/lib/less/js/less/test/css/scope.css +38 -0
  335. data/lib/less/js/less/test/css/selectors.css +170 -0
  336. data/lib/less/js/less/test/css/static-urls/urls.css +46 -0
  337. data/lib/less/js/less/test/css/strict-units/strict-units.css +4 -0
  338. data/lib/less/js/less/test/css/strings.css +55 -0
  339. data/lib/less/js/less/test/css/url-args/urls.css +56 -0
  340. data/lib/less/js/less/test/css/urls.css +87 -0
  341. data/lib/less/js/less/test/css/variables-in-at-rules.css +18 -0
  342. data/lib/less/js/less/test/css/variables.css +68 -0
  343. data/lib/less/js/less/test/css/visitorPlugin/visitor.css +3 -0
  344. data/lib/less/js/less/test/css/whitespace.css +42 -0
  345. data/lib/less/js/less/test/data/data-uri-fail.png +0 -0
  346. data/lib/less/js/less/test/data/image.jpg +0 -0
  347. data/lib/less/js/less/test/data/image.svg +4 -0
  348. data/lib/less/js/less/test/data/page.html +1 -0
  349. data/lib/less/js/less/test/index.js +59 -0
  350. data/lib/less/js/less/test/less-test.js +386 -0
  351. data/lib/less/js/less/test/less/charsets.less +3 -0
  352. data/lib/less/js/less/test/less/colors.less +98 -0
  353. data/lib/less/js/less/test/less/comments.less +102 -0
  354. data/lib/less/js/less/test/less/comments2.less +31 -0
  355. data/lib/less/js/less/test/less/compression/compression.less +36 -0
  356. data/lib/less/js/less/test/less/css-3.less +162 -0
  357. data/lib/less/js/less/test/less/css-escapes.less +33 -0
  358. data/lib/less/js/less/test/less/css-guards.less +103 -0
  359. data/lib/less/js/less/test/less/css.less +108 -0
  360. data/lib/less/js/less/test/less/debug/import/test.less +25 -0
  361. data/lib/less/js/less/test/less/debug/linenumbers.less +33 -0
  362. data/lib/less/js/less/test/less/detached-rulesets.less +112 -0
  363. data/lib/less/js/less/test/less/directives-bubling.less +142 -0
  364. data/lib/less/js/less/test/less/empty.less +0 -0
  365. data/lib/less/js/less/test/less/errors/add-mixed-units.less +3 -0
  366. data/lib/less/js/less/test/less/errors/add-mixed-units.txt +4 -0
  367. data/lib/less/js/less/test/less/errors/add-mixed-units2.less +3 -0
  368. data/lib/less/js/less/test/less/errors/add-mixed-units2.txt +4 -0
  369. data/lib/less/js/less/test/less/errors/at-rules-undefined-var.less +4 -0
  370. data/lib/less/js/less/test/less/errors/at-rules-undefined-var.txt +4 -0
  371. data/lib/less/js/less/test/less/errors/bad-variable-declaration1.less +1 -0
  372. data/lib/less/js/less/test/less/errors/bad-variable-declaration1.txt +2 -0
  373. data/lib/less/js/less/test/less/errors/color-func-invalid-color.less +3 -0
  374. data/lib/less/js/less/test/less/errors/color-func-invalid-color.txt +4 -0
  375. data/lib/less/js/less/test/less/errors/color-invalid-hex-code.less +3 -0
  376. data/lib/less/js/less/test/less/errors/color-invalid-hex-code.txt +4 -0
  377. data/lib/less/js/less/test/less/errors/color-invalid-hex-code2.less +3 -0
  378. data/lib/less/js/less/test/less/errors/color-invalid-hex-code2.txt +4 -0
  379. data/lib/less/js/less/test/less/errors/css-guard-default-func.less +4 -0
  380. data/lib/less/js/less/test/less/errors/css-guard-default-func.txt +4 -0
  381. data/lib/less/js/less/test/less/errors/detached-ruleset-1.less +6 -0
  382. data/lib/less/js/less/test/less/errors/detached-ruleset-1.txt +4 -0
  383. data/lib/less/js/less/test/less/errors/detached-ruleset-2.less +6 -0
  384. data/lib/less/js/less/test/less/errors/detached-ruleset-2.txt +4 -0
  385. data/lib/less/js/less/test/less/errors/detached-ruleset-3.less +4 -0
  386. data/lib/less/js/less/test/less/errors/detached-ruleset-3.txt +4 -0
  387. data/lib/less/js/less/test/less/errors/detached-ruleset-5.less +4 -0
  388. data/lib/less/js/less/test/less/errors/detached-ruleset-5.txt +3 -0
  389. data/lib/less/js/less/test/less/errors/detached-ruleset-6.less +5 -0
  390. data/lib/less/js/less/test/less/errors/detached-ruleset-6.txt +4 -0
  391. data/lib/less/js/less/test/less/errors/divide-mixed-units.less +3 -0
  392. data/lib/less/js/less/test/less/errors/divide-mixed-units.txt +4 -0
  393. data/lib/less/js/less/test/less/errors/extend-no-selector.less +3 -0
  394. data/lib/less/js/less/test/less/errors/extend-no-selector.txt +3 -0
  395. data/lib/less/js/less/test/less/errors/extend-not-at-end.less +3 -0
  396. data/lib/less/js/less/test/less/errors/extend-not-at-end.txt +3 -0
  397. data/lib/less/js/less/test/less/errors/import-malformed.less +1 -0
  398. data/lib/less/js/less/test/less/errors/import-malformed.txt +3 -0
  399. data/lib/less/js/less/test/less/errors/import-missing.less +6 -0
  400. data/lib/less/js/less/test/less/errors/import-missing.txt +3 -0
  401. data/lib/less/js/less/test/less/errors/import-no-semi.less +1 -0
  402. data/lib/less/js/less/test/less/errors/import-no-semi.txt +2 -0
  403. data/lib/less/js/less/test/less/errors/import-subfolder1.less +1 -0
  404. data/lib/less/js/less/test/less/errors/import-subfolder1.txt +3 -0
  405. data/lib/less/js/less/test/less/errors/import-subfolder2.less +1 -0
  406. data/lib/less/js/less/test/less/errors/import-subfolder2.txt +4 -0
  407. data/lib/less/js/less/test/less/errors/imports/import-subfolder1.less +1 -0
  408. data/lib/less/js/less/test/less/errors/imports/import-subfolder2.less +1 -0
  409. data/lib/less/js/less/test/less/errors/imports/import-test.less +4 -0
  410. data/lib/less/js/less/test/less/errors/imports/subfolder/mixin-not-defined.less +1 -0
  411. data/lib/less/js/less/test/less/errors/imports/subfolder/parse-error-curly-bracket.less +1 -0
  412. data/lib/less/js/less/test/less/errors/javascript-error.less +3 -0
  413. data/lib/less/js/less/test/less/errors/javascript-error.txt +4 -0
  414. data/lib/less/js/less/test/less/errors/javascript-undefined-var.less +3 -0
  415. data/lib/less/js/less/test/less/errors/javascript-undefined-var.txt +4 -0
  416. data/lib/less/js/less/test/less/errors/mixed-mixin-definition-args-1.less +6 -0
  417. data/lib/less/js/less/test/less/errors/mixed-mixin-definition-args-1.txt +4 -0
  418. data/lib/less/js/less/test/less/errors/mixed-mixin-definition-args-2.less +6 -0
  419. data/lib/less/js/less/test/less/errors/mixed-mixin-definition-args-2.txt +4 -0
  420. data/lib/less/js/less/test/less/errors/mixin-not-defined.less +11 -0
  421. data/lib/less/js/less/test/less/errors/mixin-not-defined.txt +3 -0
  422. data/lib/less/js/less/test/less/errors/mixin-not-matched.less +6 -0
  423. data/lib/less/js/less/test/less/errors/mixin-not-matched.txt +3 -0
  424. data/lib/less/js/less/test/less/errors/mixin-not-matched2.less +6 -0
  425. data/lib/less/js/less/test/less/errors/mixin-not-matched2.txt +3 -0
  426. data/lib/less/js/less/test/less/errors/mixin-not-visible-in-scope-1.less +9 -0
  427. data/lib/less/js/less/test/less/errors/mixin-not-visible-in-scope-1.txt +4 -0
  428. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-1.less +9 -0
  429. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-1.txt +4 -0
  430. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-2.less +9 -0
  431. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-2.txt +4 -0
  432. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-3.less +9 -0
  433. data/lib/less/js/less/test/less/errors/mixins-guards-default-func-3.txt +4 -0
  434. data/lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors.less +4 -0
  435. data/lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors.txt +4 -0
  436. data/lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors2.less +4 -0
  437. data/lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors2.txt +4 -0
  438. data/lib/less/js/less/test/less/errors/multiply-mixed-units.less +7 -0
  439. data/lib/less/js/less/test/less/errors/multiply-mixed-units.txt +4 -0
  440. data/lib/less/js/less/test/less/errors/parens-error-1.less +3 -0
  441. data/lib/less/js/less/test/less/errors/parens-error-1.txt +4 -0
  442. data/lib/less/js/less/test/less/errors/parens-error-2.less +3 -0
  443. data/lib/less/js/less/test/less/errors/parens-error-2.txt +4 -0
  444. data/lib/less/js/less/test/less/errors/parens-error-3.less +3 -0
  445. data/lib/less/js/less/test/less/errors/parens-error-3.txt +4 -0
  446. data/lib/less/js/less/test/less/errors/parse-error-curly-bracket.less +4 -0
  447. data/lib/less/js/less/test/less/errors/parse-error-curly-bracket.txt +4 -0
  448. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-1.less +5 -0
  449. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-1.txt +3 -0
  450. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-2.less +1 -0
  451. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-2.txt +2 -0
  452. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-3.less +4 -0
  453. data/lib/less/js/less/test/less/errors/parse-error-media-no-block-3.txt +3 -0
  454. data/lib/less/js/less/test/less/errors/parse-error-missing-bracket.less +2 -0
  455. data/lib/less/js/less/test/less/errors/parse-error-missing-bracket.txt +3 -0
  456. data/lib/less/js/less/test/less/errors/parse-error-missing-parens.less +5 -0
  457. data/lib/less/js/less/test/less/errors/parse-error-missing-parens.txt +3 -0
  458. data/lib/less/js/less/test/less/errors/parse-error-with-import.less +13 -0
  459. data/lib/less/js/less/test/less/errors/parse-error-with-import.txt +4 -0
  460. data/lib/less/js/less/test/less/errors/percentage-missing-space.less +3 -0
  461. data/lib/less/js/less/test/less/errors/percentage-missing-space.txt +4 -0
  462. data/lib/less/js/less/test/less/errors/percentage-non-number-argument.less +3 -0
  463. data/lib/less/js/less/test/less/errors/percentage-non-number-argument.txt +4 -0
  464. data/lib/less/js/less/test/less/errors/property-asterisk-only-name.less +3 -0
  465. data/lib/less/js/less/test/less/errors/property-asterisk-only-name.txt +4 -0
  466. data/lib/less/js/less/test/less/errors/property-ie5-hack.less +3 -0
  467. data/lib/less/js/less/test/less/errors/property-ie5-hack.txt +3 -0
  468. data/lib/less/js/less/test/less/errors/property-in-root.less +4 -0
  469. data/lib/less/js/less/test/less/errors/property-in-root.txt +4 -0
  470. data/lib/less/js/less/test/less/errors/property-in-root2.less +1 -0
  471. data/lib/less/js/less/test/less/errors/property-in-root2.txt +4 -0
  472. data/lib/less/js/less/test/less/errors/property-in-root3.less +4 -0
  473. data/lib/less/js/less/test/less/errors/property-in-root3.txt +3 -0
  474. data/lib/less/js/less/test/less/errors/property-interp-not-defined.less +1 -0
  475. data/lib/less/js/less/test/less/errors/property-interp-not-defined.txt +2 -0
  476. data/lib/less/js/less/test/less/errors/recursive-variable.less +1 -0
  477. data/lib/less/js/less/test/less/errors/recursive-variable.txt +2 -0
  478. data/lib/less/js/less/test/less/errors/single-character.less +1 -0
  479. data/lib/less/js/less/test/less/errors/single-character.txt +2 -0
  480. data/lib/less/js/less/test/less/errors/svg-gradient1.less +3 -0
  481. data/lib/less/js/less/test/less/errors/svg-gradient1.txt +4 -0
  482. data/lib/less/js/less/test/less/errors/svg-gradient2.less +3 -0
  483. data/lib/less/js/less/test/less/errors/svg-gradient2.txt +4 -0
  484. data/lib/less/js/less/test/less/errors/svg-gradient3.less +3 -0
  485. data/lib/less/js/less/test/less/errors/svg-gradient3.txt +4 -0
  486. data/lib/less/js/less/test/less/errors/svg-gradient4.less +4 -0
  487. data/lib/less/js/less/test/less/errors/svg-gradient4.txt +4 -0
  488. data/lib/less/js/less/test/less/errors/svg-gradient5.less +4 -0
  489. data/lib/less/js/less/test/less/errors/svg-gradient5.txt +4 -0
  490. data/lib/less/js/less/test/less/errors/svg-gradient6.less +4 -0
  491. data/lib/less/js/less/test/less/errors/svg-gradient6.txt +4 -0
  492. data/lib/less/js/less/test/less/errors/unit-function.less +3 -0
  493. data/lib/less/js/less/test/less/errors/unit-function.txt +4 -0
  494. data/lib/less/js/less/test/less/extend-chaining.less +91 -0
  495. data/lib/less/js/less/test/less/extend-clearfix.less +19 -0
  496. data/lib/less/js/less/test/less/extend-exact.less +46 -0
  497. data/lib/less/js/less/test/less/extend-media.less +24 -0
  498. data/lib/less/js/less/test/less/extend-nest.less +65 -0
  499. data/lib/less/js/less/test/less/extend-selector.less +110 -0
  500. data/lib/less/js/less/test/less/extend.less +81 -0
  501. data/lib/less/js/less/test/less/extract-and-length.less +133 -0
  502. data/lib/less/js/less/test/less/filemanagerPlugin/colors.test +1 -0
  503. data/lib/less/js/less/test/less/filemanagerPlugin/filemanager.less +4 -0
  504. data/lib/less/js/less/test/less/functions.less +232 -0
  505. data/lib/less/js/less/test/less/globalVars/extended.json +5 -0
  506. data/lib/less/js/less/test/less/globalVars/extended.less +10 -0
  507. data/lib/less/js/less/test/less/globalVars/simple.json +3 -0
  508. data/lib/less/js/less/test/less/globalVars/simple.less +3 -0
  509. data/lib/less/js/less/test/less/ie-filters.less +15 -0
  510. data/lib/less/js/less/test/less/import-inline.less +3 -0
  511. data/lib/less/js/less/test/less/import-interpolation.less +8 -0
  512. data/lib/less/js/less/test/less/import-once.less +6 -0
  513. data/lib/less/js/less/test/less/import-reference-issues.less +50 -0
  514. data/lib/less/js/less/test/less/import-reference-issues/appender-reference-1968.less +6 -0
  515. data/lib/less/js/less/test/less/import-reference-issues/global-scope-import.less +13 -0
  516. data/lib/less/js/less/test/less/import-reference-issues/global-scope-nested.less +3 -0
  517. data/lib/less/js/less/test/less/import-reference-issues/mixin-1968.less +8 -0
  518. data/lib/less/js/less/test/less/import-reference-issues/multiple-import-nested.less +12 -0
  519. data/lib/less/js/less/test/less/import-reference-issues/multiple-import.less +10 -0
  520. data/lib/less/js/less/test/less/import-reference-issues/simple-mixin.css +3 -0
  521. data/lib/less/js/less/test/less/import-reference-issues/simple-ruleset-2162.less +3 -0
  522. data/lib/less/js/less/test/less/import-reference.less +26 -0
  523. data/lib/less/js/less/test/less/import.less +31 -0
  524. data/lib/less/js/less/test/less/import/css-import.less +1 -0
  525. data/lib/less/js/less/test/less/import/deeper/deeper-2/url-import-2.less +3 -0
  526. data/lib/less/js/less/test/less/import/deeper/deeper-2/url-import.less +1 -0
  527. data/lib/less/js/less/test/less/import/deeper/import-once-test-a.less +1 -0
  528. data/lib/less/js/less/test/less/import/deeper/url-import.less +1 -0
  529. data/lib/less/js/less/test/less/import/import-and-relative-paths-test.less +17 -0
  530. data/lib/less/js/less/test/less/import/import-charset-test.less +1 -0
  531. data/lib/less/js/less/test/less/import/import-inline-invalid-css.less +1 -0
  532. data/lib/less/js/less/test/less/import/import-interpolation.less +2 -0
  533. data/lib/less/js/less/test/less/import/import-interpolation2.less +5 -0
  534. data/lib/less/js/less/test/less/import/import-once-test-c.less +6 -0
  535. data/lib/less/js/less/test/less/import/import-reference.less +98 -0
  536. data/lib/less/js/less/test/less/import/import-test-a.less +5 -0
  537. data/lib/less/js/less/test/less/import/import-test-b.less +8 -0
  538. data/lib/less/js/less/test/less/import/import-test-c.less +6 -0
  539. data/lib/less/js/less/test/less/import/import-test-d.css +1 -0
  540. data/lib/less/js/less/test/less/import/import-test-e.less +2 -0
  541. data/lib/less/js/less/test/less/import/import-test-f.less +5 -0
  542. data/lib/less/js/less/test/less/import/imports/font.less +8 -0
  543. data/lib/less/js/less/test/less/import/imports/logo.less +6 -0
  544. data/lib/less/js/less/test/less/import/interpolation-vars.less +6 -0
  545. data/lib/less/js/less/test/less/import/invalid-css.less +1 -0
  546. data/lib/less/js/less/test/less/import/urls.less +1 -0
  547. data/lib/less/js/less/test/less/include-path-string/include-path-string.less +3 -0
  548. data/lib/less/js/less/test/less/include-path/include-path.less +8 -0
  549. data/lib/less/js/less/test/less/javascript.less +38 -0
  550. data/lib/less/js/less/test/less/lazy-eval.less +6 -0
  551. data/lib/less/js/less/test/less/legacy/legacy.less +21 -0
  552. data/lib/less/js/less/test/less/media.less +234 -0
  553. data/lib/less/js/less/test/less/merge.less +78 -0
  554. data/lib/less/js/less/test/less/mixins-args.less +263 -0
  555. data/lib/less/js/less/test/less/mixins-closure.less +26 -0
  556. data/lib/less/js/less/test/less/mixins-guards-default-func.less +195 -0
  557. data/lib/less/js/less/test/less/mixins-guards.less +358 -0
  558. data/lib/less/js/less/test/less/mixins-important.less +53 -0
  559. data/lib/less/js/less/test/less/mixins-interpolated.less +75 -0
  560. data/lib/less/js/less/test/less/mixins-named-args.less +36 -0
  561. data/lib/less/js/less/test/less/mixins-nested.less +22 -0
  562. data/lib/less/js/less/test/less/mixins-pattern.less +102 -0
  563. data/lib/less/js/less/test/less/mixins.less +145 -0
  564. data/lib/less/js/less/test/less/modifyVars/extended.json +5 -0
  565. data/lib/less/js/less/test/less/modifyVars/extended.less +11 -0
  566. data/lib/less/js/less/test/less/nested-gradient-with-svg-gradient/mixin-consumer.less +5 -0
  567. data/lib/less/js/less/test/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less +15 -0
  568. data/lib/less/js/less/test/less/no-js-errors/no-js-errors.less +3 -0
  569. data/lib/less/js/less/test/less/no-js-errors/no-js-errors.txt +4 -0
  570. data/lib/less/js/less/test/less/no-output.less +2 -0
  571. data/lib/less/js/less/test/less/no-strict-math/mixins-guards.less +25 -0
  572. data/lib/less/js/less/test/less/no-strict-math/no-sm-operations.less +10 -0
  573. data/lib/less/js/less/test/less/operations.less +63 -0
  574. data/lib/less/js/less/test/less/parens.less +45 -0
  575. data/lib/less/js/less/test/less/plugin.less +85 -0
  576. data/lib/less/js/less/test/less/plugin/plugin-global.js +9 -0
  577. data/lib/less/js/less/test/less/plugin/plugin-local.js +8 -0
  578. data/lib/less/js/less/test/less/plugin/plugin-transitive.js +5 -0
  579. data/lib/less/js/less/test/less/plugin/plugin-transitive.less +5 -0
  580. data/lib/less/js/less/test/less/postProcessorPlugin/postProcessor.less +4 -0
  581. data/lib/less/js/less/test/less/preProcessorPlugin/preProcessor.less +3 -0
  582. data/lib/less/js/less/test/less/property-name-interp.less +56 -0
  583. data/lib/less/js/less/test/less/rulesets.less +30 -0
  584. data/lib/less/js/less/test/less/scope.less +104 -0
  585. data/lib/less/js/less/test/less/selectors.less +184 -0
  586. data/lib/less/js/less/test/less/sourcemaps-empty/empty.less +0 -0
  587. data/lib/less/js/less/test/less/sourcemaps-empty/var-defs.less +1 -0
  588. data/lib/less/js/less/test/less/sourcemaps/basic.json +3 -0
  589. data/lib/less/js/less/test/less/sourcemaps/basic.less +27 -0
  590. data/lib/less/js/less/test/less/sourcemaps/imported.css +7 -0
  591. data/lib/less/js/less/test/less/static-urls/urls.less +33 -0
  592. data/lib/less/js/less/test/less/strict-units/strict-units.less +4 -0
  593. data/lib/less/js/less/test/less/strings.less +73 -0
  594. data/lib/less/js/less/test/less/url-args/urls.less +63 -0
  595. data/lib/less/js/less/test/less/urls.less +94 -0
  596. data/lib/less/js/less/test/less/variables-in-at-rules.less +20 -0
  597. data/lib/less/js/less/test/less/variables.less +119 -0
  598. data/lib/less/js/less/test/less/visitorPlugin/visitor.less +4 -0
  599. data/lib/less/js/less/test/less/whitespace.less +44 -0
  600. data/lib/less/js/less/test/modify-vars.js +19 -0
  601. data/lib/less/js/less/test/plugins/filemanager/index.js +19 -0
  602. data/lib/less/js/less/test/plugins/postprocess/index.js +14 -0
  603. data/lib/less/js/less/test/plugins/preprocess/index.js +19 -0
  604. data/lib/less/js/less/test/plugins/visitor/index.js +24 -0
  605. data/lib/less/js/less/test/rhino/test-header.js +15 -0
  606. data/lib/less/js/less/test/sourcemaps/basic.json +1 -0
  607. data/lib/less/js/less/test/sourcemaps/index.html +17 -0
  608. data/lib/less/js/node-mime/.gitignore +2 -0
  609. data/lib/less/js/node-mime/.npmignore +0 -0
  610. data/lib/less/js/node-mime/LICENSE +19 -0
  611. data/lib/less/js/node-mime/README.md +90 -0
  612. data/lib/less/js/node-mime/build/build.js +11 -0
  613. data/lib/less/js/node-mime/build/test.js +57 -0
  614. data/lib/less/js/node-mime/cli.js +8 -0
  615. data/lib/less/js/node-mime/mime.js +108 -0
  616. data/lib/less/js/node-mime/package.json +41 -0
  617. data/lib/less/js/node-mime/types.json +1 -0
  618. data/lib/less/loader.rb +13 -0
  619. data/lib/less/parser.rb +62 -0
  620. data/lib/less/runner.js +20 -0
  621. data/lib/less/version.rb +3 -0
  622. data/script/bootstrap +6 -0
  623. data/script/cibuild +7 -0
  624. data/spec/less/parser_spec.rb +170 -0
  625. data/spec/spec_helper.rb +3 -0
  626. data/spec/support/custom_functions/custom_functions.js +7 -0
  627. data/spec/support/custom_functions/custom_functions.less +3 -0
  628. data/spec/support/faulty/faulty.less +3 -0
  629. data/spec/support/less.js.tests-custom-functions.js +20 -0
  630. data/spec/support/one/one.less +1 -0
  631. data/spec/support/two/two.less +1 -0
  632. metadata +733 -0
@@ -0,0 +1,41 @@
1
+ {
2
+ "author": {
3
+ "name": "Robert Kieffer",
4
+ "url": "http://github.com/broofa",
5
+ "email": "robert@broofa.com"
6
+ },
7
+ "scripts": {
8
+ "test": "node test.js"
9
+ },
10
+ "bin": {
11
+ "mime": "cli.js"
12
+ },
13
+ "contributors": [
14
+ {
15
+ "name": "Benjamin Thomas",
16
+ "url": "http://github.com/bentomas",
17
+ "email": "benjamin@benjaminthomas.org"
18
+ }
19
+ ],
20
+ "description": "A comprehensive library for mime-type mapping",
21
+ "license": "MIT",
22
+ "dependencies": {},
23
+ "devDependencies": {
24
+ "mime-db": "^1.22.0"
25
+ },
26
+ "scripts": {
27
+ "prepublish": "node build/build.js > types.json",
28
+ "test": "node build/test.js"
29
+ },
30
+ "keywords": [
31
+ "util",
32
+ "mime"
33
+ ],
34
+ "main": "mime.js",
35
+ "name": "mime",
36
+ "repository": {
37
+ "url": "https://github.com/broofa/node-mime",
38
+ "type": "git"
39
+ },
40
+ "version": "1.3.4"
41
+ }
@@ -0,0 +1 @@
1
+ {"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mdp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":["woff"],"application/font-woff2":["woff2"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["dmg"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-otf":["otf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-ttf":["ttf","ttc"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["iso"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdownload":["exe","dll","com","bat","msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","wmz","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-nzb":["nzb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-research-info-systems":["ris"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp4":["mp4a","m4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-wav":["wav"],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/opentype":["otf"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jpeg":["jpeg","jpg","jpe"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-mrsid-image":["sid"],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/sgml":["sgml","sgm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["markdown","md","mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-pascal":["p","pas"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}
@@ -0,0 +1,13 @@
1
+ # only exists to stop errors with jekyll-assets
2
+ module Less
3
+ class Loader # :nodoc:
4
+ def require(module_id)
5
+ puts module_id
6
+ Less::Tree.new
7
+ end
8
+ end
9
+
10
+ class Tree # :nodoc:
11
+ def functions; end
12
+ end
13
+ end
@@ -0,0 +1,62 @@
1
+ module Less
2
+ # Convert lesscss source into an abstract syntax Tree
3
+ class Parser
4
+ class << self
5
+ def backend
6
+ @backend ||= ExecJS::ExternalRuntime.new(
7
+ name: 'Node.js (V8)',
8
+ command: %w(nodejs node),
9
+ runner_path: File.expand_path('../runner.js', __FILE__)
10
+ )
11
+ end
12
+ end
13
+
14
+ # Construct and configure new Less::Parser
15
+ #
16
+ # @param [Hash] opts configuration options
17
+ # @option opts [Array] :paths a list of directories to search when handling \@import statements
18
+ # @option opts [String] :filename to associate with resulting parse trees (useful for generating errors)
19
+ # @option opts [Pathname] :custom_functions a file that defines any custom functions
20
+ def initialize(options = {})
21
+ @options = Less.defaults.merge(options)
22
+ @context = self.class.backend.compile(compiler_source)
23
+ end
24
+
25
+ # Convert `less` source into a abstract syntaxt tree
26
+ # @param [String] less the source to parse
27
+ # @param [Hash] opts render options
28
+ # @return [Less::Tree] the parsed tree
29
+ def parse(less, options = {})
30
+ old_node_env = ENV['NODE_PATH']
31
+ opts = @options.merge(options)
32
+ if opts[:custom_functions]
33
+ ENV['NODE_PATH'] = "#{opts[:custom_functions].dirname}:#{old_node_env}"
34
+ opts[:custom_functions] = opts[:custom_functions].to_s.split('/').last
35
+ end
36
+ Result.new @context.call('render', less, opts)
37
+ rescue ExecJS::ProgramError => e
38
+ raise ParseError.new(e.message)
39
+ ensure
40
+ ENV['NODE_PATH'] = old_node_env
41
+ end
42
+
43
+ protected
44
+
45
+ def compiler_source
46
+ File.read(File.expand_path('../compiler.js', __FILE__))
47
+ end
48
+ end
49
+
50
+ class Result # :nodoc:
51
+ attr_reader :css, :imports
52
+
53
+ def initialize(result = {})
54
+ @css = result['css'] || ''
55
+ @imports = result['imports'] || []
56
+ end
57
+
58
+ def to_css
59
+ @css
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,20 @@
1
+ var output, print = function(string) {
2
+ process.stdout.write('' + string);
3
+ };
4
+
5
+ (function(program, execJS) { execJS(program) })(
6
+ function(callback) { #{source} },
7
+ function(program) {
8
+ program(function(err, result){
9
+ if(err) {
10
+ print(JSON.stringify(['err', err, err.stack]));
11
+ } else {
12
+ if (typeof result == 'undefined' && result !== null) {
13
+ print('["ok"]');
14
+ } else {
15
+ print(JSON.stringify(['ok', result]));
16
+ }
17
+ }
18
+ });
19
+ }
20
+ );
@@ -0,0 +1,3 @@
1
+ module Less
2
+ VERSION = '2.6.0.3'.freeze
3
+ end
data/script/bootstrap ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ git submodule update --init --recursive
6
+ bundle install
data/script/cibuild ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ bundle exec rubocop -S -D
6
+ bundle exec rspec
7
+ bundle exec gem build less-execjs.gemspec
@@ -0,0 +1,170 @@
1
+ require 'spec_helper'
2
+
3
+ describe Less::Parser do
4
+ cwd = Pathname(__FILE__).dirname
5
+ support = cwd.join('../support/')
6
+
7
+ describe 'simple usage' do
8
+ it 'parse less into css' do
9
+ root = subject.parse('.class {width: 1+1}')
10
+ root.to_css.delete("\n").should eql '.class { width: 2;}'
11
+ end
12
+
13
+ it 'accepts options when parsing' do
14
+ subject.parse('.class {width: 1px+1px;}', compress: true).to_css.strip.should eql '.class{width:2px}'
15
+ end
16
+
17
+ it 'passes exceptions from the less compiler' do
18
+ -> { subject.parse('body { color: @a; }').to_css }.should raise_error(Less::ParseError, /variable @a is undefined/)
19
+ end
20
+
21
+ it 'passes detail from the less exceptions' do
22
+ begin
23
+ less = <<-eos
24
+ body {
25
+ .foo {
26
+ color: red;
27
+ }
28
+ .bar {
29
+ color: @a;
30
+ }
31
+ }
32
+ eos
33
+ subject.parse(less, filename: 'foo.less').to_css
34
+ rescue Less::ParseError => e
35
+ e.message.should eq 'variable @a is undefined'
36
+ e.type.should eq 'Name'
37
+ e.filename.should eql 'foo.less'
38
+ e.line.should eql 6
39
+ e.column.should eql 19
40
+ e.extract.should eql [' .bar {', ' color: @a;', ' }']
41
+ else
42
+ fail 'parse error not raised'
43
+ end
44
+ end
45
+ end
46
+
47
+ describe 'loading in custom functions' do
48
+ context 'defined as parser option' do
49
+ subject { Less::Parser.new paths: [support.join('custom_functions')], custom_functions: support.join('custom_functions/custom_functions') }
50
+ let(:result) { subject.parse('@import "custom_functions.less";').to_css.delete("\n").strip }
51
+
52
+ it 'should import the custom functions defined' do
53
+ result.should eql '.one { width: 20;}'
54
+ end
55
+
56
+ it 'should not permenantly modify the node path' do
57
+ result
58
+ ENV['NODE_PATH'].split(':').grep(support.join('custom_functions')).should be_empty
59
+ end
60
+ end
61
+
62
+ context 'when specified as a global option' do
63
+ before { Less.defaults[:custom_functions] = support.join('custom_functions/custom_functions') }
64
+ after { Less.defaults[:custom_functions] = nil }
65
+
66
+ subject { Less::Parser.new paths: [support.join('custom_functions')] }
67
+ let(:result) { subject.parse('@import "custom_functions.less";').to_css.delete("\n").strip }
68
+
69
+ it 'should import the custom functions defined' do
70
+ result.should eql '.one { width: 20;}'
71
+ end
72
+ end
73
+ end
74
+
75
+ describe 'when configured with multiple load paths' do
76
+ subject { Less::Parser.new paths: [support.join('one'), support.join('two'), support.join('faulty')] }
77
+
78
+ it 'will load files from both paths' do
79
+ subject.parse('@import "one.less";').to_css.delete("\n").strip.should eql '.one { width: 1;}'
80
+ subject.parse('@import "two.less";').to_css.delete("\n").strip.should eql '.two { width: 1;}'
81
+ end
82
+
83
+ it 'passes exceptions from less imported less files' do
84
+ -> { subject.parse('@import "faulty.less";').to_css }.should raise_error(Less::ParseError, /variable @a is undefined/)
85
+ end
86
+
87
+ it 'will track imported files' do
88
+ result1 = subject.parse('@import "one.less";')
89
+ result2 = subject.parse('@import "two.less";')
90
+ result1.imports.grep(/one\.less$/).should_not be_empty
91
+ result2.imports.grep(/two\.less$/).should_not be_empty
92
+ end
93
+
94
+ it 'reports type, line, column, extract and filename of (parse) error' do
95
+ begin
96
+ subject.parse('@import "faulty.less";').to_css
97
+ rescue Less::ParseError => e
98
+ e.type.should eq 'Name'
99
+ e.filename.should eq support.join('faulty/faulty.less').to_s
100
+ e.line.should eq 2
101
+ e.column.should eq 9
102
+ e.extract.should eql ['body {', ' color: @a;', '}']
103
+ else
104
+ fail 'parse error not raised'
105
+ end
106
+ end
107
+ end
108
+
109
+ it 'throws a ParseError if the less has errors' do
110
+ -> { subject.parse('{^)').to_css }.should raise_error(Less::ParseError, /Unrecognised input/)
111
+ end
112
+
113
+ describe 'when configured with multiple load paths' do
114
+ let(:parser) { Less::Parser.new(paths: [support.join('one').to_s, support.join('two').to_s]) }
115
+
116
+ it 'will load files from both paths' do
117
+ parser.parse('@import "one.less";').to_css.delete("\n").strip.should eql '.one { width: 1;}'
118
+ parser.parse('@import "two.less";').to_css.delete("\n").strip.should eql '.two { width: 1;}'
119
+ end
120
+ end
121
+
122
+ describe 'when load paths are specified in as default options' do
123
+ before do
124
+ Less.paths << support.join('one').to_s
125
+ Less.paths << support.join('two').to_s
126
+ end
127
+
128
+ after { Less.paths.clear }
129
+
130
+ let(:parser) { Less::Parser.new }
131
+
132
+ it 'will load files from default load paths' do
133
+ parser.parse('@import "one.less";').to_css.delete("\n").strip.should eql '.one { width: 1;}'
134
+ parser.parse('@import "two.less";').to_css.delete("\n").strip.should eql '.two { width: 1;}'
135
+ end
136
+ end
137
+
138
+ # NOTE: runs JS tests from less.js it's a replacement for less-test.js
139
+ describe 'less.js test suite', integration: true do
140
+ TEST_LESS_DIR = File.expand_path('../../lib/less/js/less/test/less', File.dirname(__FILE__))
141
+ TEST_CSS_DIR = File.expand_path('../../lib/less/js/less/test/css', File.dirname(__FILE__))
142
+
143
+ Dir.glob(File.join(TEST_LESS_DIR, '*.less')).each do |less_file|
144
+ base_name = File.basename(less_file, '.less')
145
+ css_file = File.join(TEST_CSS_DIR, "#{base_name}.css")
146
+ raise "missing css file: #{css_file}" unless File.exist?(css_file)
147
+
148
+ less_content = File.read(less_file)
149
+ case base_name
150
+ when 'javascript'
151
+ # adjust less .eval line :
152
+ # title: `process.title`;
153
+ # later replaced by line :
154
+ # title: `typeof process.title`;
155
+ # with something that won't fail (since we're not in Node.JS)
156
+ less_content.sub!('process.title', '"node"')
157
+ end
158
+
159
+ it "#{base_name}.less" do
160
+ parser = Less::Parser.new(
161
+ filename: less_file,
162
+ paths: [File.dirname(less_file)],
163
+ custom_functions: support.join('less.js.tests-custom-functions')
164
+ )
165
+ less = parser.parse(less_content, strictMath: true, silent: true, relativeUrls: true)
166
+ less.to_css.should == File.read(css_file)
167
+ end
168
+ end
169
+ end
170
+ end
@@ -0,0 +1,3 @@
1
+ $LOAD_PATH.unshift Pathname(__FILE__).dirname.join('..', 'lib')
2
+
3
+ require 'less'
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ registerCustomFunctions: function (less, functionRegistry) {
3
+ functionRegistry.add('double', function(value) {
4
+ return new less.tree.Dimension(value.value * 2);
5
+ });
6
+ }
7
+ };
@@ -0,0 +1,3 @@
1
+ .one {
2
+ width: double(10);
3
+ }
@@ -0,0 +1,3 @@
1
+ body {
2
+ color: @a;
3
+ }
@@ -0,0 +1,20 @@
1
+ // add the functions that functions.less test expects to be exposed, see runner-main-options.js
2
+ module.exports = {
3
+ registerCustomFunctions: function (less, functionRegistry) {
4
+ functionRegistry.addMultiple({
5
+ add: function(a, b) {
6
+ return new less.tree.Dimension(a.value + b.value);
7
+ },
8
+
9
+ increment: function(a) {
10
+ return new less.tree.Dimension(a.value + 1);
11
+ },
12
+
13
+ _color: function(str) {
14
+ if(str.value == 'evil red') {
15
+ return new less.tree.Color('600')
16
+ }
17
+ }
18
+ })
19
+ }
20
+ };
@@ -0,0 +1 @@
1
+ .one {width: 1;}
@@ -0,0 +1 @@
1
+ .two {width: 1;}
metadata ADDED
@@ -0,0 +1,733 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: less-execjs
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.6.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Alex MacCaw
8
+ - David Spurr
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-12-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: execjs
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '2.6'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '2.6'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '2.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rubocop
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.46'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.46'
70
+ description: Invoke the Less CSS compiler from Ruby
71
+ email:
72
+ - alexmaccaw@twitter.com
73
+ - david.spurr@gmail.com
74
+ executables:
75
+ - lessc
76
+ extensions: []
77
+ extra_rdoc_files: []
78
+ files:
79
+ - ".gitignore"
80
+ - ".gitmodules"
81
+ - ".rubocop.yml"
82
+ - ".travis.yml"
83
+ - Gemfile
84
+ - LICENSE
85
+ - README.md
86
+ - Rakefile
87
+ - bin/lessc
88
+ - less-execjs.gemspec
89
+ - lib/less-execjs.rb
90
+ - lib/less.rb
91
+ - lib/less/compiler.js
92
+ - lib/less/defaults.rb
93
+ - lib/less/errors.rb
94
+ - lib/less/js/image-size.js
95
+ - lib/less/js/image-size/.gitignore
96
+ - lib/less/js/image-size/.jshintrc
97
+ - lib/less/js/image-size/.travis.yml
98
+ - lib/less/js/image-size/Contributors.md
99
+ - lib/less/js/image-size/LICENSE
100
+ - lib/less/js/image-size/Readme.md
101
+ - lib/less/js/image-size/bin/image-size.js
102
+ - lib/less/js/image-size/lib/detector.js
103
+ - lib/less/js/image-size/lib/index.js
104
+ - lib/less/js/image-size/lib/readUInt.js
105
+ - lib/less/js/image-size/lib/types.js
106
+ - lib/less/js/image-size/lib/types/bmp.js
107
+ - lib/less/js/image-size/lib/types/gif.js
108
+ - lib/less/js/image-size/lib/types/jpg.js
109
+ - lib/less/js/image-size/lib/types/png.js
110
+ - lib/less/js/image-size/lib/types/psd.js
111
+ - lib/less/js/image-size/lib/types/svg.js
112
+ - lib/less/js/image-size/lib/types/tiff.js
113
+ - lib/less/js/image-size/lib/types/webp.js
114
+ - lib/less/js/image-size/package.json
115
+ - lib/less/js/image-size/specs/.jshintrc
116
+ - lib/less/js/image-size/specs/complexity.js
117
+ - lib/less/js/image-size/specs/fs-close.spec.js
118
+ - lib/less/js/image-size/specs/images/invalid/malformed.svg
119
+ - lib/less/js/image-size/specs/images/invalid/sample.png
120
+ - lib/less/js/image-size/specs/images/invalid/width.svg
121
+ - lib/less/js/image-size/specs/images/valid/bmp/sample.bmp
122
+ - lib/less/js/image-size/specs/images/valid/gif/sample.gif
123
+ - lib/less/js/image-size/specs/images/valid/jpg/large.jpg
124
+ - lib/less/js/image-size/specs/images/valid/jpg/progressive.jpg
125
+ - lib/less/js/image-size/specs/images/valid/jpg/sample.jpg
126
+ - lib/less/js/image-size/specs/images/valid/jpg/sampleExported.jpg
127
+ - lib/less/js/image-size/specs/images/valid/jpg/very-large.jpg
128
+ - lib/less/js/image-size/specs/images/valid/png/sample.png
129
+ - lib/less/js/image-size/specs/images/valid/psd/sample.psd
130
+ - lib/less/js/image-size/specs/images/valid/svg/percentage.svg
131
+ - lib/less/js/image-size/specs/images/valid/svg/single-quotes.svg
132
+ - lib/less/js/image-size/specs/images/valid/svg/viewbox-height.svg
133
+ - lib/less/js/image-size/specs/images/valid/svg/viewbox-width-height.svg
134
+ - lib/less/js/image-size/specs/images/valid/svg/viewbox-width.svg
135
+ - lib/less/js/image-size/specs/images/valid/svg/viewbox.svg
136
+ - lib/less/js/image-size/specs/images/valid/svg/width-height.svg
137
+ - lib/less/js/image-size/specs/images/valid/tiff/big-endian.tiff
138
+ - lib/less/js/image-size/specs/images/valid/tiff/jpeg.tiff
139
+ - lib/less/js/image-size/specs/images/valid/tiff/little-endian.tiff
140
+ - lib/less/js/image-size/specs/images/valid/webp/lossless.webp
141
+ - lib/less/js/image-size/specs/images/valid/webp/lossy.webp
142
+ - lib/less/js/image-size/specs/invalid.spec.js
143
+ - lib/less/js/image-size/specs/others.spec.js
144
+ - lib/less/js/image-size/specs/unsupported.spec.js
145
+ - lib/less/js/image-size/specs/valid.spec.js
146
+ - lib/less/js/less/.gitattributes
147
+ - lib/less/js/less/.gitignore
148
+ - lib/less/js/less/.jscsrc
149
+ - lib/less/js/less/.jshintrc
150
+ - lib/less/js/less/.npmignore
151
+ - lib/less/js/less/.travis.yml
152
+ - lib/less/js/less/CHANGELOG.md
153
+ - lib/less/js/less/CONTRIBUTING.md
154
+ - lib/less/js/less/Gruntfile.js
155
+ - lib/less/js/less/LICENSE
156
+ - lib/less/js/less/README.md
157
+ - lib/less/js/less/appveyor.yml
158
+ - lib/less/js/less/benchmark/benchmark.less
159
+ - lib/less/js/less/benchmark/index.js
160
+ - lib/less/js/less/bin/lessc
161
+ - lib/less/js/less/bower.json
162
+ - lib/less/js/less/browser.js
163
+ - lib/less/js/less/build.gradle
164
+ - lib/less/js/less/build/amd.js
165
+ - lib/less/js/less/build/build.yml
166
+ - lib/less/js/less/build/require-rhino.js
167
+ - lib/less/js/less/build/rhino-header.js
168
+ - lib/less/js/less/build/rhino-modules.js
169
+ - lib/less/js/less/build/tasks/.gitkeep
170
+ - lib/less/js/less/dist/less.js
171
+ - lib/less/js/less/dist/less.min.js
172
+ - lib/less/js/less/gradle/wrapper/gradle-wrapper.jar
173
+ - lib/less/js/less/gradle/wrapper/gradle-wrapper.properties
174
+ - lib/less/js/less/gradlew
175
+ - lib/less/js/less/gradlew.bat
176
+ - lib/less/js/less/index.js
177
+ - lib/less/js/less/lib/less-browser/add-default-options.js
178
+ - lib/less/js/less/lib/less-browser/bootstrap.js
179
+ - lib/less/js/less/lib/less-browser/browser.js
180
+ - lib/less/js/less/lib/less-browser/cache.js
181
+ - lib/less/js/less/lib/less-browser/error-reporting.js
182
+ - lib/less/js/less/lib/less-browser/file-manager.js
183
+ - lib/less/js/less/lib/less-browser/image-size.js
184
+ - lib/less/js/less/lib/less-browser/index.js
185
+ - lib/less/js/less/lib/less-browser/log-listener.js
186
+ - lib/less/js/less/lib/less-browser/utils.js
187
+ - lib/less/js/less/lib/less-node/environment.js
188
+ - lib/less/js/less/lib/less-node/file-manager.js
189
+ - lib/less/js/less/lib/less-node/fs.js
190
+ - lib/less/js/less/lib/less-node/image-size.js
191
+ - lib/less/js/less/lib/less-node/index.js
192
+ - lib/less/js/less/lib/less-node/lessc-helper.js
193
+ - lib/less/js/less/lib/less-node/plugin-loader.js
194
+ - lib/less/js/less/lib/less-node/url-file-manager.js
195
+ - lib/less/js/less/lib/less-rhino/index.js
196
+ - lib/less/js/less/lib/less/contexts.js
197
+ - lib/less/js/less/lib/less/data/colors.js
198
+ - lib/less/js/less/lib/less/data/index.js
199
+ - lib/less/js/less/lib/less/data/unit-conversions.js
200
+ - lib/less/js/less/lib/less/environment/abstract-file-manager.js
201
+ - lib/less/js/less/lib/less/environment/environment-api.js
202
+ - lib/less/js/less/lib/less/environment/environment.js
203
+ - lib/less/js/less/lib/less/environment/file-manager-api.js
204
+ - lib/less/js/less/lib/less/functions/color-blending.js
205
+ - lib/less/js/less/lib/less/functions/color.js
206
+ - lib/less/js/less/lib/less/functions/data-uri.js
207
+ - lib/less/js/less/lib/less/functions/default.js
208
+ - lib/less/js/less/lib/less/functions/function-caller.js
209
+ - lib/less/js/less/lib/less/functions/function-registry.js
210
+ - lib/less/js/less/lib/less/functions/index.js
211
+ - lib/less/js/less/lib/less/functions/math-helper.js
212
+ - lib/less/js/less/lib/less/functions/math.js
213
+ - lib/less/js/less/lib/less/functions/number.js
214
+ - lib/less/js/less/lib/less/functions/string.js
215
+ - lib/less/js/less/lib/less/functions/svg.js
216
+ - lib/less/js/less/lib/less/functions/types.js
217
+ - lib/less/js/less/lib/less/import-manager.js
218
+ - lib/less/js/less/lib/less/index.js
219
+ - lib/less/js/less/lib/less/less-error.js
220
+ - lib/less/js/less/lib/less/logger.js
221
+ - lib/less/js/less/lib/less/parse-tree.js
222
+ - lib/less/js/less/lib/less/parse.js
223
+ - lib/less/js/less/lib/less/parser/chunker.js
224
+ - lib/less/js/less/lib/less/parser/parser-input.js
225
+ - lib/less/js/less/lib/less/parser/parser.js
226
+ - lib/less/js/less/lib/less/plugin-manager.js
227
+ - lib/less/js/less/lib/less/plugins/function-importer.js
228
+ - lib/less/js/less/lib/less/render.js
229
+ - lib/less/js/less/lib/less/source-map-builder.js
230
+ - lib/less/js/less/lib/less/source-map-output.js
231
+ - lib/less/js/less/lib/less/transform-tree.js
232
+ - lib/less/js/less/lib/less/tree/alpha.js
233
+ - lib/less/js/less/lib/less/tree/anonymous.js
234
+ - lib/less/js/less/lib/less/tree/assignment.js
235
+ - lib/less/js/less/lib/less/tree/attribute.js
236
+ - lib/less/js/less/lib/less/tree/call.js
237
+ - lib/less/js/less/lib/less/tree/color.js
238
+ - lib/less/js/less/lib/less/tree/combinator.js
239
+ - lib/less/js/less/lib/less/tree/comment.js
240
+ - lib/less/js/less/lib/less/tree/condition.js
241
+ - lib/less/js/less/lib/less/tree/debug-info.js
242
+ - lib/less/js/less/lib/less/tree/detached-ruleset.js
243
+ - lib/less/js/less/lib/less/tree/dimension.js
244
+ - lib/less/js/less/lib/less/tree/directive.js
245
+ - lib/less/js/less/lib/less/tree/element.js
246
+ - lib/less/js/less/lib/less/tree/expression.js
247
+ - lib/less/js/less/lib/less/tree/extend.js
248
+ - lib/less/js/less/lib/less/tree/import.js
249
+ - lib/less/js/less/lib/less/tree/index.js
250
+ - lib/less/js/less/lib/less/tree/javascript.js
251
+ - lib/less/js/less/lib/less/tree/js-eval-node.js
252
+ - lib/less/js/less/lib/less/tree/keyword.js
253
+ - lib/less/js/less/lib/less/tree/media.js
254
+ - lib/less/js/less/lib/less/tree/mixin-call.js
255
+ - lib/less/js/less/lib/less/tree/mixin-definition.js
256
+ - lib/less/js/less/lib/less/tree/negative.js
257
+ - lib/less/js/less/lib/less/tree/node.js
258
+ - lib/less/js/less/lib/less/tree/operation.js
259
+ - lib/less/js/less/lib/less/tree/paren.js
260
+ - lib/less/js/less/lib/less/tree/quoted.js
261
+ - lib/less/js/less/lib/less/tree/rule.js
262
+ - lib/less/js/less/lib/less/tree/ruleset-call.js
263
+ - lib/less/js/less/lib/less/tree/ruleset.js
264
+ - lib/less/js/less/lib/less/tree/selector.js
265
+ - lib/less/js/less/lib/less/tree/unicode-descriptor.js
266
+ - lib/less/js/less/lib/less/tree/unit.js
267
+ - lib/less/js/less/lib/less/tree/url.js
268
+ - lib/less/js/less/lib/less/tree/value.js
269
+ - lib/less/js/less/lib/less/tree/variable.js
270
+ - lib/less/js/less/lib/less/utils.js
271
+ - lib/less/js/less/lib/less/visitors/extend-visitor.js
272
+ - lib/less/js/less/lib/less/visitors/import-sequencer.js
273
+ - lib/less/js/less/lib/less/visitors/import-visitor.js
274
+ - lib/less/js/less/lib/less/visitors/index.js
275
+ - lib/less/js/less/lib/less/visitors/join-selector-visitor.js
276
+ - lib/less/js/less/lib/less/visitors/set-tree-visibility-visitor.js
277
+ - lib/less/js/less/lib/less/visitors/to-css-visitor.js
278
+ - lib/less/js/less/lib/less/visitors/visitor.js
279
+ - lib/less/js/less/lib/source-map/source-map-0.1.31.js
280
+ - lib/less/js/less/lib/source-map/source-map-footer.js
281
+ - lib/less/js/less/lib/source-map/source-map-header.js
282
+ - lib/less/js/less/package.json
283
+ - lib/less/js/less/test/browser/common.js
284
+ - lib/less/js/less/test/browser/css/global-vars/simple.css
285
+ - lib/less/js/less/test/browser/css/modify-vars/simple.css
286
+ - lib/less/js/less/test/browser/css/postProcessor/postProcessor.css
287
+ - lib/less/js/less/test/browser/css/relative-urls/urls.css
288
+ - lib/less/js/less/test/browser/css/rootpath-relative/urls.css
289
+ - lib/less/js/less/test/browser/css/rootpath/urls.css
290
+ - lib/less/js/less/test/browser/css/urls.css
291
+ - lib/less/js/less/test/browser/jasmine-jsreporter.js
292
+ - lib/less/js/less/test/browser/less/console-errors/test-error.less
293
+ - lib/less/js/less/test/browser/less/console-errors/test-error.txt
294
+ - lib/less/js/less/test/browser/less/errors/image-height-error.less
295
+ - lib/less/js/less/test/browser/less/errors/image-height-error.txt
296
+ - lib/less/js/less/test/browser/less/errors/image-size-error.less
297
+ - lib/less/js/less/test/browser/less/errors/image-size-error.txt
298
+ - lib/less/js/less/test/browser/less/errors/image-width-error.less
299
+ - lib/less/js/less/test/browser/less/errors/image-width-error.txt
300
+ - lib/less/js/less/test/browser/less/global-vars/simple.less
301
+ - lib/less/js/less/test/browser/less/imports/urls.less
302
+ - lib/less/js/less/test/browser/less/imports/urls2.less
303
+ - lib/less/js/less/test/browser/less/modify-vars/imports/simple2.less
304
+ - lib/less/js/less/test/browser/less/modify-vars/simple.less
305
+ - lib/less/js/less/test/browser/less/nested-gradient-with-svg-gradient/mixin-consumer.less
306
+ - lib/less/js/less/test/browser/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less
307
+ - lib/less/js/less/test/browser/less/postProcessor/postProcessor.less
308
+ - lib/less/js/less/test/browser/less/relative-urls/urls.less
309
+ - lib/less/js/less/test/browser/less/rootpath-relative/urls.less
310
+ - lib/less/js/less/test/browser/less/rootpath/urls.less
311
+ - lib/less/js/less/test/browser/less/urls.less
312
+ - lib/less/js/less/test/browser/runner-VisitorPlugin-options.js
313
+ - lib/less/js/less/test/browser/runner-VisitorPlugin.js
314
+ - lib/less/js/less/test/browser/runner-browser-options.js
315
+ - lib/less/js/less/test/browser/runner-browser-spec.js
316
+ - lib/less/js/less/test/browser/runner-console-errors.js
317
+ - lib/less/js/less/test/browser/runner-errors-options.js
318
+ - lib/less/js/less/test/browser/runner-errors-spec.js
319
+ - lib/less/js/less/test/browser/runner-filemanagerPlugin-options.js
320
+ - lib/less/js/less/test/browser/runner-filemanagerPlugin.js
321
+ - lib/less/js/less/test/browser/runner-global-vars-options.js
322
+ - lib/less/js/less/test/browser/runner-global-vars-spec.js
323
+ - lib/less/js/less/test/browser/runner-legacy-options.js
324
+ - lib/less/js/less/test/browser/runner-legacy-spec.js
325
+ - lib/less/js/less/test/browser/runner-main-options.js
326
+ - lib/less/js/less/test/browser/runner-main-spec.js
327
+ - lib/less/js/less/test/browser/runner-modify-vars-options.js
328
+ - lib/less/js/less/test/browser/runner-modify-vars-spec.js
329
+ - lib/less/js/less/test/browser/runner-no-js-errors-options.js
330
+ - lib/less/js/less/test/browser/runner-no-js-errors-spec.js
331
+ - lib/less/js/less/test/browser/runner-postProcessor-options.js
332
+ - lib/less/js/less/test/browser/runner-postProcessor.js
333
+ - lib/less/js/less/test/browser/runner-postProcessorPlugin-options.js
334
+ - lib/less/js/less/test/browser/runner-postProcessorPlugin.js
335
+ - lib/less/js/less/test/browser/runner-preProcessorPlugin-options.js
336
+ - lib/less/js/less/test/browser/runner-preProcessorPlugin.js
337
+ - lib/less/js/less/test/browser/runner-production-options.js
338
+ - lib/less/js/less/test/browser/runner-production-spec.js
339
+ - lib/less/js/less/test/browser/runner-relative-urls-options.js
340
+ - lib/less/js/less/test/browser/runner-relative-urls-spec.js
341
+ - lib/less/js/less/test/browser/runner-rootpath-options.js
342
+ - lib/less/js/less/test/browser/runner-rootpath-relative-options.js
343
+ - lib/less/js/less/test/browser/runner-rootpath-relative-spec.js
344
+ - lib/less/js/less/test/browser/runner-rootpath-spec.js
345
+ - lib/less/js/less/test/browser/runner-strict-units-options.js
346
+ - lib/less/js/less/test/browser/runner-strict-units-spec.js
347
+ - lib/less/js/less/test/browser/test-runner-template.tmpl
348
+ - lib/less/js/less/test/copy-bom.js
349
+ - lib/less/js/less/test/css/charsets.css
350
+ - lib/less/js/less/test/css/colors.css
351
+ - lib/less/js/less/test/css/comments.css
352
+ - lib/less/js/less/test/css/comments2.css
353
+ - lib/less/js/less/test/css/compression/compression.css
354
+ - lib/less/js/less/test/css/css-3.css
355
+ - lib/less/js/less/test/css/css-escapes.css
356
+ - lib/less/js/less/test/css/css-guards.css
357
+ - lib/less/js/less/test/css/css.css
358
+ - lib/less/js/less/test/css/debug/linenumbers-all.css
359
+ - lib/less/js/less/test/css/debug/linenumbers-comments.css
360
+ - lib/less/js/less/test/css/debug/linenumbers-mediaquery.css
361
+ - lib/less/js/less/test/css/detached-rulesets.css
362
+ - lib/less/js/less/test/css/directives-bubling.css
363
+ - lib/less/js/less/test/css/empty.css
364
+ - lib/less/js/less/test/css/extend-chaining.css
365
+ - lib/less/js/less/test/css/extend-clearfix.css
366
+ - lib/less/js/less/test/css/extend-exact.css
367
+ - lib/less/js/less/test/css/extend-media.css
368
+ - lib/less/js/less/test/css/extend-nest.css
369
+ - lib/less/js/less/test/css/extend-selector.css
370
+ - lib/less/js/less/test/css/extend.css
371
+ - lib/less/js/less/test/css/extract-and-length.css
372
+ - lib/less/js/less/test/css/filemanagerPlugin/filemanager.css
373
+ - lib/less/js/less/test/css/functions.css
374
+ - lib/less/js/less/test/css/globalVars/extended.css
375
+ - lib/less/js/less/test/css/globalVars/simple.css
376
+ - lib/less/js/less/test/css/ie-filters.css
377
+ - lib/less/js/less/test/css/import-inline.css
378
+ - lib/less/js/less/test/css/import-interpolation.css
379
+ - lib/less/js/less/test/css/import-once.css
380
+ - lib/less/js/less/test/css/import-reference-issues.css
381
+ - lib/less/js/less/test/css/import-reference.css
382
+ - lib/less/js/less/test/css/import.css
383
+ - lib/less/js/less/test/css/include-path-string/include-path-string.css
384
+ - lib/less/js/less/test/css/include-path/include-path.css
385
+ - lib/less/js/less/test/css/javascript.css
386
+ - lib/less/js/less/test/css/lazy-eval.css
387
+ - lib/less/js/less/test/css/legacy/legacy.css
388
+ - lib/less/js/less/test/css/media.css
389
+ - lib/less/js/less/test/css/merge.css
390
+ - lib/less/js/less/test/css/mixins-args.css
391
+ - lib/less/js/less/test/css/mixins-closure.css
392
+ - lib/less/js/less/test/css/mixins-guards-default-func.css
393
+ - lib/less/js/less/test/css/mixins-guards.css
394
+ - lib/less/js/less/test/css/mixins-important.css
395
+ - lib/less/js/less/test/css/mixins-interpolated.css
396
+ - lib/less/js/less/test/css/mixins-named-args.css
397
+ - lib/less/js/less/test/css/mixins-nested.css
398
+ - lib/less/js/less/test/css/mixins-pattern.css
399
+ - lib/less/js/less/test/css/mixins.css
400
+ - lib/less/js/less/test/css/modifyVars/extended.css
401
+ - lib/less/js/less/test/css/no-output.css
402
+ - lib/less/js/less/test/css/no-strict-math/mixins-guards.css
403
+ - lib/less/js/less/test/css/no-strict-math/no-sm-operations.css
404
+ - lib/less/js/less/test/css/operations.css
405
+ - lib/less/js/less/test/css/parens.css
406
+ - lib/less/js/less/test/css/plugin.css
407
+ - lib/less/js/less/test/css/postProcessorPlugin/postProcessor.css
408
+ - lib/less/js/less/test/css/preProcessorPlugin/preProcessor.css
409
+ - lib/less/js/less/test/css/property-name-interp.css
410
+ - lib/less/js/less/test/css/rulesets.css
411
+ - lib/less/js/less/test/css/scope.css
412
+ - lib/less/js/less/test/css/selectors.css
413
+ - lib/less/js/less/test/css/static-urls/urls.css
414
+ - lib/less/js/less/test/css/strict-units/strict-units.css
415
+ - lib/less/js/less/test/css/strings.css
416
+ - lib/less/js/less/test/css/url-args/urls.css
417
+ - lib/less/js/less/test/css/urls.css
418
+ - lib/less/js/less/test/css/variables-in-at-rules.css
419
+ - lib/less/js/less/test/css/variables.css
420
+ - lib/less/js/less/test/css/visitorPlugin/visitor.css
421
+ - lib/less/js/less/test/css/whitespace.css
422
+ - lib/less/js/less/test/data/data-uri-fail.png
423
+ - lib/less/js/less/test/data/image.jpg
424
+ - lib/less/js/less/test/data/image.svg
425
+ - lib/less/js/less/test/data/page.html
426
+ - lib/less/js/less/test/index.js
427
+ - lib/less/js/less/test/less-test.js
428
+ - lib/less/js/less/test/less/charsets.less
429
+ - lib/less/js/less/test/less/colors.less
430
+ - lib/less/js/less/test/less/comments.less
431
+ - lib/less/js/less/test/less/comments2.less
432
+ - lib/less/js/less/test/less/compression/compression.less
433
+ - lib/less/js/less/test/less/css-3.less
434
+ - lib/less/js/less/test/less/css-escapes.less
435
+ - lib/less/js/less/test/less/css-guards.less
436
+ - lib/less/js/less/test/less/css.less
437
+ - lib/less/js/less/test/less/debug/import/test.less
438
+ - lib/less/js/less/test/less/debug/linenumbers.less
439
+ - lib/less/js/less/test/less/detached-rulesets.less
440
+ - lib/less/js/less/test/less/directives-bubling.less
441
+ - lib/less/js/less/test/less/empty.less
442
+ - lib/less/js/less/test/less/errors/add-mixed-units.less
443
+ - lib/less/js/less/test/less/errors/add-mixed-units.txt
444
+ - lib/less/js/less/test/less/errors/add-mixed-units2.less
445
+ - lib/less/js/less/test/less/errors/add-mixed-units2.txt
446
+ - lib/less/js/less/test/less/errors/at-rules-undefined-var.less
447
+ - lib/less/js/less/test/less/errors/at-rules-undefined-var.txt
448
+ - lib/less/js/less/test/less/errors/bad-variable-declaration1.less
449
+ - lib/less/js/less/test/less/errors/bad-variable-declaration1.txt
450
+ - lib/less/js/less/test/less/errors/color-func-invalid-color.less
451
+ - lib/less/js/less/test/less/errors/color-func-invalid-color.txt
452
+ - lib/less/js/less/test/less/errors/color-invalid-hex-code.less
453
+ - lib/less/js/less/test/less/errors/color-invalid-hex-code.txt
454
+ - lib/less/js/less/test/less/errors/color-invalid-hex-code2.less
455
+ - lib/less/js/less/test/less/errors/color-invalid-hex-code2.txt
456
+ - lib/less/js/less/test/less/errors/css-guard-default-func.less
457
+ - lib/less/js/less/test/less/errors/css-guard-default-func.txt
458
+ - lib/less/js/less/test/less/errors/detached-ruleset-1.less
459
+ - lib/less/js/less/test/less/errors/detached-ruleset-1.txt
460
+ - lib/less/js/less/test/less/errors/detached-ruleset-2.less
461
+ - lib/less/js/less/test/less/errors/detached-ruleset-2.txt
462
+ - lib/less/js/less/test/less/errors/detached-ruleset-3.less
463
+ - lib/less/js/less/test/less/errors/detached-ruleset-3.txt
464
+ - lib/less/js/less/test/less/errors/detached-ruleset-5.less
465
+ - lib/less/js/less/test/less/errors/detached-ruleset-5.txt
466
+ - lib/less/js/less/test/less/errors/detached-ruleset-6.less
467
+ - lib/less/js/less/test/less/errors/detached-ruleset-6.txt
468
+ - lib/less/js/less/test/less/errors/divide-mixed-units.less
469
+ - lib/less/js/less/test/less/errors/divide-mixed-units.txt
470
+ - lib/less/js/less/test/less/errors/extend-no-selector.less
471
+ - lib/less/js/less/test/less/errors/extend-no-selector.txt
472
+ - lib/less/js/less/test/less/errors/extend-not-at-end.less
473
+ - lib/less/js/less/test/less/errors/extend-not-at-end.txt
474
+ - lib/less/js/less/test/less/errors/import-malformed.less
475
+ - lib/less/js/less/test/less/errors/import-malformed.txt
476
+ - lib/less/js/less/test/less/errors/import-missing.less
477
+ - lib/less/js/less/test/less/errors/import-missing.txt
478
+ - lib/less/js/less/test/less/errors/import-no-semi.less
479
+ - lib/less/js/less/test/less/errors/import-no-semi.txt
480
+ - lib/less/js/less/test/less/errors/import-subfolder1.less
481
+ - lib/less/js/less/test/less/errors/import-subfolder1.txt
482
+ - lib/less/js/less/test/less/errors/import-subfolder2.less
483
+ - lib/less/js/less/test/less/errors/import-subfolder2.txt
484
+ - lib/less/js/less/test/less/errors/imports/import-subfolder1.less
485
+ - lib/less/js/less/test/less/errors/imports/import-subfolder2.less
486
+ - lib/less/js/less/test/less/errors/imports/import-test.less
487
+ - lib/less/js/less/test/less/errors/imports/subfolder/mixin-not-defined.less
488
+ - lib/less/js/less/test/less/errors/imports/subfolder/parse-error-curly-bracket.less
489
+ - lib/less/js/less/test/less/errors/javascript-error.less
490
+ - lib/less/js/less/test/less/errors/javascript-error.txt
491
+ - lib/less/js/less/test/less/errors/javascript-undefined-var.less
492
+ - lib/less/js/less/test/less/errors/javascript-undefined-var.txt
493
+ - lib/less/js/less/test/less/errors/mixed-mixin-definition-args-1.less
494
+ - lib/less/js/less/test/less/errors/mixed-mixin-definition-args-1.txt
495
+ - lib/less/js/less/test/less/errors/mixed-mixin-definition-args-2.less
496
+ - lib/less/js/less/test/less/errors/mixed-mixin-definition-args-2.txt
497
+ - lib/less/js/less/test/less/errors/mixin-not-defined.less
498
+ - lib/less/js/less/test/less/errors/mixin-not-defined.txt
499
+ - lib/less/js/less/test/less/errors/mixin-not-matched.less
500
+ - lib/less/js/less/test/less/errors/mixin-not-matched.txt
501
+ - lib/less/js/less/test/less/errors/mixin-not-matched2.less
502
+ - lib/less/js/less/test/less/errors/mixin-not-matched2.txt
503
+ - lib/less/js/less/test/less/errors/mixin-not-visible-in-scope-1.less
504
+ - lib/less/js/less/test/less/errors/mixin-not-visible-in-scope-1.txt
505
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-1.less
506
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-1.txt
507
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-2.less
508
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-2.txt
509
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-3.less
510
+ - lib/less/js/less/test/less/errors/mixins-guards-default-func-3.txt
511
+ - lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors.less
512
+ - lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors.txt
513
+ - lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors2.less
514
+ - lib/less/js/less/test/less/errors/multiple-guards-on-css-selectors2.txt
515
+ - lib/less/js/less/test/less/errors/multiply-mixed-units.less
516
+ - lib/less/js/less/test/less/errors/multiply-mixed-units.txt
517
+ - lib/less/js/less/test/less/errors/parens-error-1.less
518
+ - lib/less/js/less/test/less/errors/parens-error-1.txt
519
+ - lib/less/js/less/test/less/errors/parens-error-2.less
520
+ - lib/less/js/less/test/less/errors/parens-error-2.txt
521
+ - lib/less/js/less/test/less/errors/parens-error-3.less
522
+ - lib/less/js/less/test/less/errors/parens-error-3.txt
523
+ - lib/less/js/less/test/less/errors/parse-error-curly-bracket.less
524
+ - lib/less/js/less/test/less/errors/parse-error-curly-bracket.txt
525
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-1.less
526
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-1.txt
527
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-2.less
528
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-2.txt
529
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-3.less
530
+ - lib/less/js/less/test/less/errors/parse-error-media-no-block-3.txt
531
+ - lib/less/js/less/test/less/errors/parse-error-missing-bracket.less
532
+ - lib/less/js/less/test/less/errors/parse-error-missing-bracket.txt
533
+ - lib/less/js/less/test/less/errors/parse-error-missing-parens.less
534
+ - lib/less/js/less/test/less/errors/parse-error-missing-parens.txt
535
+ - lib/less/js/less/test/less/errors/parse-error-with-import.less
536
+ - lib/less/js/less/test/less/errors/parse-error-with-import.txt
537
+ - lib/less/js/less/test/less/errors/percentage-missing-space.less
538
+ - lib/less/js/less/test/less/errors/percentage-missing-space.txt
539
+ - lib/less/js/less/test/less/errors/percentage-non-number-argument.less
540
+ - lib/less/js/less/test/less/errors/percentage-non-number-argument.txt
541
+ - lib/less/js/less/test/less/errors/property-asterisk-only-name.less
542
+ - lib/less/js/less/test/less/errors/property-asterisk-only-name.txt
543
+ - lib/less/js/less/test/less/errors/property-ie5-hack.less
544
+ - lib/less/js/less/test/less/errors/property-ie5-hack.txt
545
+ - lib/less/js/less/test/less/errors/property-in-root.less
546
+ - lib/less/js/less/test/less/errors/property-in-root.txt
547
+ - lib/less/js/less/test/less/errors/property-in-root2.less
548
+ - lib/less/js/less/test/less/errors/property-in-root2.txt
549
+ - lib/less/js/less/test/less/errors/property-in-root3.less
550
+ - lib/less/js/less/test/less/errors/property-in-root3.txt
551
+ - lib/less/js/less/test/less/errors/property-interp-not-defined.less
552
+ - lib/less/js/less/test/less/errors/property-interp-not-defined.txt
553
+ - lib/less/js/less/test/less/errors/recursive-variable.less
554
+ - lib/less/js/less/test/less/errors/recursive-variable.txt
555
+ - lib/less/js/less/test/less/errors/single-character.less
556
+ - lib/less/js/less/test/less/errors/single-character.txt
557
+ - lib/less/js/less/test/less/errors/svg-gradient1.less
558
+ - lib/less/js/less/test/less/errors/svg-gradient1.txt
559
+ - lib/less/js/less/test/less/errors/svg-gradient2.less
560
+ - lib/less/js/less/test/less/errors/svg-gradient2.txt
561
+ - lib/less/js/less/test/less/errors/svg-gradient3.less
562
+ - lib/less/js/less/test/less/errors/svg-gradient3.txt
563
+ - lib/less/js/less/test/less/errors/svg-gradient4.less
564
+ - lib/less/js/less/test/less/errors/svg-gradient4.txt
565
+ - lib/less/js/less/test/less/errors/svg-gradient5.less
566
+ - lib/less/js/less/test/less/errors/svg-gradient5.txt
567
+ - lib/less/js/less/test/less/errors/svg-gradient6.less
568
+ - lib/less/js/less/test/less/errors/svg-gradient6.txt
569
+ - lib/less/js/less/test/less/errors/unit-function.less
570
+ - lib/less/js/less/test/less/errors/unit-function.txt
571
+ - lib/less/js/less/test/less/extend-chaining.less
572
+ - lib/less/js/less/test/less/extend-clearfix.less
573
+ - lib/less/js/less/test/less/extend-exact.less
574
+ - lib/less/js/less/test/less/extend-media.less
575
+ - lib/less/js/less/test/less/extend-nest.less
576
+ - lib/less/js/less/test/less/extend-selector.less
577
+ - lib/less/js/less/test/less/extend.less
578
+ - lib/less/js/less/test/less/extract-and-length.less
579
+ - lib/less/js/less/test/less/filemanagerPlugin/colors.test
580
+ - lib/less/js/less/test/less/filemanagerPlugin/filemanager.less
581
+ - lib/less/js/less/test/less/functions.less
582
+ - lib/less/js/less/test/less/globalVars/extended.json
583
+ - lib/less/js/less/test/less/globalVars/extended.less
584
+ - lib/less/js/less/test/less/globalVars/simple.json
585
+ - lib/less/js/less/test/less/globalVars/simple.less
586
+ - lib/less/js/less/test/less/ie-filters.less
587
+ - lib/less/js/less/test/less/import-inline.less
588
+ - lib/less/js/less/test/less/import-interpolation.less
589
+ - lib/less/js/less/test/less/import-once.less
590
+ - lib/less/js/less/test/less/import-reference-issues.less
591
+ - lib/less/js/less/test/less/import-reference-issues/appender-reference-1968.less
592
+ - lib/less/js/less/test/less/import-reference-issues/global-scope-import.less
593
+ - lib/less/js/less/test/less/import-reference-issues/global-scope-nested.less
594
+ - lib/less/js/less/test/less/import-reference-issues/mixin-1968.less
595
+ - lib/less/js/less/test/less/import-reference-issues/multiple-import-nested.less
596
+ - lib/less/js/less/test/less/import-reference-issues/multiple-import.less
597
+ - lib/less/js/less/test/less/import-reference-issues/simple-mixin.css
598
+ - lib/less/js/less/test/less/import-reference-issues/simple-ruleset-2162.less
599
+ - lib/less/js/less/test/less/import-reference.less
600
+ - lib/less/js/less/test/less/import.less
601
+ - lib/less/js/less/test/less/import/css-import.less
602
+ - lib/less/js/less/test/less/import/deeper/deeper-2/url-import-2.less
603
+ - lib/less/js/less/test/less/import/deeper/deeper-2/url-import.less
604
+ - lib/less/js/less/test/less/import/deeper/import-once-test-a.less
605
+ - lib/less/js/less/test/less/import/deeper/url-import.less
606
+ - lib/less/js/less/test/less/import/import-and-relative-paths-test.less
607
+ - lib/less/js/less/test/less/import/import-charset-test.less
608
+ - lib/less/js/less/test/less/import/import-inline-invalid-css.less
609
+ - lib/less/js/less/test/less/import/import-interpolation.less
610
+ - lib/less/js/less/test/less/import/import-interpolation2.less
611
+ - lib/less/js/less/test/less/import/import-once-test-c.less
612
+ - lib/less/js/less/test/less/import/import-reference.less
613
+ - lib/less/js/less/test/less/import/import-test-a.less
614
+ - lib/less/js/less/test/less/import/import-test-b.less
615
+ - lib/less/js/less/test/less/import/import-test-c.less
616
+ - lib/less/js/less/test/less/import/import-test-d.css
617
+ - lib/less/js/less/test/less/import/import-test-e.less
618
+ - lib/less/js/less/test/less/import/import-test-f.less
619
+ - lib/less/js/less/test/less/import/imports/font.less
620
+ - lib/less/js/less/test/less/import/imports/logo.less
621
+ - lib/less/js/less/test/less/import/interpolation-vars.less
622
+ - lib/less/js/less/test/less/import/invalid-css.less
623
+ - lib/less/js/less/test/less/import/urls.less
624
+ - lib/less/js/less/test/less/include-path-string/include-path-string.less
625
+ - lib/less/js/less/test/less/include-path/include-path.less
626
+ - lib/less/js/less/test/less/javascript.less
627
+ - lib/less/js/less/test/less/lazy-eval.less
628
+ - lib/less/js/less/test/less/legacy/legacy.less
629
+ - lib/less/js/less/test/less/media.less
630
+ - lib/less/js/less/test/less/merge.less
631
+ - lib/less/js/less/test/less/mixins-args.less
632
+ - lib/less/js/less/test/less/mixins-closure.less
633
+ - lib/less/js/less/test/less/mixins-guards-default-func.less
634
+ - lib/less/js/less/test/less/mixins-guards.less
635
+ - lib/less/js/less/test/less/mixins-important.less
636
+ - lib/less/js/less/test/less/mixins-interpolated.less
637
+ - lib/less/js/less/test/less/mixins-named-args.less
638
+ - lib/less/js/less/test/less/mixins-nested.less
639
+ - lib/less/js/less/test/less/mixins-pattern.less
640
+ - lib/less/js/less/test/less/mixins.less
641
+ - lib/less/js/less/test/less/modifyVars/extended.json
642
+ - lib/less/js/less/test/less/modifyVars/extended.less
643
+ - lib/less/js/less/test/less/nested-gradient-with-svg-gradient/mixin-consumer.less
644
+ - lib/less/js/less/test/less/nested-gradient-with-svg-gradient/svg-gradient-mixin.less
645
+ - lib/less/js/less/test/less/no-js-errors/no-js-errors.less
646
+ - lib/less/js/less/test/less/no-js-errors/no-js-errors.txt
647
+ - lib/less/js/less/test/less/no-output.less
648
+ - lib/less/js/less/test/less/no-strict-math/mixins-guards.less
649
+ - lib/less/js/less/test/less/no-strict-math/no-sm-operations.less
650
+ - lib/less/js/less/test/less/operations.less
651
+ - lib/less/js/less/test/less/parens.less
652
+ - lib/less/js/less/test/less/plugin.less
653
+ - lib/less/js/less/test/less/plugin/plugin-global.js
654
+ - lib/less/js/less/test/less/plugin/plugin-local.js
655
+ - lib/less/js/less/test/less/plugin/plugin-transitive.js
656
+ - lib/less/js/less/test/less/plugin/plugin-transitive.less
657
+ - lib/less/js/less/test/less/postProcessorPlugin/postProcessor.less
658
+ - lib/less/js/less/test/less/preProcessorPlugin/preProcessor.less
659
+ - lib/less/js/less/test/less/property-name-interp.less
660
+ - lib/less/js/less/test/less/rulesets.less
661
+ - lib/less/js/less/test/less/scope.less
662
+ - lib/less/js/less/test/less/selectors.less
663
+ - lib/less/js/less/test/less/sourcemaps-empty/empty.less
664
+ - lib/less/js/less/test/less/sourcemaps-empty/var-defs.less
665
+ - lib/less/js/less/test/less/sourcemaps/basic.json
666
+ - lib/less/js/less/test/less/sourcemaps/basic.less
667
+ - lib/less/js/less/test/less/sourcemaps/imported.css
668
+ - lib/less/js/less/test/less/static-urls/urls.less
669
+ - lib/less/js/less/test/less/strict-units/strict-units.less
670
+ - lib/less/js/less/test/less/strings.less
671
+ - lib/less/js/less/test/less/url-args/urls.less
672
+ - lib/less/js/less/test/less/urls.less
673
+ - lib/less/js/less/test/less/variables-in-at-rules.less
674
+ - lib/less/js/less/test/less/variables.less
675
+ - lib/less/js/less/test/less/visitorPlugin/visitor.less
676
+ - lib/less/js/less/test/less/whitespace.less
677
+ - lib/less/js/less/test/modify-vars.js
678
+ - lib/less/js/less/test/plugins/filemanager/index.js
679
+ - lib/less/js/less/test/plugins/postprocess/index.js
680
+ - lib/less/js/less/test/plugins/preprocess/index.js
681
+ - lib/less/js/less/test/plugins/visitor/index.js
682
+ - lib/less/js/less/test/rhino/test-header.js
683
+ - lib/less/js/less/test/sourcemaps/basic.json
684
+ - lib/less/js/less/test/sourcemaps/index.html
685
+ - lib/less/js/node-mime/.gitignore
686
+ - lib/less/js/node-mime/.npmignore
687
+ - lib/less/js/node-mime/LICENSE
688
+ - lib/less/js/node-mime/README.md
689
+ - lib/less/js/node-mime/build/build.js
690
+ - lib/less/js/node-mime/build/test.js
691
+ - lib/less/js/node-mime/cli.js
692
+ - lib/less/js/node-mime/mime.js
693
+ - lib/less/js/node-mime/package.json
694
+ - lib/less/js/node-mime/types.json
695
+ - lib/less/loader.rb
696
+ - lib/less/parser.rb
697
+ - lib/less/runner.js
698
+ - lib/less/version.rb
699
+ - script/bootstrap
700
+ - script/cibuild
701
+ - spec/less/parser_spec.rb
702
+ - spec/spec_helper.rb
703
+ - spec/support/custom_functions/custom_functions.js
704
+ - spec/support/custom_functions/custom_functions.less
705
+ - spec/support/faulty/faulty.less
706
+ - spec/support/less.js.tests-custom-functions.js
707
+ - spec/support/one/one.less
708
+ - spec/support/two/two.less
709
+ homepage: http://lesscss.org
710
+ licenses:
711
+ - Apache-2.0
712
+ metadata: {}
713
+ post_install_message:
714
+ rdoc_options: []
715
+ require_paths:
716
+ - lib
717
+ required_ruby_version: !ruby/object:Gem::Requirement
718
+ requirements:
719
+ - - ">="
720
+ - !ruby/object:Gem::Version
721
+ version: '0'
722
+ required_rubygems_version: !ruby/object:Gem::Requirement
723
+ requirements:
724
+ - - ">="
725
+ - !ruby/object:Gem::Version
726
+ version: '0'
727
+ requirements: []
728
+ rubyforge_project:
729
+ rubygems_version: 2.5.1
730
+ signing_key:
731
+ specification_version: 4
732
+ summary: Leaner CSS, in your browser or Ruby (via less.js)
733
+ test_files: []