Skip to content

Commit 8a43372

Browse files
bytemainAaaaash
andauthored
style: use eslint and prettier (#138)
* style: use prettier format once * style: few eslint fix * style: fix eslint * style: update eslint rule * chore: resolve conflict, fix some bug * style: fix lint * style: fix eslint * style: run prettier Co-authored-by: Aaaaash <[email protected]>
1 parent 1b92981 commit 8a43372

File tree

1,723 files changed

+72001
-53533
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,723 files changed

+72001
-53533
lines changed

.eslintignore

+7
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,10 @@ tools/cli-engine/src/browser/worker-host.js
99
**/scripts/**
1010
packages/*/lib/**
1111
packages/*/dist/**
12+
13+
packages/components/src/icon/iconfont
14+
packages/core-browser/src/style/octicons
15+
16+
packages/extension/__mocks__/extension/browser-new.js
17+
packages/extension/__mocks__/extension/browser.js
18+
packages/extension/__mocks__/extension-error/browser.js

.eslintrc.js

+15-26
Original file line numberDiff line numberDiff line change
@@ -72,31 +72,14 @@ module.exports = {
7272
'@typescript-eslint/unified-signatures': 'error',
7373
'arrow-body-style': 'error',
7474
'arrow-parens': ['error', 'always'],
75-
'brace-style': ['error', '1tbs'],
7675
'comma-dangle': ['error', 'always-multiline'],
7776
complexity: 'off',
7877
'constructor-super': 'error',
7978
curly: 'error',
8079
'eol-last': 'error',
8180
eqeqeq: ['error', 'smart'],
8281
'guard-for-in': 'error',
83-
'id-blacklist': [
84-
'error',
85-
'any',
86-
'Number',
87-
'number',
88-
'String',
89-
'string',
90-
'Boolean',
91-
'boolean',
92-
'Undefined',
93-
'undefined',
94-
],
9582
'id-match': 'error',
96-
'import/order': 'off',
97-
'jsdoc/check-alignment': 'off',
98-
'jsdoc/check-indentation': 'off',
99-
'jsdoc/newline-after-description': 'off',
10083
'max-classes-per-file': 'off',
10184
'max-len': 'off',
10285
'new-parens': 'error',
@@ -105,6 +88,7 @@ module.exports = {
10588
'no-cond-assign': 'off',
10689
'no-console': 'off',
10790
'no-debugger': 'error',
91+
'no-constant-condition': ['error', { checkLoops: false }],
10892
// We strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
10993
// The checks it provides are already provided by TypeScript without the need for configuration
11094
// TypeScript just does this significantly better.
@@ -123,17 +107,8 @@ module.exports = {
123107
'object-shorthand': 'error',
124108
'one-var': ['error', 'never'],
125109
'prefer-arrow/prefer-arrow-functions': 'off',
126-
'prefer-const': 'error',
127110
'quote-props': 'off',
128111
radix: 'error',
129-
'space-before-function-paren': [
130-
'error',
131-
{
132-
anonymous: 'never',
133-
asyncArrow: 'always',
134-
named: 'never',
135-
},
136-
],
137112
'spaced-comment': [
138113
'error',
139114
'always',
@@ -143,5 +118,19 @@ module.exports = {
143118
],
144119
'use-isnan': 'error',
145120
'valid-typeof': 'off',
121+
'no-irregular-whitespace': ['error', { skipComments: true }],
122+
'no-inner-declarations': 'off',
123+
'no-useless-catch': 'warn',
124+
// TODO: should set below to error in future
125+
'no-useless-escape': 'warn',
126+
'no-async-promise-executor': 'warn',
127+
'prefer-const': 'warn',
128+
'@typescript-eslint/no-non-null-asserted-optional-chain': 'warn',
129+
'@typescript-eslint/ban-ts-comment': 'warn',
130+
'@typescript-eslint/no-this-alias': 'warn',
131+
'@typescript-eslint/ban-types': 'warn',
132+
'no-prototype-builtins': 'warn',
133+
'prefer-rest-params': 'warn',
134+
'no-control-regex': 'warn',
146135
},
147136
};

.prettierignore

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
node_modules
2+
3+
**/tools/workspaces/**
4+
**/tools/extensions/**
5+
**/tools/**/vendor/
6+
tools/cli-engine/src/browser/worker-host.js
7+
8+
**/typings/**
9+
**/scripts/**
10+
packages/*/lib/**
11+
packages/*/dist/**
12+
13+
packages/components/src/icon/iconfont
14+
packages/core-browser/src/style/octicons
15+
16+
packages/extension/__mocks__/extension/browser-new.js
17+
packages/extension/__mocks__/extension/browser.js
18+
packages/extension/__mocks__/extension-error/browser.js

jest.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ module.exports = {
1818
'!packages/**/*-contribution.ts',
1919
'!packages/startup/**/*.ts',
2020
// Test 功能暂未完成
21-
"!packages/testing/**/*.ts",
21+
'!packages/testing/**/*.ts',
2222
'!packages/core-electron-main/**/*.ts',
2323
'!packages/*/src/electron-main/**/*.ts',
2424
],

