Sets pnpm store to ~/.pnpm-store and mounts it to a volume to share between multiple devcontainers
"features": {
"ghcr.io/joshuanianji/devcontainer-features/mount-pnpm-store:1": {}
}
Options Id | Description | Type | Default Value |
---|
Architectures: amd
and arm
OS: ubuntu
, debian
Shells: bash
, zsh
, fish
This is opinionated, but I dislike the pnpm store being in the workspace along with your code as it adds clutter. This feature sets the pnpm store-dir
config to ~/.pnpm-store
, so it's out of sight. The home directory will be based on the remoteUser
of the base image you have.
This feature does not install pnpm by itself and expects pnpm
to be installed already, either by a base image or by a feature. If pnpm is not installed, it just gives a warning (you'll have a random ~/.pnpm-store folder in your home directory and the pnpm store-dir
config will not be set) but does not fail.
If you are installing pnpm with a feature, you may need to ensure it is run before mount-pnpm-store
. I have set a soft dependency on ghcr.io/devcontainers/features/node
already, but if it is any other feature that installs pnpm you might need to put some extra work.
To make this work, use the overrideFeatureInstallOrder
property, since the default feature installation order is based on ID (alphanumerically i think). Here is an example using a fake unknown-install-pnpm
:
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
"features": {
"ghcr.io/random-user/devcontainer-features/unknown-install-pnpm:1": {},
"ghcr.io/joshuanianji/devcontainer-features/mount-pnpm-store:1": {}
},
"overrideFeatureInstallOrder": [
"ghcr.io/random-user/devcontainer-features/unknown-install-pnpm",
"ghcr.io/joshuanianji/devcontainer-features/mount-pnpm-store"
]
The volume mount is called global-devcontainer-pnpm-store
, so ensure that no other docker volumes match this name.
Version | Notes |
---|---|
1.0.2 | Move onCreate lifecycle script to oncreate.sh |
1.0.1 | Fix Docs |
1.0.0 | Support zsh + refactor |
0.1.1 | Fix mount name |
0.1.0 | Documentation |
0.0.0 | Initial Version |
Note: This file was auto-generated from the devcontainer-feature.json. Add additional notes to a NOTES.md
.