@adonisjs/core 7.1.1 → 7.2.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 (144) hide show
  1. package/build/{ace-DBm6EcQ-.js → ace-WfzFjXRM.js} +3 -3
  2. package/build/{app-BCcG_oDd.js → app-XhU0L_kQ.js} +1 -1
  3. package/build/{chunk-Do49iUES.js → chunk-ZRW5x4aP.js} +1 -3
  4. package/build/commands/add.js +3 -13
  5. package/build/commands/build.d.ts +4 -0
  6. package/build/commands/build.js +4 -4
  7. package/build/commands/commands.json +1 -1
  8. package/build/commands/configure.js +2 -3
  9. package/build/commands/eject.js +2 -3
  10. package/build/commands/env/add.js +2 -3
  11. package/build/commands/generate_key.js +2 -3
  12. package/build/commands/inspect_rcfile.js +1 -2
  13. package/build/commands/list/routes.js +2 -3
  14. package/build/commands/make/command.js +2 -3
  15. package/build/commands/make/controller.js +2 -3
  16. package/build/commands/make/event.js +2 -3
  17. package/build/commands/make/exception.js +2 -3
  18. package/build/commands/make/listener.js +2 -3
  19. package/build/commands/make/middleware.js +2 -3
  20. package/build/commands/make/preload.js +2 -3
  21. package/build/commands/make/provider.js +2 -3
  22. package/build/commands/make/service.js +2 -3
  23. package/build/commands/make/test.js +2 -3
  24. package/build/commands/make/transformer.js +2 -3
  25. package/build/commands/make/validator.js +2 -3
  26. package/build/commands/make/view.js +2 -3
  27. package/build/commands/repl.js +1 -2
  28. package/build/commands/serve.js +2 -3
  29. package/build/commands/test.js +2 -3
  30. package/build/{config-Coti2q6R.js → config-dLMqZYix.js} +1 -1
  31. package/build/{container-CGfEwWof.js → container-BB6VBj9q.js} +1 -1
  32. package/build/{core-aRg0soJX.js → core-X32M3Zo8.js} +4 -0
  33. package/build/{create_kernel-D38-0Zbt.js → create_kernel-CziaAklz.js} +1 -1
  34. package/build/create_kernel-D6ZvFwXO.js +2 -0
  35. package/build/{decorate-B9Uz0anB.js → decorate-BWvfauhB.js} +1 -1
  36. package/build/{dumper-3R77st8F.js → dumper-V22ueBaO.js} +1 -1
  37. package/build/{events-DlKX1ZdL.js → events-DIYBcPfM.js} +1 -1
  38. package/build/factories/app.js +0 -1
  39. package/build/factories/bodyparser.js +0 -1
  40. package/build/factories/core/ace.js +1 -16
  41. package/build/factories/core/ignitor.js +1 -13
  42. package/build/factories/core/main.js +3 -25
  43. package/build/factories/core/test_utils.js +1 -22
  44. package/build/factories/encryption.js +0 -1
  45. package/build/factories/events.js +0 -1
  46. package/build/factories/hash.js +0 -1
  47. package/build/factories/http.js +0 -1
  48. package/build/factories/logger.js +0 -1
  49. package/build/factories/stubs.js +1 -10
  50. package/build/{ignitor-Kym3gR-I.js → ignitor-CEEHASdH.js} +5 -5
  51. package/build/index.js +3 -9
  52. package/build/{logger-DIdZPHCe.js → logger-Cj7AOEsL.js} +1 -1
  53. package/build/{main-Ck0GqLx4.js → main-BDd3QiJF.js} +1 -1
  54. package/build/{main-B50zECAi.js → main-CG-utHjr.js} +1 -1
  55. package/build/{main-zxNP7iRl.js → main-DpE5rTyk.js} +1 -1
  56. package/build/{main-CRnMnrH7.js → main-DzNXtXg3.js} +2 -2
  57. package/build/{main-bRYXIHgD.js → main-_4BIfRkS.js} +2 -2
  58. package/build/{main-CoZI4Ezs.js → main-nex7ClUz.js} +2 -0
  59. package/build/{main-D1MSq4Uu.js → main-zFY2qkGC.js} +2 -2
  60. package/build/make/validator/resource.stub +2 -6
  61. package/build/modules/ace/codemods.d.ts +6 -0
  62. package/build/modules/ace/codemods.js +9 -1
  63. package/build/modules/ace/main.d.ts +1 -1
  64. package/build/modules/ace/main.js +2 -3
  65. package/build/modules/app.js +1 -2
  66. package/build/modules/bodyparser/bodyparser_middleware.js +0 -1
  67. package/build/modules/bodyparser/main.js +1 -2
  68. package/build/modules/config.js +1 -2
  69. package/build/modules/container.js +1 -2
  70. package/build/modules/dumper/main.js +1 -2
  71. package/build/modules/dumper/plugins/edge.js +0 -1
  72. package/build/modules/encryption/drivers/aes_256_cbc.js +0 -1
  73. package/build/modules/encryption/drivers/aes_256_gcm.js +0 -1
  74. package/build/modules/encryption/drivers/aes_siv.js +0 -1
  75. package/build/modules/encryption/drivers/chacha20_poly1305.js +0 -1
  76. package/build/modules/encryption/drivers/legacy.js +0 -2
  77. package/build/modules/encryption/main.js +1 -5
  78. package/build/modules/env/editor.js +0 -1
  79. package/build/modules/env/main.js +0 -1
  80. package/build/modules/events.js +1 -2
  81. package/build/modules/hash/drivers/argon.js +0 -1
  82. package/build/modules/hash/drivers/bcrypt.js +0 -1
  83. package/build/modules/hash/drivers/scrypt.js +0 -1
  84. package/build/modules/hash/main.js +1 -4
  85. package/build/modules/hash/phc_formatter.js +0 -1
  86. package/build/modules/health.js +0 -1
  87. package/build/modules/http/helpers.js +0 -1
  88. package/build/modules/http/main.js +1 -2
  89. package/build/modules/http/url_builder_client.js +0 -1
  90. package/build/modules/logger.js +1 -2
  91. package/build/modules/repl.js +1 -2
  92. package/build/modules/transformers/main.js +0 -1
  93. package/build/providers/app_provider.js +8 -12
  94. package/build/providers/edge_provider.js +1 -2
  95. package/build/providers/hash_provider.js +1 -3
  96. package/build/providers/repl_provider.js +1 -2
  97. package/build/providers/vinejs_provider.js +1 -2
  98. package/build/{repl-C02Re0Yd.js → repl-DL_vrd08.js} +1 -1
  99. package/build/safe_timing-AjC3K21F.js +49 -0
  100. package/build/services/ace.js +0 -1
  101. package/build/services/app.js +0 -1
  102. package/build/services/config.js +0 -1
  103. package/build/services/dumper.js +0 -1
  104. package/build/services/emitter.js +0 -1
  105. package/build/services/encryption.js +0 -1
  106. package/build/services/hash.js +0 -1
  107. package/build/services/logger.js +0 -1
  108. package/build/services/repl.js +0 -1
  109. package/build/services/router.js +0 -1
  110. package/build/services/server.js +0 -1
  111. package/build/services/test_utils.js +0 -1
  112. package/build/services/url_builder.js +0 -1
  113. package/build/src/exceptions.js +0 -1
  114. package/build/src/helpers/assert.js +0 -1
  115. package/build/src/helpers/http.js +0 -1
  116. package/build/src/helpers/is.js +0 -1
  117. package/build/src/helpers/main.d.ts +5 -0
  118. package/build/src/helpers/main.js +2 -2
  119. package/build/src/helpers/safe_timing.d.ts +28 -0
  120. package/build/src/helpers/safe_timing.js +2 -0
  121. package/build/src/helpers/string.js +0 -1
  122. package/build/src/helpers/types.js +0 -1
  123. package/build/src/helpers/verification_token.js +0 -1
  124. package/build/src/test_utils/main.js +1 -9
  125. package/build/src/types.js +0 -1
  126. package/build/src/vine.js +0 -1
  127. package/build/{test_utils-DbJS_uEu.js → test_utils-CX2woeem.js} +4 -3
  128. package/build/toolkit/main.js +1 -2
  129. package/build/types/ace.js +0 -1
  130. package/build/types/app.js +0 -1
  131. package/build/types/bodyparser.js +0 -1
  132. package/build/types/common.js +0 -1
  133. package/build/types/container.js +0 -1
  134. package/build/types/encryption.js +0 -1
  135. package/build/types/events.js +0 -1
  136. package/build/types/hash.js +0 -1
  137. package/build/types/health.js +0 -1
  138. package/build/types/helpers.js +0 -1
  139. package/build/types/http.js +0 -1
  140. package/build/types/logger.js +0 -1
  141. package/build/types/repl.js +0 -1
  142. package/build/types/transformers.js +0 -1
  143. package/package.json +12 -12
  144. package/build/create_kernel-BV3swyCg.js +0 -4
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/encryption.ts
4
3
  let encryption;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/hash.ts
