less 3.10.3 → 3.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yml +12 -0
- package/CHANGELOG.md +509 -711
- package/CONTRIBUTING.md +2 -2
- package/Gruntfile.js +42 -212
- package/README.md +31 -3
- package/bin/lessc +10538 -13511
- package/dist/less.cjs.js +10078 -12936
- package/dist/less.js +10670 -13462
- package/dist/less.min.js +3 -3
- package/dist/less.min.js.map +1 -1
- package/lib/less/contexts.js +1 -1
- package/lib/less/environment/abstract-file-manager.js +1 -1
- package/lib/less/import-manager.js +7 -20
- package/lib/less/index.js +1 -1
- package/lib/less/less-error.js +22 -2
- package/lib/less/parse-tree.js +2 -6
- package/lib/less/parser/parser.js +10 -10
- package/lib/less/tree/debug-info.js +2 -1
- package/lib/less/tree/namespace-value.js +1 -2
- package/lib/less/visitors/visitor.js +10 -2
- package/lib/less-node/file-manager.js +19 -49
- package/lib/lessc.js +3 -22
- package/package.json +21 -16
- package/test/browser/common.js +11 -49
- package/test/browser/generator/benchmark.config.js +50 -0
- package/test/browser/generator/generate.js +78 -0
- package/test/browser/generator/runner.config.js +180 -0
- package/test/browser/generator/runner.js +2 -0
- package/test/browser/generator/template.js +83 -0
- package/test/browser/runner-browser-options.js +0 -6
- package/test/browser/runner-browser-spec.js +1 -1
- package/test/browser/runner-main-spec.js +1 -1
- package/test/browser/runner-modify-vars-spec.js +1 -1
- package/test/browser/runner-production-spec.js +1 -1
- package/test/css/calc.css +9 -0
- package/test/css/comments.css +1 -1
- package/test/css/css-3.css +5 -5
- package/test/css/css-guards.css +1 -1
- package/test/css/debug/linenumbers-all.css +5 -5
- package/test/css/debug/linenumbers-comments.css +5 -5
- package/test/css/debug/linenumbers-mediaquery.css +5 -5
- package/test/css/extend-chaining.css +3 -3
- package/test/css/extend-media.css +1 -1
- package/test/css/extend-nest.css +1 -1
- package/test/css/filemanagerPlugin/filemanager.css +1 -1
- package/test/css/functions-each.css +1 -1
- package/test/css/import-once.css +2 -2
- package/test/css/import-reference-issues.css +1 -1
- package/test/css/import-reference.css +6 -6
- package/test/css/import.css +1 -1
- package/test/css/javascript.css +1 -1
- package/test/css/legacy/legacy.css +1 -1
- package/test/css/math/parens-division/mixins-args.css +1 -1
- package/test/css/math/parens-division/parens.css +1 -1
- package/test/css/math/strict/mixins-args.css +1 -1
- package/test/css/math/strict/parens.css +1 -1
- package/test/css/math/strict-legacy/mixins-args.css +1 -1
- package/test/css/math/strict-legacy/parens.css +1 -1
- package/test/css/media.css +14 -14
- package/test/css/merge.css +10 -10
- package/test/css/mixins-guards.css +6 -6
- package/test/css/mixins.css +2 -2
- package/test/css/namespacing/namespacing-3.css +16 -1
- package/test/css/namespacing/namespacing-4.css +1 -1
- package/test/css/namespacing/namespacing-functions.css +6 -0
- package/test/css/no-strict-math/mixins-guards.css +1 -1
- package/test/css/permissive-parse.css +1 -1
- package/test/css/plugin.css +9 -9
- package/test/css/postProcessorPlugin/postProcessor.css +2 -2
- package/test/css/preProcessorPlugin/preProcessor.css +1 -1
- package/test/css/selectors.css +2 -2
- package/test/css/variables.css +1 -1
- package/test/css/visitorPlugin/visitor.css +1 -1
- package/test/index.js +6 -0
- package/test/less/calc.less +17 -1
- package/test/less/comments.less +1 -1
- package/test/less/css-3.less +5 -5
- package/test/less/css-guards.less +2 -2
- package/test/less/debug/import/test.less +2 -2
- package/test/less/debug/linenumbers.less +3 -3
- package/test/less/errors/color-func-invalid-color.less +1 -1
- package/test/less/errors/color-func-invalid-color.txt +1 -1
- package/test/less/errors/invalid-color-with-comment.less +1 -0
- package/test/less/errors/invalid-color-with-comment.txt +2 -0
- package/test/less/errors/plugin-1.txt +2 -2
- package/test/less/errors/plugin-2.txt +1 -2
- package/test/less/errors/plugin-3.txt +1 -2
- package/test/less/errors/property-ie5-hack.less +1 -1
- package/test/less/extend-chaining.less +3 -3
- package/test/less/extend-media.less +1 -1
- package/test/less/extend-nest.less +1 -1
- package/test/less/filemanagerPlugin/filemanager.less +1 -1
- package/test/less/functions-each.less +1 -1
- package/test/less/import/import-reference.less +1 -1
- package/test/less/import/import-test-f.less +1 -1
- package/test/less/import/json/index.json +11 -0
- package/test/less/import/json/index.less +1 -0
- package/test/less/import-reference-issues/global-scope-import.less +2 -2
- package/test/less/import-reference-issues/global-scope-nested.less +1 -1
- package/test/less/import-reference-issues.less +2 -2
- package/test/less/import-reference.less +1 -1
- package/test/less/javascript.less +1 -1
- package/test/less/legacy/legacy.less +1 -1
- package/test/less/math/parens-division/mixins-args.less +4 -4
- package/test/less/math/parens-division/parens.less +1 -1
- package/test/less/math/strict/mixins-args.less +4 -4
- package/test/less/math/strict/parens.less +1 -1
- package/test/less/math/strict-legacy/mixins-args.less +4 -4
- package/test/less/math/strict-legacy/parens.less +1 -1
- package/test/less/media.less +9 -9
- package/test/less/merge.less +10 -10
- package/test/less/mixins-guards.less +8 -8
- package/test/less/mixins-important.less +3 -3
- package/test/less/mixins.less +2 -2
- package/test/less/namespacing/namespacing-3.less +25 -2
- package/test/less/namespacing/namespacing-4.less +1 -1
- package/test/less/namespacing/namespacing-5.less +2 -2
- package/test/less/namespacing/namespacing-functions.less +26 -0
- package/test/less/no-strict-math/mixins-guards.less +2 -2
- package/test/less/permissive-parse.less +1 -1
- package/test/less/plugin.less +9 -9
- package/test/less/postProcessorPlugin/postProcessor.less +2 -2
- package/test/less/preProcessorPlugin/preProcessor.less +1 -1
- package/test/less/selectors.less +1 -1
- package/test/less/sourcemaps/imported.css +1 -1
- package/test/less/variables.less +1 -1
- package/test/less/visitorPlugin/visitor.less +1 -1
- package/test/less-test.js +45 -11
- package/test/less.js +11 -0
- package/test/sourcemaps/custom-props.json +1 -1
- package/.DS_Store +0 -0
- package/test/.DS_Store +0 -0
- package/test/browser/less.min.js +0 -11
- package/test/browser/less.min.js.map +0 -1
- package/test/browser/onload.js +0 -13
- package/test/browser/test-runner-template.tmpl +0 -105
- package/test/browser/vendor/boot.js +0 -148
- package/test/browser/vendor/jasmine-jsreporter.js +0 -391
- package/test/browser/vendor/promise.js +0 -2
- package/test/css/.DS_Store +0 -0
- package/test/css/math/.DS_Store +0 -0
- package/test/less/.DS_Store +0 -0
- package/test/less/math/.DS_Store +0 -0
package/CONTRIBUTING.md
CHANGED
|
@@ -35,13 +35,13 @@ _Pull requests are encouraged!_
|
|
|
35
35
|
* Start by adding a feature request to get feedback and see how your idea is received.
|
|
36
36
|
* If your pull request solves an existing issue, but it's different in some way, _please create a new issue_ and make sure to discuss it with the core contributors. Otherwise you risk your hard work being rejected.
|
|
37
37
|
* Do not change the **./dist/** folder, we do this when releasing
|
|
38
|
-
* _Please add tests_ for your work. Tests are invoked using `npm test` command. It will run both node.js tests and browser (
|
|
38
|
+
* _Please add tests_ for your work. Tests are invoked using `npm test` command. It will run both node.js tests and browser (Headless Chrome) tests.
|
|
39
39
|
|
|
40
40
|
### Coding Standards
|
|
41
41
|
|
|
42
42
|
* Always use spaces, never tabs
|
|
43
43
|
* End lines in semi-colons.
|
|
44
|
-
* Loosely aim towards
|
|
44
|
+
* Loosely aim towards eslint standards
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
## Developing
|
package/Gruntfile.js
CHANGED
|
@@ -186,7 +186,7 @@ module.exports = function(grunt) {
|
|
|
186
186
|
const nodeVersion = semver.major(process.versions.node);
|
|
187
187
|
let scriptRuntime = 'node';
|
|
188
188
|
if (nodeVersion < 8) {
|
|
189
|
-
scriptRuntime = path.resolve(path.join('node_modules', '.bin', '
|
|
189
|
+
scriptRuntime = path.resolve(path.join('node_modules', '.bin', 'ts-node'));
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
// Project configuration.
|
|
@@ -200,23 +200,36 @@ module.exports = function(grunt) {
|
|
|
200
200
|
}
|
|
201
201
|
},
|
|
202
202
|
build: {
|
|
203
|
-
command:
|
|
204
|
-
scriptRuntime + " build/rollup.js --dist"
|
|
205
|
-
].join(" && ")
|
|
203
|
+
command: scriptRuntime + " build/rollup.js --dist"
|
|
206
204
|
},
|
|
207
205
|
testbuild: {
|
|
208
206
|
command: [
|
|
209
207
|
scriptRuntime + " build/rollup.js --lessc --out=./tmp/lessc",
|
|
210
208
|
scriptRuntime + " build/rollup.js --node --out=./tmp/less.cjs.js",
|
|
211
|
-
scriptRuntime + " build/rollup.js --browser --out=./
|
|
209
|
+
scriptRuntime + " build/rollup.js --browser --out=./tmp/browser/less.min.js"
|
|
212
210
|
].join(" && ")
|
|
213
211
|
},
|
|
212
|
+
testcjs: {
|
|
213
|
+
command: scriptRuntime + " build/rollup.js --node --out=./tmp/less.cjs.js"
|
|
214
|
+
},
|
|
215
|
+
testbrowser: {
|
|
216
|
+
command: scriptRuntime + " build/rollup.js --browser --out=./tmp/browser/less.min.js"
|
|
217
|
+
},
|
|
214
218
|
test: {
|
|
215
219
|
command: "node test/index.js"
|
|
216
220
|
},
|
|
221
|
+
generatebrowser: {
|
|
222
|
+
command: 'node test/browser/generator/generate.js'
|
|
223
|
+
},
|
|
224
|
+
runbrowser: {
|
|
225
|
+
command: 'node test/browser/generator/runner.js'
|
|
226
|
+
},
|
|
217
227
|
benchmark: {
|
|
218
228
|
command: "node benchmark/index.js"
|
|
219
229
|
},
|
|
230
|
+
benchmarkbrowser: {
|
|
231
|
+
command: "node test/browser/generator/runner.js benchmark"
|
|
232
|
+
},
|
|
220
233
|
opts: {
|
|
221
234
|
// test running with all current options (using `opts` since `options` means something already)
|
|
222
235
|
command: [
|
|
@@ -273,201 +286,7 @@ module.exports = function(grunt) {
|
|
|
273
286
|
}
|
|
274
287
|
},
|
|
275
288
|
|
|
276
|
-
|
|
277
|
-
options: {
|
|
278
|
-
keepRunner: true,
|
|
279
|
-
host: "http://localhost:8081/",
|
|
280
|
-
polyfills: [
|
|
281
|
-
"./node_modules/phantomjs-polyfill-object-assign/object-assign-polyfill.js",
|
|
282
|
-
"test/browser/vendor/promise.js"
|
|
283
|
-
],
|
|
284
|
-
vendor: [
|
|
285
|
-
"test/browser/vendor/jasmine-jsreporter.js",
|
|
286
|
-
"test/browser/common.js",
|
|
287
|
-
"test/browser/less.min.js"
|
|
288
|
-
],
|
|
289
|
-
template: "test/browser/test-runner-template.tmpl"
|
|
290
|
-
},
|
|
291
|
-
main: {
|
|
292
|
-
// src is used to build list of less files to compile
|
|
293
|
-
src: [
|
|
294
|
-
"test/less/*.less",
|
|
295
|
-
"!test/less/plugin-preeval.less", // uses ES6 syntax
|
|
296
|
-
// Don't test NPM import, obviously
|
|
297
|
-
"!test/less/plugin-module.less",
|
|
298
|
-
"!test/less/import-module.less",
|
|
299
|
-
"!test/less/javascript.less",
|
|
300
|
-
"!test/less/urls.less",
|
|
301
|
-
"!test/less/empty.less"
|
|
302
|
-
],
|
|
303
|
-
options: {
|
|
304
|
-
helpers: "test/browser/runner-main-options.js",
|
|
305
|
-
specs: "test/browser/runner-main-spec.js",
|
|
306
|
-
outfile: "tmp/browser/test-runner-main.html"
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
legacy: {
|
|
310
|
-
src: ["test/less/legacy/*.less"],
|
|
311
|
-
options: {
|
|
312
|
-
helpers: "test/browser/runner-legacy-options.js",
|
|
313
|
-
specs: "test/browser/runner-legacy-spec.js",
|
|
314
|
-
outfile: "tmp/browser/test-runner-legacy.html"
|
|
315
|
-
}
|
|
316
|
-
},
|
|
317
|
-
strictUnits: {
|
|
318
|
-
src: ["test/less/strict-units/*.less"],
|
|
319
|
-
options: {
|
|
320
|
-
helpers: "test/browser/runner-strict-units-options.js",
|
|
321
|
-
specs: "test/browser/runner-strict-units-spec.js",
|
|
322
|
-
outfile: "tmp/browser/test-runner-strict-units.html"
|
|
323
|
-
}
|
|
324
|
-
},
|
|
325
|
-
errors: {
|
|
326
|
-
src: [
|
|
327
|
-
"test/less/errors/*.less",
|
|
328
|
-
"!test/less/errors/javascript-error.less",
|
|
329
|
-
"test/browser/less/errors/*.less"
|
|
330
|
-
],
|
|
331
|
-
options: {
|
|
332
|
-
timeout: 20000,
|
|
333
|
-
helpers: "test/browser/runner-errors-options.js",
|
|
334
|
-
specs: "test/browser/runner-errors-spec.js",
|
|
335
|
-
outfile: "tmp/browser/test-runner-errors.html"
|
|
336
|
-
}
|
|
337
|
-
},
|
|
338
|
-
noJsErrors: {
|
|
339
|
-
src: ["test/less/no-js-errors/*.less"],
|
|
340
|
-
options: {
|
|
341
|
-
helpers: "test/browser/runner-no-js-errors-options.js",
|
|
342
|
-
specs: "test/browser/runner-no-js-errors-spec.js",
|
|
343
|
-
outfile: "tmp/browser/test-runner-no-js-errors.html"
|
|
344
|
-
}
|
|
345
|
-
},
|
|
346
|
-
browser: {
|
|
347
|
-
src: [
|
|
348
|
-
"test/browser/less/*.less",
|
|
349
|
-
"test/browser/less/plugin/*.less"
|
|
350
|
-
],
|
|
351
|
-
options: {
|
|
352
|
-
helpers: "test/browser/runner-browser-options.js",
|
|
353
|
-
specs: "test/browser/runner-browser-spec.js",
|
|
354
|
-
outfile: "tmp/browser/test-runner-browser.html"
|
|
355
|
-
}
|
|
356
|
-
},
|
|
357
|
-
relativeUrls: {
|
|
358
|
-
src: ["test/browser/less/relative-urls/*.less"],
|
|
359
|
-
options: {
|
|
360
|
-
helpers: "test/browser/runner-relative-urls-options.js",
|
|
361
|
-
specs: "test/browser/runner-relative-urls-spec.js",
|
|
362
|
-
outfile: "tmp/browser/test-runner-relative-urls.html"
|
|
363
|
-
}
|
|
364
|
-
},
|
|
365
|
-
rewriteUrls: {
|
|
366
|
-
src: ["test/browser/less/rewrite-urls/*.less"],
|
|
367
|
-
options: {
|
|
368
|
-
helpers: "test/browser/runner-rewrite-urls-options.js",
|
|
369
|
-
specs: "test/browser/runner-rewrite-urls-spec.js",
|
|
370
|
-
outfile: "tmp/browser/test-runner-rewrite-urls.html"
|
|
371
|
-
}
|
|
372
|
-
},
|
|
373
|
-
rootpath: {
|
|
374
|
-
src: ["test/browser/less/rootpath/*.less"],
|
|
375
|
-
options: {
|
|
376
|
-
helpers: "test/browser/runner-rootpath-options.js",
|
|
377
|
-
specs: "test/browser/runner-rootpath-spec.js",
|
|
378
|
-
outfile: "tmp/browser/test-runner-rootpath.html"
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
rootpathRelative: {
|
|
382
|
-
src: ["test/browser/less/rootpath-relative/*.less"],
|
|
383
|
-
options: {
|
|
384
|
-
helpers: "test/browser/runner-rootpath-relative-options.js",
|
|
385
|
-
specs: "test/browser/runner-rootpath-relative-spec.js",
|
|
386
|
-
outfile: "tmp/browser/test-runner-rootpath-relative.html"
|
|
387
|
-
}
|
|
388
|
-
},
|
|
389
|
-
rootpathRewriteUrls: {
|
|
390
|
-
src: ["test/browser/less/rootpath-rewrite-urls/*.less"],
|
|
391
|
-
options: {
|
|
392
|
-
helpers:
|
|
393
|
-
"test/browser/runner-rootpath-rewrite-urls-options.js",
|
|
394
|
-
specs: "test/browser/runner-rootpath-rewrite-urls-spec.js",
|
|
395
|
-
outfile:
|
|
396
|
-
"tmp/browser/test-runner-rootpath-rewrite-urls.html"
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
production: {
|
|
400
|
-
src: ["test/browser/less/production/*.less"],
|
|
401
|
-
options: {
|
|
402
|
-
helpers: "test/browser/runner-production-options.js",
|
|
403
|
-
specs: "test/browser/runner-production-spec.js",
|
|
404
|
-
outfile: "tmp/browser/test-runner-production.html"
|
|
405
|
-
}
|
|
406
|
-
},
|
|
407
|
-
modifyVars: {
|
|
408
|
-
src: ["test/browser/less/modify-vars/*.less"],
|
|
409
|
-
options: {
|
|
410
|
-
helpers: "test/browser/runner-modify-vars-options.js",
|
|
411
|
-
specs: "test/browser/runner-modify-vars-spec.js",
|
|
412
|
-
outfile: "tmp/browser/test-runner-modify-vars.html"
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
|
-
globalVars: {
|
|
416
|
-
src: ["test/browser/less/global-vars/*.less"],
|
|
417
|
-
options: {
|
|
418
|
-
helpers: "test/browser/runner-global-vars-options.js",
|
|
419
|
-
specs: "test/browser/runner-global-vars-spec.js",
|
|
420
|
-
outfile: "tmp/browser/test-runner-global-vars.html"
|
|
421
|
-
}
|
|
422
|
-
},
|
|
423
|
-
postProcessorPlugin: {
|
|
424
|
-
src: ["test/less/postProcessorPlugin/*.less"],
|
|
425
|
-
options: {
|
|
426
|
-
helpers: [
|
|
427
|
-
"test/plugins/postprocess/index.js",
|
|
428
|
-
"test/browser/runner-postProcessorPlugin-options.js"
|
|
429
|
-
],
|
|
430
|
-
specs: "test/browser/runner-postProcessorPlugin.js",
|
|
431
|
-
outfile:
|
|
432
|
-
"tmp/browser/test-runner-post-processor-plugin.html"
|
|
433
|
-
}
|
|
434
|
-
},
|
|
435
|
-
preProcessorPlugin: {
|
|
436
|
-
src: ["test/less/preProcessorPlugin/*.less"],
|
|
437
|
-
options: {
|
|
438
|
-
helpers: [
|
|
439
|
-
"test/plugins/preprocess/index.js",
|
|
440
|
-
"test/browser/runner-preProcessorPlugin-options.js"
|
|
441
|
-
],
|
|
442
|
-
specs: "test/browser/runner-preProcessorPlugin.js",
|
|
443
|
-
outfile: "tmp/browser/test-runner-pre-processor-plugin.html"
|
|
444
|
-
}
|
|
445
|
-
},
|
|
446
|
-
visitorPlugin: {
|
|
447
|
-
src: ["test/less/visitorPlugin/*.less"],
|
|
448
|
-
options: {
|
|
449
|
-
helpers: [
|
|
450
|
-
"test/plugins/visitor/index.js",
|
|
451
|
-
"test/browser/runner-VisitorPlugin-options.js"
|
|
452
|
-
],
|
|
453
|
-
specs: "test/browser/runner-VisitorPlugin.js",
|
|
454
|
-
outfile: "tmp/browser/test-runner-visitor-plugin.html"
|
|
455
|
-
}
|
|
456
|
-
},
|
|
457
|
-
filemanagerPlugin: {
|
|
458
|
-
src: ["test/less/filemanagerPlugin/*.less"],
|
|
459
|
-
options: {
|
|
460
|
-
helpers: [
|
|
461
|
-
"test/plugins/filemanager/index.js",
|
|
462
|
-
"test/browser/runner-filemanagerPlugin-options.js"
|
|
463
|
-
],
|
|
464
|
-
specs: "test/browser/runner-filemanagerPlugin.js",
|
|
465
|
-
outfile: "tmp/browser/test-runner-filemanager-plugin.html"
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
},
|
|
469
|
-
|
|
470
|
-
"saucelabs-jasmine": sauceJobs,
|
|
289
|
+
"saucelabs-mocha": sauceJobs,
|
|
471
290
|
|
|
472
291
|
// Clean the version of less built for the tests
|
|
473
292
|
clean: {
|
|
@@ -495,20 +314,20 @@ module.exports = function(grunt) {
|
|
|
495
314
|
|
|
496
315
|
// Create the browser version of less.js
|
|
497
316
|
grunt.registerTask("browsertest-lessjs", [
|
|
498
|
-
"shell:
|
|
317
|
+
"shell:testbrowser"
|
|
499
318
|
]);
|
|
500
319
|
|
|
501
320
|
// Run all browser tests
|
|
502
321
|
grunt.registerTask("browsertest", [
|
|
503
322
|
"browsertest-lessjs",
|
|
504
323
|
"connect",
|
|
505
|
-
"
|
|
324
|
+
"shell:runbrowser"
|
|
506
325
|
]);
|
|
507
326
|
|
|
508
327
|
// setup a web server to run the browser tests in a browser rather than phantom
|
|
509
328
|
grunt.registerTask("browsertest-server", [
|
|
510
329
|
"browsertest-lessjs",
|
|
511
|
-
"
|
|
330
|
+
"shell:generatebrowser",
|
|
512
331
|
"connect::keepalive"
|
|
513
332
|
]);
|
|
514
333
|
|
|
@@ -526,13 +345,13 @@ module.exports = function(grunt) {
|
|
|
526
345
|
|
|
527
346
|
grunt.registerTask("sauce", [
|
|
528
347
|
"browsertest-lessjs",
|
|
529
|
-
"
|
|
348
|
+
"shell:generatebrowser",
|
|
530
349
|
"connect",
|
|
531
350
|
"sauce-after-setup"
|
|
532
351
|
]);
|
|
533
352
|
|
|
534
353
|
grunt.registerTask("sauce-after-setup", [
|
|
535
|
-
"saucelabs-
|
|
354
|
+
"saucelabs-mocha:all",
|
|
536
355
|
"clean:sauce_log"
|
|
537
356
|
]);
|
|
538
357
|
|
|
@@ -544,14 +363,12 @@ module.exports = function(grunt) {
|
|
|
544
363
|
"shell:opts",
|
|
545
364
|
"shell:plugin",
|
|
546
365
|
"connect",
|
|
547
|
-
"
|
|
366
|
+
"shell:runbrowser"
|
|
548
367
|
];
|
|
549
368
|
|
|
550
369
|
if (
|
|
551
370
|
isNaN(Number(process.env.TRAVIS_PULL_REQUEST, 10)) &&
|
|
552
|
-
|
|
553
|
-
(process.env.TRAVIS_BRANCH === "master" ||
|
|
554
|
-
process.env.TRAVIS_BRANCH === "3.x")
|
|
371
|
+
(process.env.TRAVIS_BRANCH === "master")
|
|
555
372
|
) {
|
|
556
373
|
testTasks.push("force:on");
|
|
557
374
|
testTasks.push("sauce-after-setup");
|
|
@@ -567,8 +384,11 @@ module.exports = function(grunt) {
|
|
|
567
384
|
// Run shell plugin test
|
|
568
385
|
grunt.registerTask("shell-plugin", ["shell:plugin"]);
|
|
569
386
|
|
|
570
|
-
//
|
|
571
|
-
grunt.registerTask("quicktest",
|
|
387
|
+
// Quickly build and run Node tests
|
|
388
|
+
grunt.registerTask("quicktest", [
|
|
389
|
+
"shell:testcjs",
|
|
390
|
+
"shell:test"
|
|
391
|
+
]);
|
|
572
392
|
|
|
573
393
|
// generate a good test environment for testing sourcemaps
|
|
574
394
|
grunt.registerTask("sourcemap-test", [
|
|
@@ -579,5 +399,15 @@ module.exports = function(grunt) {
|
|
|
579
399
|
]);
|
|
580
400
|
|
|
581
401
|
// Run benchmark
|
|
582
|
-
grunt.registerTask("benchmark", [
|
|
402
|
+
grunt.registerTask("benchmark-node", [
|
|
403
|
+
"shell:testcjs",
|
|
404
|
+
"shell:benchmark"
|
|
405
|
+
]);
|
|
406
|
+
|
|
407
|
+
// Run all browser tests
|
|
408
|
+
grunt.registerTask("benchmark", [
|
|
409
|
+
"browsertest-lessjs",
|
|
410
|
+
"connect",
|
|
411
|
+
"shell:benchmarkbrowser"
|
|
412
|
+
]);
|
|
583
413
|
};
|
package/README.md
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
<p align="center"><img src="http://lesscss.org/public/img/less_logo.png" width="264" height="117">
|
|
2
2
|
|
|
3
|
-
<p align="center"><a href="http://badge.fury.io/js/less"><img src="https://badge.fury.io/js/less.svg"></a> <a href="https://travis-ci.org/less/less.js"><img src="https://travis-ci.org/less/less.js.svg?branch=master" style="max-width:100%;"></a> <a href="https://ci.appveyor.com/project/lukeapage/less-js/branch/master"><img src="https://ci.appveyor.com/api/projects/status/bx2qspy3qbuxpl9q/branch/master?svg=true" style="max-width:100%;"></a> <a href="https://david-dm.org/less/less.js"><img src="https://david-dm.org/less/less.js.svg" style="max-width:100%;"></a> <a href="https://david-dm.org/less/less.js#info=devDependencies"><img src="https://david-dm.org/less/less.js/dev-status.svg" style="max-width:100%;"></a> <a href="https://
|
|
3
|
+
<p align="center"><a href="http://badge.fury.io/js/less"><a href="https://opencollective.com/less" alt="Financial Contributors on Open Collective"><img src="https://opencollective.com/less/all/badge.svg?label=financial+contributors" /></a> <img src="https://badge.fury.io/js/less.svg"></a> <a href="https://travis-ci.org/less/less.js"><img src="https://travis-ci.org/less/less.js.svg?branch=master" style="max-width:100%;"></a> <a href="https://ci.appveyor.com/project/lukeapage/less-js/branch/master"><img src="https://ci.appveyor.com/api/projects/status/bx2qspy3qbuxpl9q/branch/master?svg=true" style="max-width:100%;"></a> <a href="https://david-dm.org/less/less.js"><img src="https://david-dm.org/less/less.js.svg" style="max-width:100%;"></a> <a href="https://david-dm.org/less/less.js#info=devDependencies"><img src="https://david-dm.org/less/less.js/dev-status.svg" style="max-width:100%;"></a> <a href="https://twitter.com/lesstocss"><img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/lesstocss.svg?style=flat-square" style="max-width:100%;"></a></p>
|
|
4
4
|
|
|
5
5
|
<p align="center"><a href="https://gitter.im/less/less.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img src="https://badges.gitter.im/Join%20Chat.svg" style="max-width:100%;"></a> <br><sup class="rich-diff-level-one">Chat with Less.js users and contributors</sup></p>
|
|
6
6
|
|
|
7
|
-
<p align="center"><a href="https://saucelabs.com/u/less" rel="nofollow"><img src="https://saucelabs.com/browser-matrix/less.svg" alt="Sauce Test Status" style="max-width:100%;"></a></p>
|
|
8
|
-
|
|
9
7
|
# [Less.js](http://lesscss.org)
|
|
10
8
|
|
|
11
9
|
> The **dynamic** stylesheet language. [http://lesscss.org](http://lesscss.org).
|
|
@@ -47,6 +45,36 @@ Read [Developing Less](http://lesscss.org/usage/#developing-less).
|
|
|
47
45
|
## Release History
|
|
48
46
|
See the [changelog](CHANGELOG.md)
|
|
49
47
|
|
|
48
|
+
## Contributors
|
|
49
|
+
|
|
50
|
+
### Code Contributors
|
|
51
|
+
|
|
52
|
+
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
|
53
|
+
<a href="https://github.com/less/less.js/graphs/contributors"><img src="https://opencollective.com/less/contributors.svg?width=890&button=false" /></a>
|
|
54
|
+
|
|
55
|
+
### Financial Contributors
|
|
56
|
+
|
|
57
|
+
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/less/contribute)]
|
|
58
|
+
|
|
59
|
+
#### Individuals
|
|
60
|
+
|
|
61
|
+
<a href="https://opencollective.com/less"><img src="https://opencollective.com/less/individuals.svg?width=890"></a>
|
|
62
|
+
|
|
63
|
+
#### Organizations
|
|
64
|
+
|
|
65
|
+
Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/less/contribute)]
|
|
66
|
+
|
|
67
|
+
<a href="https://opencollective.com/less/organization/0/website"><img src="https://opencollective.com/less/organization/0/avatar.svg"></a>
|
|
68
|
+
<a href="https://opencollective.com/less/organization/1/website"><img src="https://opencollective.com/less/organization/1/avatar.svg"></a>
|
|
69
|
+
<a href="https://opencollective.com/less/organization/2/website"><img src="https://opencollective.com/less/organization/2/avatar.svg"></a>
|
|
70
|
+
<a href="https://opencollective.com/less/organization/3/website"><img src="https://opencollective.com/less/organization/3/avatar.svg"></a>
|
|
71
|
+
<a href="https://opencollective.com/less/organization/4/website"><img src="https://opencollective.com/less/organization/4/avatar.svg"></a>
|
|
72
|
+
<a href="https://opencollective.com/less/organization/5/website"><img src="https://opencollective.com/less/organization/5/avatar.svg"></a>
|
|
73
|
+
<a href="https://opencollective.com/less/organization/6/website"><img src="https://opencollective.com/less/organization/6/avatar.svg"></a>
|
|
74
|
+
<a href="https://opencollective.com/less/organization/7/website"><img src="https://opencollective.com/less/organization/7/avatar.svg"></a>
|
|
75
|
+
<a href="https://opencollective.com/less/organization/8/website"><img src="https://opencollective.com/less/organization/8/avatar.svg"></a>
|
|
76
|
+
<a href="https://opencollective.com/less/organization/9/website"><img src="https://opencollective.com/less/organization/9/avatar.svg"></a>
|
|
77
|
+
|
|
50
78
|
## [License](LICENSE)
|
|
51
79
|
|
|
52
80
|
Copyright (c) 2009-2017 [Alexis Sellier](http://cloudhead.io) & The Core Less Team
|