mirror of https://github.com/vuejs/vue.git
184 lines
5.1 KiB
JavaScript
184 lines
5.1 KiB
JavaScript
module.exports = function( grunt ) {
|
|
|
|
grunt.initConfig({
|
|
|
|
version: grunt.file.readJSON('package.json').version,
|
|
|
|
jshint: {
|
|
options: {
|
|
reporter: require('jshint-stylish'),
|
|
jshintrc: true
|
|
},
|
|
build: {
|
|
src: ['Gruntfile.js', 'tasks/*.js']
|
|
},
|
|
src: {
|
|
src: 'src/**/*.js'
|
|
},
|
|
test: {
|
|
src: 'test/*/specs/*.js'
|
|
}
|
|
},
|
|
|
|
connect: {
|
|
test: {
|
|
options: {
|
|
base: '',
|
|
port: 9999
|
|
}
|
|
}
|
|
},
|
|
|
|
watch: {
|
|
options: {
|
|
nospawn: true
|
|
},
|
|
dev: {
|
|
files: ['src/**/*.js', './component.json'],
|
|
tasks: ['dev', 'instrument']
|
|
}
|
|
},
|
|
|
|
coveralls: {
|
|
options: {
|
|
coverage_dir: 'coverage/'
|
|
}
|
|
},
|
|
|
|
karma: {
|
|
options: {
|
|
frameworks: ['mocha'],
|
|
files: [
|
|
'test/vue.test.js',
|
|
'test/unit/utils/chai.js',
|
|
'test/unit/utils/prepare.js',
|
|
'test/unit/specs/*.js'
|
|
],
|
|
singleRun: true
|
|
},
|
|
browsers: {
|
|
options: {
|
|
browsers: ['Chrome', 'Firefox', 'Safari'],
|
|
reporters: ['progress']
|
|
}
|
|
},
|
|
phantom: {
|
|
options: {
|
|
browsers: ['PhantomJS'],
|
|
reporters: ['progress', 'coverage'],
|
|
preprocessors: {
|
|
'test/vue.test.js': ['coverage']
|
|
},
|
|
coverageReporter: {
|
|
reporters: [
|
|
{ type: 'lcov' },
|
|
{ type: 'text-summary' }
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
'saucelabs-mocha': {
|
|
test: {
|
|
options: {
|
|
urls: ['http://127.0.0.1:9999/test/unit/runner.html'],
|
|
build: process.env.TRAVIS_JOB_ID || Date.now(),
|
|
testname: "unit tests",
|
|
concurrency: 3,
|
|
browsers: [
|
|
{
|
|
browserName: "chrome",
|
|
version: "31",
|
|
platform: "Windows 7"
|
|
},
|
|
{
|
|
browserName: "firefox",
|
|
version: "26",
|
|
platform: "Windows 7"
|
|
},
|
|
{
|
|
browserName: "internet explorer",
|
|
platform: "Windows 7",
|
|
version: "9"
|
|
},
|
|
{
|
|
browserName: "internet explorer",
|
|
platform: "Windows 8",
|
|
version: "10"
|
|
},
|
|
{
|
|
browserName: "internet explorer",
|
|
platform: "Windows 8.1",
|
|
version: "11"
|
|
},
|
|
{
|
|
browserName: "safari",
|
|
platform: "OS X 10.8",
|
|
version: "6"
|
|
},
|
|
{
|
|
browserName: "safari",
|
|
platform: "OS X 10.9",
|
|
version: "7"
|
|
},
|
|
{
|
|
browserName: "iphone",
|
|
platform: "OS X 10.8",
|
|
version: "6.0"
|
|
},
|
|
{
|
|
browserName: "iphone",
|
|
platform: "OS X 10.9",
|
|
version: "7"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
})
|
|
|
|
grunt.loadNpmTasks('grunt-karma')
|
|
grunt.loadNpmTasks('grunt-karma-coveralls')
|
|
grunt.loadNpmTasks('grunt-saucelabs')
|
|
grunt.loadNpmTasks('grunt-contrib-watch')
|
|
grunt.loadNpmTasks('grunt-contrib-jshint')
|
|
grunt.loadNpmTasks('grunt-contrib-connect')
|
|
|
|
// load custom tasks
|
|
grunt.file.recurse('tasks', function (path) {
|
|
require('./' + path)(grunt)
|
|
})
|
|
|
|
grunt.registerTask( 'unit', [
|
|
'instrument',
|
|
'karma:browsers'
|
|
])
|
|
|
|
grunt.registerTask( 'test', [
|
|
'unit',
|
|
'casper'
|
|
])
|
|
|
|
grunt.registerTask( 'sauce', [
|
|
'connect',
|
|
'saucelabs-mocha'
|
|
])
|
|
|
|
grunt.registerTask( 'travis', [
|
|
'build',
|
|
'instrument',
|
|
'karma:phantom',
|
|
'coveralls',
|
|
'casper',
|
|
'sauce'
|
|
])
|
|
|
|
grunt.registerTask( 'default', [
|
|
'jshint',
|
|
'build',
|
|
'test'
|
|
])
|
|
|
|
} |