nextworks 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (145) hide show
  1. package/README.md +280 -228
  2. package/dist/cli_manifests/blocks_manifest.json +193 -194
  3. package/dist/commands/blocks.d.ts +3 -0
  4. package/dist/commands/blocks.d.ts.map +1 -1
  5. package/dist/commands/blocks.js +128 -19
  6. package/dist/commands/blocks.js.map +1 -1
  7. package/dist/commands/doctor.d.ts +136 -0
  8. package/dist/commands/doctor.d.ts.map +1 -0
  9. package/dist/commands/doctor.js +696 -0
  10. package/dist/commands/doctor.js.map +1 -0
  11. package/dist/commands/remove-blocks.d.ts +4 -1
  12. package/dist/commands/remove-blocks.d.ts.map +1 -1
  13. package/dist/commands/remove-blocks.js +24 -6
  14. package/dist/commands/remove-blocks.js.map +1 -1
  15. package/dist/index.js +125 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +104 -194
  18. package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +115 -75
  19. package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +269 -251
  20. package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
  21. package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -36
  22. package/dist/kits/blocks/app/templates/digitalagency/components/About.tsx +71 -99
  23. package/dist/kits/blocks/app/templates/digitalagency/components/CTA.tsx +40 -74
  24. package/dist/kits/blocks/app/templates/digitalagency/components/Contact.tsx +123 -227
  25. package/dist/kits/blocks/app/templates/digitalagency/components/Footer.tsx +89 -89
  26. package/dist/kits/blocks/app/templates/digitalagency/components/Hero.tsx +83 -90
  27. package/dist/kits/blocks/app/templates/digitalagency/components/Navbar.tsx +121 -168
  28. package/dist/kits/blocks/app/templates/digitalagency/components/NetworkPattern.tsx +288 -297
  29. package/dist/kits/blocks/app/templates/digitalagency/components/Portfolio.tsx +157 -157
  30. package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
  31. package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
  32. package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
  33. package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
  34. package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
  35. package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
  36. package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +130 -85
  37. package/dist/kits/blocks/app/templates/gallery/page.tsx +357 -303
  38. package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -74
  39. package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -55
  40. package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -178
  41. package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -93
  42. package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
  43. package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -93
  44. package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -84
  45. package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
  46. package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -89
  47. package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -162
  48. package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
  49. package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
  50. package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
  51. package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
  52. package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -89
  53. package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
  54. package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
  55. package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
  56. package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -38
  57. package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -176
  58. package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
  59. package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
  60. package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -91
  61. package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
  62. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -105
  63. package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -127
  64. package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -159
  65. package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
  66. package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -97
  67. package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
  68. package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
  69. package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
  70. package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -183
  71. package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
  72. package/dist/kits/blocks/components/sections/About.tsx +291 -291
  73. package/dist/kits/blocks/components/sections/CTA.tsx +257 -258
  74. package/dist/kits/blocks/components/sections/CommandShowcase.tsx +517 -0
  75. package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
  76. package/dist/kits/blocks/components/sections/FAQ.tsx +214 -225
  77. package/dist/kits/blocks/components/sections/FeaturedProjectShowcase.tsx +687 -0
  78. package/dist/kits/blocks/components/sections/Features.tsx +268 -270
  79. package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
  80. package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
  81. package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
  82. package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +246 -0
  83. package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
  84. package/dist/kits/blocks/components/sections/HeroWithVideo.tsx +495 -0
  85. package/dist/kits/blocks/components/sections/Navbar.tsx +352 -353
  86. package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -550
  87. package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
  88. package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
  89. package/dist/kits/blocks/components/sections/ProjectDeepDive.tsx +805 -0
  90. package/dist/kits/blocks/components/sections/SelectedWorkRail.tsx +485 -0
  91. package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
  92. package/dist/kits/blocks/components/sections/Team.tsx +309 -309
  93. package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
  94. package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
  95. package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +128 -0
  96. package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +519 -0
  97. package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +140 -0
  98. package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +130 -0
  99. package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +430 -0
  100. package/dist/kits/blocks/components/sections/product-demo/TaskListPanel.tsx +302 -0
  101. package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +744 -0
  102. package/dist/kits/blocks/components/sections/product-demo/types.ts +262 -0
  103. package/dist/kits/blocks/components/theme-provider.tsx +1 -34
  104. package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
  105. package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
  106. package/dist/kits/blocks/components/ui/button.tsx +122 -122
  107. package/dist/kits/blocks/components/ui/card.tsx +95 -95
  108. package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
  109. package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
  110. package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
  111. package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
  112. package/dist/kits/blocks/components/ui/input.tsx +27 -27
  113. package/dist/kits/blocks/components/ui/label.tsx +29 -29
  114. package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
  115. package/dist/kits/blocks/components/ui/select.tsx +25 -25
  116. package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
  117. package/dist/kits/blocks/components/ui/table.tsx +98 -98
  118. package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
  119. package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
  120. package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -247
  121. package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
  122. package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
  123. package/dist/kits/blocks/lib/themes.ts +400 -400
  124. package/dist/kits/blocks/lib/utils.ts +6 -9
  125. package/dist/kits/blocks/package-deps.json +40 -28
  126. package/dist/kits/blocks/tsconfig.json +11 -0
  127. package/dist/kits/blocks/tsconfig.tsbuildinfo +1 -0
  128. package/dist/utils/file-operations.d.ts +3 -1
  129. package/dist/utils/file-operations.d.ts.map +1 -1
  130. package/dist/utils/file-operations.js +84 -12
  131. package/dist/utils/file-operations.js.map +1 -1
  132. package/dist/utils/installation-tracker.d.ts +2 -2
  133. package/dist/utils/installation-tracker.d.ts.map +1 -1
  134. package/dist/utils/installation-tracker.js +11 -11
  135. package/dist/utils/installation-tracker.js.map +1 -1
  136. package/dist/utils/package-manager.d.ts +6 -0
  137. package/dist/utils/package-manager.d.ts.map +1 -0
  138. package/dist/utils/package-manager.js +58 -0
  139. package/dist/utils/package-manager.js.map +1 -0
  140. package/dist/utils/yarn-pnp.d.ts +6 -0
  141. package/dist/utils/yarn-pnp.d.ts.map +1 -0
  142. package/dist/utils/yarn-pnp.js +39 -0
  143. package/dist/utils/yarn-pnp.js.map +1 -0
  144. package/package.json +5 -2
  145. package/dist/kits/blocks/notes/THEME_GUIDE.md +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
