modestbench 0.3.2 → 0.5.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 (158) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +45 -2
  3. package/dist/adapters/ava-adapter.cjs +421 -0
  4. package/dist/adapters/ava-adapter.cjs.map +1 -0
  5. package/dist/adapters/ava-adapter.d.cts +39 -0
  6. package/dist/adapters/ava-adapter.d.cts.map +1 -0
  7. package/dist/adapters/ava-adapter.d.ts +39 -0
  8. package/dist/adapters/ava-adapter.d.ts.map +1 -0
  9. package/dist/adapters/ava-adapter.js +384 -0
  10. package/dist/adapters/ava-adapter.js.map +1 -0
  11. package/dist/adapters/ava-hooks.cjs +66 -0
  12. package/dist/adapters/ava-hooks.cjs.map +1 -0
  13. package/dist/adapters/ava-hooks.d.cts +24 -0
  14. package/dist/adapters/ava-hooks.d.cts.map +1 -0
  15. package/dist/adapters/ava-hooks.d.ts +24 -0
  16. package/dist/adapters/ava-hooks.d.ts.map +1 -0
  17. package/dist/adapters/ava-hooks.js +61 -0
  18. package/dist/adapters/ava-hooks.js.map +1 -0
  19. package/dist/adapters/ava-register.cjs +16 -0
  20. package/dist/adapters/ava-register.cjs.map +1 -0
  21. package/dist/adapters/ava-register.d.cts +11 -0
  22. package/dist/adapters/ava-register.d.cts.map +1 -0
  23. package/dist/adapters/ava-register.d.ts +11 -0
  24. package/dist/adapters/ava-register.d.ts.map +1 -0
  25. package/dist/adapters/ava-register.js +14 -0
  26. package/dist/adapters/ava-register.js.map +1 -0
  27. package/dist/adapters/mocha-adapter.cjs +254 -0
  28. package/dist/adapters/mocha-adapter.cjs.map +1 -0
  29. package/dist/adapters/mocha-adapter.d.cts +26 -0
  30. package/dist/adapters/mocha-adapter.d.cts.map +1 -0
  31. package/dist/adapters/mocha-adapter.d.ts +26 -0
  32. package/dist/adapters/mocha-adapter.d.ts.map +1 -0
  33. package/dist/adapters/mocha-adapter.js +217 -0
  34. package/dist/adapters/mocha-adapter.js.map +1 -0
  35. package/dist/adapters/node-test-adapter.cjs +335 -0
  36. package/dist/adapters/node-test-adapter.cjs.map +1 -0
  37. package/dist/adapters/node-test-adapter.d.cts +41 -0
  38. package/dist/adapters/node-test-adapter.d.cts.map +1 -0
  39. package/dist/adapters/node-test-adapter.d.ts +41 -0
  40. package/dist/adapters/node-test-adapter.d.ts.map +1 -0
  41. package/dist/adapters/node-test-adapter.js +298 -0
  42. package/dist/adapters/node-test-adapter.js.map +1 -0
  43. package/dist/adapters/node-test-hooks.cjs +72 -0
  44. package/dist/adapters/node-test-hooks.cjs.map +1 -0
  45. package/dist/adapters/node-test-hooks.d.cts +24 -0
  46. package/dist/adapters/node-test-hooks.d.cts.map +1 -0
  47. package/dist/adapters/node-test-hooks.d.ts +24 -0
  48. package/dist/adapters/node-test-hooks.d.ts.map +1 -0
  49. package/dist/adapters/node-test-hooks.js +67 -0
  50. package/dist/adapters/node-test-hooks.js.map +1 -0
  51. package/dist/adapters/node-test-register.cjs +7 -0
  52. package/dist/adapters/node-test-register.cjs.map +1 -0
  53. package/dist/adapters/node-test-register.d.cts +2 -0
  54. package/dist/adapters/node-test-register.d.cts.map +1 -0
  55. package/dist/adapters/node-test-register.d.ts +2 -0
  56. package/dist/adapters/node-test-register.d.ts.map +1 -0
  57. package/dist/adapters/node-test-register.js +5 -0
  58. package/dist/adapters/node-test-register.js.map +1 -0
  59. package/dist/adapters/types.cjs +152 -0
  60. package/dist/adapters/types.cjs.map +1 -0
  61. package/dist/adapters/types.d.cts +112 -0
  62. package/dist/adapters/types.d.cts.map +1 -0
  63. package/dist/adapters/types.d.ts +112 -0
  64. package/dist/adapters/types.d.ts.map +1 -0
  65. package/dist/adapters/types.js +148 -0
  66. package/dist/adapters/types.js.map +1 -0
  67. package/dist/cli/commands/init.cjs +21 -17
  68. package/dist/cli/commands/init.cjs.map +1 -1
  69. package/dist/cli/commands/init.d.cts.map +1 -1
  70. package/dist/cli/commands/init.d.ts.map +1 -1
  71. package/dist/cli/commands/init.js +21 -17
  72. package/dist/cli/commands/init.js.map +1 -1
  73. package/dist/cli/commands/run.cjs +6 -2
  74. package/dist/cli/commands/run.cjs.map +1 -1
  75. package/dist/cli/commands/run.js +6 -2
  76. package/dist/cli/commands/run.js.map +1 -1
  77. package/dist/cli/commands/test.cjs +392 -0
  78. package/dist/cli/commands/test.cjs.map +1 -0
  79. package/dist/cli/commands/test.d.cts +38 -0
  80. package/dist/cli/commands/test.d.cts.map +1 -0
  81. package/dist/cli/commands/test.d.ts +38 -0
  82. package/dist/cli/commands/test.d.ts.map +1 -0
  83. package/dist/cli/commands/test.js +388 -0
  84. package/dist/cli/commands/test.js.map +1 -0
  85. package/dist/cli/index.cjs +72 -1
  86. package/dist/cli/index.cjs.map +1 -1
  87. package/dist/cli/index.d.cts.map +1 -1
  88. package/dist/cli/index.d.ts.map +1 -1
  89. package/dist/cli/index.js +73 -2
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/constants.cjs +13 -1
  92. package/dist/constants.cjs.map +1 -1
  93. package/dist/constants.d.cts +12 -0
  94. package/dist/constants.d.cts.map +1 -1
  95. package/dist/constants.d.ts +12 -0
  96. package/dist/constants.d.ts.map +1 -1
  97. package/dist/constants.js +12 -0
  98. package/dist/constants.js.map +1 -1
  99. package/dist/core/engine.cjs +4 -0
  100. package/dist/core/engine.cjs.map +1 -1
  101. package/dist/core/engine.d.cts.map +1 -1
  102. package/dist/core/engine.d.ts.map +1 -1
  103. package/dist/core/engine.js +4 -0
  104. package/dist/core/engine.js.map +1 -1
  105. package/dist/core/engines/tinybench-engine.cjs +163 -131
  106. package/dist/core/engines/tinybench-engine.cjs.map +1 -1
  107. package/dist/core/engines/tinybench-engine.d.cts +6 -0
  108. package/dist/core/engines/tinybench-engine.d.cts.map +1 -1
  109. package/dist/core/engines/tinybench-engine.d.ts +6 -0
  110. package/dist/core/engines/tinybench-engine.d.ts.map +1 -1
  111. package/dist/core/engines/tinybench-engine.js +163 -131
  112. package/dist/core/engines/tinybench-engine.js.map +1 -1
  113. package/dist/errors/base.cjs +2 -1
  114. package/dist/errors/base.cjs.map +1 -1
  115. package/dist/errors/base.d.cts.map +1 -1
  116. package/dist/errors/base.d.ts.map +1 -1
  117. package/dist/errors/base.js +2 -1
  118. package/dist/errors/base.js.map +1 -1
  119. package/dist/reporters/human.cjs +83 -27
  120. package/dist/reporters/human.cjs.map +1 -1
  121. package/dist/reporters/human.d.cts +1 -0
  122. package/dist/reporters/human.d.cts.map +1 -1
  123. package/dist/reporters/human.d.ts +1 -0
  124. package/dist/reporters/human.d.ts.map +1 -1
  125. package/dist/reporters/human.js +83 -27
  126. package/dist/reporters/human.js.map +1 -1
  127. package/dist/reporters/simple.cjs +68 -21
  128. package/dist/reporters/simple.cjs.map +1 -1
  129. package/dist/reporters/simple.d.cts +1 -0
  130. package/dist/reporters/simple.d.cts.map +1 -1
  131. package/dist/reporters/simple.d.ts +1 -0
  132. package/dist/reporters/simple.d.ts.map +1 -1
  133. package/dist/reporters/simple.js +68 -21
  134. package/dist/reporters/simple.js.map +1 -1
  135. package/dist/services/config-manager.cjs +1 -1
  136. package/dist/services/config-manager.cjs.map +1 -1
  137. package/dist/services/config-manager.js +2 -2
  138. package/dist/services/config-manager.js.map +1 -1
  139. package/package.json +60 -31
  140. package/src/adapters/ava-adapter.ts +553 -0
  141. package/src/adapters/ava-hooks.ts +65 -0
  142. package/src/adapters/ava-register.ts +15 -0
  143. package/src/adapters/mocha-adapter.ts +284 -0
  144. package/src/adapters/node-test-adapter.ts +391 -0
  145. package/src/adapters/node-test-hooks.ts +71 -0
  146. package/src/adapters/node-test-register.ts +5 -0
  147. package/src/adapters/types.ts +281 -0
  148. package/src/cli/commands/init.ts +25 -17
  149. package/src/cli/commands/run.ts +9 -2
  150. package/src/cli/commands/test.ts +546 -0
  151. package/src/cli/index.ts +81 -1
  152. package/src/constants.ts +15 -0
  153. package/src/core/engine.ts +5 -0
  154. package/src/core/engines/tinybench-engine.ts +213 -141
  155. package/src/errors/base.ts +3 -2
  156. package/src/reporters/human.ts +107 -36
  157. package/src/reporters/simple.ts +81 -22
  158. package/src/services/config-manager.ts +2 -2
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "modestbench",
3
- "version": "0.3.2",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "A full-ass benchmarking framework for Node.js",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/boneskull/modestbench.git"
9
9
  },
