LibreChat/eslintrc-stripped.js

92 lines
2.3 KiB
JavaScript
Raw Normal View History

module.exports = {
env: {
browser: true,
es2021: true,
node: true,
commonjs: true,
es6: true,
},
extends: [
"prettier",
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
},
plugins: ["react", "react-hooks", "@typescript-eslint"],
rules: {
indent: ["error", 2, { SwitchCase: 1 }],
"max-len": [
"error",
{
code: 150,
ignoreStrings: true,
ignoreTemplateLiterals: true,
ignoreComments: true,
},
],
"linebreak-style": 0,
"arrow-parens": [2, "as-needed", { requireForBlockBody: true }],
// 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }],
"no-console": "off",
"import/extensions": "off",
"no-promise-executor-return": "off",
"no-param-reassign": "off",
"no-continue": "off",
"no-restricted-syntax": "off",
"react/prop-types": ["off"],
"react/display-name": ["off"],
},
overrides: [
{
files: ["**/*.ts", "**/*.tsx, **/*.js, **/*.jsx"],
rules: {
"no-unused-vars": "off", // off because it conflicts with '@typescript-eslint/no-unused-vars'
"react/display-name": "off",
"@typescript-eslint/no-unused-vars": "warn",
},
},
{
files: ["rollup.config.js", ".eslintrc.js", "jest.config.js"],
env: {
node: true,
},
},
{
files: [
"**/*.test.js",
"**/*.test.jsx",
"**/*.test.ts",
"**/*.test.tsx",
"**/*.spec.js",
"**/*.spec.jsx",
"**/*.spec.ts",
"**/*.spec.tsx",
"setupTests.js",
],
env: {
jest: true,
node: true,
},
rules: {
"react/display-name": "off",
"react/prop-types": "off",
"react/no-unescaped-entities": "off",
},
},
],
settings: {
react: {
createClass: 'createReactClass', // Regex for Component Factory to use,
// default to "createReactClass"
pragma: 'React', // Pragma to use, default to "React"
fragment: 'Fragment', // Fragment to use (may be a property of <pragma>), default to "Fragment"
version: 'detect', // React version. "detect" automatically picks the version you have installed.
},
},
};