@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 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
+ ```