| module.exports = function (grunt) { |
| grunt.initConfig({ |
| pkgFile: 'package.json', |
| files: { |
| adapter: [ |
| 'src/adapter.js' |
| ] |
| }, |
| build: { |
| adapter: '<%= files.adapter %>' |
| }, |
| eslint: { |
| target: [ |
| '<%= files.adapter %>', |
| '*.js', |
| 'lib/index.js', |
| 'tasks/*.js', |
| 'test/**/*.js' |
| ] |
| }, |
| karma: { |
| adapter: { |
| configFile: 'karma.conf.js', |
| autoWatch: false, |
| singleRun: true, |
| reporters: ['dots'] |
| } |
| }, |
| 'npm-publish': { |
| options: { |
| requires: ['build'] |
| } |
| }, |
| 'npm-contributors': { |
| options: { |
| commitMessage: 'chore: update contributors' |
| } |
| }, |
| conventionalChangelog: { |
| release: { |
| options: { |
| changelogOpts: { |
| preset: 'angular' |
| } |
| }, |
| src: 'CHANGELOG.md' |
| } |
| }, |
| bump: { |
| options: { |
| commitFiles: [ |
| 'package.json', |
| 'CHANGELOG.md' |
| ], |
| commitMessage: 'chore: release v%VERSION%', |
| pushTo: 'upstream' |
| } |
| } |
| }) |
| |
| require('load-grunt-tasks')(grunt) |
| grunt.loadTasks('tasks') |
| grunt.registerTask('default', ['build', 'eslint', 'test']) |
| grunt.registerTask('test', ['karma']) |
| |
| grunt.registerTask('release', 'Build, bump and publish to NPM.', function (type) { |
| grunt.task.run([ |
| 'npm-contributors', |
| 'bump:' + (type || 'patch') + ':bump-only', |
| 'build', |
| 'conventionalChangelog', |
| 'bump-commit', |
| 'npm-publish' |
| ]) |
| }) |
| } |