Skip to content

Commit c636757

Browse files
committed
Merge branch 'nihil-pro-update-imports'
2 parents 49c5182 + 20db668 commit c636757

File tree

11 files changed

+121
-183
lines changed

11 files changed

+121
-183
lines changed

frameworks/keyed/preact-kr-observable/package-lock.json

Lines changed: 82 additions & 121 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frameworks/keyed/preact-kr-observable/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,21 @@
1919
"url": "https://github.com/krausest/js-framework-benchmark.git"
2020
},
2121
"dependencies": {
22-
"kr-observable": "2.0.0",
23-
"preact": "^10.25.0",
24-
"react": "18.2.0",
25-
"react-dom": "18.2.0"
22+
"kr-observable": "3.0.8",
23+
"preact": "^10.25.0"
2624
},
2725
"devDependencies": {
28-
"@rollup/plugin-alias": "^5.1.1",
2926
"@babel/core": "7.21.8",
27+
"@babel/plugin-transform-react-jsx": "^7.27.1",
3028
"@babel/preset-env": "7.21.5",
3129
"@babel/preset-react": "7.18.6",
30+
"@rollup/plugin-alias": "^5.1.1",
3231
"@rollup/plugin-babel": "6.0.3",
3332
"@rollup/plugin-commonjs": "25.0.0",
3433
"@rollup/plugin-node-resolve": "15.0.2",
3534
"@rollup/plugin-replace": "5.0.2",
3635
"@rollup/plugin-terser": "0.4.3",
36+
"babel-preset-preact": "^2.0.0",
3737
"rollup": "3.22.0"
3838
}
3939
}

frameworks/keyed/preact-kr-observable/rollup.config.mjs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,15 @@ const plugins = [
1212
'process.env.NODE_ENV': JSON.stringify('production'),
1313
}),
1414
babel({
15-
exclude: 'node_modules/**',
16-
babelHelpers: 'bundled',
15+
babelHelpers: "bundled",
16+
exclude: "node_modules/**",
1717
presets: [
18-
// '@babel/preset-env',
19-
['@babel/preset-react', { runtime: 'automatic' }],
18+
['@babel/preset-react', {
19+
runtime: 'automatic',
20+
importSource: 'preact'
21+
}]
2022
],
2123
}),
22-
alias({
23-
entries:[
24-
{ find: 'react', replacement: 'preact/compat' },
25-
{ find: 'react-dom', replacement: 'preact/compat' },
26-
{ find: 'react/jsx-runtime', replacement: 'preact/compat' },
27-
{ find: 'use-sync-external-store', replacement: 'preact/compat' }
28-
]
29-
}),
3024
nodeResolve({ extensions: ['.js', '.jsx'] }),
3125
];
3226

frameworks/keyed/preact-kr-observable/src/Main.jsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { createRoot } from 'react-dom/client';
2-
import { observer } from 'kr-observable';
1+
import { render } from "preact";
2+
import { observer } from 'kr-observable/preact';
33
import { Row } from './Row';
44
import { rowsStore } from './RowsStore';
5-
import { Fragment } from "react";
65

76
const Button = ({ children, id, onClick }) => {
87
return (
@@ -20,17 +19,13 @@ const Button = ({ children, id, onClick }) => {
2019
};
2120

2221
const RowList = observer(function list() {
23-
return (
24-
<Fragment>
25-
{rowsStore.rows.map(row => (
22+
return rowsStore.rows.map(row => (
2623
<Row
2724
key={row.id}
2825
data={row}
2926
/>
3027
)
31-
)}
32-
</Fragment>
33-
)
28+
)
3429
})
3530

3631

@@ -87,5 +82,5 @@ function Main() {
8782
);
8883
}
8984

85+
render(<Main />, document.getElementById('main'));
9086

91-
createRoot(document.getElementById('main')).render(<Main />);

frameworks/keyed/preact-kr-observable/src/Row.jsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import { observer } from 'kr-observable';
1+
import { observer } from 'kr-observable/preact';
22
import { rowsStore } from "./RowsStore";
33

44
export const Row = observer(function row({ data }) {
55
return (
66
<tr className={data.selected ? 'danger' : ''}>
77
<td className="col-md-1">{data.id}</td>
88
<td className="col-md-4">
9-
<a id={data.id} onClick={rowsStore.select}>{data.label}</a>
9+
<a id={data.id} onClick={() => rowsStore.select(data.id)}>{data.label}</a>
1010
</td>
1111
<td className="col-md-1">
12-
<a onClick={rowsStore.delete}>
12+
<a onClick={() => rowsStore.delete(data.id)}>
1313
<span
1414
id={data.id}
1515
className="glyphicon glyphicon-remove"
@@ -21,3 +21,4 @@ export const Row = observer(function row({ data }) {
2121
</tr>
2222
);
2323
});
24+

frameworks/keyed/preact-kr-observable/src/RowsStore.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export class RowsStore extends Observable {
55
static shallow = new Set(['rows'])
66
rows = [];
77

8-
delete(e) {
9-
const rowIndexToDelete = this.rows.findIndex((row) => row.id === +e.target.id);
8+
delete(id) {
9+
const rowIndexToDelete = this.rows.findIndex(row => row.id === id);
1010
this.rows.splice(rowIndexToDelete, 1);
1111
};
1212

@@ -19,13 +19,14 @@ export class RowsStore extends Observable {
1919
};
2020

2121
update() {
22-
for (let i = 0; i < this.rows.length; i += 10) {
22+
const length = this.rows.length;
23+
for (let i = 0; i < length; i += 10) {
2324
this.rows[i].label += ' !!!';
2425
}
2526
};
2627

27-
select(e) {
28-
this.rows.forEach(row => row.selected = row.id === +e.target.id)
28+
select(id) {
29+
this.rows.forEach(row => row.selected = row.id === id)
2930
};
3031

3132
runLots() {
@@ -47,4 +48,5 @@ export class RowsStore extends Observable {
4748
}
4849

4950

50-
export const rowsStore = new RowsStore()
51+
52+
export const rowsStore = new RowsStore()

frameworks/keyed/react-kr-observable/package-lock.json

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

frameworks/keyed/react-kr-observable/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"url": "https://github.com/krausest/js-framework-benchmark.git"
2020
},
2121
"dependencies": {
22-
"kr-observable": "2.0.0",
22+
"kr-observable": "3.0.8",
2323
"react": "19.0.0",
2424
"react-dom": "19.0.0"
2525
},

frameworks/keyed/react-kr-observable/src/Main.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { createRoot } from 'react-dom/client';
2-
import { observer } from 'kr-observable';
2+
import { observer } from 'kr-observable/react';
33
import { Row } from './Row';
44
import { rowsStore } from './RowsStore';
5-
import { Fragment } from "react";
6-
75

86
const Button = ({ children, id, onClick }) => {
97
return (
@@ -85,3 +83,5 @@ function Main() {
8583

8684

8785
createRoot(document.getElementById('main')).render(<Main />);
86+
87+

frameworks/keyed/react-kr-observable/src/Row.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { observer } from 'kr-observable';
1+
import { observer } from 'kr-observable/react';
22
import { rowsStore } from "./RowsStore";
33

44
export const Row = observer(function row({ data }) {

0 commit comments

Comments
 (0)