Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/large-mice-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@qtsurfer/svelte-timeseries": patch
"@qtsurfer/sveltecharts": patch
---

Feature/update docs and deps
11 changes: 11 additions & 0 deletions packages/svelte-timeseries/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @qtsurfer/svelte-timeseries

## 0.4.1

### Patch Changes

- ### Changes
- Dependencies were updated.
- Documentation was updated with installation steps.

- Updated dependencies
- @qtsurfer/sveltecharts@0.4.1

## 0.4.0

### Minor Changes
Expand Down
42 changes: 42 additions & 0 deletions packages/svelte-timeseries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,48 @@ npm install @qtsurfer/svelte-timeseries
yarn add @qtsurfer/svelte-timeseries
```

**Vite / SvelteKit configuration**

This library uses DuckDB-WASM under the hood, which relies on Web Workers and WASM binaries.
To ensure proper behavior in development and SSR (Server-Side Rendering), you must update your Vite configuration.

Add the following to your vite.config.ts (or vite.config.js):

```ts
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';

export default defineConfig({
plugins: [sveltekit()],

ssr: {
// Prevent SvelteKit from externalizing this library during SSR.
// This ensures Vite processes special imports like `...?url`
// which are required for DuckDB worker files.
noExternal: ['@qtsurfer/svelte-timeseries']
},

optimizeDeps: {
// Avoid pre-bundling these packages with esbuild.
// esbuild cannot handle WASM + Web Worker imports used by DuckDB.
exclude: ['@qtsurfer/svelte-timeseries', '@duckdb/duckdb-wasm']
}
});
```

**Explanation**

Forces Vite to include this library in the SSR build pipeline.

- `ssr.noExternal`\
This allows Vite to correctly transform imports like:\
\
`import worker from '...worker.js?url'`\
which DuckDB uses for its Web Worker runtime.

- `optimizeDeps.exclude`\
Prevents Vite from trying to pre-bundle this library and DuckDB-WASM using esbuild. esbuild does not understand WASM and Worker imports, so excluding these packages avoids “Cannot read file ...?url” and similar errors.

Requirements:

- SvelteKit project with TypeScript enabled.
Expand Down
3 changes: 1 addition & 2 deletions packages/svelte-timeseries/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@qtsurfer/svelte-timeseries",
"version": "0.4.0",
"version": "0.4.1",
"license": "Apache-2.0",
"author": "QTSurfer (https://github.com/QTSurfer)",
"homepage": "https://github.com/QTSurfer/svelte-timeseries",
Expand Down Expand Up @@ -53,7 +53,6 @@
"svelte": "^5.43.14"
},
"devDependencies": {
"@qtsurfer/sveltecharts": "workspace:*",
"@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.48.6",
Expand Down
8 changes: 8 additions & 0 deletions packages/sveltecharts/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @qtsurfer/sveltecharts

## 0.4.1

### Patch Changes

- ### Changes
- Dependencies were updated.
- Documentation was updated with installation steps.

## 0.4.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/sveltecharts/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": false,
"name": "@qtsurfer/sveltecharts",
"version": "0.4.0",
"version": "0.4.1",
"license": "Apache-2.0",
"author": "QTSurfer (https://github.com/QTSurfer)",
"homepage": "https://github.com/QTSurfer/svelte-timeseries/tree/main/packages/sveltecharts",
Expand Down
3 changes: 1 addition & 2 deletions packages/sveltecharts/src/lib/SVECharts.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import { LabelLayout } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';
import type { ECharts, EChartsOption } from './types';
import 'echarts/theme/dark.js';

// Register the required components
use([
Expand Down Expand Up @@ -101,7 +100,7 @@
};

function chartAction(element: HTMLElement) {
instance = init(element, isDark ? 'dark' : undefined, { renderer });
instance = init(element, undefined, { renderer });

const handleResize = () => {
instance.resize();
Expand Down
Loading