Skip to content

Commit

Permalink
[Tests] test on @typescript-eslint/parser@5
Browse files Browse the repository at this point in the history
  • Loading branch information
sosukesuzuki authored and ljharb committed Jan 22, 2022
1 parent b74013d commit 624aa61
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 13 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/node-4+.yml
Expand Up @@ -34,6 +34,11 @@ jobs:
- 3
- 2
include:
- node-version: 'lts/*'
eslint: 7
ts-parser: 4
env:
TS_PARSER: 4
- node-version: 'lts/*'
eslint: 7
ts-parser: 3
Expand Down
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -56,7 +56,7 @@
"@angular-eslint/template-parser": "^13.0.1",
"@eslint/import-test-order-redirect-scoped": "file:./tests/files/order-redirect-scoped",
"@test-scope/some-module": "file:./tests/files/symlinked-module",
"@typescript-eslint/parser": "^2.23.0 || ^3.3.0 || ^4.29.3",
"@typescript-eslint/parser": "^2.23.0 || ^3.3.0 || ^4.29.3 || ^5.10.0",
"array.prototype.flatmap": "^1.2.5",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
Expand Down
2 changes: 2 additions & 0 deletions tests/dep-time-travel.sh
Expand Up @@ -21,6 +21,8 @@ elif [[ "$ESLINT_VERSION" -lt "5" ]]; then # completely remove the new TypeScrip
npm uninstall --no-save @typescript-eslint/parser
elif [[ "$TRAVIS_NODE_VERSION" -lt "10" ]]; then # TS parser 3 requires node 10+
npm i --no-save "@typescript-eslint/parser@3"
elif [[ "$TRAVIS_NODE_VERSION" -lt "12" ]]; then # TS parser 4 requires node 12+
npm i --no-save "@typescript-eslint/parser@4"
fi

# use these alternate TypeScript dependencies for ESLint < v4
Expand Down
29 changes: 17 additions & 12 deletions tests/src/rules/no-webpack-loader-syntax.js
@@ -1,6 +1,7 @@
import { test, getTSParsers } from '../utils';
import { test, getTSParsers, parsers } from '../utils';

import { RuleTester } from 'eslint';
import semver from 'semver';

const ruleTester = new RuleTester();
const rule = require('rules/no-webpack-loader-syntax');
Expand Down Expand Up @@ -82,16 +83,20 @@ context('TypeScript', function () {
'import/resolver': { 'eslint-import-resolver-typescript': true },
},
};
ruleTester.run('no-webpack-loader-syntax', rule, {
valid: [
test(Object.assign({
code: 'import { foo } from\nalert()',
}, parserConfig)),
test(Object.assign({
code: 'import foo from\nalert()',
}, parserConfig)),
],
invalid: [],
});
// @typescript-eslint/parser@5+ throw error for invalid module specifiers at parsing time.
// https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0
if (!(parser === parsers.TS_NEW && semver.satisfies(require('@typescript-eslint/parser/package.json').version, '>= 5'))) {
ruleTester.run('no-webpack-loader-syntax', rule, {
valid: [
test(Object.assign({
code: 'import { foo } from\nalert()',
}, parserConfig)),
test(Object.assign({
code: 'import foo from\nalert()',
}, parserConfig)),
],
invalid: [],
});
}
});
});

0 comments on commit 624aa61

Please sign in to comment.