nextworks 0.0.1 → 0.1.0-alpha.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 +209 -30
- package/dist/.gitkeep +0 -0
- package/dist/cli_manifests/auth_manifest.json +86 -0
- package/dist/cli_manifests/blocks_manifest.json +185 -0
- package/dist/cli_manifests/data_manifest.json +51 -0
- package/dist/cli_manifests/forms_manifest.json +61 -0
- package/dist/commands/admin-posts.d.ts +2 -0
- package/dist/commands/admin-posts.d.ts.map +1 -0
- package/dist/commands/admin-posts.js +15 -0
- package/dist/commands/admin-posts.js.map +1 -0
- package/dist/commands/admin-users.d.ts +2 -0
- package/dist/commands/admin-users.d.ts.map +1 -0
- package/dist/commands/admin-users.js +15 -0
- package/dist/commands/admin-users.js.map +1 -0
- package/dist/commands/auth-core.d.ts +2 -0
- package/dist/commands/auth-core.d.ts.map +1 -0
- package/dist/commands/auth-core.js +83 -0
- package/dist/commands/auth-core.js.map +1 -0
- package/dist/commands/auth-forms.d.ts +2 -0
- package/dist/commands/auth-forms.d.ts.map +1 -0
- package/dist/commands/auth-forms.js +15 -0
- package/dist/commands/auth-forms.js.map +1 -0
- package/dist/commands/blocks-options.d.ts +7 -0
- package/dist/commands/blocks-options.d.ts.map +1 -0
- package/dist/commands/blocks-options.js +19 -0
- package/dist/commands/blocks-options.js.map +1 -0
- package/dist/commands/blocks.d.ts +7 -0
- package/dist/commands/blocks.d.ts.map +1 -0
- package/dist/commands/blocks.js +145 -0
- package/dist/commands/blocks.js.map +1 -0
- package/dist/commands/data.d.ts +3 -0
- package/dist/commands/data.d.ts.map +1 -0
- package/dist/commands/data.js +88 -0
- package/dist/commands/data.js.map +1 -0
- package/dist/commands/forms.d.ts +6 -0
- package/dist/commands/forms.d.ts.map +1 -0
- package/dist/commands/forms.js +107 -0
- package/dist/commands/forms.js.map +1 -0
- package/dist/commands/remove-auth-core.d.ts +2 -0
- package/dist/commands/remove-auth-core.d.ts.map +1 -0
- package/dist/commands/remove-auth-core.js +69 -0
- package/dist/commands/remove-auth-core.js.map +1 -0
- package/dist/commands/remove-blocks.d.ts +2 -0
- package/dist/commands/remove-blocks.d.ts.map +1 -0
- package/dist/commands/remove-blocks.js +36 -0
- package/dist/commands/remove-blocks.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/kits/auth-core/README.md +106 -0
- package/dist/kits/auth-core/app/(protected)/dashboard/page.tsx +8 -0
- package/dist/kits/auth-core/app/(protected)/layout.tsx +18 -0
- package/dist/kits/auth-core/app/(protected)/settings/profile/page.tsx +15 -0
- package/dist/kits/auth-core/app/(protected)/settings/profile/profile-form.tsx +114 -0
- package/dist/kits/auth-core/app/api/auth/[...nextauth]/route.ts +1 -0
- package/dist/kits/auth-core/app/api/auth/forgot-password/route.ts +114 -0
- package/dist/kits/auth-core/app/api/auth/providers/route.ts +6 -0
- package/dist/kits/auth-core/app/api/auth/reset-password/route.ts +63 -0
- package/dist/kits/auth-core/app/api/auth/send-verify-email/route.ts +6 -0
- package/dist/kits/auth-core/app/api/signup/route.ts +41 -0
- package/dist/kits/auth-core/app/auth/forgot-password/page.tsx +21 -0
- package/dist/kits/auth-core/app/auth/login/page.tsx +5 -0
- package/dist/kits/auth-core/app/auth/reset-password/page.tsx +187 -0
- package/dist/kits/auth-core/app/auth/signup/page.tsx +5 -0
- package/dist/kits/auth-core/app/auth/verify-email/page.tsx +11 -0
- package/dist/kits/auth-core/components/admin/admin-header.tsx +57 -0
- package/dist/kits/auth-core/components/auth/dashboard.tsx +237 -0
- package/dist/kits/auth-core/components/auth/forgot-password-form.tsx +90 -0
- package/dist/kits/auth-core/components/auth/login-form.tsx +467 -0
- package/dist/kits/auth-core/components/auth/logout-button.tsx +50 -0
- package/dist/kits/auth-core/components/auth/minimal-logout-button.tsx +40 -0
- package/dist/kits/auth-core/components/auth/signup-form.tsx +468 -0
- package/dist/kits/auth-core/components/require-auth.tsx +59 -0
- package/dist/kits/auth-core/components/session-provider.tsx +11 -0
- package/dist/kits/auth-core/components/ui/README.txt +1 -0
- package/dist/kits/auth-core/components/ui/button.tsx +55 -0
- package/dist/kits/auth-core/components/ui/input.tsx +25 -0
- package/dist/kits/auth-core/components/ui/label.tsx +23 -0
- package/dist/kits/auth-core/lib/api/errors.ts +14 -0
- package/dist/kits/auth-core/lib/auth-helpers.ts +29 -0
- package/dist/kits/auth-core/lib/auth.ts +142 -0
- package/dist/kits/auth-core/lib/email/dev-transport.ts +42 -0
- package/dist/kits/auth-core/lib/email/index.ts +28 -0
- package/dist/kits/auth-core/lib/email/provider-smtp.ts +36 -0
- package/dist/kits/auth-core/lib/forms/map-errors.ts +11 -0
- package/dist/kits/auth-core/lib/hash.ts +6 -0
- package/dist/kits/auth-core/lib/prisma.ts +15 -0
- package/dist/kits/auth-core/lib/server/result.ts +45 -0
- package/dist/kits/auth-core/lib/utils.ts +6 -0
- package/dist/kits/auth-core/lib/validation/forms.ts +88 -0
- package/dist/kits/auth-core/package-deps.json +19 -0
- package/dist/kits/auth-core/prisma/auth-models.prisma +81 -0
- package/dist/kits/auth-core/prisma/schema.prisma +81 -0
- package/dist/kits/auth-core/scripts/populate-tokenhash.mjs +26 -0
- package/dist/kits/auth-core/scripts/promote-admin.mjs +33 -0
- package/dist/kits/auth-core/scripts/seed-demo.mjs +40 -0
- package/dist/kits/auth-core/types/next-auth.d.ts +25 -0
- package/dist/kits/blocks/README.md +53 -0
- package/dist/kits/blocks/app/globals.css +175 -0
- package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -0
- package/dist/kits/blocks/app/templates/digitalagency/README.md +36 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/About.tsx +99 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/CTA.tsx +74 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Contact.tsx +227 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Footer.tsx +89 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Hero.tsx +90 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Navbar.tsx +168 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/NetworkPattern.tsx +297 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Portfolio.tsx +157 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -0
- package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -0
- package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -0
- package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +85 -0
- package/dist/kits/blocks/app/templates/gallery/page.tsx +303 -0
- package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +74 -0
- package/dist/kits/blocks/app/templates/productlaunch/README.md +55 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +178 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +93 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +93 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +84 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +89 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +162 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +89 -0
- package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -0
- package/dist/kits/blocks/app/templates/productlaunch/page.tsx +45 -0
- package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -0
- package/dist/kits/blocks/app/templates/saasdashboard/README.md +38 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +176 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +91 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +105 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +127 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +159 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +97 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -0
- package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -0
- package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -0
- package/dist/kits/blocks/components/app-providers.tsx +1 -0
- package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -0
- package/dist/kits/blocks/components/sections/About.tsx +291 -0
- package/dist/kits/blocks/components/sections/CTA.tsx +258 -0
- package/dist/kits/blocks/components/sections/Contact.tsx +267 -0
- package/dist/kits/blocks/components/sections/FAQ.tsx +226 -0
- package/dist/kits/blocks/components/sections/Features.tsx +269 -0
- package/dist/kits/blocks/components/sections/Footer.tsx +302 -0
- package/dist/kits/blocks/components/sections/HeroMotion.tsx +307 -0
- package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -0
- package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -0
- package/dist/kits/blocks/components/sections/Navbar.tsx +353 -0
- package/dist/kits/blocks/components/sections/Newsletter.tsx +156 -0
- package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +550 -0
- package/dist/kits/blocks/components/sections/Pricing.tsx +264 -0
- package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -0
- package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -0
- package/dist/kits/blocks/components/sections/Team.tsx +309 -0
- package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -0
- package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -0
- package/dist/kits/blocks/components/theme-provider.tsx +34 -0
- package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -0
- package/dist/kits/blocks/components/ui/brand-node.tsx +121 -0
- package/dist/kits/blocks/components/ui/button.tsx +122 -0
- package/dist/kits/blocks/components/ui/button_bck.tsx +93 -0
- package/dist/kits/blocks/components/ui/card.tsx +95 -0
- package/dist/kits/blocks/components/ui/checkbox.tsx +30 -0
- package/dist/kits/blocks/components/ui/cta-button.tsx +125 -0
- package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -0
- package/dist/kits/blocks/components/ui/feature-card.tsx +91 -0
- package/dist/kits/blocks/components/ui/input.tsx +27 -0
- package/dist/kits/blocks/components/ui/label.tsx +29 -0
- package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -0
- package/dist/kits/blocks/components/ui/select.tsx +25 -0
- package/dist/kits/blocks/components/ui/skeleton.tsx +13 -0
- package/dist/kits/blocks/components/ui/switch.tsx +78 -0
- package/dist/kits/blocks/components/ui/table.tsx +98 -0
- package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -0
- package/dist/kits/blocks/components/ui/textarea.tsx +26 -0
- package/dist/kits/blocks/components/ui/theme-selector.tsx +247 -0
- package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -0
- package/dist/kits/blocks/components/ui/toaster.tsx +7 -0
- package/dist/kits/blocks/lib/themes.ts +399 -0
- package/dist/kits/blocks/lib/themes_old.ts +37 -0
- package/dist/kits/blocks/lib/utils.ts +9 -0
- package/dist/kits/blocks/next.config.ts +11 -0
- package/dist/kits/blocks/notes/THEME_GUIDE.md +29 -0
- package/dist/kits/blocks/notes/THEMING_CONVERSION_SUMMARY.md +14 -0
- package/dist/kits/blocks/package-deps.json +22 -0
- package/dist/kits/blocks/public/placeholders/gallery/hero-pexels-broken-9945014.avif +0 -0
- package/dist/kits/blocks/public/placeholders/gallery/pexels-googledeepmind-25626431.jpg +0 -0
- package/dist/kits/blocks/public/placeholders/gallery/pexels-googledeepmind-25626432.jpg +0 -0
- package/dist/kits/blocks/public/placeholders/gallery/pexels-googledeepmind-25626434.jpg +0 -0
- package/dist/kits/blocks/public/placeholders/gallery/pexels-googledeepmind-25626436.jpg +0 -0
- package/dist/kits/blocks/public/placeholders/product_launch/feature_1.png +0 -0
- package/dist/kits/blocks/public/placeholders/product_launch/feature_2.png +0 -0
- package/dist/kits/blocks/public/placeholders/product_launch/feature_3.png +0 -0
- package/dist/kits/blocks/public/placeholders/product_launch/feature_4.png +0 -0
- package/dist/kits/blocks/public/placeholders/product_launch/hero.png +0 -0
- package/dist/kits/blocks/public/placeholders/saas_dashboard/analytics.png +0 -0
- package/dist/kits/blocks/public/placeholders/saas_dashboard/chat.png +0 -0
- package/dist/kits/blocks/public/placeholders/saas_dashboard/projectBoard.png +0 -0
- package/dist/kits/data/.gitkeep +0 -0
- package/dist/kits/data/README.md +104 -0
- package/dist/kits/data/app/(protected)/admin/posts/page.tsx +5 -0
- package/dist/kits/data/app/(protected)/admin/users/page.tsx +5 -0
- package/dist/kits/data/app/api/posts/[id]/route.ts +83 -0
- package/dist/kits/data/app/api/posts/route.ts +138 -0
- package/dist/kits/data/app/api/seed-demo/route.ts +45 -0
- package/dist/kits/data/app/api/users/[id]/route.ts +127 -0
- package/dist/kits/data/app/api/users/check-email/route.ts +18 -0
- package/dist/kits/data/app/api/users/check-unique/route.ts +27 -0
- package/dist/kits/data/app/api/users/route.ts +79 -0
- package/dist/kits/data/app/examples/demo/README.md +4 -0
- package/dist/kits/data/app/examples/demo/create-post-form.tsx +106 -0
- package/dist/kits/data/app/examples/demo/page.tsx +118 -0
- package/dist/kits/data/app/examples/demo/seed-demo-button.tsx +37 -0
- package/dist/kits/data/components/admin/posts-manager.tsx +719 -0
- package/dist/kits/data/components/admin/users-manager.tsx +432 -0
- package/dist/kits/data/lib/prisma.ts +15 -0
- package/dist/kits/data/lib/server/result.ts +90 -0
- package/dist/kits/data/package-deps.json +11 -0
- package/dist/kits/data/scripts/seed-demo.mjs +41 -0
- package/dist/kits/forms/.gitkeep +0 -0
- package/dist/kits/forms/README.md +49 -0
- package/dist/kits/forms/app/.gitkeep +0 -0
- package/dist/kits/forms/app/api/wizard/route.ts +71 -0
- package/dist/kits/forms/app/examples/forms/basic/page.tsx +124 -0
- package/dist/kits/forms/app/examples/forms/server-action/form-client.tsx +28 -0
- package/dist/kits/forms/app/examples/forms/server-action/page.tsx +71 -0
- package/dist/kits/forms/app/examples/forms/wizard/page.tsx +15 -0
- package/dist/kits/forms/app/examples/forms/wizard/wizard-client.tsx +2 -0
- package/dist/kits/forms/components/.gitkeep +0 -0
- package/dist/kits/forms/components/examples/wizard-client.tsx +231 -0
- package/dist/kits/forms/components/hooks/useCheckUnique.ts +79 -0
- package/dist/kits/forms/components/ui/button.tsx +122 -0
- package/dist/kits/forms/components/ui/checkbox.tsx +30 -0
- package/dist/kits/forms/components/ui/form/context.ts +33 -0
- package/dist/kits/forms/components/ui/form/form-control.tsx +28 -0
- package/dist/kits/forms/components/ui/form/form-description.tsx +22 -0
- package/dist/kits/forms/components/ui/form/form-field.tsx +36 -0
- package/dist/kits/forms/components/ui/form/form-item.tsx +21 -0
- package/dist/kits/forms/components/ui/form/form-label.tsx +24 -0
- package/dist/kits/forms/components/ui/form/form-message.tsx +29 -0
- package/dist/kits/forms/components/ui/form/form.tsx +26 -0
- package/dist/kits/forms/components/ui/input.tsx +27 -0
- package/dist/kits/forms/components/ui/label.tsx +29 -0
- package/dist/kits/forms/components/ui/select.tsx +25 -0
- package/dist/kits/forms/components/ui/switch.tsx +78 -0
- package/dist/kits/forms/components/ui/textarea.tsx +26 -0
- package/dist/kits/forms/lib/.gitkeep +0 -0
- package/dist/kits/forms/lib/forms/map-errors.ts +29 -0
- package/dist/kits/forms/lib/prisma.ts +16 -0
- package/dist/kits/forms/lib/utils.ts +9 -0
- package/dist/kits/forms/lib/validation/forms.ts +88 -0
- package/dist/kits/forms/lib/validation/wizard.ts +32 -0
- package/dist/kits/forms/package-deps.json +17 -0
- package/dist/utils/file-operations.d.ts +18 -0
- package/dist/utils/file-operations.d.ts.map +1 -0
- package/dist/utils/file-operations.js +327 -0
- package/dist/utils/file-operations.js.map +1 -0
- package/dist/utils/installation-tracker.d.ts +26 -0
- package/dist/utils/installation-tracker.d.ts.map +1 -0
- package/dist/utils/installation-tracker.js +98 -0
- package/dist/utils/installation-tracker.js.map +1 -0
- package/package.json +51 -21
- package/index.js +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addAdminUsers = addAdminUsers;
|
|
4
|
+
async function addAdminUsers() {
|
|
5
|
+
console.log("Installing admin-users kit...");
|
|
6
|
+
try {
|
|
7
|
+
console.log("✓ admin-users kit will be available soon!");
|
|
8
|
+
console.log("This kit will include user management admin panel.");
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.log("❌ Failed to install admin-users kit");
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=admin-users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-users.js","sourceRoot":"","sources":["../../src/commands/admin-users.ts"],"names":[],"mappings":";;AAAA,sCAUC;AAVM,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-core.d.ts","sourceRoot":"","sources":["../../src/commands/auth-core.ts"],"names":[],"mappings":"AAeA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6FjD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addAuthCore = addAuthCore;
|
|
7
|
+
const file_operations_1 = require("../utils/file-operations");
|
|
8
|
+
const installation_tracker_1 = require("../utils/installation-tracker");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const forms_1 = require("./forms");
|
|
11
|
+
async function addAuthCore() {
|
|
12
|
+
console.log("Installing auth-core kit...");
|
|
13
|
+
try {
|
|
14
|
+
// Ensure forms kit is installed first (for form primitives and validation)
|
|
15
|
+
const installed = await (0, installation_tracker_1.getInstalledKits)();
|
|
16
|
+
if (!installed.includes("forms")) {
|
|
17
|
+
console.log("Auth requires the Forms kit. Installing Forms kit first...");
|
|
18
|
+
await (0, forms_1.addForms)({ auto: true });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.log("Forms kit already installed — skipping Forms installation.");
|
|
22
|
+
}
|
|
23
|
+
// Get the kit directory path
|
|
24
|
+
const kitDir = (0, file_operations_1.resolveAssetPath)("kits", "auth-core");
|
|
25
|
+
// Use the auth manifest as the single source of truth for files to copy.
|
|
26
|
+
// In the published package, cli_manifests lives at the package root (next to dist/).
|
|
27
|
+
const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "auth_manifest.json");
|
|
28
|
+
const manifest = await (0, file_operations_1.readJsonFile)(manifestPath);
|
|
29
|
+
// Start from manifest.files and append kit-specific files that aren't listed there
|
|
30
|
+
const manifestFiles = Array.isArray(manifest.files)
|
|
31
|
+
? manifest.files
|
|
32
|
+
: [];
|
|
33
|
+
const extraFiles = [
|
|
34
|
+
// Types and protected layout that are part of the kit but not listed in the manifest
|
|
35
|
+
"types/next-auth.d.ts",
|
|
36
|
+
"lib/utils.ts",
|
|
37
|
+
"lib/api/errors.ts",
|
|
38
|
+
"app/(protected)/layout.tsx",
|
|
39
|
+
"app/(protected)/dashboard/page.tsx",
|
|
40
|
+
"components/auth/dashboard.tsx",
|
|
41
|
+
"components/auth/logout-button.tsx",
|
|
42
|
+
];
|
|
43
|
+
const files = Array.from(new Set([...manifestFiles, ...extraFiles]));
|
|
44
|
+
// Copy files
|
|
45
|
+
await (0, file_operations_1.copyFiles)(kitDir, process.cwd(), files);
|
|
46
|
+
// Update package.json with dependencies
|
|
47
|
+
const depsPath = path_1.default.join(kitDir, "package-deps.json");
|
|
48
|
+
const deps = await (0, file_operations_1.readJsonFile)(depsPath);
|
|
49
|
+
await (0, file_operations_1.updatePackageJson)(deps);
|
|
50
|
+
// Update layout.tsx
|
|
51
|
+
await (0, file_operations_1.updateLayoutFile)();
|
|
52
|
+
// Track the installation
|
|
53
|
+
await (0, installation_tracker_1.addInstalledKit)("auth-core", Object.keys(deps.dependencies || {}), Object.keys(deps.devDependencies || {}), files);
|
|
54
|
+
console.log("✓ auth-core kit installed successfully!");
|
|
55
|
+
// Print next steps
|
|
56
|
+
console.log("\n📋 Next steps:");
|
|
57
|
+
console.log("1. Add these environment variables to your .env.local:");
|
|
58
|
+
console.log(" NEXTAUTH_SECRET=your-secret-key");
|
|
59
|
+
console.log(" NEXTAUTH_URL=http://localhost:3000");
|
|
60
|
+
console.log(" GITHUB_ID=your-github-client-id (optional)");
|
|
61
|
+
console.log(" GITHUB_SECRET=your-github-client-secret (optional)");
|
|
62
|
+
console.log(" DATABASE_URL=your-database-url");
|
|
63
|
+
console.log("\n2. Update your Prisma schema with the auth models:");
|
|
64
|
+
console.log(" Check prisma/auth-models.prisma (copied to your project)");
|
|
65
|
+
console.log(" Copy the models to your prisma/schema.prisma file");
|
|
66
|
+
console.log("\n3. Run Prisma commands:");
|
|
67
|
+
console.log(" npx prisma generate");
|
|
68
|
+
console.log(" npx prisma migrate dev -n init");
|
|
69
|
+
console.log("\n4. Install dependencies:");
|
|
70
|
+
console.log(" npm install");
|
|
71
|
+
console.log("\n✨ Auth core is ready! You now have:");
|
|
72
|
+
console.log(" • Login page: /auth/login");
|
|
73
|
+
console.log(" • Signup page: /auth/signup");
|
|
74
|
+
console.log(" • Protected dashboard: /dashboard");
|
|
75
|
+
console.log(" • RequireAuth component for protecting routes");
|
|
76
|
+
console.log(" • Complete authentication system with NextAuth + Prisma");
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.log("❌ Failed to install auth-core kit");
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=auth-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-core.js","sourceRoot":"","sources":["../../src/commands/auth-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-forms.d.ts","sourceRoot":"","sources":["../../src/commands/auth-forms.ts"],"names":[],"mappings":"AAAA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addAuthForms = addAuthForms;
|
|
4
|
+
async function addAuthForms() {
|
|
5
|
+
console.log("Installing auth-forms kit...");
|
|
6
|
+
try {
|
|
7
|
+
console.log("✓ auth-forms kit will be available soon!");
|
|
8
|
+
console.log("This kit will include login and signup forms.");
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.log("❌ Failed to install auth-forms kit");
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=auth-forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-forms.js","sourceRoot":"","sources":["../../src/commands/auth-forms.ts"],"names":[],"mappings":";;AAAA,oCAUC;AAVM,KAAK,UAAU,YAAY;IAChC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks-options.d.ts","sourceRoot":"","sources":["../../src/commands/blocks-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,YAmBhE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveBlocksGroups = resolveBlocksGroups;
|
|
4
|
+
function resolveBlocksGroups(options) {
|
|
5
|
+
const groups = [];
|
|
6
|
+
// Core is always included for now
|
|
7
|
+
groups.push("core");
|
|
8
|
+
if (options.sections) {
|
|
9
|
+
groups.push("sections");
|
|
10
|
+
}
|
|
11
|
+
if (options.templates) {
|
|
12
|
+
groups.push("templates");
|
|
13
|
+
}
|
|
14
|
+
if (options.gallery) {
|
|
15
|
+
groups.push("gallery");
|
|
16
|
+
}
|
|
17
|
+
return groups;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=blocks-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks-options.js","sourceRoot":"","sources":["../../src/commands/blocks-options.ts"],"names":[],"mappings":";;AAMA,kDAmBC;AAnBD,SAAgB,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,kCAAkC;IAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiL7E"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addBlocks = addBlocks;
|
|
7
|
+
// inquirer is ESM-only. Use dynamic import() at runtime to avoid require() errors when CLI is compiled to CommonJS.
|
|
8
|
+
const file_operations_1 = require("../utils/file-operations");
|
|
9
|
+
const installation_tracker_1 = require("../utils/installation-tracker");
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
async function addBlocks(options = {}) {
|
|
12
|
+
console.log("Installing blocks kit...");
|
|
13
|
+
try {
|
|
14
|
+
const kitDir = (0, file_operations_1.resolveAssetPath)("kits", "blocks");
|
|
15
|
+
const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "blocks_manifest.json");
|
|
16
|
+
const manifest = (await (0, file_operations_1.readJsonFile)(manifestPath));
|
|
17
|
+
// Decide which groups to install.
|
|
18
|
+
// Core is always included to satisfy the contract that sections/templates rely on core.
|
|
19
|
+
const explicitGroups = [];
|
|
20
|
+
if (options.sections)
|
|
21
|
+
explicitGroups.push("sections");
|
|
22
|
+
if (options.templates)
|
|
23
|
+
explicitGroups.push("templates");
|
|
24
|
+
if (options.gallery)
|
|
25
|
+
explicitGroups.push("gallery");
|
|
26
|
+
const groupsToInstall = manifest.groups
|
|
27
|
+
? [
|
|
28
|
+
"core",
|
|
29
|
+
...(explicitGroups.length ? explicitGroups : ["templates"]),
|
|
30
|
+
].filter((g) => g in manifest.groups)
|
|
31
|
+
: [];
|
|
32
|
+
const files = groupsToInstall.length > 0 && manifest.groups
|
|
33
|
+
? groupsToInstall.flatMap((groupName) => {
|
|
34
|
+
const group = manifest.groups?.[groupName];
|
|
35
|
+
return group?.files ?? [];
|
|
36
|
+
})
|
|
37
|
+
: manifest.files || [];
|
|
38
|
+
const filesToCopy = [];
|
|
39
|
+
const missingFiles = [];
|
|
40
|
+
// Determine which files are present in the kit and which are missing
|
|
41
|
+
for (const file of files) {
|
|
42
|
+
const kitSource = path_1.default.join(kitDir, file);
|
|
43
|
+
// If the file exists in the kit, schedule it for copy
|
|
44
|
+
if (await (0, file_operations_1.fileExists)(kitSource)) {
|
|
45
|
+
filesToCopy.push(file);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// If the file is already present in the user's project root, skip copying
|
|
49
|
+
const projectSource = path_1.default.join(process.cwd(), file);
|
|
50
|
+
if (await (0, file_operations_1.fileExists)(projectSource)) {
|
|
51
|
+
console.log(`ℹ️ Skipping ${file} (already exists in project)`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
missingFiles.push(file);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Copy available files
|
|
59
|
+
if (filesToCopy.length > 0) {
|
|
60
|
+
await (0, file_operations_1.copyFiles)(kitDir, process.cwd(), filesToCopy);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.log("⚠️ No files to copy from the blocks kit (all files missing or already present)");
|
|
64
|
+
}
|
|
65
|
+
// Update package.json with dependencies from the kit
|
|
66
|
+
const depsPath = path_1.default.join(kitDir, "package-deps.json");
|
|
67
|
+
let deps = {};
|
|
68
|
+
try {
|
|
69
|
+
deps = await (0, file_operations_1.readJsonFile)(depsPath);
|
|
70
|
+
await (0, file_operations_1.updatePackageJson)(deps);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.log("⚠️ No package-deps.json found for blocks or failed to read it");
|
|
74
|
+
}
|
|
75
|
+
// Track the installation
|
|
76
|
+
await (0, installation_tracker_1.addInstalledKit)("blocks", Object.keys(deps.dependencies || {}), Object.keys(deps.devDependencies || {}), filesToCopy);
|
|
77
|
+
console.log("✓ blocks kit installed successfully!");
|
|
78
|
+
let layoutUpgraded = false;
|
|
79
|
+
// Offer to auto-upgrade app/layout.tsx to use AppProviders
|
|
80
|
+
if (await (0, file_operations_1.fileExists)("app/layout.tsx")) {
|
|
81
|
+
// Dynamically load inquirer to avoid ESM/CJS interop issues when
|
|
82
|
+
// the CLI is compiled to CommonJS but inquirer is ESM-only.
|
|
83
|
+
let promptFn;
|
|
84
|
+
try {
|
|
85
|
+
// Use a runtime dynamic import via the Function constructor to ensure
|
|
86
|
+
// we call the native import() at runtime and avoid TypeScript
|
|
87
|
+
// transpilation turning this into a require() call.
|
|
88
|
+
const inquirerModule = await new Function('return import("inquirer")')();
|
|
89
|
+
// inquirer exports a default object with prompt; support both shapes
|
|
90
|
+
promptFn = inquirerModule?.default?.prompt ?? inquirerModule?.prompt;
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
console.log("⚠️ Could not load optional interactive prompt (inquirer). Skipping layout upgrade.");
|
|
94
|
+
promptFn = null;
|
|
95
|
+
}
|
|
96
|
+
if (promptFn) {
|
|
97
|
+
const { upgradeLayout } = await promptFn([
|
|
98
|
+
{
|
|
99
|
+
type: "confirm",
|
|
100
|
+
name: "upgradeLayout",
|
|
101
|
+
message: "Would you like the CLI to automatically wrap your app/layout.tsx with AppProviders and add suppressHydrationWarning to the <html> tag?",
|
|
102
|
+
default: true,
|
|
103
|
+
},
|
|
104
|
+
]);
|
|
105
|
+
if (upgradeLayout) {
|
|
106
|
+
try {
|
|
107
|
+
await (0, file_operations_1.updateLayoutWithAppProviders)();
|
|
108
|
+
layoutUpgraded = true;
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.log("⚠️ Failed to update app/layout.tsx automatically:", err);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
console.log("\n📋 Next steps:");
|
|
117
|
+
console.log("- Templates added. Try these routes in your browser:");
|
|
118
|
+
console.log(" /templates/productlaunch");
|
|
119
|
+
console.log(" /templates/saasdashboard");
|
|
120
|
+
console.log(" /templates/digitalagency");
|
|
121
|
+
console.log(" /templates/gallery (blocks gallery)");
|
|
122
|
+
if (!layoutUpgraded) {
|
|
123
|
+
console.log("1. Wrap your app with the AppProviders wrapper in app/layout.tsx (or your root layout):");
|
|
124
|
+
console.log(' import AppProviders from "@/components/app-providers";');
|
|
125
|
+
console.log(" Wrap your application with <AppProviders> to enable fonts, presets, CSS variable injection, session provider, and the app toaster.");
|
|
126
|
+
console.log("2. Ensure Tailwind is configured and app/globals.css is present (copied if available).");
|
|
127
|
+
console.log("3. Install new dependencies: npm install");
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log("1. app/layout.tsx was updated to wrap the app with AppProviders and add suppressHydrationWarning.");
|
|
131
|
+
console.log("2. Ensure Tailwind is configured and app/globals.css is present (copied if available).");
|
|
132
|
+
console.log("3. Install new dependencies: npm install");
|
|
133
|
+
}
|
|
134
|
+
if (missingFiles.length > 0) {
|
|
135
|
+
console.log("\n⚠️ The following files referenced by the blocks manifest were not found in the kit and were not copied:");
|
|
136
|
+
missingFiles.forEach((f) => console.log(` • ${f}`));
|
|
137
|
+
console.log("You may need to copy these files manually (for example placeholder assets under public/placeholders) or reconcile the kit files.");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
console.log("❌ Failed to install blocks kit");
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/commands/blocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAeA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA6F7C;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addData = addData;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const file_operations_1 = require("../utils/file-operations");
|
|
9
|
+
const installation_tracker_1 = require("../utils/installation-tracker");
|
|
10
|
+
const forms_1 = require("./forms");
|
|
11
|
+
const auth_core_1 = require("./auth-core");
|
|
12
|
+
async function addData() {
|
|
13
|
+
console.log("Installing data kit...");
|
|
14
|
+
try {
|
|
15
|
+
// Ensure auth-core and forms are installed first
|
|
16
|
+
const installed = await (0, installation_tracker_1.getInstalledKits)();
|
|
17
|
+
if (!installed.includes("forms")) {
|
|
18
|
+
console.log("Data requires the Forms kit. Installing Forms kit first...");
|
|
19
|
+
await (0, forms_1.addForms)({ auto: true });
|
|
20
|
+
}
|
|
21
|
+
if (!installed.includes("auth-core")) {
|
|
22
|
+
console.log("Data requires the Auth Core kit. Installing Auth Core kit first...");
|
|
23
|
+
await (0, auth_core_1.addAuthCore)();
|
|
24
|
+
}
|
|
25
|
+
const kitDir = (0, file_operations_1.resolveAssetPath)("kits", "data");
|
|
26
|
+
const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "data_manifest.json");
|
|
27
|
+
let manifest = {};
|
|
28
|
+
try {
|
|
29
|
+
manifest = await (0, file_operations_1.readJsonFile)(manifestPath);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
// fallback — proceed with default manifest in code
|
|
33
|
+
}
|
|
34
|
+
const files = manifest.files || [
|
|
35
|
+
"app/api/posts/route.ts",
|
|
36
|
+
"app/api/posts/[id]/route.ts",
|
|
37
|
+
"app/api/users/route.ts",
|
|
38
|
+
"app/api/users/[id]/route.ts",
|
|
39
|
+
"app/api/users/check-unique/route.ts",
|
|
40
|
+
"app/api/users/check-email/route.ts",
|
|
41
|
+
"app/api/seed-demo/route.ts",
|
|
42
|
+
"components/admin/admin-header.tsx",
|
|
43
|
+
"components/admin/posts-manager.tsx",
|
|
44
|
+
"components/admin/users-manager.tsx",
|
|
45
|
+
"app/(protected)/admin/users/page.tsx",
|
|
46
|
+
"app/(protected)/admin/posts/page.tsx",
|
|
47
|
+
"app/examples/demo/create-post-form.tsx",
|
|
48
|
+
"app/examples/demo/page.tsx",
|
|
49
|
+
"lib/prisma.ts",
|
|
50
|
+
"lib/server/result.ts",
|
|
51
|
+
"lib/utils.ts",
|
|
52
|
+
"scripts/seed-demo.mjs",
|
|
53
|
+
];
|
|
54
|
+
const filesToCopy = [];
|
|
55
|
+
for (const file of files) {
|
|
56
|
+
const source = path_1.default.join(kitDir, file);
|
|
57
|
+
if (await (0, file_operations_1.fileExists)(source))
|
|
58
|
+
filesToCopy.push(file);
|
|
59
|
+
}
|
|
60
|
+
if (filesToCopy.length === 0) {
|
|
61
|
+
console.log("⚠️ No files available in the data kit to copy.");
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
await (0, file_operations_1.copyFiles)(kitDir, process.cwd(), filesToCopy);
|
|
65
|
+
}
|
|
66
|
+
// Update package.json with dependencies
|
|
67
|
+
const depsPath = path_1.default.join(kitDir, "package-deps.json");
|
|
68
|
+
try {
|
|
69
|
+
const deps = await (0, file_operations_1.readJsonFile)(depsPath);
|
|
70
|
+
await (0, file_operations_1.updatePackageJson)(deps);
|
|
71
|
+
// Track the installation
|
|
72
|
+
await (0, installation_tracker_1.addInstalledKit)("data", Object.keys(deps.dependencies || {}), Object.keys(deps.devDependencies || {}), filesToCopy);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
console.log("⚠️ No package-deps.json found for data or failed to read it");
|
|
76
|
+
}
|
|
77
|
+
console.log("✓ data kit installed successfully!");
|
|
78
|
+
console.log("\n📋 Next steps:");
|
|
79
|
+
console.log("1. Merge prisma models into your prisma/schema.prisma and run npx prisma generate && npx prisma migrate dev");
|
|
80
|
+
console.log("2. Install dependencies: npm install");
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.log("❌ Failed to install data kit");
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.default = addData;
|
|
88
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"AAUA,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHvE;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addForms = addForms;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const file_operations_1 = require("../utils/file-operations");
|
|
9
|
+
const installation_tracker_1 = require("../utils/installation-tracker");
|
|
10
|
+
async function addForms(options) {
|
|
11
|
+
console.log("Installing forms kit...");
|
|
12
|
+
try {
|
|
13
|
+
const kitDir = (0, file_operations_1.resolveAssetPath)("kits", "forms");
|
|
14
|
+
const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "forms_manifest.json");
|
|
15
|
+
let manifest = {};
|
|
16
|
+
try {
|
|
17
|
+
// prefer the dist manifest when run from packaged consumer
|
|
18
|
+
manifest = await (0, file_operations_1.readJsonFile)(manifestPath);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
// fallback: try repo root manifest
|
|
22
|
+
// noop — manifest may not be present in packaged dist
|
|
23
|
+
}
|
|
24
|
+
const files = manifest.files || [
|
|
25
|
+
"components/ui/form/form.tsx",
|
|
26
|
+
"components/ui/form/form-field.tsx",
|
|
27
|
+
"components/ui/form/form-item.tsx",
|
|
28
|
+
"components/ui/form/form-control.tsx",
|
|
29
|
+
"components/ui/form/form-description.tsx",
|
|
30
|
+
"components/ui/form/form-label.tsx",
|
|
31
|
+
"components/ui/form/form-message.tsx",
|
|
32
|
+
"components/ui/select.tsx",
|
|
33
|
+
"components/ui/checkbox.tsx",
|
|
34
|
+
"components/ui/switch.tsx",
|
|
35
|
+
"components/hooks/useCheckUnique.ts",
|
|
36
|
+
"lib/validation/forms.ts",
|
|
37
|
+
"lib/validation/wizard.ts",
|
|
38
|
+
"lib/forms/map-errors.ts",
|
|
39
|
+
];
|
|
40
|
+
// Copy files from kit to project if they exist in the kit
|
|
41
|
+
const filesToCopy = [];
|
|
42
|
+
for (const file of files) {
|
|
43
|
+
const source = path_1.default.join(kitDir, file);
|
|
44
|
+
if (await (0, file_operations_1.fileExists)(source))
|
|
45
|
+
filesToCopy.push(file);
|
|
46
|
+
}
|
|
47
|
+
if (filesToCopy.length === 0) {
|
|
48
|
+
if (!options?.auto) {
|
|
49
|
+
console.log("⚠️ No files available in the forms kit to copy.");
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// If called as part of another kit's install (auto), do not warn loudly
|
|
53
|
+
console.log("⚠️ Forms kit appears empty in the packaged CLI artifact.");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
await (0, file_operations_1.copyFiles)(kitDir, process.cwd(), filesToCopy);
|
|
58
|
+
}
|
|
59
|
+
// Update package.json with dependencies from the kit
|
|
60
|
+
const depsPath = path_1.default.join(kitDir, "package-deps.json");
|
|
61
|
+
try {
|
|
62
|
+
const deps = await (0, file_operations_1.readJsonFile)(depsPath);
|
|
63
|
+
await (0, file_operations_1.updatePackageJson)(deps);
|
|
64
|
+
// Track the installation
|
|
65
|
+
await (0, installation_tracker_1.addInstalledKit)("forms", Object.keys(deps.dependencies || {}), Object.keys(deps.devDependencies || {}), filesToCopy);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
console.log("⚠️ No package-deps.json found for forms or failed to read it");
|
|
69
|
+
}
|
|
70
|
+
console.log("✓ forms kit installed successfully!");
|
|
71
|
+
console.log("\n📋 Next steps:");
|
|
72
|
+
console.log("1. Install dependencies: npm install");
|
|
73
|
+
console.log("2. Import/Use the form primitives in your pages/components as needed");
|
|
74
|
+
// Print optional examples (if declared in manifest)
|
|
75
|
+
const optionalExamples = manifest?.optionalExamples || manifest?.optional || null;
|
|
76
|
+
if (optionalExamples && Object.keys(optionalExamples).length > 0) {
|
|
77
|
+
console.log("\n🔹 Optional examples available:");
|
|
78
|
+
for (const [exampleName, info] of Object.entries(optionalExamples)) {
|
|
79
|
+
const files = info.files || [];
|
|
80
|
+
const requires = info.requires || [];
|
|
81
|
+
const notes = info.notes || "";
|
|
82
|
+
console.log(`\n- ${exampleName}`);
|
|
83
|
+
if (notes)
|
|
84
|
+
console.log(` ${notes}`);
|
|
85
|
+
if (requires.length > 0) {
|
|
86
|
+
const installCmds = requires
|
|
87
|
+
.map((k) => `npx --no-install nextworks add ${k}`)
|
|
88
|
+
.join(" && ");
|
|
89
|
+
console.log(` Requires: ${requires.join(", ")}`);
|
|
90
|
+
console.log(` To install required kits: ${installCmds}`);
|
|
91
|
+
}
|
|
92
|
+
if (files.length > 0) {
|
|
93
|
+
console.log(` Files included if opted in:`);
|
|
94
|
+
for (const f of files)
|
|
95
|
+
console.log(` - ${f}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
console.log("\nTip: You can copy these files manually, or install the required kits (above) before adding these optional examples. Future CLI versions may support a --with flag to auto-install optional examples.");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.log("❌ Failed to install forms kit");
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.default = addForms;
|
|
107
|
+
//# sourceMappingURL=forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/commands/forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-auth-core.d.ts","sourceRoot":"","sources":["../../src/commands/remove-auth-core.ts"],"names":[],"mappings":"AAWA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6EpD"}
|