@b9g/crank
Advanced tools
Changelog
[0.4.2] - 2021-12-20
Changelog
[0.4.1] - 2021-10-29
createElement
and Fragment
have been added to default module exports, to work with more JSX tools (#219).className
props (#221).<Raw />
elements with parsed string values would lose their contents when rerendered (#224).RendererImpl.parse()
method can now take any ElementValue<TNode>
instead of TNode
../
export which was added in 0.4 was removed from package.json.main
and module
fields will now point to crank.js.Changelog
[0.4.0] - 2021-10-08
crank-key
, crank-ref
, crank-static
now have shorthand equivalents c-key
, c-ref
, and c-static
to save on typing.@b9g/crank
, as well as the old @bikeshaving/crank
. Again, this saves on typing.Context.prototype.flush()
method has been added. It behaves similarly to Context.prototype.schedule()
, with the exception that it runs after a component’s children is in the DOM. This is important for things like focusing after render. See #180 for motivation.c-skip
(crank-skip
) prop has been added as an alternative to <Copy />
elements. See #173 for motivation and src/__tests__/static.tsx
for examples..cjs
files instead of /cjs
directories for commonjs fallbacks.innerHTML
now checks against the old prop value rather than reading from the DOM.<div class="class" />
rerendered as <div />
would preserve the class property even though it was removed. Starting in 0.4, missing props and styles will be removed from DOM elements between renders.undefined
is yielded or returned from a component. To squash these warnings, yield or return null
instead.TagProps
is now Record<string, unknown>
as opposed to unknown
.create()
, patch()
, arrange()
) have been removed from the base renderer class. Instead, you will now have to pass in these methods via a call to super()
in the constructor. See src/dom.ts
or src/html.ts
for examples.complete()
method has been renamed to flush()
.patch()
now runs per prop as opposed to passing all props.patch()
now runs in a post-order call of the tree (yet again).boolean
properties with strings like spellcheck="true"
will now work as expected. See #175 for motivation.
"` errors.