Skip to content

Commit

Permalink
build: modernize tooling
Browse files Browse the repository at this point in the history
Migrate out of Grunt:
* Updating contributors to the ad-hoc script (added in this commit).
* Creating the changelog to the Semantic Release plugin.
* Releasing to GitHub to the Semantic Release plugin.
* Bumping the version to Semantic Release.
* Running e2e tests to the package.json scripts. Also, update the Karma conf
file to be compatible with this.
* Linting (with eslint) to the package.json scripts. Also, configure the Jasmine
env in the eslint conf file in the unit tests.
* The "Release" lifecycle step to the package.json scripts.
  • Loading branch information
Jonathan Ginsburg committed Mar 30, 2022
1 parent 27429f1 commit b745452
Show file tree
Hide file tree
Showing 8 changed files with 8,225 additions and 5,939 deletions.
75 changes: 1 addition & 74 deletions gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,83 +1,10 @@
// Do not add new tasks. Grunt is used only for building and will be replaced.
module.exports = function (grunt) {
grunt.loadTasks('tasks')
grunt.initConfig({
pkgFile: 'package.json',
build: {
adapter: ['src/adapter.js']
},
'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: {
commitMessage: 'chore: release v%VERSION%',
pushTo: 'upstream',
commitFiles: [
'package.json',
'CHANGELOG.md'
]
}
},
karma: {
adapter: {
configFile: 'karma.conf.js',
autoWatch: false,
singleRun: true,
reporters: ['dots']
}
},
eslint: {
target: [
'src/adapter.js',
'lib/boot.js',
'lib/index.js',
'gruntfile.js',
'karma.conf.js',
'test/*.js',
'tasks/*.js'
]
}
})

require('load-grunt-tasks')(grunt)

grunt.registerTask('test', ['build', 'karma'])
grunt.registerTask('default', ['eslint', 'test'])

grunt.registerTask('release', 'Bump the version and publish to NPM.', function (type) {
grunt.task.run([
'build',
'npm-contributors',
'bump:' + (type || 'patch') + ':bump-only',
'conventionalChangelog',
'bump-commit',
'conventionalGithubReleaser',
'npm-publish'
])
})
}
4 changes: 2 additions & 2 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module.exports = function (config) {
config.set({
frameworks: ['jasmine'],
reporters: ['karma-jasmine'],
reporters: ['karma-jasmine', 'dots'],

files: [
'src/*.js',
Expand All @@ -10,7 +10,7 @@ module.exports = function (config) {

browsers: ['FirefoxHeadless'],

autoWatch: true,
singleRun: true,

plugins: [
'karma-firefox-launcher',
Expand Down
Loading

0 comments on commit b745452

Please sign in to comment.