diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 1aaae91..bfbefa3 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -72,7 +72,7 @@ This repository is a boilerplate for building Node.js applications using TypeScr - Use dependency injection for managing dependencies, avoiding direct instantiation of classes. - All environment variables has to be extracted and validated using `dotenv` and `joi` packages. Store them in config files like `.env` or `.env.test` and process them in your application startup in `src/config/app.ts`. - Never use `npm run plop` to generate code, use the provided boilerplate structure and manually create files as needed. -- Never run any commands with `docker-compose` command, use npm scripts instead (e.g., `npm run lint`, `npm run lint-fix`, `npm run forma`). +- Never run any commands with `docker compose` command, use npm scripts instead (e.g., `npm run lint`, `npm run lint-fix`, `npm run forma`). #### Naming Guidelines - Always think in terms of features, not technical layers. diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb3163d..2d48245 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,11 +27,11 @@ jobs: - run: npm install - run: npm run docker-build - run: npm run lint - - run: docker-compose run -d --name js-container js + - run: docker compose run -d --name js-container js - run: docker exec js-container npm run services-units-coverage - run: docker exec js-container npm run integration-tests-coverage - run: docker cp js-container:/coverage . - - run: docker-compose stop js + - run: docker compose stop js - name: Upload artifacts uses: actions/upload-artifact@v4 with: diff --git a/README.md b/README.md index 16e945f..c225743 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ After checkout of a repository, please perform the following steps in exact sequ ### Dev setup -This app is fully dockerized, so in order to use it you have to have docker and docker-compose installed. What's more you need to have npm in order to run npm scripts. +This app is fully dockerized, so in order to use it you have to have docker and docker compose installed. What's more you need to have npm in order to run npm scripts. 1. In order to run the whole app type: diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index a0af0df..003eea5 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -22,11 +22,11 @@ definitions: script: - npm run docker-build - npm run lint - - docker-compose run -d --name js-container js + - docker compose run -d --name js-container js - docker exec js-container npm run services-units-coverage - docker exec js-container npm run integration-tests-coverage - docker cp js-container:/coverage . - - docker-compose stop js + - docker compose stop js artifacts: - coverage/** diff --git a/docs/10-swc-transpiler.md b/docs/10-swc-transpiler.md index 62d306d..e73558d 100644 --- a/docs/10-swc-transpiler.md +++ b/docs/10-swc-transpiler.md @@ -11,7 +11,7 @@ in both Dockerfiles: - `docker/dev/Dockerfile` - `docker/prod/Dockerfile` -Then go to `docker-compose` and uncomment command to run SWC on builder service: +Then go to `docker compose` and uncomment command to run SWC on builder service: ``` #FOR SWC TRANSPILATION diff --git a/package.json b/package.json index db72f88..5871888 100644 --- a/package.json +++ b/package.json @@ -4,29 +4,29 @@ "description": "", "main": "index.js", "scripts": { - "start": "docker-compose up boilerplate_api", + "start": "docker compose up boilerplate_api", "build": "tsc --skipLibCheck --outDir build/src", "build-swc": "swc src --out-dir build/src --sync && tsc --skipLibCheck --noEmit", - "watch": "docker-compose up builder", - "docker-build": "BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD | sed 's/[/]/-/g'); docker-compose build builder && docker tag app:local app:${BRANCH_NAME}", + "watch": "docker compose up builder", + "docker-build": "BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD | sed 's/[/]/-/g'); docker compose build builder && docker tag app:local app:${BRANCH_NAME}", "docker-build-prod": "docker build -t boilerplate-api:latest -f ./docker/prod/Dockerfile .", - "down": "docker-compose down -v", - "format": "docker-compose run --rm js ./node_modules/.bin/prettier --write \"**/**/*.ts\" \"!**/**/*.d.ts\"", - "lint": "docker-compose run --no-TTY --rm js ./node_modules/.bin/eslint --ext .ts ./", - "lint-fix": "docker-compose run --rm js ./node_modules/.bin/eslint --ext .ts --fix ./", + "down": "docker compose down -v", + "format": "docker compose run --rm js ./node_modules/.bin/prettier --write \"**/**/*.ts\" \"!**/**/*.d.ts\"", + "lint": "docker compose run --no-TTY --rm js ./node_modules/.bin/eslint --ext .ts ./", + "lint-fix": "docker compose run --rm js ./node_modules/.bin/eslint --ext .ts --fix ./", "integration-tests": "cd build && node ../node_modules/.bin/mocha \"src/tests/**/*.spec.js\" --file=\"src/tests/bootstrap.js\" --exit", "services-units": "cd build && node ../node_modules/.bin/mocha \"src/{,!(tests)/**}/*.spec.js\"", "services-units-coverage": "nyc --reporter=lcov --report-dir=../coverage/units npm run services-units", "integration-tests-coverage": "nyc --reporter=lcov --report-dir=../coverage/integration npm run integration-tests", - "integration": "docker-compose run --rm js_test npm run integration-tests", - "units": "docker-compose run --no-TTY --rm js npm run services-units", - "shell": "docker-compose run --rm js sh", - "generate-migration": "docker-compose run --rm js ./node_modules/.bin/typeorm migration:generate ./src/migrations/migration -d ./build/src/config/db", - "run-migrations": "docker-compose run --rm js ./node_modules/.bin/typeorm migration:run -d ./build/src/config/db", - "revert-migration": "docker-compose run --rm js ./node_modules/.bin/typeorm migration:revert -d ./build/src/config/db", - "create-migration": "docker-compose run --rm js ./node_modules/.bin/typeorm migration:create ./src/migrations/migration", + "integration": "docker compose run --rm js_test npm run integration-tests", + "units": "docker compose run --no-TTY --rm js npm run services-units", + "shell": "docker compose run --rm js sh", + "generate-migration": "docker compose run --rm js ./node_modules/.bin/typeorm migration:generate ./src/migrations/migration -d ./build/src/config/db", + "run-migrations": "docker compose run --rm js ./node_modules/.bin/typeorm migration:run -d ./build/src/config/db", + "revert-migration": "docker compose run --rm js ./node_modules/.bin/typeorm migration:revert -d ./build/src/config/db", + "create-migration": "docker compose run --rm js ./node_modules/.bin/typeorm migration:create ./src/migrations/migration", "plop": "plop", - "generate-schema": "docker-compose run --rm js ./node_modules/.bin/graphql-codegen", + "generate-schema": "docker compose run --rm js ./node_modules/.bin/graphql-codegen", "prepare": "husky install" }, "keywords": [], diff --git a/pipelines-setup/Dockerfile b/pipelines-setup/Dockerfile index e8cc8ff..cb41516 100644 --- a/pipelines-setup/Dockerfile +++ b/pipelines-setup/Dockerfile @@ -1,5 +1,8 @@ FROM atlassian/default-image:latest MAINTAINER RafaƂ Kucharski -RUN NODE_VERSION=13.13.4 curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && \ - chmod +x /usr/local/bin/docker-compose \ No newline at end of file +RUN curl -L "https://github.com/docker/compose/releases/download/v2.39.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \ + chmod +x /usr/local/bin/docker-compose && \ + ln -s /usr/local/bin/docker-compose /usr/local/bin/docker && \ + docker-compose --version +