...
1# Run `npm test` for the node project `left-pad`.
2fs default() {
3 npmRun leftPad fs { nodeModules leftPad; } "test"
4}
5
6fs leftPad() {
7 git "https://github.com/left-pad/left-pad.git" "master"
8}
9
10fs npmInstall(fs src) {
11 image "node:alpine" with option {
12 resolve
13 }
14 run "npm install" with option {
15 dir "/src"
16 mount src "/src"
17 # Name the mounted filesystem as nodeModules
18 mount fs { scratch; } "/src/node_modules" as nodeModules
19 }
20}
21
22fs npmRun(fs src, fs nodeModules, string script) {
23 image "node:alpine"
24 run string { format "npm run %s" script; } with option {
25 dir "/src"
26 mount src "/src"
27 mount nodeModules "/src/node_modules"
28 }
29}
View as plain text