diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..d1038de3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,6 @@ +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore index b0c2d330..3b8e988b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ dist/ build/ .idea/ -.vscode/ *.swp server/docs/ server/site/ diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..e1c734d4 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +server/docs/ +server/site/ +server/mailer_emoji_map.json +scripts/emoji.json +dist/ +web/ \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..d85dfda2 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "esbenp.prettier-vscode", + "dbaeumer.vscode-eslint", + "golang.go" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..0c4e6e1d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + } +} diff --git a/Makefile b/Makefile index 8cb75238..1b3e42d7 100644 --- a/Makefile +++ b/Makefile @@ -55,6 +55,8 @@ help: @echo " make coverage-upload - Upload coverage results to codecov.io" @echo @echo "Lint/format:" + @echo " make format - Run prettier on config files, docs, etc excluding the web app" + @echo " make format-check - Run prettier on config files, docs, etc excluding the web app, but don't change anything" @echo " make fmt - Run 'go fmt'" @echo " make fmt-check - Run 'go fmt', but don't change anything" @echo " make vet - Run 'go vet'" @@ -248,7 +250,7 @@ cli-build-results: # Test/check targets -check: test web-format-check fmt-check vet web-lint lint staticcheck +check: test format-check web-format-check fmt-check vet web-lint lint staticcheck test: .PHONY go test $(shell go list ./... | grep -vE 'ntfy/(test|examples|tools)') @@ -275,6 +277,12 @@ coverage-upload: # Lint/formatting targets +format: web-deps + ./web/node_modules/.bin/prettier . --write + +format-check: web-deps + ./web/node_modules/.bin/prettier . --check + fmt: gofmt -s -w .