4bnode 4.0.9 → 4.1.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/README.md +25 -206
- package/add-crud.js +6 -106
- package/add-docs.js +91 -0
- package/add-email.js +63 -0
- package/add-security.js +143 -0
- package/index.js +76 -8
- package/lib/codegen.js +1223 -0
- package/lib/codegen.test.js +480 -0
- package/lib/indexFile.js +10 -12
- package/lib/names.js +4 -21
- package/lib/routeFile.js +9 -27
- package/lib/sync-skeleton.js +47 -0
- package/lib/ui.js +15 -2
- package/package.json +4 -2
- package/scripts/audit-dev-surface.mjs +153 -0
- package/scripts/reveal-passkey.mjs +35 -0
- package/skeleton/.4bnode/assets/js/App.js +31 -9
- package/skeleton/.4bnode/assets/js/Root.js +1 -5
- package/skeleton/.4bnode/assets/js/components/Sidebar.js +9 -5
- package/skeleton/.4bnode/assets/js/lib.js +18 -5
- package/skeleton/.4bnode/assets/js/pages/AiBuilderPage.js +268 -0
- package/skeleton/.4bnode/assets/js/pages/ApiKeysPage.js +164 -0
- package/skeleton/.4bnode/assets/js/pages/ApiTesterPage.js +275 -9
- package/skeleton/.4bnode/assets/js/pages/DatabasePage.js +44 -205
- package/skeleton/.4bnode/assets/js/pages/DocsPage.js +142 -0
- package/skeleton/.4bnode/assets/js/pages/MailPage.js +134 -0
- package/skeleton/.4bnode/assets/js/pages/RoutesPage.js +5 -266
- package/skeleton/.4bnode/assets/js/pages/SchemasPage.js +23 -213
- package/skeleton/.4bnode/assets/js/pages/SecurityPage.js +74 -0
- package/skeleton/.4bnode/assets/js/screens/PasskeyScreen.js +61 -61
- package/skeleton/.4bnode/codegen.js +1223 -0
- package/skeleton/.4bnode/dev-api.js +634 -728
- package/skeleton/.4bnode/ui.html +62 -40
- package/skeleton/_gitignore +7 -0
- package/skeleton/index.js +41 -3
- package/skeleton/package.json +4 -1
- package/skeleton/src/middleware/apiKey.js +36 -0
- package/skeleton/src/middleware/errorHandler.js +15 -0
- package/skeleton/src/middleware/roles.js +14 -0
- package/skeleton/src/middleware/validate.js +20 -0
- package/skeleton/.4bnode/assets/images/mysql.png +0 -0
- package/skeleton/.4bnode/assets/images/postgresql.png +0 -0
- package/skeleton/.4bnode/assets/images/sqlite.png +0 -0
- package/skeleton/.4bnode/assets/js/pages/ReportsPage.js +0 -667
- package/skeleton/.4bnode/assets/js/screens/SplashScreen.js +0 -66
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import React, { useEffect } from "react";
|
|
2
|
-
import { motion } from "framer-motion";
|
|
3
|
-
import { html } from "../lib.js";
|
|
4
|
-
|
|
5
|
-
const LOGO_TEXT = `██╗ ██╗██████╗ ███╗ ██╗ ██████╗ ██████╗ ███████╗
|
|
6
|
-
██║ ██║██╔══██╗████╗ ██║██╔═══██╗██╔══██╗██╔════╝
|
|
7
|
-
███████║██████╔╝██╔██╗ ██║██║ ██║██║ ██║█████╗
|
|
8
|
-
╚════██║██╔══██╗██║╚██╗██║██║ ██║██║ ██║██╔══╝
|
|
9
|
-
██║██████╔╝██║ ╚████║╚██████╔╝██████╔╝███████╗
|
|
10
|
-
╚═╝╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝`;
|
|
11
|
-
|
|
12
|
-
export function SplashScreen({ onDone }) {
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
const timer = setTimeout(onDone, 2000);
|
|
15
|
-
return () => clearTimeout(timer);
|
|
16
|
-
}, []);
|
|
17
|
-
|
|
18
|
-
return html`<${motion.div}
|
|
19
|
-
className="splash"
|
|
20
|
-
initial=${{ opacity: 1 }}
|
|
21
|
-
exit=${{ opacity: 0 }}
|
|
22
|
-
transition=${{ duration: 0.5, ease: 'easeInOut' }}
|
|
23
|
-
>
|
|
24
|
-
<div className="splash-glow" />
|
|
25
|
-
|
|
26
|
-
<${motion.div}
|
|
27
|
-
className="splash-logo"
|
|
28
|
-
initial=${{ opacity: 0, scale: 0.8, y: 20 }}
|
|
29
|
-
animate=${{ opacity: 1, scale: 1, y: 0 }}
|
|
30
|
-
transition=${{ duration: 0.8, ease: [0.16, 1, 0.3, 1] }}
|
|
31
|
-
>
|
|
32
|
-
${LOGO_TEXT}
|
|
33
|
-
<//>
|
|
34
|
-
|
|
35
|
-
<${motion.div}
|
|
36
|
-
className="splash-tagline"
|
|
37
|
-
initial=${{ opacity: 0, y: 15 }}
|
|
38
|
-
animate=${{ opacity: 1, y: 0 }}
|
|
39
|
-
transition=${{ duration: 0.6, delay: 0.6, ease: 'easeOut' }}
|
|
40
|
-
>
|
|
41
|
-
Supercharge Your Node.js Setup
|
|
42
|
-
<//>
|
|
43
|
-
|
|
44
|
-
<${motion.div}
|
|
45
|
-
initial=${{ opacity: 0 }}
|
|
46
|
-
animate=${{ opacity: 1 }}
|
|
47
|
-
transition=${{ duration: 0.5, delay: 1.2 }}
|
|
48
|
-
>
|
|
49
|
-
<${motion.div}
|
|
50
|
-
style=${{ marginTop: '28px', width: '120px', height: '2px', borderRadius: '1px', background: 'linear-gradient(90deg, transparent, #0072ff, transparent)' }}
|
|
51
|
-
initial=${{ scaleX: 0 }}
|
|
52
|
-
animate=${{ scaleX: 1 }}
|
|
53
|
-
transition=${{ duration: 1, delay: 1.4, ease: 'easeInOut' }}
|
|
54
|
-
/>
|
|
55
|
-
<//>
|
|
56
|
-
|
|
57
|
-
<${motion.div}
|
|
58
|
-
className="splash-company"
|
|
59
|
-
initial=${{ opacity: 0 }}
|
|
60
|
-
animate=${{ opacity: 1 }}
|
|
61
|
-
transition=${{ duration: 0.5, delay: 1.0 }}
|
|
62
|
-
>
|
|
63
|
-
a product of <span>4Brains Technologies</span>
|
|
64
|
-
<//>
|
|
65
|
-
<//>`;
|
|
66
|
-
}
|