create-rue 0.1.3 → 0.3.12
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/bundle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
/*! create-rue v0.
|
|
2
|
+
/*! create-rue v0.3.12 | MIT */
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import "node:fs";
|
|
@@ -1799,8 +1799,8 @@ var require_ejs = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1799
1799
|
//#region utils/banners.ts
|
|
1800
1800
|
var import_picocolors = require_picocolors();
|
|
1801
1801
|
var import_ejs = /* @__PURE__ */ __toESM(require_ejs(), 1);
|
|
1802
|
-
const defaultBanner = "Rue.js - The Wasm Framework For
|
|
1803
|
-
const gradientBanner = "\x1B[38;2;66;211;146mR\x1B[39m\x1B[38;2;66;211;146mu\x1B[39m\x1B[38;2;66;211;146me\x1B[39m\x1B[38;2;66;211;146m.\x1B[39m\x1B[38;2;66;211;146mj\x1B[39m\x1B[38;2;
|
|
1802
|
+
const defaultBanner = "Rue.js - The Wasm Framework For Native DOM";
|
|
1803
|
+
const gradientBanner = "\x1B[38;2;66;211;146mR\x1B[39m\x1B[38;2;66;211;146mu\x1B[39m\x1B[38;2;66;211;146me\x1B[39m\x1B[38;2;66;211;146m.\x1B[39m\x1B[38;2;66;211;146mj\x1B[39m\x1B[38;2;67;209;149ms\x1B[39m\x1B[38;2;68;207;152m \x1B[39m\x1B[38;2;69;204;155m-\x1B[39m\x1B[38;2;70;202;158m \x1B[39m\x1B[38;2;71;200;160mT\x1B[39m\x1B[38;2;71;197;163mh\x1B[39m\x1B[38;2;72;195;166me\x1B[39m\x1B[38;2;73;193;169m \x1B[39m\x1B[38;2;74;190;172mW\x1B[39m\x1B[38;2;75;188;175ma\x1B[39m\x1B[38;2;76;186;178ms\x1B[39m\x1B[38;2;77;184;181mm\x1B[39m\x1B[38;2;78;181;184m \x1B[39m\x1B[38;2;79;179;187mF\x1B[39m\x1B[38;2;80;177;190mr\x1B[39m\x1B[38;2;81;174;193ma\x1B[39m\x1B[38;2;82;172;196mm\x1B[39m\x1B[38;2;82;170;199me\x1B[39m\x1B[38;2;83;167;202mw\x1B[39m\x1B[38;2;84;165;205mo\x1B[39m\x1B[38;2;85;163;208mr\x1B[39m\x1B[38;2;86;161;211mk\x1B[39m\x1B[38;2;87;158;214m \x1B[39m\x1B[38;2;88;156;217mF\x1B[39m\x1B[38;2;89;154;220mo\x1B[39m\x1B[38;2;90;151;223mr\x1B[39m\x1B[38;2;91;149;225m \x1B[39m\x1B[38;2;92;147;228mN\x1B[39m\x1B[38;2;93;144;231ma\x1B[39m\x1B[38;2;94;142;234mt\x1B[39m\x1B[38;2;94;140;237mi\x1B[39m\x1B[38;2;95;138;240mv\x1B[39m\x1B[38;2;96;135;243me\x1B[39m\x1B[38;2;97;133;246m \x1B[39m\x1B[38;2;98;131;249mD\x1B[39m\x1B[38;2;99;128;252mO\x1B[39m\x1B[38;2;100;126;255mM\x1B[39m";
|
|
1804
1804
|
//#endregion
|
|
1805
1805
|
//#region utils/deepMerge.ts
|
|
1806
1806
|
const isObject = (val) => val && typeof val === "object";
|
|
@@ -2037,7 +2037,7 @@ function inferPackageManager() {
|
|
|
2037
2037
|
//#endregion
|
|
2038
2038
|
//#region package.json
|
|
2039
2039
|
var name = "create-rue";
|
|
2040
|
-
var version = "0.
|
|
2040
|
+
var version = "0.3.12";
|
|
2041
2041
|
//#endregion
|
|
2042
2042
|
//#region index.ts
|
|
2043
2043
|
const language = await getLanguage(fileURLToPath(new URL("./locales", import.meta.url)));
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@ const Home: FC = () => (
|
|
|
36
36
|
<div className="max-w-3xl space-y-4">
|
|
37
37
|
<div className="badge badge-primary badge-outline">Rue.js</div>
|
|
38
38
|
<h1 className="text-4xl font-semibold tracking-tight sm:text-5xl">
|
|
39
|
-
The Wasm Framework For
|
|
39
|
+
The Wasm Framework For Native DOM
|
|
40
40
|
</h1>
|
|
41
41
|
<p className="max-w-2xl text-base leading-7 text-base-content/70">
|
|
42
42
|
Rue.js 采用原生 JSX / TSX 开发方式,结合细粒度响应式与面向原生 DOM
|
|
@@ -424,13 +424,13 @@ const TodoApp: FC = () => {
|
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
const nextTodo: TodoItem = {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
427
|
+
id: nextId.value++,
|
|
428
|
+
title,
|
|
429
|
+
status: 'todo',
|
|
430
|
+
archived: false,
|
|
431
|
+
createdAt: new Date().toISOString(),
|
|
432
|
+
createdOrder: nextCreatedOrder.value++,
|
|
433
|
+
}
|
|
434
434
|
|
|
435
435
|
setTodos((current) => [nextTodo, ...current])
|
|
436
436
|
setDraft('')
|
|
@@ -466,8 +466,8 @@ const TodoApp: FC = () => {
|
|
|
466
466
|
setEditingTitle('')
|
|
467
467
|
}
|
|
468
468
|
|
|
469
|
-
const saveEditing = (id: number
|
|
470
|
-
const title =
|
|
469
|
+
const saveEditing = (id: number) => {
|
|
470
|
+
const title = editingTitle.value.trim()
|
|
471
471
|
if (!title) {
|
|
472
472
|
return
|
|
473
473
|
}
|
|
@@ -592,14 +592,9 @@ const TodoApp: FC = () => {
|
|
|
592
592
|
const editingValue = isEditing ? editingTitle.value : item.title
|
|
593
593
|
const meta = statusMeta[item.status]
|
|
594
594
|
|
|
595
|
-
const commitEditing = (latestValue: string) => {
|
|
596
|
-
setEditingTitle(latestValue)
|
|
597
|
-
saveEditing(item.id, latestValue)
|
|
598
|
-
}
|
|
599
|
-
|
|
600
595
|
return (
|
|
601
596
|
<article
|
|
602
|
-
key={
|
|
597
|
+
key={item.id}
|
|
603
598
|
className={`card border bg-base-100 shadow-sm transition-all ${meta.cardClass} ${
|
|
604
599
|
item.archived ? 'opacity-75' : 'hover:-translate-y-0.5 hover:shadow-md'
|
|
605
600
|
}`}
|
|
@@ -608,7 +603,9 @@ const TodoApp: FC = () => {
|
|
|
608
603
|
<div className="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
|
|
609
604
|
<div className="flex-1 space-y-3">
|
|
610
605
|
<div className="flex flex-wrap items-center gap-2">
|
|
611
|
-
<span
|
|
606
|
+
<span
|
|
607
|
+
className={`inline-block h-2.5 w-2.5 rounded-full ${meta.dotClass}`}
|
|
608
|
+
></span>
|
|
612
609
|
<span className={meta.badgeClass}>{meta.label}</span>
|
|
613
610
|
{item.archived && (
|
|
614
611
|
<span className="badge badge-secondary badge-outline">已归档</span>
|
|
@@ -630,10 +627,7 @@ const TodoApp: FC = () => {
|
|
|
630
627
|
{item.title}
|
|
631
628
|
</h2>
|
|
632
629
|
|
|
633
|
-
<div
|
|
634
|
-
data-todo-edit-row="true"
|
|
635
|
-
className={`flex flex-col gap-3 sm:flex-row ${isEditing ? '' : 'hidden'}`}
|
|
636
|
-
>
|
|
630
|
+
<div className={`flex flex-col gap-3 sm:flex-row ${isEditing ? '' : 'hidden'}`}>
|
|
637
631
|
<input
|
|
638
632
|
className="input input-bordered w-full"
|
|
639
633
|
value={editingValue}
|
|
@@ -642,7 +636,7 @@ const TodoApp: FC = () => {
|
|
|
642
636
|
}}
|
|
643
637
|
onKeydown={(event: KeyboardEvent) => {
|
|
644
638
|
if (event.key === 'Enter') {
|
|
645
|
-
|
|
639
|
+
saveEditing(item.id)
|
|
646
640
|
}
|
|
647
641
|
if (event.key === 'Escape') {
|
|
648
642
|
cancelEditing()
|
|
@@ -652,18 +646,16 @@ const TodoApp: FC = () => {
|
|
|
652
646
|
<div className="flex gap-2">
|
|
653
647
|
<button
|
|
654
648
|
className="btn btn-primary btn-sm"
|
|
655
|
-
onClick={(
|
|
656
|
-
const editRow = (event.currentTarget as HTMLElement).closest(
|
|
657
|
-
'[data-todo-edit-row="true"]',
|
|
658
|
-
) as HTMLElement | null
|
|
659
|
-
const input = editRow?.querySelector('input') as HTMLInputElement | null
|
|
660
|
-
commitEditing(input?.value ?? editingValue)
|
|
661
|
-
}}
|
|
649
|
+
onClick={() => saveEditing(item.id)}
|
|
662
650
|
type="button"
|
|
663
651
|
>
|
|
664
652
|
保存
|
|
665
653
|
</button>
|
|
666
|
-
<button
|
|
654
|
+
<button
|
|
655
|
+
className="btn btn-ghost btn-sm"
|
|
656
|
+
onClick={cancelEditing}
|
|
657
|
+
type="button"
|
|
658
|
+
>
|
|
667
659
|
取消
|
|
668
660
|
</button>
|
|
669
661
|
</div>
|
|
@@ -689,7 +681,11 @@ const TodoApp: FC = () => {
|
|
|
689
681
|
|
|
690
682
|
<div className="flex flex-wrap gap-2 lg:justify-end">
|
|
691
683
|
{!isEditing && (
|
|
692
|
-
<button
|
|
684
|
+
<button
|
|
685
|
+
className="btn btn-sm btn-outline"
|
|
686
|
+
onClick={() => startEditing(item)}
|
|
687
|
+
type="button"
|
|
688
|
+
>
|
|
693
689
|
改名
|
|
694
690
|
</button>
|
|
695
691
|
)}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rue-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.12",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
"format-check": "oxfmt --check ."
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@rue-js/jsx-runtime": "^0.
|
|
18
|
-
"@rue-js/router": "^0.
|
|
19
|
-
"@rue-js/rue": "^0.
|
|
20
|
-
"@rue-js/runtime": "^0.
|
|
21
|
-
"@rue-js/runtime-vapor": "^0.
|
|
17
|
+
"@rue-js/jsx-runtime": "^0.3.10",
|
|
18
|
+
"@rue-js/router": "^0.3.10",
|
|
19
|
+
"@rue-js/rue": "^0.3.10",
|
|
20
|
+
"@rue-js/runtime": "^0.3.10",
|
|
21
|
+
"@rue-js/runtime-vapor": "^0.3.10",
|
|
22
22
|
"daisyui": "^5.5.19",
|
|
23
23
|
"oxfmt": "^0.48.0",
|
|
24
24
|
"oxlint": "^1.63.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@rue-js/jsx-dev-runtime": "^0.
|
|
28
|
-
"@rue-js/vite-plugin-rue": "^0.
|
|
27
|
+
"@rue-js/jsx-dev-runtime": "^0.3.10",
|
|
28
|
+
"@rue-js/vite-plugin-rue": "^0.3.10",
|
|
29
29
|
"@swc/core": "^1.15.33",
|
|
30
30
|
"@tailwindcss/typography": "^0.5.19",
|
|
31
31
|
"@tailwindcss/vite": "^4.3.0",
|