diff --git a/.commitlintrc.json b/.commitlintrc.json new file mode 100644 index 000000000..95be83dcc --- /dev/null +++ b/.commitlintrc.json @@ -0,0 +1,21 @@ +{ + "extends": ["@commitlint/config-conventional"], + "rules": { + "type-enum": [ + 2, + "always", + [ + "ci", + "chore", + "docs", + "ticket", + "feat", + "fix", + "perf", + "refactor", + "revert", + "style" + ] + ] + } +} diff --git a/.env.example b/.env.example deleted file mode 100644 index eebfe7e5a..000000000 --- a/.env.example +++ /dev/null @@ -1 +0,0 @@ -# REACT_APP_SERVER_URL= \ No newline at end of file diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 47c3ef457..000000000 --- a/.eslintrc +++ /dev/null @@ -1,169 +0,0 @@ -{ - "env": { - "node": true, - "browser": true, - "es6": true, - "jest": true - }, - "extends": [ - "airbnb-base", - "next/core-web-vitals", // Needed to avoid warning in next.js build: 'The Next.js plugin was not detected in your ESLint configuration' - "eslint:recommended", - "plugin:prettier/recommended", - "plugin:react/recommended", - "plugin:react-hooks/recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": [ - "react", - "react-hooks", - "prettier", - "@typescript-eslint", - "unused-imports", - "tailwindcss", - "simple-import-sort" - ], - "rules": { - // https://eslint.org/docs/latest/rules/ - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-explicit-any": "error", - "@typescript-eslint/prefer-optional-chain": "error", - "@typescript-eslint/no-unused-vars": "error", - "react-hooks/exhaustive-deps": "off", - "prefer-template": "error", - "react/prop-types": "off", - "react/react-in-jsx-scope": "off", - "comma-dangle": "off", - "camelcase": "error", - "spaced-comment": "warn", - "quotes": ["error", "single", { "avoidEscape": true }], - "no-duplicate-imports": "error", - "react-hooks/rules-of-hooks": "error", - "no-constant-binary-expression": "error", - "no-await-in-loop": "error", - "prefer-arrow-callback": ["error", { "allowUnboundThis": false }], - "prefer-const": "error", - "prefer-destructuring": "warn", - "prefer-spread": "warn", - "no-self-compare": "error", - "no-template-curly-in-string": "warn", - "dot-notation": "error", - "eqeqeq": "error", - "no-alert": "error", - "no-console": ["warn", { "allow": ["warn", "error"] }], - "no-else-return": "error", - "no-nested-ternary": "error", - "no-var": "error", - "require-await": "error", - "@next/next/no-img-element": "off", // We currently not using next/image because it isn't supported with SSG mode - "no-restricted-syntax": [ - "error", - "ForInStatement", - "LabeledStatement", - "WithStatement" - ], // Overrides Airbnb configuration and enable no-restricted-syntax - "import/extensions": "off", - "import/prefer-default-export": "off", // Named export is easier to refactor automatically - "unused-imports/no-unused-imports": "error", - "unused-imports/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], - "simple-import-sort/imports": "error", // Import configuration for `eslint-plugin-simple-import-sort` - "simple-import-sort/exports": "error", // Export configuration for `eslint-plugin-simple-import-sort` - "no-restricted-imports": [ - "error", - { - "paths": [ - { - "name": "reactstrap", - "importNames": [ - "Modal", - "ModalHeader", - "ModalBody", - "ModalFooter", - "Button" - ], - "message": "Restricted `react-modal` imports:\n\n[Modal]\n Please use `` from `react-modal` for consistency.\n\n[ModalHeader, ModalBody, ModalFooter]\n Please use the modal subcomponents from `src/components/modal` for consistency.\n\n[Button]\nPlease use `