@strapi/core 5.49.0 → 5.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +2 -0
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +2 -0
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/configuration/config-loader.d.ts.map +1 -1
  7. package/dist/configuration/get-dirs.d.ts.map +1 -1
  8. package/dist/configuration/index.d.ts +0 -3
  9. package/dist/configuration/index.d.ts.map +1 -1
  10. package/dist/configuration/index.js +0 -3
  11. package/dist/configuration/index.js.map +1 -1
  12. package/dist/configuration/index.mjs +0 -3
  13. package/dist/configuration/index.mjs.map +1 -1
  14. package/dist/configuration/server-config.d.ts +11 -0
  15. package/dist/configuration/server-config.d.ts.map +1 -0
  16. package/dist/configuration/server-config.js +16 -0
  17. package/dist/configuration/server-config.js.map +1 -0
  18. package/dist/configuration/server-config.mjs +14 -0
  19. package/dist/configuration/server-config.mjs.map +1 -0
  20. package/dist/configuration/urls.d.ts.map +1 -1
  21. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  22. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  23. package/dist/core-api/controller/transform.d.ts.map +1 -1
  24. package/dist/core-api/routes/index.d.ts.map +1 -1
  25. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -1
  26. package/dist/core-api/routes/validation/component.js +3 -3
  27. package/dist/core-api/routes/validation/component.js.map +1 -1
  28. package/dist/core-api/routes/validation/component.mjs +3 -3
  29. package/dist/core-api/routes/validation/component.mjs.map +1 -1
  30. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -1
  31. package/dist/core-api/routes/validation/utils.d.ts.map +1 -1
  32. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  33. package/dist/core-api/service/pagination.d.ts.map +1 -1
  34. package/dist/core-api/service/single-type.d.ts.map +1 -1
  35. package/dist/domain/content-type/index.d.ts.map +1 -1
  36. package/dist/domain/content-type/validator.d.ts.map +1 -1
  37. package/dist/domain/module/index.d.ts.map +1 -1
  38. package/dist/domain/module/validation.d.ts.map +1 -1
  39. package/dist/ee/index.d.ts +2 -1
  40. package/dist/ee/index.d.ts.map +1 -1
  41. package/dist/ee/license.d.ts.map +1 -1
  42. package/dist/factories.d.ts.map +1 -1
  43. package/dist/index.d.ts +4 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  48. package/dist/loaders/sanitizers.d.ts.map +1 -1
  49. package/dist/loaders/src-index.d.ts.map +1 -1
  50. package/dist/loaders/validators.d.ts.map +1 -1
  51. package/dist/middlewares/body.d.ts.map +1 -1
  52. package/dist/middlewares/body.js +1 -1
  53. package/dist/middlewares/body.js.map +1 -1
  54. package/dist/middlewares/body.mjs +1 -1
  55. package/dist/middlewares/body.mjs.map +1 -1
  56. package/dist/middlewares/cors.d.ts.map +1 -1
  57. package/dist/middlewares/errors.d.ts +5 -0
  58. package/dist/middlewares/errors.d.ts.map +1 -1
  59. package/dist/middlewares/errors.js.map +1 -1
  60. package/dist/middlewares/errors.mjs.map +1 -1
  61. package/dist/middlewares/favicon.d.ts +0 -1
  62. package/dist/middlewares/favicon.d.ts.map +1 -1
  63. package/dist/migrations/draft-publish.d.ts.map +1 -1
  64. package/dist/migrations/first-published-at.d.ts.map +1 -1
  65. package/dist/migrations/i18n.d.ts.map +1 -1
  66. package/dist/migrations/index.d.ts.map +1 -1
  67. package/dist/package.json.js +17 -20
  68. package/dist/package.json.js.map +1 -1
  69. package/dist/package.json.mjs +17 -20
  70. package/dist/package.json.mjs.map +1 -1
  71. package/dist/providers/provider.d.ts.map +1 -1
  72. package/dist/registries/apis.d.ts.map +1 -1
  73. package/dist/registries/components.d.ts +1 -1
  74. package/dist/registries/components.d.ts.map +1 -1
  75. package/dist/registries/content-types.d.ts +2 -3
  76. package/dist/registries/content-types.d.ts.map +1 -1
  77. package/dist/registries/controllers.d.ts +3 -3
  78. package/dist/registries/controllers.d.ts.map +1 -1
  79. package/dist/registries/custom-fields.d.ts.map +1 -1
  80. package/dist/registries/hooks.d.ts +3 -4
  81. package/dist/registries/hooks.d.ts.map +1 -1
  82. package/dist/registries/middlewares.d.ts +2 -3
  83. package/dist/registries/middlewares.d.ts.map +1 -1
  84. package/dist/registries/models.d.ts +1 -1
  85. package/dist/registries/modules.d.ts.map +1 -1
  86. package/dist/registries/namespace.d.ts.map +1 -1
  87. package/dist/registries/plugins.d.ts.map +1 -1
  88. package/dist/registries/policies.d.ts +1 -2
  89. package/dist/registries/policies.d.ts.map +1 -1
  90. package/dist/registries/sanitizers.d.ts +2 -2
  91. package/dist/registries/services.d.ts +3 -3
  92. package/dist/registries/services.d.ts.map +1 -1
  93. package/dist/registries/validators.d.ts +2 -2
  94. package/dist/services/ai.d.ts.map +1 -1
  95. package/dist/services/config.d.ts.map +1 -1
  96. package/dist/services/content-api/index.d.ts +4 -4
  97. package/dist/services/content-api/index.d.ts.map +1 -1
  98. package/dist/services/content-api/permissions/engine.d.ts.map +1 -1
  99. package/dist/services/content-api/permissions/index.d.ts +2 -2
  100. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  101. package/dist/services/content-api/permissions/providers/action.d.ts +1 -1
  102. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  103. package/dist/services/content-api/permissions/providers/condition.d.ts +1 -1
  104. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  105. package/dist/services/content-source-maps.d.ts.map +1 -1
  106. package/dist/services/core-store.d.ts.map +1 -1
  107. package/dist/services/core-store.js +1 -1
  108. package/dist/services/core-store.js.map +1 -1
  109. package/dist/services/core-store.mjs +1 -1
  110. package/dist/services/core-store.mjs.map +1 -1
  111. package/dist/services/cron.d.ts +5 -5
  112. package/dist/services/custom-fields.d.ts.map +1 -1
  113. package/dist/services/document-service/attributes/index.d.ts +0 -1
  114. package/dist/services/document-service/attributes/index.d.ts.map +1 -1
  115. package/dist/services/document-service/common.d.ts.map +1 -1
  116. package/dist/services/document-service/components.d.ts +2 -2
  117. package/dist/services/document-service/components.d.ts.map +1 -1
  118. package/dist/services/document-service/components.js +7 -7
  119. package/dist/services/document-service/components.js.map +1 -1
  120. package/dist/services/document-service/components.mjs +7 -7
  121. package/dist/services/document-service/components.mjs.map +1 -1
  122. package/dist/services/document-service/draft-and-publish.d.ts +0 -1
  123. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  124. package/dist/services/document-service/entries.d.ts.map +1 -1
  125. package/dist/services/document-service/events.d.ts.map +1 -1
  126. package/dist/services/document-service/first-published-at.d.ts.map +1 -1
  127. package/dist/services/document-service/index.d.ts.map +1 -1
  128. package/dist/services/document-service/internationalization.d.ts +0 -1
  129. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  130. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  131. package/dist/services/document-service/params.d.ts +1 -1
  132. package/dist/services/document-service/params.d.ts.map +1 -1
  133. package/dist/services/document-service/publication-filter.d.ts +1 -1
  134. package/dist/services/document-service/publication-filter.d.ts.map +1 -1
  135. package/dist/services/document-service/repository.d.ts.map +1 -1
  136. package/dist/services/document-service/repository.js +12 -8
  137. package/dist/services/document-service/repository.js.map +1 -1
  138. package/dist/services/document-service/repository.mjs +12 -8
  139. package/dist/services/document-service/repository.mjs.map +1 -1
  140. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  141. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  142. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  143. package/dist/services/document-service/transform/id-map.js +7 -4
  144. package/dist/services/document-service/transform/id-map.js.map +1 -1
  145. package/dist/services/document-service/transform/id-map.mjs +7 -4
  146. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  147. package/dist/services/document-service/transform/id-transform.d.ts +0 -1
  148. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  149. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  150. package/dist/services/document-service/transform/query.d.ts +0 -1
  151. package/dist/services/document-service/transform/query.d.ts.map +1 -1
  152. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  153. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  154. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -1
  155. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  156. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  157. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  158. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  159. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +0 -1
  160. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  161. package/dist/services/document-service/transform/relations/utils/xto-one.d.ts.map +1 -1
  162. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -1
  163. package/dist/services/document-service/utils/bidirectional-relations.js +7 -2
  164. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -1
  165. package/dist/services/document-service/utils/bidirectional-relations.mjs +7 -2
  166. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -1
  167. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -1
  168. package/dist/services/document-service/utils/ordered-parallel.d.ts.map +1 -1
  169. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  170. package/dist/services/document-service/utils/self-referential-relations.d.ts +6 -1
  171. package/dist/services/document-service/utils/self-referential-relations.d.ts.map +1 -1
  172. package/dist/services/document-service/utils/self-referential-relations.js +120 -7
  173. package/dist/services/document-service/utils/self-referential-relations.js.map +1 -1
  174. package/dist/services/document-service/utils/self-referential-relations.mjs +120 -7
  175. package/dist/services/document-service/utils/self-referential-relations.mjs.map +1 -1
  176. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  177. package/dist/services/entity-service/index.d.ts.map +1 -1
  178. package/dist/services/entity-service/index.js +1 -1
  179. package/dist/services/entity-service/index.js.map +1 -1
  180. package/dist/services/entity-service/index.mjs +1 -1
  181. package/dist/services/entity-service/index.mjs.map +1 -1
  182. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  183. package/dist/services/entity-validator/validators.js +4 -2
  184. package/dist/services/entity-validator/validators.js.map +1 -1
  185. package/dist/services/entity-validator/validators.mjs +4 -2
  186. package/dist/services/entity-validator/validators.mjs.map +1 -1
  187. package/dist/services/errors.d.ts.map +1 -1
  188. package/dist/services/features.d.ts.map +1 -1
  189. package/dist/services/fs.d.ts.map +1 -1
  190. package/dist/services/mcp/authentication.d.ts.map +1 -1
  191. package/dist/services/mcp/handlers/handlePost.d.ts.map +1 -1
  192. package/dist/services/mcp/index.d.ts.map +1 -1
  193. package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts +2 -2
  194. package/dist/services/mcp/internal/McpServerFactory.d.ts.map +1 -1
  195. package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts.map +1 -1
  196. package/dist/services/mcp/metrics/metrics.d.ts.map +1 -1
  197. package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts.map +1 -1
  198. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts.map +1 -1
  199. package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts.map +1 -1
  200. package/dist/services/mcp/prompt-registry.d.ts.map +1 -1
  201. package/dist/services/mcp/resource-registry.d.ts.map +1 -1
  202. package/dist/services/mcp/routes.d.ts +1 -1
  203. package/dist/services/mcp/routes.d.ts.map +1 -1
  204. package/dist/services/mcp/tool-registry.d.ts.map +1 -1
  205. package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts.map +1 -1
  206. package/dist/services/mcp/utils/safeHandlerWrapper.d.ts.map +1 -1
  207. package/dist/services/mcp/utils/sendJsonRpcError.d.ts +0 -1
  208. package/dist/services/mcp/utils/sendJsonRpcError.d.ts.map +1 -1
  209. package/dist/services/mcp/utils/withTimeout.d.ts.map +1 -1
  210. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  211. package/dist/services/metrics/index.d.ts.map +1 -1
  212. package/dist/services/metrics/is-truthy.d.ts.map +1 -1
  213. package/dist/services/metrics/middleware.d.ts.map +1 -1
  214. package/dist/services/metrics/rate-limiter.d.ts +2 -1
  215. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  216. package/dist/services/metrics/sender.d.ts.map +1 -1
  217. package/dist/services/query-params.d.ts.map +1 -1
  218. package/dist/services/reloader.d.ts.map +1 -1
  219. package/dist/services/request-context.d.ts.map +1 -1
  220. package/dist/services/server/admin-api.d.ts +3 -5
  221. package/dist/services/server/admin-api.d.ts.map +1 -1
  222. package/dist/services/server/api.d.ts +3 -4
  223. package/dist/services/server/api.d.ts.map +1 -1
  224. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  225. package/dist/services/server/content-api.d.ts +3 -5
  226. package/dist/services/server/content-api.d.ts.map +1 -1
  227. package/dist/services/server/http-server.d.ts +0 -1
  228. package/dist/services/server/http-server.d.ts.map +1 -1
  229. package/dist/services/server/index.d.ts.map +1 -1
  230. package/dist/services/server/koa-methods.d.ts +107 -0
  231. package/dist/services/server/koa-methods.d.ts.map +1 -0
  232. package/dist/services/server/koa-methods.js +24 -0
  233. package/dist/services/server/koa-methods.js.map +1 -0
  234. package/dist/services/server/koa-methods.mjs +22 -0
  235. package/dist/services/server/koa-methods.mjs.map +1 -0
  236. package/dist/services/server/koa.d.ts +0 -9
  237. package/dist/services/server/koa.d.ts.map +1 -1
  238. package/dist/services/server/koa.js +6 -9
  239. package/dist/services/server/koa.js.map +1 -1
  240. package/dist/services/server/koa.mjs +7 -9
  241. package/dist/services/server/koa.mjs.map +1 -1
  242. package/dist/services/server/middleware.d.ts.map +1 -1
  243. package/dist/services/server/openapi.d.ts.map +1 -1
  244. package/dist/services/server/policy.d.ts.map +1 -1
  245. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  246. package/dist/services/server/register-routes.d.ts.map +1 -1
  247. package/dist/services/server/routing.d.ts +0 -2
  248. package/dist/services/server/routing.d.ts.map +1 -1
  249. package/dist/services/session-manager.d.ts +20 -0
  250. package/dist/services/session-manager.d.ts.map +1 -1
  251. package/dist/services/session-manager.js +57 -0
  252. package/dist/services/session-manager.js.map +1 -1
  253. package/dist/services/session-manager.mjs +57 -0
  254. package/dist/services/session-manager.mjs.map +1 -1
  255. package/dist/services/webhook-store.d.ts.map +1 -1
  256. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  257. package/dist/utils/cron.d.ts.map +1 -1
  258. package/dist/utils/fetch.d.ts.map +1 -1
  259. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  260. package/dist/utils/is-initialized.d.ts.map +1 -1
  261. package/dist/utils/load-config-file.d.ts.map +1 -1
  262. package/dist/utils/load-files.d.ts +1 -1
  263. package/dist/utils/load-files.d.ts.map +1 -1
  264. package/dist/utils/open-browser.d.ts +0 -1
  265. package/dist/utils/open-browser.d.ts.map +1 -1
  266. package/dist/utils/resolve-working-dirs.d.ts.map +1 -1
  267. package/dist/utils/signals.d.ts.map +1 -1
  268. package/dist/utils/startup-logger.d.ts.map +1 -1
  269. package/dist/utils/transform-content-types-to-models.d.ts +3 -3
  270. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  271. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  272. package/package.json +17 -20
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"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"}
package/dist/Strapi.js CHANGED
@@ -7,6 +7,7 @@ var fp = require('lodash/fp');
7
7
  var logger = require('@strapi/logger');
