From 8781a3f0f5043ef8ed34a6073e32cb373105259e Mon Sep 17 00:00:00 2001 From: Florian BOUILLON Date: Fri, 16 Jul 2021 16:28:07 +0200 Subject: [PATCH] Updated config files Signed-off-by: Florian BOUILLON --- packages/config/eslint/base.json | 78 ++++++++++++++++++++++++-- packages/config/eslint/typescript.json | 26 +++++++-- packages/config/next.config.ts | 25 +++++---- 3 files changed, 111 insertions(+), 18 deletions(-) diff --git a/packages/config/eslint/base.json b/packages/config/eslint/base.json index 319d2f7..1d56691 100644 --- a/packages/config/eslint/base.json +++ b/packages/config/eslint/base.json @@ -27,6 +27,8 @@ "error", "smart" ], + "for-direction": "error", + "getter-return": "error", "guard-for-in": "error", "id-blacklist": [ "error", @@ -39,11 +41,27 @@ "boolean", "Undefined" ], + "id-length": [ + "warn", + { + "exceptions": [ + "_", + "a", + "b", + "c", + "p" + ] + } + ], "id-match": "error", "indent": [ "error", - "tab" + "tab", + { + "SwitchCase": 1 + } ], + "init-declration": "off", "linebreak-style": [ "error", "unix" @@ -59,27 +77,78 @@ } ], "new-parens": "error", + "no-async-promise-executor": "error", + "no-await-in-loop": "warn", "no-bitwise": "error", "no-caller": "error", + "no-compare-neg-zero": "error", "no-cond-assign": "error", + "no-console": "off", + "no-constant-condition": "error", + "no-control-regex": "warn", "no-debugger": "error", - "no-empty": "error", + "no-delete-var": "error", + "no-dupe-args": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": [ + "error", + { + "allowEmptyCatch": true + } + ], + "no-empty-character-class": "error", "no-eval": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-extra-parens": [ + "error", + "all", + { + "ignoreJSX": "multi-line" + } + ], + "no-extra-semi": "error", "no-fallthrough": "off", + "no-func-assign": "error", + "no-import-assign": "error", + "no-inner-declarations": "error", + "no-invalid-regexp": "error", "no-invalid-this": "off", + "no-irregular-whitespace": "error", + "no-label-var": "error", + "no-loss-of-precision": "error", + "no-misleading-character-class": "error", "no-multiple-empty-lines": "error", "no-new-wrappers": "error", + "no-obj-calls": "error", + "no-promise-executor-return": "error", + "no-prototype-builtins": "error", + "no-regex-spaces": "error", + "no-restricted-globals": "off", + "no-setter-return": "error", "no-shadow": [ "error", { + "builtinGlobals": false, "hoist": "all" } ], + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-template-curly-in-string": "warn", "no-throw-literal": "error", "no-trailing-spaces": "error", + "no-undef": "error", "no-undef-init": "error", "no-underscore-dangle": "off", + "no-unexpected-multiline": "error", + "no-unreachable": "warn", + "no-unreachable-loop": "warn", "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", "no-unused-expressions": [ "error", { @@ -87,7 +156,7 @@ } ], "no-unused-labels": "error", - "no-unused-vars": "off", + "no-unused-vars": "warn", "no-var": "error", "object-shorthand": "error", "one-var": [ @@ -107,6 +176,7 @@ } ], "radix": "error", + "require-atomic-updates": "error", "semi": [ "error", "never" @@ -121,6 +191,6 @@ ], "spaced-comment": "error", "use-isnan": "error", - "valid-typeof": "off" + "valid-typeof": "warn" } } diff --git a/packages/config/eslint/typescript.json b/packages/config/eslint/typescript.json index 7d218d5..decc41a 100644 --- a/packages/config/eslint/typescript.json +++ b/packages/config/eslint/typescript.json @@ -3,6 +3,21 @@ "./base", "plugin:@typescript-eslint/recommended" ], + "overrides": [ + { + "files": [ + "*.ts", + "*.tsx" + ], + "rules": { + "no-extra-parens": "off", + "no-unused-expressions": "off", + "quotes": "off", + "semi": "off", + "space-before-function-paren": "off" + } + } + ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { @@ -51,11 +66,17 @@ "@typescript-eslint/no-empty-function": "error", "@typescript-eslint/no-empty-interface": "error", "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-extra-parens": [ + "error", + "all", + { + "ignoreJSX": "multi-line" + } + ], "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-misused-new": "error", "@typescript-eslint/no-namespace": "error", "@typescript-eslint/no-parameter-properties": "off", - "no-unused-expressions": "off", "@typescript-eslint/no-unused-expressions": [ "error", { @@ -66,7 +87,6 @@ "@typescript-eslint/prefer-for-of": "error", "@typescript-eslint/prefer-function-type": "error", "@typescript-eslint/prefer-namespace-keyword": "error", - "quotes": "off", "@typescript-eslint/quotes": [ "error", "single", @@ -74,12 +94,10 @@ "avoidEscape": true } ], - "semi": "off", "@typescript-eslint/semi": [ "error", "never" ], - "space-before-function-paren": "off", "@typescript-eslint/space-before-function-paren": [ "error", { diff --git a/packages/config/next.config.ts b/packages/config/next.config.ts index f7a9171..3e0592b 100644 --- a/packages/config/next.config.ts +++ b/packages/config/next.config.ts @@ -12,6 +12,10 @@ export const config = (additionnalHost: string): typeof defaultConfig & NextConf plugins: true, profiling: process.env.NODE_ENV === 'developpment', sprFlushToDisk: true, + + // Bugged + // https://github.com/vercel/next.js/issues/18913 + // reactRoot: true, workerThreads: true, pageEnv: true, @@ -21,22 +25,23 @@ export const config = (additionnalHost: string): typeof defaultConfig & NextConf scrollRestoration: true, stats: process.env.NODE_ENV === 'developpment', - gzipSize: process.env.NODE_ENV === 'developpment', externalDir: true, - - conformance: true, + disableOptimizedLoading: false, + gzipSize: process.env.NODE_ENV === 'developpment', + craCompat: false, + + - // Bugged - // https://github.com/vercel/next.js/issues/18913 - // reactRoot: true, }, + excludeDefaultMomentLocales: true, + trailingSlash: false, + cleanDistDir: true, + generateEtags: true, + compress: false, // Non experimental config // target: 'serverless', - cleanDistDir: true, - trailingSlash: false, - excludeDefaultMomentLocales: true, poweredByHeader: false, reactStrictMode: true, @@ -122,4 +127,4 @@ export const plugins = [preCSS, { localIdentName: "[path][name]__[local]" } } -}] \ No newline at end of file +}]