@strapi/strapi 4.26.1 → 4.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/dist/Strapi.js.map +1 -1
  2. package/dist/Strapi.mjs.map +1 -1
  3. package/dist/admin.js.map +1 -1
  4. package/dist/admin.mjs.map +1 -1
  5. package/dist/commands/actions/admin/create-user/action.js.map +1 -1
  6. package/dist/commands/actions/admin/reset-user-password/action.js.map +1 -1
  7. package/dist/commands/actions/admin/reset-user-password/command.js.map +1 -1
  8. package/dist/commands/actions/components/list/action.js.map +1 -1
  9. package/dist/commands/actions/components/list/command.js.map +1 -1
  10. package/dist/commands/actions/configuration/dump/action.js.map +1 -1
  11. package/dist/commands/actions/configuration/dump/command.js.map +1 -1
  12. package/dist/commands/actions/configuration/restore/action.js +1 -2
  13. package/dist/commands/actions/configuration/restore/action.js.map +1 -1
  14. package/dist/commands/actions/configuration/restore/command.js.map +1 -1
  15. package/dist/commands/actions/console/action.js.map +1 -1
  16. package/dist/commands/actions/console/command.js.map +1 -1
  17. package/dist/commands/actions/content-types/list/action.js.map +1 -1
  18. package/dist/commands/actions/content-types/list/command.js.map +1 -1
  19. package/dist/commands/actions/controllers/list/action.js.map +1 -1
  20. package/dist/commands/actions/controllers/list/command.js.map +1 -1
  21. package/dist/commands/actions/generate/command.js.map +1 -1
  22. package/dist/commands/actions/hooks/list/action.js.map +1 -1
  23. package/dist/commands/actions/hooks/list/command.js.map +1 -1
  24. package/dist/commands/actions/install/action.js.map +1 -1
  25. package/dist/commands/actions/install/command.js.map +1 -1
  26. package/dist/commands/actions/middlewares/list/action.js.map +1 -1
  27. package/dist/commands/actions/middlewares/list/command.js.map +1 -1
  28. package/dist/commands/actions/new/action.js.map +1 -1
  29. package/dist/commands/actions/new/command.js.map +1 -1
  30. package/dist/commands/actions/plugin/build-command/action.js.map +1 -1
  31. package/dist/commands/actions/plugin/build-command/command.js.map +1 -1
  32. package/dist/commands/actions/plugin/init/action.js.map +1 -1
  33. package/dist/commands/actions/plugin/init/command.js.map +1 -1
  34. package/dist/commands/actions/plugin/init/files/admin.js.map +1 -1
  35. package/dist/commands/actions/plugin/init/files/server.js.map +1 -1
  36. package/dist/commands/actions/plugin/init/files/typescript.js.map +1 -1
  37. package/dist/commands/actions/plugin/link-watch/action.js.map +1 -1
  38. package/dist/commands/actions/plugin/verify/action.js.map +1 -1
  39. package/dist/commands/actions/plugin/watch/action.js.map +1 -1
  40. package/dist/commands/actions/policies/list/action.js.map +1 -1
  41. package/dist/commands/actions/policies/list/command.js.map +1 -1
  42. package/dist/commands/actions/report/action.js.map +1 -1
  43. package/dist/commands/actions/report/command.js.map +1 -1
  44. package/dist/commands/actions/routes/list/action.js.map +1 -1
  45. package/dist/commands/actions/routes/list/command.js.map +1 -1
  46. package/dist/commands/actions/services/list/action.js.map +1 -1
  47. package/dist/commands/actions/services/list/command.js.map +1 -1
  48. package/dist/commands/actions/start/action.js.map +1 -1
  49. package/dist/commands/actions/start/command.js.map +1 -1
  50. package/dist/commands/actions/telemetry/disable/action.js.map +1 -1
  51. package/dist/commands/actions/telemetry/disable/command.js.map +1 -1
  52. package/dist/commands/actions/telemetry/enable/action.js.map +1 -1
  53. package/dist/commands/actions/telemetry/enable/command.js.map +1 -1
  54. package/dist/commands/actions/templates/generate/action.js.map +1 -1
  55. package/dist/commands/actions/templates/generate/command.js.map +1 -1
  56. package/dist/commands/actions/ts/generate-types/action.js.map +1 -1
  57. package/dist/commands/actions/ts/generate-types/command.js.map +1 -1
  58. package/dist/commands/actions/uninstall/action.js.map +1 -1
  59. package/dist/commands/actions/uninstall/command.js.map +1 -1
  60. package/dist/commands/actions/version/command.js.map +1 -1
  61. package/dist/commands/actions/watch-admin/action.js.map +1 -1
  62. package/dist/commands/actions/watch-admin/command.js.map +1 -1
  63. package/dist/commands/index.js +60 -60
  64. package/dist/commands/index.js.map +1 -1
  65. package/dist/commands/utils/commander.js.map +1 -1
  66. package/dist/commands/utils/helpers.js.map +1 -1
  67. package/dist/commands/utils/logger.js +1 -2
  68. package/dist/commands/utils/logger.js.map +1 -1
  69. package/dist/commands/utils/pkg.js +1 -2
  70. package/dist/commands/utils/pkg.js.map +1 -1
  71. package/dist/commands/utils/tsconfig.js.map +1 -1
  72. package/dist/compile.js.map +1 -1
  73. package/dist/compile.mjs.map +1 -1
  74. package/dist/container.js.map +1 -1
  75. package/dist/container.mjs.map +1 -1
  76. package/dist/core/app-configuration/config-loader.js +1 -2
  77. package/dist/core/app-configuration/config-loader.js.map +1 -1
  78. package/dist/core/app-configuration/config-loader.mjs +1 -2
  79. package/dist/core/app-configuration/config-loader.mjs.map +1 -1
  80. package/dist/core/app-configuration/index.js.map +1 -1
  81. package/dist/core/app-configuration/index.mjs.map +1 -1
  82. package/dist/core/app-configuration/load-config-file.js.map +1 -1
  83. package/dist/core/app-configuration/load-config-file.mjs +1 -1
  84. package/dist/core/app-configuration/load-config-file.mjs.map +1 -1
  85. package/dist/core/bootstrap.js.map +1 -1
  86. package/dist/core/bootstrap.mjs.map +1 -1
  87. package/dist/core/domain/content-type/index.js.map +1 -1
  88. package/dist/core/domain/content-type/index.mjs.map +1 -1
  89. package/dist/core/domain/content-type/validator.js.map +1 -1
  90. package/dist/core/domain/content-type/validator.mjs.map +1 -1
  91. package/dist/core/domain/module/index.js.map +1 -1
  92. package/dist/core/domain/module/index.mjs.map +1 -1
  93. package/dist/core/domain/module/validation.js.map +1 -1
  94. package/dist/core/domain/module/validation.mjs.map +1 -1
  95. package/dist/core/loaders/admin.js.map +1 -1
  96. package/dist/core/loaders/admin.mjs.map +1 -1
  97. package/dist/core/loaders/apis.js.map +1 -1
  98. package/dist/core/loaders/apis.mjs.map +1 -1
  99. package/dist/core/loaders/components.js.map +1 -1
  100. package/dist/core/loaders/components.mjs.map +1 -1
  101. package/dist/core/loaders/index.js.map +1 -1
  102. package/dist/core/loaders/index.mjs.map +1 -1
  103. package/dist/core/loaders/middlewares.js.map +1 -1
  104. package/dist/core/loaders/middlewares.mjs.map +1 -1
  105. package/dist/core/loaders/plugins/get-enabled-plugins.js.map +1 -1
  106. package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  107. package/dist/core/loaders/plugins/get-user-plugins-config.js.map +1 -1
  108. package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  109. package/dist/core/loaders/plugins/index.js.map +1 -1
  110. package/dist/core/loaders/plugins/index.mjs +1 -1
  111. package/dist/core/loaders/plugins/index.mjs.map +1 -1
  112. package/dist/core/loaders/policies.js.map +1 -1
  113. package/dist/core/loaders/policies.mjs.map +1 -1
  114. package/dist/core/loaders/sanitizers.js.map +1 -1
  115. package/dist/core/loaders/sanitizers.mjs.map +1 -1
  116. package/dist/core/loaders/src-index.js.map +1 -1
  117. package/dist/core/loaders/src-index.mjs.map +1 -1
  118. package/dist/core/loaders/validators.js.map +1 -1
  119. package/dist/core/loaders/validators.mjs.map +1 -1
  120. package/dist/core/registries/apis.js.map +1 -1
  121. package/dist/core/registries/apis.mjs.map +1 -1
  122. package/dist/core/registries/config.js.map +1 -1
  123. package/dist/core/registries/config.mjs.map +1 -1
  124. package/dist/core/registries/content-types.js.map +1 -1
  125. package/dist/core/registries/content-types.mjs +2 -2
  126. package/dist/core/registries/content-types.mjs.map +1 -1
  127. package/dist/core/registries/controllers.js.map +1 -1
  128. package/dist/core/registries/controllers.mjs +2 -2
  129. package/dist/core/registries/controllers.mjs.map +1 -1
  130. package/dist/core/registries/custom-fields.js.map +1 -1
  131. package/dist/core/registries/custom-fields.mjs.map +1 -1
  132. package/dist/core/registries/hooks.js.map +1 -1
  133. package/dist/core/registries/hooks.mjs +1 -1
  134. package/dist/core/registries/hooks.mjs.map +1 -1
  135. package/dist/core/registries/middlewares.js.map +1 -1
  136. package/dist/core/registries/middlewares.mjs +2 -2
  137. package/dist/core/registries/middlewares.mjs.map +1 -1
  138. package/dist/core/registries/modules.js.map +1 -1
  139. package/dist/core/registries/modules.mjs +1 -1
  140. package/dist/core/registries/modules.mjs.map +1 -1
  141. package/dist/core/registries/plugins.js.map +1 -1
  142. package/dist/core/registries/plugins.mjs.map +1 -1
  143. package/dist/core/registries/policies.js.map +1 -1
  144. package/dist/core/registries/policies.mjs +2 -2
  145. package/dist/core/registries/policies.mjs.map +1 -1
  146. package/dist/core/registries/sanitizers.js.map +1 -1
  147. package/dist/core/registries/sanitizers.mjs.map +1 -1
  148. package/dist/core/registries/services.js.map +1 -1
  149. package/dist/core/registries/services.mjs +2 -2
  150. package/dist/core/registries/services.mjs.map +1 -1
  151. package/dist/core/registries/validators.js.map +1 -1
  152. package/dist/core/registries/validators.mjs.map +1 -1
  153. package/dist/core/utils.js.map +1 -1
  154. package/dist/core/utils.mjs.map +1 -1
  155. package/dist/core-api/controller/collection-type.js.map +1 -1
  156. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  157. package/dist/core-api/controller/index.js.map +1 -1
  158. package/dist/core-api/controller/index.mjs +1 -1
  159. package/dist/core-api/controller/index.mjs.map +1 -1
  160. package/dist/core-api/controller/single-type.js.map +1 -1
  161. package/dist/core-api/controller/single-type.mjs.map +1 -1
  162. package/dist/core-api/controller/transform.js.map +1 -1
  163. package/dist/core-api/controller/transform.mjs.map +1 -1
  164. package/dist/core-api/routes/index.js.map +1 -1
  165. package/dist/core-api/routes/index.mjs.map +1 -1
  166. package/dist/core-api/service/collection-type.js.map +1 -1
  167. package/dist/core-api/service/collection-type.mjs.map +1 -1
  168. package/dist/core-api/service/get-fetch-params.js.map +1 -1
  169. package/dist/core-api/service/get-fetch-params.mjs.map +1 -1
  170. package/dist/core-api/service/index.js.map +1 -1
  171. package/dist/core-api/service/index.mjs.map +1 -1
  172. package/dist/core-api/service/pagination.js.map +1 -1
  173. package/dist/core-api/service/pagination.mjs +1 -1
  174. package/dist/core-api/service/pagination.mjs.map +1 -1
  175. package/dist/core-api/service/single-type.js +1 -2
  176. package/dist/core-api/service/single-type.js.map +1 -1
  177. package/dist/core-api/service/single-type.mjs +2 -3
  178. package/dist/core-api/service/single-type.mjs.map +1 -1
  179. package/dist/ee/index.js.map +1 -1
  180. package/dist/ee/index.mjs +1 -1
  181. package/dist/ee/index.mjs.map +1 -1
  182. package/dist/ee/license.js.map +1 -1
  183. package/dist/ee/license.mjs.map +1 -1
  184. package/dist/factories.js +4 -4
  185. package/dist/factories.js.map +1 -1
  186. package/dist/factories.mjs.map +1 -1
  187. package/dist/load/filepath-to-prop-path.js.map +1 -1
  188. package/dist/load/load-files.js +1 -2
  189. package/dist/load/load-files.js.map +1 -1
  190. package/dist/load/load-files.mjs +1 -2
  191. package/dist/load/load-files.mjs.map +1 -1
  192. package/dist/middlewares/body.js.map +1 -1
  193. package/dist/middlewares/body.mjs.map +1 -1
  194. package/dist/middlewares/cors.js.map +1 -1
  195. package/dist/middlewares/cors.mjs.map +1 -1
  196. package/dist/middlewares/errors.js.map +1 -1
  197. package/dist/middlewares/errors.mjs.map +1 -1
  198. package/dist/middlewares/favicon.js.map +1 -1
  199. package/dist/middlewares/favicon.mjs.map +1 -1
  200. package/dist/middlewares/index.js.map +1 -1
  201. package/dist/middlewares/logger.js.map +1 -1
  202. package/dist/middlewares/logger.mjs.map +1 -1
  203. package/dist/middlewares/powered-by.js.map +1 -1
  204. package/dist/middlewares/powered-by.mjs.map +1 -1
  205. package/dist/middlewares/public/index.js +1 -2
  206. package/dist/middlewares/public/index.js.map +1 -1
  207. package/dist/middlewares/public/index.mjs +1 -2
  208. package/dist/middlewares/public/index.mjs.map +1 -1
  209. package/dist/middlewares/public/serve-static.js.map +1 -1
  210. package/dist/middlewares/public/serve-static.mjs.map +1 -1
  211. package/dist/middlewares/query.js.map +1 -1
  212. package/dist/middlewares/query.mjs.map +1 -1
  213. package/dist/middlewares/response-time.js.map +1 -1
  214. package/dist/middlewares/response-time.mjs.map +1 -1
  215. package/dist/middlewares/responses.js.map +1 -1
  216. package/dist/middlewares/responses.mjs.map +1 -1
  217. package/dist/middlewares/security.js.map +1 -1
  218. package/dist/middlewares/security.mjs.map +1 -1
  219. package/dist/middlewares/session.js.map +1 -1
  220. package/dist/middlewares/session.mjs.map +1 -1
  221. package/dist/migrations/draft-publish.js.map +1 -1
  222. package/dist/migrations/draft-publish.mjs.map +1 -1
  223. package/dist/services/auth/index.js.map +1 -1
  224. package/dist/services/auth/index.mjs.map +1 -1
  225. package/dist/services/content-api/index.js.map +1 -1
  226. package/dist/services/content-api/index.mjs.map +1 -1
  227. package/dist/services/content-api/permissions/engine.js.map +1 -1
  228. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  229. package/dist/services/content-api/permissions/index.js.map +1 -1
  230. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  231. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  232. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  233. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  234. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  235. package/dist/services/core-store.js.map +1 -1
  236. package/dist/services/core-store.mjs.map +1 -1
  237. package/dist/services/cron.js +1 -2
  238. package/dist/services/cron.js.map +1 -1
  239. package/dist/services/cron.mjs +1 -2
  240. package/dist/services/cron.mjs.map +1 -1
  241. package/dist/services/custom-fields.js.map +1 -1
  242. package/dist/services/custom-fields.mjs.map +1 -1
  243. package/dist/services/entity-service/attributes/index.js.map +1 -1
  244. package/dist/services/entity-service/attributes/index.mjs.map +1 -1
  245. package/dist/services/entity-service/attributes/transforms.js.map +1 -1
  246. package/dist/services/entity-service/attributes/transforms.mjs.map +1 -1
  247. package/dist/services/entity-service/components.js.map +1 -1
  248. package/dist/services/entity-service/components.mjs +1 -1
  249. package/dist/services/entity-service/components.mjs.map +1 -1
  250. package/dist/services/entity-service/index.js.map +1 -1
  251. package/dist/services/entity-service/index.mjs +2 -2
  252. package/dist/services/entity-service/index.mjs.map +1 -1
  253. package/dist/services/entity-service/params.js.map +1 -1
  254. package/dist/services/entity-service/params.mjs.map +1 -1
  255. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  256. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  257. package/dist/services/entity-validator/index.js.map +1 -1
  258. package/dist/services/entity-validator/index.mjs +1 -1
  259. package/dist/services/entity-validator/index.mjs.map +1 -1
  260. package/dist/services/entity-validator/validators.js.map +1 -1
  261. package/dist/services/entity-validator/validators.mjs.map +1 -1
  262. package/dist/services/errors.js.map +1 -1
  263. package/dist/services/errors.mjs.map +1 -1
  264. package/dist/services/event-hub.js.map +1 -1
  265. package/dist/services/event-hub.mjs.map +1 -1
  266. package/dist/services/features.js.map +1 -1
  267. package/dist/services/features.mjs.map +1 -1
  268. package/dist/services/fs.js.map +1 -1
  269. package/dist/services/fs.mjs.map +1 -1
  270. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  271. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  272. package/dist/services/metrics/index.js +1 -2
  273. package/dist/services/metrics/index.js.map +1 -1
  274. package/dist/services/metrics/index.mjs +1 -2
  275. package/dist/services/metrics/index.mjs.map +1 -1
  276. package/dist/services/metrics/is-truthy.js.map +1 -1
  277. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  278. package/dist/services/metrics/middleware.js.map +1 -1
  279. package/dist/services/metrics/middleware.mjs.map +1 -1
  280. package/dist/services/metrics/rate-limiter.js.map +1 -1
  281. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  282. package/dist/services/metrics/sender.js.map +1 -1
  283. package/dist/services/metrics/sender.mjs.map +1 -1
  284. package/dist/services/request-context.js.map +1 -1
  285. package/dist/services/request-context.mjs.map +1 -1
  286. package/dist/services/server/admin-api.js.map +1 -1
  287. package/dist/services/server/admin-api.mjs.map +1 -1
  288. package/dist/services/server/api.js.map +1 -1
  289. package/dist/services/server/api.mjs.map +1 -1
  290. package/dist/services/server/compose-endpoint.js +1 -1
  291. package/dist/services/server/compose-endpoint.js.map +1 -1
  292. package/dist/services/server/compose-endpoint.mjs +1 -1
  293. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  294. package/dist/services/server/content-api.js.map +1 -1
  295. package/dist/services/server/content-api.mjs.map +1 -1
  296. package/dist/services/server/http-server.js.map +1 -1
  297. package/dist/services/server/http-server.mjs.map +1 -1
  298. package/dist/services/server/index.js.map +1 -1
  299. package/dist/services/server/index.mjs.map +1 -1
  300. package/dist/services/server/koa.js.map +1 -1
  301. package/dist/services/server/koa.mjs.map +1 -1
  302. package/dist/services/server/middleware.js.map +1 -1
  303. package/dist/services/server/middleware.mjs.map +1 -1
  304. package/dist/services/server/policy.js.map +1 -1
  305. package/dist/services/server/policy.mjs.map +1 -1
  306. package/dist/services/server/register-middlewares.js.map +1 -1
  307. package/dist/services/server/register-middlewares.mjs.map +1 -1
  308. package/dist/services/server/register-routes.js.map +1 -1
  309. package/dist/services/server/register-routes.mjs.map +1 -1
  310. package/dist/services/server/routing.js.map +1 -1
  311. package/dist/services/server/routing.mjs.map +1 -1
  312. package/dist/services/utils/dynamic-zones.js.map +1 -1
  313. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  314. package/dist/services/utils/upload-files.js +2 -4
  315. package/dist/services/utils/upload-files.js.map +1 -1
  316. package/dist/services/utils/upload-files.mjs +2 -4
  317. package/dist/services/utils/upload-files.mjs.map +1 -1
  318. package/dist/services/webhook-runner.js.map +1 -1
  319. package/dist/services/webhook-runner.mjs.map +1 -1
  320. package/dist/services/webhook-store.js.map +1 -1
  321. package/dist/services/webhook-store.mjs.map +1 -1
  322. package/dist/services/worker-queue.js.map +1 -1
  323. package/dist/services/worker-queue.mjs.map +1 -1
  324. package/dist/utils/convert-custom-field-type.js.map +1 -1
  325. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  326. package/dist/utils/cron.js.map +1 -1
  327. package/dist/utils/cron.mjs.map +1 -1
  328. package/dist/utils/fetch.js.map +1 -1
  329. package/dist/utils/fetch.mjs.map +1 -1
  330. package/dist/utils/get-dirs.js.map +1 -1
  331. package/dist/utils/get-dirs.mjs +1 -1
  332. package/dist/utils/get-dirs.mjs.map +1 -1
  333. package/dist/utils/is-initialized.js.map +1 -1
  334. package/dist/utils/is-initialized.mjs.map +1 -1
  335. package/dist/utils/machine-id.js.map +1 -1
  336. package/dist/utils/machine-id.mjs.map +1 -1
  337. package/dist/utils/open-browser.js.map +1 -1
  338. package/dist/utils/open-browser.mjs.map +1 -1
  339. package/dist/utils/signals.js.map +1 -1
  340. package/dist/utils/signals.mjs.map +1 -1
  341. package/dist/utils/startup-logger.js.map +1 -1
  342. package/dist/utils/startup-logger.mjs.map +1 -1
  343. package/dist/utils/update-notifier/index.js.map +1 -1
  344. package/dist/utils/update-notifier/index.mjs.map +1 -1
  345. package/package.json +26 -26
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/install/action.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { join } from 'path';\nimport { existsSync } from 'fs-extra';\nimport ora from 'ora';\nimport execa from 'execa';\nimport findPackagePath from '../../../load/package-path';\n\nexport default async (plugins: string[]) => {\n const loader = ora();\n const dir = process.cwd();\n\n const version = require(join(dir, 'package.json')).dependencies['@strapi/strapi'];\n\n const pluginArgs = plugins.map((name: string) => `@strapi/plugin-${name}@${version}`);\n\n try {\n loader.start(`Installing dependencies`);\n\n const useYarn = existsSync(join(dir, 'yarn.lock'));\n if (useYarn) {\n await execa('yarn', ['add', ...pluginArgs]);\n } else {\n await execa('npm', ['install', '--save', ...pluginArgs]);\n }\n\n loader.succeed();\n\n // check if rebuild is necessary\n let shouldRebuild = false;\n for (const name of plugins) {\n const pkgPath = findPackagePath(`@strapi/plugin-${name}`);\n if (existsSync(join(pkgPath, 'admin', 'src', 'index.js'))) {\n shouldRebuild = true;\n }\n }\n\n if (shouldRebuild) {\n loader.start(`Rebuilding admin UI`);\n await execa('npm', ['run', 'build']);\n loader.succeed();\n }\n } catch (err) {\n loader.clear();\n\n if (err instanceof Error) {\n console.error(err.message);\n }\n\n process.exit(1);\n }\n};\n"],"names":["ora","join","existsSync","execa","findPackagePath"],"mappings":";;;;;;;;;AAOA,MAAe,SAAA,OAAO,YAAsB;AAC1C,QAAM,SAASA,aAAAA;AACT,QAAA,MAAM,QAAQ;AAEd,QAAA,UAAU,QAAQC,UAAK,KAAK,cAAc,CAAC,EAAE,aAAa,gBAAgB;AAE1E,QAAA,aAAa,QAAQ,IAAI,CAAC,SAAiB,kBAAkB,IAAI,IAAI,OAAO,EAAE;AAEhF,MAAA;AACF,WAAO,MAAM,yBAAyB;AAEtC,UAAM,UAAUC,IAAAA,WAAWD,KAAAA,KAAK,KAAK,WAAW,CAAC;AACjD,QAAI,SAAS;AACX,YAAME,eAAAA,QAAM,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;AAAA,IAAA,OACrC;AACL,YAAMA,eAAAA,QAAM,OAAO,CAAC,WAAW,UAAU,GAAG,UAAU,CAAC;AAAA,IACzD;AAEA,WAAO,QAAQ;AAGf,QAAI,gBAAgB;AACpB,eAAW,QAAQ,SAAS;AAC1B,YAAM,UAAUC,YAAgB,kBAAkB,IAAI,EAAE;AACxD,UAAIF,IAAAA,WAAWD,KAAAA,KAAK,SAAS,SAAS,OAAO,UAAU,CAAC,GAAG;AACzC,wBAAA;AAAA,MAClB;AAAA,IACF;AAEA,QAAI,eAAe;AACjB,aAAO,MAAM,qBAAqB;AAClC,YAAME,eAAM,QAAA,OAAO,CAAC,OAAO,OAAO,CAAC;AACnC,aAAO,QAAQ;AAAA,IACjB;AAAA,WACO,KAAK;AACZ,WAAO,MAAM;AAEb,QAAI,eAAe,OAAO;AAChB,cAAA,MAAM,IAAI,OAAO;AAAA,IAC3B;AAEA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/install/action.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { join } from 'path';\nimport { existsSync } from 'fs-extra';\nimport ora from 'ora';\nimport execa from 'execa';\nimport findPackagePath from '../../../load/package-path';\n\nexport default async (plugins: string[]) => {\n const loader = ora();\n const dir = process.cwd();\n\n const version = require(join(dir, 'package.json')).dependencies['@strapi/strapi'];\n\n const pluginArgs = plugins.map((name: string) => `@strapi/plugin-${name}@${version}`);\n\n try {\n loader.start(`Installing dependencies`);\n\n const useYarn = existsSync(join(dir, 'yarn.lock'));\n if (useYarn) {\n await execa('yarn', ['add', ...pluginArgs]);\n } else {\n await execa('npm', ['install', '--save', ...pluginArgs]);\n }\n\n loader.succeed();\n\n // check if rebuild is necessary\n let shouldRebuild = false;\n for (const name of plugins) {\n const pkgPath = findPackagePath(`@strapi/plugin-${name}`);\n if (existsSync(join(pkgPath, 'admin', 'src', 'index.js'))) {\n shouldRebuild = true;\n }\n }\n\n if (shouldRebuild) {\n loader.start(`Rebuilding admin UI`);\n await execa('npm', ['run', 'build']);\n loader.succeed();\n }\n } catch (err) {\n loader.clear();\n\n if (err instanceof Error) {\n console.error(err.message);\n }\n\n process.exit(1);\n }\n};\n"],"names":["ora","join","existsSync","execa","findPackagePath"],"mappings":";;;;;;;;;AAOA,MAAA,SAAe,OAAO,YAAsB;AAC1C,QAAM,SAASA,aAAAA,QAAA;AACf,QAAM,MAAM,QAAQ,IAAA;AAEpB,QAAM,UAAU,QAAQC,UAAK,KAAK,cAAc,CAAC,EAAE,aAAa,gBAAgB;AAEhF,QAAM,aAAa,QAAQ,IAAI,CAAC,SAAiB,kBAAkB,IAAI,IAAI,OAAO,EAAE;AAEpF,MAAI;AACF,WAAO,MAAM,yBAAyB;AAEtC,UAAM,UAAUC,IAAAA,WAAWD,KAAAA,KAAK,KAAK,WAAW,CAAC;AACjD,QAAI,SAAS;AACX,YAAME,eAAAA,QAAM,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;AAAA,IAC5C,OAAO;AACL,YAAMA,eAAAA,QAAM,OAAO,CAAC,WAAW,UAAU,GAAG,UAAU,CAAC;AAAA,IACzD;AAEA,WAAO,QAAA;AAGP,QAAI,gBAAgB;AACpB,eAAW,QAAQ,SAAS;AAC1B,YAAM,UAAUC,YAAgB,kBAAkB,IAAI,EAAE;AACxD,UAAIF,IAAAA,WAAWD,KAAAA,KAAK,SAAS,SAAS,OAAO,UAAU,CAAC,GAAG;AACzD,wBAAgB;AAAA,MAClB;AAAA,IACF;AAEA,QAAI,eAAe;AACjB,aAAO,MAAM,qBAAqB;AAClC,YAAME,eAAAA,QAAM,OAAO,CAAC,OAAO,OAAO,CAAC;AACnC,aAAO,QAAA;AAAA,IACT;AAAA,EACF,SAAS,KAAK;AACZ,WAAO,MAAA;AAEP,QAAI,eAAe,OAAO;AACxB,cAAQ,MAAM,IAAI,OAAO;AAAA,IAC3B;AAEA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/install/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi install`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('install [plugins...]')\n .description('Install a Strapi plugin')\n .action(runAction('install', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,sBAAsB,EAC9B,YAAY,yBAAyB,EACrC,OAAOC,QAAA,UAAU,WAAW,MAAM,CAAC;AACxC;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/install/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi install`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('install [plugins...]')\n .description('Install a Strapi plugin')\n .action(runAction('install', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,sBAAsB,EAC9B,YAAY,yBAAyB,EACrC,OAAOC,QAAAA,UAAU,WAAW,MAAM,CAAC;AACxC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/middlewares/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('middlewares').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACnB,QAAA,aAAa,MAAMA,OAAO;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAS;AAE9C,QAAM,OAAO,IAAI,UAAU,IAAI,aAAa,EAAE;AAExC,QAAA,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAEI,OAAA,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAE7C,UAAA,IAAI,UAAU,SAAU,CAAA;AAEhC,QAAM,IAAI;AACZ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/middlewares/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('middlewares').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACzB,QAAM,aAAa,MAAMA,OAAO,QAAA;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAA;AAErC,QAAM,OAAO,IAAI,UAAU,IAAI,aAAa,EAAE,KAAA;AAE9C,QAAM,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAED,OAAK,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAErD,UAAQ,IAAI,UAAU,UAAU;AAEhC,QAAM,IAAI,QAAA;AACZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/middlewares/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi middlewares:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('middlewares:list')\n .description('List all the application middlewares')\n .action(runAction('middlewares:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,kBAAkB,EAC1B,YAAY,sCAAsC,EAClD,OAAOC,QAAA,UAAU,oBAAoB,MAAM,CAAC;AACjD;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/middlewares/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi middlewares:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('middlewares:list')\n .description('List all the application middlewares')\n .action(runAction('middlewares:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,kBAAkB,EAC1B,YAAY,sCAAsC,EAClD,OAAOC,QAAAA,UAAU,oBAAoB,MAAM,CAAC;AACjD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/new/action.ts"],"sourcesContent":["import { generateNewApp } from '@strapi/generate-new';\n\n/**\n * `$ strapi new`\n *\n * Generate a new Strapi application.\n */\n\nexport default (...args: [string, object]) => {\n return generateNewApp(...args);\n};\n"],"names":["generateNewApp"],"mappings":";;AAQA,MAAe,SAAA,IAAI,SAA2B;AACrC,SAAAA,YAAA,eAAe,GAAG,IAAI;AAC/B;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/new/action.ts"],"sourcesContent":["import { generateNewApp } from '@strapi/generate-new';\n\n/**\n * `$ strapi new`\n *\n * Generate a new Strapi application.\n */\n\nexport default (...args: [string, object]) => {\n return generateNewApp(...args);\n};\n"],"names":["generateNewApp"],"mappings":";;AAQA,MAAA,SAAe,IAAI,SAA2B;AAC5C,SAAOA,YAAAA,eAAe,GAAG,IAAI;AAC/B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/new/command.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { StrapiCommand } from '../../types';\nimport action from './action';\n\n/**\n * `$ strapi new`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('new <directory>')\n .option('--no-run', 'Do not start the application after it is created')\n .option('--use-npm', 'Force usage of npm instead of yarn to create the project')\n .option('--debug', 'Display database connection errors')\n .option('--quickstart', 'Create quickstart app')\n .option('--dbclient <dbclient>', 'Database client')\n .option('--dbhost <dbhost>', 'Database host')\n .option('--dbport <dbport>', 'Database port')\n .option('--dbname <dbname>', 'Database name')\n .option('--dbusername <dbusername>', 'Database username')\n .option('--dbpassword <dbpassword>', 'Database password')\n .option('--dbssl <dbssl>', 'Database SSL')\n .option('--dbfile <dbfile>', 'Database file path for sqlite')\n .option('--dbforce', 'Allow overwriting existing database content')\n .option('-ts, --typescript', 'Create a typescript project')\n .description('Create a new application')\n .hook('preAction', () => {\n console.warn(\n chalk.yellow(\n 'The `strapi new` command has been deprecated in v4 and will be removed in v5. `create-strapi-app` should be used to create a new Strapi project.'\n )\n );\n })\n .action(action);\n};\n\nexport default command;\n"],"names":["command","chalk"],"mappings":";;;;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,iBAAiB,EACzB,OAAO,YAAY,kDAAkD,EACrE,OAAO,aAAa,0DAA0D,EAC9E,OAAO,WAAW,oCAAoC,EACtD,OAAO,gBAAgB,uBAAuB,EAC9C,OAAO,yBAAyB,iBAAiB,EACjD,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,6BAA6B,mBAAmB,EACvD,OAAO,6BAA6B,mBAAmB,EACvD,OAAO,mBAAmB,cAAc,EACxC,OAAO,qBAAqB,+BAA+B,EAC3D,OAAO,aAAa,6CAA6C,EACjE,OAAO,qBAAqB,6BAA6B,EACzD,YAAY,0BAA0B,EACtC,KAAK,aAAa,MAAM;AACf,YAAA;AAAA,MACNC,eAAAA,QAAM;AAAA,QACJ;AAAA,MACF;AAAA,IAAA;AAAA,EACF,CACD,EACA,OAAO,MAAM;AAClB;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/new/command.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { StrapiCommand } from '../../types';\nimport action from './action';\n\n/**\n * `$ strapi new`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('new <directory>')\n .option('--no-run', 'Do not start the application after it is created')\n .option('--use-npm', 'Force usage of npm instead of yarn to create the project')\n .option('--debug', 'Display database connection errors')\n .option('--quickstart', 'Create quickstart app')\n .option('--dbclient <dbclient>', 'Database client')\n .option('--dbhost <dbhost>', 'Database host')\n .option('--dbport <dbport>', 'Database port')\n .option('--dbname <dbname>', 'Database name')\n .option('--dbusername <dbusername>', 'Database username')\n .option('--dbpassword <dbpassword>', 'Database password')\n .option('--dbssl <dbssl>', 'Database SSL')\n .option('--dbfile <dbfile>', 'Database file path for sqlite')\n .option('--dbforce', 'Allow overwriting existing database content')\n .option('-ts, --typescript', 'Create a typescript project')\n .description('Create a new application')\n .hook('preAction', () => {\n console.warn(\n chalk.yellow(\n 'The `strapi new` command has been deprecated in v4 and will be removed in v5. `create-strapi-app` should be used to create a new Strapi project.'\n )\n );\n })\n .action(action);\n};\n\nexport default command;\n"],"names":["command","chalk"],"mappings":";;;;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,iBAAiB,EACzB,OAAO,YAAY,kDAAkD,EACrE,OAAO,aAAa,0DAA0D,EAC9E,OAAO,WAAW,oCAAoC,EACtD,OAAO,gBAAgB,uBAAuB,EAC9C,OAAO,yBAAyB,iBAAiB,EACjD,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,6BAA6B,mBAAmB,EACvD,OAAO,6BAA6B,mBAAmB,EACvD,OAAO,mBAAmB,cAAc,EACxC,OAAO,qBAAqB,+BAA+B,EAC3D,OAAO,aAAa,6CAA6C,EACjE,OAAO,qBAAqB,6BAA6B,EACzD,YAAY,0BAA0B,EACtC,KAAK,aAAa,MAAM;AACvB,YAAQ;AAAA,MACNC,eAAAA,QAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,CAAC,EACA,OAAO,MAAM;AAClB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/build-command/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { BuildCLIOptions, ConfigBundle, build } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { Export, loadPkg, validatePkg } from '../../../utils/pkg';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends BuildCLIOptions {\n force?: boolean;\n}\n\nexport default async (\n { force, ...opts }: ActionOptions,\n _cmd: unknown,\n { logger, cwd }: CLIContext\n) => {\n try {\n /**\n * ALWAYS set production for using plugin build CLI.\n */\n process.env.NODE_ENV = 'production';\n /**\n * Notify users this is an experimental command and get them to approve first\n * this can be opted out by setting the argument --force\n */\n await notifyExperimentalCommand('plugin:build', { force });\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n if (!pkgJson.exports['./strapi-admin'] && !pkgJson.exports['./strapi-server']) {\n throw new Error(\n 'You need to have either a strapi-admin or strapi-server export in your package.json'\n );\n }\n\n const bundles: ConfigBundle[] = [];\n\n if (pkgJson.exports['./strapi-admin']) {\n const exp = pkgJson.exports['./strapi-admin'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'web',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './admin/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n if (pkgJson.exports['./strapi-server']) {\n const exp = pkgJson.exports['./strapi-server'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'node',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './server/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n await build({\n cwd,\n configFile: false,\n config: {\n bundles,\n dist: './dist',\n /**\n * ignore the exports map of a plugin, because we're streamlining the\n * process and ensuring the server package and admin package are built\n * with the correct runtime and their individual tsconfigs\n */\n exports: {},\n },\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","pkg","loadPkg","validatePkg","build","chalk","boxen"],"mappings":";;;;;;;;;AAWA,MAAA,SAAe,OACb,EAAE,OAAO,GAAG,KAAA,GACZ,MACA,EAAE,QAAQ,UACP;AACC,MAAA;AAIF,YAAQ,IAAI,WAAW;AAKvB,UAAMA,kCAA0B,gBAAgB,EAAE,MAAO,CAAA;AAEzD,UAAMC,QAAM,MAAMC,IAAA,QAAQ,EAAE,KAAK,OAAQ,CAAA;AACzC,UAAM,UAAU,MAAMC,IAAAA,YAAY,EAAEF,KAAAA,MAAK,CAAA;AAErC,QAAA,CAAC,QAAQ,QAAQ,gBAAgB,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,GAAG;AAC7E,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAM,UAA0B,CAAA;AAE5B,QAAA,QAAQ,QAAQ,gBAAgB,GAAG;AAC/B,YAAA,MAAM,QAAQ,QAAQ,gBAAgB;AAE5C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEI,QAAA,QAAQ,QAAQ,iBAAiB,GAAG;AAChC,YAAA,MAAM,QAAQ,QAAQ,iBAAiB;AAE7C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAMG,aAAM;AAAA,MACV;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN;AAAA,QACA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMN,SAAS,CAAC;AAAA,MACZ;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,WACM,KAAK;AACL,WAAA;AAAA,MACL;AAAA,IAAA;AAEE,QAAA,eAAe,SAAS,IAAI,OAAO;AAC7B,cAAA;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/build-command/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { BuildCLIOptions, ConfigBundle, build } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { Export, loadPkg, validatePkg } from '../../../utils/pkg';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends BuildCLIOptions {\n force?: boolean;\n}\n\nexport default async (\n { force, ...opts }: ActionOptions,\n _cmd: unknown,\n { logger, cwd }: CLIContext\n) => {\n try {\n /**\n * ALWAYS set production for using plugin build CLI.\n */\n process.env.NODE_ENV = 'production';\n /**\n * Notify users this is an experimental command and get them to approve first\n * this can be opted out by setting the argument --force\n */\n await notifyExperimentalCommand('plugin:build', { force });\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n if (!pkgJson.exports['./strapi-admin'] && !pkgJson.exports['./strapi-server']) {\n throw new Error(\n 'You need to have either a strapi-admin or strapi-server export in your package.json'\n );\n }\n\n const bundles: ConfigBundle[] = [];\n\n if (pkgJson.exports['./strapi-admin']) {\n const exp = pkgJson.exports['./strapi-admin'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'web',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './admin/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n if (pkgJson.exports['./strapi-server']) {\n const exp = pkgJson.exports['./strapi-server'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'node',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './server/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n await build({\n cwd,\n configFile: false,\n config: {\n bundles,\n dist: './dist',\n /**\n * ignore the exports map of a plugin, because we're streamlining the\n * process and ensuring the server package and admin package are built\n * with the correct runtime and their individual tsconfigs\n */\n exports: {},\n },\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","pkg","loadPkg","validatePkg","build","chalk","boxen"],"mappings":";;;;;;;;;AAWA,MAAA,SAAe,OACb,EAAE,OAAO,GAAG,KAAA,GACZ,MACA,EAAE,QAAQ,UACP;AACH,MAAI;AAIF,YAAQ,IAAI,WAAW;AAKvB,UAAMA,kCAA0B,gBAAgB,EAAE,OAAO;AAEzD,UAAMC,QAAM,MAAMC,IAAAA,QAAQ,EAAE,KAAK,QAAQ;AACzC,UAAM,UAAU,MAAMC,gBAAY,EAAA,KAAEF,OAAK;AAEzC,QAAI,CAAC,QAAQ,QAAQ,gBAAgB,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,GAAG;AAC7E,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAM,UAA0B,CAAA;AAEhC,QAAI,QAAQ,QAAQ,gBAAgB,GAAG;AACrC,YAAM,MAAM,QAAQ,QAAQ,gBAAgB;AAE5C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,QAAI,QAAQ,QAAQ,iBAAiB,GAAG;AACtC,YAAM,MAAM,QAAQ,QAAQ,iBAAiB;AAE7C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAMG,aAAM;AAAA,MACV;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN;AAAA,QACA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMN,SAAS,CAAA;AAAA,MAAC;AAAA,MAEZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH,SAAS,KAAK;AACZ,WAAO;AAAA,MACL;AAAA,IAAA;AAEF,QAAI,eAAe,SAAS,IAAI,OAAO;AACrC,cAAQ;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/plugin/build-command/command.ts"],"sourcesContent":["import { forceOption } from '../../../utils/commander';\nimport type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi plugin:build`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:build')\n .description('Bundle your strapi plugin for publishing.')\n .addOption(forceOption)\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--sourcemap', 'produce sourcemaps', false)\n .option('--minify', 'minify the output', false)\n .action((...args) => runAction('plugin:build', action)(...args, ctx));\n};\n\nexport default command;\n"],"names":["command","forceOption","runAction"],"mappings":";;;;AAQA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,cAAc,EACtB,YAAY,2CAA2C,EACvD,UAAUC,qBAAW,EACrB,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,eAAe,sBAAsB,KAAK,EACjD,OAAO,YAAY,qBAAqB,KAAK,EAC7C,OAAO,IAAI,SAASC,kBAAU,gBAAgB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC;AACxE;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/plugin/build-command/command.ts"],"sourcesContent":["import { forceOption } from '../../../utils/commander';\nimport type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi plugin:build`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:build')\n .description('Bundle your strapi plugin for publishing.')\n .addOption(forceOption)\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .option('--sourcemap', 'produce sourcemaps', false)\n .option('--minify', 'minify the output', false)\n .action((...args) => runAction('plugin:build', action)(...args, ctx));\n};\n\nexport default command;\n"],"names":["command","forceOption","runAction"],"mappings":";;;;AAQA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,cAAc,EACtB,YAAY,2CAA2C,EACvD,UAAUC,UAAAA,WAAW,EACrB,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,eAAe,sBAAsB,KAAK,EACjD,OAAO,YAAY,qBAAqB,KAAK,EAC7C,OAAO,IAAI,SAASC,QAAAA,UAAU,gBAAgB,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC;AACxE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/init/action.ts"],"sourcesContent":["import path from 'node:path';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport getLatestVersion from 'get-latest-version';\nimport gitUrlParse from 'git-url-parse';\nimport {\n InitOptions,\n definePackageFeature,\n definePackageOption,\n defineTemplate,\n init,\n TemplateFile,\n} from '@strapi/pack-up';\nimport { outdent } from 'outdent';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\n\nimport { CLIContext } from '../../../types';\nimport { gitIgnoreFile } from './files/gitIgnore';\n\ninterface ActionOptions extends Pick<InitOptions, 'silent' | 'debug'> {}\n\nexport default async (\n packagePath: string,\n { silent, debug }: ActionOptions,\n { logger, cwd }: CLIContext\n) => {\n try {\n /**\n * Notify users this is an experimental command. We don't need to get them to approve first.\n */\n await notifyExperimentalCommand('plugin:init', { force: true });\n\n /**\n * Create the package // plugin\n */\n await init({\n path: packagePath,\n cwd,\n silent,\n debug,\n template: PLUGIN_TEMPLATE,\n });\n\n logger.info(\"Don't forget to enable your plugin in your configuration files.\");\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n logger.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n\nconst PACKAGE_NAME_REGEXP = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i;\n\ninterface PackageExport {\n types?: string;\n require: string;\n import: string;\n source: string;\n default: string;\n}\n\ninterface PluginPackageJson {\n name?: string;\n description?: string;\n version?: string;\n keywords?: string[];\n type: 'commonjs';\n license?: string;\n repository?: {\n type: 'git';\n url: string;\n };\n bugs?: {\n url: string;\n };\n homepage?: string;\n author?: string;\n exports: {\n './strapi-admin'?: PackageExport;\n './strapi-server'?: PackageExport;\n './package.json': `${string}.json`;\n };\n files: string[];\n scripts: Record<string, string>;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n peerDependencies: Record<string, string>;\n strapi: {\n name?: string;\n displayName?: string;\n description?: string;\n kind: 'plugin';\n };\n}\n\nconst PLUGIN_TEMPLATE = defineTemplate(async ({ logger, gitConfig, packagePath }) => {\n let repo: {\n source?: string;\n owner?: string;\n name?: string;\n };\n\n const [packageFolder] = packagePath.split(path.sep).slice(-1);\n\n return {\n prompts: [\n definePackageOption({\n name: 'repo',\n type: 'text',\n message: 'git url',\n validate(v: string) {\n if (!v) {\n return true;\n }\n\n try {\n const result = gitUrlParse(v);\n\n repo = { source: result.source, owner: result.owner, name: result.name };\n\n return true;\n } catch (err) {\n return 'invalid git url';\n }\n },\n }),\n definePackageOption({\n name: 'pkgName',\n type: 'text',\n message: 'plugin name',\n initial: () => repo?.name ?? '',\n validate(v: string) {\n if (!v) {\n return 'package name is required';\n }\n\n const match = PACKAGE_NAME_REGEXP.exec(v);\n\n if (!match) {\n return 'invalid package name';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'displayName',\n type: 'text',\n message: 'plugin display name',\n }),\n definePackageOption({\n name: 'description',\n type: 'text',\n message: 'plugin description',\n }),\n definePackageOption({\n name: 'authorName',\n type: 'text',\n message: 'plugin author name',\n initial: gitConfig?.user?.name,\n }),\n definePackageOption({\n name: 'authorEmail',\n type: 'text',\n message: 'plugin author email',\n initial: gitConfig?.user?.email,\n }),\n definePackageOption({\n name: 'license',\n type: 'text',\n message: 'plugin license',\n initial: 'MIT',\n validate(v: string) {\n if (!v) {\n return 'license is required';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'client-code',\n type: 'confirm',\n message: 'register with the admin panel?',\n initial: true,\n }),\n definePackageOption({\n name: 'server-code',\n type: 'confirm',\n message: 'register with the server?',\n initial: true,\n }),\n definePackageFeature({\n name: 'editorconfig',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'eslint',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'prettier',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'typescript',\n initial: true,\n optional: true,\n }),\n ],\n async getFiles(answers) {\n const author: string[] = [];\n\n const files: TemplateFile[] = [];\n\n // package.json\n const pkgJson: PluginPackageJson = {\n version: '0.0.0',\n keywords: [],\n type: 'commonjs',\n exports: {\n './package.json': './package.json',\n },\n files: ['dist'],\n scripts: {\n build: 'strapi plugin:build',\n watch: 'strapi plugin:watch',\n 'watch:link': 'strapi plugin:watch:link',\n verify: 'strapi plugin:verify',\n },\n dependencies: {},\n devDependencies: {\n /**\n * We set * as a default version, but further down\n * we try to resolve each package to their latest\n * version, failing that we leave the fallback of *.\n */\n '@strapi/strapi': '*',\n prettier: '*',\n },\n peerDependencies: {\n '@strapi/strapi': '^4.0.0',\n },\n strapi: {\n kind: 'plugin',\n },\n };\n\n if (Array.isArray(answers)) {\n for (const ans of answers) {\n const { name, answer } = ans;\n\n switch (name) {\n case 'pkgName': {\n pkgJson.name = String(answer);\n pkgJson.strapi.name = String(answer);\n break;\n }\n case 'description': {\n pkgJson.description = String(answer) ?? undefined;\n pkgJson.strapi.description = String(answer) ?? undefined;\n break;\n }\n case 'displayName': {\n pkgJson.strapi.displayName = String(answer) ?? undefined;\n break;\n }\n case 'authorName': {\n author.push(String(answer));\n break;\n }\n case 'authorEmail': {\n if (answer) {\n author.push(`<${answer}>`);\n }\n break;\n }\n case 'license': {\n pkgJson.license = String(answer);\n break;\n }\n case 'client-code': {\n if (answer) {\n pkgJson.exports['./strapi-admin'] = {\n source: './admin/src/index.js',\n import: './dist/admin/index.mjs',\n require: './dist/admin/index.js',\n default: './dist/admin/index.js',\n };\n\n pkgJson.dependencies = {\n ...pkgJson.dependencies,\n '@strapi/helper-plugin': '*',\n '@strapi/design-system': '*',\n '@strapi/icons': '*',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n react: '*',\n 'react-dom': '*',\n 'react-router-dom': '5.3.4',\n 'styled-components': '5.3.3',\n };\n\n pkgJson.peerDependencies = {\n ...pkgJson.peerDependencies,\n react: '^17.0.0 || ^18.0.0',\n 'react-dom': '^17.0.0 || ^18.0.0',\n 'react-router-dom': '5.2.0',\n 'styled-components': '5.2.1',\n };\n }\n\n break;\n }\n case 'server-code': {\n if (answer) {\n pkgJson.exports['./strapi-server'] = {\n source: './server/src/index.js',\n import: './dist/server/index.mjs',\n require: './dist/server/index.js',\n default: './dist/server/index.js',\n };\n\n pkgJson.files.push('./strapi-server.js');\n\n files.push({\n name: 'strapi-server.js',\n contents: outdent`\n 'use strict';\n \n module.exports = require('./dist/server');\n `,\n });\n }\n\n break;\n }\n case 'typescript': {\n const isTypescript = Boolean(answer);\n\n if (isTypescript) {\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n pkgJson.exports['./strapi-admin'].source = './admin/src/index.ts';\n\n pkgJson.exports['./strapi-admin'] = {\n types: './dist/admin/src/index.d.ts',\n ...pkgJson.exports['./strapi-admin'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:front': 'run -T tsc -p admin/tsconfig.json',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@types/react': '*',\n '@types/react-dom': '*',\n '@types/react-router-dom': '5.3.3',\n '@types/styled-components': '5.1.32',\n };\n\n const { adminTsconfigFiles } = await import('./files/typescript');\n\n files.push(adminTsconfigFiles.tsconfigBuildFile, adminTsconfigFiles.tsconfigFile);\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n pkgJson.exports['./strapi-server'].source = './server/src/index.ts';\n\n pkgJson.exports['./strapi-server'] = {\n types: './dist/server/src/index.d.ts',\n ...pkgJson.exports['./strapi-server'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:back': 'run -T tsc -p server/tsconfig.json',\n };\n\n const { serverTsconfigFiles } = await import('./files/typescript');\n\n files.push(\n serverTsconfigFiles.tsconfigBuildFile,\n serverTsconfigFiles.tsconfigFile\n );\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@strapi/typescript-utils': '*',\n typescript: '*',\n };\n }\n\n /**\n * This is where we add all the source files regardless\n * of whether they are typescript or javascript.\n */\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n files.push({\n name: isTypescript ? 'admin/src/pluginId.ts' : 'admin/src/pluginId.js',\n contents: outdent`\n export const PLUGIN_ID = '${pkgJson.name!.replace(/^strapi-plugin-/i, '')}';\n `,\n });\n\n if (isTypescript) {\n const { adminTypescriptFiles } = await import('./files/admin');\n\n files.push(...adminTypescriptFiles);\n } else {\n const { adminJavascriptFiles } = await import('./files/admin');\n\n files.push(...adminJavascriptFiles);\n }\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n if (isTypescript) {\n const { serverTypescriptFiles } = await import('./files/server');\n\n files.push(...serverTypescriptFiles(packageFolder));\n } else {\n const { serverJavascriptFiles } = await import('./files/server');\n\n files.push(...serverJavascriptFiles(packageFolder));\n }\n }\n\n break;\n }\n case 'eslint': {\n if (answer) {\n const { eslintIgnoreFile } = await import('./files/eslint');\n\n files.push(eslintIgnoreFile);\n }\n\n break;\n }\n case 'prettier': {\n if (answer) {\n const { prettierFile, prettierIgnoreFile } = await import('./files/prettier');\n\n files.push(prettierFile, prettierIgnoreFile);\n }\n break;\n }\n case 'editorconfig': {\n if (answer) {\n const { editorConfigFile } = await import('./files/editorConfig');\n\n files.push(editorConfigFile);\n }\n break;\n }\n default:\n break;\n }\n }\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n };\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n };\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`;\n }\n\n pkgJson.author = author.filter(Boolean).join(' ') ?? undefined;\n\n try {\n pkgJson.devDependencies = await resolveLatestVerisonOfDeps(pkgJson.devDependencies);\n pkgJson.dependencies = await resolveLatestVerisonOfDeps(pkgJson.dependencies);\n pkgJson.peerDependencies = await resolveLatestVerisonOfDeps(pkgJson.peerDependencies);\n } catch (err) {\n if (err instanceof Error) {\n logger.error(err.message);\n } else {\n logger.error(err);\n }\n }\n\n files.push({\n name: 'package.json',\n contents: outdent`\n ${JSON.stringify(pkgJson, null, 2)}\n `,\n });\n\n files.push({\n name: 'README.md',\n contents: outdent`\n # ${pkgJson.name}\n\n ${pkgJson.description ?? ''}\n `,\n });\n\n files.push(gitIgnoreFile);\n\n return files;\n },\n };\n});\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n Boolean(value) && !Array.isArray(value) && typeof value === 'object';\n\nconst resolveLatestVerisonOfDeps = async (\n deps: Record<string, string>\n): Promise<Record<string, string>> => {\n const latestDeps: Record<string, string> = {};\n\n for (const [name, version] of Object.entries(deps)) {\n try {\n const latestVersion = await getLatestVersion(name, version);\n latestDeps[name] = latestVersion ? `^${latestVersion}` : '*';\n } catch (err) {\n latestDeps[name] = '*';\n }\n }\n\n return latestDeps;\n};\n"],"names":["notifyExperimentalCommand","init","chalk","boxen","defineTemplate","path","definePackageOption","gitUrlParse","definePackageFeature","outdent","gitIgnoreFile","getLatestVersion"],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/init/action.ts"],"sourcesContent":["import path from 'node:path';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport getLatestVersion from 'get-latest-version';\nimport gitUrlParse from 'git-url-parse';\nimport {\n InitOptions,\n definePackageFeature,\n definePackageOption,\n defineTemplate,\n init,\n TemplateFile,\n} from '@strapi/pack-up';\nimport { outdent } from 'outdent';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\n\nimport { CLIContext } from '../../../types';\nimport { gitIgnoreFile } from './files/gitIgnore';\n\ninterface ActionOptions extends Pick<InitOptions, 'silent' | 'debug'> {}\n\nexport default async (\n packagePath: string,\n { silent, debug }: ActionOptions,\n { logger, cwd }: CLIContext\n) => {\n try {\n /**\n * Notify users this is an experimental command. We don't need to get them to approve first.\n */\n await notifyExperimentalCommand('plugin:init', { force: true });\n\n /**\n * Create the package // plugin\n */\n await init({\n path: packagePath,\n cwd,\n silent,\n debug,\n template: PLUGIN_TEMPLATE,\n });\n\n logger.info(\"Don't forget to enable your plugin in your configuration files.\");\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n logger.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n\nconst PACKAGE_NAME_REGEXP = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i;\n\ninterface PackageExport {\n types?: string;\n require: string;\n import: string;\n source: string;\n default: string;\n}\n\ninterface PluginPackageJson {\n name?: string;\n description?: string;\n version?: string;\n keywords?: string[];\n type: 'commonjs';\n license?: string;\n repository?: {\n type: 'git';\n url: string;\n };\n bugs?: {\n url: string;\n };\n homepage?: string;\n author?: string;\n exports: {\n './strapi-admin'?: PackageExport;\n './strapi-server'?: PackageExport;\n './package.json': `${string}.json`;\n };\n files: string[];\n scripts: Record<string, string>;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n peerDependencies: Record<string, string>;\n strapi: {\n name?: string;\n displayName?: string;\n description?: string;\n kind: 'plugin';\n };\n}\n\nconst PLUGIN_TEMPLATE = defineTemplate(async ({ logger, gitConfig, packagePath }) => {\n let repo: {\n source?: string;\n owner?: string;\n name?: string;\n };\n\n const [packageFolder] = packagePath.split(path.sep).slice(-1);\n\n return {\n prompts: [\n definePackageOption({\n name: 'repo',\n type: 'text',\n message: 'git url',\n validate(v: string) {\n if (!v) {\n return true;\n }\n\n try {\n const result = gitUrlParse(v);\n\n repo = { source: result.source, owner: result.owner, name: result.name };\n\n return true;\n } catch (err) {\n return 'invalid git url';\n }\n },\n }),\n definePackageOption({\n name: 'pkgName',\n type: 'text',\n message: 'plugin name',\n initial: () => repo?.name ?? '',\n validate(v: string) {\n if (!v) {\n return 'package name is required';\n }\n\n const match = PACKAGE_NAME_REGEXP.exec(v);\n\n if (!match) {\n return 'invalid package name';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'displayName',\n type: 'text',\n message: 'plugin display name',\n }),\n definePackageOption({\n name: 'description',\n type: 'text',\n message: 'plugin description',\n }),\n definePackageOption({\n name: 'authorName',\n type: 'text',\n message: 'plugin author name',\n initial: gitConfig?.user?.name,\n }),\n definePackageOption({\n name: 'authorEmail',\n type: 'text',\n message: 'plugin author email',\n initial: gitConfig?.user?.email,\n }),\n definePackageOption({\n name: 'license',\n type: 'text',\n message: 'plugin license',\n initial: 'MIT',\n validate(v: string) {\n if (!v) {\n return 'license is required';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'client-code',\n type: 'confirm',\n message: 'register with the admin panel?',\n initial: true,\n }),\n definePackageOption({\n name: 'server-code',\n type: 'confirm',\n message: 'register with the server?',\n initial: true,\n }),\n definePackageFeature({\n name: 'editorconfig',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'eslint',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'prettier',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'typescript',\n initial: true,\n optional: true,\n }),\n ],\n async getFiles(answers) {\n const author: string[] = [];\n\n const files: TemplateFile[] = [];\n\n // package.json\n const pkgJson: PluginPackageJson = {\n version: '0.0.0',\n keywords: [],\n type: 'commonjs',\n exports: {\n './package.json': './package.json',\n },\n files: ['dist'],\n scripts: {\n build: 'strapi plugin:build',\n watch: 'strapi plugin:watch',\n 'watch:link': 'strapi plugin:watch:link',\n verify: 'strapi plugin:verify',\n },\n dependencies: {},\n devDependencies: {\n /**\n * We set * as a default version, but further down\n * we try to resolve each package to their latest\n * version, failing that we leave the fallback of *.\n */\n '@strapi/strapi': '*',\n prettier: '*',\n },\n peerDependencies: {\n '@strapi/strapi': '^4.0.0',\n },\n strapi: {\n kind: 'plugin',\n },\n };\n\n if (Array.isArray(answers)) {\n for (const ans of answers) {\n const { name, answer } = ans;\n\n switch (name) {\n case 'pkgName': {\n pkgJson.name = String(answer);\n pkgJson.strapi.name = String(answer);\n break;\n }\n case 'description': {\n pkgJson.description = String(answer) ?? undefined;\n pkgJson.strapi.description = String(answer) ?? undefined;\n break;\n }\n case 'displayName': {\n pkgJson.strapi.displayName = String(answer) ?? undefined;\n break;\n }\n case 'authorName': {\n author.push(String(answer));\n break;\n }\n case 'authorEmail': {\n if (answer) {\n author.push(`<${answer}>`);\n }\n break;\n }\n case 'license': {\n pkgJson.license = String(answer);\n break;\n }\n case 'client-code': {\n if (answer) {\n pkgJson.exports['./strapi-admin'] = {\n source: './admin/src/index.js',\n import: './dist/admin/index.mjs',\n require: './dist/admin/index.js',\n default: './dist/admin/index.js',\n };\n\n pkgJson.dependencies = {\n ...pkgJson.dependencies,\n '@strapi/helper-plugin': '*',\n '@strapi/design-system': '*',\n '@strapi/icons': '*',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n react: '*',\n 'react-dom': '*',\n 'react-router-dom': '5.3.4',\n 'styled-components': '5.3.3',\n };\n\n pkgJson.peerDependencies = {\n ...pkgJson.peerDependencies,\n react: '^17.0.0 || ^18.0.0',\n 'react-dom': '^17.0.0 || ^18.0.0',\n 'react-router-dom': '5.2.0',\n 'styled-components': '5.2.1',\n };\n }\n\n break;\n }\n case 'server-code': {\n if (answer) {\n pkgJson.exports['./strapi-server'] = {\n source: './server/src/index.js',\n import: './dist/server/index.mjs',\n require: './dist/server/index.js',\n default: './dist/server/index.js',\n };\n\n pkgJson.files.push('./strapi-server.js');\n\n files.push({\n name: 'strapi-server.js',\n contents: outdent`\n 'use strict';\n \n module.exports = require('./dist/server');\n `,\n });\n }\n\n break;\n }\n case 'typescript': {\n const isTypescript = Boolean(answer);\n\n if (isTypescript) {\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n pkgJson.exports['./strapi-admin'].source = './admin/src/index.ts';\n\n pkgJson.exports['./strapi-admin'] = {\n types: './dist/admin/src/index.d.ts',\n ...pkgJson.exports['./strapi-admin'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:front': 'run -T tsc -p admin/tsconfig.json',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@types/react': '*',\n '@types/react-dom': '*',\n '@types/react-router-dom': '5.3.3',\n '@types/styled-components': '5.1.32',\n };\n\n const { adminTsconfigFiles } = await import('./files/typescript');\n\n files.push(adminTsconfigFiles.tsconfigBuildFile, adminTsconfigFiles.tsconfigFile);\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n pkgJson.exports['./strapi-server'].source = './server/src/index.ts';\n\n pkgJson.exports['./strapi-server'] = {\n types: './dist/server/src/index.d.ts',\n ...pkgJson.exports['./strapi-server'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:back': 'run -T tsc -p server/tsconfig.json',\n };\n\n const { serverTsconfigFiles } = await import('./files/typescript');\n\n files.push(\n serverTsconfigFiles.tsconfigBuildFile,\n serverTsconfigFiles.tsconfigFile\n );\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@strapi/typescript-utils': '*',\n typescript: '*',\n };\n }\n\n /**\n * This is where we add all the source files regardless\n * of whether they are typescript or javascript.\n */\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n files.push({\n name: isTypescript ? 'admin/src/pluginId.ts' : 'admin/src/pluginId.js',\n contents: outdent`\n export const PLUGIN_ID = '${pkgJson.name!.replace(/^strapi-plugin-/i, '')}';\n `,\n });\n\n if (isTypescript) {\n const { adminTypescriptFiles } = await import('./files/admin');\n\n files.push(...adminTypescriptFiles);\n } else {\n const { adminJavascriptFiles } = await import('./files/admin');\n\n files.push(...adminJavascriptFiles);\n }\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n if (isTypescript) {\n const { serverTypescriptFiles } = await import('./files/server');\n\n files.push(...serverTypescriptFiles(packageFolder));\n } else {\n const { serverJavascriptFiles } = await import('./files/server');\n\n files.push(...serverJavascriptFiles(packageFolder));\n }\n }\n\n break;\n }\n case 'eslint': {\n if (answer) {\n const { eslintIgnoreFile } = await import('./files/eslint');\n\n files.push(eslintIgnoreFile);\n }\n\n break;\n }\n case 'prettier': {\n if (answer) {\n const { prettierFile, prettierIgnoreFile } = await import('./files/prettier');\n\n files.push(prettierFile, prettierIgnoreFile);\n }\n break;\n }\n case 'editorconfig': {\n if (answer) {\n const { editorConfigFile } = await import('./files/editorConfig');\n\n files.push(editorConfigFile);\n }\n break;\n }\n default:\n break;\n }\n }\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n };\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n };\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`;\n }\n\n pkgJson.author = author.filter(Boolean).join(' ') ?? undefined;\n\n try {\n pkgJson.devDependencies = await resolveLatestVerisonOfDeps(pkgJson.devDependencies);\n pkgJson.dependencies = await resolveLatestVerisonOfDeps(pkgJson.dependencies);\n pkgJson.peerDependencies = await resolveLatestVerisonOfDeps(pkgJson.peerDependencies);\n } catch (err) {\n if (err instanceof Error) {\n logger.error(err.message);\n } else {\n logger.error(err);\n }\n }\n\n files.push({\n name: 'package.json',\n contents: outdent`\n ${JSON.stringify(pkgJson, null, 2)}\n `,\n });\n\n files.push({\n name: 'README.md',\n contents: outdent`\n # ${pkgJson.name}\n\n ${pkgJson.description ?? ''}\n `,\n });\n\n files.push(gitIgnoreFile);\n\n return files;\n },\n };\n});\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n Boolean(value) && !Array.isArray(value) && typeof value === 'object';\n\nconst resolveLatestVerisonOfDeps = async (\n deps: Record<string, string>\n): Promise<Record<string, string>> => {\n const latestDeps: Record<string, string> = {};\n\n for (const [name, version] of Object.entries(deps)) {\n try {\n const latestVersion = await getLatestVersion(name, version);\n latestDeps[name] = latestVersion ? `^${latestVersion}` : '*';\n } catch (err) {\n latestDeps[name] = '*';\n }\n }\n\n return latestDeps;\n};\n"],"names":["notifyExperimentalCommand","init","chalk","boxen","defineTemplate","path","definePackageOption","gitUrlParse","definePackageFeature","outdent","gitIgnoreFile","getLatestVersion"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/plugin/init/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport action from './action';\n\n/**\n * `$ strapi plugin:init`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:init')\n .description('Create a new plugin at a given path')\n .argument('[path]', 'path to the plugin', './src/plugins/my-plugin')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .action((path, options) => {\n return action(path, options, ctx);\n });\n};\n\nexport default command;\n"],"names":["command"],"mappings":";;AAMA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,aAAa,EACrB,YAAY,qCAAqC,EACjD,SAAS,UAAU,sBAAsB,yBAAyB,EAClE,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,CAAC,MAAM,YAAY;AAClB,WAAA,OAAO,MAAM,SAAS,GAAG;AAAA,EAAA,CACjC;AACL;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/plugin/init/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport action from './action';\n\n/**\n * `$ strapi plugin:init`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:init')\n .description('Create a new plugin at a given path')\n .argument('[path]', 'path to the plugin', './src/plugins/my-plugin')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .action((path, options) => {\n return action(path, options, ctx);\n });\n};\n\nexport default command;\n"],"names":["command"],"mappings":";;AAMA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,aAAa,EACrB,YAAY,qCAAqC,EACjD,SAAS,UAAU,sBAAsB,yBAAyB,EAClE,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,CAAC,MAAM,YAAY;AACzB,WAAO,OAAO,MAAM,SAAS,GAAG;AAAA,EAClC,CAAC;AACL;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sources":["../../../../../../src/commands/actions/plugin/init/files/admin.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\nconst PLUGIN_ICON_CODE = outdent`\nimport { Puzzle } from '@strapi/icons';\n\nconst PluginIcon = () => <Puzzle />;\n\nexport { PluginIcon };\n`;\n\nconst APP_CODE = outdent`\nimport { AnErrorOccurred } from '@strapi/helper-plugin';\nimport { Switch, Route } from 'react-router-dom';\n\nimport { PLUGIN_ID } from '../pluginId';\n\nimport { HomePage } from './HomePage';\n\nconst App = () => {\n return (\n <Switch>\n <Route path={\\`/plugins/\\${PLUGIN_ID}\\`} component={HomePage} exact />\n <Route component={AnErrorOccurred} />\n </Switch>\n );\n};\n\nexport { App };\n`;\n\nconst HOMEPAGE_CODE = outdent`\n import { Main } from '@strapi/design-system';\n import { useIntl } from 'react-intl';\n\n import { getTranslation } from '../utils/getTranslation';\n\n const HomePage = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Main>\n <h1>Welcome to {formatMessage({ id: getTranslation(\"plugin.name\") })}</h1>\n </Main>\n )\n }\n\n export { HomePage };\n`;\n\nconst TYPESCRIPT: TemplateFile[] = [\n {\n name: 'admin/src/index.ts',\n contents: outdent`\n import { prefixPluginTranslations } from '@strapi/helper-plugin';\n import { PLUGIN_ID } from './pluginId';\n import { Initializer } from './components/Initializer';\n import { PluginIcon } from './components/PluginIcon';\n \n export default {\n register(app: any) {\n app.addMenuLink({\n to: \\`/plugins/\\${PLUGIN_ID}\\`,\n icon: PluginIcon,\n intlLabel: {\n id: \\`\\${PLUGIN_ID}.plugin.name\\`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n \n return App;\n },\n });\n \n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n \n async registerTrads(app: any) {\n const { locales } = app;\n \n const importedTranslations = await Promise.all(\n (locales as string[]).map((locale) => {\n return import(\\`./translations/\\${locale}.json\\`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n \n return importedTranslations;\n },\n };\n `,\n },\n {\n name: 'admin/src/components/PluginIcon.tsx',\n contents: PLUGIN_ICON_CODE,\n },\n {\n name: 'admin/src/components/Initializer.tsx',\n contents: outdent`\n import { useEffect, useRef } from 'react';\n\n import { PLUGIN_ID } from '../pluginId';\n \n type InitializerProps = {\n setPlugin: (id: string) => void;\n };\n \n const Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n \n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n \n return null;\n };\n \n export { Initializer };\n `,\n },\n {\n name: 'admin/src/pages/App.tsx',\n contents: APP_CODE,\n },\n {\n name: 'admin/src/pages/HomePage.tsx',\n contents: HOMEPAGE_CODE,\n },\n {\n name: 'admin/src/utils/getTranslation.ts',\n contents: outdent`\n import { PLUGIN_ID } from '../pluginId';\n\n const getTranslation = (id: string) => \\`\\${PLUGIN_ID}.\\${id}\\`;\n\n export { getTranslation };\n `,\n },\n {\n name: 'admin/src/translations/en.json',\n contents: outdent`\n {}\n `,\n },\n {\n /**\n * TODO: remove this when we release design-system V2\n */\n name: 'admin/custom.d.ts',\n contents: outdent`\n declare module '@strapi/design-system/*';\n declare module '@strapi/design-system';\n `,\n },\n];\n\nconst JAVASCRIPT: TemplateFile[] = [\n {\n name: 'admin/src/index.js',\n contents: outdent`\n import { prefixPluginTranslations } from '@strapi/helper-plugin';\n import { PLUGIN_ID } from './pluginId';\n import { Initializer } from './components/Initializer';\n import { PluginIcon } from './components/PluginIcon';\n \n export default {\n register(app) {\n app.addMenuLink({\n to: \\`/plugins/\\${PluginIcon}\\`,\n icon: PluginIcon,\n intlLabel: {\n id: \\`\\${PLUGIN_ID}.plugin.name\\`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n \n return App;\n },\n });\n \n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n \n async registerTrads(app) {\n const { locales } = app;\n \n const importedTranslations = await Promise.all(\n locales.map((locale) => {\n return import(\\`./translations/\\${locale}.json\\`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n \n return importedTranslations;\n },\n };\n `,\n },\n {\n name: 'admin/src/components/PluginIcon.jsx',\n contents: PLUGIN_ICON_CODE,\n },\n {\n name: 'admin/src/components/Initializer.jsx',\n contents: outdent`\n import { useEffect, useRef } from 'react';\n \n import { PLUGIN_ID } from '../pluginId';\n \n /**\n * @type {import('react').FC<{ setPlugin: (id: string) => void }>}\n */ \n const Initializer = ({ setPlugin }) => {\n const ref = useRef(setPlugin);\n \n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n \n return null;\n };\n \n export { Initializer };\n `,\n },\n {\n name: 'admin/src/pages/App.jsx',\n contents: APP_CODE,\n },\n {\n name: 'admin/src/pages/HomePage.jsx',\n contents: HOMEPAGE_CODE,\n },\n {\n name: 'admin/src/utils/getTranslation.js',\n contents: outdent`\n import { PLUGIN_ID } from '../pluginId';\n \n const getTranslation = (id) => \\`\\${PLUGIN_ID}.\\${id}\\`;\n \n export { getTranslation };\n `,\n },\n {\n name: 'admin/src/translations/en.json',\n contents: outdent`\n {}\n `,\n },\n];\n\nexport { TYPESCRIPT as adminTypescriptFiles, JAVASCRIPT as adminJavascriptFiles };\n"],"names":["outdent"],"mappings":";;;AAGA,MAAM,mBAAmBA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAQzB,MAAM,WAAWA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAoBjB,MAAM,gBAAgBA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAmBtB,MAAM,aAA6B;AAAA,EACjC;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAuDZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAqBZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAOZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA,EAGZ;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,IAIE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAIZ;AACF;AAEA,MAAM,aAA6B;AAAA,EACjC;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAuDZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAoBZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAOZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA,EAGZ;AACF;;;"}
1
+ {"version":3,"file":"admin.js","sources":["../../../../../../src/commands/actions/plugin/init/files/admin.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\nconst PLUGIN_ICON_CODE = outdent`\nimport { Puzzle } from '@strapi/icons';\n\nconst PluginIcon = () => <Puzzle />;\n\nexport { PluginIcon };\n`;\n\nconst APP_CODE = outdent`\nimport { AnErrorOccurred } from '@strapi/helper-plugin';\nimport { Switch, Route } from 'react-router-dom';\n\nimport { PLUGIN_ID } from '../pluginId';\n\nimport { HomePage } from './HomePage';\n\nconst App = () => {\n return (\n <Switch>\n <Route path={\\`/plugins/\\${PLUGIN_ID}\\`} component={HomePage} exact />\n <Route component={AnErrorOccurred} />\n </Switch>\n );\n};\n\nexport { App };\n`;\n\nconst HOMEPAGE_CODE = outdent`\n import { Main } from '@strapi/design-system';\n import { useIntl } from 'react-intl';\n\n import { getTranslation } from '../utils/getTranslation';\n\n const HomePage = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Main>\n <h1>Welcome to {formatMessage({ id: getTranslation(\"plugin.name\") })}</h1>\n </Main>\n )\n }\n\n export { HomePage };\n`;\n\nconst TYPESCRIPT: TemplateFile[] = [\n {\n name: 'admin/src/index.ts',\n contents: outdent`\n import { prefixPluginTranslations } from '@strapi/helper-plugin';\n import { PLUGIN_ID } from './pluginId';\n import { Initializer } from './components/Initializer';\n import { PluginIcon } from './components/PluginIcon';\n \n export default {\n register(app: any) {\n app.addMenuLink({\n to: \\`/plugins/\\${PLUGIN_ID}\\`,\n icon: PluginIcon,\n intlLabel: {\n id: \\`\\${PLUGIN_ID}.plugin.name\\`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n \n return App;\n },\n });\n \n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n \n async registerTrads(app: any) {\n const { locales } = app;\n \n const importedTranslations = await Promise.all(\n (locales as string[]).map((locale) => {\n return import(\\`./translations/\\${locale}.json\\`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n \n return importedTranslations;\n },\n };\n `,\n },\n {\n name: 'admin/src/components/PluginIcon.tsx',\n contents: PLUGIN_ICON_CODE,\n },\n {\n name: 'admin/src/components/Initializer.tsx',\n contents: outdent`\n import { useEffect, useRef } from 'react';\n\n import { PLUGIN_ID } from '../pluginId';\n \n type InitializerProps = {\n setPlugin: (id: string) => void;\n };\n \n const Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n \n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n \n return null;\n };\n \n export { Initializer };\n `,\n },\n {\n name: 'admin/src/pages/App.tsx',\n contents: APP_CODE,\n },\n {\n name: 'admin/src/pages/HomePage.tsx',\n contents: HOMEPAGE_CODE,\n },\n {\n name: 'admin/src/utils/getTranslation.ts',\n contents: outdent`\n import { PLUGIN_ID } from '../pluginId';\n\n const getTranslation = (id: string) => \\`\\${PLUGIN_ID}.\\${id}\\`;\n\n export { getTranslation };\n `,\n },\n {\n name: 'admin/src/translations/en.json',\n contents: outdent`\n {}\n `,\n },\n {\n /**\n * TODO: remove this when we release design-system V2\n */\n name: 'admin/custom.d.ts',\n contents: outdent`\n declare module '@strapi/design-system/*';\n declare module '@strapi/design-system';\n `,\n },\n];\n\nconst JAVASCRIPT: TemplateFile[] = [\n {\n name: 'admin/src/index.js',\n contents: outdent`\n import { prefixPluginTranslations } from '@strapi/helper-plugin';\n import { PLUGIN_ID } from './pluginId';\n import { Initializer } from './components/Initializer';\n import { PluginIcon } from './components/PluginIcon';\n \n export default {\n register(app) {\n app.addMenuLink({\n to: \\`/plugins/\\${PluginIcon}\\`,\n icon: PluginIcon,\n intlLabel: {\n id: \\`\\${PLUGIN_ID}.plugin.name\\`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n \n return App;\n },\n });\n \n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n \n async registerTrads(app) {\n const { locales } = app;\n \n const importedTranslations = await Promise.all(\n locales.map((locale) => {\n return import(\\`./translations/\\${locale}.json\\`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n \n return importedTranslations;\n },\n };\n `,\n },\n {\n name: 'admin/src/components/PluginIcon.jsx',\n contents: PLUGIN_ICON_CODE,\n },\n {\n name: 'admin/src/components/Initializer.jsx',\n contents: outdent`\n import { useEffect, useRef } from 'react';\n \n import { PLUGIN_ID } from '../pluginId';\n \n /**\n * @type {import('react').FC<{ setPlugin: (id: string) => void }>}\n */ \n const Initializer = ({ setPlugin }) => {\n const ref = useRef(setPlugin);\n \n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n \n return null;\n };\n \n export { Initializer };\n `,\n },\n {\n name: 'admin/src/pages/App.jsx',\n contents: APP_CODE,\n },\n {\n name: 'admin/src/pages/HomePage.jsx',\n contents: HOMEPAGE_CODE,\n },\n {\n name: 'admin/src/utils/getTranslation.js',\n contents: outdent`\n import { PLUGIN_ID } from '../pluginId';\n \n const getTranslation = (id) => \\`\\${PLUGIN_ID}.\\${id}\\`;\n \n export { getTranslation };\n `,\n },\n {\n name: 'admin/src/translations/en.json',\n contents: outdent`\n {}\n `,\n },\n];\n\nexport { TYPESCRIPT as adminTypescriptFiles, JAVASCRIPT as adminJavascriptFiles };\n"],"names":["outdent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":["../../../../../../src/commands/actions/plugin/init/files/server.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\nconst TYPESCRIPT = (pluginName: string): TemplateFile[] => [\n {\n name: 'server/src/index.ts',\n contents: outdent`\n /**\n * Application methods\n */\n import bootstrap from './bootstrap';\n import destroy from './destroy';\n import register from './register';\n\n /**\n * Plugin server methods\n */\n import config from './config';\n import contentTypes from './content-types';\n import controllers from './controllers';\n import middlewares from './middlewares';\n import policies from './policies';\n import routes from './routes';\n import services from './services';\n \n export default {\n bootstrap,\n destroy,\n register,\n \n config,\n controllers,\n contentTypes,\n middlewares,\n policies,\n routes,\n services,\n };\n `,\n },\n {\n name: 'server/src/bootstrap.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const bootstrap = ({ strapi }: { strapi: Strapi }) => {\n // bootstrap phase\n };\n\n export default bootstrap;\n `,\n },\n {\n name: 'server/src/destroy.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const destroy = ({ strapi }: { strapi: Strapi }) => {\n // destroy phase\n };\n\n export default destroy;\n `,\n },\n {\n name: 'server/src/register.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const register = ({ strapi }: { strapi: Strapi }) => {\n // register phase\n };\n\n export default register;\n `,\n },\n {\n name: 'server/src/config/index.ts',\n contents: outdent`\n export default {\n default: {},\n validator() {},\n };\n `,\n },\n {\n name: 'server/src/content-types/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/controllers/index.ts',\n contents: outdent`\n import controller from './controller';\n\n export default {\n controller,\n };\n `,\n },\n {\n name: 'server/src/controllers/controller.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const controller = ({ strapi }: { strapi: Strapi }) => ({\n index(ctx) {\n ctx.body = strapi\n .plugin('${pluginName}')\n // the name of the service file & the method.\n .service('service')\n .getWelcomeMessage();\n },\n });\n\n export default controller\n `,\n },\n {\n name: 'server/src/middlewares/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/policies/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/routes/index.ts',\n contents: outdent`\n export default [\n {\n method: 'GET',\n path: '/',\n // name of the controller file & the method.\n handler: 'controller.index',\n config: {\n policies: [],\n },\n },\n ];\n `,\n },\n {\n name: 'server/src/services/index.ts',\n contents: outdent`\n import service from './service';\n\n export default {\n service,\n };\n `,\n },\n {\n name: 'server/src/services/service.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const service = ({ strapi }: { strapi: Strapi }) => ({\n getWelcomeMessage() {\n return 'Welcome to Strapi 🚀';\n },\n });\n\n export default service\n `,\n },\n];\n\nconst JAVASCRIPT = (pluginName: string): TemplateFile[] => [\n {\n name: 'server/src/index.ts',\n contents: outdent`\n 'use strict';\n\n /**\n * Application methods\n */\n const bootstrap = require('./bootstrap');\n const destroy = require('./destroy');\n const register = require('./register');\n\n /**\n * Plugin server methods\n */\n const config = require('./config');\n const contentTypes = require('./content-types');\n const controllers = require('./controllers');\n const middlewares = require('./middlewares');\n const policies = require('./policies');\n const routes = require('./routes');\n const services = require('./services');\n\n module.exports = {\n bootstrap,\n destroy,\n register,\n \n config,\n controllers,\n contentTypes,\n middlewares,\n policies,\n routes,\n services,\n };\n `,\n },\n {\n name: 'server/src/bootstrap.ts',\n contents: outdent`\n 'use strict';\n\n const bootstrap = ({ strapi }) => {\n // bootstrap phase\n };\n\n module.exports = bootstrap;\n `,\n },\n {\n name: 'server/src/destroy.ts',\n contents: outdent`\n 'use strict';\n\n const destroy = ({ strapi }) => {\n // destroy phase\n };\n \n module.exports = destroy;\n `,\n },\n {\n name: 'server/src/register.ts',\n contents: outdent`\n 'use strict';\n\n const register = ({ strapi }) => {\n // register phase\n };\n \n module.exports = register;\n `,\n },\n {\n name: 'server/src/config/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {\n default: {},\n validator() {},\n };\n `,\n },\n {\n name: 'server/src/content-types/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/controllers/index.ts',\n contents: outdent`\n 'use strict';\n\n const controller = require('./controller');\n\n module.exports = {\n controller,\n };\n `,\n },\n {\n name: 'server/src/controllers/controller.ts',\n contents: outdent`\n 'use strict';\n\n const controller = ({ strapi }) => ({\n index(ctx) {\n ctx.body = strapi\n .plugin('${pluginName}')\n // the name of the service file & the method.\n .service('service')\n .getWelcomeMessage();\n },\n });\n\n module.exports = controller\n `,\n },\n {\n name: 'server/src/middlewares/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/policies/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/routes/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = [\n {\n method: 'GET',\n path: '/',\n // name of the controller file & the method.\n handler: 'controller.index',\n config: {\n policies: [],\n },\n },\n ];\n `,\n },\n {\n name: 'server/src/services/index.ts',\n contents: outdent`\n 'use strict';\n\n const service = require('./service');\n\n module.exports = {\n service,\n };\n `,\n },\n {\n name: 'server/src/services/service.ts',\n contents: outdent`\n 'use strict';\n\n const service = ({ strapi }) => ({\n getWelcomeMessage() {\n return 'Welcome to Strapi 🚀';\n },\n });\n\n module.exports = service\n `,\n },\n];\n\nexport { TYPESCRIPT as serverTypescriptFiles, JAVASCRIPT as serverJavascriptFiles };\n"],"names":["outdent"],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sources":["../../../../../../src/commands/actions/plugin/init/files/server.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\nconst TYPESCRIPT = (pluginName: string): TemplateFile[] => [\n {\n name: 'server/src/index.ts',\n contents: outdent`\n /**\n * Application methods\n */\n import bootstrap from './bootstrap';\n import destroy from './destroy';\n import register from './register';\n\n /**\n * Plugin server methods\n */\n import config from './config';\n import contentTypes from './content-types';\n import controllers from './controllers';\n import middlewares from './middlewares';\n import policies from './policies';\n import routes from './routes';\n import services from './services';\n \n export default {\n bootstrap,\n destroy,\n register,\n \n config,\n controllers,\n contentTypes,\n middlewares,\n policies,\n routes,\n services,\n };\n `,\n },\n {\n name: 'server/src/bootstrap.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const bootstrap = ({ strapi }: { strapi: Strapi }) => {\n // bootstrap phase\n };\n\n export default bootstrap;\n `,\n },\n {\n name: 'server/src/destroy.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const destroy = ({ strapi }: { strapi: Strapi }) => {\n // destroy phase\n };\n\n export default destroy;\n `,\n },\n {\n name: 'server/src/register.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const register = ({ strapi }: { strapi: Strapi }) => {\n // register phase\n };\n\n export default register;\n `,\n },\n {\n name: 'server/src/config/index.ts',\n contents: outdent`\n export default {\n default: {},\n validator() {},\n };\n `,\n },\n {\n name: 'server/src/content-types/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/controllers/index.ts',\n contents: outdent`\n import controller from './controller';\n\n export default {\n controller,\n };\n `,\n },\n {\n name: 'server/src/controllers/controller.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const controller = ({ strapi }: { strapi: Strapi }) => ({\n index(ctx) {\n ctx.body = strapi\n .plugin('${pluginName}')\n // the name of the service file & the method.\n .service('service')\n .getWelcomeMessage();\n },\n });\n\n export default controller\n `,\n },\n {\n name: 'server/src/middlewares/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/policies/index.ts',\n contents: outdent`\n export default {};\n `,\n },\n {\n name: 'server/src/routes/index.ts',\n contents: outdent`\n export default [\n {\n method: 'GET',\n path: '/',\n // name of the controller file & the method.\n handler: 'controller.index',\n config: {\n policies: [],\n },\n },\n ];\n `,\n },\n {\n name: 'server/src/services/index.ts',\n contents: outdent`\n import service from './service';\n\n export default {\n service,\n };\n `,\n },\n {\n name: 'server/src/services/service.ts',\n contents: outdent`\n import type { Strapi } from '@strapi/strapi';\n\n const service = ({ strapi }: { strapi: Strapi }) => ({\n getWelcomeMessage() {\n return 'Welcome to Strapi 🚀';\n },\n });\n\n export default service\n `,\n },\n];\n\nconst JAVASCRIPT = (pluginName: string): TemplateFile[] => [\n {\n name: 'server/src/index.ts',\n contents: outdent`\n 'use strict';\n\n /**\n * Application methods\n */\n const bootstrap = require('./bootstrap');\n const destroy = require('./destroy');\n const register = require('./register');\n\n /**\n * Plugin server methods\n */\n const config = require('./config');\n const contentTypes = require('./content-types');\n const controllers = require('./controllers');\n const middlewares = require('./middlewares');\n const policies = require('./policies');\n const routes = require('./routes');\n const services = require('./services');\n\n module.exports = {\n bootstrap,\n destroy,\n register,\n \n config,\n controllers,\n contentTypes,\n middlewares,\n policies,\n routes,\n services,\n };\n `,\n },\n {\n name: 'server/src/bootstrap.ts',\n contents: outdent`\n 'use strict';\n\n const bootstrap = ({ strapi }) => {\n // bootstrap phase\n };\n\n module.exports = bootstrap;\n `,\n },\n {\n name: 'server/src/destroy.ts',\n contents: outdent`\n 'use strict';\n\n const destroy = ({ strapi }) => {\n // destroy phase\n };\n \n module.exports = destroy;\n `,\n },\n {\n name: 'server/src/register.ts',\n contents: outdent`\n 'use strict';\n\n const register = ({ strapi }) => {\n // register phase\n };\n \n module.exports = register;\n `,\n },\n {\n name: 'server/src/config/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {\n default: {},\n validator() {},\n };\n `,\n },\n {\n name: 'server/src/content-types/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/controllers/index.ts',\n contents: outdent`\n 'use strict';\n\n const controller = require('./controller');\n\n module.exports = {\n controller,\n };\n `,\n },\n {\n name: 'server/src/controllers/controller.ts',\n contents: outdent`\n 'use strict';\n\n const controller = ({ strapi }) => ({\n index(ctx) {\n ctx.body = strapi\n .plugin('${pluginName}')\n // the name of the service file & the method.\n .service('service')\n .getWelcomeMessage();\n },\n });\n\n module.exports = controller\n `,\n },\n {\n name: 'server/src/middlewares/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/policies/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = {};\n `,\n },\n {\n name: 'server/src/routes/index.ts',\n contents: outdent`\n 'use strict';\n\n module.exports = [\n {\n method: 'GET',\n path: '/',\n // name of the controller file & the method.\n handler: 'controller.index',\n config: {\n policies: [],\n },\n },\n ];\n `,\n },\n {\n name: 'server/src/services/index.ts',\n contents: outdent`\n 'use strict';\n\n const service = require('./service');\n\n module.exports = {\n service,\n };\n `,\n },\n {\n name: 'server/src/services/service.ts',\n contents: outdent`\n 'use strict';\n\n const service = ({ strapi }) => ({\n getWelcomeMessage() {\n return 'Welcome to Strapi 🚀';\n },\n });\n\n module.exports = service\n `,\n },\n];\n\nexport { TYPESCRIPT as serverTypescriptFiles, JAVASCRIPT as serverJavascriptFiles };\n"],"names":["outdent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sources":["../../../../../../src/commands/actions/plugin/init/files/typescript.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\ninterface TsConfigFiles {\n tsconfigFile: TemplateFile;\n tsconfigBuildFile: TemplateFile;\n}\n\nconst ADMIN: TsConfigFiles = {\n tsconfigFile: {\n name: 'admin/tsconfig.json',\n contents: outdent`\n {\n \"extends\": \"@strapi/typescript-utils/tsconfigs/admin\",\n \"include\": [\"./src\", \"./custom.d.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n },\n }\n `,\n },\n tsconfigBuildFile: {\n name: 'admin/tsconfig.build.json',\n contents: outdent`\n {\n \"extends\": \"./tsconfig\",\n \"include\": [\"./src\", \"./custom.d.ts\"],\n \"exclude\": [\"**/*.test.ts\", \"**/*.test.tsx\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n \"outDir\": \"./dist\",\n }\n }\n `,\n },\n};\n\nconst SERVER: TsConfigFiles = {\n tsconfigFile: {\n name: 'server/tsconfig.json',\n contents: outdent`\n {\n \"extends\": \"@strapi/typescript-utils/tsconfigs/server\",\n \"include\": [\"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n },\n }\n `,\n },\n tsconfigBuildFile: {\n name: 'server/tsconfig.build.json',\n contents: outdent`\n {\n \"extends\": \"./tsconfig\",\n \"include\": [\"./src\"],\n \"exclude\": [\"**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n \"outDir\": \"./dist\",\n }\n }\n `,\n },\n};\n\nexport { ADMIN as adminTsconfigFiles, SERVER as serverTsconfigFiles };\n"],"names":["outdent"],"mappings":";;;AAQA,MAAM,QAAuB;AAAA,EAC3B,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAUZ;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAYZ;AACF;AAEA,MAAM,SAAwB;AAAA,EAC5B,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAUZ;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAYZ;AACF;;;"}
1
+ {"version":3,"file":"typescript.js","sources":["../../../../../../src/commands/actions/plugin/init/files/typescript.ts"],"sourcesContent":["import { TemplateFile } from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\ninterface TsConfigFiles {\n tsconfigFile: TemplateFile;\n tsconfigBuildFile: TemplateFile;\n}\n\nconst ADMIN: TsConfigFiles = {\n tsconfigFile: {\n name: 'admin/tsconfig.json',\n contents: outdent`\n {\n \"extends\": \"@strapi/typescript-utils/tsconfigs/admin\",\n \"include\": [\"./src\", \"./custom.d.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n },\n }\n `,\n },\n tsconfigBuildFile: {\n name: 'admin/tsconfig.build.json',\n contents: outdent`\n {\n \"extends\": \"./tsconfig\",\n \"include\": [\"./src\", \"./custom.d.ts\"],\n \"exclude\": [\"**/*.test.ts\", \"**/*.test.tsx\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n \"outDir\": \"./dist\",\n }\n }\n `,\n },\n};\n\nconst SERVER: TsConfigFiles = {\n tsconfigFile: {\n name: 'server/tsconfig.json',\n contents: outdent`\n {\n \"extends\": \"@strapi/typescript-utils/tsconfigs/server\",\n \"include\": [\"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n },\n }\n `,\n },\n tsconfigBuildFile: {\n name: 'server/tsconfig.build.json',\n contents: outdent`\n {\n \"extends\": \"./tsconfig\",\n \"include\": [\"./src\"],\n \"exclude\": [\"**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \"../\",\n \"baseUrl\": \".\",\n \"outDir\": \"./dist\",\n }\n }\n `,\n },\n};\n\nexport { ADMIN as adminTsconfigFiles, SERVER as serverTsconfigFiles };\n"],"names":["outdent"],"mappings":";;;AAQA,MAAM,QAAuB;AAAA,EAC3B,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAAA,EAWZ,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAad;AAEA,MAAM,SAAwB;AAAA,EAC5B,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAAA,EAWZ,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,UAAUA,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAad;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/link-watch/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport concurrently from 'concurrently';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport nodemon from 'nodemon';\nimport { outdent } from 'outdent';\n\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { CLIContext } from '../../../types';\nimport { loadPkg, validatePkg } from '../../../utils/pkg';\n\ninterface ActionOptions {}\n\nexport default async (_opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:watch:link', { force: true });\n\n const outDir = './dist';\n const extensions = 'ts,js,png,svg,gif,jpeg,css';\n\n nodemon({\n watch: [outDir],\n ext: extensions,\n exec: 'yalc push --changed',\n });\n\n const folder = path.join(cwd, outDir);\n\n if (!(await pathExists(folder))) {\n await fs.mkdir(folder);\n }\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n concurrently(['npm run watch']);\n\n nodemon\n .on('start', () => {\n logger.info(\n outdent`\n Watching ${outDir} for changes to files with extensions: ${extensions}\n\n To use this package in Strapi, in a separate shell run:\n cd /path/to/strapi/project\n\n Then run one of the commands below based on the package manager used in that project:\n\n ## yarn\n ${chalk.greenBright(`yarn dlx yalc add --link ${pkgJson.name} && yarn install`)}\n\n ## npm\n ${chalk.greenBright(\n `npx yalc add ${pkgJson.name} && npx yalc link ${pkgJson.name} && npm install`\n )}\n `.trimStart()\n );\n })\n .on('quit', () => {\n process.exit();\n })\n .on('restart', (files) => {\n logger.info('Found changes in files:', chalk.magentaBright(files));\n logger.info('Pushing new yalc package...');\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n\n/**\n * @internal\n */\nconst pathExists = async (path: string) => {\n try {\n await fs.access(path);\n return true;\n } catch (error) {\n return false;\n }\n};\n"],"names":["notifyExperimentalCommand","nodemon","path","fs","pkg","loadPkg","validatePkg","concurrently","outdent","chalk","boxen"],"mappings":";;;;;;;;;;;;;;;;;AAcA,MAAe,SAAA,OAAO,OAAsB,MAAe,EAAE,KAAK,aAAyB;AACrF,MAAA;AAIF,UAAMA,QAA0B,0BAAA,qBAAqB,EAAE,OAAO,KAAM,CAAA;AAEpE,UAAM,SAAS;AACf,UAAM,aAAa;AAEXC,6BAAA;AAAA,MACN,OAAO,CAAC,MAAM;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAED,UAAM,SAASC,cAAA,QAAK,KAAK,KAAK,MAAM;AAEpC,QAAI,CAAE,MAAM,WAAW,MAAM,GAAI;AACzB,YAAAC,YAAA,QAAG,MAAM,MAAM;AAAA,IACvB;AAEA,UAAMC,QAAM,MAAMC,IAAA,QAAQ,EAAE,KAAK,OAAQ,CAAA;AACzC,UAAM,UAAU,MAAMC,IAAAA,YAAY,EAAEF,KAAAA,MAAK,CAAA;AAE5BG,kCAAA,CAAC,eAAe,CAAC;AAG3BN,6BAAA,GAAG,SAAS,MAAM;AACV,aAAA;AAAA,QACLO;mBACS,MAAM,0CAA0C,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQnEC,eAAAA,QAAM,YAAY,4BAA4B,QAAQ,IAAI,kBAAkB,CAAC;AAAA;AAAA;AAAA,UAG7EA,eAAM,QAAA;AAAA,UACN,gBAAgB,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,QAAA,CAC9D;AAAA,QACD,UAAU;AAAA,MAAA;AAAA,IACV,CACD,EACA,GAAG,QAAQ,MAAM;AAChB,cAAQ,KAAK;AAAA,IACd,CAAA,EACA,GAAG,WAAW,CAAC,UAAU;AACxB,aAAO,KAAK,2BAA2BA,eAAM,QAAA,cAAc,KAAK,CAAC;AACjE,aAAO,KAAK,6BAA6B;AAAA,IAAA,CAC1C;AAAA,WACI,KAAK;AACL,WAAA;AAAA,MACL;AAAA,IAAA;AAEE,QAAA,eAAe,SAAS,IAAI,OAAO;AAC7B,cAAA;AAAA,QACNA,eAAAA,QAAM;AAAA,UACJC,eAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAKA,MAAM,aAAa,OAAOR,UAAiB;AACrC,MAAA;AACI,UAAAC,YAAA,QAAG,OAAOD,KAAI;AACb,WAAA;AAAA,WACA,OAAO;AACP,WAAA;AAAA,EACT;AACF;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/link-watch/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport concurrently from 'concurrently';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport nodemon from 'nodemon';\nimport { outdent } from 'outdent';\n\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { CLIContext } from '../../../types';\nimport { loadPkg, validatePkg } from '../../../utils/pkg';\n\ninterface ActionOptions {}\n\nexport default async (_opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:watch:link', { force: true });\n\n const outDir = './dist';\n const extensions = 'ts,js,png,svg,gif,jpeg,css';\n\n nodemon({\n watch: [outDir],\n ext: extensions,\n exec: 'yalc push --changed',\n });\n\n const folder = path.join(cwd, outDir);\n\n if (!(await pathExists(folder))) {\n await fs.mkdir(folder);\n }\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n concurrently(['npm run watch']);\n\n nodemon\n .on('start', () => {\n logger.info(\n outdent`\n Watching ${outDir} for changes to files with extensions: ${extensions}\n\n To use this package in Strapi, in a separate shell run:\n cd /path/to/strapi/project\n\n Then run one of the commands below based on the package manager used in that project:\n\n ## yarn\n ${chalk.greenBright(`yarn dlx yalc add --link ${pkgJson.name} && yarn install`)}\n\n ## npm\n ${chalk.greenBright(\n `npx yalc add ${pkgJson.name} && npx yalc link ${pkgJson.name} && npm install`\n )}\n `.trimStart()\n );\n })\n .on('quit', () => {\n process.exit();\n })\n .on('restart', (files) => {\n logger.info('Found changes in files:', chalk.magentaBright(files));\n logger.info('Pushing new yalc package...');\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n\n/**\n * @internal\n */\nconst pathExists = async (path: string) => {\n try {\n await fs.access(path);\n return true;\n } catch (error) {\n return false;\n }\n};\n"],"names":["notifyExperimentalCommand","nodemon","path","fs","pkg","loadPkg","validatePkg","concurrently","outdent","chalk","boxen"],"mappings":";;;;;;;;;;;;;;;;;AAcA,MAAA,SAAe,OAAO,OAAsB,MAAe,EAAE,KAAK,aAAyB;AACzF,MAAI;AAIF,UAAMA,QAAAA,0BAA0B,qBAAqB,EAAE,OAAO,MAAM;AAEpE,UAAM,SAAS;AACf,UAAM,aAAa;AAEnBC,6BAAQ;AAAA,MACN,OAAO,CAAC,MAAM;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,IAAA,CACP;AAED,UAAM,SAASC,cAAAA,QAAK,KAAK,KAAK,MAAM;AAEpC,QAAI,CAAE,MAAM,WAAW,MAAM,GAAI;AAC/B,YAAMC,YAAAA,QAAG,MAAM,MAAM;AAAA,IACvB;AAEA,UAAMC,QAAM,MAAMC,IAAAA,QAAQ,EAAE,KAAK,QAAQ;AACzC,UAAM,UAAU,MAAMC,gBAAY,EAAA,KAAEF,OAAK;AAEzCG,0BAAAA,QAAa,CAAC,eAAe,CAAC;AAE9BN,6BACG,GAAG,SAAS,MAAM;AACjB,aAAO;AAAA,QACLO,QAAAA;AAAAA,mBACS,MAAM,0CAA0C,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQnEC,eAAAA,QAAM,YAAY,4BAA4B,QAAQ,IAAI,kBAAkB,CAAC;AAAA;AAAA;AAAA,UAG7EA,eAAAA,QAAM;AAAA,UACN,gBAAgB,QAAQ,IAAI,qBAAqB,QAAQ,IAAI;AAAA,QAAA,CAC9D;AAAA,QACD,UAAA;AAAA,MAAU;AAAA,IAEZ,CAAC,EACA,GAAG,QAAQ,MAAM;AAChB,cAAQ,KAAA;AAAA,IACV,CAAC,EACA,GAAG,WAAW,CAAC,UAAU;AACxB,aAAO,KAAK,2BAA2BA,eAAAA,QAAM,cAAc,KAAK,CAAC;AACjE,aAAO,KAAK,6BAA6B;AAAA,IAC3C,CAAC;AAAA,EACL,SAAS,KAAK;AACZ,WAAO;AAAA,MACL;AAAA,IAAA;AAEF,QAAI,eAAe,SAAS,IAAI,OAAO;AACrC,cAAQ;AAAA,QACNA,eAAAA,QAAM;AAAA,UACJC,eAAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAKA,MAAM,aAAa,OAAOR,UAAiB;AACzC,MAAI;AACF,UAAMC,YAAAA,QAAG,OAAOD,KAAI;AACpB,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/verify/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { CheckOptions, check } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends CheckOptions {}\n\nexport default async (opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:verify', { force: true });\n\n await check({\n cwd,\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","check","chalk","boxen"],"mappings":";;;;;;;;AAQA,MAAe,SAAA,OAAO,MAAqB,MAAe,EAAE,KAAK,aAAyB;AACpF,MAAA;AAIF,UAAMA,QAA0B,0BAAA,iBAAiB,EAAE,OAAO,KAAM,CAAA;AAEhE,UAAMC,aAAM;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,WACM,KAAK;AACL,WAAA;AAAA,MACL;AAAA,IAAA;AAEE,QAAA,eAAe,SAAS,IAAI,OAAO;AAC7B,cAAA;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/verify/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { CheckOptions, check } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends CheckOptions {}\n\nexport default async (opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:verify', { force: true });\n\n await check({\n cwd,\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","check","chalk","boxen"],"mappings":";;;;;;;;AAQA,MAAA,SAAe,OAAO,MAAqB,MAAe,EAAE,KAAK,aAAyB;AACxF,MAAI;AAIF,UAAMA,QAAAA,0BAA0B,iBAAiB,EAAE,OAAO,MAAM;AAEhE,UAAMC,aAAM;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,EACH,SAAS,KAAK;AACZ,WAAO;AAAA,MACL;AAAA,IAAA;AAEF,QAAI,eAAe,SAAS,IAAI,OAAO;AACrC,cAAQ;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/watch/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { ConfigBundle, WatchCLIOptions, watch } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { Export, loadPkg, validatePkg } from '../../../utils/pkg';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends WatchCLIOptions {}\n\nexport default async (opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:watch', { force: true });\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n if (!pkgJson.exports['./strapi-admin'] && !pkgJson.exports['./strapi-server']) {\n throw new Error(\n 'You need to have either a strapi-admin or strapi-server export in your package.json'\n );\n }\n\n const bundles: ConfigBundle[] = [];\n\n if (pkgJson.exports['./strapi-admin']) {\n const exp = pkgJson.exports['./strapi-admin'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'web',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './admin/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n if (pkgJson.exports['./strapi-server']) {\n const exp = pkgJson.exports['./strapi-server'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'node',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './server/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n await watch({\n cwd,\n configFile: false,\n config: {\n bundles,\n dist: './dist',\n /**\n * ignore the exports map of a plugin, because we're streamlining the\n * process and ensuring the server package and admin package are built\n * with the correct runtime and their individual tsconfigs\n */\n exports: {},\n },\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","pkg","loadPkg","validatePkg","watch","chalk","boxen"],"mappings":";;;;;;;;;AASA,MAAe,SAAA,OAAO,MAAqB,MAAe,EAAE,KAAK,aAAyB;AACpF,MAAA;AAIF,UAAMA,QAA0B,0BAAA,gBAAgB,EAAE,OAAO,KAAM,CAAA;AAE/D,UAAMC,QAAM,MAAMC,IAAA,QAAQ,EAAE,KAAK,OAAQ,CAAA;AACzC,UAAM,UAAU,MAAMC,IAAAA,YAAY,EAAEF,KAAAA,MAAK,CAAA;AAErC,QAAA,CAAC,QAAQ,QAAQ,gBAAgB,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,GAAG;AAC7E,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAM,UAA0B,CAAA;AAE5B,QAAA,QAAQ,QAAQ,gBAAgB,GAAG;AAC/B,YAAA,MAAM,QAAQ,QAAQ,gBAAgB;AAE5C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEI,QAAA,QAAQ,QAAQ,iBAAiB,GAAG;AAChC,YAAA,MAAM,QAAQ,QAAQ,iBAAiB;AAE7C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAMG,aAAM;AAAA,MACV;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN;AAAA,QACA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMN,SAAS,CAAC;AAAA,MACZ;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,WACM,KAAK;AACL,WAAA;AAAA,MACL;AAAA,IAAA;AAEE,QAAA,eAAe,SAAS,IAAI,OAAO;AAC7B,cAAA;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/plugin/watch/action.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport { ConfigBundle, WatchCLIOptions, watch } from '@strapi/pack-up';\nimport { notifyExperimentalCommand } from '../../../utils/helpers';\nimport { Export, loadPkg, validatePkg } from '../../../utils/pkg';\nimport { CLIContext } from '../../../types';\n\ninterface ActionOptions extends WatchCLIOptions {}\n\nexport default async (opts: ActionOptions, _cmd: unknown, { cwd, logger }: CLIContext) => {\n try {\n /**\n * Notify users this is an experimental command.\n */\n await notifyExperimentalCommand('plugin:watch', { force: true });\n\n const pkg = await loadPkg({ cwd, logger });\n const pkgJson = await validatePkg({ pkg });\n\n if (!pkgJson.exports['./strapi-admin'] && !pkgJson.exports['./strapi-server']) {\n throw new Error(\n 'You need to have either a strapi-admin or strapi-server export in your package.json'\n );\n }\n\n const bundles: ConfigBundle[] = [];\n\n if (pkgJson.exports['./strapi-admin']) {\n const exp = pkgJson.exports['./strapi-admin'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'web',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './admin/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n if (pkgJson.exports['./strapi-server']) {\n const exp = pkgJson.exports['./strapi-server'] as Export;\n\n const bundle: ConfigBundle = {\n source: exp.source,\n import: exp.import,\n require: exp.require,\n runtime: 'node',\n };\n\n if (exp.types) {\n bundle.types = exp.types;\n // TODO: should this be sliced from the source path...?\n bundle.tsconfig = './server/tsconfig.build.json';\n }\n\n bundles.push(bundle);\n }\n\n await watch({\n cwd,\n configFile: false,\n config: {\n bundles,\n dist: './dist',\n /**\n * ignore the exports map of a plugin, because we're streamlining the\n * process and ensuring the server package and admin package are built\n * with the correct runtime and their individual tsconfigs\n */\n exports: {},\n },\n ...opts,\n });\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n"],"names":["notifyExperimentalCommand","pkg","loadPkg","validatePkg","watch","chalk","boxen"],"mappings":";;;;;;;;;AASA,MAAA,SAAe,OAAO,MAAqB,MAAe,EAAE,KAAK,aAAyB;AACxF,MAAI;AAIF,UAAMA,QAAAA,0BAA0B,gBAAgB,EAAE,OAAO,MAAM;AAE/D,UAAMC,QAAM,MAAMC,IAAAA,QAAQ,EAAE,KAAK,QAAQ;AACzC,UAAM,UAAU,MAAMC,gBAAY,EAAA,KAAEF,OAAK;AAEzC,QAAI,CAAC,QAAQ,QAAQ,gBAAgB,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,GAAG;AAC7E,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAM,UAA0B,CAAA;AAEhC,QAAI,QAAQ,QAAQ,gBAAgB,GAAG;AACrC,YAAM,MAAM,QAAQ,QAAQ,gBAAgB;AAE5C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,QAAI,QAAQ,QAAQ,iBAAiB,GAAG;AACtC,YAAM,MAAM,QAAQ,QAAQ,iBAAiB;AAE7C,YAAM,SAAuB;AAAA,QAC3B,QAAQ,IAAI;AAAA,QACZ,QAAQ,IAAI;AAAA,QACZ,SAAS,IAAI;AAAA,QACb,SAAS;AAAA,MAAA;AAGX,UAAI,IAAI,OAAO;AACb,eAAO,QAAQ,IAAI;AAEnB,eAAO,WAAW;AAAA,MACpB;AAEA,cAAQ,KAAK,MAAM;AAAA,IACrB;AAEA,UAAMG,aAAM;AAAA,MACV;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN;AAAA,QACA,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMN,SAAS,CAAA;AAAA,MAAC;AAAA,MAEZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH,SAAS,KAAK;AACZ,WAAO;AAAA,MACL;AAAA,IAAA;AAEF,QAAI,eAAe,SAAS,IAAI,OAAO;AACrC,cAAQ;AAAA,QACNC,eAAAA,QAAM;AAAA,UACJC,eAAAA,QAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/policies/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('policies').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACnB,QAAA,aAAa,MAAMA,OAAO;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAS;AAE9C,QAAM,OAAO,IAAI,UAAU,IAAI,UAAU,EAAE;AAErC,QAAA,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAEI,OAAA,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAE7C,UAAA,IAAI,UAAU,SAAU,CAAA;AAEhC,QAAM,IAAI;AACZ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/policies/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('policies').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACzB,QAAM,aAAa,MAAMA,OAAO,QAAA;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAA;AAErC,QAAM,OAAO,IAAI,UAAU,IAAI,UAAU,EAAE,KAAA;AAE3C,QAAM,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAED,OAAK,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAErD,UAAQ,IAAI,UAAU,UAAU;AAEhC,QAAM,IAAI,QAAA;AACZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/policies/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi policies:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('policies:list')\n .description('List all the application policies')\n .action(runAction('policies:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,eAAe,EACvB,YAAY,mCAAmC,EAC/C,OAAOC,QAAA,UAAU,iBAAiB,MAAM,CAAC;AAC9C;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/policies/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi policies:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('policies:list')\n .description('List all the application policies')\n .action(runAction('policies:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,eAAe,EACvB,YAAY,mCAAmC,EAC/C,OAAOC,QAAAA,UAAU,iBAAiB,MAAM,CAAC;AAC9C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/report/action.ts"],"sourcesContent":["import { EOL } from 'os';\nimport strapi from '../../../Strapi';\n\ninterface CmdOptions {\n uuid: boolean;\n dependencies: boolean;\n all: boolean;\n}\n\nexport default async ({ uuid, dependencies, all }: CmdOptions) => {\n const config = {\n reportUUID: Boolean(all || uuid),\n reportDependencies: Boolean(all || dependencies),\n };\n\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n let debugInfo = `Launched In: ${Date.now() - app.config.launchedAt} ms\nEnvironment: ${app.config.environment}\nOS: ${process.platform}-${process.arch}\nStrapi Version: ${app.config.info.strapi}\nNode/Yarn Version: ${process.env.npm_config_user_agent}\nEdition: ${app.EE ? 'Enterprise' : 'Community'}\nDatabase: ${app?.config?.database?.connection?.client ?? 'unknown'}`;\n\n if (config.reportUUID) {\n debugInfo += `${EOL}UUID: ${app.config.uuid}`;\n }\n\n if (config.reportDependencies) {\n debugInfo += `${EOL}Dependencies: ${JSON.stringify(app.config.info.dependencies, null, 2)}\nDev Dependencies: ${JSON.stringify(app.config.info.devDependencies, null, 2)}`;\n }\n\n console.log(debugInfo);\n\n await app.destroy();\n};\n"],"names":["strapi","EOL"],"mappings":";;;AASA,MAAe,SAAA,OAAO,EAAE,MAAM,cAAc,UAAsB;AAChE,QAAM,SAAS;AAAA,IACb,YAAY,QAAQ,OAAO,IAAI;AAAA,IAC/B,oBAAoB,QAAQ,OAAO,YAAY;AAAA,EAAA;AAG3C,QAAA,aAAa,MAAMA,OAAO;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAS;AAE9C,MAAI,YAAY,gBAAgB,KAAK,QAAQ,IAAI,OAAO,UAAU;AAAA,eACrD,IAAI,OAAO,WAAW;AAAA,MAC/B,QAAQ,QAAQ,IAAI,QAAQ,IAAI;AAAA,kBACpB,IAAI,OAAO,KAAK,MAAM;AAAA,qBACnB,QAAQ,IAAI,qBAAqB;AAAA,WAC3C,IAAI,KAAK,eAAe,WAAW;AAAA,YAClC,KAAK,QAAQ,UAAU,YAAY,UAAU,SAAS;AAEhE,MAAI,OAAO,YAAY;AACrB,iBAAa,GAAGC,MAAG,SAAS,IAAI,OAAO,IAAI;AAAA,EAC7C;AAEA,MAAI,OAAO,oBAAoB;AAChB,iBAAA,GAAGA,GAAAA,GAAG,iBAAiB,KAAK,UAAU,IAAI,OAAO,KAAK,cAAc,MAAM,CAAC,CAAC;AAAA,oBACzE,KAAK,UAAU,IAAI,OAAO,KAAK,iBAAiB,MAAM,CAAC,CAAC;AAAA,EAC1E;AAEA,UAAQ,IAAI,SAAS;AAErB,QAAM,IAAI;AACZ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/report/action.ts"],"sourcesContent":["import { EOL } from 'os';\nimport strapi from '../../../Strapi';\n\ninterface CmdOptions {\n uuid: boolean;\n dependencies: boolean;\n all: boolean;\n}\n\nexport default async ({ uuid, dependencies, all }: CmdOptions) => {\n const config = {\n reportUUID: Boolean(all || uuid),\n reportDependencies: Boolean(all || dependencies),\n };\n\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n let debugInfo = `Launched In: ${Date.now() - app.config.launchedAt} ms\nEnvironment: ${app.config.environment}\nOS: ${process.platform}-${process.arch}\nStrapi Version: ${app.config.info.strapi}\nNode/Yarn Version: ${process.env.npm_config_user_agent}\nEdition: ${app.EE ? 'Enterprise' : 'Community'}\nDatabase: ${app?.config?.database?.connection?.client ?? 'unknown'}`;\n\n if (config.reportUUID) {\n debugInfo += `${EOL}UUID: ${app.config.uuid}`;\n }\n\n if (config.reportDependencies) {\n debugInfo += `${EOL}Dependencies: ${JSON.stringify(app.config.info.dependencies, null, 2)}\nDev Dependencies: ${JSON.stringify(app.config.info.devDependencies, null, 2)}`;\n }\n\n console.log(debugInfo);\n\n await app.destroy();\n};\n"],"names":["strapi","EOL"],"mappings":";;;AASA,MAAA,SAAe,OAAO,EAAE,MAAM,cAAc,UAAsB;AAChE,QAAM,SAAS;AAAA,IACb,YAAY,QAAQ,OAAO,IAAI;AAAA,IAC/B,oBAAoB,QAAQ,OAAO,YAAY;AAAA,EAAA;AAGjD,QAAM,aAAa,MAAMA,OAAO,QAAA;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAA;AAErC,MAAI,YAAY,gBAAgB,KAAK,QAAQ,IAAI,OAAO,UAAU;AAAA,eACrD,IAAI,OAAO,WAAW;AAAA,MAC/B,QAAQ,QAAQ,IAAI,QAAQ,IAAI;AAAA,kBACpB,IAAI,OAAO,KAAK,MAAM;AAAA,qBACnB,QAAQ,IAAI,qBAAqB;AAAA,WAC3C,IAAI,KAAK,eAAe,WAAW;AAAA,YAClC,KAAK,QAAQ,UAAU,YAAY,UAAU,SAAS;AAEhE,MAAI,OAAO,YAAY;AACrB,iBAAa,GAAGC,MAAG,SAAS,IAAI,OAAO,IAAI;AAAA,EAC7C;AAEA,MAAI,OAAO,oBAAoB;AAC7B,iBAAa,GAAGA,MAAG,iBAAiB,KAAK,UAAU,IAAI,OAAO,KAAK,cAAc,MAAM,CAAC,CAAC;AAAA,oBACzE,KAAK,UAAU,IAAI,OAAO,KAAK,iBAAiB,MAAM,CAAC,CAAC;AAAA,EAC1E;AAEA,UAAQ,IAAI,SAAS;AAErB,QAAM,IAAI,QAAA;AACZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/report/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi report`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('report')\n .description('Get system stats for debugging and submitting issues')\n .option('-u, --uuid', 'Include Project UUID')\n .option('-d, --dependencies', 'Include Project Dependencies')\n .option('--all', 'Include All Information')\n .action(runAction('report', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,QAAQ,EAChB,YAAY,sDAAsD,EAClE,OAAO,cAAc,sBAAsB,EAC3C,OAAO,sBAAsB,8BAA8B,EAC3D,OAAO,SAAS,yBAAyB,EACzC,OAAOC,kBAAU,UAAU,MAAM,CAAC;AACvC;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/report/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi report`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('report')\n .description('Get system stats for debugging and submitting issues')\n .option('-u, --uuid', 'Include Project UUID')\n .option('-d, --dependencies', 'Include Project Dependencies')\n .option('--all', 'Include All Information')\n .action(runAction('report', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,QAAQ,EAChB,YAAY,sDAAsD,EAClE,OAAO,cAAc,sBAAsB,EAC3C,OAAO,sBAAsB,8BAA8B,EAC3D,OAAO,SAAS,yBAAyB,EACzC,OAAOC,QAAAA,UAAU,UAAU,MAAM,CAAC;AACvC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/routes/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { toUpper } from 'lodash/fp';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).load();\n\n const list = app.server.mount().listRoutes();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Method'), chalk.blue('Path')],\n colWidths: [20],\n });\n\n list\n .filter((route) => route.methods.length)\n .forEach((route) => {\n infoTable.push([route.methods.map(toUpper).join('|'), route.path]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk","toUpper"],"mappings":";;;;;;;;AAMA,MAAA,SAAe,YAAY;AACnB,QAAA,aAAa,MAAMA,OAAO;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,KAAK;AAE1C,QAAM,OAAO,IAAI,OAAO,QAAQ,WAAW;AAErC,QAAA,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAM,QAAA,KAAK,QAAQ,GAAGA,uBAAM,KAAK,MAAM,CAAC;AAAA,IAC/C,WAAW,CAAC,EAAE;AAAA,EAAA,CACf;AAGE,OAAA,OAAO,CAAC,UAAU,MAAM,QAAQ,MAAM,EACtC,QAAQ,CAAC,UAAU;AAClB,cAAU,KAAK,CAAC,MAAM,QAAQ,IAAIC,GAAAA,OAAO,EAAE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAAA,EAAA,CAClE;AAEK,UAAA,IAAI,UAAU,SAAU,CAAA;AAEhC,QAAM,IAAI;AACZ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/routes/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\nimport { toUpper } from 'lodash/fp';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).load();\n\n const list = app.server.mount().listRoutes();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Method'), chalk.blue('Path')],\n colWidths: [20],\n });\n\n list\n .filter((route) => route.methods.length)\n .forEach((route) => {\n infoTable.push([route.methods.map(toUpper).join('|'), route.path]);\n });\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk","toUpper"],"mappings":";;;;;;;;AAMA,MAAA,SAAe,YAAY;AACzB,QAAM,aAAa,MAAMA,OAAO,QAAA;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,KAAA;AAErC,QAAM,OAAO,IAAI,OAAO,MAAA,EAAQ,WAAA;AAEhC,QAAM,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,QAAQ,GAAGA,uBAAM,KAAK,MAAM,CAAC;AAAA,IAC/C,WAAW,CAAC,EAAE;AAAA,EAAA,CACf;AAED,OACG,OAAO,CAAC,UAAU,MAAM,QAAQ,MAAM,EACtC,QAAQ,CAAC,UAAU;AAClB,cAAU,KAAK,CAAC,MAAM,QAAQ,IAAIC,UAAO,EAAE,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAAA,EACnE,CAAC;AAEH,UAAQ,IAAI,UAAU,UAAU;AAEhC,QAAM,IAAI,QAAA;AACZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/routes/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi routes:list``\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('routes:list')\n .description('List all the application routes')\n .action(runAction('routes:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,aAAa,EACrB,YAAY,iCAAiC,EAC7C,OAAOC,QAAA,UAAU,eAAe,MAAM,CAAC;AAC5C;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/routes/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi routes:list``\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('routes:list')\n .description('List all the application routes')\n .action(runAction('routes:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,aAAa,EACrB,YAAY,iCAAiC,EAC7C,OAAOC,QAAAA,UAAU,eAAe,MAAM,CAAC;AAC5C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/services/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('services').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACnB,QAAA,aAAa,MAAMA,OAAO;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAS;AAE9C,QAAM,OAAO,IAAI,UAAU,IAAI,UAAU,EAAE;AAErC,QAAA,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAEI,OAAA,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAE7C,UAAA,IAAI,UAAU,SAAU,CAAA;AAEhC,QAAM,IAAI;AACZ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/services/list/action.ts"],"sourcesContent":["import CLITable from 'cli-table3';\nimport chalk from 'chalk';\n\nimport strapi from '../../../../Strapi';\n\nexport default async () => {\n const appContext = await strapi.compile();\n const app = await strapi(appContext).register();\n\n const list = app.container.get('services').keys();\n\n const infoTable = new CLITable({\n head: [chalk.blue('Name')],\n });\n\n list.forEach((name: string) => infoTable.push([name]));\n\n console.log(infoTable.toString());\n\n await app.destroy();\n};\n"],"names":["strapi","CLITable","chalk"],"mappings":";;;;;;;AAKA,MAAA,SAAe,YAAY;AACzB,QAAM,aAAa,MAAMA,OAAO,QAAA;AAChC,QAAM,MAAM,MAAMA,OAAO,UAAU,EAAE,SAAA;AAErC,QAAM,OAAO,IAAI,UAAU,IAAI,UAAU,EAAE,KAAA;AAE3C,QAAM,YAAY,IAAIC,0BAAS;AAAA,IAC7B,MAAM,CAACC,eAAAA,QAAM,KAAK,MAAM,CAAC;AAAA,EAAA,CAC1B;AAED,OAAK,QAAQ,CAAC,SAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAErD,UAAQ,IAAI,UAAU,UAAU;AAEhC,QAAM,IAAI,QAAA;AACZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/services/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi services:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('services:list')\n .description('List all the application services')\n .action(runAction('services:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,eAAe,EACvB,YAAY,mCAAmC,EAC/C,OAAOC,QAAA,UAAU,iBAAiB,MAAM,CAAC;AAC9C;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../../src/commands/actions/services/list/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport { runAction } from '../../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi services:list`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('services:list')\n .description('List all the application services')\n .action(runAction('services:list', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,eAAe,EACvB,YAAY,mCAAmC,EAC/C,OAAOC,QAAAA,UAAU,iBAAiB,MAAM,CAAC;AAC9C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/start/action.ts"],"sourcesContent":["import fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport strapi from '../../../Strapi';\n\n/**\n * `$ strapi start`\n */\nexport default async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n strapi({ appDir, distDir }).start();\n};\n"],"names":["tsUtils","fs","strapi"],"mappings":";;;;;;;AAOA,MAAA,SAAe,YAAY;AACnB,QAAA,SAAS,QAAQ;AAEvB,QAAM,cAAc,MAAMA,iBAAAA,QAAQ,kBAAkB,MAAM;AAE1D,QAAM,SAAS,MAAMA,iBAAAA,QAAQ,cAAc,MAAM;AAC3C,QAAA,UAAU,cAAc,SAAS;AAEjC,QAAA,iBAAiBC,YAAAA,QAAG,WAAW,MAAM;AAC3C,MAAI,eAAe,CAAC;AAClB,UAAM,IAAI;AAAA,MACR,GAAG,MAAM;AAAA,IAAA;AAGbC,SAAO,EAAE,QAAQ,QAAQ,CAAC,EAAE,MAAM;AACpC;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../src/commands/actions/start/action.ts"],"sourcesContent":["import fs from 'fs';\nimport tsUtils from '@strapi/typescript-utils';\nimport strapi from '../../../Strapi';\n\n/**\n * `$ strapi start`\n */\nexport default async () => {\n const appDir = process.cwd();\n\n const isTSProject = await tsUtils.isUsingTypeScript(appDir);\n\n const outDir = await tsUtils.resolveOutDir(appDir);\n const distDir = isTSProject ? outDir : appDir;\n\n const buildDirExists = fs.existsSync(outDir);\n if (isTSProject && !buildDirExists)\n throw new Error(\n `${outDir} directory not found. Please run the build command before starting your application`\n );\n\n strapi({ appDir, distDir }).start();\n};\n"],"names":["tsUtils","fs","strapi"],"mappings":";;;;;;;AAOA,MAAA,SAAe,YAAY;AACzB,QAAM,SAAS,QAAQ,IAAA;AAEvB,QAAM,cAAc,MAAMA,yBAAQ,kBAAkB,MAAM;AAE1D,QAAM,SAAS,MAAMA,yBAAQ,cAAc,MAAM;AACjD,QAAM,UAAU,cAAc,SAAS;AAEvC,QAAM,iBAAiBC,YAAAA,QAAG,WAAW,MAAM;AAC3C,MAAI,eAAe,CAAC;AAClB,UAAM,IAAI;AAAA,MACR,GAAG,MAAM;AAAA,IAAA;AAGbC,SAAO,EAAE,QAAQ,QAAA,CAAS,EAAE,MAAA;AAC9B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/start/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,OAAO,EACf,YAAY,+BAA+B,EAC3C,OAAOC,QAAA,UAAU,SAAS,MAAM,CAAC;AACtC;;"}
1
+ {"version":3,"file":"command.js","sources":["../../../../src/commands/actions/start/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport action from './action';\n\n/**\n * `$ strapi start`\n */\nconst command: StrapiCommand = ({ command }) => {\n command\n .command('start')\n .description('Start your Strapi application')\n .action(runAction('start', action));\n};\n\nexport default command;\n"],"names":["command","runAction"],"mappings":";;;AAOA,MAAM,UAAyB,CAAC,EAAE,SAAAA,eAAc;AAC9CA,WACG,QAAQ,OAAO,EACf,YAAY,+BAA+B,EAC3C,OAAOC,QAAAA,UAAU,SAAS,MAAM,CAAC;AACtC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/telemetry/disable/action.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport fetch from 'node-fetch';\nimport machineID from '../../../../utils/machine-id';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n\n return { uuid, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst sendEvent = async (uuid: string) => {\n try {\n const event = 'didOptOutTelemetry';\n\n await fetch('https://analytics.strapi.io/api/v2/track', {\n method: 'POST',\n body: JSON.stringify({\n event,\n deviceId: machineID(),\n groupProperties: { projectId: uuid },\n }),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Strapi-Event': event,\n },\n });\n } catch (e) {\n // ...\n }\n};\n\nexport default async function optOutTelemetry() {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent(uuid);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n}\n"],"names":["path","fse","chalk","fetch","machineID","resolve"],"mappings":";;;;;;;;;;AAMA,MAAM,kBAAkB,OAAOA,UAAiB;AAC1C,MAAA;AACF,UAAM,aAAa,MAAMC,aAAAA,QAAI,SAASD,KAAI;AAC1C,UAAM,OAAO,WAAW,SAAS,WAAW,OAAO,OAAO;AAEnD,WAAA,EAAE,MAAM;WACR,KAAK;AACZ,QAAI,eAAe,OAAO;AAChB,cAAA,MAAM,GAAGE,eAAAA,QAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE;AAAA,IACvD;AAAA,EACF;AACF;AAEA,MAAM,mBAAmB,OAAOF,OAAc,MAAc,YAAoB;AAC1E,MAAA;AACF,UAAMC,aAAAA,QAAI,UAAUD,OAAM,MAAM,EAAE,QAAQ,SAAS;AAC5C,WAAA;AAAA,WACA,KAAK;AACZ,QAAI,eAAe,OAAO;AAChB,cAAA,MAAM,GAAGE,eAAAA,QAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE;AAAA,IACvD;AAAA,EACF;AACF;AAEA,MAAM,YAAY,OAAO,SAAiB;AACpC,MAAA;AACF,UAAM,QAAQ;AAEd,UAAMC,eAAAA,QAAM,4CAA4C;AAAA,MACtD,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA,UAAUC,UAAU;AAAA,QACpB,iBAAiB,EAAE,WAAW,KAAK;AAAA,MAAA,CACpC;AAAA,MACD,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,MACpB;AAAA,IAAA,CACD;AAAA,WACM,GAAG;AAAA,EAEZ;AACF;AAEA,eAA8B,kBAAkB;AAC9C,QAAM,kBAAkBC,KAAAA,QAAQ,QAAQ,OAAO,cAAc;AAC7D,QAAM,SAAS,MAAMJ,aAAAA,QAAI,WAAW,eAAe;AAEnD,MAAI,CAAC,QAAQ;AACX,YAAQ,IAAI,GAAGC,eAAA,QAAM,OAAO,SAAS,CAAC,+BAA+B;AACrE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEM,QAAA,EAAE,MAAM,WAAW,IAAK,MAAM,gBAAgB,eAAe,KAAM;AAEzE,MAAK,WAAW,UAAU,WAAW,OAAO,qBAAsB,CAAC,MAAM;AACvE,YAAQ,IAAI,GAAGA,eAAA,QAAM,OAAO,UAAU,CAAC,gCAAgC;AACvE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,qBAAqB;AAAA,IACzB,GAAG;AAAA,IACH,QAAQ;AAAA,MACN,GAAG,WAAW;AAAA,MACd,mBAAmB;AAAA,IACrB;AAAA,EAAA;AAGF,QAAM,QAAQ,MAAM,iBAAiB,iBAAiB,oBAAoB,CAAC;AAE3E,MAAI,CAAC,OAAO;AACF,YAAA;AAAA,MACN,GAAGA,eAAM,QAAA;AAAA,QACP;AAAA,MACD,CAAA;AAAA,IAAA;AAEH,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,IAAI;AACpB,UAAQ,IAAI,GAAGA,eAAAA,QAAM,MAAM,4CAA4C,CAAC,EAAE;AAC1E,UAAQ,KAAK,CAAC;AAChB;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/commands/actions/telemetry/disable/action.ts"],"sourcesContent":["import { resolve } from 'path';\nimport fse from 'fs-extra';\nimport chalk from 'chalk';\nimport fetch from 'node-fetch';\nimport machineID from '../../../../utils/machine-id';\n\nconst readPackageJSON = async (path: string) => {\n try {\n const packageObj = await fse.readJson(path);\n const uuid = packageObj.strapi ? packageObj.strapi.uuid : null;\n\n return { uuid, packageObj };\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst writePackageJSON = async (path: string, file: object, spacing: number) => {\n try {\n await fse.writeJson(path, file, { spaces: spacing });\n return true;\n } catch (err) {\n if (err instanceof Error) {\n console.error(`${chalk.red('Error')}: ${err.message}`);\n }\n }\n};\n\nconst sendEvent = async (uuid: string) => {\n try {\n const event = 'didOptOutTelemetry';\n\n await fetch('https://analytics.strapi.io/api/v2/track', {\n method: 'POST',\n body: JSON.stringify({\n event,\n deviceId: machineID(),\n groupProperties: { projectId: uuid },\n }),\n headers: {\n 'Content-Type': 'application/json',\n 'X-Strapi-Event': event,\n },\n });\n } catch (e) {\n // ...\n }\n};\n\nexport default async function optOutTelemetry() {\n const packageJSONPath = resolve(process.cwd(), 'package.json');\n const exists = await fse.pathExists(packageJSONPath);\n\n if (!exists) {\n console.log(`${chalk.yellow('Warning')}: could not find package.json`);\n process.exit(0);\n }\n\n const { uuid, packageObj } = (await readPackageJSON(packageJSONPath)) ?? {};\n\n if ((packageObj.strapi && packageObj.strapi.telemetryDisabled) || !uuid) {\n console.log(`${chalk.yellow('Warning:')} telemetry is already disabled`);\n process.exit(0);\n }\n\n const updatedPackageJSON = {\n ...packageObj,\n strapi: {\n ...packageObj.strapi,\n telemetryDisabled: true,\n },\n };\n\n const write = await writePackageJSON(packageJSONPath, updatedPackageJSON, 2);\n\n if (!write) {\n console.log(\n `${chalk.yellow(\n 'Warning'\n )}: There has been an error, please set \"telemetryDisabled\": true in the \"strapi\" object of your package.json manually.`\n );\n process.exit(0);\n }\n\n await sendEvent(uuid);\n console.log(`${chalk.green('Successfully opted out of Strapi telemetry')}`);\n process.exit(0);\n}\n"],"names":["path","fse","chalk","fetch","machineID","resolve"],"mappings":";;;;;;;;;;AAMA,MAAM,kBAAkB,OAAOA,UAAiB;AAC9C,MAAI;AACF,UAAM,aAAa,MAAMC,qBAAI,SAASD,KAAI;AAC1C,UAAM,OAAO,WAAW,SAAS,WAAW,OAAO,OAAO;AAE1D,WAAO,EAAE,MAAM,WAAA;AAAA,EACjB,SAAS,KAAK;AACZ,QAAI,eAAe,OAAO;AACxB,cAAQ,MAAM,GAAGE,eAAAA,QAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE;AAAA,IACvD;AAAA,EACF;AACF;AAEA,MAAM,mBAAmB,OAAOF,OAAc,MAAc,YAAoB;AAC9E,MAAI;AACF,UAAMC,aAAAA,QAAI,UAAUD,OAAM,MAAM,EAAE,QAAQ,SAAS;AACnD,WAAO;AAAA,EACT,SAAS,KAAK;AACZ,QAAI,eAAe,OAAO;AACxB,cAAQ,MAAM,GAAGE,eAAAA,QAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE;AAAA,IACvD;AAAA,EACF;AACF;AAEA,MAAM,YAAY,OAAO,SAAiB;AACxC,MAAI;AACF,UAAM,QAAQ;AAEd,UAAMC,eAAAA,QAAM,4CAA4C;AAAA,MACtD,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA,UAAUC,UAAA;AAAA,QACV,iBAAiB,EAAE,WAAW,KAAA;AAAA,MAAK,CACpC;AAAA,MACD,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,MAAA;AAAA,IACpB,CACD;AAAA,EACH,SAAS,GAAG;AAAA,EAEZ;AACF;AAEA,eAA8B,kBAAkB;AAC9C,QAAM,kBAAkBC,KAAAA,QAAQ,QAAQ,IAAA,GAAO,cAAc;AAC7D,QAAM,SAAS,MAAMJ,qBAAI,WAAW,eAAe;AAEnD,MAAI,CAAC,QAAQ;AACX,YAAQ,IAAI,GAAGC,eAAAA,QAAM,OAAO,SAAS,CAAC,+BAA+B;AACrE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,EAAE,MAAM,WAAA,IAAgB,MAAM,gBAAgB,eAAe,KAAM,CAAA;AAEzE,MAAK,WAAW,UAAU,WAAW,OAAO,qBAAsB,CAAC,MAAM;AACvE,YAAQ,IAAI,GAAGA,eAAAA,QAAM,OAAO,UAAU,CAAC,gCAAgC;AACvE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,qBAAqB;AAAA,IACzB,GAAG;AAAA,IACH,QAAQ;AAAA,MACN,GAAG,WAAW;AAAA,MACd,mBAAmB;AAAA,IAAA;AAAA,EACrB;AAGF,QAAM,QAAQ,MAAM,iBAAiB,iBAAiB,oBAAoB,CAAC;AAE3E,MAAI,CAAC,OAAO;AACV,YAAQ;AAAA,MACN,GAAGA,eAAAA,QAAM;AAAA,QACP;AAAA,MAAA,CACD;AAAA,IAAA;AAEH,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,IAAI;AACpB,UAAQ,IAAI,GAAGA,eAAAA,QAAM,MAAM,4CAA4C,CAAC,EAAE;AAC1E,UAAQ,KAAK,CAAC;AAChB;;"}