Skip to content

Commit 8d1df6e

Browse files
authored
[optimize] enable Async Render mode of DOM Renderer 2.6 (#34)
1 parent 05cbd58 commit 8d1df6e

File tree

7 files changed

+204
-143
lines changed

7 files changed

+204
-143
lines changed

ReadMe.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,42 @@ const AsyncTag = lazy(() => import('./AsyncTag'));
461461
new DOMRenderer().render(<AsyncTag />);
462462
```
463463

464+
### Async rendering (experimental)
465+
466+
#### DOM tree
467+
468+
```tsx
469+
import { DOMRenderer } from 'dom-renderer';
470+
471+
new DOMRenderer().render(
472+
<a>
473+
<b>Async rendering</b>
474+
</a>,
475+
document.body,
476+
'async'
477+
);
478+
```
479+
480+
#### Class component
481+
482+
```tsx
483+
import { component } from 'web-cell';
484+
485+
@component({
486+
tagName: 'async-renderer',
487+
renderMode: 'async'
488+
})
489+
export class AsyncRenderer extends HTMLElement {
490+
render() {
491+
return (
492+
<a>
493+
<b>Async rendering</b>
494+
</a>
495+
);
496+
}
497+
}
498+
```
499+
464500
### Animate CSS component
465501

466502
```tsx

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "web-cell",
3-
"version": "3.0.2",
3+
"version": "3.0.3",
44
"description": "Web Components engine based on VDOM, JSX, MobX & TypeScript",
55
"keywords": [
66
"web",
@@ -27,7 +27,7 @@
2727
"types": "dist/index.d.ts",
2828
"dependencies": {
2929
"@swc/helpers": "^0.5.15",
30-
"dom-renderer": "^2.5.1",
30+
"dom-renderer": "^2.6.0",
3131
"mobx": ">=6.11",
3232
"regenerator-runtime": "^0.14.1",
3333
"web-utility": "^4.4.2"
@@ -38,8 +38,8 @@
3838
"jsdom": ">=23.1"
3939
},
4040
"devDependencies": {
41-
"@eslint/compat": "^1.2.2",
42-
"@eslint/js": "^9.14.0",
41+
"@eslint/compat": "^1.2.3",
42+
"@eslint/js": "^9.15.0",
4343
"@parcel/config-default": "~2.13.0",
4444
"@parcel/packager-ts": "~2.13.0",
4545
"@parcel/transformer-typescript-tsc": "~2.13.0",
@@ -49,12 +49,12 @@
4949
"@types/node": "^20.17.6",
5050
"core-js": "^3.39.0",
5151
"element-internals-polyfill": "^1.3.12",
52-
"eslint": "^9.14.0",
52+
"eslint": "^9.15.0",
5353
"eslint-config-prettier": "^9.1.0",
5454
"eslint-plugin-react": "^7.37.2",
5555
"eslint-plugin-simple-import-sort": "^12.1.1",
5656
"globals": "^15.12.0",
57-
"husky": "^9.1.6",
57+
"husky": "^9.1.7",
5858
"jest": "^29.7.0",
5959
"jest-environment-jsdom": "^29.7.0",
6060
"jsdom": "^25.0.1",
@@ -68,9 +68,9 @@
6868
"ts-jest": "^29.2.5",
6969
"ts-node": "^10.9.2",
7070
"typedoc": "^0.26.11",
71-
"typedoc-plugin-mdn-links": "^3.3.7",
71+
"typedoc-plugin-mdn-links": "^3.3.8",
7272
"typescript": "~5.6.3",
73-
"typescript-eslint": "^8.14.0"
73+
"typescript-eslint": "^8.15.0"
7474
},
7575
"scripts": {
7676
"prepare": "husky",

0 commit comments

Comments
 (0)