Commit Graph

22 Commits (36bd53955793c93b7fcaa798cd327d461d9089be)

Author SHA1 Message Date
Jan van Brügge 0a4fb34ffa
chore(test): move from deprecated karma to web-test-runner for browser tests (#1052) 1 year ago
Jan van Brügge 7af7e3f684
feat: export everything from 'snabbdom'
ISSUES CLOSED: #913, #748
BREAKING CHANGE:
The imports of snabbdom functions have changed. Every file in the
project had to be imported on its own, e.g.
```
import { h } from 'snabbdom/h'
import { VNode } from 'snabbdom/vnode'
```
Now, the main snabbdom package exports all of the public API like
```
import { h, VNode } from 'snabbdom'
```
This means consumers of the snabbdom package need to update their
imports. The change makes the use of the `exports` field in
`package.json` unnecessary, which caused issues for TypeScript users
4 years ago
Jan van Brügge a1e505370d
chore(refactor): move tests to own folder 4 years ago
Jan van Brügge 3f428cf808
chore(tools): remove custom compiler plugin 4 years ago
Shahar Or (mightyiam) 8a71211b4a dx(typescript): package and tests are two projects 5 years ago
Shahar Or (mightyiam) c862993359 ux(exports): remove the /snabbdom.bundle path
BREAKING CHANGE: the import path `snabbdom/snabbdom.bundle` is removed.
5 years ago
Shahar Or (mightyiam) dad44f0d63 feat: only esm and correct import paths
BREAKING CHANGE: CommonJS module are no longer provided.
BREAKING CHANGE: import paths in ES modules include file name
extensions.
BREAKING CHANGE: Compiled to ES2015 (was ES5).

Fixes #516.
Fixes #437.
Fixes #263. Kind of. Because there is no build step.

Thanks to @mreinstein on starting this work.
5 years ago
Shahar Or (mightyiam) b5f0d0bd8a chore: tsconfig strictBindCallApply true 5 years ago
Shahar Or (mightyiam) 3b65f77c6f chore: tsconfig noImplicitThis true 5 years ago
Shahar Or (mightyiam) 215d420950 test: benchmark core 5 years ago
Shahar Or (mightyiam) f38f49e985 chore(deps): upgrade all devDeps 5 years ago
Shahar Dawn Or 431f95018e
fix: include JSX related module in package (#524)
Fixes #503.
5 years ago
Shahar Dawn Or e018fdf79f
chore(tsc): simplify tsconfig.json using tsconfigs (#511) 5 years ago
Shahar Dawn Or b77cb512f4
refactor(tests): convert to TypeScript (#508)
Closes #293.
Fixes #509.
5 years ago
Noj Vek 7ff8d13b4e snabbdom can be used with jsx/tsx via jsxFactory: jsx 5 years ago
Alexandre Galays fc47e2c9b1 Add package.json/module 8 years ago
Andre Staltz a0033a635d
Introduce toVNode() to reconstruct root element as vnode
This commit addresses issue #167. Previously, in snabbdom v0.5.0,
patch(element, vnode) would always create a new element for the root.
This resulted in problems with custom elements (web components), and was
fixed in commit c091c59c59.

However, that commit resulted in bug #167. This meant that snabbdom
would have bugs with server-side rendering, where the root element would
be non-empty (it has many children, rendered on the server-side as
HTML), and the client-side rendering should reuse those existing
children (or clear all the children and recreate them again in patch()).

This commit introduces the function toVNode(elm) that deep-converts an
element (and its tree) to a VNode (and its tree), that is separately
imported and used before calling patch(). toVNode(elm) will look at the
element's attributes and gather those as data for the vnode.

Overall, this commit is important for fixing #167 and enabling
client/server-side rendering in an efficient manner
(destruction/recreation client-side is probably too expensive).
8 years ago
Andre Staltz 1b0163cb94
Fix modules/module file to be TypeScript source
In order for other TypeScript code to consume snabbdom's TypeScript
correctly, we must "export" the modules/module interface just like
we export other types.
8 years ago
Andre Staltz ef8b60993b Fix hooks file to be TypeScript source
In order for other TypeScript code to consume snabbdom's TypeScript
correctly, we must "export" the hooks interfaces just like we export
other types.
8 years ago
José Luis Lafuente ccbf30f0c6
Add support for css variables 8 years ago
Andre Staltz 091dc5f961
Migrate from CommonJS modules to ES2015 modules 8 years ago
Andre Staltz 499cd37b06
Migrate source code to TypeScript v2.0 8 years ago