Brian Kim
Brian Kim
It’s time to go public.
Currently, the first type parameter to the `Context` class is the props for the component: ```tsx function *Greeting(this: Context, {name}: {name: string}) { let count = 0; for ({name} of...
One thing that annoys/worries me is that Crank seems to unrender everything when a runtime error is thrown during component execution. The sucky thing is that once we throw an...
We should be able to use dispatchEvent to define callback prop based onevent APIs, so we don’t have to deal with capturing/bubbling for specific events. ```jsx function MyComponent({id}) { const...
Just tracking an idea I had last night. It’s possible in async generator components for stale props to be rendered, esp if the async generator component is awaiting something in...
Currently when we call `renderer.render(, node)`, all of the children of `node` which Crank doesn’t own are blown away. This means that rendering into `document.body` will blow away the rest...
Crank currently defines the JSX module globally, but it would be nice to have it work locally. https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#locally-scoped-jsx-namespaces > JSX type checking is driven by definitions in a JSX namespace,...
Use fast-check to test things like keyed node implementations and async races. https://github.com/dubzzz/fast-check
Someone asked on reddit if we’re going to support hyperscript. I think we could definitely do this and promote it as an alternative to JSX/whatever. The only concern I have...
After seeing some crank code in the wild I definitely think Crank could do with some rules to make writing cranky code a little easier and catch possible bugs. Some...