suggestion: await engine to support inline engine import in options #422
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.
With commonjs it was common to require the engine in the options, and the current readme suggests this usage:
With modules, the same usage wasn't previously possible, because the inline import returns a promise.
So instead you had to await that import inline, and delay setting up further plugins:
Since the plugin initialisation is already an async function, it seemed straightforward to just
await
the engine during plugin initialisation instead, which will hopefully allow more plugin loading to occur before blocking on the await.Is this a good idea? If so I will update the docs as well.
If not we could add validation that the engine is actually an engine (has a .compile function?), to catch this error at plugin initialisation time?
Checklist
npm run test
andnpm run benchmark
and the Code of conduct