@tmf_ciclica/ciclicastorybook 1.2.163 → 1.2.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -1
- package/dist/index.cjs.js +25 -24
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +3951 -5293
- package/dist/index.es.js.map +1 -0
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -2,5 +2,76 @@
|
|
|
2
2
|
|
|
3
3
|
Necesidades:
|
|
4
4
|
|
|
5
|
-
- Para el componente MapboxMap hay que importar import "mapbox-gl/dist/mapbox-gl.css"
|
|
5
|
+
- Para el componente MapboxMap hay que importar import "mapbox-gl/dist/mapbox-gl.css"
|
|
6
6
|
|
|
7
|
+
## Depuración de errores en aplicaciones consumidoras
|
|
8
|
+
|
|
9
|
+
Cuando usas los componentes desde otra aplicación, los errores pueden aparecer
|
|
10
|
+
encriptados en la consola porque apuntan al bundle compilado (`dist/index.es.js`).
|
|
11
|
+
|
|
12
|
+
### Source maps
|
|
13
|
+
|
|
14
|
+
El build genera source maps (`dist/index.es.js.map`). Para que el navegador los
|
|
15
|
+
use y los stack traces apunten al código fuente original (`.jsx`), asegúrate de
|
|
16
|
+
que la app consumidora no los descarte. En Vite, por defecto se usan en dev; en
|
|
17
|
+
producción puedes habilitarlos con:
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
// vite.config.js de la app consumidora
|
|
21
|
+
export default defineConfig({
|
|
22
|
+
build: {
|
|
23
|
+
sourcemap: true,
|
|
24
|
+
},
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Nombres de componentes legibles
|
|
29
|
+
|
|
30
|
+
Cuando la app consumidora pre-bundla la librería con esbuild, los nombres de los
|
|
31
|
+
componentes se renombran a identificadores minificados (`d0`, `d1`, ...), por lo
|
|
32
|
+
que los warnings de React (como el de las `key`) muestran nombres encriptados.
|
|
33
|
+
|
|
34
|
+
El build de la librería añade automáticamente `displayName` a todos los
|
|
35
|
+
componentes exportados. Los strings no se renombran nunca, así que los warnings
|
|
36
|
+
y stack traces de React mostrarán el nombre real del componente:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Warning: Each child in a list should have a unique "key" prop.
|
|
40
|
+
Check the render method of `Legend`. It was passed a child from DataLayout.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
No requiere configuración en la app consumidora: basta con usar la versión
|
|
44
|
+
publicada de la librería.
|
|
45
|
+
|
|
46
|
+
### Warnings de `key` en listas
|
|
47
|
+
|
|
48
|
+
Si ves el warning `Each child in a list should have a unique "key" prop`, el
|
|
49
|
+
problema está en un componente de la librería que renderiza una lista sin `key`
|
|
50
|
+
o con `key` duplicada. Los componentes de la librería ya usan `key` correctas,
|
|
51
|
+
pero si encuentras uno que no, el warning ahora te dirá **qué componente** es
|
|
52
|
+
(gracias a los `displayName`), lo que facilita localizarlo y corregirlo.
|
|
53
|
+
|
|
54
|
+
### ErrorBoundary
|
|
55
|
+
|
|
56
|
+
La librería exporta un `ErrorBoundary` que captura errores de los componentes y
|
|
57
|
+
muestra el nombre del componente que falló y su jerarquía, en lugar de un stack
|
|
58
|
+
trace encriptado:
|
|
59
|
+
|
|
60
|
+
```jsx
|
|
61
|
+
import { ErrorBoundary, MapboxMap } from "@tmf_ciclica/ciclicastorybook"
|
|
62
|
+
|
|
63
|
+
<ErrorBoundary name="MapboxMap">
|
|
64
|
+
<MapboxMap ... />
|
|
65
|
+
</ErrorBoundary>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
También acepta un `fallback` personalizado:
|
|
69
|
+
|
|
70
|
+
```jsx
|
|
71
|
+
<ErrorBoundary
|
|
72
|
+
name="MapboxMap"
|
|
73
|
+
fallback={(error, errorInfo) => <div>Ha fallado: {error.message}</div>}
|
|
74
|
+
>
|
|
75
|
+
<MapboxMap ... />
|
|
76
|
+
</ErrorBoundary>
|
|
77
|
+
```
|