MCPcopy Create free account
hub / github.com/clockworklabs/SpacetimeDB / initSpacetime

Function initSpacetime

templates/keynote-2/src/init/init_spacetime.ts:5–69  ·  view source on GitHub ↗
(config: SpacetimeInitConfig)

Source from the content-addressed store, hash-verified

3import type { SpacetimeInitConfig } from '../config.ts';
4
5export async function initSpacetime(config: SpacetimeInitConfig) {
6 const useMaincloud = process.env.STDB_MAINCLOUD === '1';
7 const server = useMaincloud
8 ? 'maincloud'
9 : process.env.STDB_SERVER || 'local';
10
11 const { accounts, initialBalance, stdbModule: dbName, stdbModulePath: modulePath } =
12 config;
13
14 if (!dbName || !modulePath) {
15 console.log('[spacetimedb] missing STDB_MODULE/STDB_MODULE_PATH; skipping');
16 return;
17 }
18
19 // 1) Publish
20 console.log(
21 `[spacetimedb] publish "${dbName}" from ${modulePath} (server=${server})`,
22 );
23 try {
24 await sh('spacetime', [
25 'publish',
26 '-c',
27 '-y',
28 '--server',
29 server,
30 '--module-path',
31 modulePath,
32 dbName,
33 ]);
34 } catch (e: any) {
35 console.warn('[spacetimedb] publish likely already done:', e.message);
36 }
37
38 // 2) Generate TS bindings
39 const outDir = join(process.cwd(), 'module_bindings');
40 console.log(`[spacetimedb] generate bindings → ${outDir}`);
41 await sh('spacetime', [
42 'generate',
43 '--lang',
44 'typescript',
45 '--out-dir',
46 outDir,
47 '--module-path',
48 modulePath,
49 '-y',
50 ]);
51
52 // 3) Seed
53 console.log(
54 `[spacetimedb] seed: n=${accounts} bal=${initialBalance}`,
55 );
56 try {
57 await sh('spacetime', [
58 'call',
59 '--server',
60 server,
61 dbName,
62 'seed',

Callers 1

mainFunction · 0.90

Calls 4

shFunction · 0.90
StringClass · 0.85
logMethod · 0.80
warnMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…