All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Upgrade AE86 to 3.1.0
- Add jsdoc-minami dependency
- Set min node engine to >= 18.0.0
- Switch release workflow to use release-action
- Upgrade all workflows versions
- Update ESLint config to eslint.config.js
- Change rimraf task bin path to node_modules/.bin/
- Modify coverage test binary to use local bin
- Remove CodeQL analysis GH workflow
- Fix broken deps badge by switching to shields.io
- Upgrade deps to latest
- Upgrade deps to latest
- Add GH Actions release-* and publish-*
- Fix broken cli unit tests
- Fix missing site ae86 dependency
- Remove optional dependencies support
- Add new task property postOpts
- Add new task property preOpts as alias of task property opts
- Set min node engine to >= 14.0.0
- Replace .bob/report//.out and .bob/report//.txt files
- Upgrade ae86 to 2.0.0
- Add html reporter to coverage c8 human mode
- Replace Travis CI with GitHub Actions
- Fix npm warn duplicated mocha declaration
- Fix unknown file extension error on bin entry point
- Add eslint as lint task type and set as default
- Add c8 as coverage tasks type and set as default
- Change module type to ESM
- Change default doc task type to jsdoc
- Change bob build to use eslint and mocha
- Set min node engine to >= 13.0.0
- Remove buster-istanbul and mocha-istanbul coverage types
- Remove buster, nodeunit, and vows test types
- Remove start, stopm and restart tasks
- Remove jscheckstyle complexity type
- Remove dox-foundation doc type
- Remove jshint and nodelint lint types
- Remove buster-test test-integration type
- Dependencies upgrade
- Add jsdoc doc task type
- Change default doc task type from dox-foundation to jsdoc
- Replace canihaz with canihaz-pakkunbot
- Force canihaz location to Bob directory
- Set min node engine to >= 4.0.0
- Dependencies upgrade
- Dependencies upgrade, latest tool reports
- Increase child process max buffer to 1000Kb
- Add buildbranch to site tool
- Add tmp temporary directory to template params
- Update tools to latest
- Ensure optDependencies is only installed once per module
- Change depgraph madge generated graph from madge.png to madge/graph.png
- Change report base directory from .bob/report/// to .bob///
- Change test-integration cmdt base directory to .bob/test-integration
- Change min node engine to >=v0.10.0
- Add opts debug and base dir to test-integration cmdt type, base dir is set to .bob/stage/cmdt-*
- Add site command with ae86 type
- Replace send ftp type with sendman
- Add test npm type
- Add test-integration cmdt type
- Support multiple task types
- Only pre-install Bob core and default task type modules
- Lazy install non-default task type modules
- Replace .bob/report/.out files with .bob/report//.out files
- Use mocha-istanbul as default coverage task type
- Remove dependency to Make and makefile
- Remove esvalidate lint type due to its CLI not accepting dir args (need to avoid usage of *nix-specific find command)
- Remove publish ivy type (it was a nice experiment, but we all know better by now)
- Remove package tar and zip types (will re-add when there's a cross-platform tar and zip cli for node)
- Remove (jscoverage-related) coverage mocha and vows task types since they are not cross-platform
- Remove tools and rmtools tasks, no longer needed since Bob now lazy installs non-default types
- Change updep target to use pkjutil
- Change versionup target to use pkjutil, remove versionup-minor and versionup-major targets (to be replaced with versionup and major/minor type arg)
- Upgrade tools to latest greatest
- Add html to mocha-istanbul reporters
- Add test-performance target
- Add report generation to mocha-istanbul coverage target for human mode
- Add report output directory to mocha-istanbul coverage target
- Add mocha-istanbul type to coverage target
- Use dox-foundation as default doc target type
- Use plato as default complexity target type
- Remove expresso due to installation taking more than 1 minute, mocha and vows coverage types (with instrument-jscoverage dep) require global installation of expresso manually to get node-jscoverage binary
- Add buster-istanbul type to coverage target
- Add buster type to test-integration target
- Add complexity target, with complexity-report as default type, and jscheckstyle as optional type
- Remove style target
- Add tar type to package target
- Add buster test option
- Add type support to package target, available types: tar.gz (default) and zip
- Add proxy support to updep target
- Add cucumber type to test-acceptance target
- Add invalid package.json and .bob.json error handling.
- Add updep target
- Colourise SUCCESS/FAILURE status
- Move esvalidate from validate target to lint target's type
- Remove validate target
- Add validate target
- Add depgraph target using madge as default type
- Add test-acceptance target
- Increase node engine min version to >= 0.6.0
- Add test-integration target
- Add alias target support
- Add nodeunit type to test target
- Modify jscoverage-based coverage target to always reinstrument, to allow multiple coverage target calls without clean
- Add --verbose opt to display make arguments and shell commands
- Change publish-ivy target to use ivy.xml instead of conf/ivy.xml
- Add rmdep and rmtools targets
- Add publish target
- Add ivy target, replacing a combination of template + package-meta + ssh-mkdir targets
- Change default test tool from vows to mocha
- Make is executed with --silent to declutter output
- Replace build with .bob as Bob-generated build directory
- Init target no longer creates run directory
- package target now uses src, instead of src.dir, in package.json
- Modify package target to exclude only build and run directories on current directory
- Upgrade jscheckstyle to v0.0.6
- Temp remove ndoc due to node v0.8.0 build incompatibility issue
- Set max node version to < 0.9.0
- Add mocha test option
- Add .bob.json configuration file support
- Add shh-mkdir target to create remote directory to deploy to
- Re-add scripts.test override
- Rename deploy-unpack to ssh-unpack, deploy-restart to ssh-restart
- Add doc target, using ndoc as default doc tool
- Replace jquery object extend with valentine's
- Add ftp type support for deploy target
- Send target no longer creates base directory
- Change vows dependency to cloudhead/vows master now that --cover-xml pull request is merged
- Remove send target, add deploy-unpack target
- Coverage target no longer requires global node-jscoverage
- Introduce task type, this provides flexibility for having task type specific target execution.
- Tools target is now optional and only a handy convenience for executing tools against a single file
- bob -v now returns Bob version, not make version
- Template config now uses an array of template file names, previously it was an object with template file name as key and array of parameters as value.
- lintstrict target is replaced with lint target having bob.lint.type: nodelint
- scripts.test no longer overrides test target, this is to allow Bob usage on Travis
- Move tools dependency to local to simplify installation
- Display build SUCCESS/FAILURE message based on exit code
- Robot mode coverage now generates xml report, while html report is now generated on any mode
- Remove empty line from output display
- Replace node-runforcover with good ol' node-jscoverage
- Add function support to template target, starting with now(format) function
- Add build target which calls style, lint, and test targets
- Make coverage target work by using cliffano/vows with cliffano/node-runforcover
- Rename lint target to lintstrict, hint to lint, checkstyle to style
- Switch main app file back to {name}.js (apology for the flip-flop)
- Add package-meta target
- Add md5 and sha1 hash for package and package-meta
- Add versionup, versionup-minor, versionup-major targets
- Add template target
- Add custom user and key for deploy target
- Add send target, sends all files in {artifact.dir}
- Add variable support in configuration values
- Deploy target now depends on send target, then unpacks the main .tar.gz artifact
- Honour npm scripts.test|stop|start|restart if exists in place of test, stop, start, restart tasks
- Change main app file to {name}-app.js
- Use underscore extend to merge config files
- Package artifact includes name-version base directory
- Text and coverage tests *.js files in test/ dir and subdirs by default
- Stream child process output
- Add mode support (BOB_MODE=robot FTW!)
- Add checkstyle, coverage, dep, hint, nuke targets
- Replace Cake with plain Makefile
- Replace ghibli.sh with plain node * start|stop|restart|status
- Replace ShellScript + Make + Python with CoffeeScript + Cake
- Initial version