3ae986acc8
- Tauri was injecting nonces/hashes into style-src, which disables 'unsafe-inline' and blocked Emotion/MUI runtime <style> tags. - Grant core:window:allow-maximize so frontend maximize() passes ACL. - Add node-status and explorer helpers plus chart mappers; Jest coverage - NodeOperatorInsights on BondedNymNode; optional API moniker/location - Shared MUI Emotion cache (speedy: false) and CacheProvider wiring - SendInputModal: amount/recipient validation timing; memoized fee check - AuthLayout refresh; NodeTable overflow-x; Bonding error title typo fix
46 lines
1015 B
JavaScript
46 lines
1015 B
JavaScript
/* eslint-disable no-console -- build-time diagnostic */
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const walletRoot = path.resolve(__dirname, '..');
|
|
|
|
const PKGS = [
|
|
'@emotion/react',
|
|
'@emotion/styled',
|
|
'@emotion/cache',
|
|
'@mui/material',
|
|
'@mui/system',
|
|
'@mui/styled-engine',
|
|
'@mui/private-theming',
|
|
'@mui/utils',
|
|
'@mui/lab',
|
|
'@mui/icons-material',
|
|
'react',
|
|
'react-dom',
|
|
];
|
|
|
|
const probes = [
|
|
walletRoot,
|
|
path.join(walletRoot, 'node_modules', '@nymproject', 'react'),
|
|
path.join(walletRoot, 'node_modules', '@mui', 'material'),
|
|
];
|
|
|
|
let bad = 0;
|
|
PKGS.forEach((pkg) => {
|
|
const seen = new Set();
|
|
probes.forEach((probe) => {
|
|
try {
|
|
const p = require.resolve(`${pkg}/package.json`, { paths: [probe] });
|
|
seen.add(fs.realpathSync(p));
|
|
} catch {
|
|
/* probe may not resolve this package */
|
|
}
|
|
});
|
|
if (seen.size > 1) {
|
|
bad += 1;
|
|
console.error(`[singleton] DUPLICATE ${pkg}:\n ${[...seen].join('\n ')}`);
|
|
}
|
|
});
|
|
|
|
process.exit(bad ? 1 : 0);
|