4
3
  let hash;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/logger.ts
4
3
  let logger;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/repl.ts
4
3
  let repl;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/router.ts
4
3
  let router;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/server.ts
4
3
  let server;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/test_utils.ts
4
3
  let testUtils;
@@ -1,4 +1,3 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as app } from "../app-CAuSGb2P.js";
3
2
  //#region services/url_builder.ts
4
3
  let urlFor;
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { i as createError, n as InvalidArgumentsException, r as RuntimeException, t as Exception } from "../exceptions-B2MzIlHY.js";
3
2
  export { Exception, InvalidArgumentsException, RuntimeException, createError };
@@ -1,3 +1,2 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import { assertExists, assertIsDefined, assertNotNull, assertUnreachable } from "@poppinss/utils/assert";
3
2
  export { assertExists, assertIsDefined, assertNotNull, assertUnreachable };
@@ -1,3 +1,2 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/http-server/helpers";
3
2
  export {};
@@ -1,4 +1,3 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import is from "@sindresorhus/is";
3
2
  //#region src/helpers/is.ts
4
3
  /**
@@ -42,3 +42,8 @@ export { compose, Secret, safeEqual, MessageBuilder, defineStaticProperty } from
42
42
  * Verification token utility for creating secure tokens.
43
43
  */
44
44
  export { VerificationToken } from './verification_token.ts';
