Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/db-developer/grunt-call-npm
run npm commands (like install or update) from grunt
https://github.com/db-developer/grunt-call-npm
Last synced: 2 months ago
JSON representation
run npm commands (like install or update) from grunt
- Host: GitHub
- URL: https://github.com/db-developer/grunt-call-npm
- Owner: db-developer
- License: mit
- Created: 2024-07-03T22:19:59.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-12T15:47:42.000Z (7 months ago)
- Last Synced: 2024-11-17T13:50:05.962Z (2 months ago)
- Language: JavaScript
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# grunt-call-npm
run npm commands (like `install` or `update`) from grunt.
[![npm version](https://img.shields.io/npm/v/grunt-call-npm?color=blue)](https://www.npmjs.com/package/grunt-call-npm)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![jsdoc](https://img.shields.io/static/v1?label=jsdoc&message=%20api%20&color=blue)](https://jsdoc.app/)
[![Built with Grunt](https://cdn.gruntjs.com/builtwith.svg)](https://gruntjs.com/)
[![codecov](https://codecov.io/gh/db-developer/grunt-call-npm/branch/master/graph/badge.svg)](https://codecov.io/gh/db-developer/grunt-call-npm)
[![Build Status](https://travis-ci.com/db-developer/grunt-call-npm.svg?branch=master)](https://travis-ci.com/db-developer/grunt-call-npm)
[![dependencies](https://img.shields.io/librariesio/release/npm/grunt-call-npm)](https://libraries.io/)This plugin is a fork of [grunt-npm-command](https://github.com/unindented/grunt-npm-command) (archived repository)
Reason: https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2## content ##
* Usage (see further down this page)
* [Getting started guide](#getting-started)
* [Usage and examples](#usage)* Developers
* [Testing grunt-call-npm](docs/grunt.md#testing)
* [Code coverage of tests for grunt-call-npm](docs/grunt.md#code-coverage)
* [Build grunt-call-npm from scratch](docs/grunt.md#building)
* [NPM integration of grunt-call-npm](docs/grunt.md#npm_integration)
* [Frameworks used for testing, building, etc.](docs/frameworks.md)
* [API of package grunt-call-npm](docs/api.index.md)[Changelog](CHANGELOG.md)
## getting started ##
This guide assumes, that you are familiar with the use of
[npm](https://npmjs.com "Homepage of npm") and
[grunt](https://gruntjs.com "Homepage of grunt").
The plugin can be installed by the following command:
npm install grunt-call-npm --save-dev
Once installed, the plugin may be loaded from within your gruntfile:
grunt.loadNpmTasks( "grunt-call-npm" );
Setup the task configuration as described below (see usage) and run the task:
grunt call_npm
Of cause, the task can be integrated into any complex build process.
## usage ##
The following examples assume that the grunt plugin 'load-grunt-config' is used.
Alternatively, the code can of course be integrated into the 'gruntfile.js' file.```javascript
// file call_npm.js
module.exports = function ( grunt, options ) {
return {
options: {
opts: { // options passed to nodes 'child_process::spawn'
// Note: this is a default option and can be omitted!
shell: true, // required as of https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2 (default! not required)
// Note: this is a default option and can be omitted!
quiet: true // will execute 'npm help' silently
// Note: this is a default option which defaults to 'false'; it can be omitted.
// ... // any other option that can be passed to 'child_process::spawn' 'opts'
}
},
always: { // this target 'always' of grunt multitask 'call_npm'
options: {
cmd: "help", // will run 'npm help'
args: [ ], // will append any arguments to 'npm help'
cwd: "./path/to/pkg", // will become the working directory of command 'npm help'
dryrun: true // will NOT run 'npm help' but print out the 'npm help' command that would have been run
// opts: {...} // define 'opts' to override 'opts' in default 'options' (s.a.)
}
}
};
};
```
For 'npm <command>' and matching command line arguments see [npm Docs](https://docs.npmjs.com/)