Skip to content

Commit

Permalink
setting up internal eslint
Browse files Browse the repository at this point in the history
  • Loading branch information
francoismassart committed Dec 10, 2024
1 parent fe7c85e commit 5af21c9
Show file tree
Hide file tree
Showing 11 changed files with 1,488 additions and 110 deletions.
44 changes: 23 additions & 21 deletions .eslint-doc-generatorrc.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
/* eslint-disable unicorn/prevent-abbreviations */
/** @type {import('eslint-doc-generator').GenerateOptions} */
const config = {
// configEmoji: [['recommended', '✅']],
// ignoreConfig: ['all', 'flat/all', 'flat/recommended'],
ignoreDeprecatedRules: true,
// ruleDocNotices: [],
// ruleDocSectionExclude: [],
// ruleDocSectionInclude: [],
ruleDocTitleFormat: 'desc',
ruleListColumns: [
'name',
'description',
'configsError',
'configsWarn',
'fixable',
'hasSuggestions',
'requiresTypeChecking',
],
// ruleListSplit: [],
// urlConfigs: 'https://github.com/...#preset-configs-eslintconfigjs',
};

module.exports = config;
// configEmoji: [['recommended', '✅']],
// ignoreConfig: ['all', 'flat/all', 'flat/recommended'],
ignoreDeprecatedRules: true,
// ruleDocNotices: [],
// ruleDocSectionExclude: [],
// ruleDocSectionInclude: [],
ruleDocTitleFormat: "desc",
ruleListColumns: [
"name",
"description",
"configsError",
"configsWarn",
"fixable",
"hasSuggestions",
"requiresTypeChecking",
],
// ruleListSplit: [],
// urlConfigs: 'https://github.com/...#preset-configs-eslintconfigjs',
};

// eslint-disable-next-line no-undef
module.exports = config;
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
35 changes: 35 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import pluginJs from "@eslint/js";
import importPlugin from "eslint-plugin-import";
import simpleImportSort from "eslint-plugin-simple-import-sort";
import eslintPluginUnicorn from "eslint-plugin-unicorn";
import globals from "globals";
import tseslint from "typescript-eslint";

/** @type {import('eslint').Linter.Config[]} */
export default [
{ files: ["**/*.{js,mjs,cjs,ts}"] },
{ ignores: ["lib/**"] },
{ languageOptions: { globals: globals.browser } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
{
plugins: {
import: importPlugin,
"simple-import-sort": simpleImportSort,
},
rules: {
"import/first": "error",
"import/newline-after-import": "error",
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
"@typescript-eslint/array-type": ["error", { default: "generic" }],
},
},
eslintPluginUnicorn.configs["flat/recommended"],
{
rules: {
// Already covered
"unicorn/prefer-module": "off",
},
},
];
9 changes: 5 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/** @type {import('ts-jest').JestConfigWithTsJest} */
// eslint-disable-next-line no-undef
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testMatch: ['**/*.spec.ts'],
};
preset: "ts-jest",
testEnvironment: "node",
testMatch: ["**/*.spec.ts"],
};
12 changes: 10 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
"./package.json": "./package.json"
},
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"build": "tsc --build",
"build:diagnostics": "tsc --build --diagnostics",
"watch": "tsc --watch",
Expand All @@ -41,19 +43,25 @@
"test": "vitest"
},
"dependencies": {
"@typescript-eslint/utils": "^7.13.0",
"eslint": "^8.56.0"
"@typescript-eslint/utils": "^7.13.0"
},
"devDependencies": {
"@eslint/js": "^9.16.0",
"@types/eslint": "^8.56.10",
"@types/jest": "^29.5.12",
"@typescript-eslint/parser": "^7.13.0",
"@typescript-eslint/rule-tester": "^7.13.0",
"eslint": "^8.57.1",
"eslint-doc-generator": "^1.7.1",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-unicorn": "^56.0.1",
"globals": "^15.13.0",
"jest": "^29.7.0",
"ts-jest": "^29.1.4",
"tsup": "^8.1.0",
"typescript": "^5.4.5",
"typescript-eslint": "^8.18.0",
"vitest": "^1.6.0"
},
"engines": {
Expand Down
Loading

0 comments on commit 5af21c9

Please sign in to comment.