@strapi/core 0.0.0-experimental.bffd3c1819cd08304e7d270e88b4973e9fcbc183 → 0.0.0-experimental.c23f51fc41b3ef5de081f427d07e87af93cdcb2c

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 (690) hide show
  1. package/dist/Strapi.js +426 -408
  2. package/dist/Strapi.js.map +1 -1
  3. package/dist/Strapi.mjs +426 -408
  4. package/dist/Strapi.mjs.map +1 -1
  5. package/dist/compile.js +23 -14
  6. package/dist/compile.js.map +1 -1
  7. package/dist/compile.mjs +22 -14
  8. package/dist/compile.mjs.map +1 -1
  9. package/dist/configuration/config-loader.js +110 -96
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +109 -95
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.js +31 -29
  14. package/dist/configuration/get-dirs.js.map +1 -1
  15. package/dist/configuration/get-dirs.mjs +30 -30
  16. package/dist/configuration/get-dirs.mjs.map +1 -1
  17. package/dist/configuration/index.d.ts.map +1 -1
  18. package/dist/configuration/index.js +84 -78
  19. package/dist/configuration/index.js.map +1 -1
  20. package/dist/configuration/index.mjs +83 -74
  21. package/dist/configuration/index.mjs.map +1 -1
  22. package/dist/configuration/urls.js +65 -61
  23. package/dist/configuration/urls.js.map +1 -1
  24. package/dist/configuration/urls.mjs +64 -62
  25. package/dist/configuration/urls.mjs.map +1 -1
  26. package/dist/container.js +27 -23
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.mjs +26 -24
  29. package/dist/container.mjs.map +1 -1
  30. package/dist/core-api/controller/collection-type.js +77 -76
  31. package/dist/core-api/controller/collection-type.js.map +1 -1
  32. package/dist/core-api/controller/collection-type.mjs +76 -77
  33. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  34. package/dist/core-api/controller/index.js +63 -48
  35. package/dist/core-api/controller/index.js.map +1 -1
  36. package/dist/core-api/controller/index.mjs +62 -49
  37. package/dist/core-api/controller/index.mjs.map +1 -1
  38. package/dist/core-api/controller/single-type.js +41 -40
  39. package/dist/core-api/controller/single-type.js.map +1 -1
  40. package/dist/core-api/controller/single-type.mjs +40 -41
  41. package/dist/core-api/controller/single-type.mjs.map +1 -1
  42. package/dist/core-api/controller/transform.js +72 -63
  43. package/dist/core-api/controller/transform.js.map +1 -1
  44. package/dist/core-api/controller/transform.mjs +71 -64
  45. package/dist/core-api/controller/transform.mjs.map +1 -1
  46. package/dist/core-api/routes/index.js +64 -62
  47. package/dist/core-api/routes/index.js.map +1 -1
  48. package/dist/core-api/routes/index.mjs +62 -62
  49. package/dist/core-api/routes/index.mjs.map +1 -1
  50. package/dist/core-api/service/collection-type.js +73 -60
  51. package/dist/core-api/service/collection-type.js.map +1 -1
  52. package/dist/core-api/service/collection-type.mjs +72 -62
  53. package/dist/core-api/service/collection-type.mjs.map +1 -1
  54. package/dist/core-api/service/core-service.js +9 -8
  55. package/dist/core-api/service/core-service.js.map +1 -1
  56. package/dist/core-api/service/core-service.mjs +8 -9
  57. package/dist/core-api/service/core-service.mjs.map +1 -1
  58. package/dist/core-api/service/index.js +13 -13
  59. package/dist/core-api/service/index.js.map +1 -1
  60. package/dist/core-api/service/index.mjs +12 -14
  61. package/dist/core-api/service/index.mjs.map +1 -1
  62. package/dist/core-api/service/pagination.js +69 -43
  63. package/dist/core-api/service/pagination.js.map +1 -1
  64. package/dist/core-api/service/pagination.mjs +68 -47
  65. package/dist/core-api/service/pagination.mjs.map +1 -1
  66. package/dist/core-api/service/single-type.js +43 -38
  67. package/dist/core-api/service/single-type.js.map +1 -1
  68. package/dist/core-api/service/single-type.mjs +42 -40
  69. package/dist/core-api/service/single-type.mjs.map +1 -1
  70. package/dist/domain/content-type/index.js +95 -100
  71. package/dist/domain/content-type/index.js.map +1 -1
  72. package/dist/domain/content-type/index.mjs +94 -100
  73. package/dist/domain/content-type/index.mjs.map +1 -1
  74. package/dist/domain/content-type/validator.js +84 -69
  75. package/dist/domain/content-type/validator.js.map +1 -1
  76. package/dist/domain/content-type/validator.mjs +83 -68
  77. package/dist/domain/content-type/validator.mjs.map +1 -1
  78. package/dist/domain/module/index.js +109 -100
  79. package/dist/domain/module/index.js.map +1 -1
  80. package/dist/domain/module/index.mjs +108 -99
  81. package/dist/domain/module/index.mjs.map +1 -1
  82. package/dist/domain/module/validation.js +25 -20
  83. package/dist/domain/module/validation.js.map +1 -1
  84. package/dist/domain/module/validation.mjs +24 -21
  85. package/dist/domain/module/validation.mjs.map +1 -1
  86. package/dist/ee/index.js +168 -137
  87. package/dist/ee/index.js.map +1 -1
  88. package/dist/ee/index.mjs +167 -139
  89. package/dist/ee/index.mjs.map +1 -1
  90. package/dist/ee/license.js +96 -75
  91. package/dist/ee/license.js.map +1 -1
  92. package/dist/ee/license.mjs +95 -76
  93. package/dist/ee/license.mjs.map +1 -1
  94. package/dist/factories.js +72 -67
  95. package/dist/factories.js.map +1 -1
  96. package/dist/factories.mjs +71 -71
  97. package/dist/factories.mjs.map +1 -1
  98. package/dist/index.js +29 -26
  99. package/dist/index.js.map +1 -1
  100. package/dist/index.mjs +29 -29
  101. package/dist/index.mjs.map +1 -1
  102. package/dist/loaders/admin.d.ts.map +1 -1
  103. package/dist/loaders/admin.js +21 -20
  104. package/dist/loaders/admin.js.map +1 -1
  105. package/dist/loaders/admin.mjs +20 -20
  106. package/dist/loaders/admin.mjs.map +1 -1
  107. package/dist/loaders/apis.js +143 -120
  108. package/dist/loaders/apis.js.map +1 -1
  109. package/dist/loaders/apis.mjs +142 -119
  110. package/dist/loaders/apis.mjs.map +1 -1
  111. package/dist/loaders/components.js +33 -34
  112. package/dist/loaders/components.js.map +1 -1
  113. package/dist/loaders/components.mjs +32 -34
  114. package/dist/loaders/components.mjs.map +1 -1
  115. package/dist/loaders/index.js +22 -20
  116. package/dist/loaders/index.js.map +1 -1
  117. package/dist/loaders/index.mjs +21 -21
  118. package/dist/loaders/index.mjs.map +1 -1
  119. package/dist/loaders/middlewares.js +29 -25
  120. package/dist/loaders/middlewares.js.map +1 -1
  121. package/dist/loaders/middlewares.mjs +28 -25
  122. package/dist/loaders/middlewares.mjs.map +1 -1
  123. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  124. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  125. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  126. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  127. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  128. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  129. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  130. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  131. package/dist/loaders/plugins/index.js +132 -121
  132. package/dist/loaders/plugins/index.js.map +1 -1
  133. package/dist/loaders/plugins/index.mjs +121 -112
  134. package/dist/loaders/plugins/index.mjs.map +1 -1
  135. package/dist/loaders/policies.js +24 -20
  136. package/dist/loaders/policies.js.map +1 -1
  137. package/dist/loaders/policies.mjs +23 -20
  138. package/dist/loaders/policies.mjs.map +1 -1
  139. package/dist/loaders/sanitizers.js +10 -4
  140. package/dist/loaders/sanitizers.js.map +1 -1
  141. package/dist/loaders/sanitizers.mjs +9 -6
  142. package/dist/loaders/sanitizers.mjs.map +1 -1
  143. package/dist/loaders/src-index.js +35 -27
  144. package/dist/loaders/src-index.js.map +1 -1
  145. package/dist/loaders/src-index.mjs +34 -29
  146. package/dist/loaders/src-index.mjs.map +1 -1
  147. package/dist/loaders/validators.js +9 -4
  148. package/dist/loaders/validators.js.map +1 -1
  149. package/dist/loaders/validators.mjs +8 -6
  150. package/dist/loaders/validators.mjs.map +1 -1
  151. package/dist/middlewares/body.d.ts.map +1 -1
  152. package/dist/middlewares/body.js +58 -54
  153. package/dist/middlewares/body.js.map +1 -1
  154. package/dist/middlewares/body.mjs +57 -51
  155. package/dist/middlewares/body.mjs.map +1 -1
  156. package/dist/middlewares/compression.js +6 -6
  157. package/dist/middlewares/compression.js.map +1 -1
  158. package/dist/middlewares/compression.mjs +5 -5
  159. package/dist/middlewares/compression.mjs.map +1 -1
  160. package/dist/middlewares/cors.js +59 -48
  161. package/dist/middlewares/cors.js.map +1 -1
  162. package/dist/middlewares/cors.mjs +58 -47
  163. package/dist/middlewares/cors.mjs.map +1 -1
  164. package/dist/middlewares/errors.js +32 -30
  165. package/dist/middlewares/errors.js.map +1 -1
  166. package/dist/middlewares/errors.mjs +31 -31
  167. package/dist/middlewares/errors.mjs.map +1 -1
  168. package/dist/middlewares/favicon.js +27 -17
  169. package/dist/middlewares/favicon.js.map +1 -1
  170. package/dist/middlewares/favicon.mjs +26 -16
  171. package/dist/middlewares/favicon.mjs.map +1 -1
  172. package/dist/middlewares/index.js +32 -30
  173. package/dist/middlewares/index.js.map +1 -1
  174. package/dist/middlewares/index.mjs +31 -31
  175. package/dist/middlewares/index.mjs.map +1 -1
  176. package/dist/middlewares/ip.js +6 -6
  177. package/dist/middlewares/ip.js.map +1 -1
  178. package/dist/middlewares/ip.mjs +5 -5
  179. package/dist/middlewares/ip.mjs.map +1 -1
  180. package/dist/middlewares/logger.js +10 -9
  181. package/dist/middlewares/logger.js.map +1 -1
  182. package/dist/middlewares/logger.mjs +9 -10
  183. package/dist/middlewares/logger.mjs.map +1 -1
  184. package/dist/middlewares/powered-by.js +13 -9
  185. package/dist/middlewares/powered-by.js.map +1 -1
  186. package/dist/middlewares/powered-by.mjs +12 -10
  187. package/dist/middlewares/powered-by.mjs.map +1 -1
  188. package/dist/middlewares/public.js +33 -29
  189. package/dist/middlewares/public.js.map +1 -1
  190. package/dist/middlewares/public.mjs +32 -28
  191. package/dist/middlewares/public.mjs.map +1 -1
  192. package/dist/middlewares/query.js +35 -32
  193. package/dist/middlewares/query.js.map +1 -1
  194. package/dist/middlewares/query.mjs +34 -31
  195. package/dist/middlewares/query.mjs.map +1 -1
  196. package/dist/middlewares/response-time.js +10 -9
  197. package/dist/middlewares/response-time.js.map +1 -1
  198. package/dist/middlewares/response-time.mjs +9 -10
  199. package/dist/middlewares/response-time.mjs.map +1 -1
  200. package/dist/middlewares/responses.js +14 -12
  201. package/dist/middlewares/responses.js.map +1 -1
  202. package/dist/middlewares/responses.mjs +13 -13
  203. package/dist/middlewares/responses.mjs.map +1 -1
  204. package/dist/middlewares/security.js +109 -71
  205. package/dist/middlewares/security.js.map +1 -1
  206. package/dist/middlewares/security.mjs +108 -70
  207. package/dist/middlewares/security.mjs.map +1 -1
  208. package/dist/middlewares/session.js +26 -25
  209. package/dist/middlewares/session.js.map +1 -1
  210. package/dist/middlewares/session.mjs +25 -24
  211. package/dist/middlewares/session.mjs.map +1 -1
  212. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -93
  213. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  214. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -95
  215. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  216. package/dist/migrations/draft-publish.d.ts +1 -1
  217. package/dist/migrations/draft-publish.d.ts.map +1 -1
  218. package/dist/migrations/draft-publish.js +61 -34
  219. package/dist/migrations/draft-publish.js.map +1 -1
  220. package/dist/migrations/draft-publish.mjs +60 -36
  221. package/dist/migrations/draft-publish.mjs.map +1 -1
  222. package/dist/migrations/i18n.js +62 -45
  223. package/dist/migrations/i18n.js.map +1 -1
  224. package/dist/migrations/i18n.mjs +61 -47
  225. package/dist/migrations/i18n.mjs.map +1 -1
  226. package/dist/migrations/index.js +24 -10
  227. package/dist/migrations/index.js.map +1 -1
  228. package/dist/migrations/index.mjs +23 -12
  229. package/dist/migrations/index.mjs.map +1 -1
  230. package/dist/package.json.js +182 -0
  231. package/dist/package.json.js.map +1 -0
  232. package/dist/package.json.mjs +159 -0
  233. package/dist/package.json.mjs.map +1 -0
  234. package/dist/providers/admin.js +27 -17
  235. package/dist/providers/admin.js.map +1 -1
  236. package/dist/providers/admin.mjs +26 -19
  237. package/dist/providers/admin.mjs.map +1 -1
  238. package/dist/providers/coreStore.js +13 -8
  239. package/dist/providers/coreStore.js.map +1 -1
  240. package/dist/providers/coreStore.mjs +12 -10
  241. package/dist/providers/coreStore.mjs.map +1 -1
  242. package/dist/providers/cron.js +19 -16
  243. package/dist/providers/cron.js.map +1 -1
  244. package/dist/providers/cron.mjs +18 -18
  245. package/dist/providers/cron.mjs.map +1 -1
  246. package/dist/providers/index.js +18 -9
  247. package/dist/providers/index.js.map +1 -1
  248. package/dist/providers/index.mjs +17 -10
  249. package/dist/providers/index.mjs.map +1 -1
  250. package/dist/providers/provider.js +4 -3
  251. package/dist/providers/provider.js.map +1 -1
  252. package/dist/providers/provider.mjs +3 -4
  253. package/dist/providers/provider.mjs.map +1 -1
  254. package/dist/providers/registries.js +37 -32
  255. package/dist/providers/registries.js.map +1 -1
  256. package/dist/providers/registries.mjs +36 -34
  257. package/dist/providers/registries.mjs.map +1 -1
  258. package/dist/providers/telemetry.js +19 -16
  259. package/dist/providers/telemetry.js.map +1 -1
  260. package/dist/providers/telemetry.mjs +18 -18
  261. package/dist/providers/telemetry.mjs.map +1 -1
  262. package/dist/providers/webhooks.js +28 -26
  263. package/dist/providers/webhooks.js.map +1 -1
  264. package/dist/providers/webhooks.mjs +27 -28
  265. package/dist/providers/webhooks.mjs.map +1 -1
  266. package/dist/registries/apis.js +23 -20
  267. package/dist/registries/apis.js.map +1 -1
  268. package/dist/registries/apis.mjs +22 -22
  269. package/dist/registries/apis.mjs.map +1 -1
  270. package/dist/registries/components.js +35 -37
  271. package/dist/registries/components.js.map +1 -1
  272. package/dist/registries/components.mjs +34 -39
  273. package/dist/registries/components.mjs.map +1 -1
  274. package/dist/registries/content-types.js +54 -59
  275. package/dist/registries/content-types.js.map +1 -1
  276. package/dist/registries/content-types.mjs +53 -61
  277. package/dist/registries/content-types.mjs.map +1 -1
  278. package/dist/registries/controllers.js +70 -71
  279. package/dist/registries/controllers.js.map +1 -1
  280. package/dist/registries/controllers.mjs +69 -73
  281. package/dist/registries/controllers.mjs.map +1 -1
  282. package/dist/registries/custom-fields.js +75 -65
  283. package/dist/registries/custom-fields.js.map +1 -1
  284. package/dist/registries/custom-fields.mjs +74 -67
  285. package/dist/registries/custom-fields.mjs.map +1 -1
  286. package/dist/registries/hooks.js +46 -49
  287. package/dist/registries/hooks.js.map +1 -1
  288. package/dist/registries/hooks.mjs +45 -51
  289. package/dist/registries/hooks.mjs.map +1 -1
  290. package/dist/registries/middlewares.js +49 -51
  291. package/dist/registries/middlewares.js.map +1 -1
  292. package/dist/registries/middlewares.mjs +48 -53
  293. package/dist/registries/middlewares.mjs.map +1 -1
  294. package/dist/registries/models.js +14 -13
  295. package/dist/registries/models.js.map +1 -1
  296. package/dist/registries/models.mjs +13 -14
  297. package/dist/registries/models.mjs.map +1 -1
  298. package/dist/registries/modules.js +39 -36
  299. package/dist/registries/modules.js.map +1 -1
  300. package/dist/registries/modules.mjs +38 -38
  301. package/dist/registries/modules.mjs.map +1 -1
  302. package/dist/registries/namespace.js +21 -20
  303. package/dist/registries/namespace.js.map +1 -1
  304. package/dist/registries/namespace.mjs +20 -23
  305. package/dist/registries/namespace.mjs.map +1 -1
  306. package/dist/registries/plugins.js +23 -20
  307. package/dist/registries/plugins.js.map +1 -1
  308. package/dist/registries/plugins.mjs +22 -22
  309. package/dist/registries/plugins.mjs.map +1 -1
  310. package/dist/registries/policies.js +103 -96
  311. package/dist/registries/policies.js.map +1 -1
  312. package/dist/registries/policies.mjs +102 -98
  313. package/dist/registries/policies.mjs.map +1 -1
  314. package/dist/registries/sanitizers.js +23 -22
  315. package/dist/registries/sanitizers.js.map +1 -1
  316. package/dist/registries/sanitizers.mjs +22 -22
  317. package/dist/registries/sanitizers.mjs.map +1 -1
  318. package/dist/registries/services.js +71 -71
  319. package/dist/registries/services.js.map +1 -1
  320. package/dist/registries/services.mjs +70 -73
  321. package/dist/registries/services.mjs.map +1 -1
  322. package/dist/registries/validators.js +23 -22
  323. package/dist/registries/validators.js.map +1 -1
  324. package/dist/registries/validators.mjs +22 -22
  325. package/dist/registries/validators.mjs.map +1 -1
  326. package/dist/services/auth/index.js +74 -74
  327. package/dist/services/auth/index.js.map +1 -1
  328. package/dist/services/auth/index.mjs +73 -74
  329. package/dist/services/auth/index.mjs.map +1 -1
  330. package/dist/services/config.js +47 -43
  331. package/dist/services/config.js.map +1 -1
  332. package/dist/services/config.mjs +46 -44
  333. package/dist/services/config.mjs.map +1 -1
  334. package/dist/services/content-api/index.js +80 -79
  335. package/dist/services/content-api/index.js.map +1 -1
  336. package/dist/services/content-api/index.mjs +79 -79
  337. package/dist/services/content-api/index.mjs.map +1 -1
  338. package/dist/services/content-api/permissions/engine.js +8 -5
  339. package/dist/services/content-api/permissions/engine.js.map +1 -1
  340. package/dist/services/content-api/permissions/engine.mjs +7 -5
  341. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  342. package/dist/services/content-api/permissions/index.js +101 -81
  343. package/dist/services/content-api/permissions/index.js.map +1 -1
  344. package/dist/services/content-api/permissions/index.mjs +100 -81
  345. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  346. package/dist/services/content-api/permissions/providers/action.js +17 -14
  347. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  348. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  349. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  351. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  352. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  353. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  354. package/dist/services/core-store.js +115 -95
  355. package/dist/services/core-store.js.map +1 -1
  356. package/dist/services/core-store.mjs +114 -97
  357. package/dist/services/core-store.mjs.map +1 -1
  358. package/dist/services/cron.js +74 -64
  359. package/dist/services/cron.js.map +1 -1
  360. package/dist/services/cron.mjs +73 -66
  361. package/dist/services/cron.mjs.map +1 -1
  362. package/dist/services/custom-fields.js +9 -7
  363. package/dist/services/custom-fields.js.map +1 -1
  364. package/dist/services/custom-fields.mjs +8 -9
  365. package/dist/services/custom-fields.mjs.map +1 -1
  366. package/dist/services/document-service/attributes/index.js +23 -18
  367. package/dist/services/document-service/attributes/index.js.map +1 -1
  368. package/dist/services/document-service/attributes/index.mjs +22 -19
  369. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  370. package/dist/services/document-service/attributes/transforms.js +16 -15
  371. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  372. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  373. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  374. package/dist/services/document-service/common.js +5 -4
  375. package/dist/services/document-service/common.js.map +1 -1
  376. package/dist/services/document-service/common.mjs +4 -5
  377. package/dist/services/document-service/common.mjs.map +1 -1
  378. package/dist/services/document-service/components.js +255 -257
  379. package/dist/services/document-service/components.js.map +1 -1
  380. package/dist/services/document-service/components.mjs +254 -262
  381. package/dist/services/document-service/components.mjs.map +1 -1
  382. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  383. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  384. package/dist/services/document-service/draft-and-publish.js +88 -48
  385. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  386. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  387. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  388. package/dist/services/document-service/entries.js +109 -91
  389. package/dist/services/document-service/entries.js.map +1 -1
  390. package/dist/services/document-service/entries.mjs +108 -92
  391. package/dist/services/document-service/entries.mjs.map +1 -1
  392. package/dist/services/document-service/events.d.ts +1 -1
  393. package/dist/services/document-service/events.d.ts.map +1 -1
  394. package/dist/services/document-service/events.js +52 -40
  395. package/dist/services/document-service/events.js.map +1 -1
  396. package/dist/services/document-service/events.mjs +51 -41
  397. package/dist/services/document-service/events.mjs.map +1 -1
  398. package/dist/services/document-service/index.js +53 -33
  399. package/dist/services/document-service/index.js.map +1 -1
  400. package/dist/services/document-service/index.mjs +52 -34
  401. package/dist/services/document-service/index.mjs.map +1 -1
  402. package/dist/services/document-service/internationalization.js +62 -46
  403. package/dist/services/document-service/internationalization.js.map +1 -1
  404. package/dist/services/document-service/internationalization.mjs +61 -50
  405. package/dist/services/document-service/internationalization.mjs.map +1 -1
  406. package/dist/services/document-service/middlewares/errors.js +23 -19
  407. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  408. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  409. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  410. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  411. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  412. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  413. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  414. package/dist/services/document-service/params.js +11 -5
  415. package/dist/services/document-service/params.js.map +1 -1
  416. package/dist/services/document-service/params.mjs +10 -6
  417. package/dist/services/document-service/params.mjs.map +1 -1
  418. package/dist/services/document-service/repository.d.ts.map +1 -1
  419. package/dist/services/document-service/repository.js +353 -321
  420. package/dist/services/document-service/repository.js.map +1 -1
  421. package/dist/services/document-service/repository.mjs +352 -322
  422. package/dist/services/document-service/repository.mjs.map +1 -1
  423. package/dist/services/document-service/transform/data.js +22 -12
  424. package/dist/services/document-service/transform/data.js.map +1 -1
  425. package/dist/services/document-service/transform/data.mjs +21 -13
  426. package/dist/services/document-service/transform/data.mjs.map +1 -1
  427. package/dist/services/document-service/transform/fields.js +26 -17
  428. package/dist/services/document-service/transform/fields.js.map +1 -1
  429. package/dist/services/document-service/transform/fields.mjs +25 -18
  430. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  431. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  432. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  433. package/dist/services/document-service/transform/id-map.js +115 -75
  434. package/dist/services/document-service/transform/id-map.js.map +1 -1
  435. package/dist/services/document-service/transform/id-map.mjs +114 -76
  436. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  437. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  438. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  439. package/dist/services/document-service/transform/id-transform.js +37 -29
  440. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  441. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  442. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  443. package/dist/services/document-service/transform/populate.js +23 -18
  444. package/dist/services/document-service/transform/populate.js.map +1 -1
  445. package/dist/services/document-service/transform/populate.mjs +22 -19
  446. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  447. package/dist/services/document-service/transform/query.js +11 -6
  448. package/dist/services/document-service/transform/query.js.map +1 -1
  449. package/dist/services/document-service/transform/query.mjs +10 -7
  450. package/dist/services/document-service/transform/query.mjs.map +1 -1
  451. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  452. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  453. package/dist/services/document-service/transform/relations/extract/data-ids.js +70 -54
  454. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  455. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +69 -55
  456. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  457. package/dist/services/document-service/transform/relations/transform/data-ids.js +96 -71
  458. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  459. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +95 -72
  460. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  461. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  462. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  463. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  464. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  465. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  466. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  467. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  468. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  469. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  470. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  471. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  472. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  473. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  474. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  475. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  476. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  477. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -70
  478. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  479. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -72
  480. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  481. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  482. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  483. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  484. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  485. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  486. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  487. package/dist/services/document-service/utils/populate.d.ts +1 -1
  488. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  489. package/dist/services/document-service/utils/populate.js +66 -42
  490. package/dist/services/document-service/utils/populate.js.map +1 -1
  491. package/dist/services/document-service/utils/populate.mjs +65 -43
  492. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  493. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  494. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  495. package/dist/services/document-service/utils/unidirectional-relations.js +110 -62
  496. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  497. package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -64
  498. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  499. package/dist/services/entity-service/index.js +230 -161
  500. package/dist/services/entity-service/index.js.map +1 -1
  501. package/dist/services/entity-service/index.mjs +229 -160
  502. package/dist/services/entity-service/index.mjs.map +1 -1
  503. package/dist/services/entity-validator/blocks-validator.js +135 -103
  504. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  505. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  506. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  507. package/dist/services/entity-validator/index.d.ts +1 -1
  508. package/dist/services/entity-validator/index.d.ts.map +1 -1
  509. package/dist/services/entity-validator/index.js +362 -367
  510. package/dist/services/entity-validator/index.js.map +1 -1
  511. package/dist/services/entity-validator/index.mjs +358 -364
  512. package/dist/services/entity-validator/index.mjs.map +1 -1
  513. package/dist/services/entity-validator/validators.js +268 -210
  514. package/dist/services/entity-validator/validators.js.map +1 -1
  515. package/dist/services/entity-validator/validators.mjs +267 -216
  516. package/dist/services/entity-validator/validators.mjs.map +1 -1
  517. package/dist/services/errors.js +65 -65
  518. package/dist/services/errors.js.map +1 -1
  519. package/dist/services/errors.mjs +64 -66
  520. package/dist/services/errors.mjs.map +1 -1
  521. package/dist/services/event-hub.js +82 -69
  522. package/dist/services/event-hub.js.map +1 -1
  523. package/dist/services/event-hub.mjs +81 -71
  524. package/dist/services/event-hub.mjs.map +1 -1
  525. package/dist/services/features.js +19 -14
  526. package/dist/services/features.js.map +1 -1
  527. package/dist/services/features.mjs +18 -15
  528. package/dist/services/features.mjs.map +1 -1
  529. package/dist/services/fs.js +41 -40
  530. package/dist/services/fs.js.map +1 -1
  531. package/dist/services/fs.mjs +40 -39
  532. package/dist/services/fs.mjs.map +1 -1
  533. package/dist/services/metrics/admin-user-hash.js +13 -11
  534. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  535. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  536. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  537. package/dist/services/metrics/index.js +46 -39
  538. package/dist/services/metrics/index.js.map +1 -1
  539. package/dist/services/metrics/index.mjs +45 -41
  540. package/dist/services/metrics/index.mjs.map +1 -1
  541. package/dist/services/metrics/is-truthy.js +13 -6
  542. package/dist/services/metrics/is-truthy.js.map +1 -1
  543. package/dist/services/metrics/is-truthy.mjs +12 -6
  544. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  545. package/dist/services/metrics/middleware.js +35 -22
  546. package/dist/services/metrics/middleware.js.map +1 -1
  547. package/dist/services/metrics/middleware.mjs +34 -24
  548. package/dist/services/metrics/middleware.mjs.map +1 -1
  549. package/dist/services/metrics/rate-limiter.js +22 -20
  550. package/dist/services/metrics/rate-limiter.js.map +1 -1
  551. package/dist/services/metrics/rate-limiter.mjs +21 -22
  552. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  553. package/dist/services/metrics/sender.js +78 -69
  554. package/dist/services/metrics/sender.js.map +1 -1
  555. package/dist/services/metrics/sender.mjs +77 -64
  556. package/dist/services/metrics/sender.mjs.map +1 -1
  557. package/dist/services/query-params.js +13 -10
  558. package/dist/services/query-params.js.map +1 -1
  559. package/dist/services/query-params.mjs +12 -12
  560. package/dist/services/query-params.mjs.map +1 -1
  561. package/dist/services/reloader.js +35 -32
  562. package/dist/services/reloader.js.map +1 -1
  563. package/dist/services/reloader.mjs +34 -33
  564. package/dist/services/reloader.mjs.map +1 -1
  565. package/dist/services/request-context.js +11 -8
  566. package/dist/services/request-context.js.map +1 -1
  567. package/dist/services/request-context.mjs +10 -10
  568. package/dist/services/request-context.mjs.map +1 -1
  569. package/dist/services/server/admin-api.js +11 -10
  570. package/dist/services/server/admin-api.js.map +1 -1
  571. package/dist/services/server/admin-api.mjs +10 -11
  572. package/dist/services/server/admin-api.mjs.map +1 -1
  573. package/dist/services/server/api.js +33 -27
  574. package/dist/services/server/api.js.map +1 -1
  575. package/dist/services/server/api.mjs +32 -26
  576. package/dist/services/server/api.mjs.map +1 -1
  577. package/dist/services/server/compose-endpoint.js +116 -105
  578. package/dist/services/server/compose-endpoint.js.map +1 -1
  579. package/dist/services/server/compose-endpoint.mjs +115 -105
  580. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  581. package/dist/services/server/content-api.js +11 -9
  582. package/dist/services/server/content-api.js.map +1 -1
  583. package/dist/services/server/content-api.mjs +10 -10
  584. package/dist/services/server/content-api.mjs.map +1 -1
  585. package/dist/services/server/http-server.js +48 -44
  586. package/dist/services/server/http-server.js.map +1 -1
  587. package/dist/services/server/http-server.mjs +47 -43
  588. package/dist/services/server/http-server.mjs.map +1 -1
  589. package/dist/services/server/index.js +85 -82
  590. package/dist/services/server/index.js.map +1 -1
  591. package/dist/services/server/index.mjs +84 -81
  592. package/dist/services/server/index.mjs.map +1 -1
  593. package/dist/services/server/koa.js +49 -47
  594. package/dist/services/server/koa.js.map +1 -1
  595. package/dist/services/server/koa.mjs +48 -44
  596. package/dist/services/server/koa.mjs.map +1 -1
  597. package/dist/services/server/middleware.js +86 -82
  598. package/dist/services/server/middleware.js.map +1 -1
  599. package/dist/services/server/middleware.mjs +85 -82
  600. package/dist/services/server/middleware.mjs.map +1 -1
  601. package/dist/services/server/policy.js +24 -17
  602. package/dist/services/server/policy.js.map +1 -1
  603. package/dist/services/server/policy.mjs +23 -18
  604. package/dist/services/server/policy.mjs.map +1 -1
  605. package/dist/services/server/register-middlewares.js +68 -61
  606. package/dist/services/server/register-middlewares.js.map +1 -1
  607. package/dist/services/server/register-middlewares.mjs +67 -63
  608. package/dist/services/server/register-middlewares.mjs.map +1 -1
  609. package/dist/services/server/register-routes.js +90 -67
  610. package/dist/services/server/register-routes.js.map +1 -1
  611. package/dist/services/server/register-routes.mjs +89 -67
  612. package/dist/services/server/register-routes.mjs.map +1 -1
  613. package/dist/services/server/routing.js +94 -81
  614. package/dist/services/server/routing.js.map +1 -1
  615. package/dist/services/server/routing.mjs +93 -81
  616. package/dist/services/server/routing.mjs.map +1 -1
  617. package/dist/services/utils/dynamic-zones.js +13 -14
  618. package/dist/services/utils/dynamic-zones.js.map +1 -1
  619. package/dist/services/utils/dynamic-zones.mjs +12 -16
  620. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  621. package/dist/services/webhook-runner.js +124 -122
  622. package/dist/services/webhook-runner.js.map +1 -1
  623. package/dist/services/webhook-runner.mjs +123 -121
  624. package/dist/services/webhook-runner.mjs.map +1 -1
  625. package/dist/services/webhook-store.js +132 -99
  626. package/dist/services/webhook-store.js.map +1 -1
  627. package/dist/services/webhook-store.mjs +131 -101
  628. package/dist/services/webhook-store.mjs.map +1 -1
  629. package/dist/services/worker-queue.js +44 -49
  630. package/dist/services/worker-queue.js.map +1 -1
  631. package/dist/services/worker-queue.mjs +43 -49
  632. package/dist/services/worker-queue.mjs.map +1 -1
  633. package/dist/utils/convert-custom-field-type.js +17 -20
  634. package/dist/utils/convert-custom-field-type.js.map +1 -1
  635. package/dist/utils/convert-custom-field-type.mjs +16 -21
  636. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  637. package/dist/utils/cron.js +64 -30
  638. package/dist/utils/cron.js.map +1 -1
  639. package/dist/utils/cron.mjs +63 -31
  640. package/dist/utils/cron.mjs.map +1 -1
  641. package/dist/utils/fetch.js +24 -18
  642. package/dist/utils/fetch.js.map +1 -1
  643. package/dist/utils/fetch.mjs +23 -19
  644. package/dist/utils/fetch.mjs.map +1 -1
  645. package/dist/utils/filepath-to-prop-path.js +20 -28
  646. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  647. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  648. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  649. package/dist/utils/is-initialized.js +21 -12
  650. package/dist/utils/is-initialized.js.map +1 -1
  651. package/dist/utils/is-initialized.mjs +20 -13
  652. package/dist/utils/is-initialized.mjs.map +1 -1
  653. package/dist/utils/lifecycles.js +6 -5
  654. package/dist/utils/lifecycles.js.map +1 -1
  655. package/dist/utils/lifecycles.mjs +5 -6
  656. package/dist/utils/lifecycles.mjs.map +1 -1
  657. package/dist/utils/load-config-file.js +40 -38
  658. package/dist/utils/load-config-file.js.map +1 -1
  659. package/dist/utils/load-config-file.mjs +39 -36
  660. package/dist/utils/load-config-file.mjs.map +1 -1
  661. package/dist/utils/load-files.js +40 -34
  662. package/dist/utils/load-files.js.map +1 -1
  663. package/dist/utils/load-files.mjs +39 -31
  664. package/dist/utils/load-files.mjs.map +1 -1
  665. package/dist/utils/open-browser.js +8 -8
  666. package/dist/utils/open-browser.js.map +1 -1
  667. package/dist/utils/open-browser.mjs +7 -7
  668. package/dist/utils/open-browser.mjs.map +1 -1
  669. package/dist/utils/resolve-working-dirs.js +23 -10
  670. package/dist/utils/resolve-working-dirs.js.map +1 -1
  671. package/dist/utils/resolve-working-dirs.mjs +22 -9
  672. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  673. package/dist/utils/signals.js +20 -14
  674. package/dist/utils/signals.js.map +1 -1
  675. package/dist/utils/signals.mjs +19 -15
  676. package/dist/utils/signals.mjs.map +1 -1
  677. package/dist/utils/startup-logger.js +107 -83
  678. package/dist/utils/startup-logger.js.map +1 -1
  679. package/dist/utils/startup-logger.mjs +106 -80
  680. package/dist/utils/startup-logger.mjs.map +1 -1
  681. package/dist/utils/transform-content-types-to-models.js +350 -261
  682. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  683. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  684. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  685. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  686. package/dist/utils/update-notifier/index.js +68 -73
  687. package/dist/utils/update-notifier/index.js.map +1 -1
  688. package/dist/utils/update-notifier/index.mjs +67 -67
  689. package/dist/utils/update-notifier/index.mjs.map +1 -1
  690. package/package.json +24 -24
