tsondb 0.20.4 → 0.20.6
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/dist/src/node/bin/tsondb.js +1 -1
- package/dist/src/node/config.d.ts +10 -0
- package/dist/src/node/index.d.ts +5 -0
- package/dist/src/node/index.js +4 -2
- package/dist/src/node/schema/generatedTypeHelpers.d.ts +3 -3
- package/dist/src/node/schema/treeOperations/format.d.ts +2 -1
- package/dist/src/node/schema/treeOperations/format.js +24 -7
- package/dist/src/node/server/index.d.ts +2 -2
- package/dist/src/node/server/index.js +2 -1
- package/dist/src/node/utils/databaseOnDisk.d.ts +2 -1
- package/dist/src/node/utils/databaseOnDisk.js +12 -12
- package/dist/src/node/utils/files.d.ts +3 -2
- package/dist/src/node/utils/files.js +2 -2
- package/dist/src/node/utils/unique.js +3 -3
- package/dist/src/shared/schema/utils/keyPath.d.ts +1 -0
- package/dist/src/shared/schema/utils/keyPath.js +2 -1
- package/dist/src/shared/validation/string.d.ts +2 -0
- package/dist/src/shared/validation/string.js +15 -0
- package/dist/src/web/web.js +289 -227
- package/package.json +16 -16
- package/public/css/styles.css +87 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tsondb",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "Lukas Obermann",
|
|
@@ -36,31 +36,31 @@
|
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@eslint/js": "^9.39.2",
|
|
39
|
-
"@rsbuild/plugin-preact": "^2.
|
|
40
|
-
"@rslib/core": "^0.
|
|
39
|
+
"@rsbuild/plugin-preact": "^2.1.0",
|
|
40
|
+
"@rslib/core": "^1.0.0",
|
|
41
41
|
"@types/debug": "^4.1.13",
|
|
42
42
|
"@types/express": "^5.0.6",
|
|
43
|
-
"@types/node": "^
|
|
44
|
-
"
|
|
43
|
+
"@types/node": "^22.20.2",
|
|
44
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
45
|
+
"commit-and-tag-version": "^13.2.0",
|
|
45
46
|
"eslint": "^9.39.4",
|
|
46
47
|
"eslint-plugin-react": "^7.37.5",
|
|
47
48
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
48
|
-
"globals": "^17.
|
|
49
|
-
"prettier": "^3.
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"typescript": "^
|
|
53
|
-
"typescript-eslint": "^8.60.1"
|
|
49
|
+
"globals": "^17.12.0",
|
|
50
|
+
"prettier": "^3.9.6",
|
|
51
|
+
"tsx": "^4.23.13",
|
|
52
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
53
|
+
"typescript-eslint": "^8.70.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@elyukai/markdown": "^0.
|
|
57
|
-
"@elyukai/utils": "^0.3.
|
|
58
|
-
"@preact/signals": "^2.
|
|
56
|
+
"@elyukai/markdown": "^0.3.3",
|
|
57
|
+
"@elyukai/utils": "^0.3.6",
|
|
58
|
+
"@preact/signals": "^2.11.2",
|
|
59
59
|
"debug": "^4.4.3",
|
|
60
60
|
"express": "^5.2.1",
|
|
61
61
|
"messageformat": "^4.0.0",
|
|
62
|
-
"preact": "^10.29.
|
|
63
|
-
"preact-iso": "^2.12.
|
|
62
|
+
"preact": "^10.29.8",
|
|
63
|
+
"preact-iso": "^2.12.2",
|
|
64
64
|
"simple-cli-args": "^0.1.3",
|
|
65
65
|
"simple-git": "^3.36.0"
|
|
66
66
|
},
|
package/public/css/styles.css
CHANGED
|
@@ -244,6 +244,14 @@ button {
|
|
|
244
244
|
cursor: pointer;
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
@media (any-pointer: fine) {
|
|
248
|
+
a.btn,
|
|
249
|
+
button {
|
|
250
|
+
padding: 0.25rem 0.5rem;
|
|
251
|
+
font-size: 0.9rem;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
247
255
|
a.btn:hover,
|
|
248
256
|
button:hover {
|
|
249
257
|
background: var(--color-button-background-hover);
|
|
@@ -255,7 +263,6 @@ a.btn--primary,
|
|
|
255
263
|
button.primary {
|
|
256
264
|
background: var(--color-button-background-primary);
|
|
257
265
|
color: var(--color-button-foreground-primary);
|
|
258
|
-
padding: 0.5rem 1rem;
|
|
259
266
|
border: none;
|
|
260
267
|
}
|
|
261
268
|
|
|
@@ -276,7 +283,6 @@ a.btn--destructive,
|
|
|
276
283
|
button.destructive {
|
|
277
284
|
background: var(--color-button-background-destructive);
|
|
278
285
|
color: var(--color-button-foreground-destructive);
|
|
279
|
-
padding: 0.5rem 1rem;
|
|
280
286
|
border: none;
|
|
281
287
|
}
|
|
282
288
|
|
|
@@ -316,6 +322,16 @@ select,
|
|
|
316
322
|
border-radius: 0;
|
|
317
323
|
}
|
|
318
324
|
|
|
325
|
+
@media (any-pointer: fine) {
|
|
326
|
+
input,
|
|
327
|
+
textarea,
|
|
328
|
+
select,
|
|
329
|
+
.textarea-grow-wrap__mirror {
|
|
330
|
+
padding: 0.25rem 0.375rem;
|
|
331
|
+
font-size: 0.9rem;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
319
335
|
input::placeholder,
|
|
320
336
|
textarea::placeholder,
|
|
321
337
|
select::placeholder {
|
|
@@ -396,7 +412,7 @@ input[type="checkbox"]:checked::before {
|
|
|
396
412
|
height: 0.4rem;
|
|
397
413
|
border-color: var(--color-background-primary);
|
|
398
414
|
transform: rotate(-45deg);
|
|
399
|
-
margin:
|
|
415
|
+
margin: -0.15rem 0 0 -0.325rem;
|
|
400
416
|
}
|
|
401
417
|
|
|
402
418
|
input[type="radio"]:checked::before {
|
|
@@ -515,6 +531,13 @@ select {
|
|
|
515
531
|
container-type: inline-size;
|
|
516
532
|
}
|
|
517
533
|
|
|
534
|
+
@supports (grid-template-rows: subgrid) {
|
|
535
|
+
.entries {
|
|
536
|
+
display: grid;
|
|
537
|
+
grid-template-columns: 1fr auto auto;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
|
|
518
541
|
.entries-item {
|
|
519
542
|
display: grid;
|
|
520
543
|
gap: 0.125rem 1.5rem;
|
|
@@ -527,6 +550,20 @@ select {
|
|
|
527
550
|
--text-padding: 0.5rem;
|
|
528
551
|
}
|
|
529
552
|
|
|
553
|
+
@supports (grid-template-rows: subgrid) {
|
|
554
|
+
.entries-item {
|
|
555
|
+
grid-template-columns: subgrid;
|
|
556
|
+
grid-column: 1 / -1;
|
|
557
|
+
grid-template-areas: "title side side" "subtitle side side" ". side side";
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
@media (any-pointer: fine) {
|
|
562
|
+
.entries-item {
|
|
563
|
+
padding: 0.0625rem 0;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
|
|
530
567
|
@container (min-width: 40rem) {
|
|
531
568
|
.entries-item {
|
|
532
569
|
grid-template-columns: 1fr auto auto;
|
|
@@ -534,6 +571,12 @@ select {
|
|
|
534
571
|
grid-template-areas: "title subtitle side";
|
|
535
572
|
align-items: center;
|
|
536
573
|
}
|
|
574
|
+
|
|
575
|
+
@supports (grid-template-rows: subgrid) {
|
|
576
|
+
.entries-item {
|
|
577
|
+
grid-template-columns: subgrid;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
537
580
|
}
|
|
538
581
|
|
|
539
582
|
.entries-item:first-child {
|
|
@@ -607,6 +650,7 @@ select {
|
|
|
607
650
|
grid-area: side;
|
|
608
651
|
display: flex;
|
|
609
652
|
align-items: center;
|
|
653
|
+
justify-content: end;
|
|
610
654
|
gap: 1rem;
|
|
611
655
|
}
|
|
612
656
|
|
|
@@ -673,6 +717,11 @@ form > .field--container {
|
|
|
673
717
|
border: none;
|
|
674
718
|
}
|
|
675
719
|
|
|
720
|
+
.field--container > .empty {
|
|
721
|
+
font-size: 0.8rem;
|
|
722
|
+
color: var(--color-foreground-tertiary);
|
|
723
|
+
}
|
|
724
|
+
|
|
676
725
|
.field--container > ul,
|
|
677
726
|
.field--container > ol {
|
|
678
727
|
margin: 0;
|
|
@@ -690,6 +739,13 @@ form > .field--container {
|
|
|
690
739
|
grid-column: 1 / 4;
|
|
691
740
|
}
|
|
692
741
|
|
|
742
|
+
@media (any-pointer: fine) {
|
|
743
|
+
.field--container > ul > li,
|
|
744
|
+
.field--container > ol > li {
|
|
745
|
+
padding-block: 0.25rem;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
|
|
693
749
|
.field--child-entities,
|
|
694
750
|
.field--child-entities > ul > li,
|
|
695
751
|
.field--child-entities > ol > li {
|
|
@@ -937,6 +993,13 @@ form > .field--container {
|
|
|
937
993
|
align-self: center;
|
|
938
994
|
}
|
|
939
995
|
|
|
996
|
+
@media (any-pointer: fine) {
|
|
997
|
+
.container-item-title {
|
|
998
|
+
font-size: 0.9rem;
|
|
999
|
+
padding-block: 0.25rem;
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
|
|
940
1003
|
.container-item-title .id {
|
|
941
1004
|
color: var(--color-foreground-tertiary);
|
|
942
1005
|
font-size: 0.8rem;
|
|
@@ -947,6 +1010,12 @@ form > .field--container {
|
|
|
947
1010
|
margin: 0.125rem 0 0;
|
|
948
1011
|
}
|
|
949
1012
|
|
|
1013
|
+
@media (any-pointer: fine) {
|
|
1014
|
+
.container-item-title .comment {
|
|
1015
|
+
margin: 0.25rem 0 0;
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
950
1019
|
.container-item-actions {
|
|
951
1020
|
flex: none;
|
|
952
1021
|
display: flex;
|
|
@@ -1002,6 +1071,21 @@ button[type="submit"] {
|
|
|
1002
1071
|
margin: 0.35rem 0 0;
|
|
1003
1072
|
}
|
|
1004
1073
|
|
|
1074
|
+
@media (any-pointer: fine) {
|
|
1075
|
+
.comment {
|
|
1076
|
+
font-size: 0.75rem;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
.comment p {
|
|
1080
|
+
margin: 0.25rem 0 0;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
.comment ul {
|
|
1084
|
+
padding-left: 1.25rem;
|
|
1085
|
+
margin: 0.25rem 0 0;
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1005
1089
|
main:has(.form-footer) {
|
|
1006
1090
|
margin-bottom: -1.5rem;
|
|
1007
1091
|
}
|