simplepack

2.4.7 • Public • Published

Simplepack

Make pack more simple than ever, base on Webpack (version 4+)

simplepack want to let you drop the complex config file, use single line command (or minimal config file) to finish the job.

  • Use out of box, many useful loaders and plugins builtin
  • Extend webpack config ability
  • Made for global use, so just install once for all
  • Buildin with webpack dev server, and HMR
  • Use same config to do develop and publish together

simplepack support Webpack v4 now !

Ability

simplepack have lots of loaders and plugins builtin, you can build these extensions directly

  • React: .jsx
  • Vue: .vue (with ES6+ support)
  • Javascript: .js (with ES6+ support)
  • Styles: .less or .css (extract css to single file)
  • JSON: .json
  • Text: .txt

Install

# global install 
npm install -g simplepack
 
# or you need to admin auth. 
sudo npm install -g simplepack

API

Commands

# dev: start a dev server, build and serve file in memory 
simplepack dev --entry ./index.js
 
# publush: build and export file to ./dist folder 
simplepack publish --entry ./index.js

Options

Both dev and publish command has the same options

 ╭∩╮(︶︿︶)╭∩╮: simplepack -h
[Simplepack]:  Start parse config file...
 
  Usage: simplepack [options] [command]
 
  Commands:
 
    dev, d      Start dev server for develop
    help        Display help
    publish, p  get dist. file for publish
 
  Options:
 
    -C, --cli-only        Use CLI config only, not merge config file (disabled by default)
    -C, --compress        Whether compress the output code
    -c, --config          Specifies a different configuration file to pick up
    -E, --engine [value]  The name of workflow engine (defaults to "webpack")
    -e, --entry           The list entries
    -E, --export          The name of Component export
    -E, --extract-css     Whether extract css file from bundle (disabled by default)
    -h, --help            Output usage information
    -n, --not-clear       Do not clear the output dir
    -v, --version         Output the version number
Description Type Default
entry The list entries String / Object null
compress Whether uglify the output code Boolean false
export The name of Component export (commonly use to expose a library with UMD) String null
cli-only Use CLI config only, not merge config file Boolean false

option.entry

Most like Webpack config option.entry , but extend the glob ablity

{
  // simple
  // './test/a.js' => './dist/test/a.js'
  entry: './test/a.js'
  
  // simple with glob: expand to multi entry
  // './test/(a,b,c...).js' => './dist/test/(a,b,c...).js'
  entry: './test/*.js'
  
  // complex
  entry: {
    // './test/a.js' => './dist/a-new.js'
    'a-new': './test/a.js',
    
    // special @multi key, same as `simple with glob`
    '@multi': './test/*.js',     
    
    // special @vendor key, specific the third party lib.
    // vendor will pack to a single file, instead of pack into other bundle
    // jquery+loadsh => './dist/vendor.js'
    '@vendor': [
      'jquery',
      'lodash'
    ]
  }
}

Other notice:

  • Complex entry support array in object value, it indicate you want multi file to build in one entry

  • vendor.js need to manualy import to your project, use <script> tag, more detail

Usage

After install you can pack in any project, just need single line command.

CLI only

simplepack dev --entry './index.js' --compress --export 'AComponent'

With Config File

Put a js file to your project root, named simplepack.config.js

{
  entry: {
    index: './index.js'
  },
  compress: true,
  export: 'AComponent'
}

Full config support, please see here

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i simplepack

Weekly Downloads

1

Version

2.4.7

License

MIT

Unpacked Size

531 kB

Total Files

20

Last publish

Collaborators

  • jellyjoker