@portel/photon 1.8.0 → 1.8.2
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/auto-ui/beam.d.ts.map +1 -1
- package/dist/auto-ui/beam.js +14 -3
- package/dist/auto-ui/beam.js.map +1 -1
- package/dist/daemon/manager.d.ts.map +1 -1
- package/dist/daemon/manager.js +14 -2
- package/dist/daemon/manager.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +3 -0
- package/dist/loader.js.map +1 -1
- package/dist/marketplace-manager.d.ts.map +1 -1
- package/dist/marketplace-manager.js +27 -10
- package/dist/marketplace-manager.js.map +1 -1
- package/dist/photons/maker.photon.d.ts +4 -2
- package/dist/photons/maker.photon.d.ts.map +1 -1
- package/dist/photons/maker.photon.js +30 -9
- package/dist/photons/maker.photon.js.map +1 -1
- package/dist/photons/maker.photon.ts +39 -11
- package/dist/photons/marketplace.photon.d.ts +9 -7
- package/dist/photons/marketplace.photon.d.ts.map +1 -1
- package/dist/photons/marketplace.photon.js +57 -20
- package/dist/photons/marketplace.photon.js.map +1 -1
- package/dist/photons/marketplace.photon.ts +70 -27
- package/dist/photons/tunnel.photon.d.ts +2 -1
- package/dist/photons/tunnel.photon.d.ts.map +1 -1
- package/dist/photons/tunnel.photon.js +5 -1
- package/dist/photons/tunnel.photon.js.map +1 -1
- package/dist/photons/tunnel.photon.ts +6 -2
- package/package.json +3 -3
|
@@ -82,8 +82,9 @@ export default class Marketplace {
|
|
|
82
82
|
* @param name Name of the photon to install
|
|
83
83
|
*/
|
|
84
84
|
static async *install({ name }: { name: string }): AsyncGenerator<{
|
|
85
|
-
|
|
85
|
+
emit: string;
|
|
86
86
|
message?: string;
|
|
87
|
+
value?: any;
|
|
87
88
|
name?: string;
|
|
88
89
|
path?: string;
|
|
89
90
|
version?: string;
|
|
@@ -94,21 +95,29 @@ export default class Marketplace {
|
|
|
94
95
|
|
|
95
96
|
const workingDir = process.env.PHOTON_DIR || path.join(os.homedir(), '.photon');
|
|
96
97
|
|
|
97
|
-
yield { step: 'searching', message: `Searching for ${name}...` };
|
|
98
|
+
yield { emit: 'status', value: { step: 'searching' }, message: `Searching for ${name}...` };
|
|
98
99
|
|
|
99
100
|
const result = await manager.fetchMCP(name);
|
|
100
101
|
if (!result) {
|
|
101
|
-
yield {
|
|
102
|
+
yield {
|
|
103
|
+
emit: 'status',
|
|
104
|
+
value: { step: 'error' },
|
|
105
|
+
message: `Photon '${name}' not found in marketplace`,
|
|
106
|
+
};
|
|
102
107
|
return;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
|
-
yield { step: 'downloading', message: `Downloading ${name}...` };
|
|
110
|
+
yield { emit: 'status', value: { step: 'downloading' }, message: `Downloading ${name}...` };
|
|
106
111
|
|
|
107
112
|
const targetPath = path.join(workingDir, `${name}.photon.ts`);
|
|
108
113
|
await fs.writeFile(targetPath, result.content, 'utf-8');
|
|
109
114
|
|
|
110
115
|
if (result.metadata) {
|
|
111
|
-
yield {
|
|
116
|
+
yield {
|
|
117
|
+
emit: 'status',
|
|
118
|
+
value: { step: 'saving-metadata' },
|
|
119
|
+
message: 'Saving installation metadata...',
|
|
120
|
+
};
|
|
112
121
|
const { calculateHash } = await import('../marketplace-manager.js');
|
|
113
122
|
const hash = calculateHash(result.content);
|
|
114
123
|
await manager.savePhotonMetadata(
|
|
@@ -120,7 +129,8 @@ export default class Marketplace {
|
|
|
120
129
|
}
|
|
121
130
|
|
|
122
131
|
yield {
|
|
123
|
-
|
|
132
|
+
emit: 'status',
|
|
133
|
+
value: { step: 'done' },
|
|
124
134
|
message: `Installed ${name}`,
|
|
125
135
|
name,
|
|
126
136
|
path: targetPath,
|
|
@@ -133,8 +143,9 @@ export default class Marketplace {
|
|
|
133
143
|
* @param name Name of the photon to upgrade
|
|
134
144
|
*/
|
|
135
145
|
static async *upgrade({ name }: { name: string }): AsyncGenerator<{
|
|
136
|
-
|
|
146
|
+
emit: string;
|
|
137
147
|
message?: string;
|
|
148
|
+
value?: any;
|
|
138
149
|
currentVersion?: string;
|
|
139
150
|
newVersion?: string;
|
|
140
151
|
}> {
|
|
@@ -142,25 +153,33 @@ export default class Marketplace {
|
|
|
142
153
|
const manager = new MarketplaceManager();
|
|
143
154
|
await manager.initialize();
|
|
144
155
|
|
|
145
|
-
yield {
|
|
156
|
+
yield {
|
|
157
|
+
emit: 'status',
|
|
158
|
+
value: { step: 'checking' },
|
|
159
|
+
message: `Checking current version of ${name}...`,
|
|
160
|
+
};
|
|
146
161
|
|
|
147
162
|
const localMeta = await readLocalMetadata();
|
|
148
163
|
const fileName = `${name}.photon.ts`;
|
|
149
164
|
const currentMeta = localMeta.photons[fileName];
|
|
150
165
|
const currentVersion = currentMeta?.version || 'unknown';
|
|
151
166
|
|
|
152
|
-
yield { step: 'fetching', message: `Fetching latest version...` };
|
|
167
|
+
yield { emit: 'status', value: { step: 'fetching' }, message: `Fetching latest version...` };
|
|
153
168
|
|
|
154
169
|
const result = await manager.fetchMCP(name);
|
|
155
170
|
if (!result) {
|
|
156
|
-
yield {
|
|
171
|
+
yield {
|
|
172
|
+
emit: 'status',
|
|
173
|
+
value: { step: 'error' },
|
|
174
|
+
message: `Photon '${name}' not found in marketplace`,
|
|
175
|
+
};
|
|
157
176
|
return;
|
|
158
177
|
}
|
|
159
178
|
|
|
160
179
|
const workingDir = process.env.PHOTON_DIR || path.join(os.homedir(), '.photon');
|
|
161
180
|
const targetPath = path.join(workingDir, fileName);
|
|
162
181
|
|
|
163
|
-
yield { step: 'installing', message: `Upgrading ${name}...` };
|
|
182
|
+
yield { emit: 'status', value: { step: 'installing' }, message: `Upgrading ${name}...` };
|
|
164
183
|
|
|
165
184
|
await fs.writeFile(targetPath, result.content, 'utf-8');
|
|
166
185
|
|
|
@@ -171,7 +190,8 @@ export default class Marketplace {
|
|
|
171
190
|
}
|
|
172
191
|
|
|
173
192
|
yield {
|
|
174
|
-
|
|
193
|
+
emit: 'status',
|
|
194
|
+
value: { step: 'done' },
|
|
175
195
|
message: `Upgraded ${name} from ${currentVersion} to ${result.metadata?.version || 'latest'}`,
|
|
176
196
|
currentVersion,
|
|
177
197
|
newVersion: result.metadata?.version,
|
|
@@ -302,46 +322,65 @@ export default class Marketplace {
|
|
|
302
322
|
* Synchronize marketplace manifest and documentation
|
|
303
323
|
*/
|
|
304
324
|
static async *sync(): AsyncGenerator<{
|
|
305
|
-
|
|
325
|
+
emit: string;
|
|
306
326
|
message?: string;
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
manifest?: string;
|
|
327
|
+
value?: any;
|
|
328
|
+
[key: string]: any;
|
|
310
329
|
}> {
|
|
311
330
|
const workingDir = process.env.PHOTON_DIR || process.cwd();
|
|
312
331
|
|
|
313
|
-
yield {
|
|
332
|
+
yield { emit: 'status', message: 'Scanning for photons...' };
|
|
314
333
|
|
|
315
334
|
const files = await fs.readdir(workingDir);
|
|
316
335
|
const photonFiles = files.filter((f) => f.endsWith('.photon.ts'));
|
|
317
336
|
|
|
318
337
|
yield {
|
|
319
|
-
|
|
338
|
+
emit: 'status',
|
|
320
339
|
message: `Found ${photonFiles.length} photons`,
|
|
321
340
|
photons: photonFiles.length,
|
|
322
341
|
};
|
|
323
342
|
|
|
324
343
|
for (const file of photonFiles) {
|
|
325
|
-
yield {
|
|
344
|
+
yield {
|
|
345
|
+
emit: 'status',
|
|
346
|
+
value: { step: 'processing' },
|
|
347
|
+
photon: file,
|
|
348
|
+
message: `Processing ${file}...`,
|
|
349
|
+
};
|
|
326
350
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
327
351
|
}
|
|
328
352
|
|
|
329
353
|
const manifest = path.join(workingDir, '.marketplace', 'photons.json');
|
|
330
|
-
yield {
|
|
354
|
+
yield {
|
|
355
|
+
emit: 'status',
|
|
356
|
+
value: { step: 'done' },
|
|
357
|
+
message: 'Sync complete',
|
|
358
|
+
photons: photonFiles.length,
|
|
359
|
+
manifest,
|
|
360
|
+
};
|
|
331
361
|
}
|
|
332
362
|
|
|
333
363
|
/**
|
|
334
364
|
* Initialize current directory as a photon marketplace
|
|
335
365
|
*/
|
|
336
|
-
static async *init(): AsyncGenerator<{
|
|
366
|
+
static async *init(): AsyncGenerator<{
|
|
367
|
+
emit: string;
|
|
368
|
+
message?: string;
|
|
369
|
+
value?: any;
|
|
370
|
+
created?: string;
|
|
371
|
+
}> {
|
|
337
372
|
const workingDir = process.cwd();
|
|
338
373
|
|
|
339
|
-
yield {
|
|
374
|
+
yield {
|
|
375
|
+
emit: 'status',
|
|
376
|
+
value: { step: 'starting' },
|
|
377
|
+
message: 'Initializing photon marketplace...',
|
|
378
|
+
};
|
|
340
379
|
|
|
341
380
|
const marketplaceDir = path.join(workingDir, '.marketplace');
|
|
342
381
|
try {
|
|
343
382
|
await fs.mkdir(marketplaceDir, { recursive: true });
|
|
344
|
-
yield { step: 'created', created: '.marketplace/' };
|
|
383
|
+
yield { emit: 'status', value: { step: 'created' }, created: '.marketplace/' };
|
|
345
384
|
} catch {
|
|
346
385
|
// Directory creation failed - continue anyway
|
|
347
386
|
}
|
|
@@ -349,10 +388,14 @@ export default class Marketplace {
|
|
|
349
388
|
const manifestPath = path.join(marketplaceDir, 'photons.json');
|
|
350
389
|
try {
|
|
351
390
|
await fs.access(manifestPath);
|
|
352
|
-
yield {
|
|
391
|
+
yield {
|
|
392
|
+
emit: 'status',
|
|
393
|
+
value: { step: 'exists' },
|
|
394
|
+
message: '.marketplace/photons.json already exists',
|
|
395
|
+
};
|
|
353
396
|
} catch {
|
|
354
397
|
await fs.writeFile(manifestPath, JSON.stringify({ photons: [] }, null, 2));
|
|
355
|
-
yield { step: 'created', created: '.marketplace/photons.json' };
|
|
398
|
+
yield { emit: 'status', value: { step: 'created' }, created: '.marketplace/photons.json' };
|
|
356
399
|
}
|
|
357
400
|
|
|
358
401
|
const gitignorePath = path.join(workingDir, '.gitignore');
|
|
@@ -367,12 +410,12 @@ export default class Marketplace {
|
|
|
367
410
|
if (!gitignore.includes('node_modules')) {
|
|
368
411
|
gitignore += '\nnode_modules/\n';
|
|
369
412
|
await fs.writeFile(gitignorePath, gitignore);
|
|
370
|
-
yield { step: 'created', created: '.gitignore (updated)' };
|
|
413
|
+
yield { emit: 'status', value: { step: 'created' }, created: '.gitignore (updated)' };
|
|
371
414
|
}
|
|
372
415
|
} catch {
|
|
373
416
|
// gitignore update failed - non-critical
|
|
374
417
|
}
|
|
375
418
|
|
|
376
|
-
yield { step: 'done', message: 'Marketplace initialized' };
|
|
419
|
+
yield { emit: 'status', value: { step: 'done' }, message: 'Marketplace initialized' };
|
|
377
420
|
}
|
|
378
421
|
}
|
|
@@ -33,7 +33,8 @@ export default class Tunnel {
|
|
|
33
33
|
/** Provider: localtunnel, ngrok, or cloudflared */
|
|
34
34
|
provider?: 'localtunnel' | 'ngrok' | 'cloudflared';
|
|
35
35
|
}): AsyncGenerator<{
|
|
36
|
-
|
|
36
|
+
emit: string;
|
|
37
|
+
value?: any;
|
|
37
38
|
message: string;
|
|
38
39
|
}, {
|
|
39
40
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.photon.d.ts","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC;QACtB,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,aAAa,EAAE,UAAU,EAAE,CAAC;KAC7B,CAAC;IA0BF;;;;OAIG;IACI,KAAK,CAAC,EACX,QAAwB,GACzB,GAAE;QACD,mDAAmD;QACnD,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC;KAC/C,GAAG,cAAc,CACrB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"tunnel.photon.d.ts","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;CACjB;AAKD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC;QACtB,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;QACH,aAAa,EAAE,UAAU,EAAE,CAAC;KAC7B,CAAC;IA0BF;;;;OAIG;IACI,KAAK,CAAC,EACX,QAAwB,GACzB,GAAE;QACD,mDAAmD;QACnD,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC;KAC/C,GAAG,cAAc,CACrB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF;IA2ED;;;;OAIG;IACG,IAAI,CAAC,EACT,IAAI,GACL,EAAE;QACD,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBlD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAc9D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAUhD,OAAO,CAAC,aAAa;YASP,YAAY;YAqBZ,iBAAiB;YA2CjB,WAAW;YAgCX,iBAAiB;CAgChC"}
|
|
@@ -55,7 +55,11 @@ export default class Tunnel {
|
|
|
55
55
|
port,
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
yield {
|
|
58
|
+
yield {
|
|
59
|
+
emit: 'status',
|
|
60
|
+
value: { step: 'starting' },
|
|
61
|
+
message: `Starting ${provider} tunnel for Beam (port ${port})...`,
|
|
62
|
+
};
|
|
59
63
|
try {
|
|
60
64
|
let url;
|
|
61
65
|
let process;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.photon.js","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAU9D,uBAAuB;AACvB,MAAM,aAAa,GAA6D,IAAI,GAAG,EAAE,CAAC;AAE1F,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB;;;OAGG;IACH,KAAK,CAAC,MAAM;QASV,MAAM,SAAS,GAAG;YAChB;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,IAAI,EAAE,2BAA2B;gBAC5C,IAAI,EAAE,qCAAqC;aAC5C;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBACtC,OAAO,EAAE,oDAAoD;aAC9D;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBAC5C,OAAO,EACL,wIAAwI;aAC3I;SACF,CAAC;QAEF,OAAO;YACL,SAAS;YACT,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACrE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,KAAK,CAAC,EACX,QAAQ,GAAG,aAAa,MAItB,EAAE;QAWJ,yCAAyC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,iCAAiC,IAAI,EAAE;gBAChD,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;gBACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;gBACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACzE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;gBAChC,IAAI;aACL,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,QAAQ,0BAA0B,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"tunnel.photon.js","sourceRoot":"","sources":["../../src/photons/tunnel.photon.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ export default class Tunnel {
|
|
|
67
67
|
/** Provider: localtunnel, ngrok, or cloudflared */
|
|
68
68
|
provider?: 'localtunnel' | 'ngrok' | 'cloudflared';
|
|
69
69
|
} = {}): AsyncGenerator<
|
|
70
|
-
{
|
|
70
|
+
{ emit: string; value?: any; message: string },
|
|
71
71
|
{
|
|
72
72
|
message: string;
|
|
73
73
|
url: string;
|
|
@@ -94,7 +94,11 @@ export default class Tunnel {
|
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
yield {
|
|
97
|
+
yield {
|
|
98
|
+
emit: 'status',
|
|
99
|
+
value: { step: 'starting' },
|
|
100
|
+
message: `Starting ${provider} tunnel for Beam (port ${port})...`,
|
|
101
|
+
};
|
|
98
102
|
|
|
99
103
|
try {
|
|
100
104
|
let url: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@portel/photon",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.2",
|
|
4
4
|
"description": "You focus on the business logic. We'll enable the rest. Build MCP servers and CLI tools in a single TypeScript file.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
"chart.js": "^4.5.1",
|
|
93
93
|
"chokidar": "^4.0.3",
|
|
94
94
|
"cli-highlight": "^2.1.11",
|
|
95
|
-
"commander": "^12.1.0"
|
|
95
|
+
"commander": "^12.1.0",
|
|
96
|
+
"esbuild": "^0.27.0"
|
|
96
97
|
},
|
|
97
98
|
"devDependencies": {
|
|
98
99
|
"@codemirror/autocomplete": "^6.20.0",
|
|
@@ -112,7 +113,6 @@
|
|
|
112
113
|
"c8": "^10.1.3",
|
|
113
114
|
"clinic": "^13.0.0",
|
|
114
115
|
"codemirror": "^6.0.2",
|
|
115
|
-
"esbuild": "^0.27.0",
|
|
116
116
|
"eslint": "^9.39.2",
|
|
117
117
|
"eslint-config-prettier": "^10.1.8",
|
|
118
118
|
"lit": "^3.3.2",
|