@testforgejs/vue-test-preset-recommended 1.0.0-beta.0 → 1.0.0-beta.2

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.
package/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # @testforgejs/vue-test-preset-recommended
2
2
 
3
- Recommended presets for the [TestForge](https://github.com/testforgejs/testforge) Vue 3 component testing framework.
3
+ Recommended **Vitest** presets for the [TestForge](https://github.com/testforgejs/testforge) Vue 3 component testing framework.
4
4
 
5
- This package provides ready-to-use TestForge presets with sensible defaults for commonly used Vue plugins.
5
+ This package builds on [`@testforgejs/vue-test-preset-base`](https://www.npmjs.com/package/@testforgejs/vue-test-preset-base) and provides recommended defaults for projects using **Vitest**.
6
+
7
+ The main difference from the base presets is the Pinia configuration: the recommended presets configure Pinia to use Vitest's `vi.fn` as its `createSpy` implementation.
6
8
 
7
9
  ## Installation
8
10
 
@@ -26,7 +28,7 @@ npm install -D @testforgejs/vue-test-preset-recommended@beta
26
28
  yarn add -D @testforgejs/vue-test-preset-recommended@beta
27
29
  ```
28
30
 
29
- > `@testforgejs/vue-test-core` is required.
31
+ > `@testforgejs/vue-test-core` and `@testforgejs/vue-test-preset-base` are required dependencies.
30
32
 
31
33
  ## Quick Usage
32
34
 
@@ -34,6 +36,7 @@ Import the `presets` object and pass it to `createTestFramework()`:
34
36
 
35
37
  ```typescript
36
38
  // tests/setup.ts
39
+
37
40
  import { createTestFramework } from "@testforgejs/vue-test-core";
38
41
  import { presets } from "@testforgejs/vue-test-preset-recommended";
39
42
 
@@ -63,17 +66,26 @@ describe("MyComponent", () => {
63
66
 
64
67
  ## Available Presets
65
68
 
66
- The package currently exports the following presets:
69
+ The package exports four presets:
70
+
71
+ - `presets.default`
72
+ - `presets.piniaPreset`
73
+ - `presets.i18nPreset`
74
+ - `presets.routerPreset`
75
+
76
+ The presets are based on the corresponding presets from `@testforgejs/vue-test-preset-base`.
67
77
 
68
78
  ### `presets.default`
69
79
 
70
- The default recommended preset enables the following managed plugins:
80
+ The default recommended preset enables:
81
+
82
+ - Pinia;
83
+ - Vue I18n;
84
+ - Vue Router — disabled by default.
71
85
 
72
- - Pinia
73
- - Vue I18n
74
- - Vue Router — disabled by default
86
+ It also provides default option factories for these managed plugins.
75
87
 
76
- It also provides default configuration for Pinia, Vue I18n, and Vue Router.
88
+ For Pinia, the recommended preset additionally configures Vitest's `vi.fn` as the `createSpy` implementation.
77
89
 
78
90
  ```typescript
79
91
  const { testComponentFactory } = createTestFramework({
@@ -83,11 +95,38 @@ const { testComponentFactory } = createTestFramework({
83
95
  });
84
96
  ```
85
97
 
98
+ This is the preset intended for most Vitest-based TestForge projects.
99
+
100
+ ### `presets.piniaPreset`
101
+
102
+ A minimal preset for tests that require Pinia.
103
+
104
+ It enables Pinia and configures its spy factory to use Vitest:
105
+
106
+ ```typescript
107
+ const { testComponentFactory } = createTestFramework({
108
+ presets: {
109
+ default: presets.piniaPreset,
110
+ },
111
+ });
112
+ ```
113
+
114
+ The Pinia option factory is based on the base preset and adds Vitest's `vi.fn`:
115
+
116
+ ```typescript
117
+ pinia: () => ({
118
+ ...basePiniaOptions,
119
+ createSpy: vi.fn,
120
+ });
121
+ ```
122
+
123
+ This makes the preset immediately usable with `@pinia/testing` under Vitest.
124
+
86
125
  ### `presets.i18nPreset`
87
126
 
88
127
  A minimal preset for tests that require Vue I18n.
89
128
 
90
- It enables Vue I18n with:
129
+ It enables Vue I18n using the base preset's default configuration:
91
130
 
92
131
  - Composition API mode (`legacy: false`);
93
132
  - English locale;
@@ -95,6 +134,8 @@ It enables Vue I18n with:
95
134
  - empty messages;
96
135
  - disabled missing-translation warnings.
97
136
 
137
+ The plugin defaults are provided through a plugin options factory, so each pipeline context receives fresh plugin options.
138
+
98
139
  ```typescript
99
140
  const { testComponentFactory } = createTestFramework({
100
141
  presets: {
@@ -103,6 +144,127 @@ const { testComponentFactory } = createTestFramework({
103
144
  });
104
145
  ```
105
146
 
147
+ ### `presets.routerPreset`
148
+
149
+ A minimal preset for tests that require Vue Router.
150
+
151
+ It enables the managed Vue Router integration using the base preset's default router configuration.
152
+
153
+ ```typescript
154
+ const { testComponentFactory } = createTestFramework({
155
+ presets: {
156
+ default: presets.routerPreset,
157
+ },
158
+ });
159
+ ```
160
+
161
+ The router preset provides a test-oriented router configuration suitable for isolated component tests.
162
+
163
+ Its plugin defaults are provided through a plugin options factory, which produces fresh options for each pipeline context.
164
+
165
+ ## Recommended vs Base Presets
166
+
167
+ `@testforgejs/vue-test-preset-base` provides framework-neutral preset definitions.
168
+
169
+ `@testforgejs/vue-test-preset-recommended` builds on those presets and adds Vitest-specific configuration where necessary.
170
+
171
+ In particular:
172
+
173
+ ```text
174
+ @testforgejs/vue-test-preset-base
175
+ │
176
+ ├── default
177
+ ├── piniaPreset
178
+ ├── i18nPreset
179
+ └── routerPreset
180
+ │
181
+ ▼
182
+ @testforgejs/vue-test-preset-recommended
183
+ │
184
+ ├── default → adds Vitest vi.fn to Pinia
185
+ ├── piniaPreset → adds Vitest vi.fn to Pinia
186
+ ├── i18nPreset → inherited from base
187
+ └── routerPreset → inherited from base
188
+ ```
189
+
190
+ This separation keeps the base preset independent from a particular test runner while allowing the recommended preset to provide runner-specific defaults.
191
+
192
+ The Vitest-specific Pinia defaults are implemented as a **plugin options factory**. The factory invokes the base Pinia options factory and adds `createSpy`:
193
+
194
+ ```typescript
195
+ const defaultVitestPinia = (() => ({
196
+ ...defaultPinia(),
197
+ createSpy: vi.fn,
198
+ })) satisfies PluginOptionsFactory<VueTestPiniaOptions>;
199
+ ```
200
+
201
+ The resulting factory can be reused by both the `default` and `piniaPreset` profiles.
202
+
203
+ ## Switching Presets at Runtime
204
+
205
+ A **component factory invocation** can select a different registered preset using the fourth `extraOptions` argument:
206
+
207
+ ```typescript
208
+ const factory = testComponentFactory(MyComponent);
209
+
210
+ factory(
211
+ {},
212
+ {},
213
+ {},
214
+ {
215
+ preset: "i18nPreset",
216
+ },
217
+ );
218
+ ```
219
+
220
+ The selected preset defines the complete managed plugin runtime for that component factory invocation.
221
+
222
+ This allows the same TestForge framework instance to use different runtime environments without creating a separate framework instance.
223
+
224
+ For example:
225
+
226
+ ```typescript
227
+ factory(
228
+ {},
229
+ {},
230
+ {},
231
+ {
232
+ preset: "piniaPreset",
233
+ },
234
+ );
235
+ ```
236
+
237
+ selects the Pinia-only runtime environment for that invocation.
238
+
239
+ ## Customizing Presets
240
+
241
+ The recommended presets are ordinary TestForge preset definitions and can be composed with [`extendPreset()`](https://github.com/testforgejs/testforge).
242
+
243
+ For example, a project can create its own preset from the recommended default:
244
+
245
+ ```typescript
246
+ import { extendPreset } from "@testforgejs/vue-test-core";
247
+
248
+ import { presets as recommendedPresets } from "@testforgejs/vue-test-preset-recommended";
249
+
250
+ const projectPresets = {
251
+ default: extendPreset(recommendedPresets.default, {
252
+ defaults: {
253
+ pinia: () => ({
254
+ ...recommendedPresets.default.defaults.pinia(),
255
+ // project-specific options
256
+ }),
257
+ },
258
+ }),
259
+ };
260
+ ```
261
+
262
+ Because `defaults.pinia` is a plugin options factory, the base Pinia options are obtained by invoking the factory.
263
+
264
+ When extending a preset, explicitly preserve any base plugin options that should remain enabled. Managed plugin configuration is intentionally replaced when an extension provides configuration for that plugin.
265
+
266
+ For details about preset composition and configuration layering, see the [TestForge core documentation](https://github.com/testforgejs/testforge/blob/main/packages/vue-test-core/README.md).
267
+
106
268
  ## Using a Preset with Other Framework Configuration
107
269
 
108
270
  The exported presets can be combined with other TestForge configuration options:
@@ -114,11 +276,22 @@ const { testComponentFactory } = createTestFramework({
114
276
  });
115
277
  ```
116
278
 
117
- The preset provides the baseline plugin configuration, while individual factories and tests can override configuration when needed.
279
+ The preset provides the runtime plugin baseline, while individual component factory invocations and tests can override configuration when needed.
280
+
281
+ ## Plugin Options Factory Isolation
282
+
283
+ The `defaults` values in the presets are **plugin options factories**, not shared plugin configuration objects.
284
+
285
+ When a plugin options factory is invoked, it produces fresh plugin options for the current pipeline context.
286
+
287
+ This keeps mutable configuration isolated between independent pipeline contexts.
288
+
289
+ This is separate from component factory isolation: `testComponentFactory()` creates a reusable function for mounting a component, while each invocation of that component factory establishes its own runtime environment.
118
290
 
119
291
  ## Related Packages
120
292
 
121
- - [`@testforgejs/vue-test-core`](https://www.npmjs.com/package/@testforgejs/vue-test-core) — core TestForge testing framework
293
+ - [`@testforgejs/vue-test-core`](https://www.npmjs.com/package/@testforgejs/vue-test-core) — TestForge core framework
294
+ - [`@testforgejs/vue-test-preset-base`](https://www.npmjs.com/package/@testforgejs/vue-test-preset-base) — base, runner-neutral presets
122
295
  - [`@testforgejs/vue-test-plugin-pinia`](https://www.npmjs.com/package/@testforgejs/vue-test-plugin-pinia) — Pinia integration
123
296
  - [`@testforgejs/vue-test-plugin-i18n`](https://www.npmjs.com/package/@testforgejs/vue-test-plugin-i18n) — Vue I18n integration
124
297
  - [`@testforgejs/vue-test-plugin-router`](https://www.npmjs.com/package/@testforgejs/vue-test-plugin-router) — Vue Router integration
package/dist/index.cjs CHANGED
@@ -24,61 +24,27 @@ __export(index_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(index_exports);
26
26
 
27
- // src/defaults/defaultI18n.ts
28
- var defaultI18n = {
29
- legacy: false,
30
- locale: "en",
31
- fallbackLocale: "en",
32
- messages: {},
33
- fallbackWarn: false,
34
- missingWarn: false
35
- };
36
-
37
- // src/defaults/defaultPinia.ts
38
- var defaultPinia = {
39
- initialState: {},
40
- stubActions: false,
41
- createSpy: void 0
42
- };
43
-
44
- // src/defaults/defaultRouter.ts
45
- var import_vue_router = require("vue-router");
46
- var isBrowser = typeof window !== "undefined";
47
- var getDefaultRouter = () => ({
48
- history: isBrowser ? (0, import_vue_router.createWebHistory)() : (0, import_vue_router.createMemoryHistory)(),
49
- routes: [{ path: "/", component: { render: () => null } }]
50
- });
51
-
52
27
  // src/presets.ts
53
- var import_vue_test_plugin_pinia = require("@testforgejs/vue-test-plugin-pinia");
54
- var import_vue_test_plugin_i18n = require("@testforgejs/vue-test-plugin-i18n");
55
- var import_vue_test_plugin_router = require("@testforgejs/vue-test-plugin-router");
28
+ var import_vue_test_core = require("@testforgejs/vue-test-core");
29
+ var import_vue_test_preset_base = require("@testforgejs/vue-test-preset-base");
30
+ var import_vitest = require("vitest");
31
+ var defaultVitestPinia = (() => ({
32
+ ...(0, import_vue_test_preset_base.defaultPinia)(),
33
+ createSpy: import_vitest.vi.fn
34
+ }));
56
35
  var presets = {
57
- default: {
58
- manifest: [
59
- { module: import_vue_test_plugin_pinia.piniaPlugin, enabled: true },
60
- { module: import_vue_test_plugin_i18n.i18nPlugin, enabled: true },
61
- { module: import_vue_test_plugin_router.routerPlugin, enabled: false }
62
- ],
36
+ default: (0, import_vue_test_core.extendPreset)(import_vue_test_preset_base.presets.default, {
63
37
  defaults: {
64
- i18n: defaultI18n,
65
- pinia: defaultPinia,
66
- router: getDefaultRouter()
38
+ pinia: defaultVitestPinia
67
39
  }
68
- },
69
- i18nPreset: {
70
- manifest: [{ module: import_vue_test_plugin_i18n.i18nPlugin, enabled: true }],
40
+ }),
41
+ piniaPreset: (0, import_vue_test_core.extendPreset)(import_vue_test_preset_base.presets.piniaPreset, {
71
42
  defaults: {
72
- i18n: {
73
- legacy: false,
74
- locale: "en",
75
- fallbackLocale: "en",
76
- messages: {},
77
- fallbackWarn: false,
78
- missingWarn: false
79
- }
43
+ pinia: defaultVitestPinia
80
44
  }
81
- }
45
+ }),
46
+ i18nPreset: import_vue_test_preset_base.presets.i18nPreset,
47
+ routerPreset: import_vue_test_preset_base.presets.routerPreset
82
48
  };
83
49
  // Annotate the CommonJS export names for ESM import in node:
84
50
  0 && (module.exports = {
package/dist/index.d.cts CHANGED
@@ -1,43 +1,29 @@
1
1
  import * as _testforgejs_vue_test_plugin_router from '@testforgejs/vue-test-plugin-router';
2
2
  import * as vue_router from 'vue-router';
3
+ import * as _testforgejs_vue_test_plugin_i18n from '@testforgejs/vue-test-plugin-i18n';
3
4
  import * as vue_i18n from 'vue-i18n';
4
5
  import * as _testforgejs_vue_test_core from '@testforgejs/vue-test-core';
5
- import * as _testforgejs_vue_test_plugin_pinia from '@testforgejs/vue-test-plugin-pinia';
6
- import * as pinia from 'pinia';
7
- import { VueTestI18nOptions } from '@testforgejs/vue-test-plugin-i18n';
6
+ import { PluginOptionsFactory } from '@testforgejs/vue-test-core';
8
7
 
9
8
  declare const presets: {
10
- default: {
11
- manifest: ({
12
- module: _testforgejs_vue_test_core.PluginModule<pinia.Pinia, _testforgejs_vue_test_plugin_pinia.VueTestPiniaOptions>;
13
- enabled: true;
14
- } | {
15
- module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, VueTestI18nOptions>;
9
+ default: _testforgejs_vue_test_core.PresetDefinition;
10
+ piniaPreset: _testforgejs_vue_test_core.PresetDefinition;
11
+ i18nPreset: {
12
+ manifest: {
13
+ module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, _testforgejs_vue_test_plugin_i18n.VueTestI18nOptions>;
16
14
  enabled: true;
17
- } | {
18
- module: _testforgejs_vue_test_core.PluginModule<vue_router._RouterClassic, _testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
19
- enabled: false;
20
- })[];
15
+ }[];
21
16
  defaults: {
22
- i18n: VueTestI18nOptions;
23
- pinia: _testforgejs_vue_test_plugin_pinia.VueTestPiniaOptions;
24
- router: _testforgejs_vue_test_plugin_router.VueTestRouterOptions;
17
+ i18n: PluginOptionsFactory<_testforgejs_vue_test_plugin_i18n.VueTestI18nOptions>;
25
18
  };
26
19
  };
27
- i18nPreset: {
20
+ routerPreset: {
28
21
  manifest: {
29
- module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, VueTestI18nOptions>;
22
+ module: _testforgejs_vue_test_core.PluginModule<vue_router._RouterClassic, _testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
30
23
  enabled: true;
31
24
  }[];
32
25
  defaults: {
33
- i18n: {
34
- legacy: false;
35
- locale: string;
36
- fallbackLocale: string;
37
- messages: {};
38
- fallbackWarn: false;
39
- missingWarn: false;
40
- };
26
+ router: PluginOptionsFactory<_testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
41
27
  };
42
28
  };
43
29
  };
package/dist/index.d.ts CHANGED
@@ -1,43 +1,29 @@
1
1
  import * as _testforgejs_vue_test_plugin_router from '@testforgejs/vue-test-plugin-router';
2
2
  import * as vue_router from 'vue-router';
3
+ import * as _testforgejs_vue_test_plugin_i18n from '@testforgejs/vue-test-plugin-i18n';
3
4
  import * as vue_i18n from 'vue-i18n';
4
5
  import * as _testforgejs_vue_test_core from '@testforgejs/vue-test-core';
5
- import * as _testforgejs_vue_test_plugin_pinia from '@testforgejs/vue-test-plugin-pinia';
6
- import * as pinia from 'pinia';
7
- import { VueTestI18nOptions } from '@testforgejs/vue-test-plugin-i18n';
6
+ import { PluginOptionsFactory } from '@testforgejs/vue-test-core';
8
7
 
9
8
  declare const presets: {
10
- default: {
11
- manifest: ({
12
- module: _testforgejs_vue_test_core.PluginModule<pinia.Pinia, _testforgejs_vue_test_plugin_pinia.VueTestPiniaOptions>;
13
- enabled: true;
14
- } | {
15
- module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, VueTestI18nOptions>;
9
+ default: _testforgejs_vue_test_core.PresetDefinition;
10
+ piniaPreset: _testforgejs_vue_test_core.PresetDefinition;
11
+ i18nPreset: {
12
+ manifest: {
13
+ module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, _testforgejs_vue_test_plugin_i18n.VueTestI18nOptions>;
16
14
  enabled: true;
17
- } | {
18
- module: _testforgejs_vue_test_core.PluginModule<vue_router._RouterClassic, _testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
19
- enabled: false;
20
- })[];
15
+ }[];
21
16
  defaults: {
22
- i18n: VueTestI18nOptions;
23
- pinia: _testforgejs_vue_test_plugin_pinia.VueTestPiniaOptions;
24
- router: _testforgejs_vue_test_plugin_router.VueTestRouterOptions;
17
+ i18n: PluginOptionsFactory<_testforgejs_vue_test_plugin_i18n.VueTestI18nOptions>;
25
18
  };
26
19
  };
27
- i18nPreset: {
20
+ routerPreset: {
28
21
  manifest: {
29
- module: _testforgejs_vue_test_core.PluginModule<vue_i18n.I18n<{}, {}, {}, string, boolean>, VueTestI18nOptions>;
22
+ module: _testforgejs_vue_test_core.PluginModule<vue_router._RouterClassic, _testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
30
23
  enabled: true;
31
24
  }[];
32
25
  defaults: {
33
- i18n: {
34
- legacy: false;
35
- locale: string;
36
- fallbackLocale: string;
37
- messages: {};
38
- fallbackWarn: false;
39
- missingWarn: false;
40
- };
26
+ router: PluginOptionsFactory<_testforgejs_vue_test_plugin_router.VueTestRouterOptions>;
41
27
  };
42
28
  };
43
29
  };
package/dist/index.js CHANGED
@@ -1,58 +1,24 @@
1
- // src/defaults/defaultI18n.ts
2
- var defaultI18n = {
3
- legacy: false,
4
- locale: "en",
5
- fallbackLocale: "en",
6
- messages: {},
7
- fallbackWarn: false,
8
- missingWarn: false
9
- };
10
-
11
- // src/defaults/defaultPinia.ts
12
- var defaultPinia = {
13
- initialState: {},
14
- stubActions: false,
15
- createSpy: void 0
16
- };
17
-
18
- // src/defaults/defaultRouter.ts
19
- import { createMemoryHistory, createWebHistory } from "vue-router";
20
- var isBrowser = typeof window !== "undefined";
21
- var getDefaultRouter = () => ({
22
- history: isBrowser ? createWebHistory() : createMemoryHistory(),
23
- routes: [{ path: "/", component: { render: () => null } }]
24
- });
25
-
26
1
  // src/presets.ts
27
- import { piniaPlugin } from "@testforgejs/vue-test-plugin-pinia";
28
- import { i18nPlugin } from "@testforgejs/vue-test-plugin-i18n";
29
- import { routerPlugin } from "@testforgejs/vue-test-plugin-router";
2
+ import { extendPreset } from "@testforgejs/vue-test-core";
3
+ import { defaultPinia, presets as basePresets } from "@testforgejs/vue-test-preset-base";
4
+ import { vi } from "vitest";
5
+ var defaultVitestPinia = (() => ({
6
+ ...defaultPinia(),
7
+ createSpy: vi.fn
8
+ }));
30
9
  var presets = {
31
- default: {
32
- manifest: [
33
- { module: piniaPlugin, enabled: true },
34
- { module: i18nPlugin, enabled: true },
35
- { module: routerPlugin, enabled: false }
36
- ],
10
+ default: extendPreset(basePresets.default, {
37
11
  defaults: {
38
- i18n: defaultI18n,
39
- pinia: defaultPinia,
40
- router: getDefaultRouter()
12
+ pinia: defaultVitestPinia
41
13
  }
42
- },
43
- i18nPreset: {
44
- manifest: [{ module: i18nPlugin, enabled: true }],
14
+ }),
15
+ piniaPreset: extendPreset(basePresets.piniaPreset, {
45
16
  defaults: {
46
- i18n: {
47
- legacy: false,
48
- locale: "en",
49
- fallbackLocale: "en",
50
- messages: {},
51
- fallbackWarn: false,
52
- missingWarn: false
53
- }
17
+ pinia: defaultVitestPinia
54
18
  }
55
- }
19
+ }),
20
+ i18nPreset: basePresets.i18nPreset,
21
+ routerPreset: basePresets.routerPreset
56
22
  };
57
23
  export {
58
24
  presets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testforgejs/vue-test-preset-recommended",
3
- "version": "1.0.0-beta.0",
3
+ "version": "1.0.0-beta.2",
4
4
  "type": "module",
5
5
  "description": "Official recommended preset for getting started with the TestForge framework",
6
6
  "homepage": "https://github.com/testforgejs/testforge#readme",
@@ -37,21 +37,26 @@
37
37
  "preset",
38
38
  "configuration",
39
39
  "recommended",
40
+ "vitest",
40
41
  "testforge",
41
42
  "testforge-preset"
42
43
  ],
43
44
  "license": "MIT",
44
45
  "author": "Roman Levchenko",
45
46
  "dependencies": {
46
- "@testforgejs/vue-test-plugin-pinia": "1.0.0-beta.0",
47
- "@testforgejs/vue-test-plugin-i18n": "1.0.0-beta.0",
48
- "@testforgejs/vue-test-plugin-router": "1.0.0-beta.0"
47
+ "@testforgejs/vue-test-plugin-i18n": "1.0.0-beta.2",
48
+ "@testforgejs/vue-test-plugin-pinia": "1.0.0-beta.2",
49
+ "@testforgejs/vue-test-plugin-router": "1.0.0-beta.2"
49
50
  },
50
51
  "peerDependencies": {
51
- "@testforgejs/vue-test-core": "1.0.0-beta.0"
52
+ "vitest": "^3.0.0 || ^4.0.0",
53
+ "@testforgejs/vue-test-core": "1.0.0-beta.2",
54
+ "@testforgejs/vue-test-preset-base": "1.0.0-beta.2"
52
55
  },
53
56
  "devDependencies": {
54
- "@testforgejs/vue-test-core": "1.0.0-beta.0"
57
+ "vitest": "^3.0.0 || ^4.0.0",
58
+ "@testforgejs/vue-test-core": "1.0.0-beta.2",
59
+ "@testforgejs/vue-test-preset-base": "1.0.0-beta.2"
55
60
  },
56
61
  "scripts": {
57
62
  "build": "tsup",