@database.pizza/olive
v0.0.1
Published
A calm, precise component library built with Svelte 5 and Tailwind v4. Designed for data-dense interfaces that need to feel trustworthy.
Readme
🫒 olive
A calm, precise component library built with Svelte 5 and Tailwind v4. Designed for data-dense interfaces that need to feel trustworthy.
Development
npm install
npm run devPublishing to npm
Olive uses @sveltejs/package to build the library.
1. Install packaging tools
npm install -D @sveltejs/package publint2. Configure package.json
{
"name": "@database.pizza/olive",
"version": "0.1.0",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"package": "svelte-kit sync && svelte-package && publint",
"prepublishOnly": "npm run package"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"svelte": "./dist/index.js"
},
"./styles": "./dist/app.css"
},
"svelte": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": ["dist"]
}3. Build and publish
# Build into dist/
npm run package
# Verify the package exports are correct
npx publint
# Publish
npm publishHow it works
svelte-packagereadssrc/lib/and compiles everything intodist/src/lib/index.tsis the public API — only what's exported there is available to consumers- Svelte files ship as source so consuming apps can tree-shake and SSR natively
- TypeScript types are generated automatically alongside each file
publintvalidates thepackage.jsonexports field before you publish
