From 6ad9022c12c4ac302fd66d9b167f07b5eea34a94 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Jun 2025 23:01:44 +0200 Subject: [PATCH 1/2] update the http://localhost:5173/path-base/resolve-route/ demo page --- .../source/pages/resolve-route/+layout.svelte | 16 ++ .../source/pages/resolve-route/+page.svelte | 144 +++++++++++++++++- .../resolve-route/a/[...rest]/z/+page.svelte | 1 + .../resolve-route/api/graphql/+server.js | 7 + .../pages/resolve-route/gp/(gpA)/+page.svelte | 1 + .../i/[n]/[terpolation]/+page.svelte | 1 + .../matched/[fallback]/+page.svelte | 5 + .../matched/[id=ab]/+page.svelte | 5 + .../matched/[letter=lowercase]/+page.svelte | 5 + .../matched/[number=numeric]/+page.svelte | 5 + .../optional-params/[[lang]]/+page.svelte | 5 + .../pages/resolve-route/site/+page.server.ts | 8 + .../resolve-route/site/[id]/+page.server.ts | 6 + .../resolve-route/site/[id]/+page.svelte | 7 + .../kit/test/apps/options/source/params/ab.ts | 5 + .../apps/options/source/params/lowercase.js | 3 + .../apps/options/source/params/numeric.js | 3 + .../kit/test/apps/options/svelte.config.js | 1 + 18 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/+layout.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/a/[...rest]/z/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/api/graphql/+server.js create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/gp/(gpA)/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/i/[n]/[terpolation]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/matched/[fallback]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/matched/[id=ab]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/matched/[letter=lowercase]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/matched/[number=numeric]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/optional-params/[[lang]]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/site/+page.server.ts create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts create mode 100644 packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.svelte create mode 100644 packages/kit/test/apps/options/source/params/ab.ts create mode 100644 packages/kit/test/apps/options/source/params/lowercase.js create mode 100644 packages/kit/test/apps/options/source/params/numeric.js diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/+layout.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/+layout.svelte new file mode 100644 index 000000000000..9cec52bfc6b4 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/+layout.svelte @@ -0,0 +1,16 @@ + + +ROOT resolve-route + +
+
{JSON.stringify({ ['page.route.id']: page.route.id, params: page.params }, null, 2)}
+ +{@render children()} +
diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/+page.svelte index 012be59f5a26..d8c2126fac57 100644 --- a/packages/kit/test/apps/options/source/pages/resolve-route/+page.svelte +++ b/packages/kit/test/apps/options/source/pages/resolve-route/+page.svelte @@ -1,7 +1,147 @@ + + +
+ -click me + + diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/a/[...rest]/z/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/a/[...rest]/z/+page.svelte new file mode 100644 index 000000000000..8e65a824f1c0 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/a/[...rest]/z/+page.svelte @@ -0,0 +1 @@ +

[...rest] page

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/api/graphql/+server.js b/packages/kit/test/apps/options/source/pages/resolve-route/api/graphql/+server.js new file mode 100644 index 000000000000..33c679ce510e --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/api/graphql/+server.js @@ -0,0 +1,7 @@ +import { json } from '@sveltejs/kit'; + +const allMethod = async () => { + return json({ my: 'Graphql server 🎉' }); +}; + +export { allMethod as GET, allMethod as POST }; diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/gp/(gpA)/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/gp/(gpA)/+page.svelte new file mode 100644 index 000000000000..ecb8e4704f69 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/gp/(gpA)/+page.svelte @@ -0,0 +1 @@ +

gpA

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/i/[n]/[terpolation]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/i/[n]/[terpolation]/+page.svelte new file mode 100644 index 000000000000..b7245a514475 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/i/[n]/[terpolation]/+page.svelte @@ -0,0 +1 @@ +Plop diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/matched/[fallback]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[fallback]/+page.svelte new file mode 100644 index 000000000000..eef9eb409e64 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[fallback]/+page.svelte @@ -0,0 +1,5 @@ + + +

fallback: {page.params.fallback}

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/matched/[id=ab]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[id=ab]/+page.svelte new file mode 100644 index 000000000000..5aa6b1f7d5c2 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[id=ab]/+page.svelte @@ -0,0 +1,5 @@ + + +

