1 Star 0 Fork 1

无心love / Simplepack

forked from Gitee 极速下载 / Simplepack 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Simplepack

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

Webpack is a good tool, but it need a complex config file to do the build.

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

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

MIT License Copyright (c) 2017 Jelly Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Webpack 是一个很好的工具,但它需要一个复杂的配置文件来构建 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wuxinlove/Simplepack.git
git@gitee.com:wuxinlove/Simplepack.git
wuxinlove
Simplepack
Simplepack
master

搜索帮助