Skip to content

Commit

Permalink
feat: much better structure for eslint, commitlint, husky and more
Browse files Browse the repository at this point in the history
  • Loading branch information
WrathChaos committed Jul 26, 2022
1 parent 91aa009 commit 47848e1
Show file tree
Hide file tree
Showing 9 changed files with 23,319 additions and 47 deletions.
23 changes: 23 additions & 0 deletions .commitlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"header-max-length": [0, "always", 150],
"subject-case": [0, "always", "sentence-case"],
"type-enum": [
2,
"always",
[
"ci",
"chore",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test"
]
]
}
}
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/**
125 changes: 108 additions & 17 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,123 @@
module.exports = {
root: true,
extends: [
"eslint:recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"@react-native-community",
"airbnb-typescript",
"prettier",
"prettier/@typescript-eslint",
"prettier/react"
],
parser: "babel-eslint",
plugins: ["react", "react-native"],
ignorePatterns: [
"**/*/*.js",
"*.js",
"*.svg",
"*.json",
"*.png",
"package.json",
"package-lock.json",
],
parser: "@typescript-eslint/parser",
plugins: [
"import",
"react",
"react-native",
"prettier",
"react-hooks",
"@typescript-eslint",
"promise",
"jest",
"unused-imports",
],
env: {
jest: true,
"react-native/react-native": true
browser: true,
es2021: true,
"jest/globals": true,
"react-native/react-native": true,
},
settings: {
"import/resolver": {
node: {
extensions: [
".js",
".jsx",
".ts",
".tsx",
".d.ts",
".android.js",
".android.jsx",
".android.ts",
".android.tsx",
".ios.js",
".ios.jsx",
".ios.ts",
".ios.tsx",
".web.js",
".web.jsx",
".web.ts",
".web.tsx",
],
},
},
},
rules: {
// allow js file extension
"react/jsx-filename-extension": [
quotes: [
"error",
"double",
{
extensions: [".js", ".jsx", ".tsx", ".ts"]
}
avoidEscape: true,
},
],
// for post defining style object in react-native
"no-use-before-define": ["error", { variables: false }],
// react-native rules
"import/extensions": [
"error",
"never",
{
svg: "always",
model: "always",
style: "always",
png: "always",
jpg: "always",
json: "always",
constant: "always",
},
],
"no-useless-catch": 0,
"react-hooks/exhaustive-deps": 0,
"max-len": ["error", 120],
"@typescript-eslint/ban-ts-comment": 1,
"@typescript-eslint/no-empty-function": 0,
"@typescript-eslint/no-explicit-any": 1,
"@typescript-eslint/explicit-module-boundary-types": 0,
"react/jsx-filename-extension": ["error", { extensions: [".tsx"] }],
"react-native/no-unused-styles": 2,
"react-native/split-platform-components": 2,
"react-native/no-inline-styles": 2,
"react-native/no-raw-text": 2
}
"react-native/no-inline-styles": 0,
"react-native/no-color-literals": 0,
"react-native/no-raw-text": 0,
"import/no-extraneous-dependencies": 2,
"import/no-named-as-default-member": 2,
"import/order": 0,
"import/no-duplicates": 2,
"import/no-useless-path-segments": 2,
"import/no-cycle": 2,
"import/prefer-default-export": 0,
"import/no-anonymous-default-export": 0,
"import/named": 0,
"@typescript-eslint/no-empty-interface": 0,
"import/namespace": 0,
"import/default": 0,
"import/no-named-as-default": 0,
"import/no-unused-modules": 0,
"import/no-deprecated": 0,
"@typescript-eslint/indent": 0,
"react-hooks/rules-of-hooks": 2,
camelcase: 2,
"prefer-destructuring": 2,
"no-nested-ternary": 2,
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
},
};
13 changes: 8 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
#
.DS_Store

package-lock.json

node_modules

# Xcode
#
build/
Expand All @@ -24,7 +20,6 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
#
Expand All @@ -34,6 +29,10 @@ build/
local.properties
*.iml

# Visual Studio Code
#
.vscode/

# node.js
#
node_modules/
Expand All @@ -44,6 +43,7 @@ yarn-error.log
buck-out/
\.buckd/
*.keystore
!debug.keystore

# fastlane
#
Expand All @@ -58,3 +58,6 @@ buck-out/

# Bundle artifact
*.jsbundle

# CocoaPods
/ios/Pods/
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/**
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"bracketSpacing": true,
"jsxBracketSameLine": false,
"singleQuote": false,
"trailingComma": "all",
"tabWidth": 2,
"semi": true
}
8 changes: 0 additions & 8 deletions .prettierrc.js

This file was deleted.

Loading

0 comments on commit 47848e1

Please sign in to comment.