jeasx 2.0.1 → 2.1.0
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/CHANGELOG.md +9 -1
- package/env.js +26 -3
- package/esbuild.config.js +1 -1
- package/package.json +4 -4
- package/serverless.js +1 -1
- package/serverless.js.map +1 -1
- package/serverless.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2025-10-28 - Jeasx 2.1.0 released
|
|
4
|
+
|
|
5
|
+
🎉 Environment vars can now be loaded from a JavaScript file (`.env.js`) additionally to existing .env-files. This allows enhanced environment setups depending on your workflows.
|
|
6
|
+
|
|
7
|
+
Node 24 (LTS) is the official default runtime from now on.
|
|
8
|
+
|
|
9
|
+
Dependency updates: `@fastify/multipart@9.3.0`, `@fastify/static@8.3.0`, `@types/node@24.9.1`
|
|
10
|
+
|
|
3
11
|
## 2025-10-15 - Jeasx 2.0.1 released
|
|
4
12
|
|
|
5
|
-
This releases fixes status codes for fallback 404 routes. Due to an unnoticed bug introduced by a minor refactoring, 404-routes were delivered with `status=200`, now it is the correct `status=404` again. This might impact your SEO score, so an update is highly recommended.
|
|
13
|
+
🎉 This releases fixes status codes for fallback 404 routes. Due to an unnoticed bug introduced by a minor refactoring, 404-routes were delivered with `status=200`, now it is the correct `status=404` again. This might impact your SEO score, so an update is highly recommended.
|
|
6
14
|
|
|
7
15
|
Dependency updates: `esbuild@0.25.11`
|
|
8
16
|
|
package/env.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Load environment variables from .env* files
|
|
@@ -9,11 +10,12 @@ import { existsSync } from "node:fs";
|
|
|
9
10
|
* 3. .env.local
|
|
10
11
|
* 4. .env
|
|
11
12
|
* 5. .env.defaults
|
|
13
|
+
* 6. .env.js
|
|
12
14
|
*
|
|
13
|
-
* If a variable already exists in
|
|
14
|
-
* it will be not overwritten.
|
|
15
|
+
* If a variable already exists in a previous environment,
|
|
16
|
+
* it will be not overwritten at a later stage.
|
|
15
17
|
*/
|
|
16
|
-
export default function env() {
|
|
18
|
+
export default async function env() {
|
|
17
19
|
if (process.loadEnvFile) {
|
|
18
20
|
[
|
|
19
21
|
...(process.env.NODE_ENV
|
|
@@ -26,4 +28,25 @@ export default function env() {
|
|
|
26
28
|
.filter(existsSync)
|
|
27
29
|
.forEach(process.loadEnvFile);
|
|
28
30
|
}
|
|
31
|
+
try {
|
|
32
|
+
const envFile = `file://${join(process.cwd(), ".env.js")}`;
|
|
33
|
+
const envObject = (await import(envFile)).default;
|
|
34
|
+
Object.entries(envObject).forEach(([key, value]) => {
|
|
35
|
+
if (!(key in process.env)) {
|
|
36
|
+
switch (typeof value) {
|
|
37
|
+
case "string":
|
|
38
|
+
process.env[key] = value;
|
|
39
|
+
break;
|
|
40
|
+
case "function":
|
|
41
|
+
process.env[key] = value.toString();
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
process.env[key] = JSON.stringify(value);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
} catch (e) {
|
|
50
|
+
// ERR_MODULE_NOT_FOUND
|
|
51
|
+
}
|
|
29
52
|
}
|
package/esbuild.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jeasx",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Jeasx - the ease of JSX with the power of SSR",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jsx",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@fastify/cookie": "11.0.2",
|
|
28
28
|
"@fastify/formbody": "8.0.2",
|
|
29
|
-
"@fastify/multipart": "9.
|
|
30
|
-
"@fastify/static": "8.
|
|
31
|
-
"@types/node": "
|
|
29
|
+
"@fastify/multipart": "9.3.0",
|
|
30
|
+
"@fastify/static": "8.3.0",
|
|
31
|
+
"@types/node": "24.9.1",
|
|
32
32
|
"esbuild": "0.25.11",
|
|
33
33
|
"fastify": "5.6.1",
|
|
34
34
|
"jsx-async-runtime": "2.0.0"
|
package/serverless.js
CHANGED
|
@@ -7,7 +7,7 @@ import { jsxToString } from "jsx-async-runtime";
|
|
|
7
7
|
import { stat } from "node:fs/promises";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import env from "./env.js";
|
|
10
|
-
env();
|
|
10
|
+
await env();
|
|
11
11
|
const NODE_ENV_IS_DEVELOPMENT = process.env.NODE_ENV === "development";
|
|
12
12
|
const CWD = process.cwd();
|
|
13
13
|
const FASTIFY_STATIC_HEADERS = process.env.FASTIFY_STATIC_HEADERS && JSON.parse(process.env.FASTIFY_STATIC_HEADERS);
|
package/serverless.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["serverless.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,mBAAmB;AAC1B,OAAO,aAA+C;AACtD,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,OAAO,SAAS;AAEhB,IAAI;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/serverless.ts
CHANGED