mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-02 18:11:04 +08:00
156 lines
3.4 KiB
JavaScript
156 lines
3.4 KiB
JavaScript
module.exports = function (grunt) {
|
|
grunt.initConfig({
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
pkgFile: 'package.json',
|
|
files: {
|
|
server: ['lib/**/*.js'],
|
|
client: ['client/**/*.js'],
|
|
common: ['common/**/*.js'],
|
|
context: ['context/**/*.js'],
|
|
grunt: ['grunt.js', 'tasks/*.js'],
|
|
scripts: ['scripts/init-dev-env.js']
|
|
},
|
|
browserify: {
|
|
client: {
|
|
files: {
|
|
'static/karma.js': ['client/main.js'],
|
|
'static/context.js': ['context/main.js']
|
|
}
|
|
}
|
|
},
|
|
test: {
|
|
unit: 'mochaTest:unit',
|
|
client: 'test/client/karma.conf.js',
|
|
e2e: 'cucumberjs:ci'
|
|
},
|
|
watch: {
|
|
client: {
|
|
files: '<%= files.client %>',
|
|
tasks: 'browserify:client'
|
|
}
|
|
},
|
|
mochaTest: {
|
|
options: {
|
|
reporter: 'dot',
|
|
ui: 'bdd',
|
|
quiet: false,
|
|
colors: true
|
|
},
|
|
unit: {
|
|
src: [
|
|
'test/unit/mocha-globals.js',
|
|
'test/unit/**/*.spec.js'
|
|
]
|
|
}
|
|
},
|
|
cucumberjs: {
|
|
options: {
|
|
steps: 'test/e2e/step_definitions',
|
|
format: 'progress',
|
|
require: ['test/e2e/support/env.js', 'test/e2e/support/world.js']
|
|
},
|
|
all: 'test/e2e/*.feature',
|
|
current: {
|
|
files: {
|
|
src: 'test/e2e/*.feature'
|
|
},
|
|
options: {
|
|
tags: '@current'
|
|
}
|
|
},
|
|
ci: {
|
|
files: {
|
|
src: 'test/e2e/*.feature'
|
|
},
|
|
options: {
|
|
tags: 'not @not-jenkins'
|
|
}
|
|
}
|
|
},
|
|
eslint: {
|
|
options: {
|
|
quiet: true
|
|
},
|
|
target: [
|
|
'<%= files.server %>',
|
|
'<%= files.grunt %>',
|
|
'<%= files.scripts %>',
|
|
'<%= files.client %>',
|
|
'<%= files.common %>',
|
|
'<%= files.context %>',
|
|
'static/debug.js',
|
|
'test/**/*.js',
|
|
'gruntfile.js'
|
|
]
|
|
},
|
|
'npm-publish': {
|
|
options: {
|
|
requires: ['build'],
|
|
abortIfDirty: true,
|
|
tag: 'latest'
|
|
}
|
|
},
|
|
'npm-contributors': {
|
|
options: {
|
|
commitMessage: 'chore: update contributors'
|
|
}
|
|
},
|
|
conventionalChangelog: {
|
|
release: {
|
|
options: {
|
|
changelogOpts: {
|
|
preset: 'angular'
|
|
}
|
|
},
|
|
src: 'CHANGELOG.md'
|
|
}
|
|
},
|
|
conventionalGithubReleaser: {
|
|
release: {
|
|
options: {
|
|
auth: {
|
|
type: 'oauth',
|
|
token: process.env.GH_TOKEN
|
|
},
|
|
changelogOpts: {
|
|
preset: 'angular'
|
|
}
|
|
}
|
|
}
|
|
},
|
|
bump: {
|
|
options: {
|
|
updateConfigs: ['pkg'],
|
|
commitFiles: [
|
|
'package.json',
|
|
'CHANGELOG.md'
|
|
],
|
|
commitMessage: 'chore: release v%VERSION%',
|
|
prereleaseName: 'rc'
|
|
}
|
|
}
|
|
})
|
|
|
|
grunt.loadNpmTasks('grunt-check-clean')
|
|
grunt.loadTasks('tasks')
|
|
require('load-grunt-tasks')(grunt)
|
|
|
|
grunt.registerTask('lint', ['eslint'])
|
|
grunt.registerTask('build', ['browserify:client'])
|
|
grunt.registerTask('default', ['build', 'lint', 'test'])
|
|
grunt.registerTask('test-appveyor', ['test:unit', 'test:client'])
|
|
|
|
grunt.registerTask('release', 'Build, bump and publish to NPM.', function (type) {
|
|
grunt.task.run([
|
|
'check_clean',
|
|
'npm-contributors',
|
|
'bump:' + (type || 'patch') + ':bump-only',
|
|
'build',
|
|
'conventionalChangelog',
|
|
'bump-commit',
|
|
'conventionalGithubReleaser',
|
|
'npm-publish'
|
|
])
|
|
})
|
|
}
|