| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- var fs = require('fs'),
- path = require('path'),
- semver = require('semver')
- module.exports = function( grunt ) {
- grunt.initConfig({
- pkg: grunt.file.readJSON('package.json'),
- componentbuild: {
- build: {
- options: {
- name: 'vue',
- standalone: 'Vue'
- },
- src: '.',
- dest: 'dist'
- },
- test: {
- options: {
- name: 'vue.test'
- },
- src: '.',
- dest: 'test'
- }
- },
- jshint: {
- options: {
- reporter: require('jshint-stylish'),
- jshintrc: true
- },
- dev: {
- src: ['src/**/*.js']
- },
- test: {
- src: ['test/unit/specs/*.js', 'test/functional/specs/*.js']
- }
- },
- mocha: {
- test: {
- src: ['test/unit/runner.html'],
- options: {
- log: true,
- run: true
- }
- }
- },
- uglify: {
- build: {
- options: {
- compress: true,
- mangle: true,
- banner:
- '/*\n' +
- ' VueJS v<%= version %>\n' +
- ' (c) 2013 Evan You\n' +
- ' License: MIT\n' +
- '*/\n'
- },
- files: {
- 'dist/vue.min.js': 'dist/vue.js'
- }
- }
- },
- watch: {
- dev: {
- files: ['src/**/*.js', 'component.json'],
- tasks: ['componentbuild', 'jsc']
- }
- }
- })
- grunt.loadNpmTasks( 'grunt-contrib-watch' )
- grunt.loadNpmTasks( 'grunt-contrib-jshint' )
- grunt.loadNpmTasks( 'grunt-contrib-uglify' )
- grunt.loadNpmTasks( 'grunt-component-build' )
- grunt.loadNpmTasks( 'grunt-mocha' )
- grunt.file.recurse('tasks', function (path) {
- require('./' + path)(grunt)
- })
- grunt.registerTask( 'test', [
- 'componentbuild',
- 'jsc',
- 'mocha',
- 'casper'
- ])
- grunt.registerTask( 'default', [
- 'jshint',
- 'test'
- ])
-
- }
|