Added Prettier support

This commit is contained in:
Dustin Brett
2021-01-02 23:51:10 -08:00
parent 172eb544f7
commit 725800f21f
9 changed files with 71 additions and 52 deletions

View File

@@ -1,41 +1,38 @@
{
"env": {
"browser": true,
"es2021": true,
"node": true
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": [
"airbnb",
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"prettier"
],
"globals": {
"React": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"extends": [
"airbnb",
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended"
],
"globals": {
"React": "readonly"
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["react", "@typescript-eslint"],
"rules": {
"react/jsx-filename-extension": [1, { "extensions": [".tsx"] }],
"react/jsx-props-no-spreading": "off"
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": [
"react",
"@typescript-eslint"
],
"rules": {
"comma-dangle": "off",
"react/jsx-filename-extension": [1, { "extensions": [".tsx"] }],
"react/jsx-props-no-spreading": "off"
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {}
}
"import/resolver": {
"typescript": {}
}
}
}

3
.prettierignore Normal file
View File

@@ -0,0 +1,3 @@
/.next
/node_modules
/out

4
.prettierrc.json Normal file
View File

@@ -0,0 +1,4 @@
{
"singleQuote": true,
"trailingComma": "none"
}

View File

@@ -1,3 +1,6 @@
{
"extends": "stylelint-config-standard"
"extends": [
"stylelint-config-prettier",
"stylelint-config-standard"
]
}

View File

@@ -1 +1 @@
# x
# x

18
package-lock.json generated
View File

@@ -2874,6 +2874,12 @@
"object.entries": "^1.1.2"
}
},
"eslint-config-prettier": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz",
"integrity": "sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA==",
"dev": true
},
"eslint-import-resolver-node": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
@@ -6178,6 +6184,12 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
"prettier": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
"integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
"dev": true
},
"process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -7686,6 +7698,12 @@
}
}
},
"stylelint-config-prettier": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.2.tgz",
"integrity": "sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A==",
"dev": true
},
"stylelint-config-recommended": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",

View File

@@ -8,6 +8,7 @@
"start": "next start",
"eslint": "eslint .",
"stylelint": "stylelint **/*.scss",
"prettier": "prettier --write .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
@@ -29,12 +30,15 @@
"@typescript-eslint/parser": "^4.11.1",
"eslint": "^7.17.0",
"eslint-config-airbnb": "^18.2.1",
"eslint-config-prettier": "^7.1.0",
"eslint-import-resolver-typescript": "^2.3.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-react-hooks": "^4.2.0",
"prettier": "2.2.1",
"stylelint": "^13.8.0",
"stylelint-config-prettier": "^8.0.2",
"stylelint-config-standard": "^20.0.0",
"typescript": "^4.1.3"
}

View File

@@ -3,6 +3,6 @@ import 'styles/globals.scss';
import type { AppProps } from 'next/app';
import type { ReactElement } from 'react';
export default function MyApp({ Component, pageProps }: AppProps): ReactElement {
export default function App({ Component, pageProps }: AppProps): ReactElement {
return <Component {...pageProps} />;
}

View File

@@ -2,11 +2,7 @@
"compilerOptions": {
"baseUrl": ".",
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
@@ -19,12 +15,6 @@
"isolatedModules": true,
"jsx": "preserve"
},
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx"
],
"exclude": [
"node_modules"
]
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}