@@ -1,103 +1,117 @@
1
- import path from "path";
2
- import fs from "fs";
3
- import { loadConfigFile } from "../utils/load-config-file.mjs";
4
- const VALID_EXTENSIONS = [".js", ".json"];
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { loadConfigFile } from '../utils/load-config-file.mjs';
4
+
5
+ const VALID_EXTENSIONS = [
6
+ '.js',
7
+ '.json'
8
+ ];
9
+ // These filenames are restricted, but will also emit a warning that the filename is probably a mistake
5
10
  const MISTAKEN_FILENAMES = {
6
- middleware: "middlewares",
7
- plugin: "plugins"
11
+ middleware: 'middlewares',
12
+ plugin: 'plugins'
8
13
  };
14
+ // the following are restricted to prevent conflicts with existing STRAPI_* env vars or root level config options
15
+ // must all be lowercase to match validator
9
16
  const RESTRICTED_FILENAMES = [
10
- // existing env vars
11
- "uuid",
12
- "hosting",
13
- "license",
14
- "enforce",
15
- "disable",
16
- "enable",
17
- "telemetry",
18
- // reserved for future internal use
19
- "strapi",
20
- "internal",
21
- // root level config options
22
- // TODO: it would be better to move these out of the root config and allow them to be loaded
23
- "launchedAt",
24
- "serveAdminPanel",
25
- "autoReload",
26
- "environment",
27
- "packageJsonStrapi",
28
- "info",
29
- "autoReload",
30
- "dirs",
31
- // probably mistaken/typo filenames
32
- ...Object.keys(MISTAKEN_FILENAMES)
17
+ // existing env vars
18
+ 'uuid',
19
+ 'hosting',
20
+ 'license',
21
+ 'enforce',
22
+ 'disable',
23
+ 'enable',
24
+ 'telemetry',
25
+ // reserved for future internal use
26
+ 'strapi',
27
+ 'internal',
28
+ // root level config options
29
+ // TODO: it would be better to move these out of the root config and allow them to be loaded
30
+ 'launchedAt',
31
+ 'serveAdminPanel',
32
+ 'autoReload',
33
+ 'environment',
34
+ 'packageJsonStrapi',
35
+ 'info',
36
+ 'autoReload',
37
+ 'dirs',
38
+ // probably mistaken/typo filenames
39
+ ...Object.keys(MISTAKEN_FILENAMES)
33
40
  ];
