diff --git a/packages/fresh/src/dev/dev_build_cache.ts b/packages/fresh/src/dev/dev_build_cache.ts index 3678d0ffba4..559e463e488 100644 --- a/packages/fresh/src/dev/dev_build_cache.ts +++ b/packages/fresh/src/dev/dev_build_cache.ts @@ -296,9 +296,8 @@ export class DiskBuildCache implements DevBuildCache { await Deno.writeFile(filePath, content); } - // deno-lint-ignore require-await - async readFile(_pathname: string): Promise { - throw new Error("Not implemented in build mode"); + readFile(_pathname: string): Promise { + return Promise.reject(new Error("Not implemented in build mode")); } async prepare(): Promise { diff --git a/packages/fresh/src/router.ts b/packages/fresh/src/router.ts index c0bbfa9293a..f750c856dc0 100644 --- a/packages/fresh/src/router.ts +++ b/packages/fresh/src/router.ts @@ -174,7 +174,15 @@ export class UrlPatternRouter implements Router { // Decode matched params for (const [key, value] of Object.entries(match.pathname.groups)) { - result.params[key] = value === undefined ? "" : decodeURI(value); + if (value === undefined) { + result.params[key] = ""; + } else { + try { + result.params[key] = decodeURI(value); + } catch { + result.params[key] = value; + } + } } }