@sleekcms/client 2.4.0 → 3.0.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/README.md +19 -19
- package/index.cjs +27 -19
- package/index.d.cts +3 -3
- package/index.d.ts +3 -3
- package/index.mjs +26 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,9 +13,9 @@ npm install @sleekcms/client
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
|
-
import {
|
|
16
|
+
import { createSyncClient } from '@sleekcms/client';
|
|
17
17
|
|
|
18
|
-
const client = await
|
|
18
|
+
const client = await createSyncClient({
|
|
19
19
|
siteToken: 'your-site-token',
|
|
20
20
|
env: 'latest'
|
|
21
21
|
});
|
|
@@ -34,11 +34,11 @@ const footer = client.getEntry('footer');
|
|
|
34
34
|
|
|
35
35
|
### Sync Client (Recommended for SSG)
|
|
36
36
|
|
|
37
|
-
**`
|
|
37
|
+
**`createSyncClient()`** fetches all content upfront and returns a client with synchronous methods. Best for static site generation where you build once and want instant access to content.
|
|
38
38
|
|
|
39
39
|
```typescript
|
|
40
40
|
// Async initialization, sync usage
|
|
41
|
-
const client = await
|
|
41
|
+
const client = await createSyncClient({
|
|
42
42
|
siteToken: 'your-site-token'
|
|
43
43
|
});
|
|
44
44
|
|
|
@@ -59,7 +59,7 @@ const slugs = client.getSlugs('/blog');
|
|
|
59
59
|
```typescript
|
|
60
60
|
const client = createAsyncClient({
|
|
61
61
|
siteToken: 'your-site-token',
|
|
62
|
-
|
|
62
|
+
resolveEnv: true // optional: cache-friendly URLs
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
// All methods are async
|
|
@@ -78,8 +78,8 @@ const posts = await client.getPages('/blog');
|
|
|
78
78
|
|--------|------|---------|-------------|
|
|
79
79
|
| `siteToken` | `string` | required | Your site token from SleekCMS |
|
|
80
80
|
| `env` | `string` | `'latest'` | Environment/alias name |
|
|
81
|
-
| `
|
|
82
|
-
| `lang` | `string` | - | Language code for internationalized content
|
|
81
|
+
| `resolveEnv` | `boolean` | `false` | Env is an alias to version. This flag resolves env to version tag, so as to bypass CDN cache. Add's some latency.|
|
|
82
|
+
| `lang` | `string` | - | Language code for internationalized content |
|
|
83
83
|
| `cache` | `SyncCacheAdapter \| AsyncCacheAdapter` | In-memory cache | Custom cache adapter for storing fetched content |
|
|
84
84
|
| `cacheMinutes` | `number` | - | Cache expiration time in minutes. If not set, cache never expires |
|
|
85
85
|
|
|
@@ -87,7 +87,7 @@ const posts = await client.getPages('/blog');
|
|
|
87
87
|
|
|
88
88
|
```typescript
|
|
89
89
|
// Fetch Spanish content
|
|
90
|
-
const client = await
|
|
90
|
+
const client = await createSyncClient({
|
|
91
91
|
siteToken: 'your-site-token',
|
|
92
92
|
lang: 'es'
|
|
93
93
|
});
|
|
@@ -103,7 +103,7 @@ The client includes built-in caching support to improve performance and reduce A
|
|
|
103
103
|
### Default In-Memory Cache
|
|
104
104
|
|
|
105
105
|
```typescript
|
|
106
|
-
const client = await
|
|
106
|
+
const client = await createSyncClient({
|
|
107
107
|
siteToken: 'your-site-token'
|
|
108
108
|
});
|
|
109
109
|
// Uses built-in memory cache automatically
|
|
@@ -112,7 +112,7 @@ const client = await createClient({
|
|
|
112
112
|
### Using localStorage
|
|
113
113
|
|
|
114
114
|
```typescript
|
|
115
|
-
const client = await
|
|
115
|
+
const client = await createSyncClient({
|
|
116
116
|
siteToken: 'your-site-token',
|
|
117
117
|
cache: localStorage, // Use browser's localStorage
|
|
118
118
|
cacheMinutes: 60*24 // Cache expires after 1 day
|
|
@@ -142,7 +142,7 @@ interface AsyncCacheAdapter {
|
|
|
142
142
|
Use `cacheMinutes` to set when cached content expires:
|
|
143
143
|
|
|
144
144
|
```typescript
|
|
145
|
-
const client = await
|
|
145
|
+
const client = await createSyncClient({
|
|
146
146
|
siteToken: 'your-site-token',
|
|
147
147
|
cache: localStorage,
|
|
148
148
|
cacheMinutes: 60*24 // Cache expires after 1 day
|
|
@@ -228,10 +228,10 @@ const categories = client.getOptions('categories');
|
|
|
228
228
|
|
|
229
229
|
```typescript
|
|
230
230
|
// app/blog/page.tsx
|
|
231
|
-
import {
|
|
231
|
+
import { createSyncClient } from '@sleekcms/client';
|
|
232
232
|
|
|
233
233
|
export default async function BlogPage() {
|
|
234
|
-
const client = await
|
|
234
|
+
const client = await createSyncClient({
|
|
235
235
|
siteToken: process.env.SLEEKCMS_SITE_TOKEN!
|
|
236
236
|
});
|
|
237
237
|
|
|
@@ -253,10 +253,10 @@ export default async function BlogPage() {
|
|
|
253
253
|
|
|
254
254
|
```typescript
|
|
255
255
|
// app/blog/[slug]/page.tsx
|
|
256
|
-
import {
|
|
256
|
+
import { createSyncClient } from '@sleekcms/client';
|
|
257
257
|
|
|
258
258
|
export async function generateStaticParams() {
|
|
259
|
-
const client = await
|
|
259
|
+
const client = await createSyncClient({
|
|
260
260
|
siteToken: process.env.SLEEKCMS_SITE_TOKEN!
|
|
261
261
|
});
|
|
262
262
|
|
|
@@ -266,7 +266,7 @@ export async function generateStaticParams() {
|
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
export default async function Post({ params }: { params: { slug: string } }) {
|
|
269
|
-
const client = await
|
|
269
|
+
const client = await createSyncClient({
|
|
270
270
|
siteToken: process.env.SLEEKCMS_SITE_TOKEN!
|
|
271
271
|
});
|
|
272
272
|
|
|
@@ -284,7 +284,7 @@ import { createAsyncClient } from '@sleekcms/client';
|
|
|
284
284
|
|
|
285
285
|
const client = createAsyncClient({
|
|
286
286
|
siteToken: process.env.SLEEKCMS_SITE_TOKEN,
|
|
287
|
-
|
|
287
|
+
resolveEnv: true
|
|
288
288
|
});
|
|
289
289
|
|
|
290
290
|
export async function load() {
|
|
@@ -298,9 +298,9 @@ export async function load() {
|
|
|
298
298
|
```astro
|
|
299
299
|
---
|
|
300
300
|
// src/pages/blog/index.astro
|
|
301
|
-
import {
|
|
301
|
+
import { createSyncClient } from '@sleekcms/client';
|
|
302
302
|
|
|
303
|
-
const client = await
|
|
303
|
+
const client = await createSyncClient({
|
|
304
304
|
siteToken: import.meta.env.SLEEKCMS_SITE_TOKEN
|
|
305
305
|
});
|
|
306
306
|
|
package/index.cjs
CHANGED
|
@@ -30,7 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
var index_exports = {};
|
|
31
31
|
__export(index_exports, {
|
|
32
32
|
createAsyncClient: () => createAsyncClient,
|
|
33
|
-
|
|
33
|
+
createSyncClient: () => createSyncClient
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(index_exports);
|
|
36
36
|
|
|
@@ -77,16 +77,20 @@ async function fetchEnvTag({ siteToken, env }) {
|
|
|
77
77
|
return env;
|
|
78
78
|
}
|
|
79
79
|
async function fetchSiteContent(options) {
|
|
80
|
-
const { siteToken, env = "latest",
|
|
80
|
+
const { siteToken, env = "latest", resolveEnv = false, search: search2, lang, cache, cacheMinutes } = options;
|
|
81
81
|
let url = getUrl({ siteToken, env, search: search2, lang });
|
|
82
|
-
if (!
|
|
82
|
+
if (!resolveEnv) {
|
|
83
83
|
const cacheKey2 = `${siteToken}:${env}`;
|
|
84
84
|
let tag = envTagCache.get(cacheKey2);
|
|
85
|
-
|
|
86
|
-
tag
|
|
87
|
-
|
|
85
|
+
try {
|
|
86
|
+
if (!tag) {
|
|
87
|
+
tag = await fetchEnvTag({ siteToken, env });
|
|
88
|
+
envTagCache.set(cacheKey2, tag);
|
|
89
|
+
}
|
|
90
|
+
url = getUrl({ siteToken, env: tag, search: search2, lang });
|
|
91
|
+
} catch (error) {
|
|
92
|
+
console.warn("[SleekCMS] Failed to resolve env tag, using cached content instead.");
|
|
88
93
|
}
|
|
89
|
-
url = getUrl({ siteToken, env: tag, search: search2, lang });
|
|
90
94
|
}
|
|
91
95
|
const cacheKey = url;
|
|
92
96
|
const fetchAndCache = async () => {
|
|
@@ -129,7 +133,11 @@ async function fetchSiteContent(options) {
|
|
|
129
133
|
const expiryMs = cacheMinutes * 60 * 1e3;
|
|
130
134
|
const age = now - cachedData._ts;
|
|
131
135
|
if (age >= expiryMs) {
|
|
132
|
-
|
|
136
|
+
try {
|
|
137
|
+
return await fetchAndCache();
|
|
138
|
+
} catch (error) {
|
|
139
|
+
console.warn("[SleekCMS] Fetch failed, using expired cache:", error);
|
|
140
|
+
}
|
|
133
141
|
}
|
|
134
142
|
}
|
|
135
143
|
return cachedData.data;
|
|
@@ -174,7 +182,7 @@ var MemoryCache = class {
|
|
|
174
182
|
this.cache.set(key, value);
|
|
175
183
|
}
|
|
176
184
|
};
|
|
177
|
-
async function
|
|
185
|
+
async function createSyncClient(options) {
|
|
178
186
|
const cache = options.cache ?? new MemoryCache();
|
|
179
187
|
const data = await fetchSiteContent({ ...options, cache });
|
|
180
188
|
function getContent(query) {
|
|
@@ -232,26 +240,26 @@ async function createClient(options) {
|
|
|
232
240
|
};
|
|
233
241
|
}
|
|
234
242
|
function createAsyncClient(options) {
|
|
235
|
-
const { siteToken, env = "latest",
|
|
243
|
+
const { siteToken, env = "latest", resolveEnv, lang } = options;
|
|
236
244
|
const cache = options.cache ?? new MemoryCache();
|
|
237
245
|
let syncClient = null;
|
|
238
246
|
async function getContent(search2) {
|
|
239
247
|
if (!search2 && !syncClient) {
|
|
240
|
-
syncClient = await
|
|
248
|
+
syncClient = await createSyncClient({ siteToken, env, resolveEnv, lang, cache });
|
|
241
249
|
}
|
|
242
250
|
if (syncClient) return syncClient.getContent(search2);
|
|
243
251
|
if (!search2) return null;
|
|
244
|
-
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache,
|
|
252
|
+
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache, resolveEnv });
|
|
245
253
|
}
|
|
246
254
|
async function getPages(path) {
|
|
247
255
|
if (syncClient) return syncClient.getPages(path);
|
|
248
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
256
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
249
257
|
if (!path) return pages;
|
|
250
258
|
else return filterPagesByPath(pages, path);
|
|
251
259
|
}
|
|
252
260
|
async function getPage(path) {
|
|
253
261
|
if (syncClient) return syncClient.getPage(path);
|
|
254
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
262
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
255
263
|
const page = pages == null ? void 0 : pages.find((p) => {
|
|
256
264
|
const pth = typeof p._path === "string" ? p._path : "";
|
|
257
265
|
return pth === path;
|
|
@@ -261,21 +269,21 @@ function createAsyncClient(options) {
|
|
|
261
269
|
async function getEntry(handle) {
|
|
262
270
|
if (syncClient) return syncClient.getEntry(handle);
|
|
263
271
|
let search2 = `entries.${handle}`;
|
|
264
|
-
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache,
|
|
272
|
+
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache, resolveEnv });
|
|
265
273
|
}
|
|
266
274
|
async function getSlugs(path) {
|
|
267
275
|
if (syncClient) return syncClient.getSlugs(path);
|
|
268
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
276
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
269
277
|
return extractSlugs(pages, path);
|
|
270
278
|
}
|
|
271
279
|
async function getImage(name) {
|
|
272
280
|
if (syncClient) return syncClient.getImage(name);
|
|
273
|
-
const images = await fetchSiteContent({ siteToken, env, search: "images", lang, cache,
|
|
281
|
+
const images = await fetchSiteContent({ siteToken, env, search: "images", lang, cache, resolveEnv });
|
|
274
282
|
return images ? images[name] : null;
|
|
275
283
|
}
|
|
276
284
|
async function getOptions(name) {
|
|
277
285
|
if (syncClient) return syncClient.getOptions(name);
|
|
278
|
-
const options2 = await fetchSiteContent({ siteToken, env, search: "options", lang, cache,
|
|
286
|
+
const options2 = await fetchSiteContent({ siteToken, env, search: "options", lang, cache, resolveEnv });
|
|
279
287
|
const optionSet = options2[name];
|
|
280
288
|
return Array.isArray(optionSet) ? optionSet : null;
|
|
281
289
|
}
|
|
@@ -301,5 +309,5 @@ function createAsyncClient(options) {
|
|
|
301
309
|
// Annotate the CommonJS export names for ESM import in node:
|
|
302
310
|
0 && (module.exports = {
|
|
303
311
|
createAsyncClient,
|
|
304
|
-
|
|
312
|
+
createSyncClient
|
|
305
313
|
});
|
package/index.d.cts
CHANGED
|
@@ -33,7 +33,7 @@ interface AsyncCacheAdapter {
|
|
|
33
33
|
interface ClientOptions {
|
|
34
34
|
siteToken: string;
|
|
35
35
|
env?: string;
|
|
36
|
-
|
|
36
|
+
resolveEnv?: boolean;
|
|
37
37
|
lang?: string;
|
|
38
38
|
cache?: SyncCacheAdapter | AsyncCacheAdapter;
|
|
39
39
|
cacheMinutes?: number;
|
|
@@ -59,7 +59,7 @@ interface SleekAsyncClient {
|
|
|
59
59
|
_getEnvTag(): Promise<string>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
declare function
|
|
62
|
+
declare function createSyncClient(options: ClientOptions): Promise<SleekClient>;
|
|
63
63
|
declare function createAsyncClient(options: ClientOptions): SleekAsyncClient | any;
|
|
64
64
|
|
|
65
|
-
export { type AsyncCacheAdapter, type ClientOptions, type Entry, type Image, type Options, type Page, type SleekAsyncClient, type SleekClient, type SleekSiteContent, type SyncCacheAdapter, createAsyncClient,
|
|
65
|
+
export { type AsyncCacheAdapter, type ClientOptions, type Entry, type Image, type Options, type Page, type SleekAsyncClient, type SleekClient, type SleekSiteContent, type SyncCacheAdapter, createAsyncClient, createSyncClient };
|
package/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ interface AsyncCacheAdapter {
|
|
|
33
33
|
interface ClientOptions {
|
|
34
34
|
siteToken: string;
|
|
35
35
|
env?: string;
|
|
36
|
-
|
|
36
|
+
resolveEnv?: boolean;
|
|
37
37
|
lang?: string;
|
|
38
38
|
cache?: SyncCacheAdapter | AsyncCacheAdapter;
|
|
39
39
|
cacheMinutes?: number;
|
|
@@ -59,7 +59,7 @@ interface SleekAsyncClient {
|
|
|
59
59
|
_getEnvTag(): Promise<string>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
declare function
|
|
62
|
+
declare function createSyncClient(options: ClientOptions): Promise<SleekClient>;
|
|
63
63
|
declare function createAsyncClient(options: ClientOptions): SleekAsyncClient | any;
|
|
64
64
|
|
|
65
|
-
export { type AsyncCacheAdapter, type ClientOptions, type Entry, type Image, type Options, type Page, type SleekAsyncClient, type SleekClient, type SleekSiteContent, type SyncCacheAdapter, createAsyncClient,
|
|
65
|
+
export { type AsyncCacheAdapter, type ClientOptions, type Entry, type Image, type Options, type Page, type SleekAsyncClient, type SleekClient, type SleekSiteContent, type SyncCacheAdapter, createAsyncClient, createSyncClient };
|
package/index.mjs
CHANGED
|
@@ -41,16 +41,20 @@ async function fetchEnvTag({ siteToken, env }) {
|
|
|
41
41
|
return env;
|
|
42
42
|
}
|
|
43
43
|
async function fetchSiteContent(options) {
|
|
44
|
-
const { siteToken, env = "latest",
|
|
44
|
+
const { siteToken, env = "latest", resolveEnv = false, search: search2, lang, cache, cacheMinutes } = options;
|
|
45
45
|
let url = getUrl({ siteToken, env, search: search2, lang });
|
|
46
|
-
if (!
|
|
46
|
+
if (!resolveEnv) {
|
|
47
47
|
const cacheKey2 = `${siteToken}:${env}`;
|
|
48
48
|
let tag = envTagCache.get(cacheKey2);
|
|
49
|
-
|
|
50
|
-
tag
|
|
51
|
-
|
|
49
|
+
try {
|
|
50
|
+
if (!tag) {
|
|
51
|
+
tag = await fetchEnvTag({ siteToken, env });
|
|
52
|
+
envTagCache.set(cacheKey2, tag);
|
|
53
|
+
}
|
|
54
|
+
url = getUrl({ siteToken, env: tag, search: search2, lang });
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.warn("[SleekCMS] Failed to resolve env tag, using cached content instead.");
|
|
52
57
|
}
|
|
53
|
-
url = getUrl({ siteToken, env: tag, search: search2, lang });
|
|
54
58
|
}
|
|
55
59
|
const cacheKey = url;
|
|
56
60
|
const fetchAndCache = async () => {
|
|
@@ -93,7 +97,11 @@ async function fetchSiteContent(options) {
|
|
|
93
97
|
const expiryMs = cacheMinutes * 60 * 1e3;
|
|
94
98
|
const age = now - cachedData._ts;
|
|
95
99
|
if (age >= expiryMs) {
|
|
96
|
-
|
|
100
|
+
try {
|
|
101
|
+
return await fetchAndCache();
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.warn("[SleekCMS] Fetch failed, using expired cache:", error);
|
|
104
|
+
}
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
107
|
return cachedData.data;
|
|
@@ -138,7 +146,7 @@ var MemoryCache = class {
|
|
|
138
146
|
this.cache.set(key, value);
|
|
139
147
|
}
|
|
140
148
|
};
|
|
141
|
-
async function
|
|
149
|
+
async function createSyncClient(options) {
|
|
142
150
|
const cache = options.cache ?? new MemoryCache();
|
|
143
151
|
const data = await fetchSiteContent({ ...options, cache });
|
|
144
152
|
function getContent(query) {
|
|
@@ -196,26 +204,26 @@ async function createClient(options) {
|
|
|
196
204
|
};
|
|
197
205
|
}
|
|
198
206
|
function createAsyncClient(options) {
|
|
199
|
-
const { siteToken, env = "latest",
|
|
207
|
+
const { siteToken, env = "latest", resolveEnv, lang } = options;
|
|
200
208
|
const cache = options.cache ?? new MemoryCache();
|
|
201
209
|
let syncClient = null;
|
|
202
210
|
async function getContent(search2) {
|
|
203
211
|
if (!search2 && !syncClient) {
|
|
204
|
-
syncClient = await
|
|
212
|
+
syncClient = await createSyncClient({ siteToken, env, resolveEnv, lang, cache });
|
|
205
213
|
}
|
|
206
214
|
if (syncClient) return syncClient.getContent(search2);
|
|
207
215
|
if (!search2) return null;
|
|
208
|
-
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache,
|
|
216
|
+
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache, resolveEnv });
|
|
209
217
|
}
|
|
210
218
|
async function getPages(path) {
|
|
211
219
|
if (syncClient) return syncClient.getPages(path);
|
|
212
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
220
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
213
221
|
if (!path) return pages;
|
|
214
222
|
else return filterPagesByPath(pages, path);
|
|
215
223
|
}
|
|
216
224
|
async function getPage(path) {
|
|
217
225
|
if (syncClient) return syncClient.getPage(path);
|
|
218
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
226
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
219
227
|
const page = pages == null ? void 0 : pages.find((p) => {
|
|
220
228
|
const pth = typeof p._path === "string" ? p._path : "";
|
|
221
229
|
return pth === path;
|
|
@@ -225,21 +233,21 @@ function createAsyncClient(options) {
|
|
|
225
233
|
async function getEntry(handle) {
|
|
226
234
|
if (syncClient) return syncClient.getEntry(handle);
|
|
227
235
|
let search2 = `entries.${handle}`;
|
|
228
|
-
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache,
|
|
236
|
+
return await fetchSiteContent({ siteToken, env, search: search2, lang, cache, resolveEnv });
|
|
229
237
|
}
|
|
230
238
|
async function getSlugs(path) {
|
|
231
239
|
if (syncClient) return syncClient.getSlugs(path);
|
|
232
|
-
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache,
|
|
240
|
+
const pages = await fetchSiteContent({ siteToken, env, search: "pages", lang, cache, resolveEnv });
|
|
233
241
|
return extractSlugs(pages, path);
|
|
234
242
|
}
|
|
235
243
|
async function getImage(name) {
|
|
236
244
|
if (syncClient) return syncClient.getImage(name);
|
|
237
|
-
const images = await fetchSiteContent({ siteToken, env, search: "images", lang, cache,
|
|
245
|
+
const images = await fetchSiteContent({ siteToken, env, search: "images", lang, cache, resolveEnv });
|
|
238
246
|
return images ? images[name] : null;
|
|
239
247
|
}
|
|
240
248
|
async function getOptions(name) {
|
|
241
249
|
if (syncClient) return syncClient.getOptions(name);
|
|
242
|
-
const options2 = await fetchSiteContent({ siteToken, env, search: "options", lang, cache,
|
|
250
|
+
const options2 = await fetchSiteContent({ siteToken, env, search: "options", lang, cache, resolveEnv });
|
|
243
251
|
const optionSet = options2[name];
|
|
244
252
|
return Array.isArray(optionSet) ? optionSet : null;
|
|
245
253
|
}
|
|
@@ -264,5 +272,5 @@ function createAsyncClient(options) {
|
|
|
264
272
|
}
|
|
265
273
|
export {
|
|
266
274
|
createAsyncClient,
|
|
267
|
-
|
|
275
|
+
createSyncClient
|
|
268
276
|
};
|