@test2doc/playwright 1.3.0 → 1.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.
- package/dist/DocMeta.test.d.ts +2 -0
- package/dist/DocMeta.test.d.ts.map +1 -0
- package/dist/DocMeta.test.js +46 -0
- package/dist/DocMeta.test.js.map +1 -0
- package/dist/Test2DocReporter.test.d.ts +2 -0
- package/dist/Test2DocReporter.test.d.ts.map +1 -0
- package/dist/Test2DocReporter.test.js +450 -0
- package/dist/Test2DocReporter.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -13
- package/dist/index.js.map +1 -1
- package/dist/screenshots.d.ts +5 -2
- package/dist/screenshots.d.ts.map +1 -1
- package/dist/screenshots.js +15 -3
- package/dist/screenshots.js.map +1 -1
- package/dist/testUtils/fixtures.d.ts +17 -0
- package/dist/testUtils/fixtures.d.ts.map +1 -0
- package/dist/testUtils/fixtures.js +391 -0
- package/dist/testUtils/fixtures.js.map +1 -0
- package/dist/testUtils/index.d.ts +6 -0
- package/dist/testUtils/index.d.ts.map +1 -0
- package/dist/testUtils/index.js +25 -0
- package/dist/testUtils/index.js.map +1 -0
- package/package.json +14 -14
- package/LICENSE +0 -201
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { withDocCategory, withDocMeta } from "../DocMeta.js";
|
|
2
|
+
let mockId = 0;
|
|
3
|
+
export const baseSuite = {
|
|
4
|
+
title: "",
|
|
5
|
+
suites: [],
|
|
6
|
+
tests: [],
|
|
7
|
+
location: { file: "", line: 0, column: 0 },
|
|
8
|
+
allTests: () => {
|
|
9
|
+
throw new Error("Function not implemented.");
|
|
10
|
+
},
|
|
11
|
+
entries: () => {
|
|
12
|
+
throw new Error("Function not implemented.");
|
|
13
|
+
},
|
|
14
|
+
project: () => {
|
|
15
|
+
throw new Error("Function not implemented.");
|
|
16
|
+
},
|
|
17
|
+
titlePath: () => {
|
|
18
|
+
throw new Error("Function not implemented.");
|
|
19
|
+
},
|
|
20
|
+
type: "root",
|
|
21
|
+
};
|
|
22
|
+
const baseTestCase = {
|
|
23
|
+
title: "base",
|
|
24
|
+
location: { file: "", line: 0, column: 0 },
|
|
25
|
+
ok: () => {
|
|
26
|
+
throw new Error("Function not implemented.");
|
|
27
|
+
},
|
|
28
|
+
outcome: () => {
|
|
29
|
+
throw new Error("Function not implemented.");
|
|
30
|
+
},
|
|
31
|
+
titlePath: () => [
|
|
32
|
+
"Root Suite",
|
|
33
|
+
"Parent Describe",
|
|
34
|
+
"Child Describe",
|
|
35
|
+
"login test",
|
|
36
|
+
],
|
|
37
|
+
annotations: [],
|
|
38
|
+
expectedStatus: "passed",
|
|
39
|
+
id: `mock-id-${++mockId}`,
|
|
40
|
+
parent: baseSuite, // this is just mocked out
|
|
41
|
+
repeatEachIndex: 0,
|
|
42
|
+
results: [],
|
|
43
|
+
retries: 0,
|
|
44
|
+
tags: [],
|
|
45
|
+
timeout: 0,
|
|
46
|
+
type: "test",
|
|
47
|
+
};
|
|
48
|
+
export const mockTestSuccess = {
|
|
49
|
+
...baseTestCase,
|
|
50
|
+
title: "should redirect to dashboard on successful login",
|
|
51
|
+
id: `mock-id-${++mockId}`,
|
|
52
|
+
};
|
|
53
|
+
export const mockTestFail = {
|
|
54
|
+
...baseTestCase,
|
|
55
|
+
title: "should display error message on failed login",
|
|
56
|
+
id: `mock-id-${++mockId}`,
|
|
57
|
+
};
|
|
58
|
+
export const mockTestPrivacyPolicyLogin = {
|
|
59
|
+
...baseTestCase,
|
|
60
|
+
title: "should open privacy policy in new tab",
|
|
61
|
+
id: `mock-id-${++mockId}`,
|
|
62
|
+
};
|
|
63
|
+
export const mockTestNewUserRegistration = {
|
|
64
|
+
...baseTestCase,
|
|
65
|
+
title: "should register a new user successfully",
|
|
66
|
+
id: `mock-id-${++mockId}`,
|
|
67
|
+
};
|
|
68
|
+
export const mockTestPrivacyPolicyRegistration = {
|
|
69
|
+
...baseTestCase,
|
|
70
|
+
title: "should open privacy policy in new tab",
|
|
71
|
+
id: `mock-id-${++mockId}`,
|
|
72
|
+
};
|
|
73
|
+
export const mockTestLoggedInUser = {
|
|
74
|
+
...baseTestCase,
|
|
75
|
+
title: "should display a list of todos",
|
|
76
|
+
id: `mock-id-${++mockId}`,
|
|
77
|
+
};
|
|
78
|
+
export const mockTestLoggedOutUser = {
|
|
79
|
+
...baseTestCase,
|
|
80
|
+
title: "should redirect to login page",
|
|
81
|
+
id: `mock-id-${++mockId}`,
|
|
82
|
+
};
|
|
83
|
+
export const mockSuiteForPages = {
|
|
84
|
+
...baseSuite,
|
|
85
|
+
title: "", // Root Suite
|
|
86
|
+
type: "root",
|
|
87
|
+
suites: [
|
|
88
|
+
{
|
|
89
|
+
...baseSuite,
|
|
90
|
+
title: "chromium", // or firefox, webkit, etc.
|
|
91
|
+
type: "project",
|
|
92
|
+
suites: [
|
|
93
|
+
{
|
|
94
|
+
...baseSuite,
|
|
95
|
+
title: "login.test.ts", // Test file name
|
|
96
|
+
type: "file",
|
|
97
|
+
suites: [
|
|
98
|
+
{
|
|
99
|
+
...baseSuite,
|
|
100
|
+
title: withDocMeta("Login Page", {
|
|
101
|
+
title: "Login Page Documentation",
|
|
102
|
+
keywords: ["login", "password", "username"],
|
|
103
|
+
description: "The different login scenarios for the login page.",
|
|
104
|
+
sidebar_position: 1,
|
|
105
|
+
parse_number_prefixes: true,
|
|
106
|
+
}), // First Describe Block in the test file
|
|
107
|
+
type: "describe",
|
|
108
|
+
suites: [
|
|
109
|
+
{
|
|
110
|
+
...baseSuite,
|
|
111
|
+
title: "Successful Login",
|
|
112
|
+
tests: [mockTestSuccess],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
...baseSuite,
|
|
116
|
+
title: "Failed Login",
|
|
117
|
+
tests: [mockTestFail],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
...baseSuite,
|
|
121
|
+
title: "link to privacy policy",
|
|
122
|
+
tests: [mockTestPrivacyPolicyLogin],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
...baseSuite,
|
|
128
|
+
title: withDocMeta("Registration Page", {
|
|
129
|
+
title: "Registration Page Documentation",
|
|
130
|
+
description: "The registration page for new users.",
|
|
131
|
+
sidebar_position: 1,
|
|
132
|
+
}), // Second Describe Block in the test file
|
|
133
|
+
type: "describe",
|
|
134
|
+
suites: [
|
|
135
|
+
{
|
|
136
|
+
...baseSuite,
|
|
137
|
+
title: "New User Registration",
|
|
138
|
+
tests: [mockTestNewUserRegistration],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
...baseSuite,
|
|
142
|
+
title: "link to privacy policy",
|
|
143
|
+
tests: [mockTestPrivacyPolicyRegistration],
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
...baseSuite,
|
|
151
|
+
title: "dashboard.test.ts", // Test file name
|
|
152
|
+
type: "file",
|
|
153
|
+
suites: [
|
|
154
|
+
{
|
|
155
|
+
...baseSuite,
|
|
156
|
+
title: withDocMeta("Dashboard Page", {
|
|
157
|
+
title: "Dashboard Documentation",
|
|
158
|
+
description: "The dashboard of todo stuff.",
|
|
159
|
+
sidebar_position: 2,
|
|
160
|
+
}), // First Describe Block in the test file
|
|
161
|
+
type: "describe",
|
|
162
|
+
suites: [
|
|
163
|
+
{
|
|
164
|
+
...baseSuite,
|
|
165
|
+
title: "Logged In User",
|
|
166
|
+
tests: [mockTestLoggedInUser],
|
|
167
|
+
type: "describe",
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
...baseSuite,
|
|
171
|
+
title: "Logged Out User",
|
|
172
|
+
tests: [mockTestLoggedOutUser],
|
|
173
|
+
type: "describe",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
};
|
|
183
|
+
export const mockSuiteForCategories = {
|
|
184
|
+
...baseSuite,
|
|
185
|
+
title: "", // Root Suite
|
|
186
|
+
type: "root",
|
|
187
|
+
suites: [
|
|
188
|
+
{
|
|
189
|
+
...baseSuite,
|
|
190
|
+
title: "chromium", // or firefox, webkit, etc.
|
|
191
|
+
type: "project",
|
|
192
|
+
suites: [
|
|
193
|
+
{
|
|
194
|
+
...baseSuite,
|
|
195
|
+
title: "login.test.ts", // Test file name
|
|
196
|
+
type: "file",
|
|
197
|
+
suites: [
|
|
198
|
+
{
|
|
199
|
+
...baseSuite,
|
|
200
|
+
title: withDocCategory("Login Page", {
|
|
201
|
+
label: "Login Page Documentation Label",
|
|
202
|
+
position: 1,
|
|
203
|
+
className: "login-page",
|
|
204
|
+
link: {
|
|
205
|
+
type: "generated-index",
|
|
206
|
+
title: "Login Page Documentation Title",
|
|
207
|
+
description: "The different login scenarios for the login page.",
|
|
208
|
+
slug: "login-page",
|
|
209
|
+
},
|
|
210
|
+
}),
|
|
211
|
+
suites: [
|
|
212
|
+
{
|
|
213
|
+
...baseSuite,
|
|
214
|
+
title: withDocMeta("Successful Login", {
|
|
215
|
+
sidebar_position: 1,
|
|
216
|
+
}),
|
|
217
|
+
tests: [mockTestSuccess],
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
...baseSuite,
|
|
221
|
+
title: "Failed Login",
|
|
222
|
+
tests: [mockTestFail],
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
type: "describe",
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
};
|
|
233
|
+
export const mockSetupTest = {
|
|
234
|
+
...baseTestCase,
|
|
235
|
+
title: "setup auth",
|
|
236
|
+
id: `mock-id-${++mockId}`,
|
|
237
|
+
};
|
|
238
|
+
export const mockAuthenticatedTest = {
|
|
239
|
+
...baseTestCase,
|
|
240
|
+
title: "user name and profile should be visible",
|
|
241
|
+
id: `mock-id-${++mockId}`,
|
|
242
|
+
};
|
|
243
|
+
export const mockSingleSetupFileSuite = {
|
|
244
|
+
...baseSuite,
|
|
245
|
+
title: "", // Root Suite
|
|
246
|
+
type: "root",
|
|
247
|
+
suites: [
|
|
248
|
+
{
|
|
249
|
+
...baseSuite,
|
|
250
|
+
title: "setup",
|
|
251
|
+
type: "project",
|
|
252
|
+
suites: [
|
|
253
|
+
{
|
|
254
|
+
...baseSuite,
|
|
255
|
+
title: "auth.setup.ts",
|
|
256
|
+
type: "file",
|
|
257
|
+
tests: [mockSetupTest],
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
...baseSuite,
|
|
263
|
+
title: "authenticated",
|
|
264
|
+
type: "project",
|
|
265
|
+
suites: [
|
|
266
|
+
{
|
|
267
|
+
...baseSuite,
|
|
268
|
+
title: "authenticated.spec.ts",
|
|
269
|
+
type: "file",
|
|
270
|
+
tests: [mockAuthenticatedTest],
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
},
|
|
274
|
+
],
|
|
275
|
+
};
|
|
276
|
+
export const mockSuiteWithMultiProjects = {
|
|
277
|
+
...baseSuite,
|
|
278
|
+
title: "", // Root Suite
|
|
279
|
+
type: "root",
|
|
280
|
+
suites: [
|
|
281
|
+
{
|
|
282
|
+
...baseSuite,
|
|
283
|
+
title: "login",
|
|
284
|
+
type: "project",
|
|
285
|
+
suites: [
|
|
286
|
+
{
|
|
287
|
+
...baseSuite,
|
|
288
|
+
title: "login.test.ts",
|
|
289
|
+
type: "file",
|
|
290
|
+
tests: [
|
|
291
|
+
{
|
|
292
|
+
...baseTestCase,
|
|
293
|
+
title: "how to login",
|
|
294
|
+
id: `mock-id-${++mockId}`,
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
...baseTestCase,
|
|
298
|
+
title: "how to logout",
|
|
299
|
+
id: `mock-id-${++mockId}`,
|
|
300
|
+
},
|
|
301
|
+
],
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
...baseSuite,
|
|
307
|
+
title: "setup",
|
|
308
|
+
type: "project",
|
|
309
|
+
suites: [
|
|
310
|
+
{
|
|
311
|
+
...baseSuite,
|
|
312
|
+
title: "auth.setup.ts",
|
|
313
|
+
type: "file",
|
|
314
|
+
suites: [
|
|
315
|
+
{
|
|
316
|
+
...baseSuite,
|
|
317
|
+
title: "nested setup describe",
|
|
318
|
+
type: "describe",
|
|
319
|
+
suites: [
|
|
320
|
+
{
|
|
321
|
+
...baseSuite,
|
|
322
|
+
title: "deeply nested setup describe",
|
|
323
|
+
type: "describe",
|
|
324
|
+
tests: [
|
|
325
|
+
{
|
|
326
|
+
...baseTestCase,
|
|
327
|
+
title: "deeply nested setup test",
|
|
328
|
+
id: `mock-id-${++mockId}`,
|
|
329
|
+
},
|
|
330
|
+
],
|
|
331
|
+
},
|
|
332
|
+
],
|
|
333
|
+
tests: [
|
|
334
|
+
{
|
|
335
|
+
...baseTestCase,
|
|
336
|
+
title: "nested setup test",
|
|
337
|
+
id: `mock-id-${++mockId}`,
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
},
|
|
341
|
+
],
|
|
342
|
+
tests: [
|
|
343
|
+
mockSetupTest,
|
|
344
|
+
{
|
|
345
|
+
...baseTestCase,
|
|
346
|
+
title: "setup admin auth",
|
|
347
|
+
id: `mock-id-${++mockId}`,
|
|
348
|
+
},
|
|
349
|
+
],
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
...baseSuite,
|
|
355
|
+
title: "authenticated",
|
|
356
|
+
type: "project",
|
|
357
|
+
suites: [
|
|
358
|
+
{
|
|
359
|
+
...baseSuite,
|
|
360
|
+
title: "authenticated.spec.ts",
|
|
361
|
+
type: "file",
|
|
362
|
+
tests: [
|
|
363
|
+
mockAuthenticatedTest,
|
|
364
|
+
{
|
|
365
|
+
...baseTestCase,
|
|
366
|
+
title: "setting button should set",
|
|
367
|
+
id: `mock-id-${++mockId}`,
|
|
368
|
+
},
|
|
369
|
+
],
|
|
370
|
+
},
|
|
371
|
+
],
|
|
372
|
+
},
|
|
373
|
+
],
|
|
374
|
+
};
|
|
375
|
+
const baseTestStep = {
|
|
376
|
+
title: "Given user is on login page",
|
|
377
|
+
category: "test.step",
|
|
378
|
+
titlePath: () => {
|
|
379
|
+
throw new Error("Function not implemented.");
|
|
380
|
+
},
|
|
381
|
+
annotations: [],
|
|
382
|
+
attachments: [],
|
|
383
|
+
duration: 0,
|
|
384
|
+
startTime: new Date(),
|
|
385
|
+
steps: [],
|
|
386
|
+
};
|
|
387
|
+
export const mockStep = {
|
|
388
|
+
...baseTestStep,
|
|
389
|
+
title: "Given user is on login page",
|
|
390
|
+
};
|
|
391
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/testUtils/fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Test2DocReporter from "../index.js";
|
|
2
|
+
export * from "./fixtures.js";
|
|
3
|
+
export declare const tempDir: string;
|
|
4
|
+
export declare const setup: (outputDir?: string) => Test2DocReporter;
|
|
5
|
+
export declare function testCleanup(dir?: string): void;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testUtils/index.ts"],"names":[],"mappings":"AASA,OAAO,gBAAgB,MAAM,aAAa,CAAA;AAC1C,cAAc,eAAe,CAAA;AAE7B,eAAO,MAAM,OAAO,QAA2C,CAAA;AAE/D,eAAO,MAAM,KAAK,GAAI,kBAAmB,qBAExC,CAAA;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAU,QAaxC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mkdtempSync, readdirSync, rmdirSync, statSync, unlinkSync, } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import Test2DocReporter from "../index.js";
|
|
5
|
+
export * from "./fixtures.js";
|
|
6
|
+
export const tempDir = mkdtempSync(join(tmpdir(), "test2doc-"));
|
|
7
|
+
export const setup = (outputDir = tempDir) => {
|
|
8
|
+
return new Test2DocReporter({ outputDir });
|
|
9
|
+
};
|
|
10
|
+
export function testCleanup(dir = tempDir) {
|
|
11
|
+
readdirSync(dir).forEach((file) => {
|
|
12
|
+
const filePath = join(dir, file);
|
|
13
|
+
if (statSync(filePath).isFile()) {
|
|
14
|
+
unlinkSync(filePath);
|
|
15
|
+
}
|
|
16
|
+
else if (statSync(filePath).isDirectory()) {
|
|
17
|
+
// If it's a directory, we can remove it recursively if needed
|
|
18
|
+
testCleanup(filePath);
|
|
19
|
+
if (readdirSync(filePath).length === 0) {
|
|
20
|
+
rmdirSync(filePath);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testUtils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,gBAAgB,MAAM,aAAa,CAAA;AAC1C,cAAc,eAAe,CAAA;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,EAAE;IAC3C,OAAO,IAAI,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,GAAG,OAAO;IACvC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,8DAA8D;YAC9D,WAAW,CAAC,QAAQ,CAAC,CAAA;YACrB,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@test2doc/playwright",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A reporter that generates docs based off playwright test files",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -60,18 +60,6 @@
|
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
|
-
"peerDependencies": {
|
|
64
|
-
"@playwright/test": "^1.*.*"
|
|
65
|
-
},
|
|
66
|
-
"devDependencies": {
|
|
67
|
-
"@playwright/test": "^1.57.0",
|
|
68
|
-
"@types/node": "^25.0.10",
|
|
69
|
-
"@types/pngjs": "^6.0.5",
|
|
70
|
-
"pixelmatch": "^7.1.0",
|
|
71
|
-
"pngjs": "^7.0.0",
|
|
72
|
-
"typescript": "^5.9.2",
|
|
73
|
-
"vitest": "^4.0.8"
|
|
74
|
-
},
|
|
75
63
|
"scripts": {
|
|
76
64
|
"build": "tsc --project tsconfig.json",
|
|
77
65
|
"build:watch": "tsc --project tsconfig.json --watch",
|
|
@@ -83,5 +71,17 @@
|
|
|
83
71
|
"postinstall": "pnpm playwright install",
|
|
84
72
|
"test": "vitest run && pnpm int && pnpm int:a",
|
|
85
73
|
"unit": "vitest"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"@playwright/test": "^1.*.*"
|
|
77
|
+
},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"@playwright/test": "^1.57.0",
|
|
80
|
+
"@types/node": "^25.0.10",
|
|
81
|
+
"@types/pngjs": "^6.0.5",
|
|
82
|
+
"pixelmatch": "^7.1.0",
|
|
83
|
+
"pngjs": "^7.0.0",
|
|
84
|
+
"typescript": "^5.9.2",
|
|
85
|
+
"vitest": "^4.0.8"
|
|
86
86
|
}
|
|
87
|
-
}
|
|
87
|
+
}
|