Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laurenhamel/grunt-copy-deps
Copy `package.json` dependencies from `node_modules` to a destination of your choosing
https://github.com/laurenhamel/grunt-copy-deps
Last synced: 6 days ago
JSON representation
Copy `package.json` dependencies from `node_modules` to a destination of your choosing
- Host: GitHub
- URL: https://github.com/laurenhamel/grunt-copy-deps
- Owner: laurenhamel
- License: mit
- Created: 2017-10-17T19:34:49.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-13T21:36:11.000Z (almost 6 years ago)
- Last Synced: 2024-10-13T14:42:13.617Z (about 1 month ago)
- Language: JavaScript
- Size: 14.6 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# grunt-copy-deps
> Copy `package.json` dependencies from `node_modules` to a destination of your choosing
## Getting Started
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-copy-deps --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-copy-deps');
```## copydeps task
_Run this task with the `grunt copydeps` command._### Options
#### minified
Type: `Boolean`
Default: `true`Copy the minified version of each dependency.
#### unminified
Type: `Boolean`
Default: `false`Copy the unminified version of each dependency.
#### ignore
Type: `Array`
Default: `[]`An array containing the name of the dependencies (as listed in your package file) that should be ignored.
#### exclude
Type: `Object`
Default: `{ js: [], css: [] }`An object identifying the `.js` and/or `.css` files that should not be copied.
#### include
Type: `Object`
Default: `{ js: {}, css: {} }`An object identifying the `.js` and/or `.css` files that should also be copied along with other dependency files.
#### js
Type: `Boolean`
Default: `true`Determines whether or not `.js` files for all dependencies should be copied.
#### css
Type: `Boolean`
Default: `false`Determines whether or not `.css` files for all dependencies should be copied.
### Examples
Add a section named `copydeps` to the data object passed into `grunt.initConfig()`.
**Copying only `.min.js` dependencies:**
```js
grunt.initConfig({
copydeps: {
target: {
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```**Copying only `.js` dependencies:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
minified: false,
unminified: true
},
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```**Copying both `.min.js` and `.js` dependencies:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
unminified: true,
},
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```**Copying both `.js` and `.css` dependencies:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
minified: true,
unminified: true,
css: true,
},
pkg: 'package.json',
/**
* Use an Object with keys `css` and `js`
* if you wish to place dependencies
* in different locations based on the
* type of file.
*/
dest: {
css: 'dest/css/dependencies/',
js: 'dest/js/dependencies/'
}
}
}
});
```**Copying only `.css` dependencies:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
minified: true
unminified: true,
css: true,
js: false
},
pkg: 'package.json',
dest: 'dest/css/dependencies/'
}
}
});
```**Copying with some dependencies ignored:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
ignore: [ 'jquery' ]
},
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```**Copying with excluded files:**
```js
grunt.initConfig({
copydeps: {
target: {
options: {
/**
* All file paths are relative to
* the `node_modules/` directory.
*/
exclude: {
js: ['jquery/src/**/*.js']
},
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```
**Copying with included files:**```js
grunt.initConfig({
copydeps: {
target: {
options: {
include: {
/**
* Object syntax resembles { : },
* where refers to a path relative to
* your `dest/` directory. You can use
* '.' if no subfolder is desired. All
* file paths are relative to the `node_modules/`
* directory.
*/
js: {
'codemirror/mode/**/*.js': 'codemirror/'
}
},
pkg: 'package.json',
dest: 'dest/js/dependencies/'
}
}
});
```The `copydeps` task will look for `dependencies` listed in your package file, and these dependencies will be copied into your `dest` folder.