Skip to content

Commit c36ea2e

Browse files
authored
feat: update dependencies and add support ESLint v8 (#77)
1 parent 612519b commit c36ea2e

File tree

8 files changed

+463
-554
lines changed

8 files changed

+463
-554
lines changed

.circleci/config.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
version: 2.1
22

3+
supported-eslint-versions: &supported-eslint-versions ["local", "7"]
4+
35
jobs:
46
build:
7+
parameters:
8+
eslint-version:
9+
type: string
10+
description: >
11+
Overrides the installed version of ESLint. When set to "local" the version of ESLint set
12+
frozen in the yarn.lock is used.
13+
default: "local"
514
docker:
615
- image: circleci/node
716

@@ -19,7 +28,14 @@ jobs:
1928
paths:
2029
- node_modules
2130
key: v1-dependencies-{{ checksum "yarn.lock" }}
22-
31+
- when:
32+
condition:
33+
not:
34+
equal: [<<parameters.eslint-version>>, "local"]
35+
steps:
36+
- run:
37+
name: Override version of eslint@<<parameters.eslint-version>>
38+
command: yarn add eslint@<<parameters.eslint-version>> --dev
2339
- run: yarn format:check
2440
- run: yarn lint
2541
- run: yarn test
@@ -28,4 +44,7 @@ jobs:
2844
workflows:
2945
build_and_test:
3046
jobs:
31-
- build
47+
- build:
48+
matrix:
49+
parameters:
50+
eslint-version: *supported-eslint-versions

package.json

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,26 @@
1818
"test": "mocha"
1919
},
2020
"dependencies": {
21-
"@babel/core": "~7.15.5",
22-
"@babel/eslint-parser": "~7.15.7",
21+
"@babel/core": "~7.16.0",
22+
"@babel/eslint-parser": "~7.16.0",
2323
"eslint-restricted-globals": "~0.2.0"
2424
},
2525
"devDependencies": {
26-
"@lwc/eslint-plugin-lwc": "^1.1.0",
27-
"@salesforce/eslint-plugin-lightning": "^0.1.0",
28-
"eslint": "^7.26.0",
29-
"eslint-plugin-import": "^2.23.2",
30-
"eslint-plugin-jest": "^24.5.2",
31-
"husky": "^7.0.0",
32-
"lint-staged": "^11.2.0",
33-
"mocha": "^9.1.2",
34-
"prettier": "^2.4.1"
26+
"@lwc/eslint-plugin-lwc": "^1.1.1",
27+
"@salesforce/eslint-plugin-lightning": "^1.0.0",
28+
"eslint": "^8.2.0",
29+
"eslint-plugin-import": "^2.25.2",
30+
"eslint-plugin-jest": "^25.2.4",
31+
"husky": "^7.0.4",
32+
"lint-staged": "^11.2.6",
33+
"mocha": "^9.1.3",
34+
"prettier": "^2.4.1",
35+
"semver": "^7.3.5"
3536
},
3637
"peerDependencies": {
3738
"@lwc/eslint-plugin-lwc": "^1.0.0",
38-
"@salesforce/eslint-plugin-lightning": "^0.1.0",
39-
"eslint": "^7",
39+
"@salesforce/eslint-plugin-lightning": "^1.0.0",
40+
"eslint": "^7 || ^8",
4041
"eslint-plugin-import": "*",
4142
"eslint-plugin-jest": "*"
4243
},

test/base.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,36 +20,36 @@ describe('base config', () => {
2020
unlinkConfig();
2121
});
2222

