thingmodel
Version:
Synchronize data and models across multiple devices
62 lines (58 loc) • 1.37 kB
JavaScript
'use strict';
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
grunt.initConfig({
clean: {
ts: {
files: [{
src:["Builders/*.{d.ts,js.map}","WebSockets/*.{d.ts,js.map}","Proto/*.{d.ts,js.map}","*.{d.ts,js.map}", "!Proto/Proto.d.ts"],
}]
}
},
ts: {
build: {
src:["Builders/*.ts","WebSockets/*.ts","Proto/*.ts","*.ts"],
reference: "build/ThingModel.d.ts",
out:'./build/ThingModel.js',
// outDir:'build',
options:{
target: 'es5',
module: 'amd',
sourceMap:true
}
}
},
uglify: {
ts: {
options: {
sourceMap: true,
sourceMapName: 'build/ThingModel.min.js.map'
},
files: {
'build/ThingModel.min.js' : ['build/ThingModel.js']
}
}
},
file_append: {
nodify: {
files: {
'build/ThingModel.node.js': {
input: './build/ThingModel.js',
prepend: "var WebSocket = require('ws'),_ = require('lodash');\n"+
"console.debug = console.log;\n"+
"var dcodeIO = {ProtoBuf: require('protobufjs')};\n\n",
append: 'module.exports = ThingModel;\n'
}
}
}
}
});
grunt.registerTask('build', [
'clean:ts',
'ts:build',
'uglify',
'file_append:nodify'
]);
grunt.registerTask('default', ['build']);
}