From 642527941fac64260e207ccd7f5fffbcff3b4896 Mon Sep 17 00:00:00 2001 From: core Date: Mon, 27 Nov 2023 11:25:17 -0500 Subject: [PATCH] add prettier formatting checks --- .drone.yml | 14 +++++++++++--- .git-hooks/pre-commit | 23 +++++++++++++++++++++-- starkingdoms-client/.prettierignore | 3 +++ starkingdoms-client/.prettierrc | 3 +++ starkingdoms-client/package.json | 1 + starkingdoms-client/yarn.lock | 5 +++++ 6 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 starkingdoms-client/.prettierignore create mode 100644 starkingdoms-client/.prettierrc diff --git a/.drone.yml b/.drone.yml index ee5ab7bbf9fb4438d6df7e9080d84fed95cfbc9b..73d8dd1a281e6cd00f8d127c6dbd2ff71c9faff8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,7 +1,7 @@ --- kind: pipeline type: docker -name: default +name: starkingdoms_ci trigger: event: exclude: @@ -9,7 +9,15 @@ trigger: - rollback steps: - - name: client + - name: client_formatting + image: node + commands: + - cd starkingdoms-client + - yarn + - yarn prettier . --check + - name: client_build + depends_on: + - client_formatting image: node commands: - cd starkingdoms-client @@ -20,7 +28,7 @@ steps: - name: upload_client image: plugins/s3 depends_on: - - client + - client_build settings: bucket: from_secret: s3_bucket diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit index cb30bce819e7cbb729b0ad070ff0e5527140c6df..5c8b60d846fc6ab9c1d72c31dd9b07d1e647b1aa 100755 --- a/.git-hooks/pre-commit +++ b/.git-hooks/pre-commit @@ -11,16 +11,35 @@ for file in $(git diff --name-only --staged); do if [ $FIRST_FILE -eq 0 ]; then echo -n ", " fi - echo -n "$file" + echo -n "$file (rustfmt)" HAS_ISSUES=1 FIRST_FILE=0 fi done +cd starkingdoms-client + +for file in $(git diff --name-only --staged); do + if [ $file == starkingdoms-client* ]; then + FMT_RESULT="$(yarn prettier $file --check 2>&1 > /dev/null || true)" + if [ "$FMT_RESULT" != "" ]; then + if [ $FIRST_FILE -eq 0 ]; then + echo -n ", " + fi + echo -n "$file (prettier)" + HAS_ISSUES=1 + FIRST_FILE=0 + fi + fi +done + if [ $HAS_ISSUES -eq 0 ]; then echo "Everything looks good! Proceeding with commit." exit 0 fi -echo ". Your code has formatting issues in files listed above. Format each file with `rustfmt path_to_file.rs`" +echo "" +echo ". Your code has formatting issues in files listed above. Format each file before proceeding with commit." +echo ". For Rust files, execute 'rustfmt path/to/file.rs' in 'server/'." +echo ". For client files, execute 'yarn prettier path/to/file --write' in 'starkingdoms-client/'." exit 1 diff --git a/starkingdoms-client/.prettierignore b/starkingdoms-client/.prettierignore new file mode 100644 index 0000000000000000000000000000000000000000..1c3e3e34e99887e8628f2e2c3cf28404501db81d --- /dev/null +++ b/starkingdoms-client/.prettierignore @@ -0,0 +1,3 @@ +node_modules +dist +src/assets diff --git a/starkingdoms-client/.prettierrc b/starkingdoms-client/.prettierrc new file mode 100644 index 0000000000000000000000000000000000000000..0db3279e44b0dc4fb7e694b6cb10210a96ba6ba5 --- /dev/null +++ b/starkingdoms-client/.prettierrc @@ -0,0 +1,3 @@ +{ + +} diff --git a/starkingdoms-client/package.json b/starkingdoms-client/package.json index 976d0d8e6f8789cdfa87f3454475d0beda2a9156..452e786c6e290393eb0e0683bc03d3d2b3dd030c 100644 --- a/starkingdoms-client/package.json +++ b/starkingdoms-client/package.json @@ -11,6 +11,7 @@ "devDependencies": { "@types/debug": "^4.1.12", "@types/node": "^20.10.0", + "prettier": "^3.1.0", "typescript": "^5.2.2", "vite": "^5.0.0" }, diff --git a/starkingdoms-client/yarn.lock b/starkingdoms-client/yarn.lock index 197939b490cb2e07a86349afd4a22e0a1f15db43..2e1f814b486cbf4657dcec632e9279dd5a33f347 100644 --- a/starkingdoms-client/yarn.lock +++ b/starkingdoms-client/yarn.lock @@ -255,6 +255,11 @@ postcss@^8.4.31: picocolors "^1.0.0" source-map-js "^1.0.2" +prettier@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" + integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== + rollup@^4.2.0: version "4.5.2" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.5.2.tgz#2cf0ef0a57cb4038c50a66356684fd30071d0595"