diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..9dc89e4 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,32 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node +{ + "name": "Node.js & TypeScript", + // Use Docker Compose to define the dev container and Redis service + "dockerComposeFile": ["docker-compose.yml"], + "service": "dev", + "workspaceFolder": "/workspace", + "features": { + "ghcr.io/guiyomh/features/just:0": { + "version": "latest" + }, + "ghcr.io/devcontainers-extra/features/act-asdf:2": { + "version": "latest" + }, + "ghcr.io/devcontainers-extra/features/redis-homebrew": { + "version": "latest" + } + }, + "customizations": { + "vscode": { + "extensions": ["esbenp.prettier-vscode"] + } + }, + "forwardPorts": [6379] + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..536cdad --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,25 @@ +# version: '3.8' +services: + dev: + image: mcr.microsoft.com/devcontainers/typescript-node:4-24-trixie + command: ["sleep", "infinity"] + # mount the repository root into the container workspace + volumes: + - ..:/workspace:cached + ports: + - '3000:3000' + depends_on: + - redis + environment: + - REDIS_HOST=redis + - REDIS_PORT=6379 + + redis: + image: redis:7-alpine + ports: + - '6379:6379' + volumes: + - redis-data:/data + +volumes: + redis-data: diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f33a02c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/.gitignore b/.gitignore index 2309cc8..ec23742 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,5 @@ dist .yarn/install-state.gz .pnp.* +.pnpm-store/ +