Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eslint-plugin): Migrate plugin to ts #120

Merged
merged 97 commits into from Feb 11, 2019
Merged
Show file tree
Hide file tree
Changes from 86 commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
37dd878
rename files and start migration
bradzacher Jan 21, 2019
c651723
start converting rules
bradzacher Jan 22, 2019
1714d3b
first pass type conversion done
bradzacher Jan 22, 2019
bcb3288
es6 exports
bradzacher Jan 22, 2019
5e68332
correct tooling paths
bradzacher Jan 22, 2019
bbc841a
fix update-recommended script
bradzacher Jan 22, 2019
0d3e8ff
add missing manual module typing files
bradzacher Jan 22, 2019
d4254f5
address some review comments
bradzacher Jan 22, 2019
ee56d42
Merge master into migrate-plugin-to-ts
bradzacher Jan 24, 2019
e44fba5
convert tests to TS, move folders, fix bugs
bradzacher Jan 24, 2019
fd3fc9d
started adding type defs for TSEstree
bradzacher Jan 25, 2019
9bfbb86
more types
bradzacher Jan 25, 2019
a47e536
chore(ts-estree): draft of estree structure (replacement for ESTreeNo…
armano2 Jan 26, 2019
1e78ac5
more types
bradzacher Jan 26, 2019
f5d15fa
Finished adding types
bradzacher Jan 30, 2019
26e7275
Filled out unions
bradzacher Jan 30, 2019
1df6084
removed types auto generated by armano
bradzacher Jan 30, 2019
25579ad
Fix some incorrect typings
bradzacher Jan 30, 2019
6d71be4
start strictly typing rules
bradzacher Jan 30, 2019
a690933
fix incorrect type for TSTypeRef
bradzacher Jan 31, 2019
9796d0f
find+replace remove create(context: Rule.RuleContext)
bradzacher Jan 31, 2019
4f8a9d1
Bring SourceCode type internally
bradzacher Jan 31, 2019
b76a2d7
adjacent-overload-signatures
bradzacher Jan 31, 2019
5826ca2
array-type
bradzacher Jan 31, 2019
e18ad83
ban-types
bradzacher Jan 31, 2019
c5875f6
move the eslint retyping to a fake module
bradzacher Jan 31, 2019
8f2e7e5
add back tests accidentally deleted from adjacent-overload-sigs
bradzacher Jan 31, 2019
b08b70a
camelcase
bradzacher Jan 31, 2019
6f33e82
tweak generics to be stricter and more ergonomic
bradzacher Jan 31, 2019
99f14a1
rename test files and retype RuleTester
bradzacher Feb 1, 2019
e8fc817
class-name-casing
bradzacher Feb 1, 2019
1ab295c
explicit-function-return-type
bradzacher Feb 1, 2019
35ab1bb
explicit-member-accessibility
bradzacher Feb 1, 2019
64ca20b
generic-type-naming
bradzacher Feb 1, 2019
14c0568
indent
bradzacher Feb 1, 2019
0f9b863
add comment to ts-estree types
bradzacher Feb 1, 2019
f35c261
switch from npmignore to package.json files
bradzacher Feb 1, 2019
c49d7e8
interface-name-prefix
bradzacher Feb 1, 2019
334c9b9
Switch to export default rules because it's nicer from a typescript s…
bradzacher Feb 1, 2019
67c2ded
fix config so the test files get the proper types from src
bradzacher Feb 1, 2019
9eb59cb
member-delimiter-style
bradzacher Feb 1, 2019
393204f
revert typescript version bump
bradzacher Feb 2, 2019
7ce246f
review fixes 1/n
bradzacher Feb 2, 2019
f991152
review fixes 2/2
bradzacher Feb 2, 2019
db338a3
member-naming
bradzacher Feb 4, 2019
be34387
member-ordering
bradzacher Feb 4, 2019
5d1165e
review fixes
bradzacher Feb 4, 2019
6ef013a
no-angle-bracket-type-assertion
bradzacher Feb 4, 2019
8309b5d
no-array-constructor
bradzacher Feb 4, 2019
4252c4a
no-empty-interface
bradzacher Feb 4, 2019
efb0e9b
no-explicit-any
bradzacher Feb 4, 2019
22ab757
no-extraneous-class
bradzacher Feb 4, 2019
5ef1e40
no-inferrable-types
bradzacher Feb 4, 2019
616e3a5
no-misused-new
bradzacher Feb 4, 2019
cbd7396
Merge master into migrate-plugin-to-ts
bradzacher Feb 5, 2019
7f36b4b
fix new tests + debug config
bradzacher Feb 5, 2019
2a7fc49
no-namespace
bradzacher Feb 5, 2019
3ae13c6
add types for the eslint modules used in eslint-rules tests
bradzacher Feb 5, 2019
90c9dde
no-non-null-assertion
bradzacher Feb 5, 2019
5c95e0e
no-object-literal-type-assertion
bradzacher Feb 5, 2019
3a8599c
no-parameter-properties
bradzacher Feb 5, 2019
0f4253a
no-this-alias
bradzacher Feb 5, 2019
48cb5a1
no-triple-slash-reference
bradzacher Feb 5, 2019
077994a
no-type-alias
bradzacher Feb 5, 2019
0634149
no-unused-vars
bradzacher Feb 5, 2019
0d3b2b8
no-use-before-define
bradzacher Feb 5, 2019
d24d61d
no-useless-constructor
bradzacher Feb 5, 2019
ecc9582
no-var-requires
bradzacher Feb 5, 2019
55542a2
prefer-interface
bradzacher Feb 5, 2019
4e0136d
prefer-namespace-keyword
bradzacher Feb 5, 2019
50dda72
restrict-plus-operands
bradzacher Feb 5, 2019
f6527dd
type-annotation-spacing
bradzacher Feb 5, 2019
49feb83
fixed up tests and build
bradzacher Feb 5, 2019
6ec6b5f
fix build error
bradzacher Feb 5, 2019
bf31055
add typecheck command and fix errors
bradzacher Feb 5, 2019
a294ea9
move tsestree-utils into utils
bradzacher Feb 6, 2019
a49264c
split utils into separate files to reduce overall file size
bradzacher Feb 6, 2019
46dd1e5
add a createRule helper function
bradzacher Feb 6, 2019
265a6c1
remove a number of inconsistent/useless comments
bradzacher Feb 6, 2019
419ccde
move parser ambient typings to fix the build
bradzacher Feb 6, 2019
0ac7c7f
Fix up some raw strings instead of enum usage
bradzacher Feb 6, 2019
46613cc
ran yarn format
bradzacher Feb 6, 2019
ca20023
remove temporary isolated modules in tests
bradzacher Feb 6, 2019
27c6eba
Merge branch 'master' into migrate-plugin-to-ts
bradzacher Feb 6, 2019
ed6ed5e
review fixes
bradzacher Feb 7, 2019
ca5836e
disable most eslint-plugin-eslint-plugin rules as they no longer are …
bradzacher Feb 7, 2019
79fe2b7
duplicated logic in no-extraneous-class
bradzacher Feb 7, 2019
7d3fac0
Merge branch 'master' into migrate-plugin-to-ts
bradzacher Feb 7, 2019
5f6c1ed
fix types on promise-function-async
bradzacher Feb 7, 2019
4158deb
Merge branch 'master' into migrate-plugin-to-ts
bradzacher Feb 9, 2019
2f6ff83
rename the base tsconfig file to prevent errors in visual studio (not…
bradzacher Feb 9, 2019
917a9f1
fix build
bradzacher Feb 10, 2019
cb359d3
review
bradzacher Feb 10, 2019
c652486
switch RuleTester to a non-default export
bradzacher Feb 10, 2019
51c7635
review fixes pt 1
bradzacher Feb 10, 2019
5c8ad1a
add removed type checks back into tests
bradzacher Feb 10, 2019
3384ed1
barrel up ts-estree
bradzacher Feb 10, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 3 additions & 16 deletions .eslintrc.json
Expand Up @@ -30,7 +30,7 @@
{
"files": [
"packages/eslint-plugin-tslint/tests/**/*.ts",
"packages/eslint-plugin/tests/**/*.js",
"packages/eslint-plugin/tests/**/*.test.ts",
"packages/parser/tests/**/*.ts",
"packages/typescript-estree/tests/**/*.ts"
],
Expand All @@ -53,22 +53,9 @@
}
},
{
"files": ["packages/eslint-plugin/**/*.js"],
"files": ["packages/eslint-plugin/test/**/*.ts"],
"rules": {
"eslint-plugin/fixer-return": "error",
"eslint-plugin/no-identical-tests": "error",
"eslint-plugin/no-missing-placeholders": "error",
"eslint-plugin/no-unused-placeholders": "error",
"eslint-plugin/no-useless-token-range": "error",
"eslint-plugin/require-meta-fixable": "error",
"eslint-plugin/prefer-placeholders": "error",
"eslint-plugin/prefer-replace-text": "error",
"eslint-plugin/no-deprecated-report-api": "error",
"eslint-plugin/report-message-format": ["error", "^[A-Z'{].*[\\.}]$"],
"eslint-plugin/no-deprecated-context-methods": "error",
"eslint-plugin/prefer-output-null": "error",
"eslint-plugin/test-case-shorthand-strings": "error",
"eslint-plugin/require-meta-type": "error"
"eslint-plugin/no-identical-tests": "error"
}
}
]
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Expand Up @@ -36,9 +36,6 @@ build/Release
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# Optional npm cache directory
.npm

