Files
Josh Goldberg dc202d0fa7 Added TS compilation to settings files in grunt
Updated GameStartr to make it work.
2016-02-27 18:46:19 -08:00

167 lines
6.5 KiB
JavaScript

module.exports = function (grunt) {
grunt.initConfig({
"pkg": grunt.file.readJSON("package.json"),
"meta": {
"paths": {
"source": "Source",
"dist": "Distribution"
}
},
"clean": ["<%= meta.paths.dist %>"],
"tslint": {
"options": {
"configuration": grunt.file.readJSON("tslint.json")
},
"files": {
"src": [
"<%= meta.paths.source %>/*.ts",
"<%= meta.paths.source %>/settings/*.ts",
]
}
},
"typescript": {
"base": {
"src": [
"<%= meta.paths.source %>/<%= pkg.name %>.ts",
"<%= meta.paths.source %>/settings/**/*.ts"
]
},
"distribution": {
"src": [
"<%= meta.paths.source %>/<%= pkg.name %>.ts",
"<%= meta.paths.source %>/settings/**/*.ts"
],
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.js"
}
},
"copy": {
"dist": {
"files": [{
"src": "<%= meta.paths.source %>/<%= pkg.name %>.ts",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
}, {
"src": "<%= meta.paths.source %>/<%= pkg.name %>.d.ts",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.d.ts"
}, {
"src": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.js",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/<%= pkg.name %>-<%= pkg.version %>.js"
}, {
"src": "<%= meta.paths.source %>/References/*.ts",
"dest": "<%= meta.paths.dist %>/",
"expand": true,
"flatten": true
}, {
"src": "README.md",
"dest": "<%= meta.paths.dist %>/"
}, {
"src": "README.md",
"dest": "<%= meta.paths.source %>/"
}, {
"src": "LICENSE.txt",
"dest": "<%= meta.paths.dist %>/"
}, {
"src": "LICENSE.txt",
"dest": "<%= meta.paths.source %>/"
}, {
"cwd": "<%= meta.paths.source %>/",
"src": "Fonts/**",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/",
"expand": true
}, {
"cwd": "<%= meta.paths.source %>/",
"src": "Sounds/**",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/",
"expand": true
}, {
"cwd": "<%= meta.paths.source %>/",
"src": "Theme/**",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/",
"expand": true
}]
}
},
"uglify": {
"options": {
"compress": true,
"sourceMap": true
},
"dist": {
"files": {
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/<%= pkg.name %>-<%= pkg.version %>.min.js": [
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/<%= pkg.name %>-<%= pkg.version %>.js",
"<%= meta.paths.source %>/settings/*.js",
"<%= meta.paths.source %>/settings/maps/*.js"
],
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/index.min.js": [
"<%= meta.paths.source %>/index.js"
]
}
}
},
"cssmin": {
"options": {
"sourceMap": true
},
"dist": {
"files": {
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/index.min.css": ["<%= meta.paths.source %>/index.css"]
}
}
},
"preprocess": {
"dist": {
"src": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts",
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
}
},
"processhtml": {
"dist": {
"options": {
"process": true,
"data": {
"version": "<%= pkg.version %>"
}
},
"files": {
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/index.html": "<%= meta.paths.source %>/index.html"
}
}
},
"htmlmin": {
"dist": {
"options": {
"removeComments": true,
"collapseWhitespace": true
},
"files": {
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/index.html": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>/index.html"
}
},
},
"zip": {
"dist": {
"cwd": "<%= meta.paths.dist %>/FullScreenPokemon-<%= pkg.version %>/",
"src": "<%= meta.paths.dist %>/FullScreenPokemon-<%= pkg.version %>/**",
"dest": "<%= meta.paths.dist %>/FullScreenPokemon-<%= pkg.version %>.zip"
}
},
"mocha_phantomjs": {
"all": ["Tests/*.html"]
}
});
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-contrib-cssmin");
grunt.loadNpmTasks("grunt-contrib-htmlmin");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-mocha-phantomjs");
grunt.loadNpmTasks("grunt-preprocess");
grunt.loadNpmTasks("grunt-processhtml");
grunt.loadNpmTasks("grunt-tslint");
grunt.loadNpmTasks("grunt-typescript");
grunt.loadNpmTasks("grunt-zip");
grunt.registerTask("default", [
"clean", "tslint", "typescript", "copy", "uglify", "cssmin", "preprocess", "processhtml", "htmlmin", "mocha_phantomjs", "zip"
]);
};