@vitest/browser-playwright 4.1.8 → 4.1.10
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/index.js +14 -2
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { asLocator, parseKeyDef, resolveScreenshotPath, defineBrowserProvider } from '@vitest/browser';
|
|
1
|
+
import { asLocator, parseKeyDef, resolveScreenshotPath, assertBrowserApiWrite, assertBrowserFileAccess, defineBrowserProvider } from '@vitest/browser';
|
|
2
2
|
export { defineBrowserCommand } from '@vitest/browser';
|
|
3
3
|
import { createManualModuleSource } from '@vitest/mocker/node';
|
|
4
4
|
import c from 'tinyrainbow';
|
|
@@ -514,6 +514,8 @@ async function takeScreenshot(context, name, options) {
|
|
|
514
514
|
let savePath;
|
|
515
515
|
if (options.save) {
|
|
516
516
|
savePath = normalize(path);
|
|
517
|
+
assertBrowserApiWrite(context.project, savePath);
|
|
518
|
+
assertBrowserFileAccess(context.project, savePath);
|
|
517
519
|
await mkdir(dirname(savePath), { recursive: true });
|
|
518
520
|
}
|
|
519
521
|
const mask = options.mask?.map((selector) => getDescribedLocator(context, selector));
|
|
@@ -602,6 +604,8 @@ const startChunkTrace = async (command, { name, title }) => {
|
|
|
602
604
|
const stopChunkTrace = async (context, { name }) => {
|
|
603
605
|
if (isPlaywrightProvider(context.provider)) {
|
|
604
606
|
const path = resolveTracesPath(context, name);
|
|
607
|
+
assertBrowserApiWrite(context.project, path);
|
|
608
|
+
assertBrowserFileAccess(context.project, path);
|
|
605
609
|
context.provider.pendingTraces.delete(path);
|
|
606
610
|
await context.context.tracing.stopChunk({ path });
|
|
607
611
|
return { tracePath: path };
|
|
@@ -688,6 +692,10 @@ const deleteTracing = async (context, { traces }) => {
|
|
|
688
692
|
throw new Error(`stopChunkTrace cannot be called outside of the test file.`);
|
|
689
693
|
}
|
|
690
694
|
if (isPlaywrightProvider(context.provider)) {
|
|
695
|
+
for (const trace of traces) {
|
|
696
|
+
assertBrowserApiWrite(context.project, trace);
|
|
697
|
+
assertBrowserFileAccess(context.project, trace);
|
|
698
|
+
}
|
|
691
699
|
return Promise.all(traces.map((trace) => unlink(trace).catch((err) => {
|
|
692
700
|
if (err.code === "ENOENT") {
|
|
693
701
|
// Ignore the error if the file doesn't exist
|
|
@@ -702,6 +710,8 @@ const deleteTracing = async (context, { traces }) => {
|
|
|
702
710
|
const annotateTraces = async ({ project }, { testId, traces }) => {
|
|
703
711
|
const vitest = project.vitest;
|
|
704
712
|
await Promise.all(traces.map((trace) => {
|
|
713
|
+
assertBrowserApiWrite(project, trace);
|
|
714
|
+
assertBrowserFileAccess(project, trace);
|
|
705
715
|
const entity = vitest.state.getReportedEntityById(testId);
|
|
706
716
|
const location = entity?.location ? {
|
|
707
717
|
file: entity.module.moduleId,
|
|
@@ -746,7 +756,9 @@ const upload = async (context, selector, files, options) => {
|
|
|
746
756
|
const root = context.project.config.root;
|
|
747
757
|
const playwrightFiles = files.map((file) => {
|
|
748
758
|
if (typeof file === "string") {
|
|
749
|
-
|
|
759
|
+
const filepath = resolve(root, file);
|
|
760
|
+
assertBrowserFileAccess(context.project, filepath);
|
|
761
|
+
return filepath;
|
|
750
762
|
}
|
|
751
763
|
return {
|
|
752
764
|
name: file.name,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitest/browser-playwright",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.10",
|
|
5
5
|
"description": "Browser running for Vitest using playwright",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
],
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"playwright": "*",
|
|
45
|
-
"vitest": "4.1.
|
|
45
|
+
"vitest": "4.1.10"
|
|
46
46
|
},
|
|
47
47
|
"peerDependenciesMeta": {
|
|
48
48
|
"playwright": {
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"tinyrainbow": "^3.1.0",
|
|
54
|
-
"@vitest/browser": "4.1.
|
|
55
|
-
"@vitest/mocker": "4.1.
|
|
54
|
+
"@vitest/browser": "4.1.10",
|
|
55
|
+
"@vitest/mocker": "4.1.10"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"playwright": "^1.
|
|
59
|
-
"vitest": "4.1.
|
|
58
|
+
"playwright": "^1.61.0",
|
|
59
|
+
"vitest": "4.1.10"
|
|
60
60
|
},
|
|
61
61
|
"scripts": {
|
|
62
62
|
"build": "premove dist && pnpm rollup -c",
|