Releases: BladeRunnerJS/topiarist
Releases · BladeRunnerJS/topiarist
topiarist v0.1.4
IE8 Support
IE8 is now working again, and we now have our automated test suite running against IE8 on every check-in so we can ensure continued compatibility in the future.
Library Standardization
Made a number of changes to make the library more consistent with other typical NPM libraries:
- Use karma, mocha & expectations instead of jasmine for testing.
- Use browserify instead of webbuilder for building.
- Use eslint for linting.
- Use npm instead of Grunt as our build tool.
- Use standard directory names:
lib
->src
,spec
->test
&target
->dist
. - Use
npm test
for running all tests, including a locally run browser test against Firefox, and SauceLab tests against various other browsers. - Stop using jsdoc, and use example driven
README.md
based documentation only. - Stop creating browser-modules compatible distributions of our libraries, that even we don't use.
- Use a
master
branch instead of agh-pages
branch for simplicity, and get rid of the extra styling, and links to the different presentations of the exact same content. - Use
:
as a delimiter to indicate sub-tasks. - Stop using browser detection guards within code and tests, and instead let browserify provide a consistent environment.
Better isA() performance
Improved the performance of the isA()
method for typeof()
and instanceof()
style checks. Although Topiarist would benefit from optimization of all of it's methods, isA()
is by far the most commonly invoked, and therefore in greatest need of optimization.
Stable API Naming
As part of this release, we've made the following improvements:
topiarist.implement()
has now been renamed totopiarist.hasImplemented()
.- A new
topiarist.implement()
method has been created that works the same as the old one, but which can be invoked immediately after the constructor — it instead becomes a signal of intent, allowingisA()
checks to immediately pass, where verification is delayed until after a class has had a chance to implement any interface methods. topiarist.isAssignableFrom()
was renamed totopiarist.classIsA()
, but is also still available under
the old name.topiarist.export()
was renamed totopiarist.exportTo()
, but is also still available under
the old name.