Check browser compile compatibility in integration tests
This commit is contained in:
parent
c00ed69801
commit
0fe2fb40e1
File diff suppressed because it is too large
Load Diff
|
@ -38,7 +38,7 @@
|
|||
"test": "vitest run",
|
||||
"test:dev": "ts-node ./src/dev-cli.ts",
|
||||
"test:watch": "vitest",
|
||||
"test:integration": "node ./tests/cjs && node ./tests/esm",
|
||||
"test:integration": "node ./tests/cjs && node ./tests/esm && node ./tests/browser",
|
||||
"test:coverage": "vitest run --coverage",
|
||||
"lint": "eslint --ext .ts,.js src/",
|
||||
"lint:fix": "eslint --fix --ext .ts,.js src/",
|
||||
|
@ -65,6 +65,7 @@
|
|||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"node-fetch": "^2.7.0",
|
||||
"prettier": "^2.6.2",
|
||||
"puppeteer": "^21.6.1",
|
||||
"spinnies": "^0.5.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"tsc-alias": "^1.6.7",
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
dist
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Browser integration test</title>
|
||||
</head>
|
||||
<body>
|
||||
<script type="module" src="index.ts"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,8 @@
|
|||
import { makeProviders, makeStandardFetcher, targets } from '../../lib/index.mjs';
|
||||
|
||||
(window as any).TEST = () => {
|
||||
makeProviders({
|
||||
fetcher: makeStandardFetcher(fetch),
|
||||
target: targets.ALL,
|
||||
});
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"main": "startup.mjs"
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import { build, preview } from 'vite';
|
||||
import puppeteer from 'puppeteer';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname } from 'path';
|
||||
|
||||
const root = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
await build({
|
||||
root,
|
||||
});
|
||||
const server = await preview({
|
||||
root,
|
||||
});
|
||||
let browser;
|
||||
try {
|
||||
browser = await puppeteer.launch({
|
||||
headless: 'new',
|
||||
args: ['--no-sandbox', '--disable-setuid-sandbox'],
|
||||
});
|
||||
const page = await browser.newPage();
|
||||
await page.goto(server.resolvedUrls.local[0]);
|
||||
await page.waitForFunction('!!window.TEST', { timeout: 5000 });
|
||||
await page.evaluate(() => {
|
||||
window.TEST();
|
||||
});
|
||||
} finally {
|
||||
server.httpServer.close();
|
||||
await browser.close();
|
||||
}
|
||||
|
||||
console.log('Success!');
|
Loading…
Reference in New Issue