@doswiftly/cli 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +357 -0
  2. package/bin/doswiftly.js +2 -0
  3. package/dist/commands/auth-github.d.ts +6 -0
  4. package/dist/commands/auth-github.d.ts.map +1 -0
  5. package/dist/commands/auth-github.js +89 -0
  6. package/dist/commands/auth-github.js.map +1 -0
  7. package/dist/commands/auth-token.d.ts +12 -0
  8. package/dist/commands/auth-token.d.ts.map +1 -0
  9. package/dist/commands/auth-token.js +43 -0
  10. package/dist/commands/auth-token.js.map +1 -0
  11. package/dist/commands/auth.d.ts +22 -0
  12. package/dist/commands/auth.d.ts.map +1 -0
  13. package/dist/commands/auth.js +348 -0
  14. package/dist/commands/auth.js.map +1 -0
  15. package/dist/commands/check.d.ts +5 -0
  16. package/dist/commands/check.d.ts.map +1 -0
  17. package/dist/commands/check.js +234 -0
  18. package/dist/commands/check.js.map +1 -0
  19. package/dist/commands/config.d.ts +3 -0
  20. package/dist/commands/config.d.ts.map +1 -0
  21. package/dist/commands/config.js +104 -0
  22. package/dist/commands/config.js.map +1 -0
  23. package/dist/commands/deploy.d.ts +37 -0
  24. package/dist/commands/deploy.d.ts.map +1 -0
  25. package/dist/commands/deploy.js +580 -0
  26. package/dist/commands/deploy.js.map +1 -0
  27. package/dist/commands/dev.d.ts +8 -0
  28. package/dist/commands/dev.d.ts.map +1 -0
  29. package/dist/commands/dev.js +83 -0
  30. package/dist/commands/dev.js.map +1 -0
  31. package/dist/commands/doctor.d.ts +5 -0
  32. package/dist/commands/doctor.d.ts.map +1 -0
  33. package/dist/commands/doctor.js +363 -0
  34. package/dist/commands/doctor.js.map +1 -0
  35. package/dist/commands/domain.d.ts +13 -0
  36. package/dist/commands/domain.d.ts.map +1 -0
  37. package/dist/commands/domain.js +128 -0
  38. package/dist/commands/domain.js.map +1 -0
  39. package/dist/commands/env.d.ts +25 -0
  40. package/dist/commands/env.d.ts.map +1 -0
  41. package/dist/commands/env.js +228 -0
  42. package/dist/commands/env.js.map +1 -0
  43. package/dist/commands/init.d.ts +11 -0
  44. package/dist/commands/init.d.ts.map +1 -0
  45. package/dist/commands/init.js +1028 -0
  46. package/dist/commands/init.js.map +1 -0
  47. package/dist/commands/inspect.d.ts +12 -0
  48. package/dist/commands/inspect.d.ts.map +1 -0
  49. package/dist/commands/inspect.js +162 -0
  50. package/dist/commands/inspect.js.map +1 -0
  51. package/dist/commands/migrate.d.ts +18 -0
  52. package/dist/commands/migrate.d.ts.map +1 -0
  53. package/dist/commands/migrate.js +355 -0
  54. package/dist/commands/migrate.js.map +1 -0
  55. package/dist/commands/preview.d.ts +29 -0
  56. package/dist/commands/preview.d.ts.map +1 -0
  57. package/dist/commands/preview.js +199 -0
  58. package/dist/commands/preview.js.map +1 -0
  59. package/dist/commands/proxy.d.ts +9 -0
  60. package/dist/commands/proxy.d.ts.map +1 -0
  61. package/dist/commands/proxy.js +37 -0
  62. package/dist/commands/proxy.js.map +1 -0
  63. package/dist/commands/sdk.d.ts +5 -0
  64. package/dist/commands/sdk.d.ts.map +1 -0
  65. package/dist/commands/sdk.js +82 -0
  66. package/dist/commands/sdk.js.map +1 -0
  67. package/dist/commands/template.d.ts +107 -0
  68. package/dist/commands/template.d.ts.map +1 -0
  69. package/dist/commands/template.js +1309 -0
  70. package/dist/commands/template.js.map +1 -0
  71. package/dist/commands/types.d.ts +5 -0
  72. package/dist/commands/types.d.ts.map +1 -0
  73. package/dist/commands/types.js +82 -0
  74. package/dist/commands/types.js.map +1 -0
  75. package/dist/commands/update.d.ts +2 -0
  76. package/dist/commands/update.d.ts.map +1 -0
  77. package/dist/commands/update.js +103 -0
  78. package/dist/commands/update.js.map +1 -0
  79. package/dist/commands/upgrade.d.ts +18 -0
  80. package/dist/commands/upgrade.d.ts.map +1 -0
  81. package/dist/commands/upgrade.js +55 -0
  82. package/dist/commands/upgrade.js.map +1 -0
  83. package/dist/commands/verify.d.ts +5 -0
  84. package/dist/commands/verify.d.ts.map +1 -0
  85. package/dist/commands/verify.js +232 -0
  86. package/dist/commands/verify.js.map +1 -0
  87. package/dist/commands/whoami.d.ts +5 -0
  88. package/dist/commands/whoami.d.ts.map +1 -0
  89. package/dist/commands/whoami.js +60 -0
  90. package/dist/commands/whoami.js.map +1 -0
  91. package/dist/config/types.d.ts +173 -0
  92. package/dist/config/types.d.ts.map +1 -0
  93. package/dist/config/types.js +48 -0
  94. package/dist/config/types.js.map +1 -0
  95. package/dist/index.d.ts +3 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +416 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/lib/api-url.d.ts +14 -0
  100. package/dist/lib/api-url.d.ts.map +1 -0
  101. package/dist/lib/api-url.js +24 -0
  102. package/dist/lib/api-url.js.map +1 -0
  103. package/dist/lib/api.d.ts +67 -0
  104. package/dist/lib/api.d.ts.map +1 -0
  105. package/dist/lib/api.js +36 -0
  106. package/dist/lib/api.js.map +1 -0
  107. package/dist/lib/config.d.ts +39 -0
  108. package/dist/lib/config.d.ts.map +1 -0
  109. package/dist/lib/config.js +195 -0
  110. package/dist/lib/config.js.map +1 -0
  111. package/dist/lib/env-storage.d.ts +140 -0
  112. package/dist/lib/env-storage.d.ts.map +1 -0
  113. package/dist/lib/env-storage.js +464 -0
  114. package/dist/lib/env-storage.js.map +1 -0
  115. package/dist/lib/errors.d.ts +61 -0
  116. package/dist/lib/errors.d.ts.map +1 -0
  117. package/dist/lib/errors.js +204 -0
  118. package/dist/lib/errors.js.map +1 -0
  119. package/dist/lib/i18n.d.ts +99 -0
  120. package/dist/lib/i18n.d.ts.map +1 -0
  121. package/dist/lib/i18n.js +184 -0
  122. package/dist/lib/i18n.js.map +1 -0
  123. package/dist/lib/logger.d.ts +95 -0
  124. package/dist/lib/logger.d.ts.map +1 -0
  125. package/dist/lib/logger.js +168 -0
  126. package/dist/lib/logger.js.map +1 -0
  127. package/dist/lib/package-manager.d.ts +91 -0
  128. package/dist/lib/package-manager.d.ts.map +1 -0
  129. package/dist/lib/package-manager.js +205 -0
  130. package/dist/lib/package-manager.js.map +1 -0
  131. package/dist/lib/proxy-server.d.ts +24 -0
  132. package/dist/lib/proxy-server.d.ts.map +1 -0
  133. package/dist/lib/proxy-server.js +173 -0
  134. package/dist/lib/proxy-server.js.map +1 -0
  135. package/dist/lib/select-with-back.d.ts +34 -0
  136. package/dist/lib/select-with-back.d.ts.map +1 -0
  137. package/dist/lib/select-with-back.js +94 -0
  138. package/dist/lib/select-with-back.js.map +1 -0
  139. package/dist/lib/shared-api-client.d.ts +40 -0
  140. package/dist/lib/shared-api-client.d.ts.map +1 -0
  141. package/dist/lib/shared-api-client.js +92 -0
  142. package/dist/lib/shared-api-client.js.map +1 -0
  143. package/dist/lib/wizard-engine.d.ts +128 -0
  144. package/dist/lib/wizard-engine.d.ts.map +1 -0
  145. package/dist/lib/wizard-engine.js +168 -0
  146. package/dist/lib/wizard-engine.js.map +1 -0
  147. package/package.json +85 -0
  148. package/templates/storefront-minimal/.env.example +10 -0
  149. package/templates/storefront-minimal/.github/workflows/build-template.yml +109 -0
  150. package/templates/storefront-minimal/app/globals.css +18 -0
  151. package/templates/storefront-minimal/app/layout.tsx +26 -0
  152. package/templates/storefront-minimal/app/page.tsx +93 -0
  153. package/templates/storefront-minimal/lib/graphql-client.ts +23 -0
  154. package/templates/storefront-minimal/next.config.ts +15 -0
  155. package/templates/storefront-minimal/open-next.config.ts +3 -0
  156. package/templates/storefront-minimal/package.json +30 -0
  157. package/templates/storefront-minimal/postcss.config.mjs +5 -0
  158. package/templates/storefront-minimal/tailwind.config.ts +14 -0
  159. package/templates/storefront-minimal/tsconfig.json +27 -0
  160. package/templates/storefront-minimal/wrangler.toml +9 -0
  161. package/templates/storefront-nextjs/.env.example +68 -0
  162. package/templates/storefront-nextjs/.github/workflows/build-template.yml +109 -0
  163. package/templates/storefront-nextjs/.github/workflows/deploy.yml +25 -0
  164. package/templates/storefront-nextjs/.github/workflows/preview.yml +22 -0
  165. package/templates/storefront-nextjs/README.md +520 -0
  166. package/templates/storefront-nextjs/app/account/orders/page.tsx +216 -0
  167. package/templates/storefront-nextjs/app/account/page.tsx +167 -0
  168. package/templates/storefront-nextjs/app/auth/login/page.tsx +135 -0
  169. package/templates/storefront-nextjs/app/auth/register/page.tsx +228 -0
  170. package/templates/storefront-nextjs/app/cart/page.tsx +263 -0
  171. package/templates/storefront-nextjs/app/categories/[slug]/page.tsx +200 -0
  172. package/templates/storefront-nextjs/app/categories/page.tsx +58 -0
  173. package/templates/storefront-nextjs/app/checkout/page.tsx +351 -0
  174. package/templates/storefront-nextjs/app/collections/[slug]/page.tsx +158 -0
  175. package/templates/storefront-nextjs/app/collections/page.tsx +61 -0
  176. package/templates/storefront-nextjs/app/globals.css +98 -0
  177. package/templates/storefront-nextjs/app/layout.tsx +39 -0
  178. package/templates/storefront-nextjs/app/page.tsx +136 -0
  179. package/templates/storefront-nextjs/app/products/[slug]/page.tsx +119 -0
  180. package/templates/storefront-nextjs/app/products/page.tsx +107 -0
  181. package/templates/storefront-nextjs/app/search/page.tsx +127 -0
  182. package/templates/storefront-nextjs/components/auth/auth-guard.tsx +94 -0
  183. package/templates/storefront-nextjs/components/commerce/add-to-cart-button.tsx +77 -0
  184. package/templates/storefront-nextjs/components/commerce/cart-icon.tsx +29 -0
  185. package/templates/storefront-nextjs/components/commerce/currency-selector.tsx +217 -0
  186. package/templates/storefront-nextjs/components/commerce/pagination.tsx +62 -0
  187. package/templates/storefront-nextjs/components/commerce/product-actions.tsx +135 -0
  188. package/templates/storefront-nextjs/components/commerce/product-filters.tsx +109 -0
  189. package/templates/storefront-nextjs/components/commerce/product-price.tsx +375 -0
  190. package/templates/storefront-nextjs/components/commerce/search-input.tsx +178 -0
  191. package/templates/storefront-nextjs/components/commerce/sort-select.tsx +64 -0
  192. package/templates/storefront-nextjs/components/commerce/variant-selector.tsx +210 -0
  193. package/templates/storefront-nextjs/components/layout/footer.tsx +107 -0
  194. package/templates/storefront-nextjs/components/layout/header.tsx +104 -0
  195. package/templates/storefront-nextjs/components/providers.tsx +62 -0
  196. package/templates/storefront-nextjs/lib/auth/routes.ts +52 -0
  197. package/templates/storefront-nextjs/lib/currency.tsx +140 -0
  198. package/templates/storefront-nextjs/lib/format.ts +159 -0
  199. package/templates/storefront-nextjs/lib/graphql-queries.ts +629 -0
  200. package/templates/storefront-nextjs/lib/hooks.ts +30 -0
  201. package/templates/storefront-nextjs/middleware.ts +80 -0
  202. package/templates/storefront-nextjs/next.config.ts +37 -0
  203. package/templates/storefront-nextjs/open-next.config.ts +3 -0
  204. package/templates/storefront-nextjs/package.dev.json +30 -0
  205. package/templates/storefront-nextjs/package.json +32 -0
  206. package/templates/storefront-nextjs/package.json.template +32 -0
  207. package/templates/storefront-nextjs/postcss.config.mjs +8 -0
  208. package/templates/storefront-nextjs/tailwind.config.ts +111 -0
  209. package/templates/storefront-nextjs/tsconfig.json +27 -0
  210. package/templates/storefront-nextjs/wrangler.toml +9 -0
  211. package/templates/storefront-nextjs-shadcn/.env.example +68 -0
  212. package/templates/storefront-nextjs-shadcn/.github/workflows/build-template.yml +109 -0
  213. package/templates/storefront-nextjs-shadcn/.github/workflows/deploy.yml +25 -0
  214. package/templates/storefront-nextjs-shadcn/.github/workflows/preview.yml +22 -0
  215. package/templates/storefront-nextjs-shadcn/CART_INTEGRATION.md +282 -0
  216. package/templates/storefront-nextjs-shadcn/CLAUDE.md +96 -0
  217. package/templates/storefront-nextjs-shadcn/GRAPHQL_DOCUMENT_NAMES.md +190 -0
  218. package/templates/storefront-nextjs-shadcn/GRAPHQL_ERROR_HANDLING.md +263 -0
  219. package/templates/storefront-nextjs-shadcn/GRAPHQL_FIXES_SUMMARY.md +135 -0
  220. package/templates/storefront-nextjs-shadcn/GRAPHQL_INTEGRATION_COMPLETE.md +142 -0
  221. package/templates/storefront-nextjs-shadcn/INTEGRATION_CHECKLIST.md +448 -0
  222. package/templates/storefront-nextjs-shadcn/PRODUCT_DETAIL_PAGE_IMPLEMENTATION.md +307 -0
  223. package/templates/storefront-nextjs-shadcn/README.md +195 -0
  224. package/templates/storefront-nextjs-shadcn/THEME_CUSTOMIZATION.md +245 -0
  225. package/templates/storefront-nextjs-shadcn/app/about/page.tsx +34 -0
  226. package/templates/storefront-nextjs-shadcn/app/account/addresses/page.tsx +215 -0
  227. package/templates/storefront-nextjs-shadcn/app/account/loyalty/page.tsx +484 -0
  228. package/templates/storefront-nextjs-shadcn/app/account/orders/[id]/page.tsx +128 -0
  229. package/templates/storefront-nextjs-shadcn/app/account/orders/[id]/tracking/page.tsx +206 -0
  230. package/templates/storefront-nextjs-shadcn/app/account/orders/page.tsx +80 -0
  231. package/templates/storefront-nextjs-shadcn/app/account/page.tsx +107 -0
  232. package/templates/storefront-nextjs-shadcn/app/account/settings/page.tsx +195 -0
  233. package/templates/storefront-nextjs-shadcn/app/api/auth/clear-token/route.ts +87 -0
  234. package/templates/storefront-nextjs-shadcn/app/api/auth/set-token/route.ts +125 -0
  235. package/templates/storefront-nextjs-shadcn/app/auth/forgot-password/page.tsx +131 -0
  236. package/templates/storefront-nextjs-shadcn/app/auth/login/page.tsx +24 -0
  237. package/templates/storefront-nextjs-shadcn/app/auth/register/page.tsx +20 -0
  238. package/templates/storefront-nextjs-shadcn/app/blog/[slug]/page.tsx +323 -0
  239. package/templates/storefront-nextjs-shadcn/app/blog/page.tsx +159 -0
  240. package/templates/storefront-nextjs-shadcn/app/brands/[slug]/page.tsx +170 -0
  241. package/templates/storefront-nextjs-shadcn/app/brands/page.tsx +73 -0
  242. package/templates/storefront-nextjs-shadcn/app/cart/page.tsx +165 -0
  243. package/templates/storefront-nextjs-shadcn/app/categories/[slug]/page.tsx +78 -0
  244. package/templates/storefront-nextjs-shadcn/app/categories/page.tsx +75 -0
  245. package/templates/storefront-nextjs-shadcn/app/checkout/page.tsx +1752 -0
  246. package/templates/storefront-nextjs-shadcn/app/checkout/success/[orderId]/page.tsx +256 -0
  247. package/templates/storefront-nextjs-shadcn/app/collections/[handle]/page.tsx +74 -0
  248. package/templates/storefront-nextjs-shadcn/app/collections/page.tsx +75 -0
  249. package/templates/storefront-nextjs-shadcn/app/contact/page.tsx +114 -0
  250. package/templates/storefront-nextjs-shadcn/app/error.tsx +90 -0
  251. package/templates/storefront-nextjs-shadcn/app/globals.css +125 -0
  252. package/templates/storefront-nextjs-shadcn/app/layout.tsx +57 -0
  253. package/templates/storefront-nextjs-shadcn/app/not-found.tsx +68 -0
  254. package/templates/storefront-nextjs-shadcn/app/page.tsx +21 -0
  255. package/templates/storefront-nextjs-shadcn/app/products/[slug]/page.tsx +246 -0
  256. package/templates/storefront-nextjs-shadcn/app/products/[slug]/product-client.tsx +343 -0
  257. package/templates/storefront-nextjs-shadcn/app/products/page.tsx +25 -0
  258. package/templates/storefront-nextjs-shadcn/app/products/products-client.tsx +192 -0
  259. package/templates/storefront-nextjs-shadcn/app/returns/page.tsx +77 -0
  260. package/templates/storefront-nextjs-shadcn/app/robots.ts +53 -0
  261. package/templates/storefront-nextjs-shadcn/app/search/page.tsx +16 -0
  262. package/templates/storefront-nextjs-shadcn/app/search/search-client.tsx +47 -0
  263. package/templates/storefront-nextjs-shadcn/app/shipping/page.tsx +62 -0
  264. package/templates/storefront-nextjs-shadcn/app/sitemap.ts +144 -0
  265. package/templates/storefront-nextjs-shadcn/app/wishlist/page.tsx +179 -0
  266. package/templates/storefront-nextjs-shadcn/codegen.ts +51 -0
  267. package/templates/storefront-nextjs-shadcn/components/account/address-form.tsx +348 -0
  268. package/templates/storefront-nextjs-shadcn/components/account/address-list.tsx +144 -0
  269. package/templates/storefront-nextjs-shadcn/components/account/order-details.tsx +258 -0
  270. package/templates/storefront-nextjs-shadcn/components/account/order-history.tsx +107 -0
  271. package/templates/storefront-nextjs-shadcn/components/auth/account-menu.tsx +132 -0
  272. package/templates/storefront-nextjs-shadcn/components/auth/login-form.tsx +188 -0
  273. package/templates/storefront-nextjs-shadcn/components/auth/register-form.tsx +305 -0
  274. package/templates/storefront-nextjs-shadcn/components/blog/blog-card.tsx +240 -0
  275. package/templates/storefront-nextjs-shadcn/components/blog/blog-sidebar.tsx +177 -0
  276. package/templates/storefront-nextjs-shadcn/components/blog/index.ts +8 -0
  277. package/templates/storefront-nextjs-shadcn/components/brand/brand-card.tsx +119 -0
  278. package/templates/storefront-nextjs-shadcn/components/brand/brand-grid.tsx +64 -0
  279. package/templates/storefront-nextjs-shadcn/components/cart/cart-drawer.tsx +140 -0
  280. package/templates/storefront-nextjs-shadcn/components/cart/cart-icon.tsx +48 -0
  281. package/templates/storefront-nextjs-shadcn/components/cart/cart-item.tsx +112 -0
  282. package/templates/storefront-nextjs-shadcn/components/cart/cart-summary.tsx +84 -0
  283. package/templates/storefront-nextjs-shadcn/components/cart/index.ts +17 -0
  284. package/templates/storefront-nextjs-shadcn/components/cart/promo-code-input.tsx +121 -0
  285. package/templates/storefront-nextjs-shadcn/components/cart/shipping-estimator.tsx +162 -0
  286. package/templates/storefront-nextjs-shadcn/components/checkout/index.ts +25 -0
  287. package/templates/storefront-nextjs-shadcn/components/checkout/payment-method-card.tsx +187 -0
  288. package/templates/storefront-nextjs-shadcn/components/checkout/payment-step.tsx +160 -0
  289. package/templates/storefront-nextjs-shadcn/components/checkout/tax-breakdown.tsx +154 -0
  290. package/templates/storefront-nextjs-shadcn/components/commerce/currency-selector.tsx +225 -0
  291. package/templates/storefront-nextjs-shadcn/components/commerce/pagination.tsx +62 -0
  292. package/templates/storefront-nextjs-shadcn/components/commerce/product-actions.tsx +158 -0
  293. package/templates/storefront-nextjs-shadcn/components/commerce/search-input.tsx +174 -0
  294. package/templates/storefront-nextjs-shadcn/components/commerce/variant-selector.tsx +210 -0
  295. package/templates/storefront-nextjs-shadcn/components/common/category-card.tsx +97 -0
  296. package/templates/storefront-nextjs-shadcn/components/common/collection-card.tsx +187 -0
  297. package/templates/storefront-nextjs-shadcn/components/common/price-display.tsx +151 -0
  298. package/templates/storefront-nextjs-shadcn/components/common/social-share.tsx +166 -0
  299. package/templates/storefront-nextjs-shadcn/components/discount/discount-breakdown.tsx +245 -0
  300. package/templates/storefront-nextjs-shadcn/components/discount/discount-code-input.tsx +246 -0
  301. package/templates/storefront-nextjs-shadcn/components/discount/index.ts +19 -0
  302. package/templates/storefront-nextjs-shadcn/components/error/error-boundary.tsx +113 -0
  303. package/templates/storefront-nextjs-shadcn/components/error/index.ts +7 -0
  304. package/templates/storefront-nextjs-shadcn/components/filters/attribute-filter.tsx +153 -0
  305. package/templates/storefront-nextjs-shadcn/components/filters/checkbox-group-filter.tsx +167 -0
  306. package/templates/storefront-nextjs-shadcn/components/filters/color-swatch-filter.tsx +176 -0
  307. package/templates/storefront-nextjs-shadcn/components/filters/dynamic-attribute-filters.tsx +220 -0
  308. package/templates/storefront-nextjs-shadcn/components/filters/index.ts +36 -0
  309. package/templates/storefront-nextjs-shadcn/components/filters/range-slider-filter.tsx +193 -0
  310. package/templates/storefront-nextjs-shadcn/components/filters/toggle-filter.tsx +132 -0
  311. package/templates/storefront-nextjs-shadcn/components/gift-card/gift-card-balance.tsx +321 -0
  312. package/templates/storefront-nextjs-shadcn/components/gift-card/gift-card-input.tsx +309 -0
  313. package/templates/storefront-nextjs-shadcn/components/gift-card/index.ts +24 -0
  314. package/templates/storefront-nextjs-shadcn/components/home/category-grid.tsx +72 -0
  315. package/templates/storefront-nextjs-shadcn/components/home/featured-collections.tsx +107 -0
  316. package/templates/storefront-nextjs-shadcn/components/home/featured-products.tsx +85 -0
  317. package/templates/storefront-nextjs-shadcn/components/home/hero-section.tsx +34 -0
  318. package/templates/storefront-nextjs-shadcn/components/home/index.ts +8 -0
  319. package/templates/storefront-nextjs-shadcn/components/home/newsletter-signup.tsx +108 -0
  320. package/templates/storefront-nextjs-shadcn/components/layout/breadcrumbs.tsx +133 -0
  321. package/templates/storefront-nextjs-shadcn/components/layout/currency-selector.tsx +341 -0
  322. package/templates/storefront-nextjs-shadcn/components/layout/footer.tsx +128 -0
  323. package/templates/storefront-nextjs-shadcn/components/layout/header.tsx +147 -0
  324. package/templates/storefront-nextjs-shadcn/components/layout/index.ts +9 -0
  325. package/templates/storefront-nextjs-shadcn/components/layout/mobile-menu.tsx +211 -0
  326. package/templates/storefront-nextjs-shadcn/components/layout/navigation.tsx +95 -0
  327. package/templates/storefront-nextjs-shadcn/components/layout/theme-switcher.tsx +192 -0
  328. package/templates/storefront-nextjs-shadcn/components/loyalty/index.ts +11 -0
  329. package/templates/storefront-nextjs-shadcn/components/loyalty/points-balance.tsx +93 -0
  330. package/templates/storefront-nextjs-shadcn/components/loyalty/points-history.tsx +177 -0
  331. package/templates/storefront-nextjs-shadcn/components/loyalty/referral-section.tsx +250 -0
  332. package/templates/storefront-nextjs-shadcn/components/loyalty/rewards-catalog.tsx +217 -0
  333. package/templates/storefront-nextjs-shadcn/components/loyalty/tier-badge.tsx +106 -0
  334. package/templates/storefront-nextjs-shadcn/components/loyalty/tier-progress.tsx +131 -0
  335. package/templates/storefront-nextjs-shadcn/components/order/delivery-estimate.tsx +196 -0
  336. package/templates/storefront-nextjs-shadcn/components/order/index.ts +11 -0
  337. package/templates/storefront-nextjs-shadcn/components/order/order-tracking.tsx +200 -0
  338. package/templates/storefront-nextjs-shadcn/components/order/shipment-card.tsx +407 -0
  339. package/templates/storefront-nextjs-shadcn/components/order/tracking-status.tsx +222 -0
  340. package/templates/storefront-nextjs-shadcn/components/order/tracking-timeline.tsx +205 -0
  341. package/templates/storefront-nextjs-shadcn/components/product/add-to-cart-button.tsx +161 -0
  342. package/templates/storefront-nextjs-shadcn/components/product/b2b-price-display.tsx +250 -0
  343. package/templates/storefront-nextjs-shadcn/components/product/discount-badge.tsx +196 -0
  344. package/templates/storefront-nextjs-shadcn/components/product/index.ts +41 -0
  345. package/templates/storefront-nextjs-shadcn/components/product/product-card.tsx +147 -0
  346. package/templates/storefront-nextjs-shadcn/components/product/product-filters.tsx +217 -0
  347. package/templates/storefront-nextjs-shadcn/components/product/product-gallery.tsx +143 -0
  348. package/templates/storefront-nextjs-shadcn/components/product/product-grid.tsx +83 -0
  349. package/templates/storefront-nextjs-shadcn/components/product/product-image.tsx +155 -0
  350. package/templates/storefront-nextjs-shadcn/components/product/product-price.tsx +158 -0
  351. package/templates/storefront-nextjs-shadcn/components/product/product-quantity-selector.tsx +111 -0
  352. package/templates/storefront-nextjs-shadcn/components/product/product-reviews.tsx +238 -0
  353. package/templates/storefront-nextjs-shadcn/components/product/product-sort.tsx +58 -0
  354. package/templates/storefront-nextjs-shadcn/components/product/product-variant-selector.tsx +169 -0
  355. package/templates/storefront-nextjs-shadcn/components/product/review-card.tsx +220 -0
  356. package/templates/storefront-nextjs-shadcn/components/product/review-form.tsx +338 -0
  357. package/templates/storefront-nextjs-shadcn/components/product/review-summary.tsx +143 -0
  358. package/templates/storefront-nextjs-shadcn/components/product/sale-countdown.tsx +166 -0
  359. package/templates/storefront-nextjs-shadcn/components/product/savings-display.tsx +213 -0
  360. package/templates/storefront-nextjs-shadcn/components/product/similar-products.tsx +57 -0
  361. package/templates/storefront-nextjs-shadcn/components/product/stock-indicator.tsx +91 -0
  362. package/templates/storefront-nextjs-shadcn/components/providers/currency-provider.tsx +103 -0
  363. package/templates/storefront-nextjs-shadcn/components/providers/index.ts +8 -0
  364. package/templates/storefront-nextjs-shadcn/components/providers/query-provider.tsx +260 -0
  365. package/templates/storefront-nextjs-shadcn/components/providers/theme-provider.tsx +13 -0
  366. package/templates/storefront-nextjs-shadcn/components/returns/index.ts +26 -0
  367. package/templates/storefront-nextjs-shadcn/components/returns/return-request-form.tsx +608 -0
  368. package/templates/storefront-nextjs-shadcn/components/returns/return-status-card.tsx +554 -0
  369. package/templates/storefront-nextjs-shadcn/components/search/index.ts +8 -0
  370. package/templates/storefront-nextjs-shadcn/components/search/search-bar.tsx +140 -0
  371. package/templates/storefront-nextjs-shadcn/components/search/search-results.tsx +58 -0
  372. package/templates/storefront-nextjs-shadcn/components/search/search-suggestions.tsx +43 -0
  373. package/templates/storefront-nextjs-shadcn/components/seo/index.ts +12 -0
  374. package/templates/storefront-nextjs-shadcn/components/seo/json-ld.tsx +56 -0
  375. package/templates/storefront-nextjs-shadcn/components/seo/product-json-ld.ts +167 -0
  376. package/templates/storefront-nextjs-shadcn/components/shipping/index.ts +16 -0
  377. package/templates/storefront-nextjs-shadcn/components/shipping/shipping-method-selector.tsx +337 -0
  378. package/templates/storefront-nextjs-shadcn/components/ui/accordion.tsx +153 -0
  379. package/templates/storefront-nextjs-shadcn/components/ui/alert.tsx +59 -0
  380. package/templates/storefront-nextjs-shadcn/components/ui/badge.tsx +34 -0
  381. package/templates/storefront-nextjs-shadcn/components/ui/button.tsx +51 -0
  382. package/templates/storefront-nextjs-shadcn/components/ui/card.tsx +77 -0
  383. package/templates/storefront-nextjs-shadcn/components/ui/checkbox.tsx +30 -0
  384. package/templates/storefront-nextjs-shadcn/components/ui/dialog.tsx +137 -0
  385. package/templates/storefront-nextjs-shadcn/components/ui/empty-state.tsx +207 -0
  386. package/templates/storefront-nextjs-shadcn/components/ui/index.ts +67 -0
  387. package/templates/storefront-nextjs-shadcn/components/ui/input.tsx +65 -0
  388. package/templates/storefront-nextjs-shadcn/components/ui/label.tsx +26 -0
  389. package/templates/storefront-nextjs-shadcn/components/ui/pagination.tsx +205 -0
  390. package/templates/storefront-nextjs-shadcn/components/ui/radio-group.tsx +44 -0
  391. package/templates/storefront-nextjs-shadcn/components/ui/select.tsx +160 -0
  392. package/templates/storefront-nextjs-shadcn/components/ui/separator.tsx +28 -0
  393. package/templates/storefront-nextjs-shadcn/components/ui/skeleton.tsx +20 -0
  394. package/templates/storefront-nextjs-shadcn/components/ui/spinner.tsx +82 -0
  395. package/templates/storefront-nextjs-shadcn/components/ui/tabs.tsx +119 -0
  396. package/templates/storefront-nextjs-shadcn/components/ui/toast.tsx +96 -0
  397. package/templates/storefront-nextjs-shadcn/components/wishlist/index.ts +9 -0
  398. package/templates/storefront-nextjs-shadcn/components/wishlist/wishlist-button.tsx +148 -0
  399. package/templates/storefront-nextjs-shadcn/components/wishlist/wishlist-icon.tsx +47 -0
  400. package/templates/storefront-nextjs-shadcn/components/wishlist/wishlist-item.tsx +165 -0
  401. package/templates/storefront-nextjs-shadcn/components.json +19 -0
  402. package/templates/storefront-nextjs-shadcn/generated/.gitkeep +2 -0
  403. package/templates/storefront-nextjs-shadcn/graphql/.gitkeep +31 -0
  404. package/templates/storefront-nextjs-shadcn/graphql/collections.example.ts +168 -0
  405. package/templates/storefront-nextjs-shadcn/graphql/products.example.ts +160 -0
  406. package/templates/storefront-nextjs-shadcn/hooks/index.ts +9 -0
  407. package/templates/storefront-nextjs-shadcn/hooks/use-auth.ts +310 -0
  408. package/templates/storefront-nextjs-shadcn/hooks/use-cart-actions.ts +286 -0
  409. package/templates/storefront-nextjs-shadcn/hooks/use-cart-sync.ts +110 -0
  410. package/templates/storefront-nextjs-shadcn/hooks/use-filter-params.test.ts +173 -0
  411. package/templates/storefront-nextjs-shadcn/hooks/use-filter-params.ts +298 -0
  412. package/templates/storefront-nextjs-shadcn/lib/auth/cookies.ts +220 -0
  413. package/templates/storefront-nextjs-shadcn/lib/auth/routes.ts +57 -0
  414. package/templates/storefront-nextjs-shadcn/lib/config.ts +46 -0
  415. package/templates/storefront-nextjs-shadcn/lib/currency/IMPLEMENTATION_SUMMARY.md +254 -0
  416. package/templates/storefront-nextjs-shadcn/lib/currency/README.md +464 -0
  417. package/templates/storefront-nextjs-shadcn/lib/currency/cookie-manager.test.ts +328 -0
  418. package/templates/storefront-nextjs-shadcn/lib/currency/cookie-manager.ts +295 -0
  419. package/templates/storefront-nextjs-shadcn/lib/currency/index.ts +27 -0
  420. package/templates/storefront-nextjs-shadcn/lib/format.test.ts +397 -0
  421. package/templates/storefront-nextjs-shadcn/lib/format.ts +226 -0
  422. package/templates/storefront-nextjs-shadcn/lib/graphql/client.ts +109 -0
  423. package/templates/storefront-nextjs-shadcn/lib/graphql/hooks.ts +1183 -0
  424. package/templates/storefront-nextjs-shadcn/lib/graphql/server.ts +267 -0
  425. package/templates/storefront-nextjs-shadcn/lib/hooks.ts +30 -0
  426. package/templates/storefront-nextjs-shadcn/lib/theme/theme-config.ts +89 -0
  427. package/templates/storefront-nextjs-shadcn/lib/utils.ts +6 -0
  428. package/templates/storefront-nextjs-shadcn/next.config.ts +47 -0
  429. package/templates/storefront-nextjs-shadcn/open-next.config.ts +3 -0
  430. package/templates/storefront-nextjs-shadcn/package.dev.json +30 -0
  431. package/templates/storefront-nextjs-shadcn/package.json +60 -0
  432. package/templates/storefront-nextjs-shadcn/package.json.template +46 -0
  433. package/templates/storefront-nextjs-shadcn/postcss.config.mjs +8 -0
  434. package/templates/storefront-nextjs-shadcn/proxy.ts +80 -0
  435. package/templates/storefront-nextjs-shadcn/public/icons/payment/apple-pay.svg +8 -0
  436. package/templates/storefront-nextjs-shadcn/public/icons/payment/bank-transfer.svg +10 -0
  437. package/templates/storefront-nextjs-shadcn/public/icons/payment/blik.svg +6 -0
  438. package/templates/storefront-nextjs-shadcn/public/icons/payment/cash-on-delivery.svg +11 -0
  439. package/templates/storefront-nextjs-shadcn/public/icons/payment/google-pay.svg +11 -0
  440. package/templates/storefront-nextjs-shadcn/public/icons/payment/mastercard.svg +7 -0
  441. package/templates/storefront-nextjs-shadcn/public/icons/payment/paypal.svg +7 -0
  442. package/templates/storefront-nextjs-shadcn/public/icons/payment/payu.svg +7 -0
  443. package/templates/storefront-nextjs-shadcn/public/icons/payment/przelewy24.svg +7 -0
  444. package/templates/storefront-nextjs-shadcn/public/icons/payment/stripe.svg +4 -0
  445. package/templates/storefront-nextjs-shadcn/public/icons/payment/visa.svg +5 -0
  446. package/templates/storefront-nextjs-shadcn/stores/auth-store.ts +66 -0
  447. package/templates/storefront-nextjs-shadcn/stores/cart-store.ts +56 -0
  448. package/templates/storefront-nextjs-shadcn/stores/checkout-store.ts +184 -0
  449. package/templates/storefront-nextjs-shadcn/stores/currency-store.ts +103 -0
  450. package/templates/storefront-nextjs-shadcn/stores/wishlist-store.ts +291 -0
  451. package/templates/storefront-nextjs-shadcn/tailwind.config.ts +111 -0
  452. package/templates/storefront-nextjs-shadcn/tsconfig.json +27 -0
  453. package/templates/storefront-nextjs-shadcn/wrangler.toml +9 -0