10
- "homepage": "https://boneskull.github.io/modestbench",
10
+ "homepage": "https://modestbench.dev",
11
11
  "bugs": {
12
12
  "url": "https://github.com/boneskull/modestbench/issues"
13
13
  },
@@ -26,11 +26,31 @@
26
26
  "import": "./dist/index.js",
27
27
  "require": "./dist/index.cjs"
28
28
  },
29
+ "./ava": {
30
+ "types": "./dist/adapters/ava-register.d.cts",
31
+ "import": "./dist/adapters/ava-register.js",
32
+ "require": "./dist/adapters/ava-register.cjs"
33
+ },
34
+ "./ava-hooks": {
35
+ "types": "./dist/adapters/ava-hooks.d.cts",
36
+ "import": "./dist/adapters/ava-hooks.js",
37
+ "require": "./dist/adapters/ava-hooks.cjs"
38
+ },
29
39
  "./cli": {
30
40
  "types": "./dist/cli/index.d.cts",
31
41
  "import": "./dist/cli/index.js",
32
42
  "require": "./dist/cli/index.cjs"
33
43
  },
44
+ "./node-test": {
45
+ "types": "./dist/adapters/node-test-register.d.cts",
46
+ "import": "./dist/adapters/node-test-register.js",
47
+ "require": "./dist/adapters/node-test-register.cjs"
48
+ },
49
+ "./node-test-hooks": {
50
+ "types": "./dist/adapters/node-test-hooks.d.cts",
51
+ "import": "./dist/adapters/node-test-hooks.js",
52
+ "require": "./dist/adapters/node-test-hooks.cjs"
53
+ },
34
54
  "./package.json": "./package.json"
