|
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