metadata: name: npmExecuteScripts aliases: - name: executeNpm description: Execute npm run scripts on all npm packages in a project longDescription: | Execute npm run scripts in all package json files, if they implement the scripts. spec: inputs: resources: - name: source type: stash params: - name: install type: bool description: Run npm install or similar commands depending on the project structure. scope: - PARAMETERS - STAGES - STEPS default: true - name: runScripts type: "[]string" description: List of additional run scripts to execute from package.json. scope: - PARAMETERS - STAGES - STEPS - name: defaultNpmRegistry type: string description: URL of the npm registry to use. Defaults to https://registry.npmjs.org/ scope: - PARAMETERS - GENERAL - STAGES - STEPS aliases: - name: npm/defaultNpmRegistry - name: virtualFrameBuffer type: bool description: (Linux only) Start a virtual frame buffer in the background. This allows you to run a web browser without the need for an X server. Note that xvfb needs to be installed in the execution environment. scope: - PARAMETERS - STAGES - STEPS - name: scriptOptions type: "[]string" description: Options are passed to all runScripts calls separated by a '--'. './piper npmExecuteScripts --runScripts ci-e2e --scriptOptions '--tag1' will correspond to 'npm run ci-e2e -- --tag1' scope: - PARAMETERS - STAGES - STEPS - name: buildDescriptorExcludeList type: "[]string" description: List of build descriptors and therefore modules to exclude from execution of the npm scripts. The elements can either be a path to the build descriptor or a pattern. scope: - PARAMETERS - STAGES - STEPS default: ["deployment/**"] - name: buildDescriptorList type: "[]string" description: List of build descriptors and therefore modules for execution of the npm scripts. The elements have to be paths to the build descriptors. **If set, buildDescriptorExcludeList will be ignored.** scope: - PARAMETERS - STAGES - STEPS containers: - name: node image: node:12-buster-slim