@testforgejs/vue-test-preset-recommended 1.0.0-beta.0 → 1.0.0-beta.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.
- package/README.md +185 -12
- package/dist/index.cjs +15 -49
- package/dist/index.d.cts +12 -26
- package/dist/index.d.ts +12 -26
- package/dist/index.js +15 -49
- package/package.json +11 -6
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
|
|
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`
|
|
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
|
|
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
|
|
80
|
+
The default recommended preset enables:
|
|
81
|
+
|
|
82
|
+
- Pinia;
|
|
83
|
+
- Vue I18n;
|
|
84
|
+
- Vue Router — disabled by default.
|
|
71
85
|
|
|
72
|
-
|
|
73
|
-
- Vue I18n
|
|
74
|
-
- Vue Router — disabled by default
|
|
86
|
+
It also provides default option factories for these managed plugins.
|
|
75
87
|
|
|
76
|
-
|
|
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
|
|
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
|
|
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) —
|
|
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
|
|
54
|
-
var
|
|
55
|
-
var
|
|
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
|
-
|
|
65
|
-
pinia: defaultPinia,
|
|
66
|
-
router: getDefaultRouter()
|
|
38
|
+
pinia: defaultVitestPinia
|
|
67
39
|
}
|
|
68
|
-
},
|
|
69
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
20
|
+
routerPreset: {
|
|
28
21
|
manifest: {
|
|
29
|
-
module: _testforgejs_vue_test_core.PluginModule<
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
20
|
+
routerPreset: {
|
|
28
21
|
manifest: {
|
|
29
|
-
module: _testforgejs_vue_test_core.PluginModule<
|
|
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
|
-
|
|
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 {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
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
|
-
|
|
39
|
-
pinia: defaultPinia,
|
|
40
|
-
router: getDefaultRouter()
|
|
12
|
+
pinia: defaultVitestPinia
|
|
41
13
|
}
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
manifest: [{ module: i18nPlugin, enabled: true }],
|
|
14
|
+
}),
|
|
15
|
+
piniaPreset: extendPreset(basePresets.piniaPreset, {
|
|
45
16
|
defaults: {
|
|
46
|
-
|
|
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.
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
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-
|
|
47
|
-
"@testforgejs/vue-test-plugin-
|
|
48
|
-
"@testforgejs/vue-test-plugin-router": "1.0.0-beta.
|
|
47
|
+
"@testforgejs/vue-test-plugin-i18n": "1.0.0-beta.1",
|
|
48
|
+
"@testforgejs/vue-test-plugin-pinia": "1.0.0-beta.1",
|
|
49
|
+
"@testforgejs/vue-test-plugin-router": "1.0.0-beta.1"
|
|
49
50
|
},
|
|
50
51
|
"peerDependencies": {
|
|
51
|
-
"
|
|
52
|
+
"vitest": "^3.0.0 || ^4.0.0",
|
|
53
|
+
"@testforgejs/vue-test-core": "1.0.0-beta.1",
|
|
54
|
+
"@testforgejs/vue-test-preset-base": "1.0.0-beta.1"
|
|
52
55
|
},
|
|
53
56
|
"devDependencies": {
|
|
54
|
-
"
|
|
57
|
+
"vitest": "^3.0.0 || ^4.0.0",
|
|
58
|
+
"@testforgejs/vue-test-core": "1.0.0-beta.1",
|
|
59
|
+
"@testforgejs/vue-test-preset-base": "1.0.0-beta.1"
|
|
55
60
|
},
|
|
56
61
|
"scripts": {
|
|
57
62
|
"build": "tsup",
|