- export declare function removeBlocks(): Promise<void>;
1
+ export declare function removeBlocks(options?: {
2
+ /** Force package manager (overrides lockfile detection). */
3
+ pm?: import("../utils/package-manager").PackageManager;
4
+ }): Promise<void>;
2
5
  //# sourceMappingURL=remove-blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-blocks.d.ts","sourceRoot":"","sources":["../../src/commands/remove-blocks.ts"],"names":[],"mappings":"AAaA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA4ClD"}
1
+ {"version":3,"file":"remove-blocks.d.ts","sourceRoot":"","sources":["../../src/commands/remove-blocks.ts"],"names":[],"mappings":"AAiBA,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE;IAC3C,4DAA4D;IAC5D,EAAE,CAAC,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC;CACxD,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEhB"}
@@ -3,12 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeBlocks = removeBlocks;
4
4
  const file_operations_1 = require("../utils/file-operations");
5
5
  const installation_tracker_1 = require("../utils/installation-tracker");
6
- async function removeBlocks() {
6
+ const package_manager_1 = require("../utils/package-manager");
7
+ async function removeBlocks(options) {
7
8
  console.log("Removing blocks kit...");
8
9
  try {
9
- const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "blocks_manifest.json");
10
- const manifest = await (0, file_operations_1.readJsonFile)(manifestPath);
11
- const files = manifest.files || [];
10
+ const config = await (0, installation_tracker_1.getNextworksConfig)();
11
+ const installed = config.installedKits.find((k) => k.name === "blocks");
12
+ // Prefer removing exactly what was installed (tracked in .nextworks/config.json)
13
+ // to avoid accidentally deleting user-owned files or missing router-mapped paths.
14
+ let files = installed?.files ?? [];
15
+ // Fallback: if the kit isn't tracked (older installs), remove the union of
16
+ // manifest groups plus manifest.files.
17
+ if (files.length === 0) {
18
+ const manifestPath = (0, file_operations_1.resolveAssetPath)("cli_manifests", "blocks_manifest.json");
19
+ const manifest = await (0, file_operations_1.readJsonFile)(manifestPath);
20
+ const groupFiles = manifest.groups
21
+ ? Object.values(manifest.groups).flatMap((g) => g?.files ?? [])
22
+ : [];
23
+ files = Array.from(new Set([...(manifest.files ?? []), ...groupFiles].filter(Boolean)));
24
+ }
25
+ if (files.length === 0) {
26
+ console.log("ℹ️ No tracked blocks files found to remove (is the blocks kit installed?)");
27
+ }
12
28
  // Get safe-to-remove dependencies (not shared with other kits)
13
29
  const safeToRemove = await (0, installation_tracker_1.getSafeToRemoveDependencies)("blocks");
14
30
  // Remove files
@@ -25,8 +41,10 @@ async function removeBlocks() {
25
41
  }
26
42
  // Remove from installation tracker
27
43
  await (0, installation_tracker_1.removeInstalledKit)("blocks");
28
- console.log("✓ blocks kit removed successfully!");
29
- console.log("\n💡 You may want to run 'npm install' to clean up node_modules");
44
+ console.log("✓ Blocks kit removed successfully!");
45
+ const pm = options?.pm ?? (await (0, package_manager_1.detectPackageManager)(process.cwd()));
46
+ const installCmd = (0, package_manager_1.getInstallCommand)(pm);
47
+ console.log(`\n💡 You may want to run '${installCmd}' to clean up node_modules`);
30
48
  }
31
49
  catch (error) {
32
50
  console.log("❌ Failed to remove blocks kit");
@@ -1 +1 @@
1
- {"version":3,"file":"remove-blocks.js","sourceRoot":"","sources":["../../src/commands/remove-blocks.ts"],"names":[],"mappings":";;AAaA,oCA4CC;AAzDD,8DAMkC;AAClC,wEAGuC;AAGhC,KAAK,UAAU,YAAY;IAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,kCAAgB,EACnC,eAAe,EACf,sBAAsB,CACvB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAY,EAAC,YAAY,CAAC,CAAC;QAClD,MAAM,KAAK,GAAa,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAE7C,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAA,kDAA2B,EAAC,QAAQ,CAAC,CAAC;QAEjE,eAAe;QACf,MAAM,IAAA,6BAAW,EAAC,KAAK,CAAC,CAAC;QAEzB,uBAAuB;QACvB,MAAM,IAAA,oCAAkB,EAAC,KAAK,CAAC,CAAC;QAEhC,gCAAgC;QAChC,IACE,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACpC,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EACvC,CAAC;YACD,MAAM,IAAA,wCAAsB,EAC1B,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,eAAe,CAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACxE,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAA,yCAAkB,EAAC,QAAQ,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"remove-blocks.js","sourceRoot":"","sources":["../../src/commands/remove-blocks.ts"],"names":[],"mappings":";;AAiBA,oCA0EC;AA3FD,8DAMkC;AAClC,wEAIuC;AACvC,8DAGkC;AAE3B,KAAK,UAAU,YAAY,CAAC,OAGlC;IACC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAkB,GAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAExE,iFAAiF;QACjF,kFAAkF;QAClF,IAAI,KAAK,GAAa,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;QAE7C,2EAA2E;QAC3E,uCAAuC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAA,kCAAgB,EACnC,eAAe,EACf,sBAAsB,CACvB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAY,EAAC,YAAY,CAAC,CAAC;YAElD,MAAM,UAAU,GAAa,QAAQ,CAAC,MAAM;gBAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACpE,CAAC,CAAC,EAAE,CAAC;YAEP,KAAK,GAAG,KAAK,CAAC,IAAI,CAChB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAA,kDAA2B,EAAC,QAAQ,CAAC,CAAC;QAEjE,eAAe;QACf,MAAM,IAAA,6BAAW,EAAC,KAAK,CAAC,CAAC;QAEzB,uBAAuB;QACvB,MAAM,IAAA,oCAAkB,EAAC,KAAK,CAAC,CAAC;QAEhC,gCAAgC;QAChC,IACE,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACpC,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EACvC,CAAC;YACD,MAAM,IAAA,wCAAsB,EAC1B,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,eAAe,CAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACxE,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAA,yCAAkB,EAAC,QAAQ,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,MAAM,IAAA,sCAAoB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAA,mCAAiB,EAAC,EAAE,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CACT,6BAA6B,UAAU,4BAA4B,CACpE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -2,26 +2,134 @@
2
2
  "use strict";
3
3
  // Copyright (c) 2025 Jakob Hansen
4
4
  // SPDX-License-Identifier: MIT
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
5
8
  Object.defineProperty(exports, "__esModule", { value: true });
6
9
  const commander_1 = require("commander");
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const doctor_1 = require("./commands/doctor");
7
13
  const blocks_1 = require("./commands/blocks");
8
14
  const remove_blocks_1 = require("./commands/remove-blocks");
9
15
  const installation_tracker_1 = require("./utils/installation-tracker");
16
+ const package_manager_1 = require("./utils/package-manager");
17
+ const yarn_pnp_1 = require("./utils/yarn-pnp");
10
18
  const program = new commander_1.Command();
19
+ const cliVersion = (() => {
20
+ try {
21
+ // When running from dist/, __dirname is: <pkgRoot>/dist
22
+ const pkgPath = path_1.default.resolve(__dirname, "..", "package.json");
23
+ const raw = fs_1.default.readFileSync(pkgPath, "utf8");
24
+ return JSON.parse(raw)?.version ?? "0.0.0";
25
+ }
26
+ catch {
27
+ return "0.0.0";
28
+ }
29
+ })();
11
30
  program
12
31
  .name("nextworks")
13
32
  .description("Nextworks CLI - Feature kits installer for Next.js apps")
14
- .version("0.1.0");
33
+ .version(cliVersion);
34
+ program
35
+ .command("doctor")
36
+ .description("Diagnostics - is project is compatible with nextworks?")
37
+ .option("--fix", "Fixes project")
38
+ .option("--json", "Output structured machine-readable JSON")
39
+ .option("--kit <kit>", "Check for projects compatibility with installation of specific nextworks kit.")
40
+ .action(async (options) => {
41
+ try {
42
+ const result = await (0, doctor_1.doctor)(options);
43
+ const hasErrors = result.errors.length > 0;
44
+ if (options.json) {
45
+ const output = {
46
+ status: hasErrors ? "error" : "ok",
47
+ results: {
48
+ projectSanity: result.projectSanity,
49
+ environmentChecks: result.environmentChecks,
50
+ projectRootWritability: result.projectRootWritability,
51
+ routerPatchability: result.routerPatchability,
52
+ appProvidersShim: result.appProvidersShim,
53
+ collisions: result.collisions,
54
+ recordedInstallState: result.recordedInstallState,
55
+ blocksFilePresence: result.blocksFilePresence,
56
+ },
57
+ warnings: result.warnings,
58
+ errors: result.errors,
59
+ };
60
+ console.log(JSON.stringify(output, null, 2));
61
+ process.exit(hasErrors ? 1 : 0);
62
+ }
63
+ for (const line of (0, doctor_1.formatDoctorResult)(result)) {
64
+ console.log(line);
65
+ }
66
+ process.exit(hasErrors ? 1 : 0);
67
+ }
68
+ catch (error) {
69
+ throw error;
70
+ }
71
+ });
15
72
  program
16
73
  .command("add <kit>")
17
74
  .description("Add a feature kit to your project")
18
75
  .option("--sections", "Include standalone sections (Hero, CTA, Pricing, etc.)")
19
76
  .option("--templates", "Include full page templates (Product Launch, SaaS Dashboard, Digital Agency, Gallery)")
20
- .option("--gallery", "Include gallery/demo template and assets")
77
+ .option("--gallery", "Include gallery template and assets")
21
78
  .option("--ui-only", "Install core UI primitives only (no sections/templates)")
22
79
  .option("-y, --yes", "Skip interactive prompts and accept defaults where possible")
80
+ .option("--pm <pm>", "Force package manager (npm|pnpm|yarn). Overrides lockfile detection.")
81
+ .option("--dry-run", "Preview changes without writing files or installing dependencies")
23
82
  .action(async (kit, options) => {
24
83
  try {
84
+ const forcedPm = options.pm;
85
+ if (forcedPm && !(0, package_manager_1.isPackageManager)(forcedPm)) {
86
+ console.log(`❌ Invalid --pm value: ${forcedPm}`);
87
+ console.log("Valid values: npm | pnpm | yarn");
88
+ process.exit(1);
89
+ }
90
+ // Global environment check: Yarn PnP commonly breaks Next.js/Turbopack builds.
91
+ // Offer to switch Yarn to the node-modules linker.
92
+ const pmForPnPCheck = forcedPm ??
93
+ (await (0, package_manager_1.detectPackageManager)(process.cwd()));
94
+ let yarnLinkerChanged = false;
95
+ if (pmForPnPCheck === "yarn" &&
96
+ (await (0, yarn_pnp_1.isYarnPnPProject)(process.cwd()))) {
97
+ // inquirer is ESM-only. Load dynamically so our CLI can remain CommonJS.
98
+ let promptFn = null;
99
+ if (!options.yes) {
100
+ try {
101
+ const inquirerModule = await new Function('return import("inquirer")')();
102
+ promptFn =
103
+ inquirerModule?.default?.prompt ?? inquirerModule?.prompt;
104
+ }
105
+ catch {
106
+ promptFn = null;
107
+ }
108
+ }
109
+ const shouldFixPnP = options.yes
110
+ ? true
111
+ : Boolean(promptFn
112
+ ? (await promptFn([
113
+ {
114
+ type: "confirm",
115
+ name: "fixPnP",
116
+ message: "Yarn Plug'n'Play detected (.pnp.cjs). Next.js/Turbopack builds often fail under PnP. Switch Yarn to the node-modules linker (recommended)?",
117
+ default: true,
118
+ },
119
+ ])).fixPnP
120
+ : false);
121
+ if (shouldFixPnP) {
122
+ const result = await (0, yarn_pnp_1.ensureYarnNodeModulesLinker)(process.cwd());
123
+ if (result.changed) {
124
+ yarnLinkerChanged = true;
125
+ console.log(`✓ Updated ${result.filepath}: nodeLinker: node-modules`);
126
+ console.log(" Note: run `yarn install` to recreate node_modules before building.");
127
+ }
128
+ }
129
+ else {
130
+ console.log("⚠️ Yarn Plug'n'Play is enabled and may break Next.js/Turbopack builds. If you hit build errors, set `nodeLinker: node-modules` in .yarnrc.yml and run `yarn install`.");
131
+ }
132
+ }
25
133
  switch (kit) {
26
134
  case "blocks":
27
135
  await (0, blocks_1.addBlocks)({
@@ -30,7 +138,13 @@ program
30
138
  gallery: options.gallery,
31
139
  uiOnly: options.uiOnly,
32
140
  yes: options.yes,
141
+ pm: forcedPm,
142
+ dryRun: options.dryRun,
33
143
  });
144
+ if (yarnLinkerChanged) {
145
+ // Make the required follow-up step hard to miss.
146
+ console.log("\n⚠️ Yarn configuration changed. Run `yarn install` now to generate node_modules before starting dev/build.");
147
+ }
34
148
  break;
35
149
  default:
36
150
  console.log(`❌ Unknown kit: ${kit}`);
@@ -47,11 +161,18 @@ program
47
161
  program
48
162
  .command("remove <kit>")
49
163
  .description("Remove a feature kit from your project")
50
- .action(async (kit) => {
164
+ .option("--pm <pm>", "Force package manager (npm|pnpm|yarn). Overrides lockfile detection.")
165
+ .action(async (kit, options) => {
51
166
  try {
167
+ const forcedPm = options.pm;
168
+ if (forcedPm && !(0, package_manager_1.isPackageManager)(forcedPm)) {
169
+ console.log(`❌ Invalid --pm value: ${forcedPm}`);
170
+ console.log("Valid values: npm | pnpm | yarn");
171
+ process.exit(1);
172
+ }
52
173
  switch (kit) {
53
174
  case "blocks":
54
- await (0, remove_blocks_1.removeBlocks)();
175
+ await (0, remove_blocks_1.removeBlocks)({ pm: forcedPm });
55
176
  break;
56
177
  default:
57
178
  console.log(`❌ Unknown kit: ${kit}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,194 +1,104 @@
1
- # Blocks Quickstart
2
-
3
- This document explains the Blocks kit: prebuilt UI sections, templates and core UI primitives included in this repository. The Blocks kit is intended to be a non-invasive copyable kit (shadCN-style) you can install into any Next.js project (App Router **or** Pages Router) with TypeScript + Tailwind.
4
-
5
- > **Alpha note**
6
- > Other kits (Auth Core, Forms, Data) are currently tested and supported on top of a default Blocks install.
7
- > For the smoothest experience, install **Blocks first** in your app before adding other kits.
8
-
9
- > If you are using the `nextworks` CLI in your own app, you can install this Blocks kit by running:
10
- >
11
- > ```bash
12
- > npx nextworks@latest add blocks --sections --templates
13
- > ```
14
- >
15
- > This installs **core UI primitives, sections, and page templates**, so the example templates work out of the box.
16
-
17
- The CLI will copy files into your project under `components/`, `lib/`, and `public/`. Template pages are installed in a router-native location:
18
-
19
- - **App Router projects:** `app/templates/...`
20
- - **Pages Router projects:** `pages/templates/<template>/index.tsx`
21
-
22
- What’s included
23
-
24
- - Page templates (composed from sections):
25
- - `/templates/productlaunch`
26
- - `/templates/saasdashboard`
27
- - `/templates/digitalagency`
28
- - `/templates/gallery`
29
- - Reusable UI sections: components/sections/\* (Navbar, Hero, Features, Pricing, Testimonials, FAQ, Contact, Footer, etc.)
30
- - Core UI primitives: components/ui/\* (Button, Input, Card, Select, Checkbox, Switch, Theme toggle/selector, Form primitives)
31
- - Theme helpers and presets: components/PresetThemeVars in each template and lib/themes.ts
32
- - Global styles: app/globals.css and optional theme variables in each template's PresetThemeVars file
33
- - Sample placeholder assets: public/placeholders/\*
34
-
35
- Where to look
36
-
37
- - Templates:
38
- - App Router: `app/templates/<template>/page.tsx`
39
- - Pages Router: `pages/templates/<template>/index.tsx`
40
- - Sections:
41
- - components/sections/\*.tsx
42
- - UI primitives and form building blocks:
43
- - components/ui/button.tsx
44
- - components/ui/input.tsx
45
- - components/ui/label.tsx
46
- - components/ui/card.tsx
47
- - components/ui/textarea.tsx
48
- - components/ui/select.tsx
49
- - components/ui/checkbox.tsx
50
- - components/ui/switch.tsx
51
- - components/ui/form/\* (Form, FormField, FormItem, FormControl, FormLabel, FormMessage, FormDescription)
52
- - Theme and providers:
53
- - components/theme-provider.tsx
54
- - components/enhanced-theme-provider.tsx
55
- - lib/themes.ts
56
-
57
- Minimal steps to render a template locally
58
-
59
- 1. Install dependencies and run the dev server:
60
-
61
- npm install
62
- npm run dev
63
-
64
- 2. Open the productlaunch template in your browser:
65
-
66
- http://localhost:3000/templates/productlaunch
67
-
68
- 3. The templates use global styles (`app/globals.css`). No environment variables are required for Blocks-only usage.
69
- - App Router: `app/layout.tsx` imports `./globals.css`.
70
- - Pages Router: the CLI patches `pages/_app.tsx` to import `../app/globals.css` and `../app/tw-animate.css` so styling matches the templates.
71
-
72
- How to adopt / override template pieces
73
-
74
- - Slots & component overrides
75
- - Each template composes small sections from components/sections/\*.tsx. To override a section, copy the desired section file into your project (or replace the import) and update props or classNames.
76
- - Example: to override the Navbar, copy components/sections/Navbar.tsx into your app and update the markup or styles. The template imports Navbar from the components directory.
77
-
78
- - Styling and utility classes
79
- - Tailwind is used across components. Prefer adding or modifying Tailwind utility classes on the exported component or pass className props (many components accept className).
80
-
81
- - Theme variables and PresetThemeVars
82
- - Each template has a PresetThemeVars component/file (e.g., app/templates/productlaunch/PresetThemeVars.tsx) that injects CSS variables for theme presets.
83
- - To change default palette or add presets, edit the template PresetThemeVars and lib/themes.ts.
84
- - Theme providers are implemented in components/theme-provider.tsx and components/enhanced-theme-provider.tsx — wrap your app with these if you extract blocks into another project.
85
-
86
- Import examples
87
-
88
- - Import a primitive in your code:
89
-
90
- import Button from "@/components/ui/button";
91
- import { Form, FormField } from "@/components/ui/form/form"; // path depends on your project alias
92
-
93
- - Use a section in a page:
94
-
95
- import Navbar from "@/components/sections/Navbar";
96
-
97
- export default function Page() {
98
- return (
99
- <>
100
- <Navbar />
101
- <main>{/_ ... _/}</main>
102
- </>
103
- );
104
- }
105
-
106
- Public assets and placeholders
107
-
108
- - The templates reference placeholder images in public/placeholders/. If you copy templates to another project, copy the referenced assets (public/placeholders/gallery/\*) or replace with your own images.
109
-
110
- Simple Blocks kit manifest (for internal CLI packaging)
111
-
112
- > This section is for maintainers of the `nextworks` CLI. You don’t need this if you’re just installing Blocks into your own app.
113
-
114
- Use this manifest to drive a CLI copy step: it enumerates the primary files that make up the Blocks kit. Adjust paths if your CLI uses a different base.
115
-
116
- - Suggested internal path: cli/kits/blocks/manifest.json
117
-
118
- Contents:
119
-
120
- {
121
- "name": "blocks",
122
- "description": "Frontend UI sections, templates and core UI primitives",
123
- "files": [
124
- "components/sections/About.tsx",
125
- "components/sections/Contact.tsx",
126
- "components/sections/CTA.tsx",
127
- "components/sections/FAQ.tsx",
128
- "components/sections/Features.tsx",
129
- "components/sections/Footer.tsx",
130
- "components/sections/HeroMotion.tsx",
131
- "components/sections/HeroOverlay.tsx",
132
- "components/sections/HeroSplit.tsx",
133
- "components/sections/Navbar.tsx",
134
- "components/sections/Newsletter.tsx",
135
- "components/sections/PortfolioSimple.tsx",
136
- "components/sections/Pricing.tsx",
137
- "components/sections/ProcessTimeline.tsx",
138
- "components/sections/ServicesGrid.tsx",
139
- "components/sections/Team.tsx",
140
- "components/sections/Testimonials.tsx",
141
- "components/sections/TrustBadges.tsx",
142
- "components/ui/button.tsx",
143
- "components/ui/card.tsx",
144
- "components/ui/checkbox.tsx",
145
- "components/ui/cta-button.tsx",
146
- "components/ui/dropdown-menu.tsx",
147
- "components/ui/feature-card.tsx",
148
- "components/ui/input.tsx",
149
- "components/ui/label.tsx",
150
- "components/ui/pricing-card.tsx",
151
- "components/ui/skeleton.tsx",
152
- "components/ui/switch.tsx",
153
- "components/ui/table.tsx",
154
- "components/ui/textarea.tsx",
155
- "components/ui/theme-selector.tsx",
156
- "components/ui/theme-toggle.tsx",
157
- "components/ui/toaster.tsx",
158
- "components/ui/form/form.tsx",
159
- "components/ui/form/form-field.tsx",
160
- "components/ui/form/form-item.tsx",
161
- "components/ui/form/form-control.tsx",
162
- "components/ui/form/form-description.tsx",
163
- "components/ui/form/form-label.tsx",
164
- "components/ui/form/form-message.tsx",
165
- "components/enhanced-theme-provider.tsx",
166
- "components/theme-provider.tsx",
167
- "lib/themes.ts",
168
- "app/globals.css",
169
- "app/templates/productlaunch/page.tsx",
170
- "app/templates/productlaunch/PresetThemeVars.tsx",
171
- "app/templates/productlaunch/README.md",
172
- "app/templates/saasdashboard/page.tsx",
173
- "app/templates/saasdashboard/PresetThemeVars.tsx",
174
- "app/templates/saasdashboard/README.md",
175
- "app/templates/digitalagency/page.tsx",
176
- "app/templates/digitalagency/PresetThemeVars.tsx",
177
- "app/templates/digitalagency/README.md",
178
- "public/placeholders/gallery/hero-pexels-broken-9945014.avif"
179
- ]
180
- }
181
-
182
- Notes & recommendations
183
-
184
- - Blocks are self-contained and do not require Prisma or NextAuth. If your user only needs Blocks, the CLI should copy these files and add a brief README instructing the user to import the theme provider in app/layout.tsx and ensure app/globals.css is present.
185
- - Consider adding an examples folder demonstrating how to swap PresetThemeVars and override a section component.
186
-
187
- ---
188
-
189
- If you'd like, I can:
190
-
191
- - Create the CLI manifest file at cli/kits/blocks/manifest.json using the JSON above, or
192
- - Create a short example that demonstrates overriding Navbar and changing PresetThemeVars.
193
-
194
- Tell me which of the above to create next.
1
+ # Blocks Quickstart (in your project)
2
+
3
+ This is the fastest path to verify your Blocks install is working and find the right files to edit.
4
+
5
+ > Blocks is a “copy into your repo” kit (shadcn-style): you own the files and can modify them directly.
6
+
7
+ ---
8
+
9
+ ## 0) Prereqs
10
+
11
+ - Next.js project (App Router **or** Pages Router)
12
+ - TypeScript + Tailwind CSS
13
+
14
+ ---
15
+
16
+ ## 1) Install Blocks (recommended)
17
+
18
+ From your app root:
19
+
20
+ ```bash
21
+ npx nextworks@latest add blocks --templates
22
+ npm install
23
+ ```
24
+
25
+ ---
26
+
27
+ ## 2) Run dev and verify routes
28
+
29
+ ```bash
30
+ npm run dev
31
+ ```
32
+
33
+ Then visit:
34
+
35
+ - `http://localhost:3000/templates/productlaunch`
36
+ - `http://localhost:3000/templates/saasdashboard`
37
+ - `http://localhost:3000/templates/digitalagency`
38
+ - `http://localhost:3000/templates/gallery`
39
+
40
+
41
+ If those load and look styled, you’re in good shape.
42
+
43
+ ---
44
+
45
+ ## 3) If styling is missing (quick checks)
46
+
47
+ Blocks relies on global CSS files:
48
+
49
+ - `app/globals.css`
50
+ - `app/tw-animate.css`
51
+
52
+ The correct import location depends on your router:
53
+
54
+ - **App Router:** `app/layout.tsx` should import `./globals.css` (and `./tw-animate.css` if used).
55
+ - **Pages Router:** `pages/_app.tsx` should import:
56
+ - `../app/globals.css`
57
+ - `../app/tw-animate.css`
58
+
59
+ The CLI normally patches this automatically.
60
+
61
+ ---
62
+
63
+ ## 4) Where the files are
64
+
65
+ ### Template routes
66
+
67
+ - **App Router:** `app/templates/<template>/page.tsx`
68
+ - **Pages Router:** `pages/templates/<template>/index.tsx`
69
+
70
+ Supporting template components live alongside the template:
71
+
72
+ - App Router: `app/templates/<template>/**`
73
+ - Pages Router: `components/templates/<template>/**` (kept outside `pages/` so helpers aren’t treated as pages)
74
+
75
+ ### Sections and UI primitives
76
+
77
+ - Sections: `components/sections/**`
78
+ - UI primitives: `components/ui/**`
79
+
80
+ ---
81
+
82
+ ## 5) What to edit first (common tasks)
83
+
84
+ - Customize a template page:
85
+ - edit its route file (see paths above)
86
+ - tweak the imported sections/components
87
+
88
+ - Customize a reusable section (Navbar/Hero/etc.):
89
+ - edit `components/sections/<Section>.tsx`
90
+ - use `components/sections/HeroWithVideo.tsx` for a centered dark hero with CTAs, command pill, and video preview
91
+ - use `components/sections/FeaturedProjectShowcase.tsx` for a flagship project block with tags, feature bullets, CTAs, and optional media
92
+ - use `components/sections/CommandShowcase.tsx` for a terminal-style command/setup flow with optional output and notes
93
+
94
+ - Customize theme/palette:
95
+ - see `.nextworks/docs/THEME_GUIDE.md`
96
+ - start with `lib/themes.ts`
97
+ - each template has a `PresetThemeVars` file you can modify
98
+
99
+ ---
100
+
101
+ ## 6) Need deeper detail?
102
+
103
+ - `.nextworks/docs/BLOCKS_README.md` (what got installed + where things live)
104
+ - `.nextworks/docs/THEME_GUIDE.md` (theme system + presets)