mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-17 16:10:52 +00:00
BREAKING CHANGES: top level types were updated, multiaddr@9.0.0 is used, dialer and keychain internal property names changed and connectionManager minPeers is not supported anymore
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
'use strict'
|
|
|
|
const execa = require('execa')
|
|
const { chromium } = require('playwright');
|
|
|
|
async function run() {
|
|
let url = ''
|
|
const proc = execa('parcel', ['./index.html'], {
|
|
preferLocal: true,
|
|
localDir: __dirname,
|
|
cwd: __dirname,
|
|
all: true
|
|
})
|
|
|
|
proc.all.on('data', async (chunk) => {
|
|
/**@type {string} */
|
|
const out = chunk.toString()
|
|
|
|
if (out.includes('Server running at')) {
|
|
url = out.split('Server running at ')[1]
|
|
}
|
|
|
|
if (out.includes('Built in')) {
|
|
try {
|
|
const browser = await chromium.launch();
|
|
const page = await browser.newPage();
|
|
await page.goto(url);
|
|
await page.waitForFunction(selector => document.querySelector(selector).innerText === 'libp2p started!', '#status')
|
|
await page.waitForFunction(
|
|
selector => {
|
|
const text = document.querySelector(selector).innerText
|
|
return text.includes('libp2p id is') &&
|
|
text.includes('Found peer') &&
|
|
text.includes('Connected to')
|
|
},
|
|
'#output',
|
|
{ timeout: 5000 }
|
|
)
|
|
await browser.close();
|
|
|
|
} catch (err) {
|
|
console.error(err)
|
|
process.exit(1)
|
|
} finally {
|
|
proc.cancel()
|
|
}
|
|
}
|
|
})
|
|
|
|
}
|
|
|
|
module.exports = run
|