// CSP build : x-data="foo()" — globale window vs Alpine.data, lequel résout ? const { chromium } = require('playwright-core'); const path = require('path'); const fs = require('fs'); function findChromium() { const root = path.join(process.env.LOCALAPPDATA, 'ms-playwright'); const dirs = fs.readdirSync(root).filter((d) => d.startsWith('chromium-') && !d.includes('headless')); dirs.sort(); return path.join(root, dirs[dirs.length - 1], 'chrome-win64', 'chrome.exe'); } const ALPINE = fs.readFileSync( 'C:/Users/bruno/AppData/Local/hermes/cache/scratch/alpine_csp.js', 'utf-8' ); const html = `
`; (async () => { const browser = await chromium.launch({ headless: true, executablePath: findChromium() }); const page = await browser.newPage(); const errs = []; page.on('pageerror', (e) => errs.push(e.message.slice(0, 120))); await page.setContent(html, { waitUntil: 'domcontentloaded' }); await page.waitForTimeout(500); const res = await page.evaluate(() => ({ global: document.querySelector('#s1').textContent, alpineData: document.querySelector('#s2').textContent, })); console.log('RESULTATS:', JSON.stringify(res), 'ERREURS:', errs.length ? errs : 'aucune'); await browser.close(); })();