Skip to content

Commit af1b08f

Browse files
4.0.0 Yarn 2 PNP support
1 parent 9a092f1 commit af1b08f

File tree

9 files changed

+429
-164
lines changed

9 files changed

+429
-164
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.idea
2+
.eslint
23
node_modules

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ before_install:
1212

1313
deploy:
1414
- provider: script
15-
script: yarn publish:release --canary --preid=$TRAVIS_BRANCH.$TRAVIS_JOB_NUMBER --dist-tag=$TRAVIS_BRANCH --yes
15+
script: yarn publish:release 0.0.0-$TRAVIS_BRANCH.$TRAVIS_JOB_NUMBER --dist-tag=$TRAVIS_BRANCH --yes
1616
skip_cleanup: true
1717
on:
1818
branch: master
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.eslint

eslint-config-ringcentral-typescript/package.json

+20-16
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,38 @@
33
"version": "1.0.0",
44
"description": "",
55
"main": "src/index.js",
6+
"bin": {
7+
"rc-eslint": "./src/bin/rc-eslint.js"
8+
},
69
"scripts": {
710
"test": "yarn lint 'src/**/*.{js*,ts*}'",
8-
"lint": "eslint --cache --cache-location node_modules/.cache/eslint --fix --quiet"
11+
"lint": "rc-eslint --cache --cache-location .eslint/cache --fix --quiet"
912
},
1013
"dependencies": {
11-
"@typescript-eslint/eslint-plugin": "^2.11.0",
12-
"@typescript-eslint/parser": "^2.11.0",
13-
"babel-eslint": "^10.0.3",
14-
"eslint-config-prettier": "^6.7.0",
15-
"eslint-config-react-app": "^5.1.0",
14+
"@typescript-eslint/eslint-plugin": "^2.22.0",
15+
"@typescript-eslint/parser": "^2.22.0",
16+
"babel-eslint": "^10.1.0",
17+
"eslint": "^6.8.0",
18+
"eslint-config-prettier": "^6.10.0",
19+
"eslint-config-react-app": "^5.2.0",
1620
"eslint-config-ringcentral": "^1.0.0",
17-
"eslint-plugin-flowtype": "^4.5.2",
18-
"eslint-plugin-import": "^2.19.1",
21+
"eslint-import-resolver-node": "^0.3.3",
22+
"eslint-plugin-flowtype": "^4.6.0",
23+
"eslint-plugin-import": "^2.20.1",
1924
"eslint-plugin-jsx-a11y": "^6.2.3",
20-
"eslint-plugin-prettier": "^3.1.1",
21-
"eslint-plugin-react": "^7.17.0",
22-
"eslint-plugin-react-hooks": "^2.3.0",
25+
"eslint-plugin-prettier": "^3.1.2",
26+
"eslint-plugin-react": "^7.19.0",
27+
"eslint-plugin-react-hooks": "^2.5.0",
2328
"eslint-plugin-ringcentral": "^1.0.0",
2429
"eslint-plugin-sonarjs": "^0.5.0",
25-
"prettier": "^1.19.1"
30+
"prettier": "^1.19.1",
31+
"typescript": "^3.8.3"
2632
},
2733
"peerDependencies": {
28-
"eslint": ">=6"
34+
"typescript": "*"
2935
},
3036
"devDependencies": {
31-
"eslint": "^6.7.2",
32-
"react": "^16.12.0",
33-
"typescript": "^3.7.3"
37+
"react": "^16.12.0"
3438
},
3539
"repository": {
3640
"type": "git",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/usr/bin/env node
2+
process.stdout.write(__dirname);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env node
2+
process.argv.push('--resolve-plugins-relative-to', __dirname);
3+
require('eslint/bin/eslint');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
module.exports = {
2+
root: true,
3+
plugins: ['prettier'], //FIXME [UIA-10000] Remove
4+
extends: [
5+
require.resolve('eslint/conf/eslint-recommended'),
6+
'plugin:import/recommended',
7+
'plugin:jsx-a11y/recommended',
8+
'plugin:react/recommended',
9+
require.resolve('eslint-config-react-app'),
10+
require.resolve('eslint-config-ringcentral'),
11+
// 'plugin:prettier/recommended', // must be below ringcentral to override react prefs
12+
require.resolve('eslint-config-prettier'), // must be below ringcentral to override react prefs
13+
require.resolve('eslint-config-prettier/react'), // must be below ringcentral to override react prefs
14+
'plugin:@typescript-eslint/recommended', // must be below react-app & ringcentral to enable proper parser
15+
'plugin:import/typescript',
16+
],
17+
rules: {
18+
'prettier/prettier': [
19+
'error',
20+
{
21+
bracketSpacing: false,
22+
parser: 'typescript',
23+
singleQuote: true,
24+
tabWidth: 4,
25+
trailingComma: 'all',
26+
},
27+
],
28+
'@typescript-eslint/indent': 'off', // prettier takes care of it
29+
},
30+
env: {
31+
browser: true,
32+
node: true,
33+
},
34+
settings: {
35+
react: {
36+
version: 'detect',
37+
},
38+
},
39+
};
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,31 @@
1-
module.exports = {
2-
root: true,
3-
extends: [
4-
'eslint:recommended',
5-
'plugin:import/recommended',
6-
'plugin:jsx-a11y/recommended',
7-
'plugin:react/recommended',
8-
require.resolve('eslint-config-react-app'),
9-
'ringcentral',
10-
'plugin:prettier/recommended', // must be belowe ringcentral to override react prefs
11-
'prettier/react', // must be belowe ringcentral to override react prefs
12-
'plugin:@typescript-eslint/recommended', // must be below react-app & ringcentral to enable proper parser
13-
'plugin:import/typescript',
14-
],
15-
rules: {
16-
'prettier/prettier': [
17-
'error',
18-
{
19-
bracketSpacing: false,
20-
parser: 'typescript',
21-
singleQuote: true,
22-
tabWidth: 4,
23-
trailingComma: 'all',
24-
},
25-
],
26-
'@typescript-eslint/indent': 'off', // prettier takes care of it
27-
},
28-
env: {
29-
browser: true,
30-
node: true,
31-
},
32-
settings: {
33-
react: {
34-
version: 'detect',
35-
},
36-
},
1+
/* eslint-disable no-console */
2+
/* eslint-disable @typescript-eslint/no-var-requires */
3+
4+
const CLIEngine = require('eslint').CLIEngine;
5+
6+
const cli = new CLIEngine({
7+
useEslintrc: false,
8+
baseConfig: require('./config'),
9+
resolvePluginsRelativeTo: __dirname,
10+
});
11+
12+
module.exports = cli.getConfigForFile('dummy.ts');
13+
14+
const replaceInObject = (obj, key, newKey) => {
15+
obj[newKey] = obj[key];
16+
delete obj[key];
3717
};
18+
19+
replaceInObject(
20+
module.exports.settings['import/resolver'],
21+
'node',
22+
require.resolve('eslint-import-resolver-node'),
23+
);
24+
25+
replaceInObject(
26+
module.exports.settings['import/parsers'],
27+
'@typescript-eslint/parser',
28+
require.resolve('@typescript-eslint/parser'),
29+
);
30+
31+
// console.log(module.exports);

0 commit comments

Comments
 (0)