ab: {page.params.id}

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/matched/[letter=lowercase]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[letter=lowercase]/+page.svelte new file mode 100644 index 000000000000..92542e4d1127 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[letter=lowercase]/+page.svelte @@ -0,0 +1,5 @@ + + +

lowercase: {page.params.letter}

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/matched/[number=numeric]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[number=numeric]/+page.svelte new file mode 100644 index 000000000000..86cdb955a6e6 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/matched/[number=numeric]/+page.svelte @@ -0,0 +1,5 @@ + + +

number: {page.params.number}

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/optional-params/[[lang]]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/optional-params/[[lang]]/+page.svelte new file mode 100644 index 000000000000..3e657df5336d --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/optional-params/[[lang]]/+page.svelte @@ -0,0 +1,5 @@ + + +

{page.params.lang}

diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/site/+page.server.ts b/packages/kit/test/apps/options/source/pages/resolve-route/site/+page.server.ts new file mode 100644 index 000000000000..cd55a8ff7426 --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/site/+page.server.ts @@ -0,0 +1,8 @@ +import type { Actions } from './$types'; + +export const actions = { + create: async () => { + // [ + }, + 'u-p-d-a-t-e': async () => {} +} satisfies Actions; diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts new file mode 100644 index 000000000000..4e6dc5688ace --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts @@ -0,0 +1,6 @@ +import type { Actions } from '../$types.js' + +export const actions = { + update: async () => {}, + delete: async () => {}, +} satisfies Actions diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.svelte b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.svelte new file mode 100644 index 000000000000..dee41692d79c --- /dev/null +++ b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.svelte @@ -0,0 +1,7 @@ + + +

site [id]

+ +
id: {page.params.id}
diff --git a/packages/kit/test/apps/options/source/params/ab.ts b/packages/kit/test/apps/options/source/params/ab.ts new file mode 100644 index 000000000000..08a9363075b5 --- /dev/null +++ b/packages/kit/test/apps/options/source/params/ab.ts @@ -0,0 +1,5 @@ +import type { ParamMatcher } from '@sveltejs/kit'; + +export const match = ((param): param is 'a' | 'b' => { + return ['a', 'b'].includes(param); +}) satisfies ParamMatcher; diff --git a/packages/kit/test/apps/options/source/params/lowercase.js b/packages/kit/test/apps/options/source/params/lowercase.js new file mode 100644 index 000000000000..c9dc0695e69e --- /dev/null +++ b/packages/kit/test/apps/options/source/params/lowercase.js @@ -0,0 +1,3 @@ +export function match(param) { + return /^[a-z]+$/.test(param); +} diff --git a/packages/kit/test/apps/options/source/params/numeric.js b/packages/kit/test/apps/options/source/params/numeric.js new file mode 100644 index 000000000000..93ea12018d44 --- /dev/null +++ b/packages/kit/test/apps/options/source/params/numeric.js @@ -0,0 +1,3 @@ +export function match(param) { + return !isNaN(parseInt(param)); +} diff --git a/packages/kit/test/apps/options/svelte.config.js b/packages/kit/test/apps/options/svelte.config.js index 3c10a2826669..2f35ed744d91 100644 --- a/packages/kit/test/apps/options/svelte.config.js +++ b/packages/kit/test/apps/options/svelte.config.js @@ -12,6 +12,7 @@ const config = { } }, files: { + params: 'source/params', assets: 'public', lib: 'source/components', routes: 'source/pages', From d70e99bcd09d2740b7c6b8f281f6f624e776f178 Mon Sep 17 00:00:00 2001 From: jycouet Date: Wed, 11 Jun 2025 23:07:33 +0200 Subject: [PATCH 2/2] let's be nice and format things --- .../source/pages/resolve-route/site/[id]/+page.server.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts index 4e6dc5688ace..dc30771daf4b 100644 --- a/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts +++ b/packages/kit/test/apps/options/source/pages/resolve-route/site/[id]/+page.server.ts @@ -1,6 +1,6 @@ -import type { Actions } from '../$types.js' +import type { Actions } from '../$types.js'; export const actions = { update: async () => {}, - delete: async () => {}, -} satisfies Actions + delete: async () => {} +} satisfies Actions;