@ressjs/config 0.6.0-rc.0 → 0.6.0-rc.1
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/dist/layers.js +9 -4
- package/dist/vite-guard.js +2 -0
- package/package.json +1 -1
package/dist/layers.js
CHANGED
|
@@ -100,15 +100,20 @@ async function safeReaddir(dir, withTypes) {
|
|
|
100
100
|
return [];
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
+
/** Cuántas lecturas se hicieron: hace única la URL de cada una. */
|
|
104
|
+
let evaluations = 0;
|
|
103
105
|
/**
|
|
104
106
|
* Evalúa un archivo de configuración.
|
|
105
107
|
*
|
|
106
|
-
* En desarrollo el archivo cambia, así que
|
|
107
|
-
*
|
|
108
|
-
* configuración no
|
|
108
|
+
* En desarrollo el archivo cambia, así que cada lectura usa una URL distinta: el
|
|
109
|
+
* caché de módulos de Node indexa por URL, y con la misma devuelve la versión
|
|
110
|
+
* anterior, de modo que editar la configuración no tendría ningún efecto. La URL
|
|
111
|
+
* no puede depender sólo del reloj: dos lecturas dentro del mismo tic (el
|
|
112
|
+
* watcher de Windows avisa dos veces por escritura) compartirían marca y la
|
|
113
|
+
* segunda recibiría el contenido viejo, sin que nada volviera a avisar.
|
|
109
114
|
*/
|
|
110
115
|
async function evaluate(file) {
|
|
111
|
-
const url = (0, node_url_1.pathToFileURL)(file).href + `?t=${Date.now()}`;
|
|
116
|
+
const url = (0, node_url_1.pathToFileURL)(file).href + `?t=${Date.now()}-${++evaluations}`;
|
|
112
117
|
const module = (await import(/* @vite-ignore */ url));
|
|
113
118
|
return module.default ?? module;
|
|
114
119
|
}
|
package/dist/vite-guard.js
CHANGED
|
@@ -42,6 +42,8 @@ function configServerOnlyGuard() {
|
|
|
42
42
|
return null;
|
|
43
43
|
throw new Error(`[ress] "${PACKAGE}" es de sólo servidor y lo importa ${importer ?? 'el punto de entrada'}, ` +
|
|
44
44
|
'que forma parte del bundle de cliente.\n' +
|
|
45
|
+
'Leerlo dentro de `getServerSideProps` está permitido: ress lo quita del navegador. ' +
|
|
46
|
+
'Si llegaste acá, lo importa código que el componente usa (o renderiza).\n' +
|
|
45
47
|
'Los valores que el navegador necesita se declaran en `publicEnv`.');
|
|
46
48
|
},
|
|
47
49
|
};
|
package/package.json
CHANGED