create-mettle-app 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template-mettle/package.json +2 -2
- package/template-mettle/src/components/list.jsx +15 -13
- package/template-mettle/src/main.jsx +3 -3
- package/template-mettle/src/template/home.jsx +6 -5
- package/template-mettle-apps/package.json +2 -2
- package/template-mettle-apps/src/main.jsx +2 -2
- package/template-mettle-apps/src/template/about.jsx +1 -1
- package/template-mettle-apps/src/template/home.jsx +17 -17
- package/template-mettle-apps-ts/package.json +2 -2
- package/template-mettle-apps-ts/src/main.tsx +2 -2
- package/template-mettle-apps-ts/src/template/about.tsx +1 -1
- package/template-mettle-apps-ts/src/template/home.tsx +26 -17
- package/template-mettle-ts/package.json +2 -2
- package/template-mettle-ts/src/components/list.tsx +18 -13
- package/template-mettle-ts/src/main.tsx +4 -4
- package/template-mettle-ts/src/template/home.tsx +8 -5
package/package.json
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
|
+
import { signal, produce } from 'mettle';
|
|
1
2
|
import style from '../style/list.module.css';
|
|
2
3
|
|
|
3
|
-
export default function List(
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
let count = 3;
|
|
4
|
+
export default function List() {
|
|
5
|
+
const arr = signal([1, 2]);
|
|
6
|
+
const count = signal(3);
|
|
8
7
|
|
|
9
8
|
function usePush() {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
arr.value = produce(arr.value, (draft) => {
|
|
10
|
+
draft.push(count.value++);
|
|
11
|
+
});
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
function useUnshift() {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
arr.value = produce(arr.value, (draft) => {
|
|
16
|
+
draft.unshift(count.value++);
|
|
17
|
+
});
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
function useDel() {
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
arr.value = produce(arr.value, (draft) => {
|
|
22
|
+
draft.splice(1, 1);
|
|
23
|
+
});
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
return (
|
|
26
|
+
return (
|
|
25
27
|
<fragment>
|
|
26
28
|
<div class={style.listInner}>
|
|
27
29
|
<button onClick={useUnshift}>Unshift</button>
|
|
@@ -29,7 +31,7 @@ export default function List({ setData }) {
|
|
|
29
31
|
<button onClick={useDel}>Del</button>
|
|
30
32
|
</div>
|
|
31
33
|
<ul class={style.listInner}>
|
|
32
|
-
{
|
|
34
|
+
{arr.value.map((item) => (
|
|
33
35
|
<li key={item}>{item}</li>
|
|
34
36
|
))}
|
|
35
37
|
</ul>
|
|
@@ -4,12 +4,12 @@ import List from './components/list';
|
|
|
4
4
|
import './style/app.css';
|
|
5
5
|
|
|
6
6
|
function App() {
|
|
7
|
-
return (
|
|
7
|
+
return (
|
|
8
8
|
<div class='inner'>
|
|
9
9
|
<h1>Hello mettle.js</h1>
|
|
10
10
|
<div class='app-tool'>
|
|
11
|
-
<Home/>
|
|
12
|
-
<List/>
|
|
11
|
+
<Home />
|
|
12
|
+
<List />
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { signal } from 'mettle';
|
|
2
|
+
|
|
3
|
+
export default function Home() {
|
|
4
|
+
const count = signal(0);
|
|
3
5
|
|
|
4
6
|
function add() {
|
|
5
|
-
count++;
|
|
6
|
-
setData();
|
|
7
|
+
count.value++;
|
|
7
8
|
}
|
|
8
|
-
return (
|
|
9
|
+
return (
|
|
9
10
|
<fragment>
|
|
10
11
|
<button onClick={add}>Add</button>
|
|
11
12
|
<h1>{count}</h1>
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"vite": "^6.1.0",
|
|
12
|
-
"vite-plugin-mettle": "^1.
|
|
12
|
+
"vite-plugin-mettle": "^1.5.0",
|
|
13
13
|
"mettle-jsx-runtime": "^1.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"mettle": "^1.
|
|
16
|
+
"mettle": "^1.5.0",
|
|
17
17
|
"mettle-router": "^0.6.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { signal, produce, batch, computed } from 'mettle';
|
|
1
2
|
import { linkTo } from 'mettle-router';
|
|
2
3
|
|
|
3
|
-
export default function Home(
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
count: 3,
|
|
8
|
-
};
|
|
4
|
+
export default function Home() {
|
|
5
|
+
const msg = signal('hello');
|
|
6
|
+
const arr = signal([1, 2]);
|
|
7
|
+
const count = signal(3);
|
|
9
8
|
|
|
10
9
|
function goAbout() {
|
|
11
10
|
linkTo({
|
|
@@ -18,22 +17,23 @@ export default function Home({ setData }) {
|
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
function useChange() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
batch(() => {
|
|
21
|
+
msg.value = 'world';
|
|
22
|
+
count.value++;
|
|
23
|
+
arr.value = produce(arr.value, (draft) => {
|
|
24
|
+
draft.unshift(count.value);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
const list = computed(() => arr.value.map((item) => <li key={item}>{item}</li>));
|
|
30
|
+
|
|
31
|
+
return (
|
|
28
32
|
<fragment>
|
|
29
33
|
<button onClick={goAbout}>goAbout</button>
|
|
30
34
|
<h1>Home</h1>
|
|
31
|
-
<p onClick={useChange}>{
|
|
32
|
-
<ul>
|
|
33
|
-
{state.arr.map((item) => (
|
|
34
|
-
<li key={item}>{item}</li>
|
|
35
|
-
))}
|
|
36
|
-
</ul>
|
|
35
|
+
<p onClick={useChange}>{msg}</p>
|
|
36
|
+
<ul>{list}</ul>
|
|
37
37
|
</fragment>
|
|
38
38
|
);
|
|
39
39
|
}
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"typescript": "~5.7.2",
|
|
12
12
|
"vite": "^6.1.0",
|
|
13
|
-
"vite-plugin-mettle": "^1.
|
|
13
|
+
"vite-plugin-mettle": "^1.5.0",
|
|
14
14
|
"mettle-jsx-runtime": "^1.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"mettle": "^1.
|
|
17
|
+
"mettle": "^1.5.0",
|
|
18
18
|
"mettle-router": "^0.6.0"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
signal as signalUntyped,
|
|
3
|
+
produce as produceUntyped,
|
|
4
|
+
batch,
|
|
5
|
+
computed as computedUntyped,
|
|
6
|
+
} from 'mettle';
|
|
1
7
|
import { linkTo } from 'mettle-router';
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
const signal = signalUntyped as any;
|
|
10
|
+
const produce = produceUntyped as any;
|
|
11
|
+
const computed = computedUntyped as any;
|
|
12
|
+
|
|
13
|
+
export default function Home() {
|
|
14
|
+
const msg = signal('hello');
|
|
15
|
+
const arr = signal([1, 2]);
|
|
16
|
+
const count = signal(3);
|
|
9
17
|
|
|
10
18
|
function goAbout() {
|
|
11
19
|
linkTo({
|
|
@@ -18,22 +26,23 @@ export default function Home({ setData }: any) {
|
|
|
18
26
|
}
|
|
19
27
|
|
|
20
28
|
function useChange() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
batch(() => {
|
|
30
|
+
msg.value = 'world';
|
|
31
|
+
count.value++;
|
|
32
|
+
arr.value = produce(arr.value, (draft: any) => {
|
|
33
|
+
draft.unshift(count.value);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
25
36
|
}
|
|
26
37
|
|
|
27
|
-
|
|
38
|
+
const list = computed(() => arr.value.map((item: any) => <li key={item}>{item}</li>));
|
|
39
|
+
|
|
40
|
+
return (
|
|
28
41
|
<fragment>
|
|
29
42
|
<button onClick={goAbout}>goAbout</button>
|
|
30
43
|
<h1>Home</h1>
|
|
31
|
-
<p onClick={useChange}>{
|
|
32
|
-
<ul>
|
|
33
|
-
{state.arr.map((item) => (
|
|
34
|
-
<li key={item}>{item}</li>
|
|
35
|
-
))}
|
|
36
|
-
</ul>
|
|
44
|
+
<p onClick={useChange}>{msg}</p>
|
|
45
|
+
<ul>{list}</ul>
|
|
37
46
|
</fragment>
|
|
38
47
|
);
|
|
39
48
|
}
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"typescript": "~5.7.2",
|
|
12
12
|
"vite": "^6.1.0",
|
|
13
|
-
"vite-plugin-mettle": "^1.
|
|
13
|
+
"vite-plugin-mettle": "^1.5.0",
|
|
14
14
|
"mettle-jsx-runtime": "^1.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"mettle": "^1.
|
|
17
|
+
"mettle": "^1.5.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,27 +1,32 @@
|
|
|
1
|
+
import { signal as signalUntyped, produce as produceUntyped } from 'mettle';
|
|
1
2
|
import style from '../style/list.module.css';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const signal = signalUntyped as any;
|
|
5
|
+
const produce = produceUntyped as any;
|
|
6
|
+
|
|
7
|
+
export default function List() {
|
|
8
|
+
const arr = signal([1, 2]);
|
|
9
|
+
const count = signal(3);
|
|
8
10
|
|
|
9
11
|
function usePush() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
arr.value = produce(arr.value, (draft: any) => {
|
|
13
|
+
draft.push(count.value++);
|
|
14
|
+
});
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
function useUnshift() {
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
arr.value = produce(arr.value, (draft: any) => {
|
|
19
|
+
draft.unshift(count.value++);
|
|
20
|
+
});
|
|
17
21
|
}
|
|
18
22
|
|
|
19
23
|
function useDel() {
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
arr.value = produce(arr.value, (draft: any) => {
|
|
25
|
+
draft.splice(1, 1);
|
|
26
|
+
});
|
|
22
27
|
}
|
|
23
28
|
|
|
24
|
-
return (
|
|
29
|
+
return (
|
|
25
30
|
<fragment>
|
|
26
31
|
<div class={style.listInner}>
|
|
27
32
|
<button onClick={useUnshift}>Unshift</button>
|
|
@@ -29,7 +34,7 @@ export default function List({ setData }: any) {
|
|
|
29
34
|
<button onClick={useDel}>Del</button>
|
|
30
35
|
</div>
|
|
31
36
|
<ul class={style.listInner}>
|
|
32
|
-
{
|
|
37
|
+
{arr.value.map((item: any) => (
|
|
33
38
|
<li key={item}>{item}</li>
|
|
34
39
|
))}
|
|
35
40
|
</ul>
|
|
@@ -4,15 +4,15 @@ import List from './components/list';
|
|
|
4
4
|
import './style/app.css';
|
|
5
5
|
|
|
6
6
|
function App() {
|
|
7
|
-
return (
|
|
7
|
+
return (
|
|
8
8
|
<div class='inner'>
|
|
9
9
|
<h1>Hello mettle.js</h1>
|
|
10
10
|
<div class='app-tool'>
|
|
11
|
-
<Home/>
|
|
12
|
-
<List/>
|
|
11
|
+
<Home />
|
|
12
|
+
<List />
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
createApp(<App />, '#app');
|
|
18
|
+
createApp(<App />, '#app');
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { signal as signalUntyped } from 'mettle';
|
|
2
|
+
|
|
3
|
+
const signal = signalUntyped as any;
|
|
4
|
+
|
|
5
|
+
export default function Home() {
|
|
6
|
+
const count = signal(0);
|
|
3
7
|
|
|
4
8
|
function add() {
|
|
5
|
-
count++;
|
|
6
|
-
setData();
|
|
9
|
+
count.value++;
|
|
7
10
|
}
|
|
8
|
-
return (
|
|
11
|
+
return (
|
|
9
12
|
<fragment>
|
|
10
13
|
<button onClick={add}>Add</button>
|
|
11
14
|
<h1>{count}</h1>
|