35
55
  },
36
56
  "files": [
@@ -96,46 +116,47 @@
96
116
  "dependencies": {
97
117
  "cosmiconfig": "9.0.0",
98
118
  "cosmiconfig-typescript-loader": "6.2.0",
99
- "glob": "11.0.3",
100
- "minimatch": "10.0.3",
101
- "tinybench": "5.1.0",
119
+ "glob": "13.0.0",
120
+ "minimatch": "10.1.1",
121
+ "tinybench": "6.0.0",
102
122
  "yargs": "18.0.0",
103
- "zod": "4.1.12"
123
+ "zod": "4.1.13"
104
124
  },
105
125
  "devDependencies": {
106
- "@astrojs/mdx": "4.3.9",
107
- "@astrojs/starlight": "0.36.1",
108
- "@commitlint/cli": "20.1.0",
109
- "@commitlint/config-conventional": "20.0.0",
110
- "@eslint/js": "9.38.0",
126
+ "@astrojs/mdx": "4.3.12",
127
+ "@astrojs/starlight": "0.37.0",
128
+ "@commitlint/cli": "20.2.0",
129
+ "@commitlint/config-conventional": "20.2.0",
130
+ "@eslint/js": "9.39.1",
111
131
  "@pasqal-io/starlight-client-mermaid": "0.1.0",
112
- "@stylistic/eslint-plugin": "5.5.0",
113
- "@types/node": "24.9.1",
132
+ "@stylistic/eslint-plugin": "5.6.1",
133
+ "@types/node": "24.10.1",
114
134
  "@types/wallabyjs": "0.0.15",
115
- "@types/yargs": "17.0.34",
135
+ "@types/yargs": "17.0.35",
116
136
  "asciinema-player": "3.12.1",
117
- "astro": "5.15.2",
118
- "bupkis": "0.12.0",
119
- "cspell": "9.2.2",
120
- "eslint": "9.38.0",
137
+ "astro": "5.16.4",
138
+ "astro-broken-link-checker": "file:./vendor/astro-broken-link-checker",
139
+ "bupkis": "0.13.0",
140
+ "cspell": "9.4.0",
141
+ "eslint": "9.39.1",
121
142
  "eslint-plugin-jsonc": "2.21.0",
122
143
  "eslint-plugin-perfectionist": "4.15.1",
123
- "globals": "16.4.0",
144
+ "globals": "16.5.0",
124
145
  "husky": "9.1.7",
125
- "knip": "5.66.3",
126
- "lint-staged": "16.2.6",
127
- "markdownlint-cli2": "0.18.1",
128
- "markdownlint-cli2-formatter-pretty": "0.0.8",
146
+ "knip": "5.71.0",
147
+ "lint-staged": "16.2.7",
148
+ "markdownlint-cli2": "0.19.1",
149
+ "markdownlint-cli2-formatter-pretty": "0.0.9",
129
150
  "npm-run-all2": "8.0.4",
130
151
  "prettier": "3.6.2",
131
- "prettier-plugin-jsdoc": "1.3.3",
152
+ "prettier-plugin-jsdoc": "1.7.0",
132
153
  "prettier-plugin-pkg": "0.21.2",
133
154
  "prettier-plugin-sort-json": "4.1.1",
134
155
  "tsd": "0.33.0",
135
- "tsx": "4.20.6",
156
+ "tsx": "4.21.0",
136
157
  "typescript": "5.9.3",
137
- "typescript-eslint": "8.46.2",
138
- "zshy": "0.4.4"
158
+ "typescript-eslint": "8.48.0",
159
+ "zshy": "0.6.0"
139
160
  },
140
161
  "publishConfig": {
141
162
  "access": "public",
@@ -146,17 +167,19 @@
146
167
  "@types/wallabyjs",
147
168
  "markdownlint-cli2-formatter-pretty",
148
169
  "asciinema-player",
149
- "@astrojs/mdx"
170
+ "@astrojs/mdx",
171
+ "astro-broken-link-checker"
150
172
  ],
151
173
  "ignore": [
152
174
  ".wallaby.js",
153
175
  "**/*.cts",
154
176
  "**/*.d.ts",
155
177
  "site/media/**/*",
156
- "worktrees/**/*",
178
+ "..worktrees/**/*",
157
179
  "site/src/content/**/*",
158
180
  "test-d/**/*",
159
- "site/src/components/**/*.astro"
181
+ "site/src/components/**/*.astro",
182
+ "vendor/**/*"
160
183
  ],
161
184
  "tags": [
162
185
  "-knipignore"
@@ -168,7 +191,9 @@
168
191
  "src/index.ts",
169
192
  "src/cli/index.ts",
170
193
  "examples/**/*.ts",
171
- "examples/**/*.js"
194
+ "examples/**/*.js",
195
+ "src/adapters/*-hooks.ts",
196
+ "src/adapters/*-register.ts"
172
197
  ]
173
198
  }
174
199
  },
@@ -208,7 +233,11 @@
208
233
  "bin": "./src/cli/index.ts",
209
234
  "exports": {
210
235
  ".": "./src/index.ts",
236
+ "./ava": "./src/adapters/ava-register.ts",
237
+ "./ava-hooks": "./src/adapters/ava-hooks.ts",
211
238
  "./cli": "./src/cli/index.ts",
239
+ "./node-test": "./src/adapters/node-test-register.ts",
240
+ "./node-test-hooks": "./src/adapters/node-test-hooks.ts",
212
241
  "./package.json": "./package.json"
213
242
  }
214
243
  }