@beknurakhmed/webforge-cli 0.1.1 → 0.1.3

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 (325) hide show
  1. package/README.md +226 -226
  2. package/package.json +63 -63
  3. package/templates/angular/angular.json +28 -2
  4. package/templates/extras/typescript/deps.json +6 -0
  5. package/templates/extras/typescript/react/tsconfig.json +21 -0
  6. package/templates/extras/typescript/vanilla/tsconfig.json +19 -0
  7. package/templates/extras/typescript/vue/tsconfig.json +20 -0
  8. package/templates/overlays/blog/angular/src/app/app.component.ts +100 -0
  9. package/templates/overlays/blog/angular/src/app/app.routes.ts +12 -0
  10. package/templates/overlays/blog/angular/src/app/components/blog-sidebar.component.ts +115 -0
  11. package/templates/overlays/blog/angular/src/app/components/post-card.component.ts +94 -0
  12. package/templates/overlays/blog/angular/src/app/pages/about.component.ts +114 -0
  13. package/templates/overlays/blog/angular/src/app/pages/category.component.ts +141 -0
  14. package/templates/overlays/blog/angular/src/app/pages/home.component.ts +143 -0
  15. package/templates/overlays/blog/angular/src/app/pages/post-detail.component.ts +196 -0
  16. package/templates/overlays/blog/angular/src/main.ts +10 -0
  17. package/templates/overlays/blog/nextjs/src/app/about/page.tsx +55 -0
  18. package/templates/overlays/blog/nextjs/src/app/category/[slug]/page.tsx +52 -0
  19. package/templates/overlays/blog/nextjs/src/app/components/BlogFooter.tsx +46 -0
  20. package/templates/overlays/blog/nextjs/src/app/components/BlogHeader.tsx +37 -0
  21. package/templates/overlays/blog/nextjs/src/app/components/BlogSidebar.tsx +56 -0
  22. package/templates/overlays/blog/nextjs/src/app/components/PostCard.tsx +42 -0
  23. package/templates/overlays/blog/nextjs/src/app/globals.css +158 -0
  24. package/templates/overlays/blog/nextjs/src/app/layout.tsx +20 -0
  25. package/templates/overlays/blog/nextjs/src/app/page.tsx +36 -0
  26. package/templates/overlays/blog/nextjs/src/app/post/[id]/page.tsx +78 -0
  27. package/templates/overlays/blog/nuxt/app.vue +27 -0
  28. package/templates/overlays/blog/nuxt/components/BlogFooter.vue +48 -0
  29. package/templates/overlays/blog/nuxt/components/BlogHeader.vue +55 -0
  30. package/templates/overlays/blog/nuxt/components/BlogSidebar.vue +144 -0
  31. package/templates/overlays/blog/nuxt/components/PostCard.vue +125 -0
  32. package/templates/overlays/blog/nuxt/layouts/default.vue +25 -0
  33. package/templates/overlays/blog/nuxt/pages/about.vue +161 -0
  34. package/templates/overlays/blog/nuxt/pages/category/[slug].vue +80 -0
  35. package/templates/overlays/blog/nuxt/pages/index.vue +54 -0
  36. package/templates/overlays/blog/nuxt/pages/post/[id].vue +158 -0
  37. package/templates/overlays/blog/react/src/App.css +58 -18
  38. package/templates/overlays/blog/react/src/App.tsx +16 -31
  39. package/templates/overlays/blog/react/src/components/BlogFooter.tsx +4 -2
  40. package/templates/overlays/blog/react/src/components/BlogHeader.tsx +12 -6
  41. package/templates/overlays/blog/react/src/components/BlogSidebar.tsx +9 -8
  42. package/templates/overlays/blog/react/src/components/Layout.tsx +17 -0
  43. package/templates/overlays/blog/react/src/components/PostCard.tsx +30 -0
  44. package/templates/overlays/blog/react/src/data/posts.ts +22 -0
  45. package/templates/overlays/blog/react/src/pages/About.tsx +33 -0
  46. package/templates/overlays/blog/react/src/pages/Category.tsx +29 -0
  47. package/templates/overlays/blog/react/src/pages/Home.tsx +18 -0
  48. package/templates/overlays/blog/react/src/pages/PostDetail.tsx +38 -0
  49. package/templates/overlays/blog/vanilla/src/main.ts +112 -0
  50. package/templates/overlays/blog/vanilla/src/pages/about.ts +106 -0
  51. package/templates/overlays/blog/vanilla/src/pages/category.ts +86 -0
  52. package/templates/overlays/blog/vanilla/src/pages/home.ts +103 -0
  53. package/templates/overlays/blog/vanilla/src/pages/post-detail.ts +108 -0
  54. package/templates/overlays/blog/vanilla/src/router.ts +33 -0
  55. package/templates/overlays/blog/vanilla/src/style.css +677 -0
  56. package/templates/overlays/blog/vue/src/App.vue +29 -0
  57. package/templates/overlays/blog/vue/src/components/BlogFooter.vue +8 -0
  58. package/templates/overlays/blog/vue/src/components/BlogHeader.vue +14 -0
  59. package/templates/overlays/blog/vue/src/components/BlogSidebar.vue +31 -0
  60. package/templates/overlays/blog/vue/src/components/PostCard.vue +17 -0
  61. package/templates/overlays/blog/vue/src/data.ts +82 -0
  62. package/templates/overlays/blog/vue/src/main.ts +6 -0
  63. package/templates/overlays/blog/vue/src/pages/About.vue +17 -0
  64. package/templates/overlays/blog/vue/src/pages/Category.vue +32 -0
  65. package/templates/overlays/blog/vue/src/pages/Home.vue +14 -0
  66. package/templates/overlays/blog/vue/src/pages/PostDetail.vue +22 -0
  67. package/templates/overlays/blog/vue/src/router.ts +19 -0
  68. package/templates/overlays/blog/vue/src/style.css +288 -0
  69. package/templates/overlays/crm/angular/src/app/app.component.ts +110 -0
  70. package/templates/overlays/crm/angular/src/app/app.routes.ts +12 -0
  71. package/templates/overlays/crm/angular/src/app/components/contacts-table.component.ts +98 -0
  72. package/templates/overlays/crm/angular/src/app/components/stats-cards.component.ts +63 -0
  73. package/templates/overlays/crm/angular/src/app/pages/contacts.component.ts +70 -0
  74. package/templates/overlays/crm/angular/src/app/pages/dashboard-home.component.ts +38 -0
  75. package/templates/overlays/crm/angular/src/app/pages/deals.component.ts +145 -0
  76. package/templates/overlays/crm/angular/src/app/pages/settings.component.ts +103 -0
  77. package/templates/overlays/crm/angular/src/main.ts +8 -0
  78. package/templates/overlays/crm/nextjs/src/app/components/ContactsTable.tsx +69 -0
  79. package/templates/overlays/crm/nextjs/src/app/components/Sidebar.tsx +45 -0
  80. package/templates/overlays/crm/nextjs/src/app/components/StatsCards.tsx +31 -0
  81. package/templates/overlays/crm/nextjs/src/app/contacts/page.tsx +111 -0
  82. package/templates/overlays/crm/nextjs/src/app/deals/page.tsx +111 -0
  83. package/templates/overlays/crm/nextjs/src/app/globals.css +165 -0
  84. package/templates/overlays/crm/nextjs/src/app/layout.tsx +20 -0
  85. package/templates/overlays/crm/nextjs/src/app/page.tsx +43 -0
  86. package/templates/overlays/crm/nextjs/src/app/settings/page.tsx +91 -0
  87. package/templates/overlays/crm/nuxt/app.vue +27 -0
  88. package/templates/overlays/crm/nuxt/components/ContactsTable.vue +140 -0
  89. package/templates/overlays/crm/nuxt/components/CrmSidebar.vue +97 -0
  90. package/templates/overlays/crm/nuxt/components/StatsCards.vue +63 -0
  91. package/templates/overlays/crm/nuxt/layouts/default.vue +21 -0
  92. package/templates/overlays/crm/nuxt/pages/contacts.vue +79 -0
  93. package/templates/overlays/crm/nuxt/pages/deals.vue +229 -0
  94. package/templates/overlays/crm/nuxt/pages/index.vue +186 -0
  95. package/templates/overlays/crm/nuxt/pages/settings.vue +233 -0
  96. package/templates/overlays/crm/react/src/App.css +49 -20
  97. package/templates/overlays/crm/react/src/App.tsx +16 -41
  98. package/templates/overlays/crm/react/src/components/ContactsTable.tsx +8 -8
  99. package/templates/overlays/crm/react/src/components/Layout.tsx +15 -0
  100. package/templates/overlays/crm/react/src/components/Sidebar.tsx +20 -14
  101. package/templates/overlays/crm/react/src/components/StatsCards.tsx +10 -12
  102. package/templates/overlays/crm/react/src/data/contacts.ts +19 -0
  103. package/templates/overlays/crm/react/src/pages/Contacts.tsx +32 -0
  104. package/templates/overlays/crm/react/src/pages/DashboardHome.tsx +44 -0
  105. package/templates/overlays/crm/react/src/pages/Deals.tsx +48 -0
  106. package/templates/overlays/crm/react/src/pages/Settings.tsx +35 -0
  107. package/templates/overlays/crm/vanilla/src/main.ts +95 -0
  108. package/templates/overlays/crm/vanilla/src/pages/contacts.ts +87 -0
  109. package/templates/overlays/crm/vanilla/src/pages/dashboard-home.ts +121 -0
  110. package/templates/overlays/crm/vanilla/src/pages/deals.ts +116 -0
  111. package/templates/overlays/crm/vanilla/src/pages/settings.ts +129 -0
  112. package/templates/overlays/crm/vanilla/src/router.ts +33 -0
  113. package/templates/overlays/crm/vanilla/src/style.css +766 -0
  114. package/templates/overlays/crm/vue/src/App.vue +25 -0
  115. package/templates/overlays/crm/vue/src/components/ContactsTable.vue +30 -0
  116. package/templates/overlays/crm/vue/src/components/CrmSidebar.vue +14 -0
  117. package/templates/overlays/crm/vue/src/components/StatsCards.vue +23 -0
  118. package/templates/overlays/crm/vue/src/data.ts +38 -0
  119. package/templates/overlays/crm/vue/src/main.ts +6 -0
  120. package/templates/overlays/crm/vue/src/pages/Contacts.vue +25 -0
  121. package/templates/overlays/crm/vue/src/pages/DashboardHome.vue +19 -0
  122. package/templates/overlays/crm/vue/src/pages/Deals.vue +34 -0
  123. package/templates/overlays/crm/vue/src/pages/Settings.vue +33 -0
  124. package/templates/overlays/crm/vue/src/router.ts +19 -0
  125. package/templates/overlays/crm/vue/src/style.css +272 -0
  126. package/templates/overlays/dashboard/angular/src/app/app.component.ts +135 -0
  127. package/templates/overlays/dashboard/angular/src/app/app.routes.ts +24 -0
  128. package/templates/overlays/dashboard/angular/src/app/components/chart-placeholder.component.ts +86 -0
  129. package/templates/overlays/dashboard/angular/src/app/components/data-table.component.ts +140 -0
  130. package/templates/overlays/dashboard/angular/src/app/components/kpi-cards.component.ts +120 -0
  131. package/templates/overlays/dashboard/angular/src/app/pages/analytics.component.ts +138 -0
  132. package/templates/overlays/dashboard/angular/src/app/pages/overview.component.ts +58 -0
  133. package/templates/overlays/dashboard/angular/src/app/pages/settings.component.ts +128 -0
  134. package/templates/overlays/dashboard/angular/src/app/pages/users.component.ts +153 -0
  135. package/templates/overlays/dashboard/angular/src/main.ts +10 -0
  136. package/templates/overlays/dashboard/nextjs/src/app/analytics/page.tsx +76 -0
  137. package/templates/overlays/dashboard/nextjs/src/app/components/ChartPlaceholder.tsx +58 -0
  138. package/templates/overlays/dashboard/nextjs/src/app/components/DataTable.tsx +60 -0
  139. package/templates/overlays/dashboard/nextjs/src/app/components/KPICards.tsx +31 -0
  140. package/templates/overlays/dashboard/nextjs/src/app/components/Sidebar.tsx +45 -0
  141. package/templates/overlays/dashboard/nextjs/src/app/globals.css +150 -0
  142. package/templates/overlays/dashboard/nextjs/src/app/layout.tsx +20 -0
  143. package/templates/overlays/dashboard/nextjs/src/app/page.tsx +20 -0
  144. package/templates/overlays/dashboard/nextjs/src/app/settings/page.tsx +118 -0
  145. package/templates/overlays/dashboard/nextjs/src/app/users/page.tsx +99 -0
  146. package/templates/overlays/dashboard/nuxt/app.vue +27 -0
  147. package/templates/overlays/dashboard/nuxt/components/ChartPlaceholder.vue +73 -0
  148. package/templates/overlays/dashboard/nuxt/components/DashSidebar.vue +97 -0
  149. package/templates/overlays/dashboard/nuxt/components/DataTable.vue +126 -0
  150. package/templates/overlays/dashboard/nuxt/components/KPICards.vue +76 -0
  151. package/templates/overlays/dashboard/nuxt/layouts/default.vue +21 -0
  152. package/templates/overlays/dashboard/nuxt/pages/analytics.vue +94 -0
  153. package/templates/overlays/dashboard/nuxt/pages/index.vue +49 -0
  154. package/templates/overlays/dashboard/nuxt/pages/settings.vue +239 -0
  155. package/templates/overlays/dashboard/nuxt/pages/users.vue +227 -0
  156. package/templates/overlays/dashboard/react/src/App.css +50 -24
  157. package/templates/overlays/dashboard/react/src/App.tsx +16 -22
  158. package/templates/overlays/dashboard/react/src/components/ChartPlaceholder.tsx +5 -2
  159. package/templates/overlays/dashboard/react/src/components/DataTable.tsx +9 -1
  160. package/templates/overlays/dashboard/react/src/components/KPICards.tsx +4 -4
  161. package/templates/overlays/dashboard/react/src/components/Layout.tsx +13 -0
  162. package/templates/overlays/dashboard/react/src/components/Sidebar.tsx +15 -10
  163. package/templates/overlays/dashboard/react/src/pages/Analytics.tsx +33 -0
  164. package/templates/overlays/dashboard/react/src/pages/Overview.tsx +23 -0
  165. package/templates/overlays/dashboard/react/src/pages/Settings.tsx +41 -0
  166. package/templates/overlays/dashboard/react/src/pages/Users.tsx +57 -0
  167. package/templates/overlays/dashboard/vanilla/src/main.ts +101 -0
  168. package/templates/overlays/dashboard/vanilla/src/pages/analytics.ts +99 -0
  169. package/templates/overlays/dashboard/vanilla/src/pages/overview.ts +60 -0
  170. package/templates/overlays/dashboard/vanilla/src/pages/settings.ts +118 -0
  171. package/templates/overlays/dashboard/vanilla/src/pages/users.ts +80 -0
  172. package/templates/overlays/dashboard/vanilla/src/router.ts +33 -0
  173. package/templates/overlays/dashboard/vanilla/src/style.css +654 -0
  174. package/templates/overlays/dashboard/vue/src/App.vue +12 -0
  175. package/templates/overlays/dashboard/vue/src/components/ChartPlaceholder.vue +34 -0
  176. package/templates/overlays/dashboard/vue/src/components/DashSidebar.vue +19 -0
  177. package/templates/overlays/dashboard/vue/src/components/DataTable.vue +34 -0
  178. package/templates/overlays/dashboard/vue/src/components/KPICards.vue +18 -0
  179. package/templates/overlays/dashboard/vue/src/main.ts +6 -0
  180. package/templates/overlays/dashboard/vue/src/pages/Analytics.vue +32 -0
  181. package/templates/overlays/dashboard/vue/src/pages/Overview.vue +17 -0
  182. package/templates/overlays/dashboard/vue/src/pages/Settings.vue +65 -0
  183. package/templates/overlays/dashboard/vue/src/pages/Users.vue +44 -0
  184. package/templates/overlays/dashboard/vue/src/router.ts +15 -0
  185. package/templates/overlays/dashboard/vue/src/style.css +447 -0
  186. package/templates/overlays/ecommerce/angular/src/app/app.component.ts +147 -0
  187. package/templates/overlays/ecommerce/angular/src/app/app.routes.ts +10 -0
  188. package/templates/overlays/ecommerce/angular/src/app/components/product-card.component.ts +94 -0
  189. package/templates/overlays/ecommerce/angular/src/app/data/products.ts +75 -0
  190. package/templates/overlays/ecommerce/angular/src/app/pages/cart.component.ts +169 -0
  191. package/templates/overlays/ecommerce/angular/src/app/pages/home.component.ts +96 -0
  192. package/templates/overlays/ecommerce/angular/src/app/pages/product-detail.component.ts +124 -0
  193. package/templates/overlays/ecommerce/angular/src/main.ts +10 -0
  194. package/templates/overlays/ecommerce/nextjs/src/app/cart/page.tsx +74 -0
  195. package/templates/overlays/ecommerce/nextjs/src/app/components/CartProvider.tsx +80 -0
  196. package/templates/overlays/ecommerce/nextjs/src/app/components/Footer.tsx +44 -0
  197. package/templates/overlays/ecommerce/nextjs/src/app/components/Header.tsx +27 -0
  198. package/templates/overlays/ecommerce/nextjs/src/app/components/ProductCard.tsx +23 -0
  199. package/templates/overlays/ecommerce/nextjs/src/app/globals.css +144 -0
  200. package/templates/overlays/ecommerce/nextjs/src/app/layout.tsx +23 -0
  201. package/templates/overlays/ecommerce/nextjs/src/app/page.tsx +73 -0
  202. package/templates/overlays/ecommerce/nextjs/src/app/product/[id]/page.tsx +63 -0
  203. package/templates/overlays/ecommerce/nuxt/app.vue +27 -0
  204. package/templates/overlays/ecommerce/nuxt/components/ProductCard.vue +77 -0
  205. package/templates/overlays/ecommerce/nuxt/components/StoreFooter.vue +47 -0
  206. package/templates/overlays/ecommerce/nuxt/components/StoreHeader.vue +91 -0
  207. package/templates/overlays/ecommerce/nuxt/layouts/default.vue +43 -0
  208. package/templates/overlays/ecommerce/nuxt/pages/cart.vue +268 -0
  209. package/templates/overlays/ecommerce/nuxt/pages/index.vue +154 -0
  210. package/templates/overlays/ecommerce/nuxt/pages/product/[id].vue +211 -0
  211. package/templates/overlays/ecommerce/react/src/App.css +71 -59
  212. package/templates/overlays/ecommerce/react/src/App.tsx +18 -44
  213. package/templates/overlays/ecommerce/react/src/components/Footer.tsx +2 -2
  214. package/templates/overlays/ecommerce/react/src/components/Header.tsx +15 -14
  215. package/templates/overlays/ecommerce/react/src/components/Layout.tsx +20 -0
  216. package/templates/overlays/ecommerce/react/src/components/ProductCard.tsx +28 -0
  217. package/templates/overlays/ecommerce/react/src/data/products.ts +23 -0
  218. package/templates/overlays/ecommerce/react/src/pages/Cart.tsx +51 -0
  219. package/templates/overlays/ecommerce/react/src/pages/Home.tsx +37 -0
  220. package/templates/overlays/ecommerce/react/src/pages/ProductDetail.tsx +38 -0
  221. package/templates/overlays/ecommerce/vanilla/src/main.ts +73 -0
  222. package/templates/overlays/ecommerce/vanilla/src/pages/cart.ts +73 -0
  223. package/templates/overlays/ecommerce/vanilla/src/pages/home.ts +71 -0
  224. package/templates/overlays/ecommerce/vanilla/src/pages/product-detail.ts +81 -0
  225. package/templates/overlays/ecommerce/vanilla/src/router.ts +33 -0
  226. package/templates/overlays/ecommerce/vanilla/src/style.css +522 -0
  227. package/templates/overlays/ecommerce/vue/src/App.vue +17 -32
  228. package/templates/overlays/ecommerce/vue/src/components/ProductCard.vue +25 -0
  229. package/templates/overlays/ecommerce/vue/src/components/StoreFooter.vue +6 -12
  230. package/templates/overlays/ecommerce/vue/src/components/StoreHeader.vue +5 -23
  231. package/templates/overlays/ecommerce/vue/src/data.ts +23 -0
  232. package/templates/overlays/ecommerce/vue/src/main.ts +6 -0
  233. package/templates/overlays/ecommerce/vue/src/pages/Cart.vue +34 -0
  234. package/templates/overlays/ecommerce/vue/src/pages/Home.vue +27 -0
  235. package/templates/overlays/ecommerce/vue/src/pages/ProductDetail.vue +27 -0
  236. package/templates/overlays/ecommerce/vue/src/router.ts +13 -0
  237. package/templates/overlays/ecommerce/vue/src/style.css +359 -0
  238. package/templates/overlays/portfolio/angular/src/app/app.component.ts +102 -0
  239. package/templates/overlays/portfolio/angular/src/app/app.routes.ts +12 -0
  240. package/templates/overlays/portfolio/angular/src/app/components/project-card.component.ts +86 -0
  241. package/templates/overlays/portfolio/angular/src/app/components/skills-grid.component.ts +88 -0
  242. package/templates/overlays/portfolio/angular/src/app/pages/about.component.ts +122 -0
  243. package/templates/overlays/portfolio/angular/src/app/pages/contact.component.ts +131 -0
  244. package/templates/overlays/portfolio/angular/src/app/pages/home.component.ts +207 -0
  245. package/templates/overlays/portfolio/angular/src/app/pages/projects.component.ts +150 -0
  246. package/templates/overlays/portfolio/angular/src/main.ts +10 -0
  247. package/templates/overlays/portfolio/nextjs/src/app/about/page.tsx +70 -0
  248. package/templates/overlays/portfolio/nextjs/src/app/components/Footer.tsx +37 -0
  249. package/templates/overlays/portfolio/nextjs/src/app/components/Navbar.tsx +37 -0
  250. package/templates/overlays/portfolio/nextjs/src/app/components/ProjectCard.tsx +35 -0
  251. package/templates/overlays/portfolio/nextjs/src/app/components/SkillsGrid.tsx +45 -0
  252. package/templates/overlays/portfolio/nextjs/src/app/contact/page.tsx +138 -0
  253. package/templates/overlays/portfolio/nextjs/src/app/globals.css +197 -0
  254. package/templates/overlays/portfolio/nextjs/src/app/layout.tsx +20 -0
  255. package/templates/overlays/portfolio/nextjs/src/app/page.tsx +60 -0
  256. package/templates/overlays/portfolio/nextjs/src/app/projects/page.tsx +56 -0
  257. package/templates/overlays/portfolio/nuxt/app.vue +27 -0
  258. package/templates/overlays/portfolio/nuxt/components/PortfolioFooter.vue +49 -0
  259. package/templates/overlays/portfolio/nuxt/components/PortfolioNav.vue +77 -0
  260. package/templates/overlays/portfolio/nuxt/components/ProjectCard.vue +102 -0
  261. package/templates/overlays/portfolio/nuxt/components/SkillsGrid.vue +89 -0
  262. package/templates/overlays/portfolio/nuxt/layouts/default.vue +21 -0
  263. package/templates/overlays/portfolio/nuxt/pages/about.vue +179 -0
  264. package/templates/overlays/portfolio/nuxt/pages/contact.vue +278 -0
  265. package/templates/overlays/portfolio/nuxt/pages/index.vue +160 -0
  266. package/templates/overlays/portfolio/nuxt/pages/projects.vue +116 -0
  267. package/templates/overlays/portfolio/react/src/App.css +54 -27
  268. package/templates/overlays/portfolio/react/src/App.tsx +16 -12
  269. package/templates/overlays/portfolio/react/src/components/Layout.tsx +17 -0
  270. package/templates/overlays/portfolio/react/src/components/Navbar.tsx +30 -0
  271. package/templates/overlays/portfolio/react/src/components/PortfolioFooter.tsx +5 -3
  272. package/templates/overlays/portfolio/react/src/components/ProjectCard.tsx +24 -0
  273. package/templates/overlays/portfolio/react/src/components/SkillsGrid.tsx +20 -0
  274. package/templates/overlays/portfolio/react/src/data/projects.ts +25 -0
  275. package/templates/overlays/portfolio/react/src/pages/About.tsx +43 -0
  276. package/templates/overlays/portfolio/react/src/pages/Contact.tsx +48 -0
  277. package/templates/overlays/portfolio/react/src/pages/Home.tsx +44 -0
  278. package/templates/overlays/portfolio/react/src/pages/Projects.tsx +36 -0
  279. package/templates/overlays/portfolio/vanilla/src/main.ts +58 -0
  280. package/templates/overlays/portfolio/vanilla/src/pages/about.ts +146 -0
  281. package/templates/overlays/portfolio/vanilla/src/pages/contact.ts +159 -0
  282. package/templates/overlays/portfolio/vanilla/src/pages/home.ts +123 -0
  283. package/templates/overlays/portfolio/vanilla/src/pages/projects.ts +89 -0
  284. package/templates/overlays/portfolio/vanilla/src/router.ts +33 -0
  285. package/templates/overlays/portfolio/vanilla/src/style.css +909 -0
  286. package/templates/overlays/portfolio/vue/src/App.vue +25 -0
  287. package/templates/overlays/portfolio/vue/src/components/PortfolioFooter.vue +14 -0
  288. package/templates/overlays/portfolio/vue/src/components/PortfolioNav.vue +16 -0
  289. package/templates/overlays/portfolio/vue/src/components/ProjectCard.vue +18 -0
  290. package/templates/overlays/portfolio/vue/src/components/SkillsGrid.vue +14 -0
  291. package/templates/overlays/portfolio/vue/src/data.ts +78 -0
  292. package/templates/overlays/portfolio/vue/src/main.ts +6 -0
  293. package/templates/overlays/portfolio/vue/src/pages/About.vue +30 -0
  294. package/templates/overlays/portfolio/vue/src/pages/Contact.vue +47 -0
  295. package/templates/overlays/portfolio/vue/src/pages/Home.vue +27 -0
  296. package/templates/overlays/portfolio/vue/src/pages/Projects.vue +33 -0
  297. package/templates/overlays/portfolio/vue/src/router.ts +19 -0
  298. package/templates/overlays/portfolio/vue/src/style.css +404 -0
  299. package/templates/react/package.json +23 -19
  300. package/templates/react/tsconfig.json +20 -0
  301. package/templates/styling/tailwind/deps.json +7 -6
  302. package/templates/styling/tailwind/nextjs/postcss.config.mjs +7 -0
  303. package/templates/styling/tailwind/nextjs/src/app/globals.css +1 -0
  304. package/templates/styling/tailwind/react/src/index.css +1 -0
  305. package/templates/styling/tailwind/react/vite.config.ts +7 -0
  306. package/templates/styling/tailwind/vanilla/src/style.css +1 -0
  307. package/templates/styling/tailwind/vanilla/vite.config.ts +6 -0
  308. package/templates/styling/tailwind/vue/src/style.css +1 -0
  309. package/templates/styling/tailwind/vue/vite.config.ts +7 -0
  310. package/templates/vanilla/package.json +15 -14
  311. package/templates/vanilla/tsconfig.json +19 -0
  312. package/templates/vue/package.json +21 -18
  313. package/templates/vue/tsconfig.json +20 -0
  314. package/templates/overlays/blog/react/src/components/PostList.tsx +0 -27
  315. package/templates/overlays/crm/react/src/components/Filters.tsx +0 -22
  316. package/templates/overlays/ecommerce/react/src/components/Cart.tsx +0 -47
  317. package/templates/overlays/ecommerce/react/src/components/ProductGrid.tsx +0 -32
  318. package/templates/overlays/ecommerce/vue/src/components/CartPanel.vue +0 -46
  319. package/templates/overlays/ecommerce/vue/src/components/ProductGrid.vue +0 -40
  320. package/templates/overlays/portfolio/react/src/components/ContactForm.tsx +0 -29
  321. package/templates/overlays/portfolio/react/src/components/HeroSection.tsx +0 -24
  322. package/templates/overlays/portfolio/react/src/components/Projects.tsx +0 -33
  323. package/templates/overlays/portfolio/react/src/components/Skills.tsx +0 -27
  324. package/templates/styling/tailwind/config/postcss.config.js +0 -5
  325. package/templates/styling/tailwind/config/tailwind.config.js +0 -11
