imod
TypeScript icon, indicating that this package has built-in type declarations

1.5.0 • Public • Published

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

Package Sidebar

Install

npm i imod

Weekly Downloads

9

Version

1.5.0

License

MIT

Unpacked Size

160 kB

Total Files

12

Last publish

Collaborators

  • haozime