- @hanzo/gui + whole @hanzogui/* graph 7.3.0 -> 8.0.0, @hanzo/ui -> 8.0.38, @hanzo/design -> 0.3.3; [email protected].5 declared directly ([email protected] imports it but no longer declares the peer). - Icons from the package root, not /icons/* subpaths: 8.0.0's per-icon exports entries carry no types condition, so subpaths typecheck as any. Root export is typed and sideEffects:false tree-shakes — JS bundle 647 kB -> 531 kB. - gui base sheet as a REAL cacheable stylesheet: scripts/gen-gui-css.mjs (first step of pnpm build) writes config.getCSS() to src/gui.css, main.tsx imports it, GuiProvider renders disableInjectCSS. ~43 kB gzip, fingerprinted. - TypeScript 7.0.2 for tsc; .pnpmfile.cjs gives @typescript-eslint/* their own [email protected] (side-by-side per typescript-eslint#10940) so lint runs. - next-theme shim STAYS: 8.0.38 lazily code-splits ThemeToggleNext, but Rollup still follows the dynamic import and the optional peer breaks the build (measured). SiteNav still authors $sm as phone, so the sm override stays too. - Measured: typecheck 0, lint 0, build 0, polyglot bash -n OK + --help prints usage, page verified at 1280px and 390px. Co-authored-by: Hanzo Dev <[email protected]>
16 lines
743 B
JavaScript
16 lines
743 B
JavaScript
// TypeScript 7 side-by-side arrangement (typescript-eslint#10940): tsc runs
|
|
// typescript@7, but typescript-eslint supports only the TS 6 API. Giving the
|
|
// lint packages typescript@6 as their OWN dependency makes require('typescript')
|
|
// resolve to 6 inside them while the project's typescript stays 7. Delete this
|
|
// file when typescript-eslint supports TS >= 7.1.
|
|
function readPackage(pkg) {
|
|
if (pkg.name === 'typescript-eslint' || (pkg.name || '').startsWith('@typescript-eslint/')) {
|
|
if (pkg.peerDependencies && pkg.peerDependencies.typescript) {
|
|
delete pkg.peerDependencies.typescript
|
|
pkg.dependencies = { ...pkg.dependencies, typescript: '6.0.3' }
|
|
}
|
|
}
|
|
return pkg
|
|
}
|
|
module.exports = { hooks: { readPackage } }
|