stackbreak / comment-divider

Divide your code by sections with styled separators
https://marketplace.visualstudio.com/items?itemName=stackbreak.comment-divider
GNU General Public License v3.0
71 stars 19 forks source link

Use `tslint-to-eslint-config` to migrate to ESLint #42

Closed hyperupcall closed 2 years ago

hyperupcall commented 2 years ago

Hai~,

This migrates the linting config to ESLint since TSLint has been deprecated for some time now. I also had to modify a few rules and install the correct packages so things would work.

I'll also add that ESLint has a few errors, but I didn't fix them since you might prefer to remove the offending rules for some of them

ESLint Results ```txt yarn lint:eslint yarn run v1.22.17 warning comment-divider@0.4.0: The engine "vscode" appears to be invalid. $ eslint "**/*.ts" .../comment-divider/comment-divider/src/builders.ts 33:3 warning 'rightAnchor' is never reassigned. Use 'const' instead prefer-const 51:3 warning 'leftAnchor' is never reassigned. Use 'const' instead prefer-const .../comment-divider/comment-divider/src/errors.ts 7:3 warning Object Literal Property name `EMPTY_LINE` must match one of the following formats: camelCase @typescript-eslint/naming-convention 8:3 warning Object Literal Property name `MULTI_LINE` must match one of the following formats: camelCase @typescript-eslint/naming-convention 9:3 warning Object Literal Property name `LONG_TEXT` must match one of the following formats: camelCase @typescript-eslint/naming-convention 11:3 warning Object Literal Property name `COMMENT_CHARS` must match one of the following formats: camelCase @typescript-eslint/naming-convention 12:3 warning Object Literal Property name `FILLER_LEN` must match one of the following formats: camelCase @typescript-eslint/naming-convention .../comment-divider/comment-divider/src/extension.ts 6:8 warning Use const or class constructors instead of named functions prefer-arrow/prefer-arrow-functions .../comment-divider/comment-divider/src/limiters.ts 97:8 warning Use const or class constructors instead of named functions prefer-arrow/prefer-arrow-functions ✖ 9 problems (0 errors, 9 warnings) ```

Here is the log file that is generated after running the conversion

tslint-to-eslint-config.log ```txt 6 ESLint rules behave differently from their TSLint counterparts: * @typescript-eslint/no-unused-expressions: - The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored. * no-underscore-dangle: - Leading or trailing underscores (_) on identifiers will now be forbidden. * arrow-body-style: - ESLint will throw an error if the function body is multiline yet has a one-line return on it. * no-invalid-this: - Functions in methods will no longer be ignored. * prefer-arrow/prefer-arrow-functions: - ESLint does not support allowing standalone function declarations. - ESLint does not support allowing named functions defined with the function keyword. * padded-blocks: - ESLint's padded-blocks rule also bans a blank line before a closing brace. Error: multiple output react/jsx-curly-spacing ESLint rule options were generated, but tslint-to-eslint-config doesn't have "merger" logic to deal with this. Please file an issue at https://github.com/typescript-eslint/tslint-to-eslint-config/issues/new?template=missing_merger.md. Thanks! * import-destructuring-spacing ```