41
+ // Existing Strapi configuration files
34
42
  const STRAPI_CONFIG_FILENAMES = [
35
- "admin",
36
- "server",
37
- "api",
38
- "database",
39
- "middlewares",
40
- "plugins",
41
- "features"
43
+ 'admin',
44
+ 'server',
45
+ 'api',
46
+ 'database',
47
+ 'middlewares',
48
+ 'plugins',
49
+ 'features'
42
50
  ];
43
- const logWarning = (message) => {
44
- console.warn(message);
45
- };
46
- const loadConfigDir = (dir) => {
47
- if (!fs.existsSync(dir)) return {};
48
- const allFiles = fs.readdirSync(dir, { withFileTypes: true });
49
- const seenFilenames = /* @__PURE__ */ new Set();
50
- const configFiles = allFiles.reduce((acc, file) => {
51
- const baseName = path.basename(file.name, path.extname(file.name));
52
- const baseNameLower = baseName.toLowerCase();
53
- const extension = path.extname(file.name);
54
- const extensionLower = extension.toLowerCase();
55
- if (!file.isFile()) {
56
- return acc;
57
- }
58
- if (!VALID_EXTENSIONS.includes(extensionLower)) {
59
- logWarning(
60
- `Config file not loaded, extension must be one of ${VALID_EXTENSIONS.join(",")}): ${file.name}`
61
- );
62
- return acc;
63
- }
64
- if (RESTRICTED_FILENAMES.includes(baseNameLower)) {
65
- logWarning(`Config file not loaded, restricted filename: ${file.name}`);
66
- if (baseNameLower in MISTAKEN_FILENAMES) {
67
- console.log(
68
- `Did you mean ${MISTAKEN_FILENAMES[baseNameLower]}]} ?`
69
- );
70
- }
71
- return acc;
72
- }
73
- const restrictedPrefix = [...RESTRICTED_FILENAMES, ...STRAPI_CONFIG_FILENAMES].find(
74
- (restrictedName) => restrictedName.startsWith(baseNameLower) && restrictedName !== baseNameLower
75
- );
76
- if (restrictedPrefix) {
77
- logWarning(
78
- `Config file not loaded, filename cannot start with ${restrictedPrefix}: ${file.name}`
79
- );
80
- }
81
- if (seenFilenames.has(baseNameLower)) {
82
- logWarning(
83
- `Config file not loaded, case-insensitive name matches other config file: ${file.name}`
84
- );
85
- return acc;
86
- }
87
- seenFilenames.add(baseNameLower);
88
- acc.push(file);
89
- return acc;
90
- }, []);
91
- return configFiles.reduce(
92
- (acc, file) => {
93
- const key = path.basename(file.name, path.extname(file.name));
94
- acc[key] = loadConfigFile(path.resolve(dir, file.name));
95
- return acc;
96
- },
97
- {}
98
- );
99
- };
100
- export {
101
- loadConfigDir as default
51
+ // Note: we don't have access to strapi logger at this point so we can't use it
52
+ const logWarning = (message)=>{
53
+ console.warn(message);
102
54
  };
55
+ var loadConfigDir = ((dir)=>{
56
+ if (!fs.existsSync(dir)) return {};
57
+ const allFiles = fs.readdirSync(dir, {
58
+ withFileTypes: true
59
+ });
60
+ const seenFilenames = new Set();
61
+ const configFiles = allFiles.reduce((acc, file)=>{
62
+ const baseName = path.basename(file.name, path.extname(file.name));
63
+ const baseNameLower = baseName.toLowerCase();
64
+ const extension = path.extname(file.name);
65
+ const extensionLower = extension.toLowerCase();
66
+ if (!file.isFile()) {
67
+ return acc;
68
+ }
69
+ if (!VALID_EXTENSIONS.includes(extensionLower)) {
70
+ logWarning(`Config file not loaded, extension must be one of ${VALID_EXTENSIONS.join(',')}): ${file.name}`);
71
+ return acc;
72
+ }
73
+ if (RESTRICTED_FILENAMES.includes(baseNameLower)) {
74
+ logWarning(`Config file not loaded, restricted filename: ${file.name}`);
75
+ // suggest the filename they probably meant
76
+ if (baseNameLower in MISTAKEN_FILENAMES) {
77
+ console.log(`Did you mean ${MISTAKEN_FILENAMES[baseNameLower]}]} ?`);
78
+ }
79
+ return acc;
80
+ }
81
+ // restricted names and Strapi configs are also restricted from being prefixes
82
+ const restrictedPrefix = [
83
+ ...RESTRICTED_FILENAMES,
84
+ ...STRAPI_CONFIG_FILENAMES
85
+ ].find((restrictedName)=>restrictedName.startsWith(baseNameLower) && restrictedName !== baseNameLower);
86
+ if (restrictedPrefix) {
87
+ logWarning(`Config file not loaded, filename cannot start with ${restrictedPrefix}: ${file.name}`);
88
+ }
89
+ /**
90
+ * Note: If user config files contain non-alpha-numeric characters, we won't be able to auto-load env
91
+ * into them.
92
+ *
93
+ * For the initial feature, we will only load our internal configs, but later when we provide a method
94
+ * to define the shape of custom configs, we will need to warn that those filenames can't be loaded
95
+ * for technical limitations on env variable names
96
+ * */ // if (!/^[A-Za-z0-9]+$/.test(baseName)) {
97
+ // logWarning("Using a non-alphanumeric config file name prevents Strapi from auto-loading it from environment variables.")
98
+ // }
99
+ // filter filenames without case-insensitive uniqueness
100
+ if (seenFilenames.has(baseNameLower)) {
101
+ logWarning(`Config file not loaded, case-insensitive name matches other config file: ${file.name}`);
102
+ return acc;
103
+ }
104
+ seenFilenames.add(baseNameLower);
105
+ // If file passes all filters, add it to the accumulator
106
+ acc.push(file);
107
+ return acc;
108
+ }, []);
109
+ return configFiles.reduce((acc, file)=>{
110
+ const key = path.basename(file.name, path.extname(file.name));
111
+ acc[key] = loadConfigFile(path.resolve(dir, file.name));
112
+ return acc;
113
+ }, {});
114
+ });
115
+
116
+ export { loadConfigDir as default };
103
117
  //# sourceMappingURL=config-loader.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.mjs","sources":["../../src/configuration/config-loader.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { loadConfigFile } from '../utils/load-config-file';\n\nconst VALID_EXTENSIONS = ['.js', '.json'];\n\n// These filenames are restricted, but will also emit a warning that the filename is probably a mistake\nconst MISTAKEN_FILENAMES = {\n middleware: 'middlewares',\n plugin: 'plugins',\n};\n\n// the following are restricted to prevent conflicts with existing STRAPI_* env vars or root level config options\n// must all be lowercase to match validator\nconst RESTRICTED_FILENAMES = [\n // existing env vars\n 'uuid',\n 'hosting',\n 'license',\n 'enforce',\n 'disable',\n 'enable',\n 'telemetry',\n\n // reserved for future internal use\n 'strapi',\n 'internal',\n\n // root level config options\n // TODO: it would be better to move these out of the root config and allow them to be loaded\n 'launchedAt',\n 'serveAdminPanel',\n 'autoReload',\n 'environment',\n 'packageJsonStrapi',\n 'info',\n 'autoReload',\n 'dirs',\n\n // probably mistaken/typo filenames\n ...Object.keys(MISTAKEN_FILENAMES),\n];\n\n// Existing Strapi configuration files\nconst STRAPI_CONFIG_FILENAMES = [\n 'admin',\n 'server',\n 'api',\n 'database',\n 'middlewares',\n 'plugins',\n 'features',\n];\n\n// Note: we don't have access to strapi logger at this point so we can't use it\nconst logWarning = (message: string) => {\n console.warn(message);\n};\n\nexport default (dir: string) => {\n if (!fs.existsSync(dir)) return {};\n\n const allFiles = fs.readdirSync(dir, { withFileTypes: true });\n const seenFilenames = new Set<string>();\n const configFiles = allFiles.reduce((acc, file) => {\n const baseName = path.basename(file.name, path.extname(file.name));\n const baseNameLower = baseName.toLowerCase();\n const extension = path.extname(file.name);\n const extensionLower = extension.toLowerCase();\n\n if (!file.isFile()) {\n return acc;\n }\n\n if (!VALID_EXTENSIONS.includes(extensionLower)) {\n logWarning(\n `Config file not loaded, extension must be one of ${VALID_EXTENSIONS.join(',')}): ${\n file.name\n }`\n );\n return acc;\n }\n\n if (RESTRICTED_FILENAMES.includes(baseNameLower)) {\n logWarning(`Config file not loaded, restricted filename: ${file.name}`);\n\n // suggest the filename they probably meant\n if (baseNameLower in MISTAKEN_FILENAMES) {\n console.log(\n `Did you mean ${MISTAKEN_FILENAMES[baseNameLower as keyof typeof MISTAKEN_FILENAMES]}]} ?`\n );\n }\n\n return acc;\n }\n\n // restricted names and Strapi configs are also restricted from being prefixes\n const restrictedPrefix = [...RESTRICTED_FILENAMES, ...STRAPI_CONFIG_FILENAMES].find(\n (restrictedName) =>\n restrictedName.startsWith(baseNameLower) && restrictedName !== baseNameLower\n );\n if (restrictedPrefix) {\n logWarning(\n `Config file not loaded, filename cannot start with ${restrictedPrefix}: ${file.name}`\n );\n }\n\n /**\n * Note: If user config files contain non-alpha-numeric characters, we won't be able to auto-load env\n * into them.\n *\n * For the initial feature, we will only load our internal configs, but later when we provide a method\n * to define the shape of custom configs, we will need to warn that those filenames can't be loaded\n * for technical limitations on env variable names\n * */\n // if (!/^[A-Za-z0-9]+$/.test(baseName)) {\n // logWarning(\"Using a non-alphanumeric config file name prevents Strapi from auto-loading it from environment variables.\")\n // }\n\n // filter filenames without case-insensitive uniqueness\n if (seenFilenames.has(baseNameLower)) {\n logWarning(\n `Config file not loaded, case-insensitive name matches other config file: ${file.name}`\n );\n return acc;\n }\n seenFilenames.add(baseNameLower);\n\n // If file passes all filters, add it to the accumulator\n acc.push(file);\n return acc;\n }, [] as fs.Dirent[]);\n\n return configFiles.reduce(\n (acc, file) => {\n const key = path.basename(file.name, path.extname(file.name));\n\n acc[key] = loadConfigFile(path.resolve(dir, file.name));\n\n return acc;\n },\n {} as Record<string, unknown>\n );\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,mBAAmB,CAAC,OAAO,OAAO;AAGxC,MAAM,qBAAqB;AAAA,EACzB,YAAY;AAAA,EACZ,QAAQ;AACV;AAIA,MAAM,uBAAuB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA,GAAG,OAAO,KAAK,kBAAkB;AACnC;AAGA,MAAM,0BAA0B;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGA,MAAM,aAAa,CAAC,YAAoB;AACtC,UAAQ,KAAK,OAAO;AACtB;AAEA,MAAe,gBAAA,CAAC,QAAgB;AAC9B,MAAI,CAAC,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjC,QAAM,WAAW,GAAG,YAAY,KAAK,EAAE,eAAe,MAAM;AACtD,QAAA,oCAAoB,IAAY;AACtC,QAAM,cAAc,SAAS,OAAO,CAAC,KAAK,SAAS;AAC3C,UAAA,WAAW,KAAK,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,IAAI,CAAC;AAC3D,UAAA,gBAAgB,SAAS,YAAY;AAC3C,UAAM,YAAY,KAAK,QAAQ,KAAK,IAAI;AAClC,UAAA,iBAAiB,UAAU,YAAY;AAEzC,QAAA,CAAC,KAAK,UAAU;AACX,aAAA;AAAA,IAAA;AAGT,QAAI,CAAC,iBAAiB,SAAS,cAAc,GAAG;AAC9C;AAAA,QACE,oDAAoD,iBAAiB,KAAK,GAAG,CAAC,MAC5E,KAAK,IACP;AAAA,MACF;AACO,aAAA;AAAA,IAAA;AAGL,QAAA,qBAAqB,SAAS,aAAa,GAAG;AACrC,iBAAA,gDAAgD,KAAK,IAAI,EAAE;AAGtE,UAAI,iBAAiB,oBAAoB;AAC/B,gBAAA;AAAA,UACN,gBAAgB,mBAAmB,aAAgD,CAAC;AAAA,QACtF;AAAA,MAAA;AAGK,aAAA;AAAA,IAAA;AAIT,UAAM,mBAAmB,CAAC,GAAG,sBAAsB,GAAG,uBAAuB,EAAE;AAAA,MAC7E,CAAC,mBACC,eAAe,WAAW,aAAa,KAAK,mBAAmB;AAAA,IACnE;AACA,QAAI,kBAAkB;AACpB;AAAA,QACE,sDAAsD,gBAAgB,KAAK,KAAK,IAAI;AAAA,MACtF;AAAA,IAAA;AAgBE,QAAA,cAAc,IAAI,aAAa,GAAG;AACpC;AAAA,QACE,4EAA4E,KAAK,IAAI;AAAA,MACvF;AACO,aAAA;AAAA,IAAA;AAET,kBAAc,IAAI,aAAa;AAG/B,QAAI,KAAK,IAAI;AACN,WAAA;AAAA,EACT,GAAG,EAAiB;AAEpB,SAAO,YAAY;AAAA,IACjB,CAAC,KAAK,SAAS;AACP,YAAA,MAAM,KAAK,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,IAAI,CAAC;AAExD,UAAA,GAAG,IAAI,eAAe,KAAK,QAAQ,KAAK,KAAK,IAAI,CAAC;AAE/C,aAAA;AAAA,IACT;AAAA,IACA,CAAA;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"config-loader.mjs","sources":["../../src/configuration/config-loader.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport { loadConfigFile } from '../utils/load-config-file';\n\nconst VALID_EXTENSIONS = ['.js', '.json'];\n\n// These filenames are restricted, but will also emit a warning that the filename is probably a mistake\nconst MISTAKEN_FILENAMES = {\n middleware: 'middlewares',\n plugin: 'plugins',\n};\n\n// the following are restricted to prevent conflicts with existing STRAPI_* env vars or root level config options\n// must all be lowercase to match validator\nconst RESTRICTED_FILENAMES = [\n // existing env vars\n 'uuid',\n 'hosting',\n 'license',\n 'enforce',\n 'disable',\n 'enable',\n 'telemetry',\n\n // reserved for future internal use\n 'strapi',\n 'internal',\n\n // root level config options\n // TODO: it would be better to move these out of the root config and allow them to be loaded\n 'launchedAt',\n 'serveAdminPanel',\n 'autoReload',\n 'environment',\n 'packageJsonStrapi',\n 'info',\n 'autoReload',\n 'dirs',\n\n // probably mistaken/typo filenames\n ...Object.keys(MISTAKEN_FILENAMES),\n];\n\n// Existing Strapi configuration files\nconst STRAPI_CONFIG_FILENAMES = [\n 'admin',\n 'server',\n 'api',\n 'database',\n 'middlewares',\n 'plugins',\n 'features',\n];\n\n// Note: we don't have access to strapi logger at this point so we can't use it\nconst logWarning = (message: string) => {\n console.warn(message);\n};\n\nexport default (dir: string) => {\n if (!fs.existsSync(dir)) return {};\n\n const allFiles = fs.readdirSync(dir, { withFileTypes: true });\n const seenFilenames = new Set<string>();\n const configFiles = allFiles.reduce((acc, file) => {\n const baseName = path.basename(file.name, path.extname(file.name));\n const baseNameLower = baseName.toLowerCase();\n const extension = path.extname(file.name);\n const extensionLower = extension.toLowerCase();\n\n if (!file.isFile()) {\n return acc;\n }\n\n if (!VALID_EXTENSIONS.includes(extensionLower)) {\n logWarning(\n `Config file not loaded, extension must be one of ${VALID_EXTENSIONS.join(',')}): ${\n file.name\n }`\n );\n return acc;\n }\n\n if (RESTRICTED_FILENAMES.includes(baseNameLower)) {\n logWarning(`Config file not loaded, restricted filename: ${file.name}`);\n\n // suggest the filename they probably meant\n if (baseNameLower in MISTAKEN_FILENAMES) {\n console.log(\n `Did you mean ${MISTAKEN_FILENAMES[baseNameLower as keyof typeof MISTAKEN_FILENAMES]}]} ?`\n );\n }\n\n return acc;\n }\n\n // restricted names and Strapi configs are also restricted from being prefixes\n const restrictedPrefix = [...RESTRICTED_FILENAMES, ...STRAPI_CONFIG_FILENAMES].find(\n (restrictedName) =>\n restrictedName.startsWith(baseNameLower) && restrictedName !== baseNameLower\n );\n if (restrictedPrefix) {\n logWarning(\n `Config file not loaded, filename cannot start with ${restrictedPrefix}: ${file.name}`\n );\n }\n\n /**\n * Note: If user config files contain non-alpha-numeric characters, we won't be able to auto-load env\n * into them.\n *\n * For the initial feature, we will only load our internal configs, but later when we provide a method\n * to define the shape of custom configs, we will need to warn that those filenames can't be loaded\n * for technical limitations on env variable names\n * */\n // if (!/^[A-Za-z0-9]+$/.test(baseName)) {\n // logWarning(\"Using a non-alphanumeric config file name prevents Strapi from auto-loading it from environment variables.\")\n // }\n\n // filter filenames without case-insensitive uniqueness\n if (seenFilenames.has(baseNameLower)) {\n logWarning(\n `Config file not loaded, case-insensitive name matches other config file: ${file.name}`\n );\n return acc;\n }\n seenFilenames.add(baseNameLower);\n\n // If file passes all filters, add it to the accumulator\n acc.push(file);\n return acc;\n }, [] as fs.Dirent[]);\n\n return configFiles.reduce(\n (acc, file) => {\n const key = path.basename(file.name, path.extname(file.name));\n\n acc[key] = loadConfigFile(path.resolve(dir, file.name));\n\n return acc;\n },\n {} as Record<string, unknown>\n );\n};\n"],"names":["VALID_EXTENSIONS","MISTAKEN_FILENAMES","middleware","plugin","RESTRICTED_FILENAMES","Object","keys","STRAPI_CONFIG_FILENAMES","logWarning","message","console","warn","dir","fs","existsSync","allFiles","readdirSync","withFileTypes","seenFilenames","Set","configFiles","reduce","acc","file","baseName","path","basename","name","extname","baseNameLower","toLowerCase","extension","extensionLower","isFile","includes","join","log","restrictedPrefix","find","restrictedName","startsWith","has","add","push","key","loadConfigFile","resolve"],"mappings":";;;;AAIA,MAAMA,gBAAmB,GAAA;AAAC,IAAA,KAAA;AAAO,IAAA;AAAQ,CAAA;AAEzC;AACA,MAAMC,kBAAqB,GAAA;IACzBC,UAAY,EAAA,aAAA;IACZC,MAAQ,EAAA;AACV,CAAA;AAEA;AACA;AACA,MAAMC,oBAAuB,GAAA;;AAE3B,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AACA,IAAA,QAAA;AACA,IAAA,WAAA;;AAGA,IAAA,QAAA;AACA,IAAA,UAAA;;;AAIA,IAAA,YAAA;AACA,IAAA,iBAAA;AACA,IAAA,YAAA;AACA,IAAA,aAAA;AACA,IAAA,mBAAA;AACA,IAAA,MAAA;AACA,IAAA,YAAA;AACA,IAAA,MAAA;;AAGGC,IAAAA,GAAAA,MAAAA,CAAOC,IAAI,CAACL,kBAAAA;AAChB,CAAA;AAED;AACA,MAAMM,uBAA0B,GAAA;AAC9B,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,KAAA;AACA,IAAA,UAAA;AACA,IAAA,aAAA;AACA,IAAA,SAAA;AACA,IAAA;AACD,CAAA;AAED;AACA,MAAMC,aAAa,CAACC,OAAAA,GAAAA;AAClBC,IAAAA,OAAAA,CAAQC,IAAI,CAACF,OAAAA,CAAAA;AACf,CAAA;AAEA,oBAAe,CAAA,CAACG,GAAAA,GAAAA;AACd,IAAA,IAAI,CAACC,EAAGC,CAAAA,UAAU,CAACF,GAAAA,CAAAA,EAAM,OAAO,EAAC;AAEjC,IAAA,MAAMG,QAAWF,GAAAA,EAAAA,CAAGG,WAAW,CAACJ,GAAK,EAAA;QAAEK,aAAe,EAAA;AAAK,KAAA,CAAA;AAC3D,IAAA,MAAMC,gBAAgB,IAAIC,GAAAA,EAAAA;AAC1B,IAAA,MAAMC,WAAcL,GAAAA,QAAAA,CAASM,MAAM,CAAC,CAACC,GAAKC,EAAAA,IAAAA,GAAAA;QACxC,MAAMC,QAAAA,GAAWC,IAAKC,CAAAA,QAAQ,CAACH,IAAAA,CAAKI,IAAI,EAAEF,IAAKG,CAAAA,OAAO,CAACL,IAAAA,CAAKI,IAAI,CAAA,CAAA;QAChE,MAAME,aAAAA,GAAgBL,SAASM,WAAW,EAAA;AAC1C,QAAA,MAAMC,SAAYN,GAAAA,IAAAA,CAAKG,OAAO,CAACL,KAAKI,IAAI,CAAA;QACxC,MAAMK,cAAAA,GAAiBD,UAAUD,WAAW,EAAA;QAE5C,IAAI,CAACP,IAAKU,CAAAA,MAAM,EAAI,EAAA;YAClB,OAAOX,GAAAA;AACT;AAEA,QAAA,IAAI,CAACtB,gBAAAA,CAAiBkC,QAAQ,CAACF,cAAiB,CAAA,EAAA;AAC9CxB,YAAAA,UAAAA,CACE,CAAC,iDAAiD,EAAER,gBAAAA,CAAiBmC,IAAI,CAAC,GAAK,CAAA,CAAA,GAAG,EAChFZ,IAAAA,CAAKI,IAAI,CACV,CAAC,CAAA;YAEJ,OAAOL,GAAAA;AACT;QAEA,IAAIlB,oBAAAA,CAAqB8B,QAAQ,CAACL,aAAgB,CAAA,EAAA;AAChDrB,YAAAA,UAAAA,CAAW,CAAC,6CAA6C,EAAEe,IAAKI,CAAAA,IAAI,CAAC,CAAC,CAAA;;AAGtE,YAAA,IAAIE,iBAAiB5B,kBAAoB,EAAA;gBACvCS,OAAQ0B,CAAAA,GAAG,CACT,CAAC,aAAa,EAAEnC,kBAAkB,CAAC4B,aAAAA,CAAiD,CAAC,IAAI,CAAC,CAAA;AAE9F;YAEA,OAAOP,GAAAA;AACT;;AAGA,QAAA,MAAMe,gBAAmB,GAAA;AAAIjC,YAAAA,GAAAA,oBAAAA;AAAyBG,YAAAA,GAAAA;SAAwB,CAAC+B,IAAI,CACjF,CAACC,cAAAA,GACCA,eAAeC,UAAU,CAACX,kBAAkBU,cAAmBV,KAAAA,aAAAA,CAAAA;AAEnE,QAAA,IAAIQ,gBAAkB,EAAA;YACpB7B,UACE,CAAA,CAAC,mDAAmD,EAAE6B,gBAAAA,CAAiB,EAAE,EAAEd,IAAAA,CAAKI,IAAI,CAAC,CAAC,CAAA;AAE1F;AAEA;;;;;;;AAOI;;;;QAMJ,IAAIT,aAAAA,CAAcuB,GAAG,CAACZ,aAAgB,CAAA,EAAA;AACpCrB,YAAAA,UAAAA,CACE,CAAC,yEAAyE,EAAEe,IAAKI,CAAAA,IAAI,CAAC,CAAC,CAAA;YAEzF,OAAOL,GAAAA;AACT;AACAJ,QAAAA,aAAAA,CAAcwB,GAAG,CAACb,aAAAA,CAAAA;;AAGlBP,QAAAA,GAAAA,CAAIqB,IAAI,CAACpB,IAAAA,CAAAA;QACT,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAE,CAAA;AAEL,IAAA,OAAOF,WAAYC,CAAAA,MAAM,CACvB,CAACC,GAAKC,EAAAA,IAAAA,GAAAA;QACJ,MAAMqB,GAAAA,GAAMnB,IAAKC,CAAAA,QAAQ,CAACH,IAAAA,CAAKI,IAAI,EAAEF,IAAKG,CAAAA,OAAO,CAACL,IAAAA,CAAKI,IAAI,CAAA,CAAA;QAE3DL,GAAG,CAACsB,IAAI,GAAGC,cAAAA,CAAepB,KAAKqB,OAAO,CAAClC,GAAKW,EAAAA,IAAAA,CAAKI,IAAI,CAAA,CAAA;QAErD,OAAOL,GAAAA;AACT,KAAA,EACA,EAAC,CAAA;AAEL,CAAA;;;;"}
@@ -1,31 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const path = require("path");
4
- const fp = require("lodash/fp");
5
- const getDirs = ({ appDir, distDir }, config) => ({
6
- dist: {
7
- root: distDir,
8
- src: path.join(distDir, "src"),
9
- api: path.join(distDir, "src", "api"),
10
- components: path.join(distDir, "src", "components"),
11
- extensions: path.join(distDir, "src", "extensions"),
12
- policies: path.join(distDir, "src", "policies"),
13
- middlewares: path.join(distDir, "src", "middlewares"),
14
- config: path.join(distDir, "config")
15
- },
16
- app: {
17
- root: appDir,
18
- src: path.join(appDir, "src"),
19
- api: path.join(appDir, "src", "api"),
20
- components: path.join(appDir, "src", "components"),
21
- extensions: path.join(appDir, "src", "extensions"),
22
- policies: path.join(appDir, "src", "policies"),
23
- middlewares: path.join(appDir, "src", "middlewares"),
24
- config: path.join(appDir, "config")
25
- },
26
- static: {
27
- public: path.resolve(appDir, fp.get("server.dirs.public", config))
28
- }
29
- });
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fp = require('lodash/fp');
5
+
6
+ const getDirs = ({ appDir, distDir }, config)=>({
7
+ dist: {
8
+ root: distDir,
9
+ src: path.join(distDir, 'src'),
10
+ api: path.join(distDir, 'src', 'api'),
11
+ components: path.join(distDir, 'src', 'components'),
12
+ extensions: path.join(distDir, 'src', 'extensions'),
13
+ policies: path.join(distDir, 'src', 'policies'),
14
+ middlewares: path.join(distDir, 'src', 'middlewares'),
15
+ config: path.join(distDir, 'config')
16
+ },
17
+ app: {
18
+ root: appDir,
19
+ src: path.join(appDir, 'src'),
20
+ api: path.join(appDir, 'src', 'api'),
21
+ components: path.join(appDir, 'src', 'components'),
22
+ extensions: path.join(appDir, 'src', 'extensions'),
23
+ policies: path.join(appDir, 'src', 'policies'),
24
+ middlewares: path.join(appDir, 'src', 'middlewares'),
25
+ config: path.join(appDir, 'config')
26
+ },
27
+ static: {
28
+ public: path.resolve(appDir, fp.get('server.dirs.public', config))
29
+ }
30
+ });
31
+
30
32
  exports.getDirs = getDirs;
31
33
  //# sourceMappingURL=get-dirs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.js","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["join","resolve","get"],"mappings":";;;;AAWO,MAAM,UAAU,CACrB,EAAE,QAAQ,QAAA,GACV,YAC4B;AAAA,EAC5B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,KAAKA,KAAAA,KAAK,SAAS,KAAK;AAAA,IACxB,KAAKA,KAAA,KAAK,SAAS,OAAO,KAAK;AAAA,IAC/B,YAAYA,KAAA,KAAK,SAAS,OAAO,YAAY;AAAA,IAC7C,YAAYA,KAAA,KAAK,SAAS,OAAO,YAAY;AAAA,IAC7C,UAAUA,KAAA,KAAK,SAAS,OAAO,UAAU;AAAA,IACzC,aAAaA,KAAA,KAAK,SAAS,OAAO,aAAa;AAAA,IAC/C,QAAQA,KAAAA,KAAK,SAAS,QAAQ;AAAA,EAChC;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,KAAKA,KAAAA,KAAK,QAAQ,KAAK;AAAA,IACvB,KAAKA,KAAA,KAAK,QAAQ,OAAO,KAAK;AAAA,IAC9B,YAAYA,KAAA,KAAK,QAAQ,OAAO,YAAY;AAAA,IAC5C,YAAYA,KAAA,KAAK,QAAQ,OAAO,YAAY;AAAA,IAC5C,UAAUA,KAAA,KAAK,QAAQ,OAAO,UAAU;AAAA,IACxC,aAAaA,KAAA,KAAK,QAAQ,OAAO,aAAa;AAAA,IAC9C,QAAQA,KAAAA,KAAK,QAAQ,QAAQ;AAAA,EAC/B;AAAA,EACA,QAAQ;AAAA,IACN,QAAQC,KAAAA,QAAQ,QAAQC,GAAAA,IAAI,sBAAsB,MAAM,CAAC;AAAA,EAAA;AAE7D;;"}
1
+ {"version":3,"file":"get-dirs.js","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","app","static","public","resolve","get"],"mappings":";;;;;AAWO,MAAMA,OAAU,GAAA,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAM,EAAA;YACJC,IAAMH,EAAAA,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,UAAKL,OAAS,EAAA,KAAA,CAAA;YACnBM,GAAKD,EAAAA,SAAAA,CAAKL,SAAS,KAAO,EAAA,KAAA,CAAA;YAC1BO,UAAYF,EAAAA,SAAAA,CAAKL,SAAS,KAAO,EAAA,YAAA,CAAA;YACjCQ,UAAYH,EAAAA,SAAAA,CAAKL,SAAS,KAAO,EAAA,YAAA,CAAA;YACjCS,QAAUJ,EAAAA,SAAAA,CAAKL,SAAS,KAAO,EAAA,UAAA,CAAA;YAC/BU,WAAaL,EAAAA,SAAAA,CAAKL,SAAS,KAAO,EAAA,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,UAAKL,OAAS,EAAA,QAAA;AACxB,SAAA;QACAW,GAAK,EAAA;YACHR,IAAMJ,EAAAA,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,UAAKN,MAAQ,EAAA,KAAA,CAAA;YAClBO,GAAKD,EAAAA,SAAAA,CAAKN,QAAQ,KAAO,EAAA,KAAA,CAAA;YACzBQ,UAAYF,EAAAA,SAAAA,CAAKN,QAAQ,KAAO,EAAA,YAAA,CAAA;YAChCS,UAAYH,EAAAA,SAAAA,CAAKN,QAAQ,KAAO,EAAA,YAAA,CAAA;YAChCU,QAAUJ,EAAAA,SAAAA,CAAKN,QAAQ,KAAO,EAAA,UAAA,CAAA;YAC9BW,WAAaL,EAAAA,SAAAA,CAAKN,QAAQ,KAAO,EAAA,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,UAAKN,MAAQ,EAAA,QAAA;AACvB,SAAA;QACAa,MAAQ,EAAA;YACNC,MAAQC,EAAAA,YAAAA,CAAQf,MAAQgB,EAAAA,MAAAA,CAAI,oBAAsBd,EAAAA,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
@@ -1,31 +1,31 @@
1
- import { join, resolve } from "path";
2
- import { get } from "lodash/fp";
3
- const getDirs = ({ appDir, distDir }, config) => ({
4
- dist: {
5
- root: distDir,
6
- src: join(distDir, "src"),
7
- api: join(distDir, "src", "api"),
8
- components: join(distDir, "src", "components"),
9
- extensions: join(distDir, "src", "extensions"),
10
- policies: join(distDir, "src", "policies"),
11
- middlewares: join(distDir, "src", "middlewares"),
12
- config: join(distDir, "config")
13
- },
14
- app: {
15
- root: appDir,
16
- src: join(appDir, "src"),
17
- api: join(appDir, "src", "api"),
18
- components: join(appDir, "src", "components"),
19
- extensions: join(appDir, "src", "extensions"),
20
- policies: join(appDir, "src", "policies"),
21
- middlewares: join(appDir, "src", "middlewares"),
22
- config: join(appDir, "config")
23
- },
24
- static: {
25
- public: resolve(appDir, get("server.dirs.public", config))
26
- }
27
- });
28
- export {
29
- getDirs
30
- };
1
+ import { join, resolve } from 'path';
2
+ import { get } from 'lodash/fp';
3
+
4
+ const getDirs = ({ appDir, distDir }, config)=>({
5
+ dist: {
6
+ root: distDir,
7
+ src: join(distDir, 'src'),
8
+ api: join(distDir, 'src', 'api'),
9
+ components: join(distDir, 'src', 'components'),
10
+ extensions: join(distDir, 'src', 'extensions'),
11
+ policies: join(distDir, 'src', 'policies'),
12
+ middlewares: join(distDir, 'src', 'middlewares'),
13
+ config: join(distDir, 'config')
14
+ },
15
+ app: {
16
+ root: appDir,
17
+ src: join(appDir, 'src'),
18
+ api: join(appDir, 'src', 'api'),
19
+ components: join(appDir, 'src', 'components'),
20
+ extensions: join(appDir, 'src', 'extensions'),
21
+ policies: join(appDir, 'src', 'policies'),
22
+ middlewares: join(appDir, 'src', 'middlewares'),
23
+ config: join(appDir, 'config')
24
+ },
25
+ static: {
26
+ public: resolve(appDir, get('server.dirs.public', config))
27
+ }
28
+ });
29
+
30
+ export { getDirs };
31
31
  //# sourceMappingURL=get-dirs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.mjs","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":[],"mappings":";;AAWO,MAAM,UAAU,CACrB,EAAE,QAAQ,QAAA,GACV,YAC4B;AAAA,EAC5B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,KAAK,KAAK,SAAS,KAAK;AAAA,IACxB,KAAK,KAAK,SAAS,OAAO,KAAK;AAAA,IAC/B,YAAY,KAAK,SAAS,OAAO,YAAY;AAAA,IAC7C,YAAY,KAAK,SAAS,OAAO,YAAY;AAAA,IAC7C,UAAU,KAAK,SAAS,OAAO,UAAU;AAAA,IACzC,aAAa,KAAK,SAAS,OAAO,aAAa;AAAA,IAC/C,QAAQ,KAAK,SAAS,QAAQ;AAAA,EAChC;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,KAAK,KAAK,QAAQ,KAAK;AAAA,IACvB,KAAK,KAAK,QAAQ,OAAO,KAAK;AAAA,IAC9B,YAAY,KAAK,QAAQ,OAAO,YAAY;AAAA,IAC5C,YAAY,KAAK,QAAQ,OAAO,YAAY;AAAA,IAC5C,UAAU,KAAK,QAAQ,OAAO,UAAU;AAAA,IACxC,aAAa,KAAK,QAAQ,OAAO,aAAa;AAAA,IAC9C,QAAQ,KAAK,QAAQ,QAAQ;AAAA,EAC/B;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,QAAQ,QAAQ,IAAI,sBAAsB,MAAM,CAAC;AAAA,EAAA;AAE7D;"}
1
+ {"version":3,"file":"get-dirs.mjs","sources":["../../src/configuration/get-dirs.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { get } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\nimport type { StrapiOptions } from '../Strapi';\n\nexport type Options = {\n app: string;\n dist: string;\n};\n\nexport const getDirs = (\n { appDir, distDir }: StrapiOptions,\n config: { server: Partial<Core.Config.Server> }\n): Core.StrapiDirectories => ({\n dist: {\n root: distDir,\n src: join(distDir, 'src'),\n api: join(distDir, 'src', 'api'),\n components: join(distDir, 'src', 'components'),\n extensions: join(distDir, 'src', 'extensions'),\n policies: join(distDir, 'src', 'policies'),\n middlewares: join(distDir, 'src', 'middlewares'),\n config: join(distDir, 'config'),\n },\n app: {\n root: appDir,\n src: join(appDir, 'src'),\n api: join(appDir, 'src', 'api'),\n components: join(appDir, 'src', 'components'),\n extensions: join(appDir, 'src', 'extensions'),\n policies: join(appDir, 'src', 'policies'),\n middlewares: join(appDir, 'src', 'middlewares'),\n config: join(appDir, 'config'),\n },\n static: {\n public: resolve(appDir, get('server.dirs.public', config)),\n },\n});\n"],"names":["getDirs","appDir","distDir","config","dist","root","src","join","api","components","extensions","policies","middlewares","app","static","public","resolve","get"],"mappings":";;;AAWO,MAAMA,OAAU,GAAA,CACrB,EAAEC,MAAM,EAAEC,OAAO,EAAiB,EAClCC,MAAAA,IAC4B;QAC5BC,IAAM,EAAA;YACJC,IAAMH,EAAAA,OAAAA;AACNI,YAAAA,GAAAA,EAAKC,KAAKL,OAAS,EAAA,KAAA,CAAA;YACnBM,GAAKD,EAAAA,IAAAA,CAAKL,SAAS,KAAO,EAAA,KAAA,CAAA;YAC1BO,UAAYF,EAAAA,IAAAA,CAAKL,SAAS,KAAO,EAAA,YAAA,CAAA;YACjCQ,UAAYH,EAAAA,IAAAA,CAAKL,SAAS,KAAO,EAAA,YAAA,CAAA;YACjCS,QAAUJ,EAAAA,IAAAA,CAAKL,SAAS,KAAO,EAAA,UAAA,CAAA;YAC/BU,WAAaL,EAAAA,IAAAA,CAAKL,SAAS,KAAO,EAAA,aAAA,CAAA;AAClCC,YAAAA,MAAAA,EAAQI,KAAKL,OAAS,EAAA,QAAA;AACxB,SAAA;QACAW,GAAK,EAAA;YACHR,IAAMJ,EAAAA,MAAAA;AACNK,YAAAA,GAAAA,EAAKC,KAAKN,MAAQ,EAAA,KAAA,CAAA;YAClBO,GAAKD,EAAAA,IAAAA,CAAKN,QAAQ,KAAO,EAAA,KAAA,CAAA;YACzBQ,UAAYF,EAAAA,IAAAA,CAAKN,QAAQ,KAAO,EAAA,YAAA,CAAA;YAChCS,UAAYH,EAAAA,IAAAA,CAAKN,QAAQ,KAAO,EAAA,YAAA,CAAA;YAChCU,QAAUJ,EAAAA,IAAAA,CAAKN,QAAQ,KAAO,EAAA,UAAA,CAAA;YAC9BW,WAAaL,EAAAA,IAAAA,CAAKN,QAAQ,KAAO,EAAA,aAAA,CAAA;AACjCE,YAAAA,MAAAA,EAAQI,KAAKN,MAAQ,EAAA,QAAA;AACvB,SAAA;QACAa,MAAQ,EAAA;YACNC,MAAQC,EAAAA,OAAAA,CAAQf,MAAQgB,EAAAA,GAAAA,CAAI,oBAAsBd,EAAAA,MAAAA,CAAAA;AACpD;AACF,KAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAUvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAsC/C,eAAO,MAAM,iBAAiB,SAAU,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAiDpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAUvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAqC/C,eAAO,MAAM,iBAAiB,SAAU,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAiDpD,CAAC"}
@@ -1,85 +1,91 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const os = require("os");
4
- const path = require("path");
5
- const _ = require("lodash");
6
- const fp = require("lodash/fp");
7
- const dotenv = require("dotenv");
8
- const strapiUtils = require("@strapi/utils");
9
- const urls = require("./urls.js");
10
- const configLoader = require("./config-loader.js");
11
- const getDirs = require("./get-dirs.js");
12
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
- const os__default = /* @__PURE__ */ _interopDefault(os);
14
- const path__default = /* @__PURE__ */ _interopDefault(path);
15
- const ___default = /* @__PURE__ */ _interopDefault(_);
16
- const dotenv__default = /* @__PURE__ */ _interopDefault(dotenv);
17
- dotenv__default.default.config({ path: process.env.ENV_PATH });
18
- process.env.NODE_ENV = process.env.NODE_ENV || "development";
19
- const { version: strapiVersion } = require(path__default.default.join(__dirname, "../../package.json"));
1
+ 'use strict';
2
+
3
+ var os = require('os');
4
+ var path = require('path');
5
+ var _ = require('lodash');
6
+ var fp = require('lodash/fp');
7
+ var dotenv = require('dotenv');
8
+ var strapiUtils = require('@strapi/utils');
9
+ var urls = require('./urls.js');
10
+ var configLoader = require('./config-loader.js');
11
+ var getDirs = require('./get-dirs.js');
12
+ var _package = require('../package.json.js');
13
+
14
+ dotenv.config({
15
+ path: process.env.ENV_PATH
16
+ });
17
+ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
20
18
  const defaultConfig = {
21
- server: {
22
- host: process.env.HOST || os__default.default.hostname() || "localhost",
23
- port: Number(process.env.PORT) || 1337,
24
- proxy: false,
25
- cron: { enabled: false },
26
- admin: { autoOpen: false },
27
- dirs: { public: "./public" },
28
- transfer: {
29
- remote: {
30
- enabled: true
31
- }
19
+ server: {
20
+ host: process.env.HOST || os.hostname() || 'localhost',
21
+ port: Number(process.env.PORT) || 1337,
22
+ proxy: false,
23
+ cron: {
24
+ enabled: false
25
+ },
26
+ admin: {
27
+ autoOpen: false
28
+ },
29
+ dirs: {
30
+ public: './public'
31
+ },
32
+ transfer: {
33
+ remote: {
34
+ enabled: true
35
+ }
36
+ },
37
+ logger: {
38
+ updates: {
39
+ enabled: true
40
+ },
41
+ startup: {
42
+ enabled: true
43
+ }
44
+ }
32
45
  },
33
- logger: {
34
- updates: {
35
- enabled: true
36
- },
37
- startup: {
38
- enabled: true
39
- }
46
+ admin: {},
47
+ api: {
48
+ rest: {
49
+ prefix: '/api'
50
+ }
40
51
  }
41
- },
42
- admin: {},
43
- api: {
44
- rest: {
45
- prefix: "/api"
46
- }
47
- }
48
52
  };
49
- const loadConfiguration = (opts) => {
50
- const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;
51
- const pkgJSON = require(path__default.default.resolve(appDir, "package.json"));
52
- const configDir = path__default.default.resolve(distDir || process.cwd(), "config");
53
- const rootConfig = {
54
- launchedAt: Date.now(),
55
- autoReload,
56
- environment: process.env.NODE_ENV,
57
- uuid: ___default.default.get(pkgJSON, "strapi.uuid"),
58
- packageJsonStrapi: ___default.default.omit(___default.default.get(pkgJSON, "strapi", {}), "uuid"),
59
- info: {
60
- ...pkgJSON,
61
- strapi: strapiVersion
62
- },
63
- admin: {
64
- serveAdminPanel
65
- }
66
- };
67
- const baseConfig = fp.omit("plugins", configLoader(configDir));
68
- const envDir = path__default.default.resolve(configDir, "env", process.env.NODE_ENV);
69
- const envConfig = configLoader(envDir);
70
- const config = ___default.default.merge(rootConfig, defaultConfig, baseConfig, envConfig);
71
- const { serverUrl, adminUrl } = urls.getConfigUrls(config);
72
- const serverAbsoluteUrl = urls.getAbsoluteServerUrl(config);
73
- const adminAbsoluteUrl = urls.getAbsoluteAdminUrl(config);
74
- const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;
75
- const adminPath = sameOrigin ? adminUrl.replace(strapiUtils.strings.getCommonPath(serverUrl, adminUrl), "") : new URL(adminUrl).pathname;
76
- ___default.default.set(config, "server.url", serverUrl);
77
- ___default.default.set(config, "server.absoluteUrl", serverAbsoluteUrl);
78
- ___default.default.set(config, "admin.url", adminUrl);
79
- ___default.default.set(config, "admin.path", adminPath);
80
- ___default.default.set(config, "admin.absoluteUrl", adminAbsoluteUrl);
81
- ___default.default.set(config, "dirs", getDirs.getDirs(opts, config));
82
- return config;
53
+ const loadConfiguration = (opts)=>{
54
+ const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;
55
+ const pkgJSON = require(path.resolve(appDir, 'package.json'));
56
+ const configDir = path.resolve(distDir || process.cwd(), 'config');
57
+ const rootConfig = {
58
+ launchedAt: Date.now(),
59
+ autoReload,
60
+ environment: process.env.NODE_ENV,
61
+ uuid: _.get(pkgJSON, 'strapi.uuid'),
62
+ packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),
63
+ info: {
64
+ ...pkgJSON,
65
+ strapi: _package.version
66
+ },
67
+ admin: {
68
+ serveAdminPanel
69
+ }
70
+ };
71
+ // See packages/core/core/src/domain/module/index.ts for plugin config loading
72
+ const baseConfig = fp.omit('plugins', configLoader(configDir)); // plugin config will be loaded later
73
+ const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV);
74
+ const envConfig = configLoader(envDir);
75
+ const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);
76
+ const { serverUrl, adminUrl } = urls.getConfigUrls(config);
77
+ const serverAbsoluteUrl = urls.getAbsoluteServerUrl(config);
78
+ const adminAbsoluteUrl = urls.getAbsoluteAdminUrl(config);
79
+ const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;
80
+ const adminPath = sameOrigin ? adminUrl.replace(strapiUtils.strings.getCommonPath(serverUrl, adminUrl), '') : new URL(adminUrl).pathname;
81
+ _.set(config, 'server.url', serverUrl);
82
+ _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);
83
+ _.set(config, 'admin.url', adminUrl);
84
+ _.set(config, 'admin.path', adminPath);
85
+ _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);
86
+ _.set(config, 'dirs', getDirs.getDirs(opts, config));
87
+ return config;
83
88
  };
89
+
84
90
  exports.loadConfiguration = loadConfiguration;
85
91
  //# sourceMappingURL=index.js.map