Skip to content
/ fuz_template Public template

a static web app and Node library template for SvelteKit with TypeScript, Svelte, Vite, esbuild, Fuz, and Gro ❄

Notifications You must be signed in to change notification settings

ryanatkn/fuz_template

Repository files navigation

@ryanatkn/fuz_template ❄

a friendly pixelated spider facing you

a static web app and Node library template with TypeScript, Svelte, SvelteKit, Vite, esbuild, Fuz, and Gro

template.fuz.dev

contents

usage

This project uses SvelteKit with the static adapter and Vite, so the normal commands like vite dev work as expected. It also uses Gro for tasks like deploying and more.

⚠️ Important, this template is designed for public open source projects. Its package.json has "public": true by default, which tells Gro to publish the package.json and a map of its src/ directory to static/.well-known/ during the build. This can leak sensitive information if you are not careful ⚠️ To disable the feature, edit package.json:

// package.json
- "public": true, // remove this to disable the public `.well-known` files
+ "private": true, // if you want to disable npm publishing, add this

Windows will not be suported because I chose Bash instead - WSL works

If you're logged into GitHub, click "Use this template" above or clone with degit:

npx degit ryanatkn/fuz_template cooltoy
cd cooltoy
npm i
# then
vite dev
# or
npm run dev
# or
gro dev # npm i -g @ryanatkn/gro
gro sync # called by `gro dev`, refreshes generated files and calls `svelte-kit sync`

learn more about SvelteKit, Vite, Gro, and Fuz

The template includes @sveltejs/adapter-static so it can deploy with no further configuration. To learn how to swap it out for another deployment target, see the SvelteKit adapter docs.

To make it your own, change @ryanatkn/fuz_template and template.fuz.dev to your project name in the following files:

Then run npm i to update package-lock.json.

Optionally add a license file and package.json value, like "license": "MIT".

build

npm run build
# or
gro build

See Gro's build docs for more.

test

npm test
# or
gro test
gro test filepattern1 filepatternB
gro test -- uvu --forwarded_args 'to uvu'

See uvu, src/lib/example.test.ts, and Gro's test docs for more.

deploy

Deploy (build, commit, and push) to the deploy branch, e.g. for GitHub Pages:

npm i -D @sveltejs/package # enables Gro's library plugin by default
npm run deploy
# or
gro deploy

credits 🐢🐢🐢

SvelteSvelteKitViteesbuilduvuTypeScriptESLintPrettierMossFuzGro@ryanatkn/beltZod ∙ & more