Skip to content
Draft
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
3 changes: 3 additions & 0 deletions examples/vite@svelte-5-runes/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.DS_Store
node_modules
dist
17 changes: 17 additions & 0 deletions examples/vite@svelte-5-runes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# examples/vite@svelte-5-runes

> `svelte-highlight` Vite set-up.

## Available Scripts

### `bun dev`

Runs the project in development mode and watches for any changes.

### `bun run build`

Builds the project for production.

### `bun preview`

Preview the app locally. Run `bun run build` first.
190 changes: 190 additions & 0 deletions examples/vite@svelte-5-runes/bun.lock

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions examples/vite@svelte-5-runes/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<script type="module">
import { mount } from "svelte";
import App from "./src/App.svelte";

mount(App, { target: document.body });
</script>
</body>
</html>
19 changes: 19 additions & 0 deletions examples/vite@svelte-5-runes/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"svelte-highlight": "^7.8.4"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "latest",
"@tsconfig/svelte": "latest",
"svelte": "latest",
"typescript": "latest",
"vite": "latest"
}
}
16 changes: 16 additions & 0 deletions examples/vite@svelte-5-runes/src/App.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<script lang="ts">
import { Highlight } from "svelte-highlight";
import typescript from "svelte-highlight/languages/typescript";
import atomOneDark from "svelte-highlight/styles/atom-one-dark";
import DynamicImport from "./DynamicImport.svelte";

const code = "const add = (a: number, b: number) => a + b;";
</script>

<svelte:head>
{@html atomOneDark}
</svelte:head>

<Highlight language={typescript} {code} />

<DynamicImport />
24 changes: 24 additions & 0 deletions examples/vite@svelte-5-runes/src/DynamicImport.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<script lang="ts">
import { onMount } from "svelte";
import type { HighlightAuto } from "svelte-highlight";

let component: typeof HighlightAuto;
let styles: string;

onMount(async () => {
component = (await import("svelte-highlight")).HighlightAuto;
styles = (await import("svelte-highlight/styles/atom-one-dark")).default;
});
</script>

<svelte:head>
{#if styles}
{@html styles}
{/if}
</svelte:head>

<svelte:component
this={component}
langtag
code={`body {\n padding: 0;\n color: red;\n}`}
/>
2 changes: 2 additions & 0 deletions examples/vite@svelte-5-runes/src/global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// <reference types="svelte" />
/// <reference types="vite/client" />
7 changes: 7 additions & 0 deletions examples/vite@svelte-5-runes/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"extends": "@tsconfig/svelte/tsconfig.json",
"compilerOptions": {
"strict": true
},
"include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.svelte"]
}
16 changes: 16 additions & 0 deletions examples/vite@svelte-5-runes/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { svelte, vitePreprocess } from "@sveltejs/vite-plugin-svelte";
import type { UserConfig } from "vite";

export default {
resolve: {
conditions: ["browser"],
},
plugins: [
svelte({
compilerOptions: {
runes: true,
},
preprocess: vitePreprocess(),
}),
],
} satisfies UserConfig;