/docker-node

NodeJS docker images with our local development dependencies like Vercel's Turbo and pnpm.

Primary LanguageMakefileMIT LicenseMIT




Build Status Latest Version Docker Pulls Software License Commits since latest release

Docker Image: NodeJs Devel

This image is used in conjunction with wayofdev/docker-php-dev and other WOD images to create a local development environment for our projects.

Pre-installed Packages

  • pnpm - Fast, disk space efficient package manager
  • turbo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust. Includes Turbopack and Turborepo.
  • Alpine packages:

If you find this repository useful, please consider giving it a star. Thank you!

Screenshot

⚙️ Development

To install dependencies and start development, please check the contents of our Makefile.

→ Requirements

To install dependencies and start development, please check the contents of our Makefile. You will need to have the following tools installed on your machine:

  • jq - A lightweight and flexible command-line JSON processor. Please refer to the official installation instructions to install jq.
  • goss and dgoss - For testing purposes. Please follow the installation instructions provided in their official README.

→ Building locally

To generate distributable Dockerfiles from the YAML source code, run the following command:

$ make generate

To build the default image, run the following commands:

$ git clone git@github.com:wayofdev/docker-node.git && cd docker-node
$ make generate #(optional, to re-create /dist from /src)
$ make build

To build the image, test it, and then clean temporary files, run the following command:

$ make

To build all images, run the following commands:

$ make build IMAGE_TEMPLATE="lts-alpine"
$ make build IMAGE_TEMPLATE="19-alpine"
$ make build IMAGE_TEMPLATE="18-alpine"

🧪 Testing

To test the default image, run the following command:

$ make test

To test all images, run the following commands:

$ make test IMAGE_TEMPLATE="lts-alpine"
$ make test IMAGE_TEMPLATE="19-alpine"
$ make test IMAGE_TEMPLATE="18-alpine"

→ Code quality tools

To validate all YAML files in the project, run the following command:

$ make lint-yaml

To validate the created Dockerfiles, run the following command:

$ make lint-docker

🤝 License

Licence


🙆🏼‍♂️ Author Information

This repository was created in 2022 by lotyp / wayofdev.


🫡 Contributors