All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Set minimum node version to 18
- Update/remove deps to fix vulnerabilities (currently 0!)
- Update npm scripts
- Add easy test commands
- Transpile tests on-demand so that they can be written against source code instead of dist code
- Conditionally remove Promise shim (HYPERNOVA_PROMISE_SHIMS env var)
- Also conditionally log performance metrics around this (HYPERNOVA_PROFILING env var)
- Add/update tests
- Add escape hatch to shut servers off so they don't persist after their test is done
- Use simple test workflow
- Add release command and workflows
- worker: Add graceful shutdown (#147, #148)
- Add option to pass an express instance in the configuration (#132)
- Update README.md: correctly use curly quotation marks (#143)
- [deps] allow `airbnb-js-shims v2 or v3
- Allow logger instance to be injected
- Handle timeout in coordinator shutdown to kill workers that have not shut down.
- Refactor server/worker configuration into smaller pieces to be exported
- Clear timeout set in raceTo
- Option to execute jobs in a batch serially, rather than concurrently
Bit of a flub with dist-tags, skipped version
- If no HTML is returned from the render function then Hypernova will reject the Promise.
- Number of CPUs is now configurable.
- Host is configurable.
- You may now return a Promise from the top-level render function.
-
toScript
function signature changed. It now expects an object of data attributes to value.// before toScript('foo', 'bar', { hello: 'world' }) // now toScript({ foo: 'bar' }, { hello: 'world' })
-
fromScript
function signature changed.// before fromScript('foo', 'bar') // now fromScript({ foo: 'bar' })
- Exceptions that are not Errors are no longer wrapped in an Error so the stack trace does not include the Hypernova callsite.
- Passing in
context
intogetComponent
which contains things like theprops
that the component will receive.
- Documentation fixes.
- Allows non-errors to be rejected from Promises in getComponent.
- Sets worker count to 1 when cpu count is 1.
- Makes the endpoint configurable.
- Exports worker functions so you can customize your own worker.
Initial Release