From f5a23ead998e23c55a15186a4a668fa3bf2324f0 Mon Sep 17 00:00:00 2001 From: dominikg Date: Mon, 5 May 2025 11:02:30 +0200 Subject: [PATCH] add config and types --- packages/svelte/scripts/generate-types.js | 2 ++ packages/svelte/src/devtool/configure.js | 24 +++++++++++++++++++++++ packages/svelte/src/devtool/index.js | 1 + packages/svelte/src/devtool/public.d.ts | 5 +++++ 4 files changed, 32 insertions(+) create mode 100644 packages/svelte/src/devtool/configure.js create mode 100644 packages/svelte/src/devtool/public.d.ts diff --git a/packages/svelte/scripts/generate-types.js b/packages/svelte/scripts/generate-types.js index 377fca4343..3d6c4a9c80 100644 --- a/packages/svelte/scripts/generate-types.js +++ b/packages/svelte/scripts/generate-types.js @@ -45,6 +45,8 @@ await createBundle({ [`${pkg.name}/store`]: `${dir}/src/store/public.d.ts`, [`${pkg.name}/transition`]: `${dir}/src/transition/public.d.ts`, [`${pkg.name}/events`]: `${dir}/src/events/public.d.ts`, + [`${pkg.name}/devtool`]: `${dir}/src/devtool/public.d.ts`, + // TODO remove in Svelte 6 [`${pkg.name}/types/compiler/preprocess`]: `${dir}/src/compiler/preprocess/legacy-public.d.ts`, [`${pkg.name}/types/compiler/interfaces`]: `${dir}/src/compiler/types/legacy-interfaces.d.ts` diff --git a/packages/svelte/src/devtool/configure.js b/packages/svelte/src/devtool/configure.js new file mode 100644 index 0000000000..acdde47fd7 --- /dev/null +++ b/packages/svelte/src/devtool/configure.js @@ -0,0 +1,24 @@ +/** + * devtools config + * @type {import('./public.d.ts').Config} + */ +const config = {}; + +/** + * @param {Partial} options + */ +export function configure(options){ + // TODO deep merge? + for(const [key,value] of options){ + config[key]=value; + } +} + +/** + * + * @return {import('./public.d.ts').Config} + */ +export function getConfig(){ + // TODO clone to avoid direct manipulation + return config; +} diff --git a/packages/svelte/src/devtool/index.js b/packages/svelte/src/devtool/index.js index e22774bb9d..c51932ce34 100644 --- a/packages/svelte/src/devtool/index.js +++ b/packages/svelte/src/devtool/index.js @@ -1 +1,2 @@ export {default as DevTool} from './DevTool.svelte' +export * from './configure.js' diff --git a/packages/svelte/src/devtool/public.d.ts b/packages/svelte/src/devtool/public.d.ts new file mode 100644 index 0000000000..bfa22bd866 --- /dev/null +++ b/packages/svelte/src/devtool/public.d.ts @@ -0,0 +1,5 @@ +export * from './index.js' + +export interface Config { + position: 'top'|'bottom' +}