Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Getting this package finally ready for v1.0, I've decided to rewrite it using Promises instead of using callbacks and the
async
lib. This reduce both the SLOC and complexity of this code, while also creating an easier to use API that's more composable with other async tasks.Changes
package.json
.render(file, context, options)
API to better align with Handlebars.graceful-fs
to support large #s of files to avoidEMFILE
errors.Public API Changes
The refactoring changes above have lead to some pre-v1.0 API breakage, both in terms of method names and return values. I'm favoring a clean, breaking removal over deprecating APIs; please comment if you feel sternly otherwise.
loadPartials()
-->getPartials()
, returns a Promise.loadTemplate()
-->getTemplate()
, returns a Promise.loadTemplates()
-->getTemplates()
, returns a Promise.render()
now returns a Promise.New Features
async
in this package).data
channel, viaoptions.data
.compileTemplate()
hook for pre/post compile process, supports Promises._renderTemplate()
hook, supports Promises.v1.0 Todos