4bnode 4.1.0 → 4.1.2

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.
Files changed (46) hide show
  1. package/README.md +25 -206
  2. package/add-crud.js +6 -106
  3. package/add-docs.js +91 -0
  4. package/add-email.js +63 -0
  5. package/add-security.js +143 -0
  6. package/index.js +76 -8
  7. package/lib/codegen.js +1223 -0
  8. package/lib/codegen.test.js +480 -0
  9. package/lib/indexFile.js +10 -12
  10. package/lib/names.js +4 -21
  11. package/lib/routeFile.js +9 -27
  12. package/lib/sync-skeleton.js +47 -0
  13. package/lib/ui.js +15 -2
  14. package/package.json +4 -2
  15. package/scripts/audit-dev-surface.mjs +153 -0
  16. package/scripts/reveal-passkey.mjs +35 -0
  17. package/skeleton/.4bnode/assets/js/App.js +31 -9
  18. package/skeleton/.4bnode/assets/js/Root.js +1 -5
  19. package/skeleton/.4bnode/assets/js/components/Sidebar.js +9 -5
  20. package/skeleton/.4bnode/assets/js/lib.js +18 -5
  21. package/skeleton/.4bnode/assets/js/pages/AiBuilderPage.js +268 -0
  22. package/skeleton/.4bnode/assets/js/pages/ApiKeysPage.js +164 -0
  23. package/skeleton/.4bnode/assets/js/pages/ApiTesterPage.js +275 -9
  24. package/skeleton/.4bnode/assets/js/pages/DatabasePage.js +44 -205
  25. package/skeleton/.4bnode/assets/js/pages/DocsPage.js +142 -0
  26. package/skeleton/.4bnode/assets/js/pages/MailPage.js +134 -0
  27. package/skeleton/.4bnode/assets/js/pages/RoutesPage.js +5 -266
  28. package/skeleton/.4bnode/assets/js/pages/SchemasPage.js +23 -213
  29. package/skeleton/.4bnode/assets/js/pages/SecurityPage.js +74 -0
  30. package/skeleton/.4bnode/assets/js/screens/PasskeyScreen.js +61 -61
  31. package/skeleton/.4bnode/codegen.js +1223 -0
  32. package/skeleton/.4bnode/dev-api.js +634 -728
  33. package/skeleton/.4bnode/ui.html +62 -40
  34. package/skeleton/_gitignore +7 -0
  35. package/skeleton/ecosystem.config.cjs +25 -0
  36. package/skeleton/index.js +46 -5
  37. package/skeleton/package.json +4 -1
  38. package/skeleton/src/middleware/apiKey.js +36 -0
  39. package/skeleton/src/middleware/errorHandler.js +15 -0
  40. package/skeleton/src/middleware/roles.js +14 -0
  41. package/skeleton/src/middleware/validate.js +20 -0
  42. package/skeleton/.4bnode/assets/images/mysql.png +0 -0
  43. package/skeleton/.4bnode/assets/images/postgresql.png +0 -0
  44. package/skeleton/.4bnode/assets/images/sqlite.png +0 -0
  45. package/skeleton/.4bnode/assets/js/pages/ReportsPage.js +0 -667
  46. 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
- }