Drop lodash from @pi/ui
The three functions it used (isEqual, some with an object as criterion and capitalize) live in util/common/compare.ts with the same behaviour, so apps no longer pull a CommonJS library that Node's ESM loader cannot resolve by path. TaskStream's initial bundle goes down to 1.88 MB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -195,12 +195,11 @@ Detalles a tener en cuenta:
|
||||
ignorando su valor. Se descubrió al dividir los componentes; `pi-bar-chart`
|
||||
es la primera versión que realmente renderiza barras.
|
||||
|
||||
**`lodash` se importa por función y con extensión** (`lodash/isEqual.js`,
|
||||
`lodash/some.js`, `lodash/capitalize.js`), nunca `import _ from 'lodash'`:
|
||||
lodash es CommonJS y el import completo mete la librería entera en el bundle de
|
||||
quien use un select. La extensión hace falta porque lodash no declara
|
||||
`exports`: un empaquetador resuelve `lodash/isEqual`, pero Node en ESM (Vitest,
|
||||
SSR) no, y la app falla al cargar `@pi/ui`.
|
||||
**Sin lodash.** Las tres funciones que se usaban (`isEqual`, `some` con un
|
||||
objeto como criterio y `capitalize`) están en `util/common/compare.ts`, con la
|
||||
misma semántica. lodash es CommonJS y sin mapa de `exports`: entero pesaba en el
|
||||
bundle de quien usara un select, y por funciones (`lodash/isEqual`) Node en ESM
|
||||
(Vitest, SSR) no lo resolvía.
|
||||
|
||||
**El loader de servidor de traducciones ya no está en el barrel.**
|
||||
`util/translate/loaders/translate-server.loader` usa `fs`, `path` y `process`;
|
||||
|
||||
Reference in New Issue
Block a user