JSPM

  • Created
  • Published
  • Downloads 11
  • Score
    100M100P100Q70464F
  • License ISC

Package Exports

  • re-define

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (re-define) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

re-define (work in progress)

A command line tool for resolving and converting modules tree. Currently supports only AMD and output could be presented as UMD, IIFE, Plain JS or AMD define module.

TODO: [ ] resolve: Plain JS, CommonJS [ ] grunt task

Getting Started

Install the module: npm install -g re-define

###Usage

Usage: re-define [options]

  Options:

    -h, --help                  output usage information
    -v, --verbose               Verbose mode
    -c, --config [name]         Re-define config
    -w, --wrapper [type]        Wrapper type iife, empty, umd
    -b, --base [dir]            Base folder for project
    -m, --main [file]           Main file
    -o, --output [file]         Output
    -f, --follow [value]        Whether should resolve whole dependency tree
    -s, --stream                Whether should read from stream

Examples

From stream

echo "define('a',['b','c'],function(b, c){ console.log(b,c) })" | re-define --stream --wrapper iife

(function( b,c ){
  var a = function (b, c) {
    console.log(b, c);
  }(b, c);
 })( b,c )
From file

goto -> cd example/demo

less main.js | re-define --stream or re-define -c build.config && less dist.js

###Advanced usage ####Config

{ base: '.'
, main: ''
, out: ''
, wrapper: 'empty'
, converters: {
  'amd-define':  {
    resolver: require('./converter/amd-define-resolver')
  , transformer: require('./converter/amd-define-transformer')
  }
  , 'amd-require': {
    resolver: require('./converter/amd-require-resolver')
  , transformer: require('./converter/amd-require-transformer')
  }
}
, mixins: [
  { pattern : /text!/, resolver: require('./converter/plugin/file') }
]
, wrappers: {
  'empty': require('./wrapper/empty')
, 'iife': require('./wrapper/external-template')('./templates/iife.template')
, 'amd-define': require('./wrapper/external-template')('./templates/amd-define.template')
, 'umd/amd-web': require('./wrapper/external-template')('./templates/amd-web.template')
}
, formatter: { format: {indent: {style: '  ', base: 0}, space: ' '}}
}

Extend

Custom converter

Custom wrapper

Custom mixin