Node Promiscuous Modules

    grunt-copy-deps

    1.4.0 • Public • Published

    grunt-copy-deps

    Copy package.json dependencies from node_modules to a destination of your choosing

    Getting Started

    If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

    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:

    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:

    grunt.initConfig({
      copydeps: {            
        target: {            
          pkg: 'package.json',
          dest: 'dest/js/dependencies/'
        }
      }
    });

    Copying only .js dependencies:

    grunt.initConfig({
      copydeps: {            
        target: {            
          options: {   
            minified: false,
            unminified: true
          },
          pkg: 'package.json',
          dest: 'dest/js/dependencies/'
        }
      }
    });

    Copying both .min.js and .js dependencies:

    grunt.initConfig({
      copydeps: {            
        target: {            
          options: {   
            unminified: true,
          },
          pkg: 'package.json',
          dest: 'dest/js/dependencies/'
        }
      }
    });

    Copying both .js and .css dependencies:

    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:

    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:

    grunt.initConfig({
      copydeps: {            
        target: {            
          options: {   
            ignore: [ 'jquery' ]
          },
          pkg: 'package.json',
          dest: 'dest/js/dependencies/'
        }
      }
    });

    Copying with excluded files:

    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:

    grunt.initConfig({
      copydeps: {            
        target: {            
          options: {   
            include: {
              /**
               * Object syntax resembles { <src>: <dest> }, 
               * where <dest> refers to a path relative to 
               * your `dest/` directory. You can use
               * '.' if no subfolder is desired. All <src>
               * 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.

    Keywords

    Install

    npm i grunt-copy-deps

    DownloadsWeekly Downloads

    140

    Version

    1.4.0

    License

    MIT

    Unpacked Size

    14.1 kB

    Total Files

    4

    Last publish

    Collaborators

    • laurenhamel