23-
it('should load properly base config', () => {
24-
const cli = new eslint.CLIEngine({
23+
it('should load properly base config', async () => {
24+
const cli = new eslint.ESLint({
2525
useEslintrc: false,
2626
baseConfig: {
2727
extends: '@salesforce/eslint-config-lwc/base',
2828
},
2929
});
3030

31-
const report = cli.executeOnText(`
31+
const results = await cli.lintText(`
3232
import { api } from 'lwc';
3333
class Foo {
3434
@api({ param: true })
3535
foo;
3636
}
3737
`);
3838

39-
const { messages } = report.results[0];
39+
const { messages } = results[0];
4040
assert.equal(messages.length, 1);
4141
assert.equal(messages[0].ruleId, '@lwc/lwc/valid-api');
4242
});
4343

44-
it('should include @lwc/lwc/no-unknown-wire-adapters rule', () => {
45-
const cli = new eslint.CLIEngine({
44+
it('should include @lwc/lwc/no-unknown-wire-adapters rule', async () => {
45+
const cli = new eslint.ESLint({
4646
useEslintrc: false,
4747
baseConfig: {
4848
extends: '@salesforce/eslint-config-lwc/base',
4949
},
5050
});
5151

52-
const report = cli.executeOnText(`
52+
const results = await cli.lintText(`
5353
import { wire } from 'lwc';
5454
import { Baz } from 'c/cmp';
5555
class Foo {
@@ -58,20 +58,20 @@ describe('base config', () => {
5858
}
5959
`);
6060

61-
const { messages } = report.results[0];
61+
const { messages } = results[0];
6262
assert.equal(messages.length, 1);
6363
assert.equal(messages[0].ruleId, '@lwc/lwc/no-unknown-wire-adapters');
6464
});
6565

66-
it('should include @lwc/lwc/no-unexpected-wire-adapter-usages', () => {
67-
const cli = new eslint.CLIEngine({
66+
it('should include @lwc/lwc/no-unexpected-wire-adapter-usages', async () => {
67+
const cli = new eslint.ESLint({
6868
useEslintrc: false,
6969
baseConfig: {
7070
extends: '@salesforce/eslint-config-lwc/base',
7171
},
7272
});
7373

74-
const report = cli.executeOnText(`
74+
const results = await cli.lintText(`
7575
import { wire } from 'lwc';
7676
import { CurrentPageReference } from 'lightning/navigation';
7777
const reference = CurrentPageReference;
@@ -81,7 +81,7 @@ describe('base config', () => {
8181
}
8282
`);
8383

84-
const { messages } = report.results[0];
84+
const { messages } = results[0];
8585
assert.equal(messages.length, 1);
8686
assert.equal(messages[0].ruleId, '@lwc/lwc/no-unexpected-wire-adapter-usages');
8787
});

test/extended.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ describe('extended config', () => {
2020
unlinkConfig();
2121
});
2222

23-
it('should load properly extended config', () => {
24-
const cli = new eslint.CLIEngine({
23+
it('should load properly extended config', async () => {
24+
const cli = new eslint.ESLint({
2525
useEslintrc: false,
2626
baseConfig: {
2727
extends: '@salesforce/eslint-config-lwc/extended',
@@ -35,13 +35,13 @@ describe('extended config', () => {
3535
},
3636
});
3737

38-
const report = cli.executeOnText(`
38+
const results = await cli.lintText(`
3939
export function sum(...args) {
4040
return args.reduce((acc, val) => acc + val, 0);
4141
}
4242
`);
4343

44-
const { messages } = report.results[0];
44+
const { messages } = results[0];
4545
assert.equal(messages.length, 1);
4646
assert.equal(messages[0].ruleId, '@lwc/lwc/no-rest-parameter');
4747
});

test/i18n.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ describe('i18n configs', () => {
2020
unlinkConfig();
2121
});
2222

23-
it('should load properly i18n config with other set', () => {
24-
const cli = new eslint.CLIEngine({
23+
it('should load properly i18n config with other set', async () => {
24+
const cli = new eslint.ESLint({
2525
useEslintrc: false,
2626
baseConfig: {
2727
extends: [
@@ -31,32 +31,32 @@ describe('i18n configs', () => {
3131
},
3232
});
3333

34-
const report = cli.executeOnText(`
34+
const results = await cli.lintText(`
3535
var moment = require('moment');
3636
var a = moment('2016-01-01');
3737
a.format();
3838
`);
3939

40-
const { messages } = report.results[0];
40+
const { messages } = results[0];
4141
assert.equal(messages.length, 1);
4242
assert.equal(messages[0].ruleId, '@salesforce/lightning/no-moment');
4343
});
4444

45-
it('extended set should include @salesforce/lightning/no-moment rule', () => {
46-
const cli = new eslint.CLIEngine({
45+
it('extended set should include @salesforce/lightning/no-moment rule', async () => {
46+
const cli = new eslint.ESLint({
4747
useEslintrc: false,
4848
baseConfig: {
4949
extends: '@salesforce/eslint-config-lwc/i18n',
5050
},
5151
});
5252

53-
const report = cli.executeOnText(`
53+
const results = await cli.lintText(`
5454
var moment = require('moment');
5555
var a = moment('2016-01-01');
5656
a.format();
5757
`);
5858

59-
const { messages } = report.results[0];
59+
const { messages } = results[0];
6060
assert.equal(messages.length, 1);
6161
assert.equal(messages[0].ruleId, '@salesforce/lightning/no-moment');
6262
});

test/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,23 @@ describe('default config', () => {
2020
unlinkConfig();
2121
});
2222

23-
it('should load properly base config when not specifying the config name', () => {
24-
const cli = new eslint.CLIEngine({
23+
it('should load properly base config when not specifying the config name', async () => {
24+
const cli = new eslint.ESLint({
2525
useEslintrc: false,
2626
baseConfig: {
2727
extends: '@salesforce/eslint-config-lwc',
2828
},
2929
});
3030

31-
const report = cli.executeOnText(`
31+
const results = await cli.lintText(`
3232
import { api } from 'lwc';
3333
class Foo {
3434
@api({ param: true })
3535
foo;
3636
}
3737
`);
3838

39-
const { messages } = report.results[0];
39+
const { messages } = results[0];
4040
assert.equal(messages.length, 1);
4141
assert.equal(messages[0].ruleId, '@lwc/lwc/valid-api');
4242
});

0 commit comments

Comments
 (0)