- Install
typescript
,tslib
, andsvelte-check
for dev mode
pnpm i -D typescript tslib svelte-check
- Add a
tsconfig.json
/* | |
* Usage: | |
* | |
* <element use:draggable/> | |
*/ | |
export function draggable(node) { | |
const bounds = node.getBoundingClientRect() | |
node.draggable = true | |
node.style.position = 'absolute' |
import fs from 'node:fs/promises' | |
export function sql(url) { | |
return { | |
name: 'vite-plugin-sql', | |
// expose an import called 'sql:runtime' | |
resolveId(id) { | |
if (id.startsWith('sql:runtime')) { | |
return id |
import { expect } from 'vitest' | |
expect.extend({ | |
async toError(promise, status, message=null) { | |
try { | |
await promise | |
return { pass: false, message: () => 'Expected an error to be raised.'} | |
} catch (actual) { | |
if (actual?.constructor?.name !== 'HttpError') { |
Experiment for creating .drl
drill files.
These are used in the process of fabricating PCBs (printed circuit boards), they specify where the laser/mechanical drills should drill holes.
The format is also known as Excellon.
<script> | |
import * as THREE from 'three' | |
import { SVGLoader } from 'three/examples/jsm/loaders/SVGLoader.js' | |
import { T, useThrelte } from '@threlte/core' | |
import { onMount } from 'svelte' | |
const { invalidate } = useThrelte() | |
const loader = new SVGLoader() | |
let wrapper |
{ | |
"src/routes/*page.svelte": { | |
"alternate": [ | |
"src/routes/{}page.js", | |
"src/routes/{}page.server.js" | |
], | |
"template": [ | |
"<script>", | |
" export let data", | |
"</script>" |
# Create a vanilla SvelteKit project | |
# usage: sk <folder-name> | |
sk() { | |
pnpm create svelte@latest $1 \ | |
&& cd $1 \ | |
&& pnpm install \ | |
&& git init \ | |
&& git add . \ | |
&& git commit -m 'Initial commit' | |
} |