8
8
  var database = require('@strapi/database');
9
9
  var index$8 = require('./configuration/index.js');
10
+ var serverConfig = require('./configuration/server-config.js');
10
11
  var factories = require('./factories.js');
11
12
  var openBrowser = require('./utils/open-browser.js');
12
13
  var isInitialized = require('./utils/is-initialized.js');
@@ -215,6 +216,7 @@ class Strapi extends container.Container {
215
216
  ...config$1.get('logger'),
216
217
  ...config$1.get('server.logger.config')
217
218
  });
219
+ serverConfig.warnDeprecatedServerConfig(config$1, logger$1);
218
220
  // Instantiate the Strapi container
219
221
  this.add('config', ()=>config$1).add('query-params', queryParams(this)).add('content-api', index$1(this)).add('auth', index$2()).add('server', ()=>index$3.createServer(this)).add('fs', ()=>fs(this)).add('eventHub', ()=>eventHub()).add('startupLogger', ()=>startupLogger.createStartupLogger(this)).add('logger', ()=>logger$1).add('fetch', ()=>fetch.createStrapiFetch(this)).add('features', ()=>features.createFeaturesService(this)).add('requestContext', requestContext).add('customFields', customFields(this)).add('entityValidator', index$4).add('entityService', ()=>index$5({
220
222
  strapi: this,
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import { bootstrap as bootstrapGlobalAgent } from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\nimport { createContentSourceMapsService } from './services/content-source-maps';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nimport { cleanComponentJoinTable } from './services/document-service/utils/clean-component-join-table';\n\n// Lazy: only resolved when `useTypescriptMigrations` is true (default false)\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get ai(): Modules.AI.AiNamespace {\n return this.get('ai');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get sessionManager(): Modules.SessionManager.SessionManagerService {\n return this.get('sessionManager');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const useTSM = this.config.get('database.settings.useTypescriptMigrations') === true;\n const tsDir = useTSM ? tsUtils().resolveOutDirSync(this.dirs.app.root) : null;\n const tsMigrationsEnabled = useTSM && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this))\n .add('content-source-maps', () => createContentSourceMapsService(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n // NOTE: commenting out repair logic for now as it is causing relationship loss in some cases\n // will revisit soon in the future PR\n\n const status = await this.db.schema.sync();\n\n // // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n await this.db.repair.removeOrphanMorphType({ pivot: 'related_type' });\n }\n\n const alreadyRanComponentRepair = await this.store.get({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n });\n\n if (!alreadyRanComponentRepair) {\n await this.db.repair.processUnidirectionalJoinTables(cleanComponentJoinTable);\n await this.store.set({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n value: true,\n });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n bootstrapGlobalAgent();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["lazyTsUtils","tsUtils","require","Strapi","Container","admin","get","ai","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","sessionManager","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","useTSM","tsDir","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","createContentSourceMapsService","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","alreadyRanComponentRepair","processUnidirectionalJoinTables","cleanComponentJoinTable","set","value","checkLicense","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","bootstrapGlobalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","opts","loadConfiguration"],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import { bootstrap as bootstrapGlobalAgent } from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\nimport { warnDeprecatedServerConfig } from './configuration/server-config';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\nimport { createContentSourceMapsService } from './services/content-source-maps';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nimport { cleanComponentJoinTable } from './services/document-service/utils/clean-component-join-table';\n\n// Lazy: only resolved when `useTypescriptMigrations` is true (default false)\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get ai(): Modules.AI.AiNamespace {\n return this.get('ai');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get sessionManager(): Modules.SessionManager.SessionManagerService {\n return this.get('sessionManager');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n warnDeprecatedServerConfig(config, logger);\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const useTSM = this.config.get('database.settings.useTypescriptMigrations') === true;\n const tsDir = useTSM ? tsUtils().resolveOutDirSync(this.dirs.app.root) : null;\n const tsMigrationsEnabled = useTSM && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this))\n .add('content-source-maps', () => createContentSourceMapsService(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n // NOTE: commenting out repair logic for now as it is causing relationship loss in some cases\n // will revisit soon in the future PR\n\n const status = await this.db.schema.sync();\n\n // // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n await this.db.repair.removeOrphanMorphType({ pivot: 'related_type' });\n }\n\n const alreadyRanComponentRepair = await this.store.get({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n });\n\n if (!alreadyRanComponentRepair) {\n await this.db.repair.processUnidirectionalJoinTables(cleanComponentJoinTable);\n await this.store.set({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n value: true,\n });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n bootstrapGlobalAgent();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["lazyTsUtils","tsUtils","require","Strapi","Container","admin","get","ai","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","sessionManager","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","warnDeprecatedServerConfig","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","useTSM","tsDir","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","createContentSourceMapsService","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","alreadyRanComponentRepair","processUnidirectionalJoinTables","cleanComponentJoinTable","set","value","checkLicense","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","bootstrapGlobalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","opts","loadConfiguration"],"mappings":"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"}
package/dist/Strapi.mjs CHANGED
@@ -5,6 +5,7 @@ import { isFunction } from 'lodash/fp';
5
5
  import { createLogger } from '@strapi/logger';
6
6
  import { Database } from '@strapi/database';
7
7
  import { loadConfiguration } from './configuration/index.mjs';
8
+ import { warnDeprecatedServerConfig } from './configuration/server-config.mjs';
8
9
  import { isCustomController } from './factories.mjs';
9
10
  import { openBrowser } from './utils/open-browser.mjs';
10
11
  import { isInitialized } from './utils/is-initialized.mjs';
@@ -208,6 +209,7 @@ class Strapi extends Container {
208
209
  ...config.get('logger'),
209
210
  ...config.get('server.logger.config')
210
211
  });
212
+ warnDeprecatedServerConfig(config, logger);
211
213
  // Instantiate the Strapi container
212
214
  this.add('config', ()=>config).add('query-params', createQueryParamService(this)).add('content-api', createContentAPI(this)).add('auth', createAuthentication()).add('server', ()=>createServer(this)).add('fs', ()=>createStrapiFs(this)).add('eventHub', ()=>createEventHub()).add('startupLogger', ()=>createStartupLogger(this)).add('logger', ()=>logger).add('fetch', ()=>createStrapiFetch(this)).add('features', ()=>createFeaturesService(this)).add('requestContext', requestCtx).add('customFields', createCustomFields(this)).add('entityValidator', entityValidator).add('entityService', ()=>createEntityService({
213
215
  strapi: this,
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.mjs","sources":["../src/Strapi.ts"],"sourcesContent":["import { bootstrap as bootstrapGlobalAgent } from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\nimport { createContentSourceMapsService } from './services/content-source-maps';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nimport { cleanComponentJoinTable } from './services/document-service/utils/clean-component-join-table';\n\n// Lazy: only resolved when `useTypescriptMigrations` is true (default false)\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get ai(): Modules.AI.AiNamespace {\n return this.get('ai');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get sessionManager(): Modules.SessionManager.SessionManagerService {\n return this.get('sessionManager');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const useTSM = this.config.get('database.settings.useTypescriptMigrations') === true;\n const tsDir = useTSM ? tsUtils().resolveOutDirSync(this.dirs.app.root) : null;\n const tsMigrationsEnabled = useTSM && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this))\n .add('content-source-maps', () => createContentSourceMapsService(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n // NOTE: commenting out repair logic for now as it is causing relationship loss in some cases\n // will revisit soon in the future PR\n\n const status = await this.db.schema.sync();\n\n // // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n await this.db.repair.removeOrphanMorphType({ pivot: 'related_type' });\n }\n\n const alreadyRanComponentRepair = await this.store.get({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n });\n\n if (!alreadyRanComponentRepair) {\n await this.db.repair.processUnidirectionalJoinTables(cleanComponentJoinTable);\n await this.store.set({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n value: true,\n });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n bootstrapGlobalAgent();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["lazyTsUtils","tsUtils","require","Strapi","Container","admin","get","ai","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","sessionManager","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","useTSM","tsDir","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","createContentSourceMapsService","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","alreadyRanComponentRepair","processUnidirectionalJoinTables","cleanComponentJoinTable","set","value","checkLicense","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","bootstrapGlobalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","opts","loadConfiguration"],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.mjs","sources":["../src/Strapi.ts"],"sourcesContent":["import { bootstrap as bootstrapGlobalAgent } from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\nimport { warnDeprecatedServerConfig } from './configuration/server-config';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\nimport { createContentSourceMapsService } from './services/content-source-maps';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nimport { cleanComponentJoinTable } from './services/document-service/utils/clean-component-join-table';\n\n// Lazy: only resolved when `useTypescriptMigrations` is true (default false)\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get ai(): Modules.AI.AiNamespace {\n return this.get('ai');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get sessionManager(): Modules.SessionManager.SessionManagerService {\n return this.get('sessionManager');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n warnDeprecatedServerConfig(config, logger);\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const useTSM = this.config.get('database.settings.useTypescriptMigrations') === true;\n const tsDir = useTSM ? tsUtils().resolveOutDirSync(this.dirs.app.root) : null;\n const tsMigrationsEnabled = useTSM && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this))\n .add('content-source-maps', () => createContentSourceMapsService(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n // NOTE: commenting out repair logic for now as it is causing relationship loss in some cases\n // will revisit soon in the future PR\n\n const status = await this.db.schema.sync();\n\n // // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n await this.db.repair.removeOrphanMorphType({ pivot: 'related_type' });\n }\n\n const alreadyRanComponentRepair = await this.store.get({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n });\n\n if (!alreadyRanComponentRepair) {\n await this.db.repair.processUnidirectionalJoinTables(cleanComponentJoinTable);\n await this.store.set({\n type: 'strapi',\n key: 'unidirectional-join-table-repair-ran',\n value: true,\n });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n bootstrapGlobalAgent();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["lazyTsUtils","tsUtils","require","Strapi","Container","admin","get","ai","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","sessionManager","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","warnDeprecatedServerConfig","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","useTSM","tsDir","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","createContentSourceMapsService","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","alreadyRanComponentRepair","processUnidirectionalJoinTables","cleanComponentJoinTable","set","value","checkLicense","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","bootstrapGlobalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","opts","loadConfiguration"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/configuration/config-loader.ts"],"names":[],"mappings":"8BA2DqB,MAAM;AAA3B,wBAoFE"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/configuration/config-loader.ts"],"names":[],"mappings":"yBA2DgB,KAAK,MAAM;AAA3B,wBAoFE"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-dirs.d.ts","sourceRoot":"","sources":["../../src/configuration/get-dirs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,OAAO,wBACG,aAAa,UAC1B;IAAE,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,KAC9C,KAAK,iBAwBN,CAAC"}
1
+ {"version":3,"file":"get-dirs.d.ts","sourceRoot":"","sources":["../../src/configuration/get-dirs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,qBAAqB,aAAa,EAClC,QAAQ;IAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,KAC9C,IAAI,CAAC,iBAwBN,CAAC"}
@@ -19,9 +19,6 @@ export declare const loadConfiguration: (opts: StrapiOptions) => {
19
19
  cron: {
20
20
  enabled: false;
21
21
  };
22
- admin: {
23
- autoOpen: false;
24
- };
25
22
  dirs: {
26
23
  public: string;
27
24
  };
@@ -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;AA+D/C,eAAO,MAAM,iBAAiB,SAAU,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAkDpD,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;AA8D/C,eAAO,MAAM,iBAAiB,GAAI,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAkDpD,CAAC"}
@@ -29,9 +29,6 @@ const defaultServerConfig = {
29
29
  cron: {
30
30
  enabled: false
31
31
  },
32
- admin: {
33
- autoOpen: false
34
- },
35
32
  dirs: {
36
33
  public: './public'
37
34
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultServerConfig = {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n openapi: {\n 'content-api': {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/content-api.json',\n },\n },\n admin: {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/admin.json',\n },\n },\n },\n} satisfies Partial<Core.Config.Server>;\n\nconst defaultConfig = {\n server: defaultServerConfig,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultServerConfig","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","openapi","access","route","cache","maxAgeMs","filePath","defaultConfig","server","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultServerConfig = {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n openapi: {\n 'content-api': {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/content-api.json',\n },\n },\n admin: {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/admin.json',\n },\n },\n },\n} satisfies Partial<Core.Config.Server>;\n\nconst defaultConfig = {\n server: defaultServerConfig,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultServerConfig","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","dirs","public","transfer","remote","logger","updates","startup","openapi","access","route","cache","maxAgeMs","filePath","admin","defaultConfig","server","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":"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"}
@@ -20,9 +20,6 @@ const defaultServerConfig = {
20
20
  cron: {
21
21
  enabled: false
22
22
  },
23
- admin: {
24
- autoOpen: false
25
- },
26
23
  dirs: {
27
24
  public: './public'
28
25
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultServerConfig = {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n openapi: {\n 'content-api': {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/content-api.json',\n },\n },\n admin: {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/admin.json',\n },\n },\n },\n} satisfies Partial<Core.Config.Server>;\n\nconst defaultConfig = {\n server: defaultServerConfig,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultServerConfig","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","openapi","access","route","cache","maxAgeMs","filePath","defaultConfig","server","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultServerConfig = {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n openapi: {\n 'content-api': {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/content-api.json',\n },\n },\n admin: {\n access: 'disabled',\n route: {\n path: '/openapi.json',\n },\n cache: {\n enabled: true,\n maxAgeMs: 60_000,\n filePath: '.strapi/openapi/admin.json',\n },\n },\n },\n} satisfies Partial<Core.Config.Server>;\n\nconst defaultConfig = {\n server: defaultServerConfig,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultServerConfig","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","dirs","public","transfer","remote","logger","updates","startup","openapi","access","route","cache","maxAgeMs","filePath","admin","defaultConfig","server","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Core } from '@strapi/types';
2
+ interface ConfigLogger {
3
+ warn: (message: string) => void;
4
+ }
5
+ /**
6
+ * Log once at startup when deprecated server config keys are present.
7
+ * These keys are not read; warnings point users to the supported alternatives.
8
+ */
9
+ export declare const warnDeprecatedServerConfig: (config: Core.ConfigProvider, log: ConfigLogger) => void;
10
+ export {};
11
+ //# sourceMappingURL=server-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/configuration/server-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,UAAU,YAAY;IACpB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,YAAY,SAYxF,CAAC"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Log once at startup when deprecated server config keys are present.
5
+ * These keys are not read; warnings point users to the supported alternatives.
6
+ */ const warnDeprecatedServerConfig = (config, log)=>{
7
+ if (config.get('server.globalProxy')) {
8
+ log.warn('server.globalProxy is deprecated and ignored. Use server.proxy.global in config/server instead.');
9
+ }
10
+ if (config.get('server.admin.autoOpen') !== undefined) {
11
+ log.warn('server.admin.autoOpen is deprecated and ignored. Use admin.autoOpen in config/admin instead.');
12
+ }
13
+ };
14
+
15
+ exports.warnDeprecatedServerConfig = warnDeprecatedServerConfig;
16
+ //# sourceMappingURL=server-config.js.map