Skip to content

Commit 888b48a

Browse files
committed
tighten up
1 parent 95dd906 commit 888b48a

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

packages/repl/src/lib/Bundler.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import type { BundleResult } from './workers/bundler';
2-
import type { BundleMessageData } from './workers/workers';
1+
import type { BundleMessageData, BundleResult } from './workers/workers';
32
import type { File } from './Workspace.svelte';
43

54
let uid = 1;

packages/repl/src/lib/workers/bundler/index.ts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import svg from './plugins/svg';
1212
import replace from './plugins/replace';
1313
import loop_protect from './plugins/loop-protect';
1414
import type { Plugin, RollupCache, TransformResult } from '@rollup/browser';
15-
import type { BundleMessageData, BundleOptions } from '../workers';
15+
import type { BundleMessageData, BundleOptions, BundleResult } from '../workers';
1616
import type { Warning } from '../../types';
1717
import type { CompileError, CompileResult } from 'svelte/compiler';
1818
import type { File } from '../../Workspace.svelte';
@@ -427,16 +427,14 @@ async function get_bundle(
427427
};
428428
}
429429

430-
export type BundleResult = ReturnType<typeof bundle>;
431-
432430
async function bundle(
433431
svelte: typeof import('svelte/compiler'),
434432
svelte_version: string,
435433
uid: number,
436434
files: File[],
437435
options: BundleOptions,
438436
can_use_experimental_async: boolean
439-
) {
437+
): Promise<BundleResult> {
440438
if (!DEV) {
441439
console.clear();
442440
console.log(`running Svelte compiler version %c${svelte.VERSION}`, 'font-weight: bold');
@@ -547,27 +545,24 @@ async function bundle(
547545

548546
return {
549547
uid,
548+
error: null,
550549
client: client_result,
551550
server: server_result,
552551
tailwind: client.tailwind,
553-
imports: client.imports,
554-
// Svelte 5 returns warnings as error objects with a toJSON method, prior versions return a POJO
555-
// TODO are bundler warnings even used anywhere?
556-
warnings: client.warnings.map((w: any) => w.toJSON?.() ?? w),
557-
error: null
552+
imports: client.imports
558553
};
559554
} catch (err) {
560555
console.error(err);
561556

562-
const e = err as CompileError;
557+
const e = err as CompileError; // TODO could be a non-Svelte error?
563558

564559
return {
565560
uid,
561+
error: { ...e, message: e.message }, // not all Svelte versions return an enumerable message property
566562
client: null,
567563
server: null,
568-
imports: null,
569-
warnings: [],
570-
error: { ...e, message: e.message } // not all Svelte versions return an enumerable message property
564+
tailwind: null,
565+
imports: null
571566
};
572567
}
573568
}

packages/repl/src/lib/workers/workers.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { CompileError, CompileOptions, CompileResult, Warning } from 'svelte/compiler';
22
import type { File } from '../Workspace.svelte';
3+
import type { MessageDetails } from '$lib/types';
34

45
export type CompilerCommand =
56
| {
@@ -61,6 +62,15 @@ export type BundleMessageData = {
6162
options: BundleOptions;
6263
};
6364

65+
export interface BundleResult {
66+
uid: number;
67+
error: CompileError | null;
68+
client: any | null; // TODO
69+
server: any | null; // TODO
70+
tailwind: string | null;
71+
imports: string[];
72+
}
73+
6474
declare global {
6575
var svelte: typeof import('svelte/compiler');
6676
}

0 commit comments

Comments
 (0)