@svadmin/create 0.32.0 → 0.33.1
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/index.js +26 -8
- package/guidance/AGENTS.md +23 -0
- package/guidance/DESIGN.md +113 -27
- package/package.json +2 -2
- package/scaffold-manifest.json +33 -22
- package/template/patches/@refinedev%2Fcore@5.0.12.patch +30 -0
- package/template/patches/bits-ui@2.19.0.patch +910 -0
- package/template/src/App.svelte +1 -1
- package/template/src/pages/Dashboard.svelte +16 -66
- package/template/src/pages/Login.svelte +192 -20
- package/template/src/resource-contracts.ts +20 -1
package/dist/index.js
CHANGED
|
@@ -5103,6 +5103,10 @@ function assertScaffoldManifest(candidate) {
|
|
|
5103
5103
|
assertStringRecord(candidate["scripts"], "scaffold manifest.scripts");
|
|
5104
5104
|
assertStringRecord(candidate["dependencies"], "scaffold manifest.dependencies");
|
|
5105
5105
|
assertStringRecord(candidate["devDependencies"], "scaffold manifest.devDependencies");
|
|
5106
|
+
for (const key of ["overrides", "patchedDependencies"]) {
|
|
5107
|
+
if (candidate[key] !== undefined)
|
|
5108
|
+
assertStringRecord(candidate[key], `scaffold manifest.${key}`);
|
|
5109
|
+
}
|
|
5106
5110
|
assertJsonObject(candidate["svadmin"], "scaffold manifest.svadmin");
|
|
5107
5111
|
assertDependencyPacks(candidate["svadmin"]["dependencyPacks"]);
|
|
5108
5112
|
assertSelectionMap(candidate["svadmin"]["dataProviders"], DATA_PROVIDER_CHOICES, "scaffold manifest.svadmin.dataProviders");
|
|
@@ -5145,7 +5149,9 @@ function createProjectPackageJson(scaffold, options) {
|
|
|
5145
5149
|
type: scaffold.type,
|
|
5146
5150
|
scripts: { ...scaffold.scripts },
|
|
5147
5151
|
dependencies,
|
|
5148
|
-
devDependencies: { ...scaffold.devDependencies }
|
|
5152
|
+
devDependencies: { ...scaffold.devDependencies },
|
|
5153
|
+
...scaffold.overrides ? { overrides: { ...scaffold.overrides } } : {},
|
|
5154
|
+
...scaffold.patchedDependencies ? { patchedDependencies: { ...scaffold.patchedDependencies } } : {}
|
|
5149
5155
|
};
|
|
5150
5156
|
}
|
|
5151
5157
|
|
|
@@ -7187,6 +7193,17 @@ var SCAFFOLD_MIGRATION_NOTES = [
|
|
|
7187
7193
|
var SCAFFOLD_UI_COMPONENTS = [
|
|
7188
7194
|
...[
|
|
7189
7195
|
"AdminApp",
|
|
7196
|
+
"ResourceOverview",
|
|
7197
|
+
"DashboardPage",
|
|
7198
|
+
"PageSection",
|
|
7199
|
+
"ContentPageShell",
|
|
7200
|
+
"ContentPageHeader",
|
|
7201
|
+
"SectionHeader",
|
|
7202
|
+
"WorkspaceLayout",
|
|
7203
|
+
"MetricBlock",
|
|
7204
|
+
"FilterToolbar",
|
|
7205
|
+
"SettingsGroup",
|
|
7206
|
+
"SettingsFieldRow",
|
|
7190
7207
|
"AutoTable",
|
|
7191
7208
|
"AutoForm",
|
|
7192
7209
|
"ShowPage",
|
|
@@ -8391,6 +8408,8 @@ ${import_picocolors4.default.bold("Scaffolding")} project in ${import_picocolors
|
|
|
8391
8408
|
const entries = fs5.readdirSync(src, { withFileTypes: true });
|
|
8392
8409
|
for (const entry of entries) {
|
|
8393
8410
|
const srcPath = path5.join(src, entry.name);
|
|
8411
|
+
if (srcPath === path5.join(templateDir, "src", "providers", "supabase.ts") && response.dataProvider !== "supabase" && response.authProvider !== "supabase")
|
|
8412
|
+
continue;
|
|
8394
8413
|
const destPath = path5.join(dest, entry.name === "_gitignore" ? ".gitignore" : entry.name);
|
|
8395
8414
|
if (entry.isDirectory()) {
|
|
8396
8415
|
copyDir(srcPath, destPath);
|
|
@@ -8457,24 +8476,23 @@ bun run dev
|
|
|
8457
8476
|
- **State**: TanStack Query v6
|
|
8458
8477
|
`);
|
|
8459
8478
|
console.log(import_picocolors4.default.green(" ✔") + " README.md generated");
|
|
8479
|
+
let dependenciesInstalled = false;
|
|
8460
8480
|
if (response.installDeps) {
|
|
8461
8481
|
console.log(`
|
|
8462
8482
|
${import_picocolors4.default.bold("Installing dependencies...")}
|
|
8463
8483
|
`);
|
|
8464
8484
|
const bunInstall = spawnSync("bun", ["install"], { cwd: projectDir, stdio: "inherit" });
|
|
8465
|
-
|
|
8466
|
-
|
|
8467
|
-
|
|
8468
|
-
console.log(import_picocolors4.default.yellow("\n ⚠ Auto-install failed. Run `bun install` or `npm install` manually."));
|
|
8469
|
-
}
|
|
8485
|
+
dependenciesInstalled = bunInstall.status === 0;
|
|
8486
|
+
if (!dependenciesInstalled) {
|
|
8487
|
+
console.log(import_picocolors4.default.yellow("\n ⚠ Auto-install failed. Run `bun install` manually; this template requires Bun to apply dependency patches."));
|
|
8470
8488
|
}
|
|
8471
8489
|
}
|
|
8472
8490
|
console.log();
|
|
8473
|
-
console.log(import_picocolors4.default.green(import_picocolors4.default.bold(" ✔ Project ready!")));
|
|
8491
|
+
console.log(import_picocolors4.default.green(import_picocolors4.default.bold(dependenciesInstalled ? " ✔ Project ready!" : " ✔ Project generated. Dependencies still need installation.")));
|
|
8474
8492
|
console.log();
|
|
8475
8493
|
console.log(" Next steps:");
|
|
8476
8494
|
console.log(` ${import_picocolors4.default.cyan(`cd ${response.projectName}`)}`);
|
|
8477
|
-
if (!
|
|
8495
|
+
if (!dependenciesInstalled) {
|
|
8478
8496
|
console.log(` ${import_picocolors4.default.cyan("bun install")}`);
|
|
8479
8497
|
}
|
|
8480
8498
|
console.log(` ${import_picocolors4.default.cyan("bun run dev")}`);
|
package/guidance/AGENTS.md
CHANGED
|
@@ -26,6 +26,29 @@ business code inside `src/features/<module>/` and expose it through the module's
|
|
|
26
26
|
|
|
27
27
|
## Required workflow
|
|
28
28
|
|
|
29
|
+
### Default-first page composition
|
|
30
|
+
|
|
31
|
+
- Start with `AdminApp`, a provider bundle, and schema-backed resources. Its
|
|
32
|
+
default layout is clean-flat; the default color is Stripe unless the user has
|
|
33
|
+
saved another selection. Keep explicit theme overrides only for intentional changes.
|
|
34
|
+
- Keep the built-in list/create/edit/show routes unless the business workflow
|
|
35
|
+
needs a different composition. Do not replace CRUD with static demo tables.
|
|
36
|
+
- Use `ResourceOverview` for a permission-aware resource entry page.
|
|
37
|
+
- Use `DashboardPage` with `metrics`, `actions`, `secondary`, and default snippets
|
|
38
|
+
for dashboards; use `PageSection`, `WorkspaceLayout`, `FilterToolbar`,
|
|
39
|
+
`SettingsGroup`, and `SettingsFieldRow` for other page compositions.
|
|
40
|
+
- Import components from `@svadmin/ui` and styles from `@svadmin/ui/app.css`.
|
|
41
|
+
Never import example files or copy example-only CSS into a consumer.
|
|
42
|
+
- Metrics must come from the application's provider. Do not manufacture totals,
|
|
43
|
+
success states, actions, or backend capabilities to fill a layout.
|
|
44
|
+
- Verify a generated application without resource-page overrides or custom CSS
|
|
45
|
+
before adding domain-specific presentation. Check list, create, edit, show,
|
|
46
|
+
validation, denied permissions, empty/error/loading states, and mobile layouts.
|
|
47
|
+
- Keep the generated Bun dependency overrides and `patches/` together. They
|
|
48
|
+
carry tested upstream declaration fixes; do not remove them or enable
|
|
49
|
+
`skipLibCheck` merely to silence dependency errors. Re-run `bun run check`
|
|
50
|
+
and `bun run build` after upgrading a patched dependency.
|
|
51
|
+
|
|
29
52
|
1. Name the page's single primary workflow and dominant next action.
|
|
30
53
|
2. Inventory every heading, description, notice, metric, badge, and data view.
|
|
31
54
|
3. Assign each fact and event to one primary UI surface.
|
package/guidance/DESIGN.md
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
version: "alpha"
|
|
3
3
|
name: "svadmin Admin UI"
|
|
4
|
-
description: "A restrained, precise product interface for repeated administrative work."
|
|
4
|
+
description: "A restrained, precise Stripe-inspired product interface for repeated administrative work."
|
|
5
5
|
colors:
|
|
6
|
-
background: "
|
|
7
|
-
foreground: "
|
|
8
|
-
surface: "
|
|
9
|
-
surface-subtle: "
|
|
10
|
-
muted-foreground: "
|
|
11
|
-
border: "
|
|
12
|
-
primary: "
|
|
13
|
-
on-primary: "
|
|
6
|
+
background: "#f6f9fc"
|
|
7
|
+
foreground: "#0a2540"
|
|
8
|
+
surface: "#ffffff"
|
|
9
|
+
surface-subtle: "#f1f4f8"
|
|
10
|
+
muted-foreground: "#425466"
|
|
11
|
+
border: "#e6ebf1"
|
|
12
|
+
primary: "#635bff"
|
|
13
|
+
on-primary: "#ffffff"
|
|
14
14
|
success: "oklch(0.51 0.16 151)"
|
|
15
15
|
warning: "oklch(0.7 0.15 75)"
|
|
16
16
|
danger: "oklch(0.58 0.22 27)"
|
|
17
17
|
typography:
|
|
18
18
|
body:
|
|
19
|
-
fontFamily: "
|
|
19
|
+
fontFamily: "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
|
|
20
20
|
fontSize: "0.875rem"
|
|
21
21
|
fontWeight: 400
|
|
22
22
|
lineHeight: 1.5
|
|
23
23
|
letterSpacing: "0px"
|
|
24
24
|
label:
|
|
25
|
-
fontFamily: "
|
|
25
|
+
fontFamily: "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
|
|
26
26
|
fontSize: "0.8125rem"
|
|
27
27
|
fontWeight: 500
|
|
28
28
|
lineHeight: 1.35
|
|
29
29
|
letterSpacing: "0px"
|
|
30
30
|
heading:
|
|
31
|
-
fontFamily: "
|
|
31
|
+
fontFamily: "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"
|
|
32
32
|
fontSize: "1.25rem"
|
|
33
33
|
fontWeight: 600
|
|
34
34
|
lineHeight: 1.3
|
|
35
35
|
letterSpacing: "0px"
|
|
36
36
|
rounded:
|
|
37
37
|
sm: "4px"
|
|
38
|
-
md: "
|
|
38
|
+
md: "8px"
|
|
39
39
|
lg: "8px"
|
|
40
40
|
spacing:
|
|
41
41
|
xs: "4px"
|
|
@@ -91,11 +91,13 @@ components:
|
|
|
91
91
|
|
|
92
92
|
## Overview
|
|
93
93
|
|
|
94
|
-
### Visual update: September
|
|
94
|
+
### Visual update: September 23, 2026
|
|
95
95
|
|
|
96
|
-
The current UI follows
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
The current UI follows a Stripe-inspired and corporate-clean visual direction:
|
|
97
|
+
neutral canvas, Stripe purple as the single action accent, hairline borders,
|
|
98
|
+
layered but restrained shadows, a subtle technical grid on the work canvas, and
|
|
99
|
+
short ease-out feedback for interactive controls. This supersedes the older
|
|
100
|
+
capability-only reference limitation below.
|
|
99
101
|
Keep SVAdmin's own branding, semantic tokens, OpenUI contracts and Bits UI behavior.
|
|
100
102
|
App chrome must use explicit anatomy hooks; never style every business `header`.
|
|
101
103
|
Package utilities live in sublayers of `utilities`, so host-authored responsive
|
|
@@ -110,7 +112,76 @@ templates.
|
|
|
110
112
|
Metronic is a capability reference only. Its page families, information
|
|
111
113
|
architecture, and scenario coverage may expose missing components or examples,
|
|
112
114
|
but its palette, decoration, card treatment, typography, and branding are not
|
|
113
|
-
visual authority.
|
|
115
|
+
visual authority. Fuse, Midone and Skote are also reference-only sources for
|
|
116
|
+
spacing and component anatomy; their template branding and decorative treatment
|
|
117
|
+
must not enter the product.
|
|
118
|
+
|
|
119
|
+
### Reference integration and precedence
|
|
120
|
+
|
|
121
|
+
The supplied references are intentionally assigned different jobs so they do
|
|
122
|
+
not become a mixed visual theme:
|
|
123
|
+
|
|
124
|
+
| Reference | Adopted responsibility | Explicitly excluded |
|
|
125
|
+
| --- | --- | --- |
|
|
126
|
+
| Stripe style prompt | `#635bff` action accent, technical grid, hairline borders, layered elevation, lift/depress feedback | Stripe brand assets, marketing gradients, oversized hero treatment |
|
|
127
|
+
| Corporate-clean prompt | neutral enterprise surfaces, readable hierarchy, generous spacing, focus-ring offset, motion capped at 200ms | blue-only palette, rigid utility-class recipes, decorative cards |
|
|
128
|
+
| Fuse / Midone / Skote | navigation anatomy, page-family coverage, toolbar/table/form composition, density observations | vendor palette, logos, fonts, CSS, copied markup or component chrome |
|
|
129
|
+
| svadmin | semantic tokens, component API, state ownership, accessibility, responsive contracts | no second visual authority |
|
|
130
|
+
|
|
131
|
+
When references conflict, svadmin semantics and accessibility win first, the
|
|
132
|
+
Stripe prompt controls the action accent and grid, and the corporate-clean
|
|
133
|
+
prompt controls restraint, spacing, and motion limits. The result is one
|
|
134
|
+
product language rather than a collage of template styles.
|
|
135
|
+
|
|
136
|
+
### Runtime integration map
|
|
137
|
+
|
|
138
|
+
The same contract is used at every delivery surface:
|
|
139
|
+
|
|
140
|
+
- `packages/ui/src/app.css` owns published semantic tokens and the
|
|
141
|
+
`clean-flat + stripe` refinement; host applications consume this stylesheet.
|
|
142
|
+
- `packages/core/src/theme.svelte.ts` owns the `stripe` color preset and mode
|
|
143
|
+
attributes; it must stay aligned with the CSS fallback values.
|
|
144
|
+
- `AdminApp` supplies `clean-flat` as a fallback layout without taking over an
|
|
145
|
+
explicit theme owner. Core supplies the default Stripe color and preserves
|
|
146
|
+
saved user selections; `layoutPreset: 'default'` remains an explicit opt-out.
|
|
147
|
+
- `example/src/App.svelte` consumes these defaults without repeating theme
|
|
148
|
+
configuration. A bare `AdminApp` renders `ResourceOverview` on its home route.
|
|
149
|
+
- `DashboardPage`, `PageSection`, `WorkspaceLayout`, and the content components
|
|
150
|
+
own reusable page composition in the published UI package. Example modules
|
|
151
|
+
own business queries and decisions, not private replacements for these layouts.
|
|
152
|
+
- `packages/create-svadmin/template` starts new projects with the same theme
|
|
153
|
+
and guidance document, so generated apps do not drift from the example.
|
|
154
|
+
- `design/admin-ui/preview` renders the published package CSS and uses the same
|
|
155
|
+
Stripe preset for component and state review.
|
|
156
|
+
- `packages/flow` resolves explicit flow overrides first, then host semantic
|
|
157
|
+
tokens, then standalone Stripe-compatible fallback colors.
|
|
158
|
+
- `packages/editor`, `packages/surface`, and `packages/ai-elements` consume
|
|
159
|
+
complete CSS color tokens, not HSL channel tuples. Independent stylesheets
|
|
160
|
+
use motion-token fallbacks so they also work without the full UI package.
|
|
161
|
+
- `packages/lite` mirrors the palette with literal colors. Its legacy-browser
|
|
162
|
+
contract deliberately excludes custom properties and modern selectors;
|
|
163
|
+
visual alignment must not remove that compatibility.
|
|
164
|
+
|
|
165
|
+
Theme refinements must preserve component density, invalid and selected states.
|
|
166
|
+
Focus belongs to the active control, not every enclosing card. Search icons and
|
|
167
|
+
clear actions use logical positioning so the same layout works in RTL.
|
|
168
|
+
|
|
169
|
+
Settings pages use `ContentPageHeader` with one page-level `h1`. When embedded
|
|
170
|
+
inside another page, pass `headingLevel="h2"` and use `h3` for nested
|
|
171
|
+
`SettingsGroup` headings. `SettingsFieldRow.controlId` associates the visible
|
|
172
|
+
label with its native control; IDs must be unique per component instance.
|
|
173
|
+
Segmented settings expose their selected option with `aria-pressed`, retain
|
|
174
|
+
their value after reload, and normalize unsupported persisted values.
|
|
175
|
+
Invalid fields expose `aria-invalid` and associate the visible error through
|
|
176
|
+
`aria-describedby`; valid sibling fields stay neutral. Clearing an error also
|
|
177
|
+
removes its association. Verify label activation with two mounted instances,
|
|
178
|
+
not only matching label text. Provider-backed settings retain their disabled
|
|
179
|
+
state when no provider is configured; demo screenshots are not persistence
|
|
180
|
+
evidence.
|
|
181
|
+
|
|
182
|
+
Do not add page-local palettes or shadow values when a semantic token exists.
|
|
183
|
+
If a new reference suggests a different treatment, record its responsibility
|
|
184
|
+
here before changing runtime CSS.
|
|
114
185
|
|
|
115
186
|
### Design principles
|
|
116
187
|
|
|
@@ -153,6 +224,15 @@ not a page background. Success, warning, and danger are reserved for semantic
|
|
|
153
224
|
status and feedback. Consumer themes may replace the primary hue while keeping
|
|
154
225
|
the neutral hierarchy and contrast relationships intact.
|
|
155
226
|
|
|
227
|
+
The reference Stripe preset uses `#635bff`, `#0a2540`, `#f6f9fc`, and
|
|
228
|
+
`#e6ebf1`. The grid is a low-contrast canvas texture only; buttons and data
|
|
229
|
+
surfaces remain solid, and gradients are not used to communicate status. The
|
|
230
|
+
runtime names for the shared depth and motion tokens are
|
|
231
|
+
`--svadmin-shadow-control`, `--svadmin-shadow-surface`,
|
|
232
|
+
`--svadmin-shadow-surface-hover`, `--svadmin-motion-fast`,
|
|
233
|
+
`--svadmin-motion-standard`, `--svadmin-motion-slow`, and
|
|
234
|
+
`--svadmin-focus-offset`.
|
|
235
|
+
|
|
156
236
|
- **WCAG 2.2 AA Contrast**: Normal text maintains at least 4.5:1 against its
|
|
157
237
|
canvas; large text, icons, and focus rings maintain at least 3:1. Enhanced AAA
|
|
158
238
|
screens target 7:1 for normal text.
|
|
@@ -162,7 +242,7 @@ the neutral hierarchy and contrast relationships intact.
|
|
|
162
242
|
|
|
163
243
|
## Typography
|
|
164
244
|
|
|
165
|
-
Use
|
|
245
|
+
Use a compatible system sans. Product pages use compact
|
|
166
246
|
headings and normal letter spacing. Uppercase table labels, negative tracking,
|
|
167
247
|
and oversized dashboard numerals are not defaults.
|
|
168
248
|
|
|
@@ -197,14 +277,14 @@ may increase slightly for genuinely clickable items, without translation or
|
|
|
197
277
|
glow. Dialogs and menus receive stronger depth because they are floating
|
|
198
278
|
layers. Dark mode keeps the same hierarchy with low-chroma surfaces.
|
|
199
279
|
|
|
200
|
-
- **Control Shadow**: `0 1px 2px rgb(15 23 42 / 0.
|
|
201
|
-
- **Surface Shadow**: `0 1px
|
|
202
|
-
- **Surface Hover Shadow**: `0
|
|
280
|
+
- **Control Shadow**: `0 1px 2px rgb(15 23 42 / 0.04), 0 0 0 1px rgb(15 23 42 / 0.02)`
|
|
281
|
+
- **Surface Shadow**: `0 1px 3px rgb(15 23 42 / 0.04), 0 4px 8px rgb(15 23 42 / 0.04)`
|
|
282
|
+
- **Surface Hover Shadow**: `0 2px 4px rgb(15 23 42 / 0.06), 0 6px 12px rgb(15 23 42 / 0.06)`
|
|
203
283
|
- **Overlay Shadow**: `0 20px 52px rgb(15 23 42 / 0.18), 0 6px 16px rgb(15 23 42 / 0.1)`
|
|
204
284
|
|
|
205
285
|
## Shapes
|
|
206
286
|
|
|
207
|
-
Controls use
|
|
287
|
+
Controls use 8px radii and bounded surfaces use 8px radii. Pills are limited to
|
|
208
288
|
status badges, avatar groups, and controls whose geometry carries meaning.
|
|
209
289
|
|
|
210
290
|
## Components
|
|
@@ -219,8 +299,12 @@ focus, or elevation with hard-coded values.
|
|
|
219
299
|
|
|
220
300
|
Transitions provide clear state confirmation without delaying user action:
|
|
221
301
|
|
|
222
|
-
- **Timing**: Micro-transitions use
|
|
223
|
-
|
|
302
|
+
- **Timing**: Micro-transitions use 150ms–200ms with `ease-out`; never use
|
|
303
|
+
`ease-in-out` for routine controls.
|
|
304
|
+
- **Feedback**: Enabled buttons may lift by 2px on fine-pointer hover and
|
|
305
|
+
depress to `scale(0.98)` on press. Neither transform runs with reduced
|
|
306
|
+
motion. Interactive cards change border and shadow only, without moving.
|
|
307
|
+
Disabled controls never lift or depress.
|
|
224
308
|
- **Focus Rings**: Operable controls declare `:focus-visible` with a 2px solid
|
|
225
309
|
ring and a 2px offset.
|
|
226
310
|
- **Accessibility**: All transitions and keyframe animations collapse to 0.01ms
|
|
@@ -320,6 +404,8 @@ Before accepting an AI-generated application page, verify all of the following:
|
|
|
320
404
|
- Don't repeat a success fact across Toast, title, description, banner, badge,
|
|
321
405
|
and table data.
|
|
322
406
|
- Don't use persistent success banners for routine mutations.
|
|
323
|
-
- Don't use gradients, glow, glassmorphism, negative letter spacing,
|
|
324
|
-
`!important` overrides as the default product language.
|
|
407
|
+
- Don't use decorative gradients, glow, glassmorphism, negative letter spacing,
|
|
408
|
+
or blanket `!important` overrides as the default product language. A subtle
|
|
409
|
+
two-line grid is allowed on the work canvas because it is part of the current
|
|
410
|
+
Stripe-inspired reference direction.
|
|
325
411
|
- Don't use cards inside cards or make every section a floating card.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@svadmin/create",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.1",
|
|
4
4
|
"description": "Scaffolding tool for svadmin projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@types/node": "^26.4.0",
|
|
28
28
|
"@types/prompts": "^2.4.9",
|
|
29
29
|
"typescript": "^7.0.2",
|
|
30
|
-
"@svadmin/core": "^0.
|
|
30
|
+
"@svadmin/core": "^0.57.0"
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
33
33
|
"svadmin",
|
package/scaffold-manifest.json
CHANGED
|
@@ -10,97 +10,108 @@
|
|
|
10
10
|
"check": "svelte-check --tsconfig ./tsconfig.json"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@svadmin/core": "^0.
|
|
14
|
-
"@svadmin/app": "^
|
|
15
|
-
"@svadmin/ai-elements": "^0.10.
|
|
16
|
-
"@svadmin/ui": "^0.
|
|
13
|
+
"@svadmin/core": "^0.57.0",
|
|
14
|
+
"@svadmin/app": "^0.2.0",
|
|
15
|
+
"@svadmin/ai-elements": "^0.10.2",
|
|
16
|
+
"@svadmin/ui": "^0.78.0",
|
|
17
17
|
"@sinclair/typebox": "^0.34.52",
|
|
18
18
|
"@tanstack/svelte-query": "^6.1.48",
|
|
19
19
|
"@lucide/svelte": "^1.35.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
+
"@types/node": "^22.0.0",
|
|
23
|
+
"esbuild": "^0.28.2",
|
|
22
24
|
"@sveltejs/vite-plugin-svelte": "^7.3.0",
|
|
23
25
|
"svelte": "^5.56.10",
|
|
24
26
|
"svelte-check": "^4.7.6",
|
|
25
27
|
"typescript": "~6.0.3",
|
|
26
28
|
"vite": "^8.2.2"
|
|
27
29
|
},
|
|
30
|
+
"overrides": {
|
|
31
|
+
"bits-ui": "2.19.0",
|
|
32
|
+
"@refinedev/core": "5.0.12"
|
|
33
|
+
},
|
|
34
|
+
"patchedDependencies": {
|
|
35
|
+
"bits-ui@2.19.0": "patches/bits-ui@2.19.0.patch",
|
|
36
|
+
"@refinedev/core@5.0.12": "patches/@refinedev%2Fcore@5.0.12.patch"
|
|
37
|
+
},
|
|
28
38
|
"svadmin": {
|
|
29
39
|
"dependencyPacks": {
|
|
30
40
|
"refine-core": {
|
|
31
|
-
"@refinedev/core": "^5.0.12"
|
|
41
|
+
"@refinedev/core": "^5.0.12",
|
|
42
|
+
"graphql": "^16.8.0"
|
|
32
43
|
},
|
|
33
44
|
"simple-rest": {
|
|
34
|
-
"@svadmin/simple-rest": "^0.12.
|
|
45
|
+
"@svadmin/simple-rest": "^0.12.1",
|
|
35
46
|
"@refinedev/simple-rest": "^6.0.1"
|
|
36
47
|
},
|
|
37
48
|
"supabase": {
|
|
38
|
-
"@svadmin/supabase": "^0.17.
|
|
49
|
+
"@svadmin/supabase": "^0.17.1",
|
|
39
50
|
"@supabase/supabase-js": "^2.112.4",
|
|
40
51
|
"@refinedev/supabase": "^6.0.2"
|
|
41
52
|
},
|
|
42
53
|
"graphql": {
|
|
43
|
-
"@svadmin/graphql": "^0.12.
|
|
54
|
+
"@svadmin/graphql": "^0.12.1",
|
|
44
55
|
"@refinedev/graphql": "^8.0.1",
|
|
45
56
|
"graphql-request": "^7.4.0",
|
|
46
57
|
"graphql": "^16.8.0"
|
|
47
58
|
},
|
|
48
59
|
"rest": {
|
|
49
|
-
"@svadmin/rest": "^
|
|
60
|
+
"@svadmin/rest": "^0.2.0",
|
|
50
61
|
"@refinedev/rest": "^2.1.1",
|
|
51
62
|
"@nestjsx/crud-request": "^5.0.0-alpha.3"
|
|
52
63
|
},
|
|
53
64
|
"airtable": {
|
|
54
|
-
"@svadmin/airtable": "^0.12.
|
|
65
|
+
"@svadmin/airtable": "^0.12.1",
|
|
55
66
|
"@refinedev/airtable": "^5.0.1"
|
|
56
67
|
},
|
|
57
68
|
"appwrite": {
|
|
58
|
-
"@svadmin/appwrite": "^0.11.
|
|
69
|
+
"@svadmin/appwrite": "^0.11.1",
|
|
59
70
|
"appwrite": ">=26.2.0",
|
|
60
71
|
"@refinedev/appwrite": "^8.0.1"
|
|
61
72
|
},
|
|
62
73
|
"directus": {
|
|
63
|
-
"@svadmin/directus": "^0.11.
|
|
74
|
+
"@svadmin/directus": "^0.11.1"
|
|
64
75
|
},
|
|
65
76
|
"drizzle": {
|
|
66
|
-
"@svadmin/drizzle": "^0.13.
|
|
77
|
+
"@svadmin/drizzle": "^0.13.1",
|
|
67
78
|
"drizzle-orm": "^1.0.0-rc.1",
|
|
68
79
|
"refine-sqlx": "^0.10.3"
|
|
69
80
|
},
|
|
70
81
|
"elysia": {
|
|
71
|
-
"@svadmin/elysia": "^0.14.
|
|
82
|
+
"@svadmin/elysia": "^0.14.1",
|
|
72
83
|
"elysia": ">=1.4.30",
|
|
73
84
|
"@elysiajs/eden": ">=1.4.9"
|
|
74
85
|
},
|
|
75
86
|
"firebase": {
|
|
76
|
-
"@svadmin/firebase": "^0.12.
|
|
87
|
+
"@svadmin/firebase": "^0.12.1"
|
|
77
88
|
},
|
|
78
89
|
"hasura": {
|
|
79
|
-
"@svadmin/hasura": "^0.12.
|
|
90
|
+
"@svadmin/hasura": "^0.12.1",
|
|
80
91
|
"@refinedev/hasura": "^7.0.1",
|
|
81
92
|
"graphql-request": "^7.4.0"
|
|
82
93
|
},
|
|
83
94
|
"medusa": {
|
|
84
|
-
"@svadmin/medusa": "^0.12.
|
|
95
|
+
"@svadmin/medusa": "^0.12.1",
|
|
85
96
|
"@refinedev/medusa": "^5.0.0"
|
|
86
97
|
},
|
|
87
98
|
"nestjs-query": {
|
|
88
|
-
"@svadmin/nestjs-query": "^0.12.
|
|
99
|
+
"@svadmin/nestjs-query": "^0.12.1",
|
|
89
100
|
"@refinedev/nestjs-query": "^5.0.0"
|
|
90
101
|
},
|
|
91
102
|
"nestjsx-crud": {
|
|
92
|
-
"@svadmin/nestjsx-crud": "^0.12.
|
|
103
|
+
"@svadmin/nestjsx-crud": "^0.12.1",
|
|
93
104
|
"@refinedev/nestjsx-crud": "^6.0.1"
|
|
94
105
|
},
|
|
95
106
|
"pocketbase": {
|
|
96
|
-
"@svadmin/pocketbase": "^0.12.
|
|
107
|
+
"@svadmin/pocketbase": "^0.12.1",
|
|
97
108
|
"pocketbase": ">=0.28.0"
|
|
98
109
|
},
|
|
99
110
|
"sanity": {
|
|
100
|
-
"@svadmin/sanity": "^0.11.
|
|
111
|
+
"@svadmin/sanity": "^0.11.1"
|
|
101
112
|
},
|
|
102
113
|
"strapi": {
|
|
103
|
-
"@svadmin/strapi": "^0.12.
|
|
114
|
+
"@svadmin/strapi": "^0.12.1",
|
|
104
115
|
"@refinedev/strapi-v4": "^7.0.1"
|
|
105
116
|
}
|
|
106
117
|
},
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
diff --git a/dist/hooks/useKeys/index.d.cts b/dist/hooks/useKeys/index.d.cts
|
|
2
|
+
index 84d443c471dbcf0d4206dd7130703eec3be0b19d..bb4574fcee52c3f0588a18f78ec5d8a0e2059bf5 100644
|
|
3
|
+
--- a/dist/hooks/useKeys/index.d.cts
|
|
4
|
+
+++ b/dist/hooks/useKeys/index.d.cts
|
|
5
|
+
@@ -1,4 +1,4 @@
|
|
6
|
+
export declare const useKeys: () => {
|
|
7
|
+
- keys: () => import("@definitions/index").KeyBuilder;
|
|
8
|
+
+ keys: () => import("../../definitions/index").KeyBuilder;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
11
|
+
diff --git a/dist/hooks/useKeys/index.d.mts b/dist/hooks/useKeys/index.d.mts
|
|
12
|
+
index 84d443c471dbcf0d4206dd7130703eec3be0b19d..bb4574fcee52c3f0588a18f78ec5d8a0e2059bf5 100644
|
|
13
|
+
--- a/dist/hooks/useKeys/index.d.mts
|
|
14
|
+
+++ b/dist/hooks/useKeys/index.d.mts
|
|
15
|
+
@@ -1,4 +1,4 @@
|
|
16
|
+
export declare const useKeys: () => {
|
|
17
|
+
- keys: () => import("@definitions/index").KeyBuilder;
|
|
18
|
+
+ keys: () => import("../../definitions/index").KeyBuilder;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
21
|
+
diff --git a/dist/hooks/useKeys/index.d.ts b/dist/hooks/useKeys/index.d.ts
|
|
22
|
+
index 84d443c471dbcf0d4206dd7130703eec3be0b19d..bb4574fcee52c3f0588a18f78ec5d8a0e2059bf5 100644
|
|
23
|
+
--- a/dist/hooks/useKeys/index.d.ts
|
|
24
|
+
+++ b/dist/hooks/useKeys/index.d.ts
|
|
25
|
+
@@ -1,4 +1,4 @@
|
|
26
|
+
export declare const useKeys: () => {
|
|
27
|
+
- keys: () => import("@definitions/index").KeyBuilder;
|
|
28
|
+
+ keys: () => import("../../definitions/index").KeyBuilder;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|