npm.io
1.5.0 • Published 6 years agoCLI

imod

Licence
MIT
Version
1.5.0
Deps
17
Size
156 kB
Vulns
2
Weekly
0

iMod


1. Install

yarn global add imod
# or
sudo npm install imod -g

2. Showcase

create a new project:
imod init ./hello
with an existing project:

add these into package.json

{
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "types": "dist/types/index.d.ts",
  "scripts": {
    "build": "imod build",
    "dev": "imod dev"
  }
}
with cli
imod dev
imod build
with JavaScript
import Imod from 'imod'
const iMod = new IMod({
  cwd: __dirname + '/../..'
})

iMod.build()
iMod.dev()
create an example:
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:

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'
    }
  ]
}

Keywords