UNPKG

imod

Version:

A bundler for tiny modules, powered by Rollup.

94 lines (74 loc) 1.8 kB
# iMod --- ## 1. Install ```bash yarn global add imod # or sudo npm install imod -g ``` ## 2. Showcase ### create a new project: ```bash imod init ./hello ``` ### with an existing project: add these into [package.json](https://github.com/haozi/imod-template-module/blob/master/package.json#L7) ```json { "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/types/index.d.ts", "scripts": { "build": "imod build", "dev": "imod dev" } } ``` ### with cli ```bash imod dev imod build ``` ### with JavaScript ```typescript import Imod from 'imod' const iMod = new IMod({ cwd: __dirname + '/../..' }) iMod.build() iMod.dev() ``` ### create an example: ```bash imod init ./hello --templateName=module --lite=true # If you don't use '--lite', it will try to install node_modules ``` ## 3. Advanced configuration * you can add a config at `package.json`, `./imod.config.js`, `./imod.config.json`, `./imodconfig.js`, `./imodconfig.json` * The order in which imod looks up is `./imod.config.js` -> `./imod.config.json` -> `imodconfig.js` -> `imodconfig.json` -> `${package.json}.config.imod` this is the default configuration: ```javascript module.exports = { name: moduleName, // if not set, will guess from ${package.json}.name banner: '', // if not set, return '' input: '', // string | string[] | null. if not set, will find src/index*{.ts,.tsx,.js,.jsx,.es6,.es,.mjs} outDir: '', // string. default is './dist' declarationDir: false, // string | false. if false will no typings compilerOptions: [ { format: 'esm', extName: '.mjs', target: 'esnext' }, { format: 'cjs', extName: '.js', target: 'es5' }, { format: 'umd', extName: '.min.js', target: 'es5' } ] } ```