diff --git a/.eslintrc.json b/.eslintrc.json index a72b93b9..01ee5e2a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -5,6 +5,7 @@ }, "extends": [ "eslint:recommended", + "prettier", "plugin:react/recommended", "plugin:@typescript-eslint/recommended" ], diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..0e4cfbd3 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +node_modules +public +dist +lang +coverage +*.json diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..932ed3ef --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true, + "printWidth": 100 +} diff --git a/package.json b/package.json index e3c283ae..180563c6 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,15 @@ "bootstrap": "lerna bootstrap", "build": "lerna run build", "clean": "lerna clean && rm -rf node_modules", - "lint": "lerna run lint", + "lint": "lerna run lint --stream", "test": "lerna run test --stream" }, "private": true, "devDependencies": { - "lerna": "^3.16.4" + "husky": "4", + "lerna": "^3.16.4", + "lint-staged": "^10.5.4", + "prettier": "^2.2.1" }, "workspaces": [ "packages/*" @@ -37,5 +40,16 @@ ] }, "homepage": "http://localhost:8080/react", - "license": "https://wisemapping.atlassian.net/wiki/spaces/WS/pages/524357/WiseMapping+Public+License+Version+1.0+WPL" + "license": "https://wisemapping.atlassian.net/wiki/spaces/WS/pages/524357/WiseMapping+Public+License+Version+1.0+WPL", + "husky": { + "hooks": { + "pre-commit": "lint-staged", + "pre-push": "yarn lint && yarn test" + } + }, + "lint-staged": { + "**/*.{ts,tsx}": [ + "prettier --write" + ] + } } diff --git a/packages/editor/package.json b/packages/editor/package.json index bed76ce5..463b4523 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -15,8 +15,10 @@ "@typescript-eslint/eslint-plugin": "^4.8.1", "@typescript-eslint/parser": "^4.8.1", "eslint": "^7.14.0", + "eslint-config-prettier": "^8.0.0", "eslint-plugin-react": "^7.21.5", "eslint-plugin-react-hooks": "^4.2.0", + "prettier": "^2.2.1", "ts-loader": "^8.0.11", "ts-node": "^9.0.0", "typescript": "^4.1.2" diff --git a/packages/editor/src/components/canvas/index.tsx b/packages/editor/src/components/canvas/index.tsx index 6ad5cb89..dbc87f1f 100644 --- a/packages/editor/src/components/canvas/index.tsx +++ b/packages/editor/src/components/canvas/index.tsx @@ -1,8 +1,6 @@ -import React from 'react'; -import { StyledCanvas } from './styled'; +import React from 'react' +import { StyledCanvas } from './styled' -const Canvas = (): React.ReactElement => ( - canvas -); +const Canvas = (): React.ReactElement => canvas -export default Canvas; +export default Canvas diff --git a/packages/editor/src/components/canvas/styled.ts b/packages/editor/src/components/canvas/styled.ts index 7cc7eb85..8f35d710 100644 --- a/packages/editor/src/components/canvas/styled.ts +++ b/packages/editor/src/components/canvas/styled.ts @@ -1,8 +1,8 @@ -import styled from 'styled-components'; +import styled from 'styled-components' export const StyledCanvas = styled.div` height: 100% width: 100%; flex: 1; -`; +` diff --git a/packages/editor/src/components/footer/index.tsx b/packages/editor/src/components/footer/index.tsx index da0aad74..b42ffdca 100644 --- a/packages/editor/src/components/footer/index.tsx +++ b/packages/editor/src/components/footer/index.tsx @@ -1,8 +1,6 @@ -import React from 'react'; -import { StyledFooter } from './styled'; +import React from 'react' +import { StyledFooter } from './styled' -const Footer = (): React.ReactElement => ( - footer -); +const Footer = (): React.ReactElement => footer -export default Footer; +export default Footer diff --git a/packages/editor/src/components/footer/styled.ts b/packages/editor/src/components/footer/styled.ts index fd557520..e9d95535 100644 --- a/packages/editor/src/components/footer/styled.ts +++ b/packages/editor/src/components/footer/styled.ts @@ -1,8 +1,8 @@ -import styled from 'styled-components'; -import { times } from '../../size'; +import styled from 'styled-components' +import { times } from '../../size' export const StyledFooter = styled.div` - height: ${times(10)}; - width: 100%; - border: 1px solid black; -`; + height: ${times(10)}; + width: 100%; + border: 1px solid black; +` diff --git a/packages/editor/src/components/frame/index.tsx b/packages/editor/src/components/frame/index.tsx index 2cf8527f..31f88de4 100644 --- a/packages/editor/src/components/frame/index.tsx +++ b/packages/editor/src/components/frame/index.tsx @@ -1,15 +1,15 @@ -import React from 'react'; -import Footer from '../footer'; -import TopBar from '../top-bar'; -import Canvas from '../canvas'; -import { StyledFrame } from './styled'; +import React from 'react' +import Footer from '../footer' +import TopBar from '../top-bar' +import Canvas from '../canvas' +import { StyledFrame } from './styled' const Frame = (): React.ReactElement => ( - - - -