metadata: name: npmExecuteLint aliases: - name: executeNpm description: Execute ci-lint script on all npm packages in a project or execute default linting longDescription: | Execute ci-lint script for all package json files, if they implement the script. If no ci-lint script is defined, either use ESLint configurations present in the project or use the provided general purpose configuration to run ESLint. spec: inputs: params: - name: install type: bool description: Run npm install or similar commands depending on the project structure. scope: - PARAMETERS - STAGES - STEPS default: false - name: runScript type: string description: List of additional run scripts to execute from package.json. scope: - PARAMETERS - STAGES - STEPS default: "ci-lint" - name: failOnError type: bool description: Defines the behavior in case linting errors are found. scope: - PARAMETERS - STAGES - STEPS mandatory: false default: false - name: defaultNpmRegistry type: string description: URL of the npm registry to use. Defaults to https://registry.npmjs.org/ scope: - PARAMETERS - GENERAL - STAGES - STEPS mandatory: false aliases: - name: npm/defaultNpmRegistry - name: outputFormat type: string description: eslint output format, e.g. stylish, checkstyle scope: - PARAMETERS - GENERAL - STAGES - STEPS mandatory: false default: checkstyle aliases: - name: npm/outputFormat - name: outputFileName type: string description: name of the output file. There might be a 'N_' prefix where 'N' is a number. When the empty string is provided, we will print to console scope: - PARAMETERS - GENERAL - STAGES - STEPS mandatory: false default: defaultlint.xml aliases: - name: npm/outputFormat containers: - name: node image: node:lts-buster