fimo 2.8.0-staging.13 → 2.8.0-staging.15

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.
@@ -1,12 +1,10 @@
1
1
  // Resolve the list of paths a project should consider for prerender / sitemap /
2
2
  // robots / per-route SEO generation. Static paths come from .fimo/config.json;
3
3
  // dynamic routes are expanded by fetching schema entries from the content API.
4
- import { existsSync, readFileSync } from 'node:fs';
5
- import { resolve } from 'node:path';
6
4
  import { materializeRoutePath, resolveRouteContracts, routeLocaleTargets } from '../routes/index.js';
7
5
  import { resolveSeoForPath } from '../seo/resolver.js';
8
6
  import { getConfigServer } from '../shared/fimo-config.server.js';
9
- import { resolveLocalRuntimeEnv } from '../shared/local-runtime-env.js';
7
+ import { readLocalEnvFiles, resolveLocalRuntimeEnv } from '../shared/local-runtime-env.js';
10
8
  const isValidationBuild = !!process.env.FIMO_VALIDATION_BUILD;
11
9
  const MAX_FETCH_ATTEMPTS = 3;
12
10
  const RETRYABLE_FETCH_STATUSES = new Set([502, 503, 504]);
@@ -15,27 +13,7 @@ const RETRY_BASE_DELAY_MS = 250;
15
13
  // `meta.hasMore` says whether another page follows.
16
14
  const ENTRIES_PAGE_SIZE = 100;
