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