45
+ /**
46
+ * Ensures a callback takes at least a minimum amount of time
47
+ * to prevent timing attacks.
48
+ */
49
+ export { safeTiming } from './safe_timing.ts';
@@ -1,6 +1,6 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import { t as VerificationToken } from "../../verification_token-WCrZtUgZ.js";
2
+ import { t as safeTiming } from "../../safe_timing-AjC3K21F.js";
3
3
  import { fsImportAll, fsReadAll } from "@poppinss/utils/fs";
4
4
  import base64 from "@poppinss/utils/base64";
5
5
  import { MessageBuilder, Secret, compose, defineStaticProperty, safeEqual } from "@poppinss/utils";
6
- export { MessageBuilder, Secret, VerificationToken, base64, compose, defineStaticProperty, fsImportAll, fsReadAll, safeEqual };
6
+ export { MessageBuilder, Secret, VerificationToken, base64, compose, defineStaticProperty, fsImportAll, fsReadAll, safeEqual, safeTiming };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Ensures a callback takes at least a minimum amount of time to execute.
3
+ * This helps prevent timing attacks where an attacker measures response times
4
+ * to infer sensitive information (e.g., user enumeration via password reset).
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * // Password reset: both paths (user exists or not) take same minimum time
9
+ * return safeTiming(200, async () => {
10
+ * const user = await User.findBy('email', email)
11
+ * if (user) await sendResetEmail(user)
12
+ * return { message: 'If this email exists, you will receive a reset link.' }
13
+ * })
14
+ *
15
+ * // API token verification: skip the delay on valid token
16
+ * return safeTiming(200, async (timing) => {
17
+ * const token = await Token.findBy('value', request.header('x-api-key'))
18
+ * if (token) {
19
+ * timing.returnEarly()
20
+ * return token.owner
21
+ * }
22
+ * throw new UnauthorizedException()
23
+ * })
24
+ * ```
25
+ */
26
+ export declare function safeTiming<T>(minimumMs: number, callback: (timing: {
27
+ returnEarly(): void;
28
+ }) => Promise<T>): Promise<T>;
@@ -0,0 +1,2 @@
1
+ import { t as safeTiming } from "../../safe_timing-AjC3K21F.js";
2
+ export { safeTiming };
@@ -1,3 +1,2 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import { t as stringHelpers } from "../../string-8_8He-HH.js";
3
2
  export { stringHelpers as default };
@@ -1,4 +1,3 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import is from "@sindresorhus/is";
3
2
  //#region src/helpers/types.ts
4
3
  /**
@@ -1,3 +1,2 @@
1
- import "../../chunk-Do49iUES.js";
2
1
  import { t as VerificationToken } from "../../verification_token-WCrZtUgZ.js";
3
2
  export { VerificationToken };
@@ -1,10 +1,2 @@
1
- import "../../chunk-Do49iUES.js";
2
- import "../../debug-DWofTfIX.js";
3
- import "../../config_provider-Do9af1ze.js";
4
- import "../../exceptions-B2MzIlHY.js";
5
- import "../../main-Ck0GqLx4.js";
6
- import "../../errors-BScZTzBu.js";
7
- import "../../define_config--5euEdi8.js";
8
- import "../../main-CoZI4Ezs.js";
9
- import { t as TestUtils } from "../../main-bRYXIHgD.js";
1
+ import { t as TestUtils } from "../../main-_4BIfRkS.js";
10
2
  export { TestUtils };
@@ -1,2 +1 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export {};
package/build/src/vine.js CHANGED
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  import { t as VineMultipartFile } from "../vine-DkIupA3Z.js";
3
2
  export { VineMultipartFile };
@@ -1,6 +1,7 @@
1
- import { t as Ignitor } from "./main-D1MSq4Uu.js";
2
- import { t as IgnitorFactory } from "./ignitor-Kym3gR-I.js";
3
- import { t as TestUtils } from "./main-bRYXIHgD.js";
1
+ import { t as Ignitor } from "./main-zFY2qkGC.js";
2
+ import "./core-X32M3Zo8.js";
3
+ import { t as IgnitorFactory } from "./ignitor-CEEHASdH.js";
4
+ import { t as TestUtils } from "./main-_4BIfRkS.js";
4
5
  //#region factories/core/test_utils.ts
5
6
  /**
6
7
  * Factory for creating TestUtils instances used in AdonisJS testing scenarios.
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "../chunk-Do49iUES.js";
3
- import { t as __decorate } from "../decorate-B9Uz0anB.js";
2
+ import { t as __decorate } from "../decorate-BWvfauhB.js";
4
3
  import { BaseCommand, HelpCommand, IndexGenerator, Kernel, ListLoader, args } from "@adonisjs/ace";
5
4
  import { join } from "node:path";
6
5
  //#region toolkit/commands/index_commands.ts
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/ace/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/application/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/bodyparser/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@poppinss/utils/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/fold/types";
3
2
  export {};
@@ -1,2 +1 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/events/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/hash/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/health/types";
3
2
  export {};
@@ -1,2 +1 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/http-server/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/logger/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/repl/types";
3
2
  export {};
@@ -1,3 +1,2 @@
1
- import "../chunk-Do49iUES.js";
2
1
  export * from "@adonisjs/http-transformers/types";
3
2
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adonisjs/core",
3
3
  "description": "Core of AdonisJS",
4
- "version": "7.1.1",
4
+ "version": "7.2.0",
5
5
  "engines": {
6
6
  "node": ">=24.0.0"
7
7
  },
@@ -82,7 +82,7 @@
82
82
  "index:commands": "node --import=@poppinss/ts-exec toolkit/main.js index build/commands"
83
83
  },
84
84
  "devDependencies": {
85
- "@adonisjs/assembler": "^8.0.1",
85
+ "@adonisjs/assembler": "^8.3.0",
86
86
  "@adonisjs/eslint-config": "^3.0.0",
87
87
  "@adonisjs/prettier-config": "^1.4.5",
88
88
  "@adonisjs/tsconfig": "^2.0.0",
@@ -106,9 +106,9 @@
106
106
  "cross-env": "^10.1.0",
107
107
  "del-cli": "^7.0.0",
108
108
  "edge.js": "^6.5.0",
109
- "eslint": "^10.0.3",
109
+ "eslint": "^10.1.0",
110
110
  "execa": "^9.6.1",
111
- "get-port": "^7.1.0",
111
+ "get-port": "^7.2.0",
112
112
  "pino-pretty": "^13.1.3",
113
113
  "prettier": "^3.8.1",
114
114
  "release-it": "^19.2.4",
@@ -116,29 +116,29 @@
116
116
  "supertest": "^7.2.2",
117
117
  "test-console": "^2.0.0",
118
118
  "timekeeper": "^2.3.1",
119
- "tsdown": "^0.21.4",
120
- "typedoc": "^0.28.17",
121
- "typescript": "^5.9.3",
119
+ "tsdown": "^0.21.5",
120
+ "typedoc": "^0.28.18",
121
+ "typescript": "^6.0.2",
122
122
  "youch": "^4.1.0"
123
123
  },
124
124
  "dependencies": {
125
- "@adonisjs/ace": "^14.0.1",
125
+ "@adonisjs/ace": "^14.1.0",
126
126
  "@adonisjs/application": "^9.0.0",
127
127
  "@adonisjs/bodyparser": "^11.0.0",
128
128
  "@adonisjs/config": "^6.1.0",
129
129
  "@adonisjs/env": "^7.0.0",
130
- "@adonisjs/events": "^10.1.0",
130
+ "@adonisjs/events": "^10.2.0",
131
131
  "@adonisjs/fold": "^11.0.0",
132
- "@adonisjs/hash": "^10.0.0",
132
+ "@adonisjs/hash": "^10.1.0",
133
133
  "@adonisjs/health": "^3.1.0",
134
- "@adonisjs/http-server": "^8.0.0",
134
+ "@adonisjs/http-server": "^8.1.1",
135
135
  "@adonisjs/http-transformers": "^2.3.1",
136
136
  "@adonisjs/logger": "^7.1.1",
137
137
  "@adonisjs/repl": "^5.0.0",
138
138
  "@boringnode/encryption": "^1.0.0",
139
139
  "@poppinss/colors": "^4.1.6",
140
140
  "@poppinss/dumper": "^0.7.0",
141
- "@poppinss/macroable": "^1.1.1",
141
+ "@poppinss/macroable": "^1.1.2",
142
142
  "@poppinss/utils": "^7.0.1",
143
143
  "@sindresorhus/is": "^7.2.0",
144
144
  "@types/he": "^1.2.3",
@@ -1,4 +0,0 @@
1
- import "./chunk-Do49iUES.js";
2
- import "./main-CRnMnrH7.js";
3
- import { t as createAceKernel } from "./create_kernel-D38-0Zbt.js";
4
- export { createAceKernel };