Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
370 lines (370 loc) · 28.5 KB
/
Copy pathpackage.json
File metadata and controls
370 lines (370 loc) · 28.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
{
"name": "spacewave",
"description": "spacewave application and monorepo",
"version": "0.0.0-dev",
"private": true,
"workspaces": [
"app/frontmatter/mapper"
],
"browserslist": [
"defaults and fully supports es6-module"
],
"author": {
"name": "Aperture Robotics LLC.",
"email": "support@aperture.us",
"url": "http://aperture.us"
},
"contributors": [
{
"name": "Christian Stewart",
"email": "christian@aperture.us",
"url": "http://github.com/paralin"
}
],
"repository": {
"url": "git+ssh://git@github.com/s4wave/spacewave.git"
},
"type": "module",
"aptre": {
"languages": [
"go",
"ts"
],
"tsImportBoundaries": [
"auth",
"bldr",
"db",
"forge",
"identity",
"net"
]
},
"scripts": {
"build:sync": "go run ./scripts/sync-library",
"qualify:sync": "bun run scripts/sync-library/qualify.ts",
"pack:sync": "npm pack --ignore-scripts ./packages/spacewave --pack-destination .tmp/sync-library",
"check": "bun run typecheck && bun run lint",
"fecheck": "bun scripts/fecheck.js",
"clean": "rimraf ./dist ./.bldr/{devtool.db*,logs,src,plugin,build,cli,cache} ./.bldr-dist ./.tools ./bin ./bldr/bin",
"clean:full": "bun run clean && rimraf ./.bldr ./.tmp",
"go:run": "cross-env GOOS= GOARCH= go run -v -mod=readonly",
"go:aptre": "cross-env GOFLAGS=-mod=mod -tags=purego go run -mod=mod github.com/aperturerobotics/common/cmd/aptre",
"start": "bun run start:web",
"start:desktop": "bun run bldr -- start desktop",
"start:desktop:release": "bun run build:release:desktop && cd ./.bldr/build/desktop/$(go env GOOS)/$(go env GOARCH)/spacewave-dist/dist && ./spacewave",
"start:web": "bun run bldr -- --minify-entrypoint=false start web",
"start:web:wasm": "bun run bldr -- --log-level debug --minify-entrypoint=false start web --wasm",
"start:web:goscript": "bun run bldr -- --log-level debug --minify-entrypoint=false start web --goscript",
"start:web:wasm:browser": "bun scripts/start-web-wasm-browser.js",
"start:web:goscript:browser": "cross-env SPACEWAVE_WEB_START_SCRIPT=start:web:goscript SPACEWAVE_WEB_BROWSER_PROFILE=playwright-goscript bun scripts/start-web-wasm-browser.js",
"start:web:release": "bun run build:release:web && bun run bldr -- static --path ./.bldr-dist/build/js/spacewave-browser/dist",
"start:web:release:debug": "bun run build:release:web:debug && bun run bldr -- static --path ./.bldr-dist/build/js/spacewave-browser/dist",
"bldr": "bun scripts/bldr.ts",
"build": "bun run bldr -- --build-type=debug build -b app",
"build:cli": "bun run go:run -- github.com/s4wave/spacewave/bldr/cmd/bldr start cli spacewave -- --help > /dev/null 2>&1 && mkdir -p bin && cp .bldr/cli/spacewave/dist/spacewave bin/spacewave && rm -f bin/spacewave-cli && bun run cmd/spacewave/sync.ts",
"cli:local": "bash -c 'if test -x ./bin/spacewave; then echo \"cli:local: using ./bin/spacewave\"; else echo \"cli:local: ./bin/spacewave missing; running bun run build:cli\"; bun run build:cli; fi; exec ./bin/spacewave --state-path ./.spacewave \"$@\"' --",
"build:web": "bun run bldr -- --build-type=debug build -b web",
"build:release:desktop": "bun run bldr -- --build-type=release build -b release-desktop-darwin-arm64",
"build:release:desktop:debug": "bun run bldr -- --build-type=debug build -b release-desktop-darwin-arm64",
"build:release:web": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web",
"build:release:web:e2e": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e",
"build:release:web:e2e:ci": "bun run build:release:web:e2e:ci:assets && bun run build:release:web:e2e:ci:dist",
"build:release:web:e2e:ci:assets": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e-assets",
"build:release:web:e2e:ci:dist": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e-dist",
"build:release:web:e2e:tinygo": "bun run build:release:web:e2e:tinygo:core && bun run build:release:web:e2e:tinygo:assets && bun run build:release:web:e2e:tinygo:dist",
"build:release:web:e2e:tinygo:core": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e-tinygo-core",
"build:release:web:e2e:tinygo:assets": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e-tinygo-assets",
"build:release:web:e2e:tinygo:dist": "bun run build:release:web:e2e:ci:dist",
"build:release:web:e2e:goscript": "bun run bldr -- --state-path=.bldr-dist --build-type=release build -b release-web-e2e-goscript",
"build:release:web:debug": "bun run bldr -- --state-path=.bldr-dist --build-type=debug build -b release-web",
"build:net": "tsrs --project tsconfig.net.json --noEmit false --outDir ./dist/",
"licenses": "bun scripts/license-gen.ts",
"licenses:go": "bun scripts/license-gen.ts --go",
"licenses:js": "bun scripts/license-gen.ts --js",
"codegen": "bun run gen",
"diagnostic:react": "bun cmd/react-diagnostic-run.ts",
"diagnostic:react:full-audit": "bun cmd/react-diagnostic-run.ts --full-audit",
"design:lint": "design.md lint DESIGN.md",
"trace:quickstart:baseline": "bun scripts/tracetool-quickstart-baseline.ts",
"benchmark:goscript-storage": "bun scripts/goscript-storage-benchmark.ts",
"shadcn:add": "bunx shadcn add",
"gen:rolldown-runner": "bun build bldr/web/bundler/rolldown/run-build.ts --target=bun --format=esm --outfile=bldr/web/bundler/rolldown/run-build.mjs --banner='// Code generated by bun run gen; DO NOT EDIT.'",
"gen:docs-code": "bun scripts/docs-code-gen.ts",
"gen:quickjs": "go generate ./bldr/plugin/host/wazero-quickjs",
"gen:resource:python": "bun run go:aptre -- generate --targets=bldr/resource/resource.proto --language=python --rpc=starpc-python --cache-file=.protoc-python-resource-manifest.json",
"gen:session-journey:python": "bun run go:aptre -- generate --targets=core/account/settings/settings.proto --targets=core/pairing/pairing.proto --targets=core/changelog/changelog.proto --targets=core/provider/provider.proto --targets=core/provider/transfer/transfer.proto --targets=core/session/session.proto --targets=core/sobject/sobject.proto --targets=core/space/space.proto --targets=db/block/store/s3/s3.proto --targets=db/block/transform/transform.proto --targets=net/hash/hash.proto --targets=net/peer/peer.proto --targets=sdk/command/command.proto --targets=sdk/root/root.proto --targets=sdk/secret/secret.proto --targets=sdk/session/session.proto --language=python --rpc=starpc-python --cache-file=.protoc-python-session-journey-manifest.json",
"gen": "bun run go:aptre -- generate && bun run gen:web-plugin:cpp && bun run gen:web-plugin:rust && bun run gen:web-plugin:python && bun run gen:resource:python && bun run gen:session-journey:python && bun scripts/postprocess-generated.ts && bun run gen:rolldown-runner && bun run gen:quickjs && bun run gen:docs-code",
"gen:web-plugin:cpp": "bun run go:aptre -- generate --targets=bldr/web/plugin/plugin.proto --language=cpp --rpc=starpc --cache-file=.protoc-cpp-web-plugin-manifest.json",
"gen:web-plugin:rust": "bun run go:aptre -- generate --targets=bldr/web/plugin/plugin.proto --language=rust --rpc=starpc --cache-file=.protoc-rust-web-plugin-manifest.json",
"gen:web-plugin:python": "bun run go:aptre -- generate --targets=bldr/web/plugin/plugin.proto --targets=bldr/web/view/handler/handler.proto --targets=bldr/web/view/view.proto --targets=bldr/frontend/frontend.proto --targets=bldr/web/fetch/fetch.proto --language=python --rpc=starpc-python --cache-file=.protoc-python-web-plugin-manifest.json",
"gen:force": "bun run go:aptre -- generate --force && bun run gen:web-plugin:cpp -- --force && bun run gen:web-plugin:rust -- --force && bun run gen:web-plugin:python -- --force && bun run gen:resource:python -- --force && bun run gen:session-journey:python -- --force && bun scripts/postprocess-generated.ts && bun run gen:rolldown-runner && bun run gen:quickjs && bun run gen:docs-code",
"test": "bun run test:js && bun run test:browser && bun run test:go",
"test:help": "echo 'Use: bun run test (not bun test, which runs bun built-in test runner)'",
"testcheck": "bun scripts/testcheck.js",
"test:js": "bun run test:js:alpha && bun run test:js:auth && bun run test:js:db && bun run test:js:forge && bun run test:js:identity && bun run test:js:net && bun run bldr:test:js",
"test:js:alpha": "bun scripts/test-js.js",
"test:go": "go test -tags skip_e2e -timeout=30s -v ./...",
"lean": "cd lean && lake build",
"test:lean": "bun run lean && cross-env SPACEWAVE_LEAN_ORACLE=\"$PWD/lean/.lake/build/bin/oracle\" go test -count=1 -timeout=120s -run Lean ./core/sobject/ ./core/sobject/sync/",
"test:go:e2e": "bun run test:go:e2e:cli && bun run test:go:e2e:wasm && bun run test:go:e2e:bldr-comms && bun run test:go:e2e:core && bun run test:go:e2e:browser && bun run test:go:e2e:trace",
"test:go:e2e:cli": "cross-env SPACEWAVE_CLI_TESTSCRIPT=true go test -count=1 -timeout=10m -v ./cmd/spacewave/e2e",
"test:go:e2e:wasm": "cross-env ENABLE_E2E_WASM=true go test -count=1 -timeout=30m -v ./e2e/wasm",
"test:go:e2e:wasm:tinygo": "cross-env ENABLE_E2E_WASM=true E2E_WASM_COMPILER=tinygo E2E_WASM_MANIFEST_BUILD_TIMEOUT=45m go test -count=1 -timeout=60m -v ./e2e/wasm",
"test:go:e2e:wasm:tinygo:drive-split-tab": "cross-env ENABLE_E2E_WASM=true E2E_WASM_COMPILER=tinygo E2E_WASM_MANIFEST_BUILD_TIMEOUT=45m go test -count=1 -timeout=60m -v ./e2e/wasm -run TestQuickstartDriveSplitTabNavigation$",
"test:go:e2e:wasm:goscript": "cross-env ENABLE_E2E_WASM=true E2E_WASM_COMPILER=goscript E2E_WASM_MANIFEST_BUILD_TIMEOUT=45m go test -count=1 -timeout=60m -v ./e2e/wasm",
"test:go:e2e:wasm:goscript:smoke": "cross-env ENABLE_E2E_WASM=true E2E_WASM_COMPILER=goscript E2E_WASM_MANIFEST_BUILD_TIMEOUT=45m go test -count=1 -timeout=60m -v ./e2e/wasm -run '^TestWasmHarnessBoot$'",
"test:go:e2e:wasm:slice-coverage": "go test -count=1 -timeout=30s -v ./e2e/wasm/slicecoverage",
"test:go:e2e:bldr-comms": "cross-env RUN_NO_COI_E2E=1 go test -timeout=30m -v ./bldr/e2e/comms",
"test:go:e2e:bldr-opfs:webkit": "go test -count=1 -timeout=10m -v ./bldr/e2e/comms -run '^TestGoScriptOpfsStorage/webkit$'",
"test:go:e2e:bldr-downstreamapp": "cross-env RUN_DOWNSTREAM_APP_E2E=1 go test -count=1 -timeout=10m -v ./bldr/e2e/downstreamapp",
"test:go:e2e:core": "cross-env RUN_CORE_E2E=1 go test -timeout=30m -v ./core/e2e/... -run TestSpacewaveCoreE2E",
"test:go:e2e:browser": "cross-env RUN_BROWSER_E2E=1 go test -timeout=30m -v ./core/e2e/browser/... -run TestBrowserE2EWithBldr",
"test:go:e2e:electron": "cross-env ENABLE_E2E_ELECTRON=true go test -count=1 -timeout=30m -v ./e2e/electron",
"test:go:e2e:installed-app": "cross-env ENABLE_E2E_INSTALLED_APP=true go test -count=1 -timeout=10m -v ./e2e/installedapp",
"test:go:e2e:release-wasm": "cross-env ENABLE_E2E_RELEASE_WASM=true go test -count=1 -timeout=30m -v ./e2e/releasewasm",
"test:go:e2e:release-wasm:tinygo": "cross-env ENABLE_E2E_RELEASE_WASM=true E2E_RELEASE_WASM_TINYGO=true go test -count=1 -timeout=30m -v ./e2e/releasewasm",
"test:go:e2e:release-wasm:goscript": "cross-env ENABLE_E2E_RELEASE_WASM=true E2E_RELEASE_WASM_GOSCRIPT=true go test -count=1 -timeout=30m -v ./e2e/releasewasm",
"test:go:e2e:nightly": "bun run test:go:e2e:electron && bun run test:go:e2e:release-wasm",
"test:go:e2e:trace": "cross-env RUN_TRACE_E2E=1 go test -timeout=30m -v ./core/trace/service -run 'TestTraceServiceDiscovery|TestTraceServiceAllPlugins'",
"test:go:goscript": "go test -tags goscript ./net/crypto/tls && go test ./bldr/util/gocompiler ./bldr/plugin/compiler/go && cross-env GOMEMLIMIT=12GiB go tool github.com/s4wave/goscript/cmd/goscript test --dir . --timeout 10m -p 1 --tags skip_e2e,purego,goscript ./core/resource/root/controller ./core/resource/listener ./core/session/controller ./core/provider/local ./core/provider/spacewave ./core/space/sobject ./core/sobject/world/engine ./core/space/world/optypes ./core/plugin/space ./core/space/http/download ./core/space/http/export ./core/space/world/blocktype ./bldr/manifest github.com/s4wave/spacewave/db/object/peer",
"format": "bun run format:js && bun run format:go && bun run format:config",
"format:js": "oxfmt './{app,web,core,sdk,net}/**/*.{ts,tsx,js,html,css,scss}' && bun run format:config",
"format:go": "bun run go:aptre -- format && cross-env GOFLAGS=-mod=mod -tags=purego go fix -embedlit=false ./...",
"format:config": "oxfmt '*.json' '!.protoc-manifest.json' '!.protoc-python-resource-manifest.json' '!.protoc-python-session-journey-manifest.json' '.github/**/*.json' '.github/**/*.yml' '.oxfmtrc.json' '.golangci.yml' 'tsconfig.json' 'tsconfig.net.json'",
"vitecheck": "vite build --outDir vite-check",
"typecheck": "tsrs --noEmit -p tsconfig.json --runExternalCode",
"lint": "bun run lint:js && bun run lint:go",
"lint:go": "bun run lint:go:auth && bun run lint:go:db && bun run lint:go:e2e && bun run lint:go:forge && bun run lint:go:identity && bun run lint:go:net",
"lint:js": "oxlint .",
"lint:js:fix": "bun run lint:js -- --fix",
"precommit": "bun run typecheck && bun run lint:js && go build -v ./...",
"setup": "bun run bldr -- setup",
"prepare": "bun scripts/prepare.ts",
"test:browser": "go test -v -timeout=30m ./core/e2e/browser/... -run TestBrowserE2EWithBldr",
"test:browser:ui": "cross-env BROWSER_TEST_UI=1 bun run test:browser",
"test:browser:watch": "cross-env BROWSER_TEST_WATCH=1 bun run test:browser",
"test:release:web": "bun run test:go:e2e:release-wasm",
"test:release:web:startup": "cross-env ENABLE_E2E_RELEASE_WASM=true E2E_RELEASE_WASM_LOCAL_CDN=1 E2E_RELEASE_WASM_GOSCRIPT=true E2E_RELEASE_WASM_BROWSER=chromium go test -count=1 -timeout=20m -v ./e2e/releasewasm -run '^TestLocalCDNDriveStartup$'",
"test:release:web:reopen": "cross-env ENABLE_E2E_RELEASE_WASM=true E2E_RELEASE_WASM_LOCAL_CDN=1 E2E_RELEASE_WASM_GOSCRIPT=true go test -count=1 -timeout=20m -v ./e2e/releasewasm -run '^TestLocalCDNCanvasReopen$'",
"test:function:browsers": "vitest --config=sdk/function/run/vitest.browsers.config.ts --run",
"test:browser:nobackend": "vitest --config=vitest.browser.config.ts --run",
"test:browser:nobackend:watch": "vitest --config=vitest.browser.config.ts",
"test:browser:nobackend:ui": "cross-env BROWSER_TEST_UI=1 vitest --config=vitest.browser.config.ts --ui",
"prerender:dev": "vite --config app/prerender/vite.config.ts",
"bldr:check": "bun run bldr:typecheck && bun run bldr:lint",
"bldr:clean": "rimraf ./.bldr/build ./.bldr/plugin ./.bldr/devtool.db* ./.bldr/cache ./.bldr-dist ./bldr/bin",
"bldr:clean:full": "bun run bldr:clean && rimraf ./.bldr",
"bldr:go:run": "cross-env GOOS= GOARCH= go run -v -mod=readonly",
"bldr:bldr": "bun run bldr:go:run -- github.com/s4wave/spacewave/bldr/cmd/bldr --config=./bldr/bldr.yaml --bldr-src-path=../..",
"bldr:build": "bun run bldr:bldr -- --build-type=debug build -b desktop",
"bldr:build:cli": "bun run bldr:bldr -- start cli bldr-demo-cli -- --help > /dev/null 2>&1 && mkdir -p ./bldr/bin && cp ./.bldr/cli/bldr-demo-cli/dist/bldr-demo-cli ./bldr/bin/bldr-demo-cli",
"bldr:build:web": "bun run bldr:bldr -- --build-type=debug build -b web",
"bldr:build:release": "bun run bldr:bldr -- --build-type=release build -b release",
"bldr:build:release:web": "bun run bldr:bldr -- --state-path=./.bldr-dist --build-type=release build -b release-web",
"bldr:build:release:web:debug": "bun run bldr:bldr -- --state-path=./.bldr-dist --build-type=debug build -b release-web",
"bldr:build:release:cross": "bun run bldr:bldr -- --build-type=release build -b release-cross",
"bldr:build:release:debug": "bun run bldr:bldr -- --build-type=debug build -b release",
"bldr:codegen": "bun run bldr:gen",
"bldr:dist": "bun run bldr:build:release:web && bun run bldr:publish:release",
"bldr:format": "bun run bldr:format:js && bun run bldr:format:go && bun run bldr:format:config",
"bldr:format:config": "oxfmt '*.json' '.github/**/*.json' '.oxfmtrc.json' 'tsconfig.json' 'tsconfig.net.json'",
"bldr:format:go": "bun run go:aptre -- format ./bldr/... && go fix -embedlit=false ./bldr/...",
"bldr:format:js": "bun run bldr:format:js:changed",
"bldr:format:js:changed": "git diff --name-only --diff-filter=d HEAD | grep '^bldr/.*\\(\\.ts\\|\\.tsx\\|\\.html\\|\\.css\\|\\.scss\\)$' | xargs -I {} oxfmt {}",
"bldr:format:js:all": "oxfmt './bldr/**/*.{ts,tsx,html,css,scss}'",
"bldr:gen": "bun run bldr:gen:proto && bun run bldr:gen:deps && bun run bldr:gen:go",
"bldr:gen:force": "bun run bldr:gen:proto:force && bun run bldr:gen:deps && bun run bldr:gen:go",
"bldr:gen:proto": "bun run go:aptre -- generate && bun scripts/postprocess-generated.ts",
"bldr:gen:proto:force": "bun run go:aptre -- generate --force && bun scripts/postprocess-generated.ts",
"bldr:gen:deps": "bun -e \"const pkg = require('./package.json'); const distPkg = require('./bldr/dist/deps/package.json'); Object.entries(pkg.dependencies || {}).forEach(([name, version]) => { if (distPkg.dependencies[name]) { distPkg.dependencies[name] = version; } }); Object.entries(pkg.overrides || {}).forEach(([name, version]) => { if (distPkg.overrides?.[name]) { distPkg.overrides[name] = version; } }); require('fs').writeFileSync('./bldr/dist/deps/package.json', JSON.stringify(distPkg, null, 2) + '\\n');\" && cd ./bldr/dist/deps && bun i",
"bldr:gen:go": "go generate ./bldr/...",
"bldr:lint": "bun run bldr:lint:go && bun run bldr:lint:js",
"lint:go:alpha": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./cmd/... ./core/... ./plugin/... ./sdk/...}",
"lint:go:auth": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./auth/...}",
"bldr:lint:go": "bun run go:aptre -- lint ./bldr/...",
"lint:js:oxlint:type-aware": "oxlint -c .oxlintrc.type-aware.json --type-aware ./app ./web ./core ./sdk ./cmd",
"check:go:startup-trace": "cross-env GOFLAGS=-mod=mod go build -tags bldr_startup_trace,purego ./bldr/... ./db/...",
"lint:go:db": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./db/... ./runtimeenv/...}",
"lint:go:e2e": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./e2e/...}",
"lint:go:forge": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./forge/...}",
"lint:go:identity": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./identity/...}",
"lint:go:net": "bun run go:aptre -- lint ${GO_LINT_PACKAGES:-./net/...}",
"lint:js:alpha": "oxlint ./app ./web ./core ./sdk ./plugin ./cmd",
"lint:js:auth": "echo No JS sources in auth.",
"bldr:lint:js": "oxlint ./bldr",
"lint:js:db": "oxlint ./db",
"lint:js:forge": "oxlint ./forge/lib/v86/bun",
"lint:js:identity": "echo No JS sources in identity.",
"lint:js:net": "oxlint ./net",
"bldr:publish:release": "bun run bldr:bldr -- --build-type=release publish -p demo-dist",
"bldr:precommit": "bun run bldr:format",
"bldr:prepare": "bun run bldr:clean && rimraf ./.tools && bun run bldr:vendor && bun run setup",
"bldr:serve": "bun run bldr:start:web",
"bldr:start": "bun run bldr:start:web",
"bldr:start:cli": "bun run bldr:bldr -- start cli bldr-demo-cli --",
"bldr:start:desktop": "bun run bldr:bldr -- start --plugins web desktop",
"bldr:start:desktop:release": "bun run bldr:build:release && cd ./.bldr/build/desktop/$(go env GOOS)/$(go env GOARCH)/bldr-demo-release/dist && ./bldr-demo",
"bldr:start:web": "bun run bldr:bldr -- --minify-entrypoint=false start --plugins web web",
"bldr:start:web:wasm": "bun run bldr:bldr -- --log-level debug --minify-entrypoint=false start web --wasm",
"bldr:start:web:goscript": "bun run bldr:bldr -- --log-level debug --minify-entrypoint=false start web --goscript",
"bldr:start:web:wasm:browser": "node bldr/scripts/start-web-wasm-browser.js",
"bldr:start:web:release": "bun run bldr:build:release:web && bun run bldr:bldr -- static --path ./.bldr-dist/build/web/js/wasm/bldr-demo-release/dist",
"bldr:start:web:release:debug": "bun run bldr:build:release:web:debug && bun run bldr:bldr -- static --path ./.bldr-dist/build/web/js/wasm/bldr-demo-release/dist",
"bldr:test": "bun run bldr:test:js && bun run bldr:test:go",
"test:go:alpha": "packages=$(go list ${GO_PACKAGES:-./cmd/... ./core/... ./plugin/... ./sdk/...} | grep -Ev '^(github.com/s4wave/spacewave/core/e2e($|/)|github.com/s4wave/spacewave/core/resource/space$|github.com/s4wave/spacewave/core/resource/testbed$|github.com/s4wave/spacewave/core/trace/service$)'); test -z \"$packages\" || cross-env GOFLAGS=-mod=mod go test -tags skip_e2e,purego $packages",
"test:go:auth": "bun run go:aptre -- test ${GO_PACKAGES:-./auth/...}",
"test:go:bldr": "cross-env GOFLAGS=-mod=mod go test -timeout=600s -p 4 -tags skip_e2e,purego ${GO_PACKAGES:-./bldr/...}",
"test:go:db": "cross-env GOFLAGS=\"-mod=mod -tags=purego\" go test -p=1 ${GO_PACKAGES:-./db/... ./runtimeenv/...}",
"test:go:db:opfs:chrome": "cross-env RUN_OPFS_CHROME_TEST=1 go test -count=1 -timeout=10m -v ./db/opfs/chrometest",
"test:go:db:opfs:chrome:smoke": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke go test -count=1 -timeout=10m -v ./db/opfs/chrometest",
"test:go:db:opfs:chrome:stress": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=stress go test -count=1 -timeout=10m -v ./db/opfs/chrometest",
"test:go:db:opfs:chrome:tinygo": "bun run test:go:db:opfs:chrome:tinygo:target-default",
"test:go:db:opfs:chrome:tinygo:smoke": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke RUN_OPFS_CHROME_TINYGO=1 RUN_OPFS_CHROME_TINYGO_PROFILE=target-default RUN_OPFS_CHROME_TINYGO_OPT=1 RUN_OPFS_CHROME_TINYGO_STACK_SIZE=256KB go test -count=1 -timeout=10m -v ./db/opfs/chrometest -run TestOpfsChromeTinyGoResourceEchoLoop$",
"test:go:db:opfs:chrome:tinygo:target-default": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke RUN_OPFS_CHROME_TINYGO=1 RUN_OPFS_CHROME_TINYGO_PROFILE=target-default RUN_OPFS_CHROME_TINYGO_OPT=1 RUN_OPFS_CHROME_TINYGO_STACK_SIZE=256KB RUN_OPFS_CHROME_RESOURCE_READ_CHUNK=262144 go test -count=1 -timeout=20m -v ./db/opfs/chrometest -run TestOpfsChromeTinyGoWorldResourceLargeUnixFSUpload$",
"test:go:db:opfs:chrome:tinygo:bldr-features": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke RUN_OPFS_CHROME_TINYGO=1 RUN_OPFS_CHROME_TINYGO_PROFILE=bldr-features RUN_OPFS_CHROME_TINYGO_OPT=1 RUN_OPFS_CHROME_TINYGO_STACK_SIZE=256KB RUN_OPFS_CHROME_RESOURCE_READ_CHUNK=262144 go test -count=1 -timeout=20m -v ./db/opfs/chrometest -run TestOpfsChromeTinyGoWorldResourceLargeUnixFSUpload$",
"test:go:db:opfs:chrome:tinygo:precise-gc": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke RUN_OPFS_CHROME_TINYGO=1 RUN_OPFS_CHROME_TINYGO_PROFILE=bldr-features RUN_OPFS_CHROME_TINYGO_OPT=1 RUN_OPFS_CHROME_TINYGO_GC=precise RUN_OPFS_CHROME_TINYGO_STACK_SIZE=256KB RUN_OPFS_CHROME_RESOURCE_READ_CHUNK=262144 go test -count=1 -timeout=20m -v ./db/opfs/chrometest -run TestOpfsChromeTinyGoWorldResourceLargeUnixFSUpload$",
"test:go:db:opfs:chrome:tinygo:conservative-gc": "cross-env RUN_OPFS_CHROME_TEST=1 RUN_OPFS_CHROME_PROFILE=smoke RUN_OPFS_CHROME_TINYGO=1 RUN_OPFS_CHROME_TINYGO_PROFILE=bldr-features RUN_OPFS_CHROME_TINYGO_OPT=1 RUN_OPFS_CHROME_TINYGO_GC=conservative RUN_OPFS_CHROME_TINYGO_STACK_SIZE=256KB RUN_OPFS_CHROME_RESOURCE_READ_CHUNK=262144 go test -count=1 -timeout=20m -v ./db/opfs/chrometest -run TestOpfsChromeTinyGoWorldResourceLargeUnixFSUpload$",
"test:go:forge": "bun run go:aptre -- test ${GO_PACKAGES:-./forge/...}",
"test:go:identity": "bun run go:aptre -- test ${GO_PACKAGES:-./identity/...}",
"test:go:js": "bun scripts/test-go-js.ts",
"test:go:net": "bun run go:aptre -- test ${GO_PACKAGES:-./net/...}",
"bldr:test:e2e": "bunx playwright test --config bldr/e2e/playwright.config.ts",
"bldr:test:e2e:headed": "bunx playwright test --config bldr/e2e/playwright.config.ts --headed",
"bldr:test:e2e:ui": "bunx playwright test --config bldr/e2e/playwright.config.ts --ui",
"test:js:auth": "echo No JS tests in auth.",
"test:js:db": "bun test ./db/**/*.test.ts",
"test:js:forge": "vitest run ./forge/lib/v86/bun/boot.test.ts",
"test:js:identity": "echo No JS tests in identity.",
"test:js:net": "echo No JS tests in net.",
"bldr:test:go": "bun run go:aptre -- test ./bldr/...",
"bldr:test:js": "vitest run --config bldr/vitest.config.ts && bun run bldr:typecheck",
"bldr:test:release:web": "bun run bldr:build:release:web && cross-env PLAYWRIGHT_WEB_PORT=30771 PLAYWRIGHT_RELEASE_DIST_PATH=.bldr-dist/build/web/js/wasm/bldr-demo-release/dist playwright test --config bldr/web/entrypoint/browser/playwright.config.ts",
"bldr:typecheck": "tsrs --noEmit -p tsconfig.json --runExternalCode",
"bldr:vendor": "go mod vendor"
},
"devDependencies": {
"@aptre/common": "0.36.5",
"@google/design.md": "^0.4.0",
"@playwright/test": "^1.62.1",
"@reylosql/mysql": "0.5.0",
"@s4wave/frontmatter-mapper": "workspace:*",
"@shadcn/lint": "0.2.3",
"@tailwindcss/vite": "^4.3.3",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.3",
"@types/bun": "^1.3.14",
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"@types/three": "0.186.0",
"@vitejs/plugin-react": "^6.0.5",
"@vitest/browser-playwright": "^5.0.0",
"@vitest/ui": "^5.0.0",
"class-variance-authority": "^0.7.1",
"cross-env": "^10.1.0",
"happy-dom": "^21.0.0",
"oxc-parser": "^0.155.0",
"oxfmt": "0.74.0",
"oxlint": "1.89.0",
"oxlint-plugin-react-doctor": "0.9.18",
"oxlint-tsgolint": "^7.0.0",
"playwright": "^1.62.1",
"react-doctor": "^0.9.5",
"reylo": "0.5.0",
"rimraf": "^6.1.3",
"tailwindcss": "^4.3.3",
"tailwindcss-animate": "^1.0.7",
"tsrs": "0.18.0-ts7.1.0-dev.20260929",
"typescript": "7.0.2",
"vite": "^8.2.0",
"vitest": "^5.0.0",
"vitest-browser-react": "^2.2.0"
},
"dependencies": {
"@aptre/flex-layout": "^0.6.4",
"@aptre/it-ws": "^1.1.2",
"@aptre/pragmasevka": "^1.0.5",
"@aptre/protobuf-es-lite": "1.2.4",
"@aptre/v86": "^0.6.10",
"@fontsource-variable/manrope": "^5.3.0",
"@fontsource/commit-mono": "^5.3.0",
"@lexical/code": "^0.52.0",
"@lexical/code-shiki": "0.52.0",
"@lexical/link": "^0.52.0",
"@lexical/list": "^0.52.0",
"@lexical/markdown": "^0.52.0",
"@lexical/react": "^0.52.0",
"@lexical/rich-text": "^0.52.0",
"@lexical/selection": "^0.52.0",
"@lexical/table": "^0.52.0",
"@lexical/utils": "^0.52.0",
"@noble/ciphers": "2.4.0",
"@noble/hashes": "2.4.0",
"@pierre/diffs": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.20",
"@radix-ui/react-dialog": "^1.1.23",
"@radix-ui/react-dropdown-menu": "^2.1.24",
"@radix-ui/react-label": "^2.1.15",
"@radix-ui/react-menubar": "^1.1.24",
"@radix-ui/react-popover": "^1.1.23",
"@radix-ui/react-progress": "^1.1.16",
"@radix-ui/react-separator": "^1.1.15",
"@radix-ui/react-slider": "^1.4.7",
"@radix-ui/react-slot": "^1.3.3",
"@radix-ui/react-tabs": "^1.1.21",
"@radix-ui/react-tooltip": "^1.2.16",
"@shikijs/core": "^4.4.3",
"@shikijs/engine-javascript": "^4.4.3",
"@shikijs/transformers": "^4.4.3",
"@simplewebauthn/browser": "^14.0.0",
"@sqlite.org/sqlite-wasm": "^3.53.0-build1",
"@standard-schema/spec": "1.1.0",
"@types/qrcode": "^1.5.6",
"@uidotdev/usehooks": "^2.4.1",
"@use-gesture/react": "^10.3.1",
"@videojs/react": "10.2.0",
"@xterm/addon-fit": "^0.11.0",
"@xterm/xterm": "^6.0.0",
"cmdk": "^1.1.1",
"cnfast": "0.2.0",
"date-fns": "^4.4.0",
"deepmerge": "^4.3.1",
"electron": "^45.0.0",
"gray-matter": "^4.0.3",
"html5-qrcode": "^2.3.8",
"it-pipe": "^3.0.1",
"lexical": "^0.52.0",
"markdown-to-jsx": "^9.10.2",
"orga": "4.7.1",
"pako": "3.0.2",
"qrcode": "^1.5.4",
"quickjs-wasi-reactor": "0.17.0-rev.1",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"react-icons": "^5.7.0",
"react-pdf": "^11.0.0",
"react-photo-view": "^1.2.7",
"react-window": "^2.3.0",
"shiki": "^4.4.3",
"sonner": "^2.0.7",
"starpc": "0.52.3",
"superjson": "^2.2.6",
"three": "0.186.1",
"uint8arraylist": "^3.0.2",
"ulid": "^3.0.2",
"workbox-window": "^7.4.1",
"ws": "^8.20.0",
"yaml": "^2.9.0",
"zod": "4.6.7"
},
"resolutions": {
"@aptre/protobuf-es-lite": "1.2.4",
"quickjs-wasi-reactor": "0.17.0-rev.1"
},
"overrides": {
"@aptre/protobuf-es-lite": "1.2.4",
"quickjs-wasi-reactor": "0.17.0-rev.1"
},
"patchedDependencies": {
"orga@4.7.1": "patches/orga@4.7.1.patch"
}
}