From 26ec5f665354372b06f97b09a2ffeaac4f65abc1 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Sat, 3 Feb 2024 12:46:58 +0545 Subject: [PATCH 1/4] Added husky pre-commit hook and also added health check on docker_compose service --- .husky/pre-commit | 1 + docker-compose.yml | 16 ++++++++++++++++ package.json | 6 ++++-- pnpm-lock.yaml | 9 +++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 .husky/pre-commit diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 00000000..93dd9116 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +pnpm run format \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1bf90dea..948dbf55 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,13 @@ services: - .:/usr/learnhouse environment: - LEARNHOUSE_COOKIE_DOMAIN=.localhost + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + mongo: + condition: service_healthy db: image: postgres:16-alpine restart: always @@ -17,11 +24,18 @@ services: - POSTGRES_USER=learnhouse - POSTGRES_PASSWORD=learnhouse - POSTGRES_DB=learnhouse + healthcheck: + test: ["CMD-SHELL", "pg_isready"] + interval: 10s + timeout: 5s + retries: 5 redis: image: redis:7.2.3 restart: always ports: - "6379:6379" + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] mongo: image: mongo:5.0 restart: always @@ -30,3 +44,5 @@ services: environment: - MONGO_INITDB_ROOT_USERNAME=learnhouse - MONGO_INITDB_ROOT_PASSWORD=learnhouse + healthcheck: + test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet \ No newline at end of file diff --git a/package.json b/package.json index 347f7602..696528d4 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,14 @@ "build": "turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", - "format": "prettier --write \"**/*.{ts,tsx,md}\"" + "format": "prettier --write \"**/*.{ts,tsx,md}\"", + "prepare": "husky" }, "devDependencies": { "eslint": "^8.51.0", + "husky": "^9.0.10", "prettier": "^3.0.3", "turbo": "^1.10.15" }, "packageManager": "pnpm@8.6.10" -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10ac1539..ecefa6fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: eslint: specifier: ^8.51.0 version: 8.51.0 + husky: + specifier: ^9.0.10 + version: 9.0.10 prettier: specifier: ^3.0.3 version: 3.0.3 @@ -4395,6 +4398,12 @@ packages: - supports-color dev: false + /husky@9.0.10: + resolution: {integrity: sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==} + engines: {node: '>=18'} + hasBin: true + dev: true + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false From 8b7a4d80c252d3d91f8de5e0cbcd0ccc5f3a8667 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Fri, 9 Feb 2024 17:43:04 +0545 Subject: [PATCH 2/4] chore: Add .prettierrc.yaml in apps/web directory --- apps/web/.prettierrc.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 apps/web/.prettierrc.yaml diff --git a/apps/web/.prettierrc.yaml b/apps/web/.prettierrc.yaml new file mode 100644 index 00000000..734c71c1 --- /dev/null +++ b/apps/web/.prettierrc.yaml @@ -0,0 +1,3 @@ +trailingComma: "es5" +semi: false +singleQuote: true \ No newline at end of file From 5359a4ff96418029bae1b770882e533fb3dc89c0 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Fri, 9 Feb 2024 17:44:42 +0545 Subject: [PATCH 3/4] chore: Reduce healthcheck interval for both redis and api docker-compose.yml --- docker-compose.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 948dbf55..7ab4a9f7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,8 +26,8 @@ services: - POSTGRES_DB=learnhouse healthcheck: test: ["CMD-SHELL", "pg_isready"] - interval: 10s - timeout: 5s + interval: 5s + timeout: 4s retries: 5 redis: image: redis:7.2.3 @@ -35,7 +35,10 @@ services: ports: - "6379:6379" healthcheck: - test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + test: [ "CMD", "redis-cli", "ping" ] + interval: 5s + timeout: 4s + retries: 5 mongo: image: mongo:5.0 restart: always @@ -43,6 +46,4 @@ services: - "27017:27017" environment: - MONGO_INITDB_ROOT_USERNAME=learnhouse - - MONGO_INITDB_ROOT_PASSWORD=learnhouse - healthcheck: - test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet \ No newline at end of file + - MONGO_INITDB_ROOT_PASSWORD=learnhous \ No newline at end of file From 3d8b68ecaab76bba948dcabc1a7ecb8e213e2f78 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Fri, 9 Feb 2024 18:09:19 +0545 Subject: [PATCH 4/4] chore: Remove mongo from api depends_on --- .husky/pre-commit | 2 +- docker-compose.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 93dd9116..77492786 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -pnpm run format \ No newline at end of file +pnpm run format && cd ./apps/web && pnpm run lint:fix \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 7ab4a9f7..190320c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,8 +13,7 @@ services: condition: service_healthy redis: condition: service_healthy - mongo: - condition: service_healthy + db: image: postgres:16-alpine restart: always