Docker image which compiles CSS (from SASS) and JS files.
Docker Hub has variants for Node 16 and 18 (arm64 and amd64).
- You mount your local path (e.g. Drupal theme) to /data in the container.
- Your local path has folder
src/scss
which contains SASS files. - Your local path has folder
src/js
which contains JavaScript files.
- Gulp 4 (https://www.npmjs.com/package/gulp) - Frozen in time as there is no certainty for v5.
Examples on Drupal project:
docker run -it --rm -v $(pwd)/path/to/theme:/data druidfi/donn:node-18 gulp production
docker run -it --rm -v $(pwd)/path/to/theme:/data druidfi/donn:node-18 gulp development
docker run -it --rm -v $(pwd)/path/to/theme:/data druidfi/donn:node-18 gulp watch
You can add these to e.g. tools/make/project/theme.mk
and have NODE_VERSION=18
in your .env
file:
THEME_PATH := $(shell pwd)/$(WEBROOT)/themes/custom/druid_theme
PHONY += drupal-build-theme
drupal-build-theme:
$(call step,Build theme with Gulp...\n)
@docker run -it --rm -v $(THEME_PATH):/data druidfi/donn:node-$(NODE_VERSION) gulp production
PHONY += drupal-watch-theme
drupal-watch-theme:
$(call step,Watch theme with Gulp...\n)
@docker run -it --rm -v $(THEME_PATH):/data druidfi/donn:node-$(NODE_VERSION) gulp watch
Environment variables (and their default values) which can be used to change configuration:
BROWSERSLIST="last 2 version, not dead"
DIST_FOLDER=dist
SRC_FOLDER=src
Locally with M1:
docker buildx bake -f docker-bake.hcl --pull --progress plain --no-cache --load --set "*.platform=linux/arm64"
Build and push images to Docker Hub:
docker buildx bake -f docker-bake.hcl --pull --no-cache --push
In Irish mythology, Donn ("the dark one", from Proto-Celtic: *Dhuosnos) is an ancestor of the Gaels and is believed to have been a god of the dead. Donn is said to dwell in Tech Duinn (the "house of Donn" or "house of the dark one"), where the souls of the dead gather.