@lark-base-open/base-database-cli 1.0.0
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/CHANGELOG.md +11 -0
- package/README.md +169 -0
- package/changelog/CHANGELOG-0.x.md +103 -0
- package/config-schema.json +28 -0
- package/dist/agent-guide.d.ts +18 -0
- package/dist/agent-guide.d.ts.map +1 -0
- package/dist/agent-guide.js +30 -0
- package/dist/agent-guide.js.map +1 -0
- package/dist/archive.d.ts +16 -0
- package/dist/archive.d.ts.map +1 -0
- package/dist/archive.js +162 -0
- package/dist/archive.js.map +1 -0
- package/dist/assets.d.ts +4 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +6 -0
- package/dist/assets.js.map +1 -0
- package/dist/auth.d.ts +17 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +63 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +15 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +50 -0
- package/dist/config.js.map +1 -0
- package/dist/database-skill.d.ts +22 -0
- package/dist/database-skill.d.ts.map +1 -0
- package/dist/database-skill.js +135 -0
- package/dist/database-skill.js.map +1 -0
- package/dist/deploy.d.ts +28 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +476 -0
- package/dist/deploy.js.map +1 -0
- package/dist/environment.d.ts +12 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +27 -0
- package/dist/environment.js.map +1 -0
- package/dist/function-schema.d.ts +3 -0
- package/dist/function-schema.d.ts.map +1 -0
- package/dist/function-schema.js +310 -0
- package/dist/function-schema.js.map +1 -0
- package/dist/init.d.ts +77 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +418 -0
- package/dist/init.js.map +1 -0
- package/dist/lark-cli.d.ts +8 -0
- package/dist/lark-cli.d.ts.map +1 -0
- package/dist/lark-cli.js +228 -0
- package/dist/lark-cli.js.map +1 -0
- package/dist/npm.d.ts +13 -0
- package/dist/npm.d.ts.map +1 -0
- package/dist/npm.js +93 -0
- package/dist/npm.js.map +1 -0
- package/dist/page-title.d.ts +3 -0
- package/dist/page-title.d.ts.map +1 -0
- package/dist/page-title.js +47 -0
- package/dist/page-title.js.map +1 -0
- package/dist/preview-receipt.d.ts +23 -0
- package/dist/preview-receipt.d.ts.map +1 -0
- package/dist/preview-receipt.js +133 -0
- package/dist/preview-receipt.js.map +1 -0
- package/dist/process.d.ts +17 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +53 -0
- package/dist/process.js.map +1 -0
- package/dist/program.d.ts +12 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +204 -0
- package/dist/program.js.map +1 -0
- package/dist/pull.d.ts +18 -0
- package/dist/pull.d.ts.map +1 -0
- package/dist/pull.js +324 -0
- package/dist/pull.js.map +1 -0
- package/dist/skill.d.ts +7 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +28 -0
- package/dist/skill.js.map +1 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/workspace-fingerprint.d.ts +8 -0
- package/dist/workspace-fingerprint.d.ts.map +1 -0
- package/dist/workspace-fingerprint.js +64 -0
- package/dist/workspace-fingerprint.js.map +1 -0
- package/package.json +54 -0
- package/skills/lark-base-database/SKILL.md +307 -0
- package/skills/lark-base-database/references/base-capability-routing.md +81 -0
- package/skills/lark-base-database/references/base-sql-unsupported.md +42 -0
- package/skills/lark-base-database/references/database-capability-skill.md +24 -0
- package/skills/lark-base-database/references/development.md +642 -0
- package/skills/lark-base-database/references/file-transfer.md +275 -0
- package/skills/lark-base-database/references/permission-design.md +138 -0
- package/skills/lark-base-database/references/release.md +81 -0
- package/skills/lark-base-database/references/sql-function.md +276 -0
- package/skills/lark-base-database/references/style-guide.md +88 -0
- package/templates/database-capability/SKILL.md.tmpl +41 -0
- package/templates/database-starter/README.md +11 -0
- package/templates/database-starter/gitignore +3 -0
- package/templates/database-starter/page/.prettierignore +4 -0
- package/templates/database-starter/page/.prettierrc.json +7 -0
- package/templates/database-starter/page/README.md +29 -0
- package/templates/database-starter/page/index.html +24 -0
- package/templates/database-starter/page/package-lock.json +2675 -0
- package/templates/database-starter/page/package.json +44 -0
- package/templates/database-starter/page/public/favicon.png +0 -0
- package/templates/database-starter/page/src/App.tsx +18 -0
- package/templates/database-starter/page/src/components/UserSelectorEditor/index.tsx +267 -0
- package/templates/database-starter/page/src/components/UserSelectorPanel/index.css +32 -0
- package/templates/database-starter/page/src/components/UserSelectorPanel/index.test.ts +24 -0
- package/templates/database-starter/page/src/components/UserSelectorPanel/index.tsx +478 -0
- package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.test.ts +175 -0
- package/templates/database-starter/page/src/components/UserSelectorPanel/user-search.ts +201 -0
- package/templates/database-starter/page/src/components/database-runtime-ready.tsx +21 -0
- package/templates/database-starter/page/src/components/database-user-menu/index.tsx +238 -0
- package/templates/database-starter/page/src/components/feedback/page-state.tsx +66 -0
- package/templates/database-starter/page/src/components/floating-button/chatbot-entry.test.ts +23 -0
- package/templates/database-starter/page/src/components/floating-button/chatbot-entry.tsx +873 -0
- package/templates/database-starter/page/src/components/floating-button/index.tsx +196 -0
- package/templates/database-starter/page/src/components/floating-button/local-chat-panel.test.ts +25 -0
- package/templates/database-starter/page/src/components/floating-button/local-chat-panel.tsx +197 -0
- package/templates/database-starter/page/src/components/floating-button/utils/current-user.ts +56 -0
- package/templates/database-starter/page/src/components/floating-button/utils/env.ts +18 -0
- package/templates/database-starter/page/src/components/floating-button/utils/project-meta.test.ts +79 -0
- package/templates/database-starter/page/src/components/floating-button/utils/project-meta.ts +252 -0
- package/templates/database-starter/page/src/components/ui/button.tsx +56 -0
- package/templates/database-starter/page/src/index.css +67 -0
- package/templates/database-starter/page/src/lib/cn.test.ts +9 -0
- package/templates/database-starter/page/src/lib/cn.ts +7 -0
- package/templates/database-starter/page/src/lib/database-runtime-attachment.test.ts +168 -0
- package/templates/database-starter/page/src/lib/database-runtime-context.test.ts +111 -0
- package/templates/database-starter/page/src/lib/database-runtime.test.ts +103 -0
- package/templates/database-starter/page/src/lib/database-runtime.ts +389 -0
- package/templates/database-starter/page/src/main.tsx +34 -0
- package/templates/database-starter/page/src/vite-env.d.ts +1 -0
- package/templates/database-starter/page/tsconfig.json +23 -0
- package/templates/database-starter/page/vite.config.ts +13 -0
- package/templates/database-starter/prettierignore +1 -0
- package/templates/database-starter/server-functions/.prettierignore +3 -0
- package/templates/database-starter/server-functions/.prettierrc.json +7 -0
- package/templates/database-starter/server-functions/README.md +11 -0
- package/templates/database-starter/server-functions/package-lock.json +1687 -0
- package/templates/database-starter/server-functions/package.json +22 -0
- package/templates/database-starter/server-functions/scripts/run-tsc.mjs +50 -0
- package/templates/database-starter/server-functions/tsconfig.json +20 -0
- package/templates/database-starter/sql/README.md +8 -0
package/dist/init.js
ADDED
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
import { cpSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from 'node:fs';
|
|
2
|
+
import { basename, join, resolve } from 'node:path';
|
|
3
|
+
import { starterRoot } from './assets.js';
|
|
4
|
+
import { CONFIG_FILE_NAME, writeConfig } from './config.js';
|
|
5
|
+
import { ONLINE_RUNTIME_PROFILE, resolveRuntimeProfile, } from './environment.js';
|
|
6
|
+
import { responseData, runLarkCli } from './lark-cli.js';
|
|
7
|
+
import { writePageTitle } from './page-title.js';
|
|
8
|
+
const WRITE_INTERVAL_MS = 2_000;
|
|
9
|
+
function requiredString(value, label) {
|
|
10
|
+
if (typeof value !== 'string' || value.trim() === '') {
|
|
11
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
12
|
+
}
|
|
13
|
+
return value.trim();
|
|
14
|
+
}
|
|
15
|
+
function parseSchema(path) {
|
|
16
|
+
const absolutePath = resolve(path);
|
|
17
|
+
let parsed;
|
|
18
|
+
try {
|
|
19
|
+
parsed = JSON.parse(readFileSync(absolutePath, 'utf8'));
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Unable to read schema ${absolutePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
23
|
+
}
|
|
24
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
25
|
+
throw new Error('Schema must be an object');
|
|
26
|
+
}
|
|
27
|
+
const tables = parsed.tables;
|
|
28
|
+
if (!Array.isArray(tables) || tables.length === 0) {
|
|
29
|
+
throw new Error('Schema must contain at least one table');
|
|
30
|
+
}
|
|
31
|
+
const names = new Set();
|
|
32
|
+
for (const [tableIndex, table] of tables.entries()) {
|
|
33
|
+
if (!table || typeof table !== 'object') {
|
|
34
|
+
throw new Error(`schema.tables[${tableIndex}] must be an object`);
|
|
35
|
+
}
|
|
36
|
+
const candidate = table;
|
|
37
|
+
const name = requiredString(candidate.name, `schema.tables[${tableIndex}].name`);
|
|
38
|
+
if (names.has(name))
|
|
39
|
+
throw new Error(`Duplicate table name: ${name}`);
|
|
40
|
+
names.add(name);
|
|
41
|
+
if (!Array.isArray(candidate.fields) || candidate.fields.length === 0) {
|
|
42
|
+
throw new Error(`schema.tables[${tableIndex}].fields must not be empty`);
|
|
43
|
+
}
|
|
44
|
+
for (const [fieldIndex, field] of candidate.fields.entries()) {
|
|
45
|
+
if (!field || typeof field !== 'object') {
|
|
46
|
+
throw new Error(`schema.tables[${tableIndex}].fields[${fieldIndex}] must be an object`);
|
|
47
|
+
}
|
|
48
|
+
const candidateField = field;
|
|
49
|
+
requiredString(candidateField.name, `schema.tables[${tableIndex}].fields[${fieldIndex}].name`);
|
|
50
|
+
requiredString(candidateField.type, `schema.tables[${tableIndex}].fields[${fieldIndex}].type`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return parsed;
|
|
54
|
+
}
|
|
55
|
+
function tableId(response, label) {
|
|
56
|
+
const data = responseData(response);
|
|
57
|
+
const table = data.table;
|
|
58
|
+
return requiredString(table?.table_id ?? table?.tableId ?? table?.id, `${label} response table ID`);
|
|
59
|
+
}
|
|
60
|
+
function baseToken(response) {
|
|
61
|
+
const data = responseData(response);
|
|
62
|
+
const base = data.base;
|
|
63
|
+
return requiredString(base?.base_token ?? base?.baseToken ?? data.base_token ?? data.baseToken, 'base-create response Base token');
|
|
64
|
+
}
|
|
65
|
+
function baseUrl(response) {
|
|
66
|
+
const data = responseData(response);
|
|
67
|
+
const base = data.base;
|
|
68
|
+
const value = base?.url ?? data.url;
|
|
69
|
+
return typeof value === 'string' && value !== '' ? value : undefined;
|
|
70
|
+
}
|
|
71
|
+
function baseName(response) {
|
|
72
|
+
const data = responseData(response);
|
|
73
|
+
const base = data.base;
|
|
74
|
+
const value = base?.name ?? base?.title ?? data.name ?? data.title;
|
|
75
|
+
return typeof value === 'string' && value.trim() !== ''
|
|
76
|
+
? value.trim()
|
|
77
|
+
: undefined;
|
|
78
|
+
}
|
|
79
|
+
function existingTables(response) {
|
|
80
|
+
const data = responseData(response);
|
|
81
|
+
const value = data.tables ?? data.items;
|
|
82
|
+
if (!Array.isArray(value)) {
|
|
83
|
+
throw new Error('table-list response does not contain tables');
|
|
84
|
+
}
|
|
85
|
+
return value.map((table, index) => {
|
|
86
|
+
if (!table || typeof table !== 'object') {
|
|
87
|
+
throw new Error(`table-list response tables[${index}] must be an object`);
|
|
88
|
+
}
|
|
89
|
+
const item = table;
|
|
90
|
+
return {
|
|
91
|
+
name: requiredString(item.name ?? item.table_name ?? item.tableName, `table-list response tables[${index}] name`),
|
|
92
|
+
tableId: requiredString(item.id ?? item.table_id ?? item.tableId, `table-list response tables[${index}] ID`),
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function hasMoreTables(response, count) {
|
|
97
|
+
const data = responseData(response);
|
|
98
|
+
const hasMore = data.has_more ?? data.hasMore;
|
|
99
|
+
if (typeof hasMore === 'boolean')
|
|
100
|
+
return hasMore;
|
|
101
|
+
const total = data.total;
|
|
102
|
+
return typeof total === 'number' && count < total;
|
|
103
|
+
}
|
|
104
|
+
function listExistingTables(baseTokenValue, env) {
|
|
105
|
+
const limit = 100;
|
|
106
|
+
const tables = [];
|
|
107
|
+
for (let offset = 0;; offset += limit) {
|
|
108
|
+
const response = runLarkCli([
|
|
109
|
+
'base',
|
|
110
|
+
'+table-list',
|
|
111
|
+
'--base-token',
|
|
112
|
+
baseTokenValue,
|
|
113
|
+
'--limit',
|
|
114
|
+
String(limit),
|
|
115
|
+
'--offset',
|
|
116
|
+
String(offset),
|
|
117
|
+
], env);
|
|
118
|
+
const page = existingTables(response);
|
|
119
|
+
tables.push(...page);
|
|
120
|
+
if (!hasMoreTables(response, tables.length))
|
|
121
|
+
break;
|
|
122
|
+
if (page.length === 0) {
|
|
123
|
+
throw new Error('table-list returned has_more without any tables');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (tables.length === 0) {
|
|
127
|
+
throw new Error('Existing Base must contain at least one table');
|
|
128
|
+
}
|
|
129
|
+
return tables;
|
|
130
|
+
}
|
|
131
|
+
function appToken(response) {
|
|
132
|
+
const data = responseData(response);
|
|
133
|
+
const project = data.project;
|
|
134
|
+
return requiredString(data.token ?? project?.token, 'sites/create response token');
|
|
135
|
+
}
|
|
136
|
+
async function pause() {
|
|
137
|
+
await new Promise((resolve) => setTimeout(resolve, WRITE_INTERVAL_MS));
|
|
138
|
+
}
|
|
139
|
+
async function retry(label, attempts, operation) {
|
|
140
|
+
let lastError;
|
|
141
|
+
for (let attempt = 1; attempt <= attempts; attempt += 1) {
|
|
142
|
+
try {
|
|
143
|
+
return operation();
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
lastError = error;
|
|
147
|
+
if (attempt < attempts) {
|
|
148
|
+
process.stderr.write(`${label} failed (${attempt}/${attempts}); retrying in 2s: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
149
|
+
await pause();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
throw lastError;
|
|
154
|
+
}
|
|
155
|
+
function mergeIgnoreFile(target, template) {
|
|
156
|
+
const current = existsSync(target) ? readFileSync(target, 'utf8') : '';
|
|
157
|
+
const currentLines = current.split(/\r?\n/);
|
|
158
|
+
const missingLines = readFileSync(template, 'utf8')
|
|
159
|
+
.split(/\r?\n/)
|
|
160
|
+
.filter((line) => line !== '' && !currentLines.includes(line));
|
|
161
|
+
if (missingLines.length === 0)
|
|
162
|
+
return;
|
|
163
|
+
const separator = current === '' || current.endsWith('\n') ? '' : '\n';
|
|
164
|
+
writeFileSync(target, `${current}${separator}${missingLines.join('\n')}\n`);
|
|
165
|
+
}
|
|
166
|
+
function validateCatalog(value, baseTokenValue, tables) {
|
|
167
|
+
if (!value || typeof value !== 'object') {
|
|
168
|
+
throw new Error('Application Catalog must be an object');
|
|
169
|
+
}
|
|
170
|
+
const catalog = value;
|
|
171
|
+
if (!Array.isArray(catalog.tables) || catalog.tables.length === 0) {
|
|
172
|
+
throw new Error('Application Catalog must contain tables');
|
|
173
|
+
}
|
|
174
|
+
const identities = new Set(catalog.tables.map((table) => {
|
|
175
|
+
const item = table;
|
|
176
|
+
return `${String(item.baseToken)}:${String(item.id)}`;
|
|
177
|
+
}));
|
|
178
|
+
const missing = tables.filter((table) => !identities.has(`${baseTokenValue}:${table.tableId}`));
|
|
179
|
+
if (missing.length > 0) {
|
|
180
|
+
throw new Error(`Catalog does not contain bound tables: ${missing.map((table) => table.name).join(', ')}`);
|
|
181
|
+
}
|
|
182
|
+
return value;
|
|
183
|
+
}
|
|
184
|
+
function catalogBaseAppUrl(catalog) {
|
|
185
|
+
const value = catalog.baseAppUrl;
|
|
186
|
+
return typeof value === 'string' && value.trim() !== '' ? value : undefined;
|
|
187
|
+
}
|
|
188
|
+
export async function initializeProject(options) {
|
|
189
|
+
const runtimeProfile = resolveRuntimeProfile(options.environment, options.runtimeProfile ?? ONLINE_RUNTIME_PROFILE);
|
|
190
|
+
const workspace = resolve(options.directory);
|
|
191
|
+
const databaseName = requiredString(options.name, '--name');
|
|
192
|
+
for (const output of [
|
|
193
|
+
CONFIG_FILE_NAME,
|
|
194
|
+
'catalog.json',
|
|
195
|
+
'page',
|
|
196
|
+
'server-functions',
|
|
197
|
+
'sql',
|
|
198
|
+
]) {
|
|
199
|
+
if (existsSync(join(workspace, output))) {
|
|
200
|
+
throw new Error(`Refusing to overwrite ${join(workspace, output)}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const schemaPath = options.schema?.trim();
|
|
204
|
+
const existingBaseToken = options.baseToken?.trim();
|
|
205
|
+
const existingAppToken = options.appToken?.trim();
|
|
206
|
+
if (Boolean(schemaPath) === Boolean(existingBaseToken)) {
|
|
207
|
+
throw new Error('Provide exactly one of --schema or --base-token');
|
|
208
|
+
}
|
|
209
|
+
const env = await runtimeProfile.commandEnvironment();
|
|
210
|
+
const attempts = runtimeProfile.initAttempts;
|
|
211
|
+
let selectedBaseToken;
|
|
212
|
+
let selectedBaseUrl;
|
|
213
|
+
let selectedBaseName = databaseName;
|
|
214
|
+
let tables;
|
|
215
|
+
const baseSource = existingBaseToken
|
|
216
|
+
? 'existing'
|
|
217
|
+
: 'created';
|
|
218
|
+
if (existingBaseToken) {
|
|
219
|
+
selectedBaseToken = requiredString(existingBaseToken, '--base-token');
|
|
220
|
+
process.stderr.write('Reading existing Base tables...\n');
|
|
221
|
+
const existingBase = runLarkCli(['base', '+base-get', '--base-token', selectedBaseToken], env);
|
|
222
|
+
selectedBaseUrl = baseUrl(existingBase);
|
|
223
|
+
selectedBaseName = baseName(existingBase) ?? selectedBaseToken;
|
|
224
|
+
tables = listExistingTables(selectedBaseToken, env);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
const schema = parseSchema(requiredString(schemaPath, '--schema'));
|
|
228
|
+
const [first, ...remaining] = schema.tables;
|
|
229
|
+
if (!first)
|
|
230
|
+
throw new Error('Schema must contain at least one table');
|
|
231
|
+
process.stderr.write(`Creating Base ${databaseName}...\n`);
|
|
232
|
+
const createdBase = await retry('base-create', attempts, () => runLarkCli([
|
|
233
|
+
'base',
|
|
234
|
+
'+base-create',
|
|
235
|
+
'--name',
|
|
236
|
+
databaseName,
|
|
237
|
+
'--time-zone',
|
|
238
|
+
options.timeZone,
|
|
239
|
+
'--table-name',
|
|
240
|
+
first.name,
|
|
241
|
+
'--fields',
|
|
242
|
+
JSON.stringify(first.fields),
|
|
243
|
+
], env));
|
|
244
|
+
selectedBaseToken = baseToken(createdBase);
|
|
245
|
+
selectedBaseUrl = baseUrl(createdBase);
|
|
246
|
+
tables = [
|
|
247
|
+
{ name: first.name, tableId: tableId(createdBase, 'base-create') },
|
|
248
|
+
];
|
|
249
|
+
for (const table of remaining) {
|
|
250
|
+
await pause();
|
|
251
|
+
process.stderr.write(`Creating table ${table.name}...\n`);
|
|
252
|
+
const response = await retry(`table-create ${table.name}`, attempts, () => runLarkCli([
|
|
253
|
+
'base',
|
|
254
|
+
'+table-create',
|
|
255
|
+
'--base-token',
|
|
256
|
+
selectedBaseToken,
|
|
257
|
+
'--name',
|
|
258
|
+
table.name,
|
|
259
|
+
'--fields',
|
|
260
|
+
JSON.stringify(table.fields),
|
|
261
|
+
], env));
|
|
262
|
+
tables.push({
|
|
263
|
+
name: table.name,
|
|
264
|
+
tableId: tableId(response, 'table-create'),
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
await pause();
|
|
268
|
+
}
|
|
269
|
+
const binding = {
|
|
270
|
+
baseToken: selectedBaseToken,
|
|
271
|
+
tableIds: tables.map((table) => table.tableId),
|
|
272
|
+
};
|
|
273
|
+
let selectedAppToken;
|
|
274
|
+
const databaseSource = existingAppToken
|
|
275
|
+
? 'existing'
|
|
276
|
+
: 'created';
|
|
277
|
+
if (existingAppToken) {
|
|
278
|
+
selectedAppToken = requiredString(existingAppToken, '--app-token');
|
|
279
|
+
process.stderr.write('Updating the existing application metadata...\n');
|
|
280
|
+
runLarkCli([
|
|
281
|
+
'api',
|
|
282
|
+
'PATCH',
|
|
283
|
+
`/open-apis/base/v3/sites/${encodeURIComponent(selectedAppToken)}/update`,
|
|
284
|
+
'--data',
|
|
285
|
+
JSON.stringify({
|
|
286
|
+
name: options.name,
|
|
287
|
+
description: options.description ?? '',
|
|
288
|
+
}),
|
|
289
|
+
], env);
|
|
290
|
+
process.stderr.write('Binding all tables to the existing application...\n');
|
|
291
|
+
runLarkCli([
|
|
292
|
+
'api',
|
|
293
|
+
'POST',
|
|
294
|
+
`/open-apis/base/v3/sites/${encodeURIComponent(selectedAppToken)}/bind_base`,
|
|
295
|
+
'--data',
|
|
296
|
+
JSON.stringify(binding),
|
|
297
|
+
], env);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
process.stderr.write('Creating application and binding all tables...\n');
|
|
301
|
+
const createdDatabase = runLarkCli([
|
|
302
|
+
'api',
|
|
303
|
+
'POST',
|
|
304
|
+
'/open-apis/base/v3/sites/create',
|
|
305
|
+
'--data',
|
|
306
|
+
JSON.stringify({
|
|
307
|
+
name: databaseName,
|
|
308
|
+
description: options.description ?? '',
|
|
309
|
+
baseBindings: [binding],
|
|
310
|
+
}),
|
|
311
|
+
], env);
|
|
312
|
+
selectedAppToken = appToken(createdDatabase);
|
|
313
|
+
}
|
|
314
|
+
const encodedToken = encodeURIComponent(selectedAppToken);
|
|
315
|
+
const catalog = await retry('catalog', 5, () => {
|
|
316
|
+
const response = runLarkCli(['api', 'GET', `/open-apis/base/v3/sites/${encodedToken}/catalog`], env);
|
|
317
|
+
return validateCatalog(response.data, selectedBaseToken, tables);
|
|
318
|
+
});
|
|
319
|
+
mkdirSync(workspace, { recursive: true });
|
|
320
|
+
for (const directory of ['page', 'server-functions', 'sql']) {
|
|
321
|
+
cpSync(join(starterRoot, directory), join(workspace, directory), {
|
|
322
|
+
recursive: true,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
writePageTitle(workspace, databaseName);
|
|
326
|
+
runtimeProfile.prepareWorkspace?.(workspace);
|
|
327
|
+
const readmePath = join(workspace, 'README.md');
|
|
328
|
+
if (!existsSync(readmePath)) {
|
|
329
|
+
cpSync(join(starterRoot, 'README.md'), readmePath);
|
|
330
|
+
}
|
|
331
|
+
mergeIgnoreFile(join(workspace, '.gitignore'), join(starterRoot, 'gitignore'));
|
|
332
|
+
mergeIgnoreFile(join(workspace, '.prettierignore'), join(starterRoot, 'prettierignore'));
|
|
333
|
+
writeFileSync(join(workspace, 'catalog.json'), `${JSON.stringify(catalog, null, 2)}\n`);
|
|
334
|
+
const configPath = writeConfig(workspace, {
|
|
335
|
+
configVersion: 1,
|
|
336
|
+
name: basename(workspace),
|
|
337
|
+
...(runtimeProfile.name === ONLINE_RUNTIME_PROFILE.name
|
|
338
|
+
? {}
|
|
339
|
+
: { runtimeProfile: runtimeProfile.name }),
|
|
340
|
+
appToken: selectedAppToken,
|
|
341
|
+
bindings: {
|
|
342
|
+
MAIN_BASE: {
|
|
343
|
+
type: 'base',
|
|
344
|
+
baseToken: selectedBaseToken,
|
|
345
|
+
tableIds: tables.map((table) => table.tableId),
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
});
|
|
349
|
+
const base = {
|
|
350
|
+
name: selectedBaseName,
|
|
351
|
+
token: selectedBaseToken,
|
|
352
|
+
...(selectedBaseUrl ? { url: selectedBaseUrl } : {}),
|
|
353
|
+
tables,
|
|
354
|
+
};
|
|
355
|
+
const baseAppUrl = catalogBaseAppUrl(catalog);
|
|
356
|
+
return {
|
|
357
|
+
ok: true,
|
|
358
|
+
environment: runtimeProfile.name,
|
|
359
|
+
workspace,
|
|
360
|
+
config: configPath,
|
|
361
|
+
catalog: join(workspace, 'catalog.json'),
|
|
362
|
+
baseSource,
|
|
363
|
+
databaseSource,
|
|
364
|
+
baseToken: selectedBaseToken,
|
|
365
|
+
...(selectedBaseUrl ? { baseUrl: selectedBaseUrl } : {}),
|
|
366
|
+
tables,
|
|
367
|
+
appToken: selectedAppToken,
|
|
368
|
+
...(baseAppUrl ? { baseAppUrl } : {}),
|
|
369
|
+
...(baseSource === 'existing' || databaseSource === 'existing'
|
|
370
|
+
? {
|
|
371
|
+
reused: {
|
|
372
|
+
...(baseSource === 'existing' ? { base } : {}),
|
|
373
|
+
...(databaseSource === 'existing'
|
|
374
|
+
? {
|
|
375
|
+
database: {
|
|
376
|
+
name: databaseName,
|
|
377
|
+
token: selectedAppToken,
|
|
378
|
+
binding,
|
|
379
|
+
},
|
|
380
|
+
}
|
|
381
|
+
: {}),
|
|
382
|
+
},
|
|
383
|
+
}
|
|
384
|
+
: {}),
|
|
385
|
+
created: {
|
|
386
|
+
...(baseSource === 'created' ? { base } : {}),
|
|
387
|
+
...(databaseSource === 'created'
|
|
388
|
+
? {
|
|
389
|
+
database: {
|
|
390
|
+
name: databaseName,
|
|
391
|
+
token: selectedAppToken,
|
|
392
|
+
binding,
|
|
393
|
+
},
|
|
394
|
+
}
|
|
395
|
+
: {}),
|
|
396
|
+
project: {
|
|
397
|
+
directory: workspace,
|
|
398
|
+
config: configPath,
|
|
399
|
+
catalog: join(workspace, 'catalog.json'),
|
|
400
|
+
source: workspace,
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
nextSteps: [
|
|
404
|
+
{
|
|
405
|
+
action: 'develop',
|
|
406
|
+
workingDirectory: workspace,
|
|
407
|
+
description: 'Read catalog.json, then implement the complete Page, SQL Functions, and server-side FaaS Functions under page/, sql/, and server-functions/ in one pass.',
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
action: 'deployPreview',
|
|
411
|
+
workingDirectory: workspace,
|
|
412
|
+
command: runtimeProfile.deployCommand,
|
|
413
|
+
description: 'Run this single command after implementation; it installs, builds, validates, uploads, publishes, and returns baseAppUrl.',
|
|
414
|
+
},
|
|
415
|
+
],
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type RuntimeProfile } from './environment.js';
|
|
2
|
+
import type { CommandResult } from './types.js';
|
|
3
|
+
export declare function resolveLarkCliExecutable(env: NodeJS.ProcessEnv, cwd?: string): string;
|
|
4
|
+
export declare function runLarkCli(args: string[], env: NodeJS.ProcessEnv, cwd?: string): CommandResult;
|
|
5
|
+
export declare function runProjectLarkCli(args: string[], profile?: RuntimeProfile): Promise<void>;
|
|
6
|
+
export declare function responseData(response: CommandResult): Record<string, unknown>;
|
|
7
|
+
export declare function runLarkCliOutput(method: 'GET' | 'POST', path: string, output: string, env: NodeJS.ProcessEnv, cwd?: string): void;
|
|
8
|
+
//# sourceMappingURL=lark-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lark-cli.d.ts","sourceRoot":"","sources":["../src/lark-cli.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+EhD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,MAAsB,GAC1B,MAAM,CAqCR;AA4CD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAgDf;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,cAAuC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK7E;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAgCN"}
|