Expand Down
5 changes: 3 additions & 2 deletions .vscode/launch.json
Expand Up @@ -11,9 +11,10 @@
"cwd": "${workspaceFolder}/packages/eslint-plugin/",
"program": "${workspaceFolder}/node_modules/jest/bin/jest.js",
"args": [
"--colors",
"tests/lib/rules/${fileBasename}"
"--runInBand",
"tests/rules/${fileBasenameNoExtension}"
],
"sourceMaps": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
Expand Down
6 changes: 6 additions & 0 deletions azure-pipelines.yml
Expand Up @@ -17,6 +17,12 @@ jobs:
# bootstrap
yarn --ignore-engines --frozen-lockfile

- script: |
# Note that this command *also* typechecks tests/tools,
# whereas the build only checks src files
yarn typecheck
displayName: 'Typecheck all packages'

- script: |
yarn check-format
displayName: 'Check code formatting'
Expand Down
3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -7,7 +7,7 @@
"contributors": [
"James Henry <typescript-eslint@jameshenry.blog>",
"Nicholas C. Zakas",
"Brad Zacher",
"Brad Zacher <brad.zacher@gmail.com>",
"armano2",
"Jed Fox"
],
Expand All @@ -21,6 +21,7 @@
"test": "lerna run test --parallel",
"build": "lerna run build",
"clean": "lerna clean && lerna run clean",
"typecheck": "lerna run typecheck",
"lint": "eslint . --ext .js,.ts",
"lint-fix": "eslint . --ext .js,.ts --fix",
"cz": "git-cz",
Expand Down
5 changes: 3 additions & 2 deletions packages/eslint-plugin-tslint/package.json
Expand Up @@ -21,8 +21,9 @@
"scripts": {
"test": "jest --coverage",
"prebuild": "npm run clean",
"build": "tsc",
"clean": "rimraf dist/"
"build": "tsc -p tsconfig.build.json",
"clean": "rimraf dist/",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"lodash.memoize": "^4.1.2"
Expand Down
7 changes: 7 additions & 0 deletions packages/eslint-plugin-tslint/tsconfig.build.json
@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist"
},
"include": ["src"]
}
9 changes: 3 additions & 6 deletions packages/eslint-plugin-tslint/tsconfig.json
@@ -1,8 +1,5 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declaration": true,
"outDir": "./dist"
},
"include": ["src"]
"extends": "./tsconfig.build.json",
"include": ["src", "tests"],
"exclude": ["tests/test-project", "tests/test-tslint-rules-directory"]
}
6 changes: 0 additions & 6 deletions packages/eslint-plugin/.npmignore

This file was deleted.

4 changes: 2 additions & 2 deletions packages/eslint-plugin/jest.config.js
Expand Up @@ -5,9 +5,9 @@ module.exports = {
transform: {
'^.+\\.tsx?$': 'ts-jest'
},
testRegex: './tests/lib/.+\\.js$',
testRegex: './tests/.+\\.test\\.ts$',
collectCoverage: false,
collectCoverageFrom: ['lib/**/*.{js,jsx,ts,tsx}'],
collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
coverageReporters: ['text-summary', 'lcov']
};
25 changes: 0 additions & 25 deletions packages/eslint-plugin/lib/index.js

This file was deleted.

123 changes: 0 additions & 123 deletions packages/eslint-plugin/lib/rules/adjacent-overload-signatures.js

This file was deleted.

96 changes: 0 additions & 96 deletions packages/eslint-plugin/lib/rules/class-name-casing.js

This file was deleted.