@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 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 la URL lleva una marca de tiempo: sin
107
- * ella el caché de módulos de Node devuelve la versión anterior y editar la
108
- * configuración no tiene ningún efecto.
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
  }
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ressjs/config",
3
- "version": "0.6.0-rc.0",
3
+ "version": "0.6.0-rc.1",
4
4
  "description": "Valores de configuración por entorno para ress.js. Sólo servidor, sin dependencias.",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",