An open API service indexing awesome lists of open source software.

https://github.com/wayofdev/docker-node

NodeJS docker images with our local development dependencies like Vercel's Turbo and pnpm.
https://github.com/wayofdev/docker-node

Last synced: 11 months ago
JSON representation

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

Awesome Lists containing this project

README

          








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](https://github.com/wayofdev/docker-php-dev) and other WOD images to create a local development environment for our projects.

## Pre-installed Packages

- [pnpm](https://pnpm.io/) - Fast, disk space efficient package manager
- [turbo](https://github.com/vercel/turbo) - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust. Includes Turbopack and Turborepo.
- Alpine packages:
- git
- curl
- libc6-compat - [turbo dependency](https://github.com/vercel/turbo/issues/2198), starting from `^1.5.6`

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

![Screenshot](assets/screenshot.png)

## โš™๏ธ 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](https://stedolan.github.io/jq/download/) to install `jq`.
- **goss** and **dgoss** - For testing purposes. Please follow the installation instructions provided in their [official README](https://github.com/aelsabbahy/goss/blob/master/extras/dgoss/README.md).


### โ†’ Building locally

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

```bash
$ make generate
```


To build the default image, run the following commands:

```bash
$ 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:

```bash
$ make
```

To build all images, run the following commands:

```bash
$ 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:

```bash
$ make test
```

To test all images, run the following commands:

```bash
$ 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:

```bash
$ make lint-yaml
```

To validate the created Dockerfiles, run the following command:

```bash
$ make lint-docker
```


## ๐Ÿค License

[![Licence](https://img.shields.io/github/license/wayofdev/docker-node?style=for-the-badge&color=blue)](./LICENSE)


## ๐Ÿ™†๐Ÿผโ€โ™‚๏ธ Author Information

This repository was created in **2022** by [lotyp / wayofdev](https://github.com/wayofdev).


## ๐Ÿซก Contributors