@@ -0,0 +1,204 @@
1
+ import chalk from 'chalk';
2
+ /**
3
+ * CLI Error codes
4
+ */
5
+ export var ErrorCode;
6
+ (function (ErrorCode) {
7
+ // User errors (1xx)
8
+ ErrorCode["INVALID_CONFIG"] = "E100";
9
+ ErrorCode["MISSING_REQUIRED_OPTION"] = "E101";
10
+ ErrorCode["INVALID_PROJECT_ID"] = "E102";
11
+ ErrorCode["DIRECTORY_EXISTS"] = "E103";
12
+ ErrorCode["INVALID_TEMPLATE"] = "E104";
13
+ // Auth errors (2xx)
14
+ ErrorCode["AUTH_TOKEN_EXPIRED"] = "E200";
15
+ ErrorCode["AUTH_TOKEN_INVALID"] = "E201";
16
+ ErrorCode["AUTH_NOT_LOGGED_IN"] = "E202";
17
+ ErrorCode["AUTH_PERMISSION_DENIED"] = "E203";
18
+ // Network errors (3xx)
19
+ ErrorCode["NETWORK_UNREACHABLE"] = "E300";
20
+ ErrorCode["NETWORK_TIMEOUT"] = "E301";
21
+ ErrorCode["API_ERROR"] = "E302";
22
+ ErrorCode["API_NOT_FOUND"] = "E303";
23
+ // Build errors (4xx)
24
+ ErrorCode["BUILD_FAILED"] = "E400";
25
+ ErrorCode["TYPESCRIPT_ERROR"] = "E401";
26
+ ErrorCode["DEPENDENCY_ERROR"] = "E402";
27
+ // Deploy errors (5xx)
28
+ ErrorCode["DEPLOY_FAILED"] = "E500";
29
+ ErrorCode["DEPLOY_ROLLBACK"] = "E501";
30
+ ErrorCode["DEPLOY_CONFIG_INVALID"] = "E502";
31
+ // Internal errors (9xx)
32
+ ErrorCode["INTERNAL_ERROR"] = "E900";
33
+ ErrorCode["TEMPLATE_NOT_FOUND"] = "E901";
34
+ })(ErrorCode || (ErrorCode = {}));
35
+ /**
36
+ * Error suggestions mapping
37
+ */
38
+ const ERROR_SUGGESTIONS = {
39
+ [ErrorCode.INVALID_CONFIG]: [
40
+ 'Check your doswiftly.config.ts file for syntax errors',
41
+ 'Run "doswiftly init" to create a new configuration',
42
+ ],
43
+ [ErrorCode.MISSING_REQUIRED_OPTION]: [
44
+ 'Provide the required option via command line',
45
+ 'Run "doswiftly <command> --help" for usage information',
46
+ ],
47
+ [ErrorCode.INVALID_PROJECT_ID]: [
48
+ 'Project ID must start with "proj_"',
49
+ 'Find your project ID in the DoSwiftly dashboard',
50
+ ],
51
+ [ErrorCode.DIRECTORY_EXISTS]: [
52
+ 'Choose a different project name',
53
+ 'Remove the existing directory first',
54
+ ],
55
+ [ErrorCode.INVALID_TEMPLATE]: [
56
+ 'Use "storefront" for Next.js storefront template',
57
+ 'Run "doswiftly init --help" to see available templates',
58
+ ],
59
+ [ErrorCode.AUTH_TOKEN_EXPIRED]: [
60
+ 'Run "doswiftly auth login" to refresh your session',
61
+ ],
62
+ [ErrorCode.AUTH_TOKEN_INVALID]: [
63
+ 'Run "doswiftly auth logout" then "doswiftly auth login"',
64
+ ],
65
+ [ErrorCode.AUTH_NOT_LOGGED_IN]: [
66
+ 'Run "doswiftly auth login" to authenticate',
67
+ ],
68
+ [ErrorCode.AUTH_PERMISSION_DENIED]: [
69
+ 'Check your account permissions in the DoSwiftly dashboard',
70
+ 'Contact your team administrator',
71
+ ],
72
+ [ErrorCode.NETWORK_UNREACHABLE]: [
73
+ 'Check your internet connection',
74
+ 'Verify the API URL in your configuration',
75
+ ],
76
+ [ErrorCode.NETWORK_TIMEOUT]: [
77
+ 'Try again in a few moments',
78
+ 'Check if the DoSwiftly API is available',
79
+ ],
80
+ [ErrorCode.API_ERROR]: [
81
+ 'Check the API response for details',
82
+ 'Contact support if the issue persists',
83
+ ],
84
+ [ErrorCode.API_NOT_FOUND]: [
85
+ 'Verify the resource exists in your DoSwiftly project',
86
+ 'Check your project ID configuration',
87
+ ],
88
+ [ErrorCode.BUILD_FAILED]: [
89
+ 'Check the build output for errors',
90
+ 'Run "doswiftly check" to validate your project',
91
+ ],
92
+ [ErrorCode.TYPESCRIPT_ERROR]: [
93
+ 'Fix TypeScript errors in your code',
94
+ 'Run "pnpm tsc --noEmit" to see all errors',
95
+ ],
96
+ [ErrorCode.DEPENDENCY_ERROR]: [
97
+ 'Run "pnpm install" to install dependencies',
98
+ 'Delete node_modules and reinstall',
99
+ ],
100
+ [ErrorCode.DEPLOY_FAILED]: [
101
+ 'Check the deployment logs for details',
102
+ 'Verify your environment variables',
103
+ ],
104
+ [ErrorCode.DEPLOY_ROLLBACK]: [
105
+ 'The deployment was automatically rolled back',
106
+ 'Fix the issues and try again',
107
+ ],
108
+ [ErrorCode.DEPLOY_CONFIG_INVALID]: [
109
+ 'Check your deployment configuration',
110
+ 'Verify required environment variables are set',
111
+ ],
112
+ [ErrorCode.INTERNAL_ERROR]: [
113
+ 'This is a bug in the CLI',
114
+ 'Please report this issue at https://github.com/doswiftly/cli/issues',
115
+ ],
116
+ [ErrorCode.TEMPLATE_NOT_FOUND]: [
117
+ 'Reinstall @doswiftly/cli',
118
+ 'Run "npm install -g @doswiftly/cli@latest"',
119
+ ],
120
+ };
121
+ /**
122
+ * CLI Error class with actionable suggestions
123
+ */
124
+ export class CLIError extends Error {
125
+ code;
126
+ suggestions;
127
+ docs;
128
+ context;
129
+ constructor(code, message, options) {
130
+ super(message);
131
+ this.name = 'CLIError';
132
+ this.code = code;
133
+ this.suggestions = [
134
+ ...ERROR_SUGGESTIONS[code],
135
+ ...(options?.additionalSuggestions || []),
136
+ ];
137
+ this.docs = options?.docs;
138
+ this.context = options?.context;
139
+ }
140
+ /**
141
+ * Format the error for console output
142
+ */
143
+ format(verbose = false) {
144
+ const lines = [];
145
+ // Error header
146
+ lines.push(chalk.red(`\n✖ ${this.message}`));
147
+ lines.push(chalk.dim(` Error code: ${this.code}`));
148
+ // Suggestions
149
+ if (this.suggestions.length > 0) {
150
+ lines.push('');
151
+ lines.push(chalk.yellow(' Suggestions:'));
152
+ for (const suggestion of this.suggestions) {
153
+ lines.push(chalk.gray(` • ${suggestion}`));
154
+ }
155
+ }
156
+ // Documentation link
157
+ if (this.docs) {
158
+ lines.push('');
159
+ lines.push(chalk.dim(` Documentation: ${this.docs}`));
160
+ }
161
+ // Context (verbose only)
162
+ if (verbose && this.context) {
163
+ lines.push('');
164
+ lines.push(chalk.dim(' Context:'));
165
+ lines.push(chalk.dim(` ${JSON.stringify(this.context, null, 2).replace(/\n/g, '\n ')}`));
166
+ }
167
+ lines.push('');
168
+ return lines.join('\n');
169
+ }
170
+ /**
171
+ * Print the error to console
172
+ */
173
+ print(verbose = false) {
174
+ console.error(this.format(verbose));
175
+ }
176
+ }
177
+ /**
178
+ * Create a CLI error with common defaults
179
+ */
180
+ export function createError(code, message, options) {
181
+ return new CLIError(code, message, options);
182
+ }
183
+ /**
184
+ * Handle an error and exit the process
185
+ */
186
+ export function handleError(error, verbose = false) {
187
+ if (error instanceof CLIError) {
188
+ error.print(verbose);
189
+ }
190
+ else if (error instanceof Error) {
191
+ console.error(chalk.red(`\n✖ ${error.message}`));
192
+ if (verbose && error.stack) {
193
+ console.error(chalk.dim(error.stack));
194
+ }
195
+ console.error('');
196
+ }
197
+ else {
198
+ console.error(chalk.red(`\n✖ An unexpected error occurred`));
199
+ console.error(chalk.dim(String(error)));
200
+ console.error('');
201
+ }
202
+ process.exit(1);
203
+ }
204
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Internationalization system for DoSwiftly CLI
3
+ * Supports English (en) and Polish (pl) locales
4
+ */
5
+ export type Locale = 'en' | 'pl';
6
+ export interface Messages {
7
+ wizardTitle: string;
8
+ cancelled: string;
9
+ stepOf: (current: number, total: number) => string;
10
+ targetDirectory: string;
11
+ currentDirectory: (name: string) => string;
12
+ newDirectory: string;
13
+ directoryName: string;
14
+ nameRequired: string;
15
+ invalidName: string;
16
+ directoryExists: string;
17
+ directoryNotEmpty: string;
18
+ alreadyInitialized: string;
19
+ useDeploy: string;
20
+ chooseNewDirectory: string;
21
+ selectTeam: string;
22
+ teamProjects: (count: number) => string;
23
+ useTeam: (name: string) => string;
24
+ noTeams: string;
25
+ createTeamHint: string;
26
+ selectProject: string;
27
+ shopLabel: (slug: string) => string;
28
+ noShop: string;
29
+ noProjects: string;
30
+ createProjectHint: string;
31
+ projectNoShop: string;
32
+ createShopHint: (projectId: string) => string;
33
+ selectAnother: string;
34
+ goBackToTeam: string;
35
+ codeSource: string;
36
+ emptyProject: string;
37
+ templateRegistry: string;
38
+ fetchingTemplates: string;
39
+ noTemplates: string;
40
+ selectTemplate: string;
41
+ templateNoRepo: string;
42
+ summary: string;
43
+ directory: string;
44
+ team: string;
45
+ project: string;
46
+ shop: string;
47
+ template: string;
48
+ continue: string;
49
+ yes: string;
50
+ cancel: string;
51
+ installDeps: string;
52
+ yesInstall: (pm: string) => string;
53
+ noInstallLater: string;
54
+ back: string;
55
+ backHint: string;
56
+ cancelHint: string;
57
+ tryAgain: string;
58
+ fetchingData: string;
59
+ creatingProject: string;
60
+ downloadingTemplate: string;
61
+ configuringProject: string;
62
+ copyingTemplate: string;
63
+ creatingEnvLocal: string;
64
+ creatingConfig: string;
65
+ installingDeps: string;
66
+ projectCreated: string;
67
+ depsInstalled: string;
68
+ installFailed: string;
69
+ runManually: (projectName: string, pm: string) => string;
70
+ projectReady: string;
71
+ nextSteps: string;
72
+ documentation: string;
73
+ notLoggedIn: string;
74
+ runAuthLogin: string;
75
+ failedFetchTeams: (error: string) => string;
76
+ failedFetchProjects: (error: string) => string;
77
+ failedCreateProject: string;
78
+ }
79
+ /**
80
+ * Set the current locale
81
+ */
82
+ export declare function setLocale(locale: Locale): void;
83
+ /**
84
+ * Get the current locale
85
+ */
86
+ export declare function getLocale(): Locale;
87
+ /**
88
+ * Detect locale from environment variables
89
+ */
90
+ export declare function detectLocale(): Locale;
91
+ /**
92
+ * Get translations for the current locale
93
+ */
94
+ export declare function t(): Messages;
95
+ /**
96
+ * Initialize i18n with auto-detected locale
97
+ */
98
+ export declare function initI18n(): void;
99
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/lib/i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Internationalization system for DoSwiftly CLI
3
+ * Supports English (en) and Polish (pl) locales
4
+ */
5
+ const en = {
6
+ wizardTitle: 'DoSwiftly CLI - Initialize Project',
7
+ cancelled: 'Operation cancelled',
8
+ stepOf: (c, t) => `Step ${c}/${t}`,
9
+ targetDirectory: 'Target directory',
10
+ currentDirectory: (n) => `Current directory (${n})`,
11
+ newDirectory: 'New directory',
12
+ directoryName: 'Directory name',
13
+ nameRequired: 'Name is required',
14
+ invalidName: 'Only lowercase letters, numbers, and hyphens',
15
+ directoryExists: 'Directory already exists',
16
+ directoryNotEmpty: 'Directory is not empty',
17
+ alreadyInitialized: 'Project already initialized',
18
+ useDeploy: 'Use "doswiftly deploy" to deploy',
19
+ chooseNewDirectory: 'Choose "New directory" to create a new project',
20
+ selectTeam: 'Select team',
21
+ teamProjects: (c) => `${c} ${c === 1 ? 'project' : 'projects'}`,
22
+ useTeam: (n) => `Use team "${n}"?`,
23
+ noTeams: 'You are not a member of any team',
24
+ createTeamHint: 'Create a team at: https://app.doswiftly.pl',
25
+ selectProject: 'Select project',
26
+ shopLabel: (s) => `Shop: ${s}`,
27
+ noShop: 'no shop',
28
+ noProjects: 'Team has no projects',
29
+ createProjectHint: 'Create your first project at: https://app.doswiftly.pl',
30
+ projectNoShop: 'Selected project has no shop assigned',
31
+ createShopHint: (id) => `Create a shop at: https://app.doswiftly.pl/projects/${id}`,
32
+ selectAnother: 'Select another project?',
33
+ goBackToTeam: 'Go back to select a different team?',
34
+ codeSource: 'Code source',
35
+ emptyProject: 'Empty project (minimal setup)',
36
+ templateRegistry: 'Template from registry',
37
+ fetchingTemplates: 'Fetching templates...',
38
+ noTemplates: 'No templates available. Using empty project.',
39
+ selectTemplate: 'Select template',
40
+ templateNoRepo: 'Template has no repository URL. Using empty project.',
41
+ summary: 'Summary',
42
+ directory: 'Directory',
43
+ team: 'Team',
44
+ project: 'Project',
45
+ shop: 'Shop',
46
+ template: 'Template',
47
+ continue: 'Continue?',
48
+ yes: 'Yes, create project',
49
+ cancel: 'Cancel',
50
+ installDeps: 'Install dependencies?',
51
+ yesInstall: (pm) => `Yes (${pm} install)`,
52
+ noInstallLater: "No, I'll do it later",
53
+ back: 'Back',
54
+ backHint: 'Press left arrow to go back',
55
+ cancelHint: 'Ctrl+C to cancel',
56
+ tryAgain: 'Choose a different option?',
57
+ fetchingData: 'Fetching data...',
58
+ creatingProject: 'Creating project...',
59
+ downloadingTemplate: 'Downloading template...',
60
+ configuringProject: 'Configuring project...',
61
+ copyingTemplate: 'Copying minimal template...',
62
+ creatingEnvLocal: 'Creating .env.local...',
63
+ creatingConfig: 'Creating doswiftly.config.ts...',
64
+ installingDeps: 'Installing dependencies...',
65
+ projectCreated: 'Project created',
66
+ depsInstalled: 'Dependencies installed',
67
+ installFailed: 'Installation failed',
68
+ runManually: (name, pm) => `Run manually: cd ${name} && ${pm} install`,
69
+ projectReady: 'Project ready!',
70
+ nextSteps: 'Next steps:',
71
+ documentation: 'Documentation: https://docs.doswiftly.pl/cli',
72
+ notLoggedIn: 'Not logged in',
73
+ runAuthLogin: 'Run: doswiftly auth login',
74
+ failedFetchTeams: (e) => `Failed to fetch teams: ${e}`,
75
+ failedFetchProjects: (e) => `Failed to fetch projects: ${e}`,
76
+ failedCreateProject: 'Failed to create project',
77
+ };
78
+ const pl = {
79
+ wizardTitle: 'DoSwiftly CLI - Inicjalizacja projektu',
80
+ cancelled: 'Operacja anulowana',
81
+ stepOf: (c, t) => `Krok ${c}/${t}`,
82
+ targetDirectory: 'Katalog docelowy',
83
+ currentDirectory: (n) => `Obecny katalog (${n})`,
84
+ newDirectory: 'Nowy katalog (podaj nazwe)',
85
+ directoryName: 'Nazwa katalogu',
86
+ nameRequired: 'Nazwa jest wymagana',
87
+ invalidName: 'Tylko male litery, cyfry i myslniki',
88
+ directoryExists: 'Katalog juz istnieje',
89
+ directoryNotEmpty: 'Katalog nie jest pusty',
90
+ alreadyInitialized: 'Projekt juz zainicjowany',
91
+ useDeploy: 'Uzyj "doswiftly deploy" aby wdrozyc',
92
+ chooseNewDirectory: 'Wybierz "Nowy katalog" aby utworzyc nowy projekt',
93
+ selectTeam: 'Wybierz zespol',
94
+ teamProjects: (c) => `${c} ${c === 1 ? 'projekt' : c < 5 ? 'projekty' : 'projektow'}`,
95
+ useTeam: (n) => `Uzyc zespolu "${n}"?`,
96
+ noTeams: 'Nie nalezysz do zadnego zespolu',
97
+ createTeamHint: 'Stworz zespol: https://app.doswiftly.pl',
98
+ selectProject: 'Wybierz projekt',
99
+ shopLabel: (s) => `Sklep: ${s}`,
100
+ noShop: 'brak sklepu',
101
+ noProjects: 'Zespol nie ma projektow',
102
+ createProjectHint: 'Stworz pierwszy projekt: https://app.doswiftly.pl',
103
+ projectNoShop: 'Wybrany projekt nie ma przypisanego sklepu',
104
+ createShopHint: (id) => `Stworz sklep: https://app.doswiftly.pl/projects/${id}`,
105
+ selectAnother: 'Wybrac inny projekt?',
106
+ goBackToTeam: 'Wrocic do wyboru innego zespolu?',
107
+ codeSource: 'Zrodlo kodu',
108
+ emptyProject: 'Pusty projekt (minimal setup)',
109
+ templateRegistry: 'Template z registry',
110
+ fetchingTemplates: 'Pobieranie templates...',
111
+ noTemplates: 'Brak dostepnych templates. Uzywam pustego projektu.',
112
+ selectTemplate: 'Wybierz template',
113
+ templateNoRepo: 'Template nie ma repoUrl. Uzywam pustego projektu.',
114
+ summary: 'Podsumowanie',
115
+ directory: 'Katalog',
116
+ team: 'Zespol',
117
+ project: 'Projekt',
118
+ shop: 'Sklep',
119
+ template: 'Template',
120
+ continue: 'Kontynuowac?',
121
+ yes: 'Tak, utworz projekt',
122
+ cancel: 'Anuluj',
123
+ installDeps: 'Zainstalowac zaleznosci?',
124
+ yesInstall: (pm) => `Tak (${pm} install)`,
125
+ noInstallLater: 'Nie, zrobie to pozniej',
126
+ back: 'Wroc',
127
+ backHint: 'Strzalka w lewo - poprzedni krok',
128
+ cancelHint: 'Ctrl+C aby anulowac',
129
+ tryAgain: 'Wybrac inna opcje?',
130
+ fetchingData: 'Pobieranie danych...',
131
+ creatingProject: 'Tworzenie projektu...',
132
+ downloadingTemplate: 'Pobieranie template...',
133
+ configuringProject: 'Konfiguracja projektu...',
134
+ copyingTemplate: 'Kopiowanie minimalnego template...',
135
+ creatingEnvLocal: 'Tworzenie .env.local...',
136
+ creatingConfig: 'Tworzenie doswiftly.config.ts...',
137
+ installingDeps: 'Instalowanie zaleznosci...',
138
+ projectCreated: 'Projekt utworzony',
139
+ depsInstalled: 'Zaleznosci zainstalowane',
140
+ installFailed: 'Blad instalacji',
141
+ runManually: (name, pm) => `Uruchom manualnie: cd ${name} && ${pm} install`,
142
+ projectReady: 'Projekt gotowy!',
143
+ nextSteps: 'Nastepne kroki:',
144
+ documentation: 'Dokumentacja: https://docs.doswiftly.pl/cli',
145
+ notLoggedIn: 'Nie jestes zalogowany',
146
+ runAuthLogin: 'Uruchom: doswiftly auth login',
147
+ failedFetchTeams: (e) => `Nie udalo sie pobrac zespolow: ${e}`,
148
+ failedFetchProjects: (e) => `Nie udalo sie pobrac projektow: ${e}`,
149
+ failedCreateProject: 'Nie udalo sie utworzyc projektu',
150
+ };
151
+ const messages = { en, pl };
152
+ let currentLocale = 'en';
153
+ /**
154
+ * Set the current locale
155
+ */
156
+ export function setLocale(locale) {
157
+ currentLocale = locale;
158
+ }
159
+ /**
160
+ * Get the current locale
161
+ */
162
+ export function getLocale() {
163
+ return currentLocale;
164
+ }
165
+ /**
166
+ * Detect locale from environment variables
167
+ */
168
+ export function detectLocale() {
169
+ const lang = process.env.LANG || process.env.LC_ALL || process.env.LANGUAGE || '';
170
+ return lang.toLowerCase().startsWith('pl') ? 'pl' : 'en';
171
+ }
172
+ /**
173
+ * Get translations for the current locale
174
+ */
175
+ export function t() {
176
+ return messages[currentLocale];
177
+ }
178
+ /**
179
+ * Initialize i18n with auto-detected locale
180
+ */
181
+ export function initI18n() {
182
+ setLocale(detectLocale());
183
+ }
184
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/lib/i18n.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiGH,MAAM,EAAE,GAAa;IACnB,WAAW,EAAE,oCAAoC;IACjD,SAAS,EAAE,qBAAqB;IAChC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAElC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG;IACnD,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,kBAAkB;IAChC,WAAW,EAAE,8CAA8C;IAC3D,eAAe,EAAE,0BAA0B;IAC3C,iBAAiB,EAAE,wBAAwB;IAC3C,kBAAkB,EAAE,6BAA6B;IACjD,SAAS,EAAE,kCAAkC;IAC7C,kBAAkB,EAAE,gDAAgD;IAEpE,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE;IAC/D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI;IAClC,OAAO,EAAE,kCAAkC;IAC3C,cAAc,EAAE,4CAA4C;IAE5D,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE;IAC9B,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,sBAAsB;IAClC,iBAAiB,EAAE,wDAAwD;IAC3E,aAAa,EAAE,uCAAuC;IACtD,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,uDAAuD,EAAE,EAAE;IACnF,aAAa,EAAE,yBAAyB;IACxC,YAAY,EAAE,qCAAqC;IAEnD,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,+BAA+B;IAC7C,gBAAgB,EAAE,wBAAwB;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,WAAW,EAAE,8CAA8C;IAC3D,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,sDAAsD;IAEtE,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,qBAAqB;IAC1B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW;IACzC,cAAc,EAAE,sBAAsB;IAEtC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,6BAA6B;IACvC,UAAU,EAAE,kBAAkB;IAC9B,QAAQ,EAAE,4BAA4B;IAEtC,YAAY,EAAE,kBAAkB;IAChC,eAAe,EAAE,qBAAqB;IACtC,mBAAmB,EAAE,yBAAyB;IAC9C,kBAAkB,EAAE,wBAAwB;IAC5C,eAAe,EAAE,6BAA6B;IAC9C,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,iCAAiC;IACjD,cAAc,EAAE,4BAA4B;IAE5C,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE,qBAAqB;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,oBAAoB,IAAI,OAAO,EAAE,UAAU;IACtE,YAAY,EAAE,gBAAgB;IAC9B,SAAS,EAAE,aAAa;IACxB,aAAa,EAAE,8CAA8C;IAE7D,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE,2BAA2B;IACzC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,EAAE;IACtD,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE;IAC5D,mBAAmB,EAAE,0BAA0B;CAChD,CAAC;AAEF,MAAM,EAAE,GAAa;IACnB,WAAW,EAAE,wCAAwC;IACrD,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAElC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG;IAChD,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,WAAW,EAAE,qCAAqC;IAClD,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C,kBAAkB,EAAE,0BAA0B;IAC9C,SAAS,EAAE,qCAAqC;IAChD,kBAAkB,EAAE,kDAAkD;IAEtE,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE;IACrF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI;IACtC,OAAO,EAAE,iCAAiC;IAC1C,cAAc,EAAE,yCAAyC;IAEzD,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE;IAC/B,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,yBAAyB;IACrC,iBAAiB,EAAE,mDAAmD;IACtE,aAAa,EAAE,4CAA4C;IAC3D,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mDAAmD,EAAE,EAAE;IAC/E,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,kCAAkC;IAEhD,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,+BAA+B;IAC7C,gBAAgB,EAAE,qBAAqB;IACvC,iBAAiB,EAAE,yBAAyB;IAC5C,WAAW,EAAE,qDAAqD;IAClE,cAAc,EAAE,kBAAkB;IAClC,cAAc,EAAE,mDAAmD;IAEnE,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,qBAAqB;IAC1B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,0BAA0B;IACvC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW;IACzC,cAAc,EAAE,wBAAwB;IAExC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,kCAAkC;IAC5C,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,oBAAoB;IAE9B,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,uBAAuB;IACxC,mBAAmB,EAAE,wBAAwB;IAC7C,kBAAkB,EAAE,0BAA0B;IAC9C,eAAe,EAAE,oCAAoC;IACrD,gBAAgB,EAAE,yBAAyB;IAC3C,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,4BAA4B;IAE5C,cAAc,EAAE,mBAAmB;IACnC,aAAa,EAAE,0BAA0B;IACzC,aAAa,EAAE,iBAAiB;IAChC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,yBAAyB,IAAI,OAAO,EAAE,UAAU;IAC3E,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE,iBAAiB;IAC5B,aAAa,EAAE,6CAA6C;IAE5D,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,+BAA+B;IAC7C,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,EAAE;IAC9D,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,EAAE;IAClE,mBAAmB,EAAE,iCAAiC;CACvD,CAAC;AAEF,MAAM,QAAQ,GAA6B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACtD,IAAI,aAAa,GAAW,IAAI,CAAC;AAEjC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IAClF,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,CAAC;IACf,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Log levels for the CLI logger
3
+ */
4
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'success';
5
+ /**
6
+ * Logger configuration
7
+ */
8
+ export interface LoggerConfig {
9
+ /** Enable verbose output */
10
+ verbose: boolean;
11
+ /** Enable quiet mode (only errors) */
12
+ quiet: boolean;
13
+ /** Enable dry-run mode indicator */
14
+ dryRun: boolean;
15
+ }
16
+ /**
17
+ * Configure the logger
18
+ */
19
+ export declare function configureLogger(options: Partial<LoggerConfig>): void;
20
+ /**
21
+ * Get current logger configuration
22
+ */
23
+ export declare function getLoggerConfig(): Readonly<LoggerConfig>;
24
+ /**
25
+ * Check if verbose mode is enabled
26
+ */
27
+ export declare function isVerbose(): boolean;
28
+ /**
29
+ * Check if dry-run mode is enabled
30
+ */
31
+ export declare function isDryRun(): boolean;
32
+ /**
33
+ * Log a debug message (only shown in verbose mode)
34
+ */
35
+ export declare function debug(message: string, ...args: unknown[]): void;
36
+ /**
37
+ * Log an info message
38
+ */
39
+ export declare function info(message: string, ...args: unknown[]): void;
40
+ /**
41
+ * Log a success message
42
+ */
43
+ export declare function success(message: string, ...args: unknown[]): void;
44
+ /**
45
+ * Log a warning message
46
+ */
47
+ export declare function warn(message: string, ...args: unknown[]): void;
48
+ /**
49
+ * Log an error message
50
+ */
51
+ export declare function error(message: string, ...args: unknown[]): void;
52
+ /**
53
+ * Log a step in a process
54
+ */
55
+ export declare function step(current: number, total: number, message: string): void;
56
+ /**
57
+ * Log verbose details (only shown in verbose mode)
58
+ */
59
+ export declare function verbose(label: string, value: unknown): void;
60
+ /**
61
+ * Log a command that would be executed
62
+ */
63
+ export declare function command(cmd: string): void;
64
+ /**
65
+ * Log a file operation
66
+ */
67
+ export declare function fileOp(operation: 'create' | 'update' | 'delete' | 'copy', path: string): void;
68
+ /**
69
+ * Create a logger namespace for a specific module
70
+ */
71
+ export declare function createLogger(namespace: string): {
72
+ debug: (message: string, ...args: unknown[]) => void;
73
+ info: (message: string, ...args: unknown[]) => void;
74
+ success: (message: string, ...args: unknown[]) => void;
75
+ warn: (message: string, ...args: unknown[]) => void;
76
+ error: (message: string, ...args: unknown[]) => void;
77
+ };
78
+ export declare const logger: {
79
+ debug: typeof debug;
80
+ info: typeof info;
81
+ success: typeof success;
82
+ warn: typeof warn;
83
+ error: typeof error;
84
+ step: typeof step;
85
+ verbose: typeof verbose;
86
+ command: typeof command;
87
+ fileOp: typeof fileOp;
88
+ configure: typeof configureLogger;
89
+ getConfig: typeof getLoggerConfig;
90
+ isVerbose: typeof isVerbose;
91
+ isDryRun: typeof isDryRun;
92
+ createLogger: typeof createLogger;
93
+ };
94
+ export default logger;
95
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAWD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAWD;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI9D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAIjE;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI9D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAI3D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAW7F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM;qBAIzB,MAAM,WAAW,OAAO,EAAE;oBAK3B,MAAM,WAAW,OAAO,EAAE;uBAKvB,MAAM,WAAW,OAAO,EAAE;oBAK7B,MAAM,WAAW,OAAO,EAAE;qBAKzB,MAAM,WAAW,OAAO,EAAE;EAI9C;AAGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAelB,CAAC;AAEF,eAAe,MAAM,CAAC"}