package/README.md CHANGED
@@ -1,226 +1,226 @@
1
- # @beknurakhmed/webforge-cli
2
-
3
- [![npm version](https://img.shields.io/npm/v/@beknurakhmed/webforge-cli.svg)](https://www.npmjs.com/package/@beknurakhmed/webforge-cli)
4
- [![license](https://img.shields.io/npm/l/@beknurakhmed/webforge-cli.svg)](https://github.com/beknurakhmed/webforge-cli/blob/main/LICENSE)
5
- [![node](https://img.shields.io/node/v/@beknurakhmed/webforge-cli.svg)](https://nodejs.org)
6
-
7
- Interactive CLI to generate production-ready website project templates. Pick your template, framework, styling, state management, and coding paradigm — get a fully configured project in seconds.
8
-
9
- ## Quick Start
10
-
11
- ```bash
12
- npx @beknurakhmed/webforge-cli
13
- ```
14
-
15
- Or install globally:
16
-
17
- ```bash
18
- npm install -g @beknurakhmed/webforge-cli
19
- webforge-cli
20
- ```
21
-
22
- You can also pass the project name directly:
23
-
24
- ```bash
25
- npx @beknurakhmed/webforge-cli my-app
26
- ```
27
-
28
- ## How It Works
29
-
30
- The CLI walks you through an interactive wizard:
31
-
32
- ```
33
- ┌ webforge-cli — project template generator
34
-
35
- ◆ Project name: → my-awesome-app
36
- ◆ Select a template: → Landing Page / E-commerce / CRM / Dashboard / Blog / Portfolio
37
- ◆ Select a framework: → React / Vue / Angular / Vanilla / Next.js / Nuxt
38
- ◆ Coding paradigm: → Functional / SOLID OOP
39
- ◆ Styling solution: → Tailwind CSS / SCSS / CSS Modules / Material UI / ...
40
- ◆ State management: → Redux / Zustand / MobX / Pinia / NgRx / RxJS / None
41
- ◆ Extra tools: → TypeScript / ESLint / Prettier
42
-
43
- ◇ Project generated successfully!
44
-
45
- │ Next steps:
46
- │ cd my-awesome-app
47
- │ npm install
48
- │ npm run dev
49
-
50
- └ Happy coding!
51
- ```
52
-
53
- ## Template Types
54
-
55
- | Template | Description |
56
- |----------|-------------|
57
- | **Landing Page** | Marketing page with hero, features, CTA, footer |
58
- | **E-commerce** | Product grid, shopping cart, product cards |
59
- | **CRM** | Contacts table, stats cards, filters, sidebar |
60
- | **Dashboard** | KPI cards, charts, data tables, sidebar navigation |
61
- | **Blog** | Post list, categories sidebar, newsletter signup |
62
- | **Portfolio** | Hero intro, project grid, skills, contact form |
63
-
64
- ## Frameworks
65
-
66
- | Framework | Build Tool | Version |
67
- |-----------|-----------|---------|
68
- | **React** | Vite | React 19 |
69
- | **Vue** | Vite | Vue 3.5 |
70
- | **Angular** | Angular CLI | Angular 19 |
71
- | **Vanilla** | Vite | Plain TS/JS |
72
- | **Next.js** | Next.js | v15 |
73
- | **Nuxt** | Nuxt | v3 |
74
-
75
- ## Styling Options
76
-
77
- | Styling | Works with |
78
- |---------|-----------|
79
- | **Tailwind CSS** | React, Vue, Angular, Vanilla, Next.js, Nuxt |
80
- | **SCSS** | React, Vue, Angular, Vanilla, Next.js, Nuxt |
81
- | **CSS Modules** | React, Vue, Vanilla, Next.js, Nuxt |
82
- | **Styled Components** | React, Next.js |
83
- | **Material UI** | React, Next.js |
84
- | **Chakra UI** | React, Next.js |
85
- | **Ant Design** | React, Vue, Next.js |
86
- | **Angular Material** | Angular |
87
-
88
- ## State Management
89
-
90
- | Library | Works with |
91
- |---------|-----------|
92
- | **Redux Toolkit** | React, Next.js |
93
- | **Zustand** | React, Next.js |
94
- | **MobX** | React, Next.js |
95
- | **Pinia** | Vue, Nuxt |
96
- | **RxJS** | Angular |
97
- | **NgRx** | Angular |
98
-
99
- ## Coding Paradigm
100
-
101
- Choose between two coding styles for your generated project:
102
-
103
- - **Functional** — React hooks, Vue composables, Angular signals, pure functions
104
- - **SOLID OOP** — Class components, services, dependency injection, OOP patterns
105
-
106
- ## Examples
107
-
108
- ### React + Landing Page + Tailwind
109
-
110
- ```bash
111
- npx @beknurakhmed/webforge-cli
112
- # → my-landing
113
- # → Landing Page
114
- # → React
115
- # → Functional
116
- # → Tailwind CSS
117
- # → None
118
- # → TypeScript, ESLint, Prettier
119
- ```
120
-
121
- ### Vue + E-commerce + SCSS + Pinia
122
-
123
- ```bash
124
- npx @beknurakhmed/webforge-cli
125
- # → my-store
126
- # → E-commerce
127
- # → Vue
128
- # → Functional
129
- # → SCSS
130
- # → Pinia
131
- # → TypeScript
132
- ```
133
-
134
- ### Angular + Dashboard + Angular Material + NgRx
135
-
136
- ```bash
137
- npx @beknurakhmed/webforge-cli
138
- # → admin-panel
139
- # → Dashboard
140
- # → Angular
141
- # → SOLID OOP
142
- # → Angular Material
143
- # → NgRx
144
- # → TypeScript, ESLint
145
- ```
146
-
147
- ## Project Structure (Generated)
148
-
149
- Example for React + Landing Page:
150
-
151
- ```
152
- my-landing/
153
- ├── public/
154
- │ └── vite.svg
155
- ├── src/
156
- │ ├── components/
157
- │ │ ├── Hero.tsx
158
- │ │ ├── Features.tsx
159
- │ │ ├── CTA.tsx
160
- │ │ └── Footer.tsx
161
- │ ├── App.tsx
162
- │ ├── App.css
163
- │ ├── main.tsx
164
- │ └── index.css
165
- ├── index.html
166
- ├── package.json
167
- ├── vite.config.ts
168
- ├── tailwind.config.js (if Tailwind selected)
169
- ├── eslint.config.js (if ESLint selected)
170
- ├── .prettierrc (if Prettier selected)
171
- ├── .gitignore
172
- └── README.md
173
- ```
174
-
175
- ## Architecture
176
-
177
- webforge-cli uses a **layered overlay system** to generate projects:
178
-
179
- ```
180
- Layer 1: Framework base (React/Vue/Angular/Vanilla/Next.js/Nuxt)
181
- Layer 2: Template overlay (Landing/E-commerce/CRM/Dashboard/Blog/Portfolio)
182
- Layer 3: Paradigm variant (Functional/OOP)
183
- Layer 4: Styling config (Tailwind/SCSS/Material UI/...)
184
- Layer 5: State management (Redux/Zustand/Pinia/...)
185
- Layer 6: Extras (ESLint/Prettier)
186
- ```
187
-
188
- Each layer copies files on top of the previous one. Dependencies are merged into `package.json` automatically.
189
-
190
- ## Requirements
191
-
192
- - Node.js >= 18.0.0
193
-
194
- ## Development
195
-
196
- ```bash
197
- git clone https://github.com/beknurakhmed/webforge-cli.git
198
- cd webforge-cli
199
- npm install
200
- npm run build
201
- node dist/index.js
202
- ```
203
-
204
- ### Scripts
205
-
206
- | Script | Description |
207
- |--------|-------------|
208
- | `npm run build` | Build CLI with tsup |
209
- | `npm run dev` | Watch mode build |
210
- | `npm run start` | Run the CLI |
211
- | `npm run typecheck` | TypeScript type checking |
212
-
213
- ## Contributing
214
-
215
- Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for Git Flow branching strategy and guidelines.
216
-
217
- ## Author
218
-
219
- **Beknur** — Frontend Developer & Software Engineer
220
-
221
- - GitHub: [@beknurakhmed](https://github.com/beknurakhmed)
222
- - npm: [@beknurakhmed](https://www.npmjs.com/~beknurakhmed)
223
-
224
- ## License
225
-
226
- MIT
1
+ # @beknurakhmed/webforge-cli
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@beknurakhmed/webforge-cli.svg)](https://www.npmjs.com/package/@beknurakhmed/webforge-cli)
4
+ [![license](https://img.shields.io/npm/l/@beknurakhmed/webforge-cli.svg)](https://github.com/beknurakhmed/webforge-cli/blob/main/LICENSE)
5
+ [![node](https://img.shields.io/node/v/@beknurakhmed/webforge-cli.svg)](https://nodejs.org)
6
+
7
+ Interactive CLI to generate production-ready website project templates. Pick your template, framework, styling, state management, and coding paradigm — get a fully configured project in seconds.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ npx @beknurakhmed/webforge-cli
13
+ ```
14
+
15
+ Or install globally:
16
+
17
+ ```bash
18
+ npm install -g @beknurakhmed/webforge-cli
19
+ webforge-cli
20
+ ```
21
+
22
+ You can also pass the project name directly:
23
+
24
+ ```bash
25
+ npx @beknurakhmed/webforge-cli my-app
26
+ ```
27
+
28
+ ## How It Works
29
+
30
+ The CLI walks you through an interactive wizard:
31
+
32
+ ```
33
+ ┌ webforge-cli — project template generator
34
+
35
+ ◆ Project name: → my-awesome-app
36
+ ◆ Select a template: → Landing Page / E-commerce / CRM / Dashboard / Blog / Portfolio
37
+ ◆ Select a framework: → React / Vue / Angular / Vanilla / Next.js / Nuxt
38
+ ◆ Coding paradigm: → Functional / SOLID OOP
39
+ ◆ Styling solution: → Tailwind CSS / SCSS / CSS Modules / Material UI / ...
40
+ ◆ State management: → Redux / Zustand / MobX / Pinia / NgRx / RxJS / None
41
+ ◆ Extra tools: → TypeScript / ESLint / Prettier
42
+
43
+ ◇ Project generated successfully!
44
+
45
+ │ Next steps:
46
+ │ cd my-awesome-app
47
+ │ npm install
48
+ │ npm run dev
49
+
50
+ └ Happy coding!
51
+ ```
52
+
53
+ ## Template Types
54
+
55
+ | Template | Description |
56
+ |----------|-------------|
57
+ | **Landing Page** | Marketing page with hero, features, CTA, footer |
58
+ | **E-commerce** | Product grid, shopping cart, product cards |
59
+ | **CRM** | Contacts table, stats cards, filters, sidebar |
60
+ | **Dashboard** | KPI cards, charts, data tables, sidebar navigation |
61
+ | **Blog** | Post list, categories sidebar, newsletter signup |
62
+ | **Portfolio** | Hero intro, project grid, skills, contact form |
63
+
64
+ ## Frameworks
65
+
66
+ | Framework | Build Tool | Version |
67
+ |-----------|-----------|---------|
68
+ | **React** | Vite | React 19 |
69
+ | **Vue** | Vite | Vue 3.5 |
70
+ | **Angular** | Angular CLI | Angular 19 |
71
+ | **Vanilla** | Vite | Plain TS/JS |
72
+ | **Next.js** | Next.js | v15 |
73
+ | **Nuxt** | Nuxt | v3 |
74
+
75
+ ## Styling Options
76
+
77
+ | Styling | Works with |
78
+ |---------|-----------|
79
+ | **Tailwind CSS** | React, Vue, Angular, Vanilla, Next.js, Nuxt |
80
+ | **SCSS** | React, Vue, Angular, Vanilla, Next.js, Nuxt |
81
+ | **CSS Modules** | React, Vue, Vanilla, Next.js, Nuxt |
82
+ | **Styled Components** | React, Next.js |
83
+ | **Material UI** | React, Next.js |
84
+ | **Chakra UI** | React, Next.js |
85
+ | **Ant Design** | React, Vue, Next.js |
86
+ | **Angular Material** | Angular |
87
+
88
+ ## State Management
89
+
90
+ | Library | Works with |
91
+ |---------|-----------|
92
+ | **Redux Toolkit** | React, Next.js |
93
+ | **Zustand** | React, Next.js |
94
+ | **MobX** | React, Next.js |
95
+ | **Pinia** | Vue, Nuxt |
96
+ | **RxJS** | Angular |
97
+ | **NgRx** | Angular |
98
+
99
+ ## Coding Paradigm
100
+
101
+ Choose between two coding styles for your generated project:
102
+
103
+ - **Functional** — React hooks, Vue composables, Angular signals, pure functions
104
+ - **SOLID OOP** — Class components, services, dependency injection, OOP patterns
105
+
106
+ ## Examples
107
+
108
+ ### React + Landing Page + Tailwind
109
+
110
+ ```bash
111
+ npx @beknurakhmed/webforge-cli
112
+ # → my-landing
113
+ # → Landing Page
114
+ # → React
115
+ # → Functional
116
+ # → Tailwind CSS
117
+ # → None
118
+ # → TypeScript, ESLint, Prettier
119
+ ```
120
+
121
+ ### Vue + E-commerce + SCSS + Pinia
122
+
123
+ ```bash
124
+ npx @beknurakhmed/webforge-cli
125
+ # → my-store
126
+ # → E-commerce
127
+ # → Vue
128
+ # → Functional
129
+ # → SCSS
130
+ # → Pinia
131
+ # → TypeScript
132
+ ```
133
+
134
+ ### Angular + Dashboard + Angular Material + NgRx
135
+
136
+ ```bash
137
+ npx @beknurakhmed/webforge-cli
138
+ # → admin-panel
139
+ # → Dashboard
140
+ # → Angular
141
+ # → SOLID OOP
142
+ # → Angular Material
143
+ # → NgRx
144
+ # → TypeScript, ESLint
145
+ ```
146
+
147
+ ## Project Structure (Generated)
148
+
149
+ Example for React + Landing Page:
150
+
151
+ ```
152
+ my-landing/
153
+ ├── public/
154
+ │ └── vite.svg
155
+ ├── src/
156
+ │ ├── components/
157
+ │ │ ├── Hero.tsx
158
+ │ │ ├── Features.tsx
159
+ │ │ ├── CTA.tsx
160
+ │ │ └── Footer.tsx
161
+ │ ├── App.tsx
162
+ │ ├── App.css
163
+ │ ├── main.tsx
164
+ │ └── index.css
165
+ ├── index.html
166
+ ├── package.json
167
+ ├── vite.config.ts
168
+ ├── tailwind.config.js (if Tailwind selected)
169
+ ├── eslint.config.js (if ESLint selected)
170
+ ├── .prettierrc (if Prettier selected)
171
+ ├── .gitignore
172
+ └── README.md
173
+ ```
174
+
175
+ ## Architecture
176
+
177
+ webforge-cli uses a **layered overlay system** to generate projects:
178
+
179
+ ```
180
+ Layer 1: Framework base (React/Vue/Angular/Vanilla/Next.js/Nuxt)
181
+ Layer 2: Template overlay (Landing/E-commerce/CRM/Dashboard/Blog/Portfolio)
182
+ Layer 3: Paradigm variant (Functional/OOP)
183
+ Layer 4: Styling config (Tailwind/SCSS/Material UI/...)
184
+ Layer 5: State management (Redux/Zustand/Pinia/...)
185
+ Layer 6: Extras (ESLint/Prettier)
186
+ ```
187
+
188
+ Each layer copies files on top of the previous one. Dependencies are merged into `package.json` automatically.
189
+
190
+ ## Requirements
191
+
192
+ - Node.js >= 18.0.0
193
+
194
+ ## Development
195
+
196
+ ```bash
197
+ git clone https://github.com/beknurakhmed/webforge-cli.git
198
+ cd webforge-cli
199
+ npm install
200
+ npm run build
201
+ node dist/index.js
202
+ ```
203
+
204
+ ### Scripts
205
+
206
+ | Script | Description |
207
+ |--------|-------------|
208
+ | `npm run build` | Build CLI with tsup |
209
+ | `npm run dev` | Watch mode build |
210
+ | `npm run start` | Run the CLI |
211
+ | `npm run typecheck` | TypeScript type checking |
212
+
213
+ ## Contributing
214
+
215
+ Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for Git Flow branching strategy and guidelines.
216
+
217
+ ## Author
218
+
219
+ **Beknur** — Frontend Developer & Software Engineer
220
+
221
+ - GitHub: [@beknurakhmed](https://github.com/beknurakhmed)
222
+ - npm: [@beknurakhmed](https://www.npmjs.com/~beknurakhmed)
223
+
224
+ ## License
225
+
226
+ MIT
package/package.json CHANGED
@@ -1,63 +1,63 @@
1
- {
2
- "name": "@beknurakhmed/webforge-cli",
3
- "version": "0.1.1",
4
- "description": "Interactive CLI to generate website project templates — landing pages, e-commerce, CRM, dashboards, blogs, portfolios with React, Vue, Angular, Next.js, Nuxt and more",
5
- "type": "module",
6
- "bin": {
7
- "webforge-cli": "./dist/index.js"
8
- },
9
- "files": [
10
- "dist",
11
- "templates"
12
- ],
13
- "scripts": {
14
- "build": "tsup",
15
- "dev": "tsup --watch",
16
- "start": "node dist/index.js",
17
- "typecheck": "tsc --noEmit",
18
- "prepublishOnly": "npm run build"
19
- },
20
- "keywords": [
21
- "cli",
22
- "scaffold",
23
- "template",
24
- "generator",
25
- "react",
26
- "vue",
27
- "angular",
28
- "nextjs",
29
- "nuxt",
30
- "vite",
31
- "tailwind",
32
- "landing-page",
33
- "ecommerce",
34
- "dashboard",
35
- "crm",
36
- "blog",
37
- "portfolio"
38
- ],
39
- "author": "Beknur <https://github.com/beknurakhmed>",
40
- "repository": {
41
- "type": "git",
42
- "url": "git+https://github.com/beknurakhmed/webforge-cli.git"
43
- },
44
- "homepage": "https://github.com/beknurakhmed/webforge-cli#readme",
45
- "bugs": {
46
- "url": "https://github.com/beknurakhmed/webforge-cli/issues"
47
- },
48
- "license": "MIT",
49
- "engines": {
50
- "node": ">=18.0.0"
51
- },
52
- "dependencies": {
53
- "@clack/prompts": "^1.0.1",
54
- "fs-extra": "^11.3.3",
55
- "picocolors": "^1.1.1"
56
- },
57
- "devDependencies": {
58
- "@types/fs-extra": "^11.0.4",
59
- "@types/node": "^25.3.0",
60
- "tsup": "^8.5.1",
61
- "typescript": "^5.9.3"
62
- }
63
- }
1
+ {
2
+ "name": "@beknurakhmed/webforge-cli",
3
+ "version": "0.1.3",
4
+ "description": "Interactive CLI to generate website project templates — landing pages, e-commerce, CRM, dashboards, blogs, portfolios with React, Vue, Angular, Next.js, Nuxt and more",
5
+ "type": "module",
6
+ "bin": {
7
+ "webforge-cli": "./dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "templates"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsup",
15
+ "dev": "tsup --watch",
16
+ "start": "node dist/index.js",
17
+ "typecheck": "tsc --noEmit",
18
+ "prepublishOnly": "npm run build"
19
+ },
20
+ "keywords": [
21
+ "cli",
22
+ "scaffold",
23
+ "template",
24
+ "generator",
25
+ "react",
26
+ "vue",
27
+ "angular",
28
+ "nextjs",
29
+ "nuxt",
30
+ "vite",
31
+ "tailwind",
32
+ "landing-page",
33
+ "ecommerce",
34
+ "dashboard",
35
+ "crm",
36
+ "blog",
37
+ "portfolio"
38
+ ],
39
+ "author": "Beknur <https://github.com/beknurakhmed>",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/beknurakhmed/webforge-cli.git"
43
+ },
44
+ "homepage": "https://github.com/beknurakhmed/webforge-cli#readme",
45
+ "bugs": {
46
+ "url": "https://github.com/beknurakhmed/webforge-cli/issues"
47
+ },
48
+ "license": "MIT",
49
+ "engines": {
50
+ "node": ">=18.0.0"
51
+ },
52
+ "dependencies": {
53
+ "@clack/prompts": "^1.0.1",
54
+ "fs-extra": "^11.3.3",
55
+ "picocolors": "^1.1.1"
56
+ },
57
+ "devDependencies": {
58
+ "@types/fs-extra": "^11.0.4",
59
+ "@types/node": "^25.3.0",
60
+ "tsup": "^8.5.1",
61
+ "typescript": "^5.9.3"
62
+ }
63
+ }
@@ -16,14 +16,40 @@
16
16
  "index": "src/index.html",
17
17
  "browser": "src/main.ts",
18
18
  "tsConfig": "tsconfig.json",
19
- "assets": ["{ \"glob\": \"**/*\", \"input\": \"public\" }"],
19
+ "assets": [
20
+ {
21
+ "glob": "**/*",
22
+ "input": "public"
23
+ }
24
+ ],
20
25
  "styles": ["src/styles.css"],
21
26
  "scripts": []
22
- }
27
+ },
28
+ "configurations": {
29
+ "production": {
30
+ "budgets": [
31
+ {
32
+ "type": "initial",
33
+ "maximumWarning": "500kB",
34
+ "maximumError": "1MB"
35
+ }
36
+ ],
37
+ "outputHashing": "all"
38
+ },
39
+ "development": {
40
+ "optimization": false,
41
+ "extractLicenses": false,
42
+ "sourceMap": true
43
+ }
44
+ },
45
+ "defaultConfiguration": "production"
23
46
  },
24
47
  "serve": {
25
48
  "builder": "@angular-devkit/build-angular:dev-server",
26
49
  "configurations": {
50
+ "production": {
51
+ "buildTarget": "app:build:production"
52
+ },
27
53
  "development": {
28
54
  "buildTarget": "app:build:development"
29
55
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "devDependencies": {
3
+ "typescript": "^5.6.0",
4
+ "@types/node": "^22.0.0"
5
+ }
6
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+ "moduleResolution": "bundler",
9
+ "allowImportingTsExtensions": true,
10
+ "isolatedModules": true,
11
+ "moduleDetection": "force",
12
+ "noEmit": true,
13
+ "jsx": "react-jsx",
14
+ "strict": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noUncheckedSideEffectImports": true
19
+ },
20
+ "include": ["src"]
21
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "module": "ESNext",
6
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
+ "skipLibCheck": true,
8
+ "moduleResolution": "bundler",
9
+ "allowImportingTsExtensions": true,
10
+ "isolatedModules": true,
11
+ "moduleDetection": "force",
12
+ "noEmit": true,
13
+ "strict": true,
14
+ "noUnusedLocals": true,
15
+ "noUnusedParameters": true,
16
+ "noFallthroughCasesInSwitch": true
17
+ },
18
+ "include": ["src"]
19
+ }