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' ]) }) }