Skip to content

Commit af51cc8

Browse files
authored
Merge branch 'less:master' into master
2 parents 7d31d1c + 13864a6 commit af51cc8

File tree

8 files changed

+35
-51
lines changed

8 files changed

+35
-51
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
strategy:
3939
matrix:
4040
os: [ubuntu-latest]
41-
node: [10, 12, 14, 16, 19]
41+
node: [10, 12, 14, 16, 20]
4242
runs-on: ${{ matrix.os }}
4343
steps:
4444
- uses: actions/checkout@v2

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
## Change Log
22

3+
### v4.2.0 (2023-08-06)
4+
- [#3811](https://github.com/less/less.js/pull/3811) add support for [container queries](https://www.w3.org/TR/css-contain-3) (@puckowski)
5+
- [#3761](https://github.com/less/less.js/pull/3761) fix faulty source map generation with variables in selectors, fixes [#3567](https://github.com/less/less.js/issues/3567) (@pgoldberg)
6+
- [#3700](https://github.com/less/less.js/pull/3700) parsing variables fail when there is no trailing semicolon (@b-kelly)
7+
- [#3719](https://github.com/less/less.js/pull/3719) modify `this` pointer so that it is not empty. (@lumburr)
8+
- [#3649](https://github.com/less/less.js/pull/3649) fixes [#2991](https://github.com/less/less.js/issues/2991) empty @media queries generated when compiling less file with (reference) to bootstrap (@MoonCoral)
9+
310
### v4.1.3 (2022-06-09)
411
- [#3673](https://github.com/less/less.js/pull/3673) Feat: add support for case-insensitive attribute selectors (#3673) (@iChenLei)
512
- [#3710](https://github.com/less/less.js/pull/3701) Feat: add `disablePluginRule` flag for render() options (#3710) (@broofa @edhgoose)

package-lock.json

+1-26
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
"devDependencies": {
2929
"github-changes": "^1.1.2",
3030
"lerna": "^3.22.1",
31-
"npm-run-all": "^4.1.5",
32-
"resolve-bin": "~1.0.1"
31+
"npm-run-all": "^4.1.5"
3332
}
3433
}

packages/less/Gruntfile.js

+1-13
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
var resolve = require('resolve');
44
var path = require('path');
5-
var resolveBin = require('resolve-bin')
65

76
var testFolder = path.relative(process.cwd(), path.dirname(resolve.sync('@less/test-data')));
87
var lessFolder = path.join(testFolder, 'less');
@@ -184,12 +183,6 @@ module.exports = function(grunt) {
184183
// Make the SauceLabs jobs
185184
["all"].concat(browserTests).map(makeJob);
186185

187-
var path = require('path');
188-
189-
// Handle async / await in Rollup build for tests
190-
const tsNodeRuntime = resolveBin.sync('ts-node');
191-
const crossEnv = resolveBin.sync('cross-env');
192-
193186
// Project configuration.
194187
grunt.initConfig({
195188
shell: {
@@ -223,12 +216,7 @@ module.exports = function(grunt) {
223216
command: "node build/rollup.js --browser --out=./tmp/browser/less.min.js"
224217
},
225218
test: {
226-
command: [
227-
// https://github.com/TypeStrong/ts-node/issues/693#issuecomment-848907036
228-
crossEnv + " TS_NODE_SCOPE=true",
229-
tsNodeRuntime + " test/test-es6.ts",
230-
"node test/index.js"
231-
].join(' && ')
219+
command: 'ts-node test/test-es6.ts && node test/index.js'
232220
},
233221
generatebrowser: {
234222
command: 'node test/browser/generator/generate.js'

packages/less/test/browser/generator/runner.config.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
var path = require('path');
22
var resolve = require('resolve')
3+
var { forceCovertToBrowserPath } = require('./utils');
34

45
/** Root of repo */
5-
var rootFolder = path.resolve(__dirname, '../../../../../');
6-
var testFolder = path.dirname(resolve.sync('@less/test-data'))
7-
var lessFolder = path.join(testFolder, 'less');
8-
var localTests = path.resolve(__dirname, '..');
6+
var testFolder = forceCovertToBrowserPath(path.dirname(resolve.sync('@less/test-data')));
7+
var lessFolder = forceCovertToBrowserPath(path.join(testFolder, 'less'));
8+
var localTests = forceCovertToBrowserPath(path.resolve(__dirname, '..'));
99

1010
module.exports = {
1111
main: {
@@ -35,7 +35,7 @@ module.exports = {
3535
}
3636
},
3737
strictUnits: {
38-
src: [`${lessFolder}/strict-units/*.less`],
38+
src: [`${lessFolder}/units/strict/*.less`],
3939
options: {
4040
helpers: 'test/browser/runner-strict-units-options.js',
4141
specs: 'test/browser/runner-strict-units-spec.js',
@@ -185,4 +185,4 @@ module.exports = {
185185
outfile: 'tmp/browser/test-runner-filemanager-plugin.html'
186186
}
187187
}
188-
}
188+
}

packages/less/test/browser/generator/template.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
const html = require('html-template-tag')
22
const path = require('path')
3+
const { forceCovertToBrowserPath } = require('./utils')
34

45
const webRoot = path.resolve(__dirname, '../../../../../');
5-
const mochaDir = path.relative(webRoot, path.dirname(require.resolve('mocha')))
6-
const chaiDir = path.relative(webRoot, path.dirname(require.resolve('chai')))
7-
const mochaTeamCityDir = path.relative(webRoot, path.dirname(require.resolve('mocha-teamcity-reporter')))
6+
const mochaDir = forceCovertToBrowserPath(path.relative(webRoot, path.dirname(require.resolve('mocha'))))
7+
const chaiDir = forceCovertToBrowserPath(path.relative(webRoot, path.dirname(require.resolve('chai'))))
8+
const mochaTeamCityDir = forceCovertToBrowserPath(path.relative(webRoot, path.dirname(require.resolve('mocha-teamcity-reporter'))))
89

910
/**
1011
* Generates HTML templates from list of test sheets
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* utils for covert browser paths,
3+
* fix https://github.com/less/less.js/pull/4213
4+
*
5+
* @param {string} path
6+
* @returns {string}
7+
*/
8+
function forceCovertToBrowserPath (path) {
9+
return (path || '').replace(/\\/g, '/');
10+
}
11+
12+
module.exports = {
13+
forceCovertToBrowserPath
14+
}

0 commit comments

Comments
 (0)