-
Notifications
You must be signed in to change notification settings - Fork 0
/
tpl.js
20 lines (20 loc) · 769 Bytes
/
tpl.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var gulpUtil=require('gulp-util'),
through2=require('through2'),
fs=require('fs'),
util=require('util'),
resolve_template=require('./lib/resolve_template');
module.exports=function(options){
if(!options||!options.hasOwnProperty('dir')||!options.hasOwnProperty('dest')) {
var err=new gulpUtil.PluginError('gulp-tpl2js','expect option path or dest');
gulpUtil.log(err);
return false;
}
options.type=options.type||'commonjs';
var typeAction={
'commonjs':'module.exports=%s;',
'cmd':'define(function(require,exports,module){module.exports=%s;});',
'json':'%s'
};
var renderedStr=resolve_template(options.dir);
fs.writeFileSync(options.dest,util.format(typeAction[options.type],renderedStr));
};