package.json

+3-9
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@
3030
"publish:engine": "sh ./scripts/release-cli-engine.sh",
3131
"update-version": "ts-node ./scripts/publish --versionOnly",
3232
"update-disttag": "ts-node ./scripts/dist-tag",
33-
"lint": "tslint -c tslint.yml -p tsconfig.json -t stylish",
33+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
3434
"lint:fix": "npm run lint -- --fix",
35-
"lint1": "eslint . --ext .js,.jsx,.ts,.tsx",
36-
"lint1:fix": "npm run lint1 -- --fix",
35+
"format": "npm run lint:fix && prettier \"**/*.{js,jsx,ts,tsx,html,css,less}\" --write",
3736
"rebuild:node": "node ./scripts/rebuild-native.js",
3837
"test": "jest --forceExit",
3938
"test:module": "NODE_OPTIONS=--max_old_space_size=5120 node -r ts-node/register ./scripts/module-jest",
@@ -63,16 +62,12 @@
6362
"lodash": "^4.17.11",
6463
"node-gyp": "^8.3.0",
6564
"ts-node": "8.0.2",
66-
"tslint": "^5.12.0",
6765
"typescript": "^4.4.2",
6866
"webpack": "4.39.3"
6967
},
7068
"lint-staged": {
7169
"*.{js,jsx,ts,tsx,md,html,css,less,json}": "prettier --write",
72-
"*.{js,jsx,ts,tsx}": "eslint --fix",
73-
"packages/**/*.(ts|tsx)": [
74-
"tslint -c tslint.staged.yml -p tsconfig.json -t stylish"
75-
]
70+
"*.{js,jsx,ts,tsx}": "eslint --fix --quiet"
7671
},
7772
"config": {
7873
"commitizen": {
@@ -149,7 +144,6 @@
149144
"strip-html-comments": "^1.0.0",
150145
"temp": "^0.9.0",
151146
"ts-jest": "^27.0.3",
152-
"tslint-config-prettier": "^1.18.0",
153147
"urllib": "^2.37.4",
154148
"uuid": "^8.3.2",
155149
"write-pkg": "^4.0.0",

packages/addons/__test__/browser/file-search.contribution.test.ts

+63-48
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
import * as modes from '@opensumi/monaco-editor-core/esm/vs/editor/common/modes';
2-
import { CommandService, CommandServiceImpl, CommandRegistryImpl, CommandRegistry, DisposableCollection } from '@opensumi/ide-core-common';
3-
import { KeybindingRegistry, KeybindingRegistryImpl, RecentFilesManager, ILogger, PreferenceService } from '@opensumi/ide-core-browser';
2+
import {
3+
CommandService,
4+
CommandServiceImpl,
5+
CommandRegistryImpl,
6+
CommandRegistry,
7+
DisposableCollection,
8+
} from '@opensumi/ide-core-common';
9+
import {
10+
KeybindingRegistry,
11+
KeybindingRegistryImpl,
12+
RecentFilesManager,
13+
ILogger,
14+
PreferenceService,
15+
} from '@opensumi/ide-core-browser';
416
import { WorkbenchEditorService } from '@opensumi/ide-editor';
517
import { PrefixQuickOpenService } from '@opensumi/ide-quick-open';
618
import { QuickOpenHandlerRegistry } from '@opensumi/ide-quick-open/lib/browser/prefix-quick-open.service';
@@ -13,7 +25,13 @@ import { createBrowserInjector } from '../../../../tools/dev-tool/src/injector-h
1325
import { MockInjector } from '../../../../tools/dev-tool/src/mock-injector';
1426

1527
import { ClientAddonModule } from '../../src/browser';
16-
import { FileSearchContribution, quickFileOpen, FileSearchQuickCommandHandler, matchLineReg, getValidateInput } from '../../src/browser/file-search.contribution';
28+
import {
29+
FileSearchContribution,
30+
quickFileOpen,
31+
FileSearchQuickCommandHandler,
32+
matchLineReg,
33+
getValidateInput,
34+
} from '../../src/browser/file-search.contribution';
1735

1836
describe('test for browser/file-search.contribution.ts', () => {
1937
let injector: MockInjector;
@@ -22,27 +40,34 @@ describe('test for browser/file-search.contribution.ts', () => {
2240
const disposables = new DisposableCollection();
2341

2442
beforeEach(() => {
25-
injector = createBrowserInjector([ ClientAddonModule ], new MockInjector([
26-
{
27-
token: CommandRegistry,
28-
useClass: CommandRegistryImpl,
29-
}, {
30-
token: CommandService,
31-
useClass: CommandServiceImpl,
32-
}, {
33-
token: KeybindingRegistry,
34-
useClass: KeybindingRegistryImpl,
35-
}, {
36-
token: FileSearchQuickCommandHandler,
37-
useValue: {},
38-
}, {
39-
token: PrefixQuickOpenService,
40-
useValue: {
41-
open: fakeOpenFn,
43+
injector = createBrowserInjector(
44+
[ClientAddonModule],
45+
new MockInjector([
46+
{
47+
token: CommandRegistry,
48+
useClass: CommandRegistryImpl,
4249
},
43-
},
44-
QuickOpenHandlerRegistry,
45-
]));
50+
{
51+
token: CommandService,
52+
useClass: CommandServiceImpl,
53+
},
54+
{
55+
token: KeybindingRegistry,
56+
useClass: KeybindingRegistryImpl,
57+
},
58+
{
59+
token: FileSearchQuickCommandHandler,
60+
useValue: {},
61+
},
62+
{
63+
token: PrefixQuickOpenService,
64+
useValue: {
65+
open: fakeOpenFn,
66+
},
67+
},
68+
QuickOpenHandlerRegistry,
69+
]),
70+
);
4671

4772
// 获取对象实例的时候才开始注册事件
4873
contribution = injector.get(FileSearchContribution);
@@ -121,7 +146,6 @@ describe('test for browser/file-search.contribution.ts', () => {
121146
});
122147

123148
describe('file-search-quickopen', () => {
124-
125149
let injector: MockInjector;
126150
let fileSearchQuickOpenHandler: FileSearchQuickCommandHandler;
127151

@@ -168,13 +192,11 @@ describe('file-search-quickopen', () => {
168192
},
169193
];
170194

171-
modes.DocumentSymbolProviderRegistry['all'] = () => {
172-
return [{
173-
provideDocumentSymbols: () => {
174-
return testDS;
175-
},
176-
}];
177-
};
195+
modes.DocumentSymbolProviderRegistry['all'] = () => [
196+
{
197+
provideDocumentSymbols: () => testDS,
198+
},
199+
];
178200

179201
beforeEach(() => {
180202
injector = createBrowserInjector([]);
@@ -187,10 +209,7 @@ describe('file-search-quickopen', () => {
187209
{
188210
token: FileSearchServicePath,
189211
useValue: {
190-
find: () => [
191-
'/file/a',
192-
'/file/b',
193-
],
212+
find: () => ['/file/a', '/file/b'],
194213
},
195214
},
196215
{
@@ -214,20 +233,16 @@ describe('file-search-quickopen', () => {
214233
injector.mockService(PreferenceService, {});
215234
injector.mockService(ILogger, {});
216235
injector.mockService(IEditorDocumentModelService, {
217-
createModelReference: (uri) => {
218-
return {
219-
instance: {
236+
createModelReference: (uri) => ({
237+
instance: {
238+
uri,
239+
getMonacoModel: () => ({
220240
uri,
221-
getMonacoModel: () => {
222-
return {
223-
uri,
224-
getLanguageIdentifier: () => 'javascript',
225-
};
226-
},
227-
},
228-
dispose: jest.fn(),
229-
};
230-
},
241+
getLanguageIdentifier: () => 'javascript',
242+
}),
243+
},
244+
dispose: jest.fn(),
245+
}),
231246
});
232247
fileSearchQuickOpenHandler = injector.get(FileSearchQuickCommandHandler);
233248
});

packages/addons/__test__/browser/status-bar.contribution.test.ts

+21-11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import { CommandService, IEventBus, EventBusImpl, BrowserConnectionCloseEvent, BrowserConnectionOpenEvent } from '@opensumi/ide-core-common';
1+
import {
2+
CommandService,
3+
IEventBus,
4+
EventBusImpl,
5+
BrowserConnectionCloseEvent,
6+
BrowserConnectionOpenEvent,
7+
} from '@opensumi/ide-core-common';
28

39
import { createBrowserInjector } from '../../../../tools/dev-tool/src/injector-helper';
410
import { MockInjector } from '../../../../tools/dev-tool/src/mock-injector';
@@ -12,17 +18,21 @@ describe('test for browser/status-bar-contribution.ts', () => {
1218
const fakeExecCmd = jest.fn();
1319

1420
beforeEach(() => {
15-
injector = createBrowserInjector([ ClientAddonModule ], new MockInjector([
16-
{
17-
token: IEventBus,
18-
useClass: EventBusImpl,
19-
}, {
20-
token: CommandService,
21-
useValue: {
22-
executeCommand: fakeExecCmd,
21+
injector = createBrowserInjector(
22+
[ClientAddonModule],
23+
new MockInjector([
24+
{
25+
token: IEventBus,
26+
useClass: EventBusImpl,
2327
},
24-
},
25-
]));
28+
{
29+
token: CommandService,
30+
useValue: {
31+
executeCommand: fakeExecCmd,
32+
},
33+
},
34+
]),
35+
);
2636

2737
eventBus = injector.get(IEventBus);
2838
// 获取对象实例的时候才开始注册事件

packages/addons/__test__/node/inde.test.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ describe('test for ', () => {
77
let injector: MockInjector;
88

99
beforeEach(() => {
10-
injector = createNodeInjector([
11-
AddonsModule,
12-
]);
10+
injector = createNodeInjector([AddonsModule]);
1311
});
1412

1513
it('empty module', () => {

0 commit comments

Comments
 (0)