diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..b96a58d --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +ENV= \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..39acfb3 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,54 @@ +{ + "settings": { + "react": { + "version": "detect" + } + }, + "env": { + "browser": true, + "es2021": true + }, + "extends": [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended" + ], + "overrides": [ + { + "files": ["*.ts", "*.tsx"] + } + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 12, + "sourceType": "module" + }, + "plugins": ["react", "@typescript-eslint"], + "rules": { + "react/jsx-uses-react": "off", + "react/react-in-jsx-scope": "off", + "sort-imports": [ + 0, + { + "ignoreCase": true, + "allowSeparatedGroups": true, + "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] + } + ], + "@typescript-eslint/no-explicit-any": ["warn"], + "@typescript-eslint/no-inferrable-types": [0], + "indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "linebreak-style": ["warn", "unix"], + "quotes": ["error", "double", { "avoidEscape": true }], + "semi": ["error", "always"] + } +} diff --git a/.gitignore b/.gitignore index e7f329d..f8718e9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,4 @@ env/local.env npm-debug.log* yarn-debug.log* -yarn-error.log* \ No newline at end of file +yarn-error.log* diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..2eb8b7f --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,10 @@ +#!/bin/sh +STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM) + +if [[ "$STAGED_FILES" = "" ]]; then + echo "No files staged for commit" + exit 1 +fi + +echo "Valiidating Typescript..." +npm run lint -- --max-warnings 0 \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..e5ff705 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +engine-strict=true +omit=peer \ No newline at end of file