Skip to content

Commit

Permalink
Merge pull request #1715 from golopot/eslint-7
Browse files Browse the repository at this point in the history
[Tests] Add eslint 7 to CI

 - [patch] refactor to use non-deprecated function in eslint 7
  • Loading branch information
ljharb committed Apr 4, 2020
2 parents 71ca88f + 5c67f17 commit c629186
Show file tree
Hide file tree
Showing 16 changed files with 119 additions and 145 deletions.
7 changes: 7 additions & 0 deletions .travis.yml
Expand Up @@ -10,6 +10,7 @@ node_js:
os: linux

env:
- ESLINT_VERSION=^7.0.0-0
- ESLINT_VERSION=6
- ESLINT_VERSION=5
- ESLINT_VERSION=4
Expand Down Expand Up @@ -65,8 +66,14 @@ matrix:
env: ESLINT_VERSION=5
- node_js: '4'
env: ESLINT_VERSION=6
- node_js: '4'
env: ESLINT_VERSION=^7.0.0-0
- node_js: '6'
env: ESLINT_VERSION=6
- node_js: '6'
env: ESLINT_VERSION=^7.0.0-0
- node_js: '8'
env: ESLINT_VERSION=^7.0.0-0

fast_finish: true
allow_failures:
Expand Down
4 changes: 3 additions & 1 deletion src/rules/dynamic-import-chunkname.js
Expand Up @@ -42,7 +42,9 @@ module.exports = {

const sourceCode = context.getSourceCode()
const arg = node.arguments[0]
const leadingComments = sourceCode.getComments(arg).leading
const leadingComments = sourceCode.getCommentsBefore
? sourceCode.getCommentsBefore(arg) // This method is available in ESLint >= 4.
: sourceCode.getComments(arg).leading // This method is deprecated in ESLint 7.

if (!leadingComments || leadingComments.length === 0) {
context.report({
Expand Down
1 change: 0 additions & 1 deletion tests/src/rules/exports-last.js
Expand Up @@ -6,7 +6,6 @@ import rule from 'rules/exports-last'
const ruleTester = new RuleTester()

const error = type => ({
ruleId: 'exports-last',
message: 'Export statements should appear at the end of the file',
type,
})
Expand Down
1 change: 0 additions & 1 deletion tests/src/rules/no-absolute-path.js
Expand Up @@ -6,7 +6,6 @@ const ruleTester = new RuleTester()
, rule = require('rules/no-absolute-path')

const error = {
ruleId: 'no-absolute-path',
message: 'Do not import modules using an absolute path',
}

Expand Down
2 changes: 1 addition & 1 deletion tests/src/rules/no-cycle.js
Expand Up @@ -5,7 +5,7 @@ import { RuleTester } from 'eslint'
const ruleTester = new RuleTester()
, rule = require('rules/no-cycle')

const error = message => ({ ruleId: 'no-cycle', message })
const error = message => ({ message })

const test = def => _test(Object.assign(def, {
filename: testFilePath('./cycles/depth-zero.js'),
Expand Down
8 changes: 4 additions & 4 deletions tests/src/rules/no-default-export.js
Expand Up @@ -89,7 +89,7 @@ ruleTester.run('no-default-export', rule, {
test({
code: 'export default function bar() {};',
errors: [{
ruleId: 'ExportDefaultDeclaration',
type: 'ExportDefaultDeclaration',
message: 'Prefer named exports.',
}],
}),
Expand All @@ -98,14 +98,14 @@ ruleTester.run('no-default-export', rule, {
export const foo = 'foo';
export default bar;`,
errors: [{
ruleId: 'ExportDefaultDeclaration',
type: 'ExportDefaultDeclaration',
message: 'Prefer named exports.',
}],
}),
test({
code: 'let foo; export { foo as default }',
errors: [{
ruleId: 'ExportNamedDeclaration',
type: 'ExportNamedDeclaration',
message: 'Do not alias `foo` as `default`. Just export `foo` itself ' +
'instead.',
}],
Expand All @@ -114,7 +114,7 @@ ruleTester.run('no-default-export', rule, {
code: 'export default from "foo.js"',
parser: require.resolve('babel-eslint'),
errors: [{
ruleId: 'ExportNamedDeclaration',
type: 'ExportNamedDeclaration',
message: 'Prefer named exports.',
}],
}),
Expand Down
1 change: 0 additions & 1 deletion tests/src/rules/no-dynamic-require.js
Expand Up @@ -6,7 +6,6 @@ const ruleTester = new RuleTester()
, rule = require('rules/no-dynamic-require')

const error = {
ruleId: 'no-dynamic-require',
message: 'Calls to require() should use string literals',
}

Expand Down
24 changes: 0 additions & 24 deletions tests/src/rules/no-extraneous-dependencies.js
Expand Up @@ -126,7 +126,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
filename: path.join(packageDirMonoRepoRoot, 'foo.js'),
options: [{packageDir: packageDirMonoRepoRoot }],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
Expand All @@ -135,67 +134,58 @@ ruleTester.run('no-extraneous-dependencies', rule, {
filename: path.join(packageDirMonoRepoWithNested, 'foo.js'),
options: [{packageDir: packageDirMonoRepoRoot}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'import "not-a-dependency"',
options: [{packageDir: packageDirMonoRepoRoot}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'import "not-a-dependency"',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'var donthaveit = require("@org/not-a-dependency")',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'@org/not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S @org/not-a-dependency\' to add it',
}],
}),
test({
code: 'var donthaveit = require("@org/not-a-dependency/foo")',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'@org/not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S @org/not-a-dependency\' to add it',
}],
}),
test({
code: 'import "eslint"',
options: [{devDependencies: false, peerDependencies: false}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'eslint\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
test({
code: 'import "lodash.isarray"',
options: [{optionalDependencies: false}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'lodash.isarray\' should be listed in the project\'s dependencies, not optionalDependencies.',
}],
}),
test({
code: 'var foo = require("not-a-dependency")',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'var glob = require("glob")',
options: [{devDependencies: false}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'glob\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
Expand All @@ -204,7 +194,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
options: [{devDependencies: ['*.test.js']}],
filename: 'foo.tes.js',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'chai\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
Expand All @@ -213,7 +202,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
options: [{devDependencies: ['*.test.js']}],
filename: path.join(process.cwd(), 'foo.tes.js'),
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'chai\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
Expand All @@ -222,7 +210,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
options: [{devDependencies: ['*.test.js', '*.spec.js']}],
filename: 'foo.tes.js',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'chai\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
Expand All @@ -231,39 +218,34 @@ ruleTester.run('no-extraneous-dependencies', rule, {
options: [{devDependencies: ['*.test.js', '*.spec.js']}],
filename: path.join(process.cwd(), 'foo.tes.js'),
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'chai\' should be listed in the project\'s dependencies, not devDependencies.',
}],
}),
test({
code: 'var eslint = require("lodash.isarray")',
options: [{optionalDependencies: false}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'lodash.isarray\' should be listed in the project\'s dependencies, not optionalDependencies.',
}],
}),
test({
code: 'import "not-a-dependency"',
options: [{packageDir: path.join(__dirname, '../../../')}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'import "bar"',
options: [{packageDir: path.join(__dirname, './doesn-exist/')}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: 'The package.json file could not be found.',
}],
}),
test({
code: 'import foo from "foo"',
options: [{packageDir: packageDirWithSyntaxError}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: 'The package.json file could not be parsed: ' + packageFileWithSyntaxErrorMessage,
}],
}),
Expand All @@ -272,15 +254,13 @@ ruleTester.run('no-extraneous-dependencies', rule, {
filename: path.join(packageDirMonoRepoWithNested, 'foo.js'),
options: [{packageDir: packageDirMonoRepoWithNested}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: "'left-pad' should be listed in the project's dependencies. Run 'npm i -S left-pad' to add it",
}],
}),
test({
code: 'import react from "react";',
filename: path.join(packageDirMonoRepoRoot, 'foo.js'),
errors: [{
ruleId: 'no-extraneous-dependencies',
message: "'react' should be listed in the project's dependencies. Run 'npm i -S react' to add it",
}],
}),
Expand All @@ -289,7 +269,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
filename: path.join(packageDirMonoRepoWithNested, 'foo.js'),
options: [{packageDir: packageDirMonoRepoRoot}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: "'react' should be listed in the project's dependencies. Run 'npm i -S react' to add it",
}],
}),
Expand All @@ -298,7 +277,6 @@ ruleTester.run('no-extraneous-dependencies', rule, {
filename: path.join(packageDirWithEmpty, 'index.js'),
options: [{packageDir: packageDirWithEmpty}],
errors: [{
ruleId: 'no-extraneous-dependencies',
message: "'react' should be listed in the project's dependencies. Run 'npm i -S react' to add it",
}],
}),
Expand All @@ -319,14 +297,12 @@ ruleTester.run('no-extraneous-dependencies', rule, {
test({
code: 'export { foo } from "not-a-dependency";',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
test({
code: 'export * from "not-a-dependency";',
errors: [{
ruleId: 'no-extraneous-dependencies',
message: '\'not-a-dependency\' should be listed in the project\'s dependencies. Run \'npm i -S not-a-dependency\' to add it',
}],
}),
Expand Down

0 comments on commit c629186

Please sign in to comment.