17
15
  function readEnvValue(rootDir, key) {
18
- if (process.env[key]) {
19
- return process.env[key];
20
- }
21
- // `.env.local` first — every framework resolves it last, so it wins there
22
- // and must win here too.
23
- for (const file of ['.env.local', '.env']) {
24
- const filePath = resolve(rootDir, file);
25
- if (!existsSync(filePath)) {
26
- continue;
27
- }
28
- const line = readFileSync(filePath, 'utf-8')
29
- .split('\n')
30
- .find((l) => l.trim().startsWith(`${key}=`));
31
- if (line) {
32
- return line
33
- .slice(key.length + 1)
34
- .trim()
35
- .replace(/^['"]|['"]$/g, '');
36
- }
37
- }
38
- return undefined;
16
+ return process.env[key] || readLocalEnvFiles(rootDir)[key];
39
17
  }
40
18
  function resolveApiBaseUrl(rootDir) {
41
19
  return (readEnvValue(rootDir, 'VITE_API_URL') ??
@@ -18,6 +18,7 @@
18
18
  import { execFileSync } from 'node:child_process';
19
19
  import fs from 'node:fs';
20
20
  import path from 'node:path';
21
+ import { parseEnv } from 'node:util';
21
22
  import { CURRENT_PROJECT_LAYOUT, LEGACY_PROJECT_LAYOUT } from '../project-layout.js';
22
23
  import { LOCAL_CONTENT_API_ENV_KEYS, buildLocalRuntimeEnv, buildTenantApiUrl, isValidBranch, } from './branch-identity.js';
23
24
  /**
@@ -97,20 +98,7 @@ export function readLocalEnvFiles(cwd) {
97
98
  if (!fs.existsSync(/* turbopackIgnore: true */ filePath)) {
98
99
  continue;
99
100
  }
100
- for (const line of fs.readFileSync(/* turbopackIgnore: true */ filePath, 'utf-8').split(/\r?\n/)) {
101
- const trimmed = line.trim();
102
- if (!trimmed || trimmed.startsWith('#')) {
103
- continue;
104
- }
105
- const eq = trimmed.indexOf('=');
106
- if (eq <= 0) {
107
- continue;
108
- }
109
- values[trimmed.slice(0, eq).trim()] = trimmed
110
- .slice(eq + 1)
111
- .trim()
112
- .replace(/^['"]|['"]$/g, '');
113
- }
101
+ Object.assign(values, parseEnv(fs.readFileSync(/* turbopackIgnore: true */ filePath, 'utf-8')));
114
102
  }
115
103
  return values;
116
104
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fimo",
3
- "version": "2.8.0-staging.13",
3
+ "version": "2.8.0-staging.15",
4
4
  "description": "Fimo CLI - create, deploy, and manage Fimo sites",
5
5
  "keywords": [
6
6
  "astro-component"
@@ -194,13 +194,13 @@
194
194
  "devDependencies": {
195
195
  "@clack/core": "^1.2.0",
196
196
  "@clack/prompts": "^1.2.0",
197
- "@fimo/agents-bundle": "2.8.0-staging.13",
198
- "@fimo/api-contracts": "2.8.0-staging.13",
199
- "@fimo/cli-kit": "2.8.0-staging.13",
200
- "@fimo/framework-detect": "2.8.0-staging.13",
201
- "@fimo/routes": "2.8.0-staging.13",
202
- "@fimo/sdk": "2.8.0-staging.13",
203
- "@fimo/tsconfig": "2.8.0-staging.13",
197
+ "@fimo/agents-bundle": "2.8.0-staging.15",
198
+ "@fimo/api-contracts": "2.8.0-staging.15",
199
+ "@fimo/cli-kit": "2.8.0-staging.15",
200
+ "@fimo/framework-detect": "2.8.0-staging.15",
201
+ "@fimo/routes": "2.8.0-staging.15",
202
+ "@fimo/sdk": "2.8.0-staging.15",
203
+ "@fimo/tsconfig": "2.8.0-staging.15",
204
204
  "@types/node": "22.18.6",
205
205
  "agent-install": "^0.0.5",
206
206
  "astro": "^7.1.6",
@@ -211,8 +211,8 @@
211
211
  "open": "^10.1.2",
212
212
  "tsx": "4.22.4",
213
213
  "typescript": "7.0.2",
214
- "vite": "8.3.3",
215
- "vitest": "5.0.3",
214
+ "vite": "8.3.4",
215
+ "vitest": "5.0.4",
216
216
  "wrangler": "4.145.0",
217
217
  "yaml": "2.8.2"
218
218
  },
@@ -13,3 +13,6 @@ dist/
13
13
  .env
14
14
  .env.*
15
15
  !.env.example
16
+
17
+ # Fimo local credentials
18
+ .fimo/*.local.json
@@ -9,9 +9,9 @@
9
9
  "check": "astro sync && astro check"
10
10
  },
11
11
  "dependencies": {
12
- "fimo": "2.8.0-staging.13",
13
- "fimo-analytics": "2.8.0-staging.13",
14
- "fimo-astro": "2.8.0-staging.13",
12
+ "fimo": "2.8.0-staging.15",
13
+ "fimo-analytics": "2.8.0-staging.15",
14
+ "fimo-astro": "2.8.0-staging.15",
15
15
  "zod": "^4.4.3"
16
16
  },
17
17
  "devDependencies": {
@@ -15,3 +15,6 @@ next-env.d.ts
15
15
  .env
16
16
  .env.*
17
17
  !.env.example
18
+
19
+ # Fimo local credentials
20
+ .fimo/*.local.json
@@ -12,11 +12,11 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@tanstack/react-query": "^5.80.6",
15
- "fimo": "2.8.0-staging.13",
16
- "fimo-analytics": "2.8.0-staging.13",
17
- "fimo-next": "2.8.0-staging.13",
18
- "fimo-react": "2.8.0-staging.13",
19
- "next": "^16.3.8",
15
+ "fimo": "2.8.0-staging.15",
16
+ "fimo-analytics": "2.8.0-staging.15",
17
+ "fimo-next": "2.8.0-staging.15",
18
+ "fimo-react": "2.8.0-staging.15",
19
+ "next": "16.3.8",
20
20
  "react": "^19.2.7",
21
21
  "react-dom": "^19.2.7",
22
22
  "zod": "^4.4.3"
@@ -15,3 +15,6 @@ build/
15
15
  .env
16
16
  .env.*
17
17
  !.env.example
18
+
19
+ # Fimo local credentials
20
+ .fimo/*.local.json
@@ -21,11 +21,11 @@
21
21
  "cn": "0.2.4",
22
22
  "date-fns": "^4.1.0",
23
23
  "embla-carousel-react": "^8.6.0",
24
- "fimo": "2.8.0-staging.13",
25
- "fimo-analytics": "2.8.0-staging.13",
26
- "fimo-react": "2.8.0-staging.13",
27
- "fimo-react-router": "2.8.0-staging.13",
28
- "fimo-vite": "2.8.0-staging.13",
24
+ "fimo": "2.8.0-staging.15",
25
+ "fimo-analytics": "2.8.0-staging.15",
26
+ "fimo-react": "2.8.0-staging.15",
27
+ "fimo-react-router": "2.8.0-staging.15",
28
+ "fimo-vite": "2.8.0-staging.15",
29
29
  "input-otp": "^1.4.2",
30
30
  "isbot": "^5",
31
31
  "lucide-react": "^0.577.0",
@@ -14,3 +14,6 @@ build/
14
14
  .env
15
15
  .env.*
16
16
  !.env.example
17
+
18
+ # Fimo local credentials
19
+ .fimo/*.local.json
@@ -11,9 +11,9 @@
11
11
  "prepare": "svelte-kit sync"
12
12
  },
13
13
  "dependencies": {
14
- "fimo": "2.8.0-staging.13",
15
- "fimo-analytics": "2.8.0-staging.13",
16
- "fimo-sveltekit": "2.8.0-staging.13",
14
+ "fimo": "2.8.0-staging.15",
15
+ "fimo-analytics": "2.8.0-staging.15",
16
+ "fimo-sveltekit": "2.8.0-staging.15",
17
17
  "zod": "^4.4.3"
18
18
  },
19
19
  "devDependencies": {
@@ -11,3 +11,6 @@ dist/
11
11
  .env
12
12
  .env.*
13
13
  !.env.example
14
+
15
+ # Fimo local credentials
16
+ .fimo/*.local.json
@@ -11,11 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@tanstack/react-query": "^5.80.6",
14
- "fimo": "2.8.0-staging.13",
15
- "fimo-analytics": "2.8.0-staging.13",
16
- "fimo-react": "2.8.0-staging.13",
17
- "fimo-react-router": "2.8.0-staging.13",
18
- "fimo-vite": "2.8.0-staging.13",
14
+ "fimo": "2.8.0-staging.15",
15
+ "fimo-analytics": "2.8.0-staging.15",
16
+ "fimo-react": "2.8.0-staging.15",
17
+ "fimo-react-router": "2.8.0-staging.15",
18
+ "fimo-vite": "2.8.0-staging.15",
19
19
  "react": "^19.2.7",
20
20
  "react-dom": "^19.2.7",
21
21
  "react-router": "^8.3.0",