@doodle-engine/cli 0.0.1
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/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +144 -0
- package/dist/commands/build.d.ts +7 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/dev.d.ts +10 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/create.d.ts +7 -0
- package/dist/create.d.ts.map +1 -0
- package/dist/create.js +716 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +46 -0
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command as $ } from "commander";
|
|
3
|
+
import { crayon as c } from "crayon.js";
|
|
4
|
+
import { createServer as k, build as C } from "vite";
|
|
5
|
+
import b from "@vitejs/plugin-react";
|
|
6
|
+
import { watch as D } from "chokidar";
|
|
7
|
+
import { readdir as w, readFile as p } from "fs/promises";
|
|
8
|
+
import { join as i, extname as u } from "path";
|
|
9
|
+
import { parse as h } from "yaml";
|
|
10
|
+
import { parseDialogue as P } from "@doodle-engine/core";
|
|
11
|
+
const v = "🐾", E = "✨", S = "✏️", j = "➕";
|
|
12
|
+
async function q() {
|
|
13
|
+
const r = process.cwd(), s = i(r, "content");
|
|
14
|
+
console.log(""), console.log(c.bold.magenta(` ${v} Doodle Engine Dev Server ${v}`)), console.log("");
|
|
15
|
+
const d = {
|
|
16
|
+
name: "doodle-content-loader",
|
|
17
|
+
configureServer(t) {
|
|
18
|
+
t.middlewares.use("/api/content", async (o, a) => {
|
|
19
|
+
try {
|
|
20
|
+
const e = await B(s);
|
|
21
|
+
a.setHeader("Content-Type", "application/json"), a.end(JSON.stringify(e));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
console.error(c.red(" Error loading content:"), e), a.statusCode = 500, a.end(JSON.stringify({ error: "Failed to load content" }));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const n = D(i(s, "**/*"), {
|
|
27
|
+
ignored: /(^|[\/\\])\../,
|
|
28
|
+
persistent: !0
|
|
29
|
+
});
|
|
30
|
+
n.on("change", (o) => {
|
|
31
|
+
console.log(c.yellow(` ${S} Content changed: ${o}`)), t.ws.send({
|
|
32
|
+
type: "full-reload",
|
|
33
|
+
path: "*"
|
|
34
|
+
});
|
|
35
|
+
}), n.on("add", (o) => {
|
|
36
|
+
console.log(c.green(` ${j} Content added: ${o}`)), t.ws.send({
|
|
37
|
+
type: "full-reload",
|
|
38
|
+
path: "*"
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}, f = await k({
|
|
43
|
+
root: r,
|
|
44
|
+
plugins: [b(), d],
|
|
45
|
+
server: {
|
|
46
|
+
port: 3e3,
|
|
47
|
+
open: !0
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
await f.listen(), f.printUrls(), console.log(""), console.log(c.dim(` ${E} Watching content files for changes...`)), console.log("");
|
|
51
|
+
}
|
|
52
|
+
async function B(r) {
|
|
53
|
+
const s = {
|
|
54
|
+
locations: {},
|
|
55
|
+
characters: {},
|
|
56
|
+
items: {},
|
|
57
|
+
maps: {},
|
|
58
|
+
dialogues: {},
|
|
59
|
+
quests: {},
|
|
60
|
+
journalEntries: {},
|
|
61
|
+
locales: {}
|
|
62
|
+
};
|
|
63
|
+
let d = null;
|
|
64
|
+
const f = [
|
|
65
|
+
{ dir: "locations", key: "locations" },
|
|
66
|
+
{ dir: "characters", key: "characters" },
|
|
67
|
+
{ dir: "items", key: "items" },
|
|
68
|
+
{ dir: "maps", key: "maps" },
|
|
69
|
+
{ dir: "quests", key: "quests" },
|
|
70
|
+
{ dir: "journal", key: "journalEntries" }
|
|
71
|
+
];
|
|
72
|
+
for (const { dir: t, key: n } of f) {
|
|
73
|
+
const o = i(r, t);
|
|
74
|
+
try {
|
|
75
|
+
const a = await w(o);
|
|
76
|
+
for (const e of a)
|
|
77
|
+
if (u(e) === ".yaml" || u(e) === ".yml") {
|
|
78
|
+
const m = i(o, e), l = await p(m, "utf-8"), g = h(l);
|
|
79
|
+
g && g.id && (s[n][g.id] = g);
|
|
80
|
+
}
|
|
81
|
+
} catch {
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
const t = i(r, "locales"), n = await w(t);
|
|
86
|
+
for (const o of n)
|
|
87
|
+
if (u(o) === ".yaml" || u(o) === ".yml") {
|
|
88
|
+
const a = i(t, o), e = await p(a, "utf-8"), m = h(e), l = o.replace(/\.(yaml|yml)$/, "");
|
|
89
|
+
s.locales[l] = m ?? {};
|
|
90
|
+
}
|
|
91
|
+
} catch {
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const t = i(r, "dialogues"), n = await w(t);
|
|
95
|
+
for (const o of n)
|
|
96
|
+
if (u(o) === ".dlg") {
|
|
97
|
+
const a = i(t, o), e = await p(a, "utf-8"), m = o.replace(".dlg", ""), l = P(e, m);
|
|
98
|
+
s.dialogues[l.id] = l;
|
|
99
|
+
}
|
|
100
|
+
} catch {
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
const t = i(r, "game.yaml"), n = await p(t, "utf-8");
|
|
104
|
+
d = h(n);
|
|
105
|
+
} catch {
|
|
106
|
+
console.warn(c.yellow(" No game.yaml found, using defaults")), d = {
|
|
107
|
+
startLocation: "tavern",
|
|
108
|
+
startTime: { day: 1, hour: 8 },
|
|
109
|
+
startFlags: {},
|
|
110
|
+
startVariables: {},
|
|
111
|
+
startInventory: []
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return { registry: s, config: d };
|
|
115
|
+
}
|
|
116
|
+
async function N() {
|
|
117
|
+
const r = process.cwd();
|
|
118
|
+
console.log(`🐕🎮 Building Doodle Engine game...
|
|
119
|
+
`);
|
|
120
|
+
try {
|
|
121
|
+
await C({
|
|
122
|
+
root: r,
|
|
123
|
+
plugins: [b()],
|
|
124
|
+
build: {
|
|
125
|
+
outDir: "dist",
|
|
126
|
+
emptyOutDir: !0
|
|
127
|
+
}
|
|
128
|
+
}), console.log(`
|
|
129
|
+
✅ Build complete! Output in dist/
|
|
130
|
+
`), console.log("To preview the build:"), console.log(` yarn preview
|
|
131
|
+
`);
|
|
132
|
+
} catch (s) {
|
|
133
|
+
console.error("Build failed:", s), process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const y = new $();
|
|
137
|
+
y.name("doodle").description(c.magenta("🐾 Doodle Engine") + c.dim(" — Narrative RPG development tools")).version("0.0.1");
|
|
138
|
+
y.command("dev").description("Start development server with hot reload").action(async () => {
|
|
139
|
+
await q();
|
|
140
|
+
});
|
|
141
|
+
y.command("build").description("Build game for production").action(async () => {
|
|
142
|
+
await N();
|
|
143
|
+
});
|
|
144
|
+
y.parse();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAsB,KAAK,kBAsB1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev server command
|
|
3
|
+
*
|
|
4
|
+
* Starts a Vite dev server that:
|
|
5
|
+
* - Watches content files for changes
|
|
6
|
+
* - Parses .dlg and .yaml files
|
|
7
|
+
* - Serves the game with hot reload
|
|
8
|
+
*/
|
|
9
|
+
export declare function dev(): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,wBAAsB,GAAG,kBAkExB"}
|
package/dist/create.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/create.js
ADDED
|
@@ -0,0 +1,716 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import b from "prompts";
|
|
3
|
+
import { mkdir as _, writeFile as a } from "fs/promises";
|
|
4
|
+
import { join as o } from "path";
|
|
5
|
+
import { crayon as e } from "crayon.js";
|
|
6
|
+
const d = "🐾", l = "🐕", h = "🦴", y = "✨", m = "📁", s = "✅", f = "🚀";
|
|
7
|
+
async function k() {
|
|
8
|
+
const t = process.argv.slice(2);
|
|
9
|
+
t.length === 0 && (console.log(""), console.log(e.red(` ${l} Woof! You forgot the project name!`)), console.log(""), console.log(e.yellow(" Usage: npx create-doodle-engine-game <project-name>")), console.log(""), process.exit(1));
|
|
10
|
+
const n = t[0], r = o(process.cwd(), n);
|
|
11
|
+
console.log(""), console.log(e.bold.magenta(` ${d} Doodle Engine ${d}`)), console.log(e.dim(" Text-based RPG and Adventure Game Scaffolder")), console.log(""), console.log(` ${l} Creating new game: ${e.bold.cyan(n)}`), console.log("");
|
|
12
|
+
const { useDefaultRenderer: i } = await b({
|
|
13
|
+
type: "confirm",
|
|
14
|
+
name: "useDefaultRenderer",
|
|
15
|
+
message: "Use default renderer?",
|
|
16
|
+
initial: !0
|
|
17
|
+
});
|
|
18
|
+
i === void 0 && (console.log(e.yellow(`
|
|
19
|
+
${h} No worries, maybe next time! Woof!`)), process.exit(0)), console.log(""), await E(r, n, i), console.log(""), console.log(e.bold.green(` ${s} Project created successfully!`)), console.log(""), console.log(e.dim(` ${m} ${r}`)), console.log(""), console.log(e.bold(" Next steps:")), console.log(e.cyan(` cd ${n}`)), console.log(e.cyan(" npm install ") + e.dim("# or: yarn install / pnpm install")), console.log(e.cyan(" npm run dev ") + e.dim("# or: yarn dev / pnpm dev")), console.log(""), console.log(e.dim(` ${f} Happy game making! ${d}`)), console.log("");
|
|
20
|
+
}
|
|
21
|
+
async function E(t, n, r) {
|
|
22
|
+
const i = [
|
|
23
|
+
"content/locations",
|
|
24
|
+
"content/characters",
|
|
25
|
+
"content/items",
|
|
26
|
+
"content/dialogues",
|
|
27
|
+
"content/quests",
|
|
28
|
+
"content/journal",
|
|
29
|
+
"content/locales",
|
|
30
|
+
"content/maps",
|
|
31
|
+
"assets/images/banners",
|
|
32
|
+
"assets/images/portraits",
|
|
33
|
+
"assets/images/items",
|
|
34
|
+
"assets/images/maps",
|
|
35
|
+
"assets/audio/music",
|
|
36
|
+
"assets/audio/sfx",
|
|
37
|
+
"assets/audio/voice",
|
|
38
|
+
"src"
|
|
39
|
+
];
|
|
40
|
+
console.log(` ${m} ${e.bold("Creating directories...")}`);
|
|
41
|
+
for (const p of i)
|
|
42
|
+
await _(o(t, p), { recursive: !0 });
|
|
43
|
+
console.log(e.green(` ${s} Directories created`)), console.log("");
|
|
44
|
+
const u = {
|
|
45
|
+
name: n,
|
|
46
|
+
version: "0.1.0",
|
|
47
|
+
type: "module",
|
|
48
|
+
scripts: {
|
|
49
|
+
dev: "doodle dev",
|
|
50
|
+
build: "doodle build",
|
|
51
|
+
preview: "vite preview"
|
|
52
|
+
},
|
|
53
|
+
dependencies: {
|
|
54
|
+
"@doodle-engine/core": "latest",
|
|
55
|
+
"@doodle-engine/react": "latest",
|
|
56
|
+
react: "^19.0.0",
|
|
57
|
+
"react-dom": "^19.0.0"
|
|
58
|
+
},
|
|
59
|
+
devDependencies: {
|
|
60
|
+
"@doodle-engine/cli": "latest",
|
|
61
|
+
"@types/react": "^19.0.0",
|
|
62
|
+
"@types/react-dom": "^19.0.0",
|
|
63
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
64
|
+
typescript: "^5.7.0",
|
|
65
|
+
vite: "^6.0.0"
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
console.log(` ${y} ${e.bold("Writing project files...")}`), await a(
|
|
69
|
+
o(t, "package.json"),
|
|
70
|
+
JSON.stringify(u, null, 2)
|
|
71
|
+
);
|
|
72
|
+
const g = {
|
|
73
|
+
compilerOptions: {
|
|
74
|
+
target: "ES2024",
|
|
75
|
+
lib: ["ES2024", "DOM", "DOM.Iterable"],
|
|
76
|
+
module: "ESNext",
|
|
77
|
+
moduleResolution: "bundler",
|
|
78
|
+
jsx: "react-jsx",
|
|
79
|
+
strict: !0,
|
|
80
|
+
skipLibCheck: !0,
|
|
81
|
+
esModuleInterop: !0,
|
|
82
|
+
forceConsistentCasingInFileNames: !0,
|
|
83
|
+
resolveJsonModule: !0,
|
|
84
|
+
isolatedModules: !0,
|
|
85
|
+
noEmit: !0
|
|
86
|
+
},
|
|
87
|
+
include: ["src"]
|
|
88
|
+
};
|
|
89
|
+
await a(
|
|
90
|
+
o(t, "tsconfig.json"),
|
|
91
|
+
JSON.stringify(g, null, 2)
|
|
92
|
+
), await a(o(t, "index.html"), `<!doctype html>
|
|
93
|
+
<html lang="en">
|
|
94
|
+
<head>
|
|
95
|
+
<meta charset="UTF-8" />
|
|
96
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
97
|
+
<title>Doodle Engine Game</title>
|
|
98
|
+
</head>
|
|
99
|
+
<body>
|
|
100
|
+
<div id="root"></div>
|
|
101
|
+
<script type="module" src="/src/main.tsx"><\/script>
|
|
102
|
+
</body>
|
|
103
|
+
</html>
|
|
104
|
+
`), await a(o(t, "src/main.tsx"), `import { StrictMode } from 'react'
|
|
105
|
+
import { createRoot } from 'react-dom/client'
|
|
106
|
+
import { App } from './App'
|
|
107
|
+
import './index.css'
|
|
108
|
+
|
|
109
|
+
createRoot(document.getElementById('root')!).render(
|
|
110
|
+
<StrictMode>
|
|
111
|
+
<App />
|
|
112
|
+
</StrictMode>,
|
|
113
|
+
)
|
|
114
|
+
`);
|
|
115
|
+
let c;
|
|
116
|
+
r ? c = `import { useEffect, useState } from 'react'
|
|
117
|
+
import type { ContentRegistry, GameConfig } from '@doodle-engine/core'
|
|
118
|
+
import { GameShell } from '@doodle-engine/react'
|
|
119
|
+
|
|
120
|
+
export function App() {
|
|
121
|
+
const [content, setContent] = useState<{ registry: ContentRegistry; config: GameConfig } | null>(null)
|
|
122
|
+
|
|
123
|
+
useEffect(() => {
|
|
124
|
+
fetch('/api/content')
|
|
125
|
+
.then(res => res.json())
|
|
126
|
+
.then(data => setContent({ registry: data.registry, config: data.config }))
|
|
127
|
+
}, [])
|
|
128
|
+
|
|
129
|
+
if (!content) {
|
|
130
|
+
return <div style={{ padding: '2rem', fontFamily: 'sans-serif' }}>Loading game...</div>
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return (
|
|
134
|
+
<GameShell
|
|
135
|
+
registry={content.registry}
|
|
136
|
+
config={content.config}
|
|
137
|
+
title="My Doodle Game"
|
|
138
|
+
subtitle="A text-based adventure"
|
|
139
|
+
splashDuration={2000}
|
|
140
|
+
availableLocales={[{ code: 'en', label: 'English' }]}
|
|
141
|
+
/>
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
` : c = `import { useEffect, useState } from 'react'
|
|
145
|
+
import { Engine } from '@doodle-engine/core'
|
|
146
|
+
import type { GameState, Snapshot } from '@doodle-engine/core'
|
|
147
|
+
import { GameProvider, useGame } from '@doodle-engine/react'
|
|
148
|
+
|
|
149
|
+
export function App() {
|
|
150
|
+
const [game, setGame] = useState<{ engine: Engine; snapshot: Snapshot } | null>(null)
|
|
151
|
+
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
fetch('/api/content')
|
|
154
|
+
.then(res => res.json())
|
|
155
|
+
.then(data => {
|
|
156
|
+
const engine = new Engine(data.registry, createEmptyState())
|
|
157
|
+
const snapshot = engine.newGame(data.config)
|
|
158
|
+
setGame({ engine, snapshot })
|
|
159
|
+
})
|
|
160
|
+
}, [])
|
|
161
|
+
|
|
162
|
+
if (!game) {
|
|
163
|
+
return <div style={{ padding: '2rem', fontFamily: 'sans-serif' }}>Loading game...</div>
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return (
|
|
167
|
+
<GameProvider engine={game.engine} initialSnapshot={game.snapshot}>
|
|
168
|
+
<GameUI />
|
|
169
|
+
</GameProvider>
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function GameUI() {
|
|
174
|
+
const { snapshot, actions } = useGame()
|
|
175
|
+
|
|
176
|
+
return (
|
|
177
|
+
<div style={{ padding: '2rem', fontFamily: 'sans-serif', maxWidth: '800px', margin: '0 auto' }}>
|
|
178
|
+
<h1>{snapshot.location.name}</h1>
|
|
179
|
+
<p>{snapshot.location.description}</p>
|
|
180
|
+
|
|
181
|
+
{snapshot.dialogue && (
|
|
182
|
+
<div style={{ background: '#f0f0f0', padding: '1rem', borderRadius: '8px', margin: '1rem 0' }}>
|
|
183
|
+
<strong>{snapshot.dialogue.speakerName}:</strong>
|
|
184
|
+
<p>{snapshot.dialogue.text}</p>
|
|
185
|
+
{snapshot.choices.map(choice => (
|
|
186
|
+
<button
|
|
187
|
+
key={choice.id}
|
|
188
|
+
onClick={() => actions.selectChoice(choice.id)}
|
|
189
|
+
style={{ display: 'block', margin: '0.5rem 0', padding: '0.5rem 1rem', cursor: 'pointer' }}
|
|
190
|
+
>
|
|
191
|
+
{choice.text}
|
|
192
|
+
</button>
|
|
193
|
+
))}
|
|
194
|
+
</div>
|
|
195
|
+
)}
|
|
196
|
+
|
|
197
|
+
{!snapshot.dialogue && snapshot.charactersHere.length > 0 && (
|
|
198
|
+
<div>
|
|
199
|
+
<h2>Characters here</h2>
|
|
200
|
+
{snapshot.charactersHere.map(char => (
|
|
201
|
+
<button
|
|
202
|
+
key={char.id}
|
|
203
|
+
onClick={() => actions.talkTo(char.id)}
|
|
204
|
+
style={{ display: 'block', margin: '0.5rem 0', padding: '0.5rem 1rem', cursor: 'pointer' }}
|
|
205
|
+
>
|
|
206
|
+
Talk to {char.name}
|
|
207
|
+
</button>
|
|
208
|
+
))}
|
|
209
|
+
</div>
|
|
210
|
+
)}
|
|
211
|
+
</div>
|
|
212
|
+
)
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function createEmptyState(): GameState {
|
|
216
|
+
return {
|
|
217
|
+
currentLocation: '',
|
|
218
|
+
currentTime: { day: 1, hour: 0 },
|
|
219
|
+
flags: {},
|
|
220
|
+
variables: {},
|
|
221
|
+
inventory: [],
|
|
222
|
+
questProgress: {},
|
|
223
|
+
unlockedJournalEntries: [],
|
|
224
|
+
playerNotes: [],
|
|
225
|
+
dialogueState: null,
|
|
226
|
+
characterState: {},
|
|
227
|
+
itemLocations: {},
|
|
228
|
+
mapEnabled: true,
|
|
229
|
+
notifications: [],
|
|
230
|
+
pendingSounds: [],
|
|
231
|
+
pendingVideo: null,
|
|
232
|
+
currentLocale: 'en',
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
`, await a(o(t, "src/App.tsx"), c), await a(o(t, "src/index.css"), `body {
|
|
236
|
+
margin: 0;
|
|
237
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
238
|
+
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
239
|
+
sans-serif;
|
|
240
|
+
-webkit-font-smoothing: antialiased;
|
|
241
|
+
-moz-osx-font-smoothing: grayscale;
|
|
242
|
+
}
|
|
243
|
+
`), console.log(e.green(` ${s} Source files created`)), console.log(""), console.log(` ${h} ${e.bold("Writing starter content...")}`), await a(o(t, "content/game.yaml"), `# Game Configuration
|
|
244
|
+
startLocation: tavern
|
|
245
|
+
startTime:
|
|
246
|
+
day: 1
|
|
247
|
+
hour: 8
|
|
248
|
+
startFlags: {}
|
|
249
|
+
startVariables:
|
|
250
|
+
gold: 100
|
|
251
|
+
reputation: 0
|
|
252
|
+
_drinksBought: 0
|
|
253
|
+
startInventory: []
|
|
254
|
+
`), await a(o(t, "content/locations/tavern.yaml"), `id: tavern
|
|
255
|
+
name: "@location.tavern.name"
|
|
256
|
+
description: "@location.tavern.description"
|
|
257
|
+
banner: ""
|
|
258
|
+
music: ""
|
|
259
|
+
ambient: ""
|
|
260
|
+
`), await a(o(t, "content/locations/market.yaml"), `id: market
|
|
261
|
+
name: "@location.market.name"
|
|
262
|
+
description: "@location.market.description"
|
|
263
|
+
banner: ""
|
|
264
|
+
music: ""
|
|
265
|
+
ambient: ""
|
|
266
|
+
`), await a(o(t, "content/characters/bartender.yaml"), `id: bartender
|
|
267
|
+
name: "@character.bartender.name"
|
|
268
|
+
biography: "@character.bartender.bio"
|
|
269
|
+
portrait: ""
|
|
270
|
+
location: tavern
|
|
271
|
+
dialogue: bartender_greeting
|
|
272
|
+
stats: {}
|
|
273
|
+
`), await a(o(t, "content/characters/merchant.yaml"), `id: merchant
|
|
274
|
+
name: "@character.merchant.name"
|
|
275
|
+
biography: "@character.merchant.bio"
|
|
276
|
+
portrait: ""
|
|
277
|
+
location: market
|
|
278
|
+
dialogue: merchant_intro
|
|
279
|
+
stats: {}
|
|
280
|
+
`), await a(o(t, "content/items/old_coin.yaml"), `id: old_coin
|
|
281
|
+
name: "@item.old_coin.name"
|
|
282
|
+
description: "@item.old_coin.description"
|
|
283
|
+
icon: ""
|
|
284
|
+
image: ""
|
|
285
|
+
location: tavern
|
|
286
|
+
stats: {}
|
|
287
|
+
`), await a(o(t, "content/maps/town.yaml"), `id: town
|
|
288
|
+
name: "@map.town.name"
|
|
289
|
+
image: ""
|
|
290
|
+
scale: 1
|
|
291
|
+
locations:
|
|
292
|
+
- id: tavern
|
|
293
|
+
x: 100
|
|
294
|
+
y: 200
|
|
295
|
+
- id: market
|
|
296
|
+
x: 300
|
|
297
|
+
y: 150
|
|
298
|
+
`), await a(o(t, "content/quests/odd_jobs.yaml"), `id: odd_jobs
|
|
299
|
+
name: "@quest.odd_jobs.name"
|
|
300
|
+
description: "@quest.odd_jobs.description"
|
|
301
|
+
stages:
|
|
302
|
+
- id: started
|
|
303
|
+
description: "@quest.odd_jobs.stage.started"
|
|
304
|
+
- id: talked_to_merchant
|
|
305
|
+
description: "@quest.odd_jobs.stage.talked_to_merchant"
|
|
306
|
+
- id: complete
|
|
307
|
+
description: "@quest.odd_jobs.stage.complete"
|
|
308
|
+
`), await a(o(t, "content/journal/tavern_discovery.yaml"), `id: tavern_discovery
|
|
309
|
+
title: "@journal.tavern_discovery.title"
|
|
310
|
+
text: "@journal.tavern_discovery.text"
|
|
311
|
+
category: places
|
|
312
|
+
`), await a(o(t, "content/journal/odd_jobs_accepted.yaml"), `id: odd_jobs_accepted
|
|
313
|
+
title: "@journal.odd_jobs_accepted.title"
|
|
314
|
+
text: "@journal.odd_jobs_accepted.text"
|
|
315
|
+
category: quests
|
|
316
|
+
`), await a(o(t, "content/journal/market_square.yaml"), `id: market_square
|
|
317
|
+
title: "@journal.market_square.title"
|
|
318
|
+
text: "@journal.market_square.text"
|
|
319
|
+
category: places
|
|
320
|
+
`), await a(o(t, "content/dialogues/tavern_intro.dlg"), `TRIGGER tavern
|
|
321
|
+
REQUIRE notFlag seenTavernIntro
|
|
322
|
+
|
|
323
|
+
NODE start
|
|
324
|
+
NARRATOR: @narrator.tavern_intro
|
|
325
|
+
SET flag seenTavernIntro
|
|
326
|
+
|
|
327
|
+
CHOICE @narrator.choice.look_around
|
|
328
|
+
END dialogue
|
|
329
|
+
END
|
|
330
|
+
`), await a(o(t, "content/dialogues/market_intro.dlg"), `TRIGGER market
|
|
331
|
+
REQUIRE notFlag seenMarketIntro
|
|
332
|
+
|
|
333
|
+
NODE start
|
|
334
|
+
NARRATOR: @narrator.market_intro
|
|
335
|
+
SET flag seenMarketIntro
|
|
336
|
+
ADD journalEntry market_square
|
|
337
|
+
|
|
338
|
+
CHOICE @narrator.choice.look_around
|
|
339
|
+
END dialogue
|
|
340
|
+
END
|
|
341
|
+
`), await a(o(t, "content/dialogues/bartender_greeting.dlg"), `NODE start
|
|
342
|
+
BARTENDER: @bartender.greeting
|
|
343
|
+
|
|
344
|
+
# Always available — ask for rumors (demonstrates: flag, relationship, journalEntry)
|
|
345
|
+
CHOICE @bartender.choice.whats_news
|
|
346
|
+
SET flag metBartender
|
|
347
|
+
ADD relationship bartender 1
|
|
348
|
+
GOTO rumors
|
|
349
|
+
END
|
|
350
|
+
|
|
351
|
+
# Always available — buy a drink (demonstrates: variable change, flag)
|
|
352
|
+
CHOICE @bartender.choice.order_drink
|
|
353
|
+
GOTO order_drink
|
|
354
|
+
END
|
|
355
|
+
|
|
356
|
+
# Only before accepting the quest (demonstrates: notFlag condition)
|
|
357
|
+
CHOICE @bartender.choice.looking_for_work
|
|
358
|
+
REQUIRE notFlag acceptedOddJobs
|
|
359
|
+
GOTO work_intro
|
|
360
|
+
END
|
|
361
|
+
|
|
362
|
+
# Only while quest is active at "started" stage (demonstrates: questAtStage condition)
|
|
363
|
+
CHOICE @bartender.choice.about_that_job
|
|
364
|
+
REQUIRE questAtStage odd_jobs started
|
|
365
|
+
GOTO work_followup
|
|
366
|
+
END
|
|
367
|
+
|
|
368
|
+
# Only after quest is complete (demonstrates: questAtStage condition)
|
|
369
|
+
CHOICE @bartender.choice.thanks_for_work
|
|
370
|
+
REQUIRE questAtStage odd_jobs complete
|
|
371
|
+
GOTO work_done
|
|
372
|
+
END
|
|
373
|
+
|
|
374
|
+
CHOICE @bartender.choice.nevermind
|
|
375
|
+
GOTO farewell
|
|
376
|
+
END
|
|
377
|
+
|
|
378
|
+
NODE rumors
|
|
379
|
+
BARTENDER: @bartender.rumors
|
|
380
|
+
ADD journalEntry tavern_discovery
|
|
381
|
+
ADD item old_coin
|
|
382
|
+
NOTIFY @notification.journal_updated
|
|
383
|
+
|
|
384
|
+
CHOICE @bartender.choice.tell_me_more
|
|
385
|
+
GOTO rumors_detail
|
|
386
|
+
END
|
|
387
|
+
|
|
388
|
+
CHOICE @bartender.choice.back_to_chat
|
|
389
|
+
GOTO start
|
|
390
|
+
END
|
|
391
|
+
|
|
392
|
+
NODE rumors_detail
|
|
393
|
+
BARTENDER: @bartender.rumors_detail
|
|
394
|
+
|
|
395
|
+
CHOICE @bartender.choice.interesting
|
|
396
|
+
GOTO start
|
|
397
|
+
END
|
|
398
|
+
|
|
399
|
+
NODE order_drink
|
|
400
|
+
BARTENDER: @bartender.order_drink
|
|
401
|
+
|
|
402
|
+
# Only if player can afford it (demonstrates: variableGreaterThan condition)
|
|
403
|
+
CHOICE @bartender.choice.sure_pay
|
|
404
|
+
REQUIRE variableGreaterThan gold 4
|
|
405
|
+
ADD variable gold -5
|
|
406
|
+
ADD variable _drinksBought 1
|
|
407
|
+
ADD variable reputation 1
|
|
408
|
+
SET flag hadDrink
|
|
409
|
+
ADD relationship bartender 1
|
|
410
|
+
NOTIFY @notification.bought_drink
|
|
411
|
+
GOTO after_drink
|
|
412
|
+
END
|
|
413
|
+
|
|
414
|
+
# Always available as an out
|
|
415
|
+
CHOICE @bartender.choice.too_rich
|
|
416
|
+
GOTO start
|
|
417
|
+
END
|
|
418
|
+
|
|
419
|
+
NODE after_drink
|
|
420
|
+
BARTENDER: @bartender.after_drink
|
|
421
|
+
|
|
422
|
+
CHOICE @bartender.choice.back_to_chat
|
|
423
|
+
GOTO start
|
|
424
|
+
END
|
|
425
|
+
|
|
426
|
+
NODE work_intro
|
|
427
|
+
BARTENDER: @bartender.work_intro
|
|
428
|
+
|
|
429
|
+
CHOICE @bartender.choice.accept_work
|
|
430
|
+
SET flag acceptedOddJobs
|
|
431
|
+
SET questStage odd_jobs started
|
|
432
|
+
ADD journalEntry odd_jobs_accepted
|
|
433
|
+
ADD relationship bartender 2
|
|
434
|
+
ADD variable reputation 5
|
|
435
|
+
NOTIFY @notification.quest_started
|
|
436
|
+
GOTO work_accepted
|
|
437
|
+
END
|
|
438
|
+
|
|
439
|
+
CHOICE @bartender.choice.not_interested
|
|
440
|
+
GOTO start
|
|
441
|
+
END
|
|
442
|
+
|
|
443
|
+
NODE work_accepted
|
|
444
|
+
BARTENDER: @bartender.work_accepted
|
|
445
|
+
|
|
446
|
+
CHOICE @bartender.choice.on_my_way
|
|
447
|
+
GOTO farewell
|
|
448
|
+
END
|
|
449
|
+
|
|
450
|
+
CHOICE @bartender.choice.more_details
|
|
451
|
+
GOTO work_details
|
|
452
|
+
END
|
|
453
|
+
|
|
454
|
+
NODE work_details
|
|
455
|
+
BARTENDER: @bartender.work_details
|
|
456
|
+
|
|
457
|
+
CHOICE @bartender.choice.got_it
|
|
458
|
+
GOTO farewell
|
|
459
|
+
END
|
|
460
|
+
|
|
461
|
+
NODE work_followup
|
|
462
|
+
BARTENDER: @bartender.work_followup
|
|
463
|
+
|
|
464
|
+
CHOICE @bartender.choice.on_my_way
|
|
465
|
+
GOTO farewell
|
|
466
|
+
END
|
|
467
|
+
|
|
468
|
+
NODE work_done
|
|
469
|
+
BARTENDER: @bartender.work_done
|
|
470
|
+
ADD relationship bartender 3
|
|
471
|
+
|
|
472
|
+
CHOICE @bartender.choice.anytime
|
|
473
|
+
GOTO start
|
|
474
|
+
END
|
|
475
|
+
|
|
476
|
+
NODE farewell
|
|
477
|
+
BARTENDER: @bartender.farewell
|
|
478
|
+
END dialogue
|
|
479
|
+
`), await a(o(t, "content/dialogues/merchant_intro.dlg"), `NODE start
|
|
480
|
+
MERCHANT: @merchant.greeting
|
|
481
|
+
|
|
482
|
+
CHOICE @merchant.choice.browse_wares
|
|
483
|
+
GOTO browse
|
|
484
|
+
END
|
|
485
|
+
|
|
486
|
+
# Only appears when quest is at "started" (bartender sent you)
|
|
487
|
+
CHOICE @merchant.choice.heard_about_work
|
|
488
|
+
REQUIRE questAtStage odd_jobs started
|
|
489
|
+
GOTO odd_jobs_talk
|
|
490
|
+
END
|
|
491
|
+
|
|
492
|
+
# Only appears after talking to merchant about the job
|
|
493
|
+
CHOICE @merchant.choice.delivery_done
|
|
494
|
+
REQUIRE questAtStage odd_jobs talked_to_merchant
|
|
495
|
+
GOTO quest_complete
|
|
496
|
+
END
|
|
497
|
+
|
|
498
|
+
CHOICE @merchant.choice.whats_this_place
|
|
499
|
+
GOTO about_market
|
|
500
|
+
END
|
|
501
|
+
|
|
502
|
+
CHOICE @merchant.choice.goodbye
|
|
503
|
+
GOTO farewell
|
|
504
|
+
END
|
|
505
|
+
|
|
506
|
+
NODE browse
|
|
507
|
+
MERCHANT: @merchant.browse
|
|
508
|
+
|
|
509
|
+
# Conditional purchase — need enough gold (demonstrates: variableGreaterThan)
|
|
510
|
+
CHOICE @merchant.choice.buy_map
|
|
511
|
+
REQUIRE variableGreaterThan gold 19
|
|
512
|
+
ADD variable gold -20
|
|
513
|
+
SET flag boughtMap
|
|
514
|
+
NOTIFY @notification.bought_map
|
|
515
|
+
GOTO sold_map
|
|
516
|
+
END
|
|
517
|
+
|
|
518
|
+
CHOICE @merchant.choice.too_pricey
|
|
519
|
+
GOTO too_pricey
|
|
520
|
+
END
|
|
521
|
+
|
|
522
|
+
NODE sold_map
|
|
523
|
+
MERCHANT: @merchant.sold_map
|
|
524
|
+
|
|
525
|
+
CHOICE @merchant.choice.thanks_info
|
|
526
|
+
GOTO start
|
|
527
|
+
END
|
|
528
|
+
|
|
529
|
+
NODE too_pricey
|
|
530
|
+
MERCHANT: @merchant.too_pricey
|
|
531
|
+
|
|
532
|
+
CHOICE @merchant.choice.back_to_browse
|
|
533
|
+
GOTO start
|
|
534
|
+
END
|
|
535
|
+
|
|
536
|
+
NODE odd_jobs_talk
|
|
537
|
+
MERCHANT: @merchant.odd_jobs
|
|
538
|
+
|
|
539
|
+
CHOICE @merchant.choice.accept_task
|
|
540
|
+
SET questStage odd_jobs talked_to_merchant
|
|
541
|
+
ADD relationship merchant 1
|
|
542
|
+
NOTIFY @notification.quest_updated
|
|
543
|
+
GOTO task_details
|
|
544
|
+
END
|
|
545
|
+
|
|
546
|
+
CHOICE @merchant.choice.need_to_think
|
|
547
|
+
GOTO farewell
|
|
548
|
+
END
|
|
549
|
+
|
|
550
|
+
NODE task_details
|
|
551
|
+
MERCHANT: @merchant.task_details
|
|
552
|
+
|
|
553
|
+
CHOICE @merchant.choice.on_it
|
|
554
|
+
GOTO farewell
|
|
555
|
+
END
|
|
556
|
+
|
|
557
|
+
NODE quest_complete
|
|
558
|
+
MERCHANT: @merchant.quest_complete
|
|
559
|
+
SET questStage odd_jobs complete
|
|
560
|
+
ADD variable gold 50
|
|
561
|
+
ADD variable reputation 10
|
|
562
|
+
ADD relationship merchant 3
|
|
563
|
+
NOTIFY @notification.quest_complete
|
|
564
|
+
|
|
565
|
+
CHOICE @merchant.choice.glad_to_help
|
|
566
|
+
GOTO farewell
|
|
567
|
+
END
|
|
568
|
+
|
|
569
|
+
NODE about_market
|
|
570
|
+
MERCHANT: @merchant.about_market
|
|
571
|
+
|
|
572
|
+
CHOICE @merchant.choice.thanks_info
|
|
573
|
+
GOTO start
|
|
574
|
+
END
|
|
575
|
+
|
|
576
|
+
NODE farewell
|
|
577
|
+
MERCHANT: @merchant.farewell
|
|
578
|
+
END dialogue
|
|
579
|
+
`), await a(o(t, "content/locales/en.yaml"), `# ===================
|
|
580
|
+
# Narrator Intros
|
|
581
|
+
# ===================
|
|
582
|
+
narrator.tavern_intro: "You push open the heavy oak door and step inside. The warmth hits you first, then the smell — stale ale, wood smoke, and something frying in the kitchen. A few patrons hunch over their mugs. Behind the bar, a broad-shouldered man wipes down glasses, watching you with quiet interest."
|
|
583
|
+
narrator.market_intro: "The market square opens up before you, a riot of color and noise. Stalls line every side, draped in bright awnings. Merchants call out their prices, children dart between carts, and somewhere a street musician plays an out-of-tune fiddle."
|
|
584
|
+
narrator.choice.look_around: "Look around."
|
|
585
|
+
|
|
586
|
+
# ===================
|
|
587
|
+
# Locations
|
|
588
|
+
# ===================
|
|
589
|
+
location.tavern.name: "The Salty Dog"
|
|
590
|
+
location.tavern.description: "A dimly lit tavern smelling of salt and stale ale. Candles flicker on rough wooden tables, and the murmur of conversation fills the air."
|
|
591
|
+
location.market.name: "Market Square"
|
|
592
|
+
location.market.description: "A bustling open-air market where merchants hawk their wares. The smell of fresh bread mingles with exotic spices."
|
|
593
|
+
|
|
594
|
+
# ===================
|
|
595
|
+
# Characters
|
|
596
|
+
# ===================
|
|
597
|
+
character.bartender.name: "Marcus the Bartender"
|
|
598
|
+
character.bartender.bio: "A gruff man with kind eyes who's heard every story twice. He keeps the peace at The Salty Dog with a firm hand and a generous pour."
|
|
599
|
+
character.merchant.name: "Elena the Merchant"
|
|
600
|
+
character.merchant.bio: "A sharp-eyed trader who always seems to know the value of everything, and the price of everyone."
|
|
601
|
+
|
|
602
|
+
# ===================
|
|
603
|
+
# Items
|
|
604
|
+
# ===================
|
|
605
|
+
item.old_coin.name: "Old Coin"
|
|
606
|
+
item.old_coin.description: "A tarnished coin with strange markings. It doesn't match any currency you've seen before."
|
|
607
|
+
|
|
608
|
+
# ===================
|
|
609
|
+
# Maps
|
|
610
|
+
# ===================
|
|
611
|
+
map.town.name: "Town"
|
|
612
|
+
|
|
613
|
+
# ===================
|
|
614
|
+
# Quests
|
|
615
|
+
# ===================
|
|
616
|
+
quest.odd_jobs.name: "Odd Jobs"
|
|
617
|
+
quest.odd_jobs.description: "The bartender mentioned someone at the market who could use a hand."
|
|
618
|
+
quest.odd_jobs.stage.started: "Marcus mentioned work at the market. I should talk to the merchant there."
|
|
619
|
+
quest.odd_jobs.stage.talked_to_merchant: "Elena needs a delivery watched. Time to head to the docks."
|
|
620
|
+
quest.odd_jobs.stage.complete: "Job well done. Elena paid 50 gold for the trouble."
|
|
621
|
+
|
|
622
|
+
# ===================
|
|
623
|
+
# Journal Entries
|
|
624
|
+
# ===================
|
|
625
|
+
journal.tavern_discovery.title: "The Salty Dog"
|
|
626
|
+
journal.tavern_discovery.text: "I found a tavern in the docks district called The Salty Dog. The bartender, Marcus, seems well-connected. Word is there's been strange folk around the docks at night."
|
|
627
|
+
journal.odd_jobs_accepted.title: "Work at the Market"
|
|
628
|
+
journal.odd_jobs_accepted.text: "Marcus pointed me toward a merchant in the market square — Elena. She's looking for someone reliable. Should head over and introduce myself."
|
|
629
|
+
journal.market_square.title: "Market Square"
|
|
630
|
+
journal.market_square.text: "The market square is the heart of this little town. Elena has been trading here for fifteen years. A good place to resupply."
|
|
631
|
+
|
|
632
|
+
# ===================
|
|
633
|
+
# Bartender Dialogue
|
|
634
|
+
# ===================
|
|
635
|
+
bartender.greeting: "Welcome to the Salty Dog, stranger. What can I get you?"
|
|
636
|
+
bartender.farewell: "Take care out there. The streets aren't as safe as they used to be."
|
|
637
|
+
|
|
638
|
+
# Choices
|
|
639
|
+
bartender.choice.whats_news: "What's the news around here?"
|
|
640
|
+
bartender.choice.order_drink: "I'll have a drink."
|
|
641
|
+
bartender.choice.looking_for_work: "I'm looking for work."
|
|
642
|
+
bartender.choice.about_that_job: "About that job you mentioned..."
|
|
643
|
+
bartender.choice.thanks_for_work: "Thanks for putting me onto that work."
|
|
644
|
+
bartender.choice.nevermind: "Never mind, just passing through."
|
|
645
|
+
bartender.choice.tell_me_more: "Tell me more about that."
|
|
646
|
+
bartender.choice.interesting: "Interesting. I'll keep that in mind."
|
|
647
|
+
bartender.choice.sure_pay: "Sure, here's five gold."
|
|
648
|
+
bartender.choice.too_rich: "On second thought, I'll pass."
|
|
649
|
+
bartender.choice.back_to_chat: "So, what else?"
|
|
650
|
+
bartender.choice.accept_work: "Sure, I could use the coin."
|
|
651
|
+
bartender.choice.not_interested: "Not right now, thanks."
|
|
652
|
+
bartender.choice.on_my_way: "I'll head there now."
|
|
653
|
+
bartender.choice.more_details: "What exactly do they need?"
|
|
654
|
+
bartender.choice.got_it: "Got it. I'll take care of it."
|
|
655
|
+
bartender.choice.anytime: "Anytime."
|
|
656
|
+
|
|
657
|
+
# Responses
|
|
658
|
+
bartender.rumors: "Word is there's been strange folk poking around the docks at night. And the merchant in the market square has been looking for hired help. Oh — found this on the floor the other day. Strange markings. You can have it."
|
|
659
|
+
bartender.rumors_detail: "Some say they've seen lights out on the old pier after midnight. Probably smugglers, but who knows these days. Keep your wits about you."
|
|
660
|
+
bartender.order_drink: "Five gold for the house special — strongest thing this side of the river. What do you say?"
|
|
661
|
+
bartender.after_drink: "Glad you like it! Brewed it myself. Now then, anything else?"
|
|
662
|
+
bartender.work_intro: "Well now, you look capable enough. There's a merchant over in the market square — Elena — she's been asking around for someone reliable. Tell her Marcus sent you."
|
|
663
|
+
bartender.work_accepted: "Good on you. Elena's fair with pay. Head to the market square when you're ready."
|
|
664
|
+
bartender.work_details: "Something about a shipment that needs escorting. Nothing too dangerous, she says — but then, that's what they always say."
|
|
665
|
+
bartender.work_followup: "Still working on that job for Elena? She's over at the market square if you haven't found her yet. Don't keep her waiting too long."
|
|
666
|
+
bartender.work_done: "I heard Elena's singing your praises. Good work out there — I knew you had it in you."
|
|
667
|
+
|
|
668
|
+
# ===================
|
|
669
|
+
# Merchant Dialogue
|
|
670
|
+
# ===================
|
|
671
|
+
merchant.greeting: "Welcome, welcome! Elena's Emporium has everything you need, and plenty you didn't know you wanted."
|
|
672
|
+
merchant.farewell: "Safe travels! Come back anytime."
|
|
673
|
+
|
|
674
|
+
# Choices
|
|
675
|
+
merchant.choice.browse_wares: "Let me see what you've got."
|
|
676
|
+
merchant.choice.heard_about_work: "Marcus sent me about some work."
|
|
677
|
+
merchant.choice.delivery_done: "The delivery is done."
|
|
678
|
+
merchant.choice.whats_this_place: "Tell me about the market."
|
|
679
|
+
merchant.choice.goodbye: "Just browsing. Goodbye."
|
|
680
|
+
merchant.choice.buy_map: "I'll take the map. (20 gold)"
|
|
681
|
+
merchant.choice.too_pricey: "A bit rich for my blood."
|
|
682
|
+
merchant.choice.accept_task: "I'm in. What do you need?"
|
|
683
|
+
merchant.choice.need_to_think: "Let me think about it."
|
|
684
|
+
merchant.choice.thanks_info: "Thanks for the info."
|
|
685
|
+
merchant.choice.back_to_browse: "I'll keep looking around."
|
|
686
|
+
merchant.choice.on_it: "Consider it done."
|
|
687
|
+
merchant.choice.glad_to_help: "Glad I could help."
|
|
688
|
+
|
|
689
|
+
# Responses
|
|
690
|
+
merchant.browse: "Take a look! I've got a fine map of the area if you're new around here. Only twenty gold — a bargain for not getting lost."
|
|
691
|
+
merchant.sold_map: "Excellent choice! This'll keep you from wandering into the wrong part of town."
|
|
692
|
+
merchant.too_pricey: "Ha! You'd pay twice that if you got lost in the docks at night. But no rush — I'll be here."
|
|
693
|
+
merchant.odd_jobs: "Ah, Marcus sent you? Good man. I've got a shipment coming in and could use someone to keep an eye on things. Interested?"
|
|
694
|
+
merchant.task_details: "Head down to the docks at sundown. You'll meet my contact there — a woman named Ria. Make sure the cargo gets here in one piece."
|
|
695
|
+
merchant.quest_complete: "Everything arrived in perfect condition! You've earned this — fifty gold, as promised. If I need help again, you'll be the first I call."
|
|
696
|
+
merchant.about_market: "Market Square is the heart of this little town. You can find just about anything here if you know where to look. I've been trading here for fifteen years."
|
|
697
|
+
|
|
698
|
+
# ===================
|
|
699
|
+
# Notifications
|
|
700
|
+
# ===================
|
|
701
|
+
notification.journal_updated: "Journal Updated"
|
|
702
|
+
notification.quest_started: "New Quest: Odd Jobs"
|
|
703
|
+
notification.quest_updated: "Quest Updated: Odd Jobs"
|
|
704
|
+
notification.quest_complete: "Quest Complete: Odd Jobs (+50 gold, +10 reputation)"
|
|
705
|
+
notification.bought_drink: "Bought a drink (-5 gold)"
|
|
706
|
+
notification.bought_map: "Bought a map (-20 gold)"
|
|
707
|
+
`), console.log(e.green(` ${s} Starter content created`)), console.log(""), console.log(e.dim(" Content includes:")), console.log(e.dim(" 2 locations (tavern, market)")), console.log(e.dim(" 2 characters (bartender, merchant)")), console.log(e.dim(" 1 item (old coin)")), console.log(e.dim(" 1 map (town)")), console.log(e.dim(" 1 quest with 3 stages")), console.log(e.dim(" 3 journal entries")), console.log(e.dim(" 4 dialogues (2 narrator intros, 2 NPC conversations)")), console.log(e.dim(" English locale with all strings")), await a(o(t, ".gitignore"), `node_modules
|
|
708
|
+
dist
|
|
709
|
+
.DS_Store
|
|
710
|
+
*.log
|
|
711
|
+
`);
|
|
712
|
+
}
|
|
713
|
+
k().catch((t) => {
|
|
714
|
+
console.error(e.red(`
|
|
715
|
+
${l} Ruh roh! Something went wrong:`), t), process.exit(1);
|
|
716
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../../node_modules/commander/typings/index.d.ts","../../../node_modules/commander/typings/esm.d.mts","../../../node_modules/crayon.js/types/src/util.d.ts","../../../node_modules/crayon.js/types/src/styles.d.ts","../../../node_modules/crayon.js/types/src/crayon.d.ts","../../../node_modules/crayon.js/types/src/conversions.d.ts","../../../node_modules/crayon.js/types/mod.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/rollup/dist/rollup.d.ts","../../../node_modules/rollup/dist/parseast.d.ts","../../../node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/vite/types/customevent.d.ts","../../../node_modules/vite/types/hot.d.ts","../../../node_modules/vite/dist/node/modulerunnertransport.d-dj_me5sf.d.ts","../../../node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/esbuild/lib/main.d.ts","../../../node_modules/source-map-js/source-map.d.ts","../../../node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/postcss/lib/input.d.ts","../../../node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/postcss/lib/declaration.d.ts","../../../node_modules/postcss/lib/root.d.ts","../../../node_modules/postcss/lib/warning.d.ts","../../../node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/postcss/lib/processor.d.ts","../../../node_modules/postcss/lib/result.d.ts","../../../node_modules/postcss/lib/document.d.ts","../../../node_modules/postcss/lib/rule.d.ts","../../../node_modules/postcss/lib/node.d.ts","../../../node_modules/postcss/lib/comment.d.ts","../../../node_modules/postcss/lib/container.d.ts","../../../node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/postcss/lib/list.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/postcss/lib/postcss.d.mts","../../../node_modules/vite/types/internal/lightningcssoptions.d.ts","../../../node_modules/vite/types/internal/csspreprocessoroptions.d.ts","../../../node_modules/vite/types/importglob.d.ts","../../../node_modules/vite/types/metadata.d.ts","../../../node_modules/vite/dist/node/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@vitejs/plugin-react/dist/index.d.ts","../../../node_modules/readdirp/esm/index.d.ts","../../../node_modules/chokidar/esm/handler.d.ts","../../../node_modules/chokidar/esm/index.d.ts","../../../node_modules/yaml/dist/parse/line-counter.d.ts","../../../node_modules/yaml/dist/errors.d.ts","../../../node_modules/yaml/dist/doc/applyreviver.d.ts","../../../node_modules/yaml/dist/log.d.ts","../../../node_modules/yaml/dist/nodes/tojs.d.ts","../../../node_modules/yaml/dist/nodes/scalar.d.ts","../../../node_modules/yaml/dist/stringify/stringify.d.ts","../../../node_modules/yaml/dist/nodes/collection.d.ts","../../../node_modules/yaml/dist/nodes/yamlseq.d.ts","../../../node_modules/yaml/dist/schema/types.d.ts","../../../node_modules/yaml/dist/schema/common/map.d.ts","../../../node_modules/yaml/dist/schema/common/seq.d.ts","../../../node_modules/yaml/dist/schema/common/string.d.ts","../../../node_modules/yaml/dist/stringify/foldflowlines.d.ts","../../../node_modules/yaml/dist/stringify/stringifynumber.d.ts","../../../node_modules/yaml/dist/stringify/stringifystring.d.ts","../../../node_modules/yaml/dist/util.d.ts","../../../node_modules/yaml/dist/nodes/yamlmap.d.ts","../../../node_modules/yaml/dist/nodes/identity.d.ts","../../../node_modules/yaml/dist/schema/schema.d.ts","../../../node_modules/yaml/dist/doc/createnode.d.ts","../../../node_modules/yaml/dist/nodes/addpairtojsmap.d.ts","../../../node_modules/yaml/dist/nodes/pair.d.ts","../../../node_modules/yaml/dist/schema/tags.d.ts","../../../node_modules/yaml/dist/options.d.ts","../../../node_modules/yaml/dist/nodes/node.d.ts","../../../node_modules/yaml/dist/parse/cst-scalar.d.ts","../../../node_modules/yaml/dist/parse/cst-stringify.d.ts","../../../node_modules/yaml/dist/parse/cst-visit.d.ts","../../../node_modules/yaml/dist/parse/cst.d.ts","../../../node_modules/yaml/dist/nodes/alias.d.ts","../../../node_modules/yaml/dist/doc/document.d.ts","../../../node_modules/yaml/dist/doc/directives.d.ts","../../../node_modules/yaml/dist/compose/composer.d.ts","../../../node_modules/yaml/dist/parse/lexer.d.ts","../../../node_modules/yaml/dist/parse/parser.d.ts","../../../node_modules/yaml/dist/public-api.d.ts","../../../node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts","../../../node_modules/yaml/dist/schema/yaml-1.1/set.d.ts","../../../node_modules/yaml/dist/visit.d.ts","../../../node_modules/yaml/dist/index.d.ts","../../core/dist/types/conditions.d.ts","../../core/dist/types/effects.d.ts","../../core/dist/types/entities.d.ts","../../core/dist/types/state.d.ts","../../core/dist/types/snapshot.d.ts","../../core/dist/types/save.d.ts","../../core/dist/types/registry.d.ts","../../core/dist/conditions/index.d.ts","../../core/dist/effects/index.d.ts","../../core/dist/localization/index.d.ts","../../core/dist/snapshot/index.d.ts","../../core/dist/engine/index.d.ts","../../core/dist/parser/index.d.ts","../../core/dist/index.d.ts","../src/commands/dev.ts","../src/commands/build.ts","../src/cli.ts","../../../node_modules/kleur/kleur.d.ts","../../../node_modules/@types/prompts/index.d.ts","../src/create.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts"],"fileIdsList":[[75,129,146,147,214],[75,129,146,147],[75,129,146,147,214,215,216,217,218],[75,129,146,147,214,216],[75,126,127,129,146,147],[75,128,129,146,147],[129,146,147],[75,129,134,146,147,164],[75,129,130,135,140,146,147,149,161,172],[75,129,130,131,140,146,147,149],[75,129,132,146,147,173],[75,129,133,134,141,146,147,150],[75,129,134,146,147,161,169],[75,129,135,137,140,146,147,149],[75,128,129,136,146,147],[75,129,137,138,146,147],[75,129,139,140,146,147],[75,128,129,140,146,147],[75,129,140,141,142,146,147,161,172],[75,129,140,141,142,146,147,156,161,164],[75,121,129,137,140,143,146,147,149,161,172],[75,129,140,141,143,144,146,147,149,161,169,172],[75,129,143,145,146,147,161,169,172],[73,74,75,76,77,78,79,80,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],[75,129,140,146,147],[75,129,146,147,148,172],[75,129,137,140,146,147,149,161],[75,129,146,147,150],[75,129,146,147,151],[75,128,129,146,147,152],[75,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],[75,129,146,147,154],[75,129,146,147,155],[75,129,140,146,147,156,157],[75,129,146,147,156,158,173,175],[75,129,141,146,147],[75,129,140,146,147,161,162,164],[75,129,146,147,163,164],[75,129,146,147,161,162],[75,129,146,147,164],[75,129,146,147,165],[75,126,129,146,147,161,166,172],[75,129,140,146,147,167,168],[75,129,146,147,167,168],[75,129,134,146,147,149,161,169],[75,129,146,147,170],[75,129,146,147,149,171],[75,129,143,146,147,155,172],[75,129,134,146,147,173],[75,129,146,147,161,174],[75,129,146,147,148,175],[75,129,146,147,176],[75,129,134,146,147],[75,121,129,146,147],[75,129,146,147,177],[75,121,129,140,142,146,147,152,161,164,172,174,175,177],[75,129,146,147,161,178],[75,129,146,147,161,179,282],[75,129,146,147,287],[75,129,146,147,285,286],[75,129,146,147,213,219],[75,129,141,146,147,221,223],[75,129,140,141,146,147,221,222],[66,75,129,146,147],[68,69,70,71,75,129,146,147],[69,75,129,146,147],[68,75,129,146,147],[75,129,146,147,204],[75,129,146,147,202,204],[75,129,146,147,193,201,202,203,205,207],[75,129,146,147,191],[75,129,146,147,194,199,204,207],[75,129,146,147,190,207],[75,129,146,147,194,195,198,199,200,207],[75,129,146,147,194,195,196,198,199,207],[75,129,146,147,191,192,193,194,195,199,200,201,203,204,205,207],[75,129,146,147,207],[75,129,146,147,189,191,192,193,194,195,196,198,199,200,201,202,203,204,205,206],[75,129,146,147,189,207],[75,129,146,147,194,196,197,199,200,207],[75,129,146,147,198,207],[75,129,146,147,199,200,204,207],[75,129,146,147,192,202],[75,129,141,146,147,161],[75,129,146,147,181,212,213],[75,129,146,147,180,181],[75,87,90,93,94,129,146,147,172],[75,90,129,146,147,161,172],[75,90,94,129,146,147,172],[75,129,146,147,161],[75,84,129,146,147],[75,88,129,146,147],[75,86,87,90,129,146,147,172],[75,129,146,147,149,169],[75,129,146,147,179],[75,84,129,146,147,179],[75,86,90,129,146,147,149,172],[75,81,82,83,85,89,129,140,146,147,161,172],[75,90,98,106,129,146,147],[75,82,88,129,146,147],[75,90,115,116,129,146,147],[75,82,85,90,129,146,147,164,172,179],[75,90,129,146,147],[75,86,90,129,146,147,172],[75,81,129,146,147],[75,84,85,86,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,129,146,147],[75,90,108,111,129,137,146,147],[75,90,98,99,100,129,146,147],[75,88,90,99,101,129,146,147],[75,89,129,146,147],[75,82,84,90,129,146,147],[75,90,94,99,101,129,146,147],[75,94,129,146,147],[75,88,90,93,129,146,147,172],[75,82,86,90,98,129,146,147],[75,90,108,129,146,147],[75,101,129,146,147],[75,84,90,115,129,146,147,164,177,179],[75,129,140,141,143,144,145,146,147,149,161,169,172,178,179,181,182,183,184,186,187,188,208,209,210,211,212,213],[75,129,146,147,183,184,185,186],[75,129,146,147,183],[75,129,146,147,184],[75,129,146,147,181,213],[75,129,146,147,225,248,249,253,255,256],[75,129,146,147,233,243,249,255],[75,129,146,147,255],[75,129,146,147,225,229,232,241,242,243,246,248,249,254,256],[75,129,146,147,224],[75,129,146,147,224,225,229,232,233,241,242,243,246,247,248,249,253,254,255,257,258,259,260,261,262,263],[75,129,146,147,228,241,246],[75,129,146,147,228,229,230,232,241,249,253,255],[75,129,146,147,242,243,249],[75,129,146,147,229,232,241,246,249,254,255],[75,129,146,147,228,229,230,232,241,242,248,253,254,255],[75,129,146,147,228,230,242,243,244,245,249,253],[75,129,146,147,228,249,253],[75,129,146,147,249,255],[75,129,146,147,228,229,230,231,240,243,246,249,253],[75,129,146,147,228,229,230,231,243,244,246,249,253],[75,129,146,147,224,226,227,229,233,243,246,247,249,256],[75,129,146,147,225,229,249,253],[75,129,146,147,253],[75,129,146,147,250,251,252],[75,129,146,147,226,248,249,255,257],[75,129,146,147,233],[75,129,146,147,233,242,246,248],[75,129,146,147,233,248],[75,129,146,147,229,230,232,241,243,244,248,249],[75,129,146,147,228,232,233,240,241,243],[75,129,146,147,228,229,230,233,240,241,243,246],[75,129,146,147,248,254,255],[75,129,146,147,229],[75,129,146,147,229,230],[75,129,146,147,227,228,230,234,235,236,237,238,239,241,244,246],[67,72,75,129,146,147,279,280],[75,129,146,147,151,213,220],[72,75,129,142,146,147,151,213,220,223,264,278],[72,75,129,142,146,147,151,283],[75,129,146,147,265,268],[75,129,146,147,266,268],[75,129,146,147,267,268,269,270,271],[75,129,146,147,265,266,267,268,269,270,271,272,273,274,275,276,277],[75,129,146,147,271],[75,129,146,147,265,266,267],[75,129,146,147,268,269,271],[75,129,146,147,265,266],[75,129,146,147,267],[75,129,146,147,268]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"a722a71d8f3cb0028857b12579c7eca55acc76bf34e5db7eaf6fe817b985f9c3","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"e946e1578ff9ab07b0100c09c16066537042afe2cfe4cceac21863f802b0898a","impliedFormat":1},{"version":"e1a881b04c14ca99e09686c4b6aa010836980e7835a9775654e34ca15f1d97de","impliedFormat":1},{"version":"51cb183a7d814a41b9db646f862d5ea3cbc9f9b4d8b5f50bbfb6f6047e026d54","impliedFormat":1},{"version":"7599e74c929d6e877ff31c06b69bccede7f610fe3b05f49530a75f0a6f16edb8","impliedFormat":1},{"version":"ea0f9f113ca9a71ad712744b93085c6587ddde1b6fe2edf82952e05c9a8ab296","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b21e13ed07d0df176ae31d6b7f01f7b17d66dbeb489c0d31d00de2ca14883da","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f929f0b6b3421a2d34344b0f421f45aeb2c84ad365ebf29d04312023b3accc58","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"9cdfd0a77dd7eeed57e91d3f449274ea2470abdb7e167a2f146b1ea8de6224e0","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"e8aabbee5e7b9101b03bb4222607d57f38859b8115a8050a4eb91b4ee43a3a73","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"c0bb1b65757c72bbf8ddf7eaa532223bacf58041ff16c883e76f45506596e925","impliedFormat":1},{"version":"c8b85f7aed29f8f52b813f800611406b0bfe5cf3224d20a4bdda7c7f73ce368e","affectsGlobalScope":true,"impliedFormat":1},{"version":"145dcf25fd4967c610c53d93d7bc4dce8fbb1b6dd7935362472d4ae49363c7ba","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"9043daec15206650fa119bad6b8d70136021ea7d52673a71f79a87a42ee38d44","affectsGlobalScope":true,"impliedFormat":1},{"version":"d00e86e2e74089bf416b4c5cc433d88eb2e09dcef5e3c5b79ca04a36d8d8d6f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"65faec1b4bd63564aeec33eab9cacfaefd84ce2400f03903a71a1841fbce195f","impliedFormat":1},{"version":"b33b74b97952d9bf4fbd2951dcfbb5136656ddb310ce1c84518aaa77dbca9992","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"8d117798e5228c7fdff887f44851d07320739c5cc0d511afae8f250c51809a36","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"8e7c3bed5f19ade8f911677ddc83052e2283e25b0a8654cd89db9079d4b323c7","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"a1a3cbade20430dcb7f00fa23c2f020e827d5620c0d44213db1665c53231f1fc","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"69e0a41d620fb678a899c65e073413b452f4db321b858fe422ad93fd686cd49a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3585d6891e9ea18e07d0755a6d90d71331558ba5dc5561933553209f886db106","affectsGlobalScope":true,"impliedFormat":1},{"version":"86be71cbb0593468644932a6eb96d527cfa600cecfc0b698af5f52e51804451d","impliedFormat":1},{"version":"84dd6b0fd2505135692935599d6606f50a421389e8d4535194bcded307ee5cf2","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"db19ea066fdc5f97df3f769e582ae3000380ab7942e266654bdb1a4650d19eaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a034894bf28c220a331c7a0229d33564803abe2ac1b9a5feee91b6b9b6e88ea","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"11443a1dcfaaa404c68d53368b5b818712b95dd19f188cab1669c39bee8b84b3","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"035d0934d304483f07148427a5bd5b98ac265dae914a6b49749fe23fbd893ec7","impliedFormat":99},{"version":"e2ed5b81cbed3a511b21a18ab2539e79ac1f4bc1d1d28f8d35d8104caa3b429f","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"7870becb94cbc11d2d01b77c4422589adcba4d8e59f726246d40cd0d129784d8","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"f70b8328a15ca1d10b1436b691e134a49bc30dcf3183a69bfaa7ba77e1b78ecd","impliedFormat":1},{"version":"683b035f752e318d02e303894e767a1ac16ac4493baa2b593195d7976e6b7310","impliedFormat":99},{"version":"556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"26e0ffceb2198feb1ef460d5d14111c69ad07d44c5a67fd4bfeb74c969aa9afb","impliedFormat":99},{"version":"d3a6e1ff56a0a760b1b36eb34925042a8148d8e0ab4c2d28fcbdbf40fb5a8acc","impliedFormat":99},{"version":"839114ddc4236b8304df6a6c7cc6784913b7c69a63afd4ecb36fc5c9c57276fc","impliedFormat":99},{"version":"cc4ecb6238b32248c6b58577a2ac2a6223c002c1a9e3f1f9424a89f44aa84f0a","impliedFormat":99},{"version":"3dfcd0a3bfa70b53135db3cf2e4ddcb7eccc3e4418ce833ae24eecd06928328f","impliedFormat":1},{"version":"33e12c9940a7f23d50742e5925a193bb4af9b23ee159251e6bc50bb9070618a1","impliedFormat":1},{"version":"bc41a8e33caf4d193b0c49ec70d1e8db5ce3312eafe5447c6c1d5a2084fece12","impliedFormat":1},{"version":"7c33f11a56ba4e79efc4ddae85f8a4a888e216d2bf66c863f344d403437ffc74","impliedFormat":1},{"version":"cbef1abd1f8987dee5c9ed8c768a880fbfbff7f7053e063403090f48335c8e4e","impliedFormat":1},{"version":"9249603c91a859973e8f481b67f50d8d0b3fa43e37878f9dfc4c70313ad63065","impliedFormat":1},{"version":"0132f67b7f128d4a47324f48d0918ec73cf4220a5e9ea8bd92b115397911254f","impliedFormat":1},{"version":"06b37153d512000a91cad6fcbae75ca795ecec00469effaa8916101a00d5b9e2","impliedFormat":1},{"version":"8a641e3402f2988bf993007bd814faba348b813fc4058fce5b06de3e81ed511a","impliedFormat":1},{"version":"281744305ba2dcb2d80e2021fae211b1b07e5d85cfc8e36f4520325fcf698dbb","impliedFormat":1},{"version":"e1b042779d17b69719d34f31822ddba8aa6f5eb15f221b02105785f4447e7f5b","impliedFormat":1},{"version":"6858337936b90bd31f1674c43bedda2edbab2a488d04adc02512aef47c792fd0","impliedFormat":1},{"version":"15cb3deecc635efb26133990f521f7f1cc95665d5db8d87e5056beaea564b0ce","impliedFormat":1},{"version":"e27605c8932e75b14e742558a4c3101d9f4fdd32e7e9a056b2ca83f37f973945","impliedFormat":1},{"version":"f0443725119ecde74b0d75c82555b1f95ee1c3cd371558e5528a83d1de8109de","impliedFormat":1},{"version":"7794810c4b3f03d2faa81189504b953a73eb80e5662a90e9030ea9a9a359a66f","impliedFormat":1},{"version":"b074516a691a30279f0fe6dff33cd76359c1daacf4ae024659e44a68756de602","impliedFormat":1},{"version":"57cbeb55ec95326d068a2ce33403e1b795f2113487f07c1f53b1eaf9c21ff2ce","impliedFormat":1},{"version":"a00362ee43d422bcd8239110b8b5da39f1122651a1809be83a518b1298fa6af8","impliedFormat":1},{"version":"a820499a28a5fcdbf4baec05cc069362041d735520ab5a94c38cc44db7df614c","impliedFormat":1},{"version":"33a6d7b07c85ac0cef9a021b78b52e2d901d2ebfd5458db68f229ca482c1910c","impliedFormat":1},{"version":"8f648847b52020c1c0cdfcc40d7bcab72ea470201a631004fde4d85ccbc0c4c7","impliedFormat":1},{"version":"7821d3b702e0c672329c4d036c7037ecf2e5e758eceb5e740dde1355606dc9f2","impliedFormat":1},{"version":"213e4f26ee5853e8ba314ecad3a73cd06ab244a0809749bb777cbc1619aa07d8","impliedFormat":1},{"version":"cafd6ef91d96228a618436c03d60fe5078f43d32df4c39ebd9f3f7d013dbe337","impliedFormat":1},{"version":"961fa18e1658f3f8e38c23e1a9bc3f4d7be75b056a94700291d5f82f57524ff0","impliedFormat":1},{"version":"079c02dc397960da2786db71d7c9e716475377bcedd81dede034f8a9f94c71b8","impliedFormat":1},{"version":"a7595cbb1b354b54dff14a6bb87d471e6d53b63de101a1b4d9d82d3d3f6eddec","impliedFormat":1},{"version":"1f49a85a97e01a26245fd74232b3b301ebe408fb4e969e72e537aa6ffbd3fe14","impliedFormat":1},{"version":"9c38563e4eabfffa597c4d6b9aa16e11e7f9a636f0dd80dd0a8bce1f6f0b2108","impliedFormat":1},{"version":"a971cba9f67e1c87014a2a544c24bc58bad1983970dfa66051b42ae441da1f46","impliedFormat":1},{"version":"df9b266bceb94167c2e8ae25db37d31a28de02ae89ff58e8174708afdec26738","impliedFormat":1},{"version":"9e5b8137b7ee679d31b35221503282561e764116d8b007c5419b6f9d60765683","impliedFormat":1},{"version":"3e7ae921a43416e155d7bbe5b4229b7686cfa6a20af0a3ae5a79dfe127355c21","impliedFormat":1},{"version":"c7200ae85e414d5ed1d3c9507ae38c097050161f57eb1a70bef021d796af87a7","impliedFormat":1},{"version":"4edb4ff36b17b2cf19014b2c901a6bdcdd0d8f732bcf3a11aa6fd0a111198e27","impliedFormat":1},{"version":"810f0d14ce416a343dcdd0d3074c38c094505e664c90636b113d048471c292e2","impliedFormat":1},{"version":"9c37dc73c97cd17686edc94cc534486509e479a1b8809ef783067b7dde5c6713","impliedFormat":1},{"version":"5fe2ef29b33889d3279d5bc92f8e554ffd32145a02f48d272d30fc1eea8b4c89","impliedFormat":1},{"version":"e39090ffe9c45c59082c3746e2aa2546dc53e3c5eeb4ad83f8210be7e2e58022","impliedFormat":1},{"version":"9f85a1810d42f75e1abb4fc94be585aae1fdac8ae752c76b912d95aef61bf5de","impliedFormat":1},"dcd373d835298e64cb5d5e4597a62aad73ba343cea6404d87d010514a75576b8","fbb8cbc1e5e17afb9ea465c9f1ca4dc7c7b3a4ed40b5325f644202c147326c5d","6cf8defd91b7281586a6388dfb27e6d2fe049add463ee0a6d27bfaed6adf701c","6fff754c3d348971036884469edbbaaf64c6e5ff452aba4854ac1f16498adc0f","7d26a3e59ee4f6580c05d5abcc13202d3b0c6b89489b90e1df76df6a30f2aaf1","0c0a572898a4b515c2a2b6cdbff925c0612a1588f51217f93efca21770c076d1","026f1b2fcd0b3295e889f03bb101ec90ccc3c76e4d3b4dbb5f3537e957eaa1eb","6392e4d06eb2762faf7303aa41b92d23fd5ad66309f1c57f89ad1c6086ae8bc2","8fc6f464550b89ee260f708e7af0eef88fb520cf39cf86eebdc5adea1950e5ec","a76c8101df57d8d763093febe03cd342f603dc17b60706542316c03e58e59cd0","66e9f207c03d41359bf33a048cda49fbe48b10fa29289d120eaa538456c85f28","52b513eb781c1170f7467cd87ffe12b6bd35c530d1ba31634044bbc0e4e754e2","31b1936bc25f5184d594adabad011ca1f0357183284de7e3cf2b6bd0bd155afe","daefcf691eab258e8836d4cc4eb9c1e126184c5c0e7e4568d1188d7f5a886126",{"version":"988819c21d62439177fcbb2d91e30c3149e33b2212e6155a88e2f1f09e2b80e2","signature":"0d4b7d8d1279a1b152fb4fd039f86f774e683592e1bdfcb7c073a669187871fc"},{"version":"c9de8be4335bbd3b36e11ad84d635eb863c5860ad4c73c9be3a322e86873585a","signature":"a816a5b0df886407f612bfcdb2247ea84dd06e367fef26b15ebb5e16de0d9de0"},{"version":"0cce931a60dfebf7aa14be3402e107936ed55a6c6175fde53652ccece1dfe283","signature":"ea56dd00f02e04e6c51806edbbe346db5e4a02c6ee1a074f769b57a704e9895e"},{"version":"6ab263df6465e2ed8f1d02922bae18bb5b407020767de021449a4c509859b22e","impliedFormat":1},{"version":"6805621d9f970cda51ab1516e051febe5f3ec0e45b371c7ad98ac2700d13d57c","impliedFormat":1},{"version":"761f65fba8a67624f3f8458a7522ab545a7a88d8be5b196f49b9137c2801f2a7","signature":"ccc70c5443962efefe5d1d018f7af83a33fdde31444969b51567b9f49ad4e21f"},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1}],"root":[[279,281],284],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[216,1],[214,2],[219,3],[215,1],[217,4],[218,1],[180,2],[126,5],[127,5],[128,6],[75,7],[129,8],[130,9],[131,10],[73,2],[132,11],[133,12],[134,13],[135,14],[136,15],[137,16],[138,16],[139,17],[140,18],[141,19],[142,20],[76,2],[74,2],[143,21],[144,22],[145,23],[179,24],[146,25],[147,2],[148,26],[149,27],[150,28],[151,29],[152,30],[153,31],[154,32],[155,33],[156,34],[157,34],[158,35],[159,2],[160,36],[161,37],[163,38],[162,39],[164,40],[165,41],[166,42],[167,43],[168,44],[169,45],[170,46],[171,47],[172,48],[173,49],[174,50],[175,51],[176,52],[77,2],[78,53],[79,2],[80,2],[122,54],[123,55],[124,2],[125,40],[177,56],[178,57],[283,58],[288,59],[285,2],[287,60],[220,61],[222,62],[223,63],[67,64],[66,2],[72,65],[71,2],[70,66],[69,67],[68,2],[286,2],[188,2],[282,2],[205,68],[203,69],[204,70],[192,71],[193,69],[200,72],[191,73],[196,74],[206,2],[197,75],[202,76],[208,77],[207,78],[190,79],[198,80],[199,81],[194,82],[201,68],[195,83],[221,84],[182,85],[181,86],[189,2],[63,2],[64,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[65,2],[57,2],[58,2],[60,2],[59,2],[1,2],[61,2],[62,2],[14,2],[13,2],[98,87],[110,88],[96,89],[111,90],[120,91],[87,92],[88,93],[86,94],[119,95],[114,96],[118,97],[90,98],[107,99],[89,100],[117,101],[84,102],[85,96],[91,103],[92,2],[97,104],[95,103],[82,105],[121,106],[112,107],[101,108],[100,103],[102,109],[105,110],[99,111],[103,112],[115,95],[93,113],[94,114],[106,115],[83,90],[109,116],[108,103],[104,117],[113,2],[81,2],[116,118],[213,119],[187,120],[186,121],[184,121],[183,2],[185,122],[211,2],[210,2],[209,2],[212,123],[257,124],[226,2],[244,125],[256,126],[255,127],[225,128],[264,129],[227,2],[245,130],[254,131],[231,132],[242,133],[249,134],[246,135],[229,136],[228,137],[241,138],[232,139],[248,140],[250,141],[251,142],[252,142],[253,143],[258,2],[224,2],[259,142],[260,144],[234,145],[235,145],[236,145],[243,146],[247,147],[233,148],[261,149],[262,150],[237,2],[230,151],[238,152],[239,153],[240,154],[263,133],[281,155],[280,156],[279,157],[284,158],[272,159],[273,160],[276,161],[278,162],[274,163],[277,164],[275,165],[265,2],[266,2],[267,166],[271,167],[270,168],[269,168],[268,2]],"latestChangedDtsFile":"./create.d.ts","version":"5.9.3"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@doodle-engine/cli",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "CLI tools for Doodle Engine game development",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-doodle-engine-game": "./dist/create.js",
|
|
8
|
+
"doodle": "./dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"dev": "vite build --watch",
|
|
15
|
+
"build": "vite build && tsc -p tsconfig.json",
|
|
16
|
+
"test": "echo no tests"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@doodle-engine/core": "workspace:*",
|
|
20
|
+
"@doodle-engine/react": "workspace:*",
|
|
21
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
22
|
+
"chokidar": "^4.0.0",
|
|
23
|
+
"commander": "^12.0.0",
|
|
24
|
+
"crayon.js": "^3.3.0",
|
|
25
|
+
"prompts": "^2.4.2",
|
|
26
|
+
"vite": "^6.0.0",
|
|
27
|
+
"yaml": "^2.4.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@types/node": "^24.0.0",
|
|
31
|
+
"@types/prompts": "^2.4.9",
|
|
32
|
+
"typescript": "^5.7.0",
|
|
33
|
+
"vitest": "^2.0.0"
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/katbella/doodle-engine.git",
|
|
41
|
+
"directory": "packages/cli"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=24.0.0"
|
|
45
|
+
}
|
|
46
|
+
}
|