vitest-e2e
Version:
vitest e2e utils
53 lines (47 loc) • 2.24 kB
JavaScript
;
var chunkPJYHJVIT_cjs = require('./chunk-PJYHJVIT.cjs');
var fs = require('fs-extra');
var os = require('os');
var path = require('path');
var playwrightChromium = require('playwright-chromium');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var fs__default = /*#__PURE__*/_interopDefault(fs);
var os__default = /*#__PURE__*/_interopDefault(os);
var path__default = /*#__PURE__*/_interopDefault(path);
var DIR = path__default.default.join(os__default.default.tmpdir(), "vitest_playwright_global_setup");
var browserServer;
async function setup() {
process.env.NODE_ENV = process.env.VITE_TEST_BUILD ? "production" : "development";
browserServer = await playwrightChromium.chromium.launchServer({
headless: !process.env.VITE_DEBUG_SERVE,
args: process.env.CI ? ["--no-sandbox", "--disable-setuid-sandbox"] : void 0
});
await fs__default.default.mkdirp(DIR);
await fs__default.default.writeFile(path__default.default.join(DIR, "wsEndpoint"), browserServer.wsEndpoint());
const tempDir = path__default.default.resolve(chunkPJYHJVIT_cjs.workspaceRoot, "./playground-temp");
await fs__default.default.ensureDir(tempDir);
await fs__default.default.emptyDir(tempDir);
await fs__default.default.copy(path__default.default.resolve(chunkPJYHJVIT_cjs.workspaceRoot, "./playground"), tempDir, {
dereference: false,
filter(file) {
file = file.replace(/\\/g, "/");
return !file.includes("__tests__") && !/dist(\/|$)/.test(file);
}
}).catch(async (error) => {
if (error.code === "EPERM" && error.syscall === "symlink") {
throw new Error(
"Could not create symlinks. On Windows, consider activating Developer Mode to allow non-admin users to create symlinks by following the instructions at https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development."
);
} else {
throw error;
}
});
}
async function teardown() {
await browserServer?.close();
if (!process.env.VITE_PRESERVE_BUILD_ARTIFACTS) {
fs__default.default.removeSync(path__default.default.resolve(chunkPJYHJVIT_cjs.workspaceRoot, "./playground-temp"));
}
}
exports.setup = setup;
exports.teardown = teardown;