@strapi/core 5.48.0 → 5.49.0

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 (210) hide show
  1. package/dist/Strapi.js +9 -5
  2. package/dist/Strapi.js.map +1 -1
  3. package/dist/Strapi.mjs +0 -1
  4. package/dist/Strapi.mjs.map +1 -1
  5. package/dist/ai.d.ts +2 -0
  6. package/dist/ai.d.ts.map +1 -0
  7. package/dist/ai.js +8 -0
  8. package/dist/ai.js.map +1 -0
  9. package/dist/ai.mjs +3 -0
  10. package/dist/ai.mjs.map +1 -0
  11. package/dist/configuration/config-loader.js +11 -6
  12. package/dist/configuration/config-loader.js.map +1 -1
  13. package/dist/configuration/index.js +22 -15
  14. package/dist/configuration/index.js.map +1 -1
  15. package/dist/configuration/urls.js +11 -7
  16. package/dist/configuration/urls.js.map +1 -1
  17. package/dist/core-api/routes/index.js +3 -2
  18. package/dist/core-api/routes/index.js.map +1 -1
  19. package/dist/core-api/routes/validation/common.js +3 -2
  20. package/dist/core-api/routes/validation/common.js.map +1 -1
  21. package/dist/core-api/routes/validation/content-type.js +3 -2
  22. package/dist/core-api/routes/validation/content-type.js.map +1 -1
  23. package/dist/core-api/routes/validation/mappers.js +3 -2
  24. package/dist/core-api/routes/validation/mappers.js.map +1 -1
  25. package/dist/core-api/routes/validation/utils.js +3 -2
  26. package/dist/core-api/routes/validation/utils.js.map +1 -1
  27. package/dist/domain/content-type/index.js +9 -5
  28. package/dist/domain/content-type/index.js.map +1 -1
  29. package/dist/domain/content-type/validator.js +6 -2
  30. package/dist/domain/content-type/validator.js.map +1 -1
  31. package/dist/domain/module/index.js +6 -2
  32. package/dist/domain/module/index.js.map +1 -1
  33. package/dist/ee/license.js +8 -3
  34. package/dist/ee/license.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/index.mjs +2 -0
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/loaders/admin.js +5 -1
  42. package/dist/loaders/admin.js.map +1 -1
  43. package/dist/loaders/apis.js +16 -11
  44. package/dist/loaders/apis.js.map +1 -1
  45. package/dist/loaders/components.js +6 -2
  46. package/dist/loaders/components.js.map +1 -1
  47. package/dist/loaders/middlewares.js +6 -2
  48. package/dist/loaders/middlewares.js.map +1 -1
  49. package/dist/loaders/plugins/get-enabled-plugins.js +5 -1
  50. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  51. package/dist/loaders/plugins/get-user-plugins-config.js +6 -2
  52. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  53. package/dist/loaders/plugins/index.js +8 -4
  54. package/dist/loaders/plugins/index.js.map +1 -1
  55. package/dist/loaders/policies.js +6 -2
  56. package/dist/loaders/policies.js.map +1 -1
  57. package/dist/mcp.d.ts +4 -0
  58. package/dist/mcp.d.ts.map +1 -0
  59. package/dist/mcp.js +12 -0
  60. package/dist/mcp.js.map +1 -0
  61. package/dist/mcp.mjs +4 -0
  62. package/dist/mcp.mjs.map +1 -0
  63. package/dist/middlewares/body.js +8 -3
  64. package/dist/middlewares/body.js.map +1 -1
  65. package/dist/middlewares/compression.js +5 -1
  66. package/dist/middlewares/compression.js.map +1 -1
  67. package/dist/middlewares/cors.js +5 -1
  68. package/dist/middlewares/cors.js.map +1 -1
  69. package/dist/middlewares/favicon.js +5 -1
  70. package/dist/middlewares/favicon.js.map +1 -1
  71. package/dist/middlewares/ip.js +5 -1
  72. package/dist/middlewares/ip.js.map +1 -1
  73. package/dist/middlewares/public.js +5 -1
  74. package/dist/middlewares/public.js.map +1 -1
  75. package/dist/middlewares/query.js +6 -2
  76. package/dist/middlewares/query.js.map +1 -1
  77. package/dist/middlewares/security.js +5 -1
  78. package/dist/middlewares/security.js.map +1 -1
  79. package/dist/migrations/database/5.0.0-discard-drafts.js +5 -1
  80. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  81. package/dist/migrations/first-published-at.js +5 -1
  82. package/dist/migrations/first-published-at.js.map +1 -1
  83. package/dist/package.json.js +19 -18
  84. package/dist/package.json.js.map +1 -1
  85. package/dist/package.json.mjs +19 -18
  86. package/dist/package.json.mjs.map +1 -1
  87. package/dist/registries/sanitizers.js +7 -3
  88. package/dist/registries/sanitizers.js.map +1 -1
  89. package/dist/registries/validators.js +7 -3
  90. package/dist/registries/validators.js.map +1 -1
  91. package/dist/services/auth/index.js +7 -3
  92. package/dist/services/auth/index.js.map +1 -1
  93. package/dist/services/content-api/index.js +10 -6
  94. package/dist/services/content-api/index.js.map +1 -1
  95. package/dist/services/content-api/permissions/engine.js +5 -1
  96. package/dist/services/content-api/permissions/engine.js.map +1 -1
  97. package/dist/services/content-api/permissions/index.js +10 -6
  98. package/dist/services/content-api/permissions/index.js.map +1 -1
  99. package/dist/services/document-service/attributes/transforms.js +5 -1
  100. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  101. package/dist/services/document-service/components.d.ts.map +1 -1
  102. package/dist/services/document-service/components.js +14 -10
  103. package/dist/services/document-service/components.js.map +1 -1
  104. package/dist/services/document-service/components.mjs.map +1 -1
  105. package/dist/services/document-service/draft-and-publish.js +1 -1
  106. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  107. package/dist/services/document-service/draft-and-publish.mjs +1 -1
  108. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  109. package/dist/services/document-service/entries.d.ts.map +1 -1
  110. package/dist/services/document-service/entries.js +6 -2
  111. package/dist/services/document-service/entries.js.map +1 -1
  112. package/dist/services/document-service/entries.mjs +7 -3
  113. package/dist/services/document-service/entries.mjs.map +1 -1
  114. package/dist/services/document-service/internationalization.js.map +1 -1
  115. package/dist/services/document-service/internationalization.mjs.map +1 -1
  116. package/dist/services/document-service/transform/data.d.ts +2 -0
  117. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  118. package/dist/services/document-service/transform/data.js +7 -1
  119. package/dist/services/document-service/transform/data.js.map +1 -1
  120. package/dist/services/document-service/transform/data.mjs +7 -2
  121. package/dist/services/document-service/transform/data.mjs.map +1 -1
  122. package/dist/services/document-service/utils/populate.d.ts +1 -1
  123. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  124. package/dist/services/document-service/utils/populate.js.map +1 -1
  125. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  126. package/dist/services/entity-service/index.js +9 -4
  127. package/dist/services/entity-service/index.js.map +1 -1
  128. package/dist/services/entity-validator/index.d.ts.map +1 -1
  129. package/dist/services/entity-validator/index.js +9 -4
  130. package/dist/services/entity-validator/index.js.map +1 -1
  131. package/dist/services/entity-validator/index.mjs.map +1 -1
  132. package/dist/services/entity-validator/validators.js +10 -6
  133. package/dist/services/entity-validator/validators.js.map +1 -1
  134. package/dist/services/errors.js +7 -3
  135. package/dist/services/errors.js.map +1 -1
  136. package/dist/services/fs.js +10 -5
  137. package/dist/services/fs.js.map +1 -1
  138. package/dist/services/mcp/prompt-registry.d.ts +31 -3
  139. package/dist/services/mcp/prompt-registry.d.ts.map +1 -1
  140. package/dist/services/mcp/prompt-registry.js +31 -0
  141. package/dist/services/mcp/prompt-registry.js.map +1 -1
  142. package/dist/services/mcp/prompt-registry.mjs +31 -1
  143. package/dist/services/mcp/prompt-registry.mjs.map +1 -1
  144. package/dist/services/mcp/resource-registry.d.ts +31 -1
  145. package/dist/services/mcp/resource-registry.d.ts.map +1 -1
  146. package/dist/services/mcp/resource-registry.js +31 -0
  147. package/dist/services/mcp/resource-registry.js.map +1 -1
  148. package/dist/services/mcp/resource-registry.mjs +31 -1
  149. package/dist/services/mcp/resource-registry.mjs.map +1 -1
  150. package/dist/services/mcp/tool-registry.d.ts +36 -9
  151. package/dist/services/mcp/tool-registry.d.ts.map +1 -1
  152. package/dist/services/mcp/tool-registry.js +35 -3
  153. package/dist/services/mcp/tool-registry.js.map +1 -1
  154. package/dist/services/mcp/tool-registry.mjs +35 -3
  155. package/dist/services/mcp/tool-registry.mjs.map +1 -1
  156. package/dist/services/mcp/tools/log.d.ts +15 -85
  157. package/dist/services/mcp/tools/log.d.ts.map +1 -1
  158. package/dist/services/metrics/admin-user-hash.js +5 -1
  159. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  160. package/dist/services/metrics/is-truthy.js +5 -1
  161. package/dist/services/metrics/is-truthy.js.map +1 -1
  162. package/dist/services/metrics/sender.js +17 -9
  163. package/dist/services/metrics/sender.js.map +1 -1
  164. package/dist/services/server/api.js +5 -1
  165. package/dist/services/server/api.js.map +1 -1
  166. package/dist/services/server/compose-endpoint.js +5 -1
  167. package/dist/services/server/compose-endpoint.js.map +1 -1
  168. package/dist/services/server/http-server.js +5 -1
  169. package/dist/services/server/http-server.js.map +1 -1
  170. package/dist/services/server/index.js +5 -1
  171. package/dist/services/server/index.js.map +1 -1
  172. package/dist/services/server/koa.js +12 -5
  173. package/dist/services/server/koa.js.map +1 -1
  174. package/dist/services/server/middleware.js +5 -1
  175. package/dist/services/server/middleware.js.map +1 -1
  176. package/dist/services/server/openapi.js +11 -6
  177. package/dist/services/server/openapi.js.map +1 -1
  178. package/dist/services/server/register-routes.js +8 -4
  179. package/dist/services/server/register-routes.js.map +1 -1
  180. package/dist/services/server/routing.js +5 -1
  181. package/dist/services/server/routing.js.map +1 -1
  182. package/dist/services/session-manager.js +14 -9
  183. package/dist/services/session-manager.js.map +1 -1
  184. package/dist/services/webhook-runner.js +7 -2
  185. package/dist/services/webhook-runner.js.map +1 -1
  186. package/dist/services/worker-queue.js +5 -1
  187. package/dist/services/worker-queue.js.map +1 -1
  188. package/dist/utils/filepath-to-prop-path.js +13 -8
  189. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  190. package/dist/utils/load-config-file.js +7 -2
  191. package/dist/utils/load-config-file.js.map +1 -1
  192. package/dist/utils/load-files.js +12 -6
  193. package/dist/utils/load-files.js.map +1 -1
  194. package/dist/utils/open-browser.js +5 -1
  195. package/dist/utils/open-browser.js.map +1 -1
  196. package/dist/utils/resolve-working-dirs.js +6 -2
  197. package/dist/utils/resolve-working-dirs.js.map +1 -1
  198. package/dist/utils/startup-logger.js +27 -21
  199. package/dist/utils/startup-logger.js.map +1 -1
  200. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  201. package/dist/utils/transform-content-types-to-models.js +15 -6
  202. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  203. package/dist/utils/transform-content-types-to-models.mjs +5 -1
  204. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  205. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  206. package/dist/utils/update-notifier/index.js +21 -8
  207. package/dist/utils/update-notifier/index.js.map +1 -1
  208. package/dist/utils/update-notifier/index.mjs +6 -1
  209. package/dist/utils/update-notifier/index.mjs.map +1 -1
  210. package/package.json +19 -18
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport packageJson from 'package-json';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport pkg from '../../../package.json';\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":["CHECK_INTERVAL","NOTIF_INTERVAL","boxenOptions","padding","margin","align","borderColor","borderStyle","getUpdateMessage","newVersion","currentVersion","currentVersionLog","chalk","dim","newVersionLog","green","releaseLink","bold","trim","createUpdateNotifier","strapi","config","Configstore","pkg","name","configPath","path","join","dirs","app","root","checkUpdate","checkInterval","now","Date","lastUpdateCheck","get","res","packageJson","version","set","display","notifInterval","latestVersion","lastNotification","process","stdout","isTTY","semver","valid","lte","message","boxen","console","log","env","bool","warn"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport pkg from '../../../package.json';\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n // `package-json` is ESM-only. The CJS build can't statically import it while engines\n // allow Node <20.19 (`require()` of ESM throws ERR_REQUIRE_ESM there), so load it via\n // dynamic import. Once the Node floor is >=22, this can revert to a static\n // `import packageJson from 'package-json'` — rollup's `interop: 'auto'` resolves the\n // default export shape correctly.\n const { default: packageJson } = await import('package-json');\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":["CHECK_INTERVAL","NOTIF_INTERVAL","boxenOptions","padding","margin","align","borderColor","borderStyle","getUpdateMessage","newVersion","currentVersion","currentVersionLog","chalk","dim","newVersionLog","green","releaseLink","bold","trim","createUpdateNotifier","strapi","config","Configstore","pkg","name","configPath","path","join","dirs","app","root","checkUpdate","checkInterval","now","Date","lastUpdateCheck","get","default","packageJson","res","version","set","display","notifInterval","latestVersion","lastNotification","process","stdout","isTTY","semver","valid","lte","message","boxen","console","log","env","bool","warn"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import path from 'path';
2
- import packageJson from 'package-json';
3
2
  import Configstore from 'configstore';
4
3
  import semver from 'semver';
5
4
  import boxen from 'boxen';
@@ -43,6 +42,12 @@ const createUpdateNotifier = (strapi)=>{
43
42
  return;
44
43
  }
45
44
  try {
45
+ // `package-json` is ESM-only. The CJS build can't statically import it while engines
46
+ // allow Node <20.19 (`require()` of ESM throws ERR_REQUIRE_ESM there), so load it via
47
+ // dynamic import. Once the Node floor is >=22, this can revert to a static
48
+ // `import packageJson from 'package-json'` — rollup's `interop: 'auto'` resolves the
49
+ // default export shape correctly.
50
+ const { default: packageJson } = await import('package-json');
46
51
  const res = await packageJson(pkg.name);
47
52
  if (res.version) {
48
53
  config.set('latest', res.version);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport packageJson from 'package-json';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport pkg from '../../../package.json';\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":["CHECK_INTERVAL","NOTIF_INTERVAL","boxenOptions","padding","margin","align","borderColor","borderStyle","getUpdateMessage","newVersion","currentVersion","currentVersionLog","chalk","dim","newVersionLog","green","releaseLink","bold","trim","createUpdateNotifier","strapi","config","Configstore","pkg","name","configPath","path","join","dirs","app","root","checkUpdate","checkInterval","now","Date","lastUpdateCheck","get","res","packageJson","version","set","display","notifInterval","latestVersion","lastNotification","process","stdout","isTTY","semver","valid","lte","message","boxen","console","log","env","bool","warn"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\nimport pkg from '../../../package.json';\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n // `package-json` is ESM-only. The CJS build can't statically import it while engines\n // allow Node <20.19 (`require()` of ESM throws ERR_REQUIRE_ESM there), so load it via\n // dynamic import. Once the Node floor is >=22, this can revert to a static\n // `import packageJson from 'package-json'` — rollup's `interop: 'auto'` resolves the\n // default export shape correctly.\n const { default: packageJson } = await import('package-json');\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":["CHECK_INTERVAL","NOTIF_INTERVAL","boxenOptions","padding","margin","align","borderColor","borderStyle","getUpdateMessage","newVersion","currentVersion","currentVersionLog","chalk","dim","newVersionLog","green","releaseLink","bold","trim","createUpdateNotifier","strapi","config","Configstore","pkg","name","configPath","path","join","dirs","app","root","checkUpdate","checkInterval","now","Date","lastUpdateCheck","get","default","packageJson","res","version","set","display","notifInterval","latestVersion","lastNotification","process","stdout","isTTY","semver","valid","lte","message","boxen","console","log","env","bool","warn"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/core",
3
- "version": "5.48.0",
3
+ "version": "5.49.0",
4
4
  "description": "Core of Strapi",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -61,15 +61,15 @@
61
61
  "@koa/router": "12.0.2",
62
62
  "@modelcontextprotocol/sdk": "1.29.0",
63
63
  "@paralleldrive/cuid2": "2.2.2",
64
- "@strapi/admin": "5.48.0",
65
- "@strapi/database": "5.48.0",
66
- "@strapi/generators": "5.48.0",
67
- "@strapi/logger": "5.48.0",
68
- "@strapi/openapi": "5.48.0",
69
- "@strapi/permissions": "5.48.0",
70
- "@strapi/types": "5.48.0",
71
- "@strapi/typescript-utils": "5.48.0",
72
- "@strapi/utils": "5.48.0",
64
+ "@strapi/admin": "5.49.0",
65
+ "@strapi/database": "5.49.0",
66
+ "@strapi/generators": "5.49.0",
67
+ "@strapi/logger": "5.49.0",
68
+ "@strapi/openapi": "5.49.0",
69
+ "@strapi/permissions": "5.49.0",
70
+ "@strapi/types": "5.49.0",
71
+ "@strapi/typescript-utils": "5.49.0",
72
+ "@strapi/utils": "5.49.0",
73
73
  "@vercel/stega": "0.1.2",
74
74
  "bcryptjs": "2.4.3",
75
75
  "boxen": "5.1.2",
@@ -85,6 +85,7 @@
85
85
  "fs-extra": "11.3.4",
86
86
  "glob": "13.0.6",
87
87
  "global-agent": "4.1.3",
88
+ "helmet": "6.2.0",
88
89
  "http-errors": "2.0.0",
89
90
  "inquirer": "9.3.8",
90
91
  "is-docker": "2.2.1",
@@ -95,23 +96,23 @@
95
96
  "koa-compose": "4.1.0",
96
97
  "koa-compress": "5.1.1",
97
98
  "koa-favicon": "2.1.0",
98
- "koa-helmet": "7.0.2",
99
+ "koa-helmet": "7.1.0",
99
100
  "koa-ip": "^2.1.3",
100
101
  "koa-session": "7.0.2",
101
102
  "koa-static": "5.0.0",
102
103
  "lodash": "4.18.1",
103
104
  "mime-types": "2.1.35",
104
105
  "node-schedule": "2.1.1",
105
- "open": "8.4.0",
106
+ "open": "8.4.2",
106
107
  "ora": "5.4.1",
107
- "package-json": "7.0.0",
108
+ "package-json": "10.0.1",
108
109
  "pkg-up": "3.1.0",
109
110
  "qs": "6.15.2",
110
111
  "resolve.exports": "2.0.2",
111
112
  "semver": "7.7.4",
112
113
  "statuses": "2.0.1",
113
114
  "typescript": "5.4.5",
114
- "undici": "6.25.0",
115
+ "undici": "6.27.0",
115
116
  "yup": "0.32.9",
116
117
  "zod": "3.25.67"
117
118
  },
@@ -135,14 +136,14 @@
135
136
  "@types/node": "24.10.0",
136
137
  "@types/node-schedule": "2.1.7",
137
138
  "@types/statuses": "2.0.1",
138
- "eslint-config-custom": "5.48.0",
139
+ "eslint-config-custom": "5.49.0",
139
140
  "supertest": "7.2.2",
140
- "tsconfig": "5.48.0",
141
+ "tsconfig": "5.49.0",
141
142
  "vitest": "catalog:",
142
- "vitest-config": "5.48.0"
143
+ "vitest-config": "5.49.0"
143
144
  },
144
145
  "engines": {
145
- "node": ">=20.0.0 <=24.x.x",
146
+ "node": ">=20.0.0 <=26.x.x",
146
147
  "npm": ">=6.0.0"
147
148
  }
148
149
  }