Skip to content

Commit 60e179e

Browse files
committed
Starting with performance demo
1 parent 520ada7 commit 60e179e

File tree

8 files changed

+29
-7
lines changed

8 files changed

+29
-7
lines changed

package-lock.json

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"cross-env": "^7.0.2",
5757
"dyo": "^2.0.4",
5858
"eslint": "^7.6.0",
59+
"js-elements.preact": "file:preact",
5960
"js-spec": "^0.1.79",
6061
"lit-html": "^1.2.1",
6162
"preact": "^10.4.7",

rollup.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ function createConfig(pkg, moduleFormat, productive) {
4141

4242
globals: {
4343
'lit-html': 'litHtml',
44-
preact: 'preact',
44+
// preact: 'preact',
4545
'@bikeshaving/crank': 'crank',
4646
'@bikeshaving/crank/dom': 'crankDOM'
4747
}
4848
},
4949

5050
external: [
5151
'lit-html',
52-
'preact',
52+
//'preact',
5353
'@bikeshaving/crank',
5454
'@bikeshaving/crank/dom'
5555
],

src/main/internal/preact.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { createElement, isValidElement, render } from 'preact'

src/main/js-elements.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import {
66
Methods
77
} from './api/core'
88

9-
import { h as createElement, patch, isElement } from './internal/superfine'
9+
//import { h as createElement, patch, isElement } from './internal/superfine'
10+
import {
11+
createElement,
12+
isValidElement as isElement,
13+
render as patch
14+
} from './internal/preact'
1015

1116
// === exports =======================================================
1217

@@ -33,7 +38,7 @@ type Component<P extends Props = {}, M extends Methods = {}> = (
3338

3439
// === defineElement =================================================
3540

36-
const defineElement = createAdaption(superfineRenderer)
41+
const defineElement = createAdaption(patch)
3742

3843
// === render ========================================================
3944

@@ -62,7 +67,8 @@ function render(content: VElement, container: Element | string) {
6267
target.innerHTML = ''
6368

6469
if (content !== null) {
65-
patch(target, content)
70+
console.log(1111, content)
71+
patch(content, target)
6672
}
6773
}
6874

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/** @jsx h */
2+
import { component, h, prop } from '../../main/js-elements'
3+
4+
component('performance-demo', {
5+
render(c) {
6+
return h('div', null, 'Will be implemented soon ...')
7+
}
8+
})

src/stories/demos/simple-counter-jsx-demo.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ component('simple-counter-jsx', {
2323
},
2424
() => [count]
2525
)
26-
console.log('xxxx')
26+
2727
return () =>
2828
h(
2929
'div',

src/stories/index.stories.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import './demos/mouse-demo'
1414
import './demos/provision-demo'
1515
import './demos/interval-demo'
1616
import './demos/promise-demo'
17+
import './demos/performance-demo'
1718
import './demos/store-demo'
1819
import './demos/todo-mvc'
1920
import './styles.css'
@@ -36,6 +37,7 @@ export const Provision = () => '<provision-demo></provision-demo'
3637
export const Iterator = () => '<iterator-demo/>'
3738
export const Interval = () => '<interval-demo></iterator-demo>'
3839
export const Promises = () => '<promise-demo></promise-demo>'
40+
export const Performance = () => '<performance-demo></performance-demo>'
3941
export const Stores = () => '<store-demo></store-demo>'
4042

4143
/*

0 commit comments

Comments
 (0)