Skip to content

Creates an array of node package dist files organized by file type. To be used with task managers or bundlers.

Notifications You must be signed in to change notification settings

vincentsmuda/package-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Package Extractor

A helpful script that organizes npm dependencies into actionable objects and arrays.

Installation

$ npm install package-extractor --save-dev 
#or
$ yarn add package-extractor --dev

Usage

First require, then run.

const extractor = require('package-extractor');
...
let package_files = new Extractor().extract([
    // **Optional**
    // You can define which npm packages to extract
    // however you can ommit this and the script
    // will pick up your project's dependencies
    // (defined in your package.json)
    'baguetteBox.js',
    'jquery',
    'slick-carousel'
]);

Then do what you want with generated object:

// console.log(package_files);
{
  main: [
    './node_modules/baguettebox.js/dist/baguetteBox.min.js',
    './node_modules/jquery/dist/jquery.js',
    './node_modules/slick-carousel/slick/slick.js'
  ],
  vendors: {
    'baguettebox.js': [
      './node_modules/baguettebox.js/dist/baguetteBox.css',
      './node_modules/baguettebox.js/dist/baguetteBox.js',
      './node_modules/baguettebox.js/dist/baguetteBox.min.css',
      './node_modules/baguettebox.js/dist/baguetteBox.min.js'
    ],
    'jquery': [
      './node_modules/jquery/dist/core.js',
      './node_modules/jquery/dist/jquery.js',
      './node_modules/jquery/dist/jquery.min.js',
      './node_modules/jquery/dist/jquery.slim.js',
      './node_modules/jquery/dist/jquery.slim.min.js'
    ],
    'slick-carousel': [
      './node_modules/slick-carousel/slick/ajax-loader.gif',
      './node_modules/slick-carousel/slick/slick-theme.css',
      './node_modules/slick-carousel/slick/slick-theme.scss',
      './node_modules/slick-carousel/slick/slick.css',
      './node_modules/slick-carousel/slick/slick.js',
      './node_modules/slick-carousel/slick/slick.min.js',
      './node_modules/slick-carousel/slick/slick.scss',
      './node_modules/slick-carousel/slick/fonts/slick.eot',
      './node_modules/slick-carousel/slick/fonts/slick.svg',
      './node_modules/slick-carousel/slick/fonts/slick.ttf',
      './node_modules/slick-carousel/slick/fonts/slick.woff'
    ]
  },
  css: [
    './node_modules/baguettebox.js/dist/baguetteBox.css',
    './node_modules/slick-carousel/slick/slick-theme.css',
    './node_modules/slick-carousel/slick/slick.css'
  ],
  js: [
    './node_modules/baguettebox.js/dist/baguetteBox.js',
    './node_modules/jquery/dist/core.js',
    './node_modules/jquery/dist/jquery.js',
    './node_modules/jquery/dist/jquery.slim.js',
    './node_modules/slick-carousel/slick/slick.js'
  ],
  css_min: [
    './node_modules/baguettebox.js/dist/baguetteBox.min.css'
  ],
  js_min: [
    './node_modules/baguettebox.js/dist/baguetteBox.min.js',
    './node_modules/jquery/dist/jquery.min.js',
    './node_modules/jquery/dist/jquery.slim.min.js',
    './node_modules/slick-carousel/slick/slick.min.js'
  ],
  gif: [
    './node_modules/slick-carousel/slick/ajax-loader.gif'
  ],
  scss: [
    './node_modules/slick-carousel/slick/slick-theme.scss',
    './node_modules/slick-carousel/slick/slick.scss'
  ],
  eot: [
    './node_modules/slick-carousel/slick/fonts/slick.eot'
  ],
  svg: [
    './node_modules/slick-carousel/slick/fonts/slick.svg'
  ],
  ttf: [
    './node_modules/slick-carousel/slick/fonts/slick.ttf'
  ],
  woff: [
    './node_modules/slick-carousel/slick/fonts/slick.woff'
  ]
}

Next

  • Example usage with Gulp, Grunt, and Webpack

About

Creates an array of node package dist files organized by file type. To be used with task managers or bundlers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published