diff --git a/Makefile b/Makefile index 3d2516cf..f6b407c2 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: swagger license license-check build-embedded build-test cross-build code-check +.PHONY: swagger license license-check build-embedded build-test cross-build code-check prettier VERSION ?= dev BUILD_DATE ?= $(shell date -u +'%Y-%m-%dT%H:%M:%SZ') @@ -13,6 +13,12 @@ license: license-check: scripts/update_go_license.sh --check +prettier: + @echo "==> Formatting backend Go source..." + gofmt -w $$(find . -type f -name '*.go' -not -path './.git/*' -not -path './frontend/*') + @echo "==> Formatting frontend source..." + cd frontend && pnpm format + build-embedded: @echo "==> Building embedded frontend version=$(VERSION) build_date=$(BUILD_DATE)..." cd frontend && \ diff --git a/frontend/.prettierignore b/frontend/.prettierignore new file mode 100644 index 00000000..2a686805 --- /dev/null +++ b/frontend/.prettierignore @@ -0,0 +1,7 @@ +.next/ +node_modules/ +out/ +coverage/ +public/ +next-env.d.ts +pnpm-lock.yaml diff --git a/frontend/.prettierrc.json b/frontend/.prettierrc.json new file mode 100644 index 00000000..27f12d83 --- /dev/null +++ b/frontend/.prettierrc.json @@ -0,0 +1,14 @@ +{ + "semi": true, + "singleQuote": true, + "jsxSingleQuote": true, + "trailingComma": "all", + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "bracketSpacing": true, + "bracketSameLine": false, + "arrowParens": "always", + "endOfLine": "lf", + "proseWrap": "preserve" +} diff --git a/frontend/package.json b/frontend/package.json index 3e598aff..86973f04 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,7 +9,8 @@ "build": "next build", "build:embed": "NEXT_STANDALONE_EXPORT=true next build", "start": "next start -p 3010", - "lint": "eslint" + "lint": "eslint", + "format": "prettier --write ." }, "dependencies": { "@codemirror/lang-sql": "^6.10.0", @@ -58,6 +59,7 @@ "next": "16.2.7", "next-themes": "^0.4.6", "pinyin-match": "^1.2.10", + "prettier": "^3.9.5", "radix-ui": "^1.4.3", "react": "19.2.3", "react-day-picker": "^9.11.1", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 124505ce..9c2bfe87 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -146,6 +146,9 @@ importers: pinyin-match: specifier: ^1.2.10 version: 1.2.10 + prettier: + specifier: ^3.9.5 + version: 3.9.5 radix-ui: specifier: ^1.4.3 version: 1.4.3(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -3261,6 +3264,11 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@3.9.5: + resolution: {integrity: sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==} + engines: {node: '>=14'} + hasBin: true + prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} @@ -7175,6 +7183,8 @@ snapshots: prelude-ls@1.2.1: {} + prettier@3.9.5: {} + prismjs@1.30.0: {} prop-types@15.8.1: