Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
4 changes: 2 additions & 2 deletions bitbucket-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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/**

Expand Down
2 changes: 1 addition & 1 deletion docs/10-swc-transpiler.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
30 changes: 15 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": [],
Expand Down
7 changes: 5 additions & 2 deletions pipelines-setup/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
FROM atlassian/default-image:latest
MAINTAINER Rafał Kucharski <rafal.kucharski@tsh.io>

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
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

Loading