|
1 | 1 | import { addCustomTab } from '@nuxt/devtools-kit'
|
2 | 2 | import type { Nuxt } from 'nuxt/schema'
|
| 3 | +import { stringifyTOML } from 'confbox' |
3 | 4 |
|
4 | 5 | export function generateWrangler(hub: { kv: boolean, database: boolean, blob: boolean, cache: boolean, analytics: boolean }) {
|
5 |
| - return [ |
6 |
| - hub.analytics |
7 |
| - ? [ |
8 |
| - 'analytics_engine_datasets = [', |
9 |
| - ' { binding = "ANALYTICS", dataset = "default" }', |
10 |
| - ']' |
11 |
| - ] |
12 |
| - : [], |
13 |
| - hub.blob |
14 |
| - ? [ |
15 |
| - 'r2_buckets = [', |
16 |
| - ' { binding = "BLOB", bucket_name = "default" }', |
17 |
| - ']' |
18 |
| - ] |
19 |
| - : [], |
20 |
| - hub.cache || hub.kv |
21 |
| - ? [ |
22 |
| - 'kv_namespaces = [', |
23 |
| - hub.kv ? ' { binding = "KV", id = "kv_default" },' : '', |
24 |
| - hub.cache ? ' { binding = "CACHE", id = "cache_default" },' : '', |
25 |
| - ']' |
26 |
| - ] |
27 |
| - : [], |
28 |
| - hub.database |
29 |
| - ? [ |
30 |
| - 'd1_databases = [', |
31 |
| - ' { binding = "DB", database_name = "default", database_id = "default" }', |
32 |
| - ']' |
33 |
| - ] |
34 |
| - : [] |
35 |
| - ].flat().join('\n') |
| 6 | + const wranger: { [key: string]: any } = {} |
| 7 | + |
| 8 | + if (hub.analytics) { |
| 9 | + wranger['analytics_engine_datasets'] = [{ |
| 10 | + binding: 'ANALYTICS', |
| 11 | + dataset: 'default' |
| 12 | + }] |
| 13 | + } |
| 14 | + |
| 15 | + if (hub.blob) { |
| 16 | + wranger['r2_buckets'] = [{ |
| 17 | + binding: 'BLOB', |
| 18 | + bucket_name: 'default' |
| 19 | + }] |
| 20 | + } |
| 21 | + |
| 22 | + if (hub.cache || hub.kv) { |
| 23 | + wranger['kv_namespaces'] = [] |
| 24 | + if (hub.kv) { |
| 25 | + wranger['kv_namespaces'].push({ |
| 26 | + binding: 'KV', |
| 27 | + id: 'kv_default' |
| 28 | + }) |
| 29 | + } |
| 30 | + if (hub.cache) { |
| 31 | + wranger['kv_namespaces'].push({ |
| 32 | + binding: 'CACHE', |
| 33 | + id: 'cache_default' |
| 34 | + }) |
| 35 | + } |
| 36 | + } |
| 37 | + |
| 38 | + if (hub.database) { |
| 39 | + wranger['d1_databases'] = [{ |
| 40 | + binding: 'DB', |
| 41 | + database_name: 'default', |
| 42 | + database_id: 'default' |
| 43 | + }] |
| 44 | + } |
| 45 | + |
| 46 | + return stringifyTOML(wranger) |
36 | 47 | }
|
37 | 48 |
|
38 | 49 | export function addDevtoolsCustomTabs(nuxt: Nuxt, hub: { kv: boolean, database: boolean, blob: boolean, cache: boolean, analytics: boolean }) {
|
|
0 commit comments