policies / javascript.yml
JavaScript Policy
Node.js, Bun and Deno development with the usual package managers, linters, test runners and bundlers. Version managers stay read-only and tokens in ~/.npmrc become readable. Intentionally does NOT include shells, python, make, curl, wget, git, or tools that delete or move files, so native addons do not build and npm run needs script-shell=/bin/sh in the project's .npmrc.
Include
stonewall policy include https://stonewall.sh/policies/javascript.ymlSource
# $schema: https://stonewall.sh/schema.json
####################################################################################
# This is an official stonewall.sh policy and should not be changed locally. #
# Please always review remote policies before applying them. Stonewall and its #
# policies come without warranty of any kind. See LICENSE for details. #
####################################################################################
policy:
name: JavaScript
url: https://stonewall.sh/policies/javascript.yml
tier: 2
tags:
- language
- node
description: >
Node.js, Bun and Deno development with the usual package managers, linters,
test runners and bundlers. Version managers stay read-only and tokens in
~/.npmrc become readable. Intentionally does NOT include shells, python, make,
curl, wget, git, or tools that delete or move files, so native addons do not
build and npm run needs script-shell=/bin/sh in the project's .npmrc.
bin:
allowed:
# JavaScript runtimes and package managers
- node
- npm
- npx
- corepack
- yarn
- pnpm
- pnpx
- bun
- bunx
- deno
- volta
# common tools when installed globally; project-local ones run through npx or scripts
- eslint
- prettier
- biome
- vitest
- jest
- mocha
- vite
- webpack
- esbuild
- rollup
- nodemon
# native addons: node-gyp additionally needs python3 and make, which are not granted
- gcc
- g++
- cc
- c++
- pkg-config
- as
- ld
- ar
- ranlib
expose:
write:
- ~/.npm
- ~/.yarn
- ~/.cache/yarn
- ~/.local/share/pnpm
- ~/.cache/pnpm
- ~/.bun
- ~/.deno
- ~/.cache/deno
- ~/.cache/node
- ~/.cache/node-gyp
- ~/.config/configstore
- ~/Library/pnpm
- ~/Library/Caches/Yarn
- ~/Library/Caches/deno
- ~/Library/Caches/node-gyp
read:
- ~/.npmrc
- ~/.yarnrc
- ~/.yarnrc.yml
- ~/.nvm
- ~/.volta
- ~/.fnm
- ~/.local/share/fnm
- ~/.n
- ~/.nodenv
- ~/.asdf
- ~/.local/share/mise