@ray-js/robot-map-sdk 0.0.9 → 0.0.11
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/bin/docs-server.js +195 -0
- package/dist/index.d.ts +355 -3818
- package/dist-docs/404.html +3 -3
- package/dist-docs/assets/{app.BJnAJzet.js → app.3-ianRvb.js} +1 -1
- package/dist-docs/assets/chunks/@localSearchIndexroot.l5uunL9n.js +1 -0
- package/dist-docs/assets/chunks/BitmapFont.C8awBCd1.js +4 -0
- package/dist-docs/assets/chunks/BufferResource.C5TLxka4.js +155 -0
- package/dist-docs/assets/chunks/CanvasRenderer.DyglCOE2.js +1 -0
- package/dist-docs/assets/chunks/RenderTargetSystem._cMCUdmu.js +172 -0
- package/dist-docs/assets/chunks/{VPLocalSearchBox.D9iYIKMO.js → VPLocalSearchBox.DYzATQt_.js} +2 -2
- package/dist-docs/assets/chunks/WebGLRenderer.C_pauwH4.js +156 -0
- package/dist-docs/assets/chunks/WebGPURenderer.DuRPdsh5.js +41 -0
- package/dist-docs/assets/chunks/browserAll.BebatlLr.js +14 -0
- package/dist-docs/assets/chunks/framework.CBLqO2Q1.js +18 -0
- package/dist-docs/assets/chunks/index.DR0yN-kU.js +744 -0
- package/dist-docs/assets/chunks/json-editor-vue.CBQvp8j1.js +3882 -0
- package/dist-docs/assets/chunks/mapValues.D2X8cRgC.js +1 -0
- package/dist-docs/assets/chunks/theme.Dn4kNa0x.js +4 -0
- package/dist-docs/assets/chunks/vanilla-picker.B6E6ObS_.js +8 -0
- package/dist-docs/assets/chunks/webworkerAll.BAL0vGum.js +56 -0
- package/dist-docs/assets/doubleBed.CzextF6m.png +0 -0
- package/dist-docs/assets/{guide_advanced-usage.md.BPrKHNKt.js → guide_advanced-usage.md.COVLyRkA.js} +96 -3
- package/dist-docs/assets/guide_advanced-usage.md.COVLyRkA.lean.js +1 -0
- package/dist-docs/assets/{guide_concepts.md.DBFk-g-l.js → guide_concepts.md.CJ87tk-r.js} +1 -1
- package/dist-docs/assets/{guide_concepts.md.DBFk-g-l.lean.js → guide_concepts.md.CJ87tk-r.lean.js} +1 -1
- package/dist-docs/assets/{guide_getting-started.md.Zvm4buzY.js → guide_getting-started.md.DzTPTYGC.js} +2 -2
- package/dist-docs/assets/guide_getting-started.md.DzTPTYGC.lean.js +1 -0
- package/dist-docs/assets/{guide_mcp.md.1UIpY4E0.js → guide_mcp.md.CabCiX8Z.js} +1 -1
- package/dist-docs/assets/{guide_mcp.md.1UIpY4E0.lean.js → guide_mcp.md.CabCiX8Z.lean.js} +1 -1
- package/dist-docs/assets/{index.md.Sm6vD2Gl.js → index.md.wTsFvv0N.js} +1 -1
- package/dist-docs/assets/{index.md.Sm6vD2Gl.lean.js → index.md.wTsFvv0N.lean.js} +1 -1
- package/dist-docs/assets/{plans_2026-03-04-detected-objects-visibility-design.md.530AI9zE.js → plans_2026-03-04-detected-objects-visibility-design.md.Dqboot5W.js} +1 -1
- package/dist-docs/assets/{plans_2026-03-04-detected-objects-visibility-design.md.530AI9zE.lean.js → plans_2026-03-04-detected-objects-visibility-design.md.Dqboot5W.lean.js} +1 -1
- package/dist-docs/assets/{plans_2026-03-04-show-detected-objects-implementation-plan.md.foeG7qiK.js → plans_2026-03-04-show-detected-objects-implementation-plan.md.CDWwQtWj.js} +1 -1
- package/dist-docs/assets/{plans_2026-03-04-show-detected-objects-implementation-plan.md.foeG7qiK.lean.js → plans_2026-03-04-show-detected-objects-implementation-plan.md.CDWwQtWj.lean.js} +1 -1
- package/dist-docs/assets/plans_2026-03-10-simulator-debug-design.md.BZibn7uw.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-debug-design.md.BZibn7uw.lean.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-events-console-design.md.BVmEzCbR.js +8 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-events-console-design.md.BVmEzCbR.lean.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-events-console-implementation-plan.md.S2f1zs9-.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-events-console-implementation-plan.md.S2f1zs9-.lean.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-runtime-controls-design.md.mqeNaYgg.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-runtime-controls-design.md.mqeNaYgg.lean.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-runtime-controls-implementation-plan.md.BXG1UWFt.js +1 -0
- package/dist-docs/assets/plans_2026-03-10-simulator-runtime-controls-implementation-plan.md.BXG1UWFt.lean.js +1 -0
- package/dist-docs/assets/{records_bugs_2026-02-28-fix-pixi-bindgroup-webgpu-snapshot-whitescreen-bugfix.md.BT3816jW.js → records_bugs_2026-02-28-fix-pixi-bindgroup-webgpu-snapshot-whitescreen-bugfix.md.BbQpA41Y.js} +1 -1
- package/dist-docs/assets/{records_bugs_2026-02-28-fix-pixi-bindgroup-webgpu-snapshot-whitescreen-bugfix.md.BT3816jW.lean.js → records_bugs_2026-02-28-fix-pixi-bindgroup-webgpu-snapshot-whitescreen-bugfix.md.BbQpA41Y.lean.js} +1 -1
- package/dist-docs/assets/records_bugs_2026-03-10-events-drawer-toolbar-scroll-bugfix.md.DbHxPv4D.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-10-events-drawer-toolbar-scroll-bugfix.md.DbHxPv4D.lean.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-10-simulator-initial-render-layout-bugfix.md.w7--2hvH.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-10-simulator-initial-render-layout-bugfix.md.w7--2hvH.lean.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-10-simulator-wheel-scroll-leak-bugfix.md.B6gIem2P.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-10-simulator-wheel-scroll-leak-bugfix.md.B6gIem2P.lean.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-11-docs-server-bin-clean-bugfix.md.GGWCjkok.js +1 -0
- package/dist-docs/assets/records_bugs_2026-03-11-docs-server-bin-clean-bugfix.md.GGWCjkok.lean.js +1 -0
- package/dist-docs/assets/{records_plans_2026-03-02-furniture-feature-plan.md.DkXKivuL.js → records_plans_2026-03-02-furniture-feature-plan.md.CqSsyNDo.js} +1 -1
- package/dist-docs/assets/{records_plans_2026-03-02-furniture-feature-plan.md.DkXKivuL.lean.js → records_plans_2026-03-02-furniture-feature-plan.md.CqSsyNDo.lean.js} +1 -1
- package/dist-docs/assets/records_plans_2026-03-10-simulator-events-console-plan.md.CfHLEHcc.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-events-console-plan.md.CfHLEHcc.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-last-successful-combo-cache-plan.md.Z2RoK239.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-last-successful-combo-cache-plan.md.Z2RoK239.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-map-parsed-view-plan.md.S9jPz75o.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-map-parsed-view-plan.md.S9jPz75o.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-map-playground-refactor-plan.md.BuILlmcV.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-map-playground-refactor-plan.md.BuILlmcV.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-playground-plan.md.CQAR-T7p.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-playground-plan.md.CQAR-T7p.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-runtime-controls-plan.md.DSVD-qCa.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-10-simulator-runtime-controls-plan.md.DSVD-qCa.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-11-simulator-src-migration-implementation.md.FnB5Cx6R.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-11-simulator-src-migration-implementation.md.FnB5Cx6R.lean.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-11-simulator-src-migration-plan.md.BBfaeRrq.js +1 -0
- package/dist-docs/assets/records_plans_2026-03-11-simulator-src-migration-plan.md.BBfaeRrq.lean.js +1 -0
- package/dist-docs/assets/{reference_callbacks.md.CwvDSJWk.js → reference_callbacks.md.BIwuGR3s.js} +16 -2
- package/dist-docs/assets/reference_callbacks.md.BIwuGR3s.lean.js +1 -0
- package/dist-docs/assets/{reference_config.md.CK4ueBig.js → reference_config.md.DHynhVxG.js} +1 -1
- package/dist-docs/assets/{reference_config.md.CK4ueBig.lean.js → reference_config.md.DHynhVxG.lean.js} +1 -1
- package/dist-docs/assets/{reference_data.md.DciSLVC8.js → reference_data.md.B_XpUFrn.js} +38 -2
- package/dist-docs/assets/reference_data.md.B_XpUFrn.lean.js +1 -0
- package/dist-docs/assets/{reference_methods.md.CL2sjTJ7.js → reference_methods.md.eH-UCMbE.js} +23 -3
- package/dist-docs/assets/reference_methods.md.eH-UCMbE.lean.js +1 -0
- package/dist-docs/assets/{reference_runtime.md.aDpGKfHs.js → reference_runtime.md.BEy8BhSZ.js} +2 -2
- package/dist-docs/assets/reference_runtime.md.BEy8BhSZ.lean.js +1 -0
- package/dist-docs/assets/{reference_types.md.D2IglsHQ.js → reference_types.md.hikiO8Cq.js} +20 -3
- package/dist-docs/assets/reference_types.md.hikiO8Cq.lean.js +1 -0
- package/dist-docs/assets/{reference_utils.md.CSshxnp0.js → reference_utils.md.Dy6XKVWh.js} +1 -1
- package/dist-docs/assets/{reference_utils.md.CSshxnp0.lean.js → reference_utils.md.Dy6XKVWh.lean.js} +1 -1
- package/dist-docs/assets/robot.CSiuukeH.png +0 -0
- package/dist-docs/assets/simulator_index.md.CF95Y_c9.js +1 -0
- package/dist-docs/assets/simulator_index.md.CF95Y_c9.lean.js +1 -0
- package/dist-docs/assets/sleep.CRKZ3XeQ.png +0 -0
- package/dist-docs/assets/sleep.C_YKDk6M.json +879 -0
- package/dist-docs/assets/{style.CN_tJoU2.css → style.DrlDtCux.css} +1 -1
- package/dist-docs/guide/advanced-usage.html +102 -9
- package/dist-docs/guide/concepts.html +7 -7
- package/dist-docs/guide/getting-started.html +7 -7
- package/dist-docs/guide/mcp.html +7 -7
- package/dist-docs/hashmap.json +1 -1
- package/dist-docs/index.html +7 -7
- package/dist-docs/plans/2026-03-04-detected-objects-visibility-design.html +7 -7
- package/dist-docs/plans/2026-03-04-show-detected-objects-implementation-plan.html +7 -7
- package/dist-docs/plans/2026-03-10-simulator-debug-design.html +25 -0
- package/dist-docs/plans/2026-03-10-simulator-events-console-design.html +32 -0
- package/dist-docs/plans/2026-03-10-simulator-events-console-implementation-plan.html +25 -0
- package/dist-docs/plans/2026-03-10-simulator-runtime-controls-design.html +25 -0
- package/dist-docs/plans/2026-03-10-simulator-runtime-controls-implementation-plan.html +25 -0
- package/dist-docs/records/bugs/2026-02-28-fix-pixi-bindgroup-webgpu-snapshot-whitescreen-bugfix.html +7 -7
- package/dist-docs/records/bugs/2026-03-10-events-drawer-toolbar-scroll-bugfix.html +25 -0
- package/dist-docs/records/bugs/2026-03-10-simulator-initial-render-layout-bugfix.html +25 -0
- package/dist-docs/records/bugs/2026-03-10-simulator-wheel-scroll-leak-bugfix.html +25 -0
- package/dist-docs/records/bugs/2026-03-11-docs-server-bin-clean-bugfix.html +25 -0
- package/dist-docs/records/plans/2026-03-02-furniture-feature-plan.html +7 -7
- package/dist-docs/records/plans/2026-03-10-simulator-events-console-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-10-simulator-last-successful-combo-cache-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-10-simulator-map-parsed-view-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-10-simulator-map-playground-refactor-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-10-simulator-playground-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-10-simulator-runtime-controls-plan.html +25 -0
- package/dist-docs/records/plans/2026-03-11-simulator-src-migration-implementation.html +25 -0
- package/dist-docs/records/plans/2026-03-11-simulator-src-migration-plan.html +25 -0
- package/dist-docs/reference/callbacks.html +22 -8
- package/dist-docs/reference/config.html +7 -7
- package/dist-docs/reference/data.html +44 -8
- package/dist-docs/reference/methods.html +29 -9
- package/dist-docs/reference/runtime.html +8 -8
- package/dist-docs/reference/types.html +26 -9
- package/dist-docs/reference/utils.html +7 -7
- package/dist-docs/simulator/index.html +25 -0
- package/package.json +8 -4
- package/dist-docs/assets/chunks/@localSearchIndexroot.HZmZuAtg.js +0 -1
- package/dist-docs/assets/chunks/framework.DRADY2L-.js +0 -18
- package/dist-docs/assets/chunks/theme.D78lSkQK.js +0 -2
- package/dist-docs/assets/guide_advanced-usage.md.BPrKHNKt.lean.js +0 -1
- package/dist-docs/assets/guide_getting-started.md.Zvm4buzY.lean.js +0 -1
- package/dist-docs/assets/reference_callbacks.md.CwvDSJWk.lean.js +0 -1
- package/dist-docs/assets/reference_data.md.DciSLVC8.lean.js +0 -1
- package/dist-docs/assets/reference_methods.md.CL2sjTJ7.lean.js +0 -1
- package/dist-docs/assets/reference_runtime.md.aDpGKfHs.lean.js +0 -1
- package/dist-docs/assets/reference_types.md.D2IglsHQ.lean.js +0 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { createServer } from 'node:http'
|
|
4
|
+
import { readFile, stat } from 'node:fs/promises'
|
|
5
|
+
import { dirname, extname, join, normalize } from 'node:path'
|
|
6
|
+
import process from 'node:process'
|
|
7
|
+
import { fileURLToPath } from 'node:url'
|
|
8
|
+
|
|
9
|
+
const MIME_TYPES = {
|
|
10
|
+
'.html': 'text/html; charset=utf-8',
|
|
11
|
+
'.css': 'text/css; charset=utf-8',
|
|
12
|
+
'.js': 'application/javascript; charset=utf-8',
|
|
13
|
+
'.mjs': 'application/javascript; charset=utf-8',
|
|
14
|
+
'.json': 'application/json; charset=utf-8',
|
|
15
|
+
'.svg': 'image/svg+xml',
|
|
16
|
+
'.png': 'image/png',
|
|
17
|
+
'.jpg': 'image/jpeg',
|
|
18
|
+
'.jpeg': 'image/jpeg',
|
|
19
|
+
'.gif': 'image/gif',
|
|
20
|
+
'.webp': 'image/webp',
|
|
21
|
+
'.ico': 'image/x-icon',
|
|
22
|
+
'.txt': 'text/plain; charset=utf-8',
|
|
23
|
+
'.woff': 'font/woff',
|
|
24
|
+
'.woff2': 'font/woff2',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const HELP_TEXT = `
|
|
28
|
+
Usage:
|
|
29
|
+
robot-map-docs [--host <host>] [--port <port>]
|
|
30
|
+
|
|
31
|
+
Options:
|
|
32
|
+
--host, -H Host to bind (default: 127.0.0.1)
|
|
33
|
+
--port, -p Port to listen on (default: 4173)
|
|
34
|
+
--help, -h Show this help message
|
|
35
|
+
`
|
|
36
|
+
|
|
37
|
+
const parseArgs = (argv) => {
|
|
38
|
+
let host = '127.0.0.1'
|
|
39
|
+
let port = 4173
|
|
40
|
+
|
|
41
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
42
|
+
const arg = argv[i]
|
|
43
|
+
const next = argv[i + 1]
|
|
44
|
+
|
|
45
|
+
if (arg === '--help' || arg === '-h') {
|
|
46
|
+
console.log(HELP_TEXT.trim())
|
|
47
|
+
process.exit(0)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if ((arg === '--host' || arg === '-H') && next) {
|
|
51
|
+
host = next
|
|
52
|
+
i += 1
|
|
53
|
+
continue
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if ((arg === '--port' || arg === '-p') && next) {
|
|
57
|
+
const parsed = Number.parseInt(next, 10)
|
|
58
|
+
if (Number.isNaN(parsed) || parsed <= 0) {
|
|
59
|
+
throw new Error(`Invalid port: ${next}`)
|
|
60
|
+
}
|
|
61
|
+
port = parsed
|
|
62
|
+
i += 1
|
|
63
|
+
continue
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return { host, port }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const getSafePath = (rawPathname) => {
|
|
71
|
+
const decoded = decodeURIComponent(rawPathname)
|
|
72
|
+
const trimmed = decoded.replace(/^\/+/, '')
|
|
73
|
+
const normalized = normalize(trimmed)
|
|
74
|
+
|
|
75
|
+
if (
|
|
76
|
+
normalized === '..' ||
|
|
77
|
+
normalized.startsWith('../') ||
|
|
78
|
+
normalized.startsWith('..\\')
|
|
79
|
+
) {
|
|
80
|
+
return null
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return normalized
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const currentFile = fileURLToPath(import.meta.url)
|
|
87
|
+
const currentDir = dirname(currentFile)
|
|
88
|
+
const docsRoot = join(currentDir, '..', 'dist-docs')
|
|
89
|
+
|
|
90
|
+
const serveFile = async (filePath, response) => {
|
|
91
|
+
const content = await readFile(filePath)
|
|
92
|
+
const ext = extname(filePath).toLowerCase()
|
|
93
|
+
const contentType = MIME_TYPES[ext] ?? 'application/octet-stream'
|
|
94
|
+
response.writeHead(200, {
|
|
95
|
+
'Content-Type': contentType,
|
|
96
|
+
'Cache-Control':
|
|
97
|
+
ext === '.html' ? 'no-store' : 'public, max-age=31536000, immutable',
|
|
98
|
+
})
|
|
99
|
+
response.end(content)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const createRequestHandler = () => async (request, response) => {
|
|
103
|
+
try {
|
|
104
|
+
const url = new URL(request.url ?? '/', 'http://localhost')
|
|
105
|
+
const pathname = url.pathname === '/' ? '/index.html' : url.pathname
|
|
106
|
+
const safePath = getSafePath(pathname)
|
|
107
|
+
|
|
108
|
+
if (!safePath) {
|
|
109
|
+
response.writeHead(400, { 'Content-Type': 'text/plain; charset=utf-8' })
|
|
110
|
+
response.end('Bad request path')
|
|
111
|
+
return
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const candidateFile = join(docsRoot, safePath)
|
|
115
|
+
|
|
116
|
+
try {
|
|
117
|
+
const fileStat = await stat(candidateFile)
|
|
118
|
+
if (fileStat.isFile()) {
|
|
119
|
+
await serveFile(candidateFile, response)
|
|
120
|
+
return
|
|
121
|
+
}
|
|
122
|
+
} catch (error) {
|
|
123
|
+
if (!(error instanceof Error) || !('code' in error)) {
|
|
124
|
+
throw error
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!extname(safePath)) {
|
|
129
|
+
const nestedIndex = join(docsRoot, safePath, 'index.html')
|
|
130
|
+
try {
|
|
131
|
+
const nestedStat = await stat(nestedIndex)
|
|
132
|
+
if (nestedStat.isFile()) {
|
|
133
|
+
await serveFile(nestedIndex, response)
|
|
134
|
+
return
|
|
135
|
+
}
|
|
136
|
+
} catch (error) {
|
|
137
|
+
if (!(error instanceof Error) || !('code' in error)) {
|
|
138
|
+
throw error
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (!extname(safePath)) {
|
|
144
|
+
await serveFile(join(docsRoot, 'index.html'), response)
|
|
145
|
+
return
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
response.writeHead(404, { 'Content-Type': 'text/plain; charset=utf-8' })
|
|
149
|
+
response.end('Not found')
|
|
150
|
+
} catch (error) {
|
|
151
|
+
const message = error instanceof Error ? error.message : String(error)
|
|
152
|
+
response.writeHead(500, { 'Content-Type': 'text/plain; charset=utf-8' })
|
|
153
|
+
response.end(`Internal server error: ${message}`)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const main = async () => {
|
|
158
|
+
const { host, port } = parseArgs(process.argv.slice(2))
|
|
159
|
+
|
|
160
|
+
try {
|
|
161
|
+
const rootStat = await stat(docsRoot)
|
|
162
|
+
if (!rootStat.isDirectory()) {
|
|
163
|
+
throw new Error('dist-docs is not a directory')
|
|
164
|
+
}
|
|
165
|
+
} catch (error) {
|
|
166
|
+
if (error instanceof Error) {
|
|
167
|
+
const maybeCode =
|
|
168
|
+
typeof error === 'object' && error && 'code' in error
|
|
169
|
+
? error.code
|
|
170
|
+
: undefined
|
|
171
|
+
if (String(maybeCode ?? '') !== 'ENOENT') {
|
|
172
|
+
console.warn(
|
|
173
|
+
`[robot-map-docs] docs root check warning: ${error.message}`,
|
|
174
|
+
)
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
console.error(
|
|
178
|
+
'[robot-map-docs] dist-docs not found. Please build docs before publish.',
|
|
179
|
+
)
|
|
180
|
+
process.exit(1)
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const server = createServer(createRequestHandler())
|
|
184
|
+
server.listen(port, host, () => {
|
|
185
|
+
console.log(
|
|
186
|
+
`[robot-map-docs] Serving dist-docs at http://${host}:${String(port)}`,
|
|
187
|
+
)
|
|
188
|
+
})
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
main().catch((error) => {
|
|
192
|
+
const message = error instanceof Error ? error.message : String(error)
|
|
193
|
+
console.error(`[robot-map-docs] Failed to start: ${message}`)
|
|
194
|
+
process.exit(1)
|
|
195
|
+
})
|