feat: add eslint configuration package
This commit is contained in:
parent
99dbbbcbe9
commit
83d41542f8
3 changed files with 1446 additions and 0 deletions
121
cli/eslint/index.js
Normal file
121
cli/eslint/index.js
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
import globals from 'globals';
|
||||
import jsdoc from 'eslint-plugin-jsdoc';
|
||||
|
||||
export default [
|
||||
jsdoc.configs['flat/recommended'],
|
||||
{
|
||||
languageOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
sourceType: 'module',
|
||||
globals: {
|
||||
...globals.commonjs,
|
||||
...globals.es2021,
|
||||
},
|
||||
},
|
||||
plugins: {
|
||||
jsdoc,
|
||||
},
|
||||
rules: {
|
||||
'no-cond-assign': 'off',
|
||||
'no-irregular-whitespace': 'error',
|
||||
'no-unexpected-multiline': 'error',
|
||||
'curly': ['error', 'multi-line'],
|
||||
'guard-for-in': 'error',
|
||||
'no-caller': 'error',
|
||||
'no-extend-native': 'error',
|
||||
'no-extra-bind': 'error',
|
||||
'no-invalid-this': 'error',
|
||||
'no-multi-spaces': 'error',
|
||||
'no-multi-str': 'error',
|
||||
'no-new-wrappers': 'error',
|
||||
'no-throw-literal': 'error',
|
||||
'no-with': 'error',
|
||||
'prefer-promise-reject-errors': 'error',
|
||||
'no-unused-vars': ['error', { args: 'none' }],
|
||||
'array-bracket-newline': 'off',
|
||||
'array-bracket-spacing': ['error', 'never'],
|
||||
'array-element-newline': 'off',
|
||||
'block-spacing': ['error', 'never'],
|
||||
'brace-style': 'error',
|
||||
'camelcase': ['error', { properties: 'never' }],
|
||||
'comma-dangle': ['error', 'always-multiline'],
|
||||
'comma-spacing': 'error',
|
||||
'comma-style': 'error',
|
||||
'computed-property-spacing': 'error',
|
||||
'eol-last': 'error',
|
||||
'func-call-spacing': 'error',
|
||||
|
||||
'camelcase': 'off',
|
||||
'indent': [
|
||||
'error',
|
||||
2,
|
||||
{
|
||||
'SwitchCase': 1,
|
||||
},
|
||||
],
|
||||
'key-spacing': 'error',
|
||||
'keyword-spacing': 'error',
|
||||
'linebreak-style': 'error',
|
||||
'max-len': [
|
||||
'error',
|
||||
{
|
||||
code: 160,
|
||||
ignoreComments: true,
|
||||
ignoreUrls: true,
|
||||
ignoreStrings: true,
|
||||
},
|
||||
],
|
||||
'new-cap': 'error',
|
||||
'no-array-constructor': 'error',
|
||||
'no-mixed-spaces-and-tabs': 'error',
|
||||
'no-multiple-empty-lines': ['error', { max: 2 }],
|
||||
'no-new-object': 'error',
|
||||
'no-tabs': 'error',
|
||||
'no-trailing-spaces': 'error',
|
||||
'object-curly-spacing': 'error',
|
||||
'one-var': ['error', {
|
||||
var: 'never',
|
||||
let: 'never',
|
||||
const: 'never',
|
||||
}],
|
||||
'operator-linebreak': ['error', 'after'],
|
||||
'padded-blocks': ['error', 'never'],
|
||||
'quote-props': ['error', 'consistent'],
|
||||
'quotes': ['error', 'single', { allowTemplateLiterals: true }],
|
||||
'semi': 'error',
|
||||
'semi-spacing': 'error',
|
||||
'space-before-blocks': 'error',
|
||||
'space-before-function-paren': ['error', {
|
||||
asyncArrow: 'always',
|
||||
anonymous: 'never',
|
||||
named: 'never',
|
||||
}],
|
||||
'spaced-comment': [
|
||||
'error',
|
||||
'always',
|
||||
{
|
||||
line: {
|
||||
markers: ['/'],
|
||||
},
|
||||
},
|
||||
],
|
||||
'switch-colon-spacing': 'error',
|
||||
'arrow-parens': 'off',
|
||||
'constructor-super': 'error',
|
||||
'generator-star-spacing': ['error', 'after'],
|
||||
'no-new-symbol': 'error',
|
||||
'no-this-before-super': 'error',
|
||||
'no-var': 'error',
|
||||
'prefer-const': ['error', { destructuring: 'all' }],
|
||||
'prefer-rest-params': 'error',
|
||||
'prefer-spread': 'error',
|
||||
'rest-spread-spacing': 'error',
|
||||
'yield-star-spacing': ['error', 'after'],
|
||||
'jsdoc/no-undefined-types': 'off',
|
||||
'jsdoc/require-param-description': 'off',
|
||||
'jsdoc/require-returns-description': 'off',
|
||||
'jsdoc/require-returns': 'off',
|
||||
'jsdoc/tag-lines': ['error', 'any', { startLines: 1 }],
|
||||
},
|
||||
},
|
||||
];
|
||||
1301
cli/eslint/package-lock.json
generated
Normal file
1301
cli/eslint/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
24
cli/eslint/package.json
Normal file
24
cli/eslint/package.json
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "eslint-config-treesitter",
|
||||
"version": "1.0.2",
|
||||
"description": "Eslint configuration for Tree-sitter grammar files",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tree-sitter/tree-sitter.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": "Amaan Qureshi <amaanq12@gmail.com>",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"keywords": [
|
||||
"eslint",
|
||||
"eslintconfig",
|
||||
"tree-sitter"
|
||||
],
|
||||
"dependencies": {
|
||||
"eslint-plugin-jsdoc": "^50.2.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": ">= 9"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue