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
5 changes: 5 additions & 0 deletions .changeset/smooth-pants-travel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'vite-plugin-kit-routes': patch
---

update readme
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# These are supported funding model platforms

github: [HoudiniGraphQL, jycouet]
github: [jycouet]
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@
</p>

![svelte](https://img.shields.io/badge/powered%20by-SvelteKit-FF3C02.svg?style=flat&logo=svelte)
![graphql](https://img.shields.io/badge/powered%20by-GraphQL-E10098.svg?style=flat&logo=graphql&logoColor=E10098)
![ts](https://img.shields.io/badge/language-typescript-blue.svg?style=flat&logo=typescript)

[![Release](https://github.com/jycouet/kitql/actions/workflows/release.yml/badge.svg)](https://github.com/jycouet/kitql/actions/workflows/release.yml)
[![Tests](https://github.com/jycouet/kitql/actions/workflows/ci.yml/badge.svg)](https://github.com/jycouet/kitql/actions/workflows/ci.yml)
![check-code-coverage](https://img.shields.io/badge/code--coverage-80.79%25-green)

<br />

Expand Down
4 changes: 4 additions & 0 deletions packages/vite-plugin-kit-routes/.codesandbox/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "https://codesandbox.io/schemas/tasks.json",
"setupTasks": ["node .codesandbox/tweak-pck.js", "pnpm i", "pnpm dev -- --open"]
}
7 changes: 7 additions & 0 deletions packages/vite-plugin-kit-routes/.codesandbox/tweak-pck.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import fs from 'fs'

const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'))
delete pkg.devDependencies['eslint-config-kitql']
pkg.dependencies['@kitql/helpers'] = '*'
pkg.dependencies['vite-plugin-watch-and-run'] = '*'
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2))
17 changes: 14 additions & 3 deletions packages/vite-plugin-kit-routes/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# ⚡vite-plugin-watch-and-run
# ⚡ vite-plugin-watch-and-run

_Part of [KitQL](https://github.com/jycouet/kitql#kitql), a set of tools helping **you** building efficient apps in a fast way._
_Part of [KitQL](https://github.com/jycouet/kitql#kitql), a set of tools helping 🫵 building efficient apps in a fast way._

## 📖 Read the doc

[![](https://img.shields.io/badge/Documentation%20of-vite%20plugin%20kit%20routes-FF3E00.svg?style=flat&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgdmlld0JveD0iMCAwIDUwMCA1MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjkwLjQ0NSA0NjAuMjA3QzI5MC40NDUgNDYyLjE1NyAyOTAuMjU2IDQ2NC4wNTggMjg5Ljk2MSA0NjUuOTI2QzI4OS45MjQgNDY2LjE2NCAyODkuODk2IDQ2Ni4zOTYgMjg5Ljg1NSA0NjYuNjI3QzI4Ni44MDIgNDg0LjE2NCAyNzEuNTA5IDQ5Ny41NDYgMjUzLjExMyA0OTcuNTQ2QzIzNi43MSA0OTcuNTQ2IDIyMi43NzkgNDg2Ljg5NCAyMTcuNzc3IDQ3Mi4xNTlMNjIuNDQyMiAzODIuNDg2QzQ3LjAzNzggMzczLjU5MiAzNy41NTQ0IDM1Ny4xNTIgMzcuNTU0NCAzMzkuMzc4VjE4OC4zMzJDNDMuMzA4MSAxOTAuMjgxIDQ5LjQ0MzMgMTkxLjM4NSA1NS44NTYgMTkxLjM4NUM2MS42MDk3IDE5MS4zODUgNjcuMTYwOCAxOTAuNTEyIDcyLjM5OTggMTg4LjkyOFYzMzkuMzc4QzcyLjM5OTggMzQ0LjY5MSA3NS4yNTYyIDM0OS42NDEgNzkuODcwNyAzNTIuMzAyTDIyNC43NzQgNDM1Ljk2MUMyMzEuNjI3IDQyNy45NjUgMjQxLjc3NCA0MjIuODcxIDI1My4xMTMgNDIyLjg3MUMyNjUuNDQ5IDQyMi44NzEgMjc2LjM2NCA0MjguOTAxIDI4My4xNzEgNDM4LjE0OEMyODMuMjkzIDQzOC4zMTYgMjgzLjQxOSA0MzguNDc3IDI4My41NDEgNDM4LjY0NUMyODQuMDE2IDQzOS4zMiAyODQuNDY4IDQ0MC4wMDkgMjg0LjkwMSA0NDAuNzIxQzI4NS4wNjcgNDQwLjk5MyAyODUuMjM1IDQ0MS4yNTggMjg1LjM5NiA0NDEuNTM3QzI4NS43NzkgNDQyLjE4OSAyODYuMTMxIDQ0Mi44NTkgMjg2LjQ3MiA0NDMuNTM3QzI4Ni42NTkgNDQzLjkwMSAyODYuODMyIDQ0NC4yNjUgMjg3IDQ0NC42MzZDMjg3LjI5NSA0NDUuMjY1IDI4Ny41NjcgNDQ1LjkwMSAyODcuODI1IDQ0Ni41NDhDMjg4LjAxMiA0NDcuMDEyIDI4OC4xNzMgNDQ3LjQ3NSAyODguMzQxIDQ0Ny45NDJDMjg4LjU0OCA0NDguNTMyIDI4OC43NTEgNDQ5LjEyOSAyODguOTI0IDQ0OS43M0MyODkuMDk5IDQ1MC4zMDkgMjg5LjIyNiA0NTAuODg3IDI4OS4zNzEgNDUxLjQ1OUMyODkuNTAyIDQ1Mi4wMDIgMjg5LjY0MSA0NTIuNTM5IDI4OS43NDcgNDUzLjA5QzI4OS44OTIgNDUzLjgxMSAyODkuOTg0IDQ1NC41NDIgMjkwLjA4OCA0NTUuMjc0QzI5MC4xMzggNDU1LjcyMSAyOTAuMjI2IDQ1Ni4xNDMgMjkwLjI2NyA0NTYuNTgzQzI5MC4zNzYgNDU3Ljc3OSAyOTAuNDQ1IDQ1OC45ODIgMjkwLjQ0NSA0NjAuMjA3Wk00ODEuNDgyIDEzNC4xMzlDNDgxLjQ4MiAxNDUuMzQgNDc2LjUwOSAxNTUuMzc4IDQ2OC42NjggMTYyLjIyNFYzMzkuMzc4QzQ2OC42NjggMzU3LjE1MiA0NTkuMTg5IDM3My41OTIgNDQzLjc3OSAzODIuNDg2TDMxMC4zMjUgNDU5LjUzMkMzMTAuMTc1IDQ0Ni45MjQgMzA1LjkxNSA0MzUuMzIgMjk4Ljg0OCA0MjUuOTE3TDQyNi4zNTcgMzUyLjMwMkM0MzAuOTY1IDM0OS42NDEgNDMzLjgyMyAzNDQuNjkxIDQzMy44MjMgMzM5LjM3OFYxNjkuOTkxQzQxOC4yNTEgMTY1LjUwMyA0MDYuODExIDE1MS4xNDUgNDA2LjgxMSAxMzQuMTM5QzQwNi44MTEgMTI1Ljg1OCA0MDkuNTYgMTE4LjIyNiA0MTQuMTM4IDExMi4wMzJDNDE0LjIwMyAxMTEuOTM0IDQxNC4yNzkgMTExLjgzNiA0MTQuMzUzIDExMS43MzhDNDE1LjIxNCAxMTAuNTkzIDQxNi4xNDEgMTA5LjQ4OCA0MTcuMTI3IDEwOC40NDdMNDE3LjI2IDEwOC4zMDNDNDE5LjMwOSAxMDYuMTY5IDQyMS41OTkgMTA0LjI5NSA0MjQuMDk3IDEwMi42OTRDNDI0LjM1NyAxMDIuNTI2IDQyNC42MjcgMTAyLjM3NiA0MjQuODk0IDEwMi4yMDhDNDI1Ljg4MyAxMDEuNjE4IDQyNi44OTQgMTAxLjA1NyA0MjcuOTM1IDEwMC41NTVDNDI4LjI0MiAxMDAuNDEgNDI4LjU0OCAxMDAuMjU0IDQyOC44NjIgMTAwLjExNUM0MzAuMTYxIDk5LjUyNDkgNDMxLjUwNSA5OC45ODEzIDQzMi44ODUgOTguNTUzN0M0MzIuODkyIDk4LjU1MzcgNDMyLjg5MiA5OC41NTM3IDQzMi44OTIgOTguNTQ4MkM0MzYuNDQ3IDk3LjQyMDMgNDQwLjIyNCA5Ni44MDE4IDQ0NC4xNSA5Ni44MDE4QzQ2NC43NCA5Ni44MDE4IDQ4MS40ODIgMTEzLjU0NyA0ODEuNDgyIDEzNC4xMzlaTTM3LjU1NDQgMTY2LjY0OEMyNi4yMDkyIDE2MC4yMzUgMTguNTE4NiAxNDguMDc1IDE4LjUxODYgMTM0LjEzOUMxOC41MTg2IDExMy41NDcgMzUuMjY0OCA5Ni44MDE4IDU1Ljg1NiA5Ni44MDE4QzYxLjE5MzMgOTYuODAxOCA2Ni4yNTg4IDk3Ljk1MTggNzAuODU1OCA5OS45NzU4TDIyOC4yMjEgOS4xMjE1NEMyMzUuOTE3IDQuNjc0ODEgMjQ0LjUyMSAyLjQ1NDM1IDI1My4xMDggMi40NTQzNUMyNjEuNzA3IDIuNDU0MzUgMjcwLjMwNiA0LjY3NDgxIDI3OC4wMDIgOS4xMjE1NEw0MTIuMjQyIDg2LjYzQzQwMi4zNjYgOTMuMjkxNyAzOTQuNzE3IDEwMi45NzEgMzkwLjUxOCAxMTQuMzExTDI2MC41NzggMzkuMzAwMkMyNTguMzExIDM3Ljk4NzggMjU1LjcyOCAzNy4yOTk1IDI1My4xMDggMzcuMjk5NUMyNTAuNDk1IDM3LjI5OTUgMjQ3LjkxNSAzNy45ODc4IDI0NS42NDMgMzkuMzAwMkw5Mi41OTIyIDEyNy42NjhDOTIuOTYyIDEyOS43NzMgOTMuMTg4IDEzMS45MjQgOTMuMTg4IDEzNC4xMzlDOTMuMTg4IDE1MC4yMDMgODIuOTcwMSAxNjMuODkgNjguNzEwNiAxNjkuMTQ2QzY4LjYwMDcgMTY5LjE4NyA2OC40ODUgMTY5LjIzMyA2OC4zODA5IDE2OS4yNjhDNjcuMjQxNyAxNjkuNjY3IDY2LjEwMjUgMTcwLjAxOSA2NC45Mjg4IDE3MC4zMTRDNjQuNjkxNyAxNzAuMzcyIDY0LjQ2MDQgMTcwLjQ0MiA2NC4yMjMzIDE3MC40ODhDNjMuMTQ3NyAxNzAuNzM2IDYyLjA0OTEgMTcwLjkzMyA2MC45NDQ3IDE3MS4wODlDNjAuNjQ0IDE3MS4xMjkgNjAuMzQ5MSAxNzEuMTg3IDYwLjA0MjYgMTcxLjIyMkM1OC42NjY0IDE3MS4zNzggNTcuMjcyOCAxNzEuNDc3IDU1Ljg1NiAxNzEuNDc3QzU0LjMzNTMgMTcxLjQ3NyA1Mi44Mzc2IDE3MS4zNTUgNTEuMzU3MSAxNzEuMTc2QzUwLjk2NDEgMTcxLjEyOSA1MC41NzY1IDE3MS4wNiA1MC4xNzc3IDE3MC45OTZDNDkuMDQ0MiAxNzAuODIzIDQ3LjkzNDEgMTcwLjYwNCA0Ni44Mjk1IDE3MC4zMjZDNDYuNDk0MiAxNzAuMjM5IDQ2LjE1MyAxNzAuMTY0IDQ1LjgxMiAxNzAuMDY2QzQyLjkwMzIgMTY5LjI0NCA0MC4xMzM0IDE2OC4xMDYgMzcuNTU0NCAxNjYuNjQ4WiIgZmlsbD0iI0ZGM0UwMCIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfNV8yKSI+CjxwYXRoIGQ9Ik0zNTIuMjI5IDEzOS40ODhDMzI2LjY3NCAxMDIuNzY2IDI3NS43OTcgOTIuMDA2OCAyMzkuMjIyIDExNS4xNjNMMTc0Ljc0NyAxNTYuMzI5QzE1Ny4xNjMgMTY3LjMyMiAxNDQuOTcxIDE4NS4zMzIgMTQxLjQ1NSAyMDUuNjgxQzEzOC40MDcgMjIyLjc1NiAxNDAuOTg2IDI0MC4yOTggMTQ5LjE5MiAyNTUuNTAyQzE0My41NjUgMjYzLjkyMiAxMzkuODEzIDI3My4yNzggMTM4LjE3MiAyODMuMTAyQzEzNC40MjEgMzAzLjkxOSAxMzkuMzQ1IDMyNS40MzcgMTUxLjUzNiAzNDIuNTEyQzE3Ny4zMjYgMzc5LjIzNCAyMjcuOTY4IDM4OS45OTMgMjY0LjU0MyAzNjYuODM3TDMyOS4wMTggMzI1LjkwNUMzNDYuNjAyIDMxNC45MTIgMzU4Ljc5NCAyOTYuOTAyIDM2Mi4zMTEgMjc2LjU1M0MzNjUuMzU5IDI1OS40NzggMzYyLjc4IDI0MS45MzYgMzU0LjU3NCAyMjYuNzMyQzM2MC4yMDEgMjE4LjMxMiAzNjMuOTUyIDIwOC45NTYgMzY1LjU5MyAxOTkuMTMyQzM2OS41NzkgMTc4LjA4MSAzNjQuNjU1IDE1Ni41NjMgMzUyLjIyOSAxMzkuNDg4WiIgZmlsbD0iI0ZGM0UwMCIvPgo8cGF0aCBkPSJNMjMyLjg5MiAzNDYuMDJDMjEyLjAyNSAzNTEuNCAxOTAuMjIxIDM0My4yMTQgMTc4LjAzIDMyNS42NzFDMTcwLjUyNyAzMTUuMzggMTY3LjcxNCAzMDIuNTE1IDE2OS44MjQgMjg5Ljg4NUMxNzAuMjkzIDI4Ny43OCAxNzAuNzYxIDI4NS45MDggMTcxLjIzIDI4My44MDNMMTcyLjQwMyAyODAuMDYxTDE3NS42ODUgMjgyLjRDMTgzLjQyMiAyODguMDE0IDE5MS44NjIgMjkyLjIyNCAyMDEuMDA2IDI5NS4wMzFMMjAzLjM1MSAyOTUuNzMyTDIwMy4xMTYgMjk4LjA3MUMyMDIuODgyIDMwMS4zNDYgMjAzLjgyIDMwNC44NTQgMjA1LjY5NSAzMDcuNjYxQzIwOS40NDYgMzEzLjA0MSAyMTYuMDExIDMxNS42MTQgMjIyLjM0MSAzMTMuOTc2QzIyMy43NDggMzEzLjUwOCAyMjUuMTU1IDMxMy4wNDEgMjI2LjMyNyAzMTIuMzM5TDI5MC41NjggMjcxLjQwN0MyOTMuODUgMjY5LjMwMiAyOTUuOTYgMjY2LjI2MSAyOTYuNjY0IDI2Mi41MTlDMjk3LjM2NyAyNTguNzc2IDI5Ni40MjkgMjU0LjggMjk0LjMxOSAyNTEuNzU5QzI5MC41NjggMjQ2LjM4IDI4NC4wMDMgMjQ0LjA0MSAyNzcuNjczIDI0NS42NzhDMjc2LjI2NiAyNDYuMTQ2IDI3NC44NTkgMjQ2LjYxNCAyNzMuNjg3IDI0Ny4zMTVMMjQ5LjA2OSAyNjIuOTg2QzI0NS4wODQgMjY1LjU1OSAyNDAuNjI5IDI2Ny40MzEgMjM1Ljk0IDI2OC42QzIxNS4wNzMgMjczLjk4IDE5My4yNjkgMjY1Ljc5MyAxODEuMDc3IDI0OC4yNTFDMTczLjgwOSAyMzcuOTU5IDE3MC43NjEgMjI1LjA5NSAxNzMuMTA2IDIxMi40NjRDMTc1LjIxNiAyMDAuMzAyIDE4Mi43MTkgMTg5LjMwOCAxOTMuMjY5IDE4Mi43NTlMMjU3Ljc0NCAxNDEuODI3QzI2MS43MyAxMzkuMjU0IDI2Ni4xODQgMTM3LjM4MyAyNzAuODc0IDEzNS45OEMyOTEuNzQgMTMwLjYgMzEzLjU0NCAxMzguNzg2IDMyNS43MzYgMTU2LjMyOUMzMzMuMjM5IDE2Ni42MiAzMzYuMDUyIDE3OS40ODUgMzMzLjk0MiAxOTIuMTE1QzMzMy40NzMgMTk0LjIyIDMzMy4wMDQgMTk2LjA5MiAzMzIuMzAxIDE5OC4xOTdMMzMxLjEyOCAyMDEuOTM5TDMyNy44NDYgMTk5LjZDMzIwLjEwOSAxOTMuOTg2IDMxMS42NjkgMTg5Ljc3NiAzMDIuNTI1IDE4Ni45NjlMMzAwLjE4IDE4Ni4yNjhMMzAwLjQxNSAxODMuOTI5QzMwMC42NDkgMTgwLjY1NCAyOTkuNzEyIDE3Ny4xNDYgMjk3LjgzNiAxNzQuMzM5QzI5NC4wODUgMTY4Ljk1OSAyODcuNTIgMTY2LjYyIDI4MS4xOSAxNjguMjU4QzI3OS43ODMgMTY4LjcyNSAyNzguMzc2IDE2OS4xOTMgMjc3LjIwNCAxNjkuODk1TDIxMi45NjMgMjEwLjgyN0MyMDkuNjgxIDIxMi45MzIgMjA3LjU3MSAyMTUuOTczIDIwNi44NjcgMjE5LjcxNUMyMDYuMTY0IDIyMy40NTggMjA3LjEwMiAyMjcuNDM0IDIwOS4yMTIgMjMwLjQ3NUMyMTIuOTYzIDIzNS44NTQgMjE5LjUyOCAyMzguMTkzIDIyNS44NTggMjM2LjU1NkMyMjcuMjY1IDIzNi4wODggMjI4LjY3MiAyMzUuNjIgMjI5Ljg0NCAyMzQuOTE5TDI1NC40NjIgMjE5LjI0N0MyNTguNDQ3IDIxNi42NzUgMjYyLjkwMiAyMTQuODAzIDI2Ny41OTEgMjEzLjRDMjg4LjQ1OCAyMDguMDIgMzEwLjI2MiAyMTYuMjA3IDMyMi40NTQgMjMzLjc0OUMzMjkuOTU2IDI0NC4wNDEgMzMyLjc3IDI1Ni45MDUgMzMwLjY2IDI2OS41MzZDMzI4LjU0OSAyODEuNjk4IDMyMS4wNDcgMjkyLjY5MiAzMTAuNDk2IDI5OS4yNDFMMjQ2LjAyMSAzNDAuMTczQzI0Mi4wMzYgMzQyLjc0NiAyMzcuNTgxIDM0NC42MTcgMjMyLjg5MiAzNDYuMDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzVfMiI+CjxyZWN0IHdpZHRoPSIyMzAiIGhlaWdodD0iMjc2IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTM3IDEwMykiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K&logoColor=E10098)](https://kitql.dev/docs/tools/06_vite-plugin-kit-routes)

## 🧑‍💻 Try it online

[![](https://img.shields.io/badge/Open_in-CodeSandbox-black?logo=codesandbox&color=%23151515)](https://codesandbox.io/p/sandbox/github/jycouet/kitql/tree/main/packages/vite-plugin-kit-routes)

## ⭐️ Join us

[![GitHub Repo stars](https://img.shields.io/github/stars/jycouet/kitql?logo=github&label=KitQL&color=FF3E00)](https://github.com/jycouet/kitql)

### 👉 Check the [⚡Doc⚡](https://kitql.dev/docs/tools/06_vite-plugin-kit-routes)
7 changes: 4 additions & 3 deletions packages/vite-plugin-kit-routes/src/lib/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ export const LINKS = {
twitter_post: (params: { name: string | number; id: string | number }) => {
return `https:/twitter.com/${params.name}/status/${params.id}`
},
gravatar: (params: { id: string; s?: number; d?: 'retro' | 'identicon' }) => {
gravatar: (params: { str: string; s?: number; d?: 'retro' | 'identicon' }) => {
params.s = params.s ?? 75
params.d = params.d ?? 'identicon'
return `https:/www.gravatar.com/avatar/${params.id}${appendSp({ s: params.s, d: params.d })}`
return `https:/www.gravatar.com/avatar/${params.str}${appendSp({ s: params.s, d: params.d })}`
},
}

Expand Down Expand Up @@ -164,7 +164,7 @@ export type KIT_ROUTES = {
lang_site: 'lang'
lang_site_contract_siteId_contractId: 'lang' | 'siteId' | 'contractId'
}
LINKS: { twitter: never; twitter_post: 'name' | 'id'; gravatar: 'id' }
LINKS: { twitter: never; twitter_post: 'name' | 'id'; gravatar: 'str' }
Params: {
first: never
lang: never
Expand All @@ -175,6 +175,7 @@ export type KIT_ROUTES = {
contractId: never
extra: never
name: never
str: never
s: never
d: never
}
Expand Down
4 changes: 2 additions & 2 deletions packages/vite-plugin-kit-routes/src/lib/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,13 @@ export type Options<T extends ExtendTypes = ExtendTypes> = {
*
* // reference to link with params & search params!
* gravatar: {
* href: 'https://www.gravatar.com/avatar/[id]',
* href: 'https://www.gravatar.com/avatar/[str]',
* explicit_search_params: {
* s: { type: 'number', default: 75 },
* d: { type: '"retro" | "identicon"', default: '"identicon"' },
* },
* },
* // ✅ <img src={LINKS.gravatar({ id: 'jycouet', s: 20 })} alt="logo" />
* // ✅ <img src={LINKS.gravatar({ str: 'jycouet', s: 20 })} alt="logo" />
* }
* }
* ```
Expand Down
18 changes: 9 additions & 9 deletions packages/vite-plugin-kit-routes/src/lib/plugins.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ describe('run()', () => {

// reference to link with params & search params!
gravatar: {
href: 'https://www.gravatar.com/avatar/[id]',
href: 'https://www.gravatar.com/avatar/[str]',
explicit_search_params: {
s: { type: 'number', default: 75 },
d: { type: '"retro" | "identicon"', default: '"identicon"' },
Expand Down Expand Up @@ -324,10 +324,10 @@ describe('run()', () => {
\\"twitter_post\\": (params: {name: string | number, id: string | number}) => {
return \`https:/twitter.com/\${params.name}/status/\${params.id}\`
},
\\"gravatar\\": (params: {id: string | number, s?: number, d?: \\"retro\\" | \\"identicon\\"}) => {
\\"gravatar\\": (params: {str: string | number, s?: number, d?: \\"retro\\" | \\"identicon\\"}) => {
params.s = params.s ?? 75;
params.d = params.d ?? \\"identicon\\";
return \`https:/www.gravatar.com/avatar/\${params.id}\${appendSp({ s: params.s, d: params.d })}\`
return \`https:/www.gravatar.com/avatar/\${params.str}\${appendSp({ s: params.s, d: params.d })}\`
}
}

Expand Down Expand Up @@ -364,8 +364,8 @@ describe('run()', () => {
PAGES: { '_ROOT': never, 'subGroup': never, 'subGroup2': never, 'lang_contract': 'lang', 'lang_contract_id': 'lang' | 'id', 'lang_gp_one': 'lang', 'lang_gp_two': 'lang', 'lang_main': 'lang', 'lang_match_id_int': 'lang' | 'id', 'lang_site': 'lang', 'lang_site_id': 'lang' | 'id', 'lang_site_contract_siteId_contractId': 'lang' | 'siteId' | 'contractId' }
SERVERS: { 'lang_contract': 'lang', 'lang_site': 'lang', 'api_graphql': never }
ACTIONS: { 'lang_contract_id': 'lang' | 'id', 'lang_site': 'lang', 'lang_site_contract_siteId_contractId': 'lang' | 'siteId' | 'contractId' }
LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'id' }
Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, extra: never, name: never, s: never, d: never }
LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' }
Params: { first: never, lang: never, id: never, limit: never, demo: never, siteId: never, contractId: never, extra: never, name: never, str: never, s: never, d: never }
}
"
`)
Expand Down Expand Up @@ -447,10 +447,10 @@ describe('run()', () => {
\\"twitter_post\\": (params: {name: string | number, id: string | number}) => {
return \`https:/twitter.com/\${params.name}/status/\${params.id}\`
},
\\"gravatar\\": (params: {id: string | number, s?: number, d?: \\"retro\\" | \\"identicon\\"}) => {
\\"gravatar\\": (params: {str: string | number, s?: number, d?: \\"retro\\" | \\"identicon\\"}) => {
params.s = params.s ?? 75;
params.d = params.d ?? \\"identicon\\";
return \`https:/www.gravatar.com/avatar/\${params.id}\${appendSp({ s: params.s, d: params.d })}\`
return \`https:/www.gravatar.com/avatar/\${params.str}\${appendSp({ s: params.s, d: params.d })}\`
}
}

Expand Down Expand Up @@ -487,8 +487,8 @@ describe('run()', () => {
PAGES: { '/': never, '/subGroup': never, '/subGroup2': never, '/[[lang]]/contract': 'lang', '/[[lang]]/contract/[id]': 'lang' | 'id', '/[[lang]]/gp/one': 'lang', '/[[lang]]/gp/two': 'lang', '/[[lang]]/main': 'lang', '/[[lang]]/match/[id=int]': 'lang' | 'id', '/[[lang]]/site': 'lang', '/[[lang]]/site/[id]': 'lang' | 'id', '/[[lang]]/site_contract/[siteId]-[contractId]': 'lang' | 'siteId' | 'contractId' }
SERVERS: { '/[[lang]]/contract': 'lang', '/[[lang]]/site': 'lang', '/api/graphql': never }
ACTIONS: { '/[[lang]]/contract/[id]': 'lang' | 'id', '/[[lang]]/site': 'lang', '/[[lang]]/site_contract/[siteId]-[contractId]': 'lang' | 'siteId' | 'contractId' }
LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'id' }
Params: { lang: never, id: never, siteId: never, contractId: never, name: never, s: never, d: never }
LINKS: { 'twitter': never, 'twitter_post': 'name' | 'id', 'gravatar': 'str' }
Params: { lang: never, id: never, siteId: never, contractId: never, name: never, str: never, s: never, d: never }
}
"
`)
Expand Down
9 changes: 5 additions & 4 deletions packages/vite-plugin-kit-routes/src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,18 @@
TwiX Post
</a>
|
<img alt="demo links" src={LINKS.gravatar({ id: 'jycouet', s: 50 })} />
<img
alt="Not working on codesandbox as it's proxied"
src={LINKS.gravatar({ str: 'jycouet', s: 50 })}
/>
<hr />

<slot />

<hr />

<div class="text-right">
<a href="https://github.com/jycouet/kitql" target="_blank">
👉 ⭐️ https://github.com/jycouet/kitql 🙏
</a>
<a href="https://github.com/jycouet/kitql" target="_blank"> ⭐️ KitQL 🙏 </a>
</div>

<style>
Expand Down
4 changes: 2 additions & 2 deletions packages/vite-plugin-kit-routes/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ export default defineConfig({

// reference to link with params & search params!
gravatar: {
href: 'https://www.gravatar.com/avatar/[id]',
href: 'https://www.gravatar.com/avatar/[str]',
params: {
id: { type: 'string' },
str: { type: 'string' },
},
explicit_search_params: {
s: { type: 'number', default: 75 },
Expand Down
16 changes: 6 additions & 10 deletions website/src/pages/docs/tools/06_vite-plugin-kit-routes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ available in your `$lib/ROUTES.ts` generated file _(always in sync)_.
// 🤞 before, hardcoded string
const action = `/site_contract/${siteId}?/sendSomething`

<!-- ✅ after, typechecked route, error prone -->
// ✅ after, typechecked route, error prone
const action = ACTIONS['/site_contract/${siteId}']('sendSomething', { siteId })
</script>

Expand All @@ -89,20 +89,16 @@ available in your `$lib/ROUTES.ts` generated file _(always in sync)_.
<a href={LINKS.twitter}>Twitter</a>
```

```svelte filename="LINKS - with params & search params*" {2, 11}
```svelte filename="LINKS - with params & search params*" {2, 9}
<script lang="ts">
import { LINKS } from '$lib/ROUTES'
</script>

<!-- 🤞 before, hardcoded string -->
<a href="https://twitter.com/jycouet/status/1727089217707159569?limit=12">
<span>Check out the post </span>
</a>
<img src="https://www.gravatar.com/avatar/jycouet?s=20&d=identicon" alt="logo" />

<!-- ✅ after, typechecked route, error prone -->
<a href={LINKS.twitter_post({ name: 'jycouet', id: '1727089217707159569', limit: 12 })}>
<span>Check out the post </span>
</a>
<img src={LINKS.gravatar({ str: 'jycouet', s: 20 })} alt="logo" />
```

<br />
Expand Down Expand Up @@ -215,13 +211,13 @@ kitRoutes({

// reference to link with params & search params!
gravatar: {
href: 'https://www.gravatar.com/avatar/[id]',
href: 'https://www.gravatar.com/avatar/[str]',
explicit_search_params: {
s: { type: 'number', default: 75 },
d: { type: '"retro" | "identicon"', default: '"identicon"' }
}
}
// ✅ <img src={LINKS.gravatar({ id: 'jycouet', s: 20 })} alt="logo" />
// ✅ <img src={LINKS.gravatar({ str: 'jycouet', s: 20 })} alt="logo" />
}
})
```
Expand Down