mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-15 12:24:47 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e8ed6612c | ||
|
|
5ec748b95d | ||
|
|
64b16715cd | ||
|
|
9ea5e5e251 | ||
|
|
68b78f56d6 | ||
|
|
68e93a8fa0 |
@@ -1,5 +1,10 @@
|
|||||||
# sapper changelog
|
# sapper changelog
|
||||||
|
|
||||||
|
## 0.20.2
|
||||||
|
|
||||||
|
* Add `immutable` cache control header for hashed assets ([#425](https://github.com/sveltejs/sapper/pull/425))
|
||||||
|
* Handle value-less query string params ([#426](https://github.com/sveltejs/sapper/issues/426))
|
||||||
|
|
||||||
## 0.20.1
|
## 0.20.1
|
||||||
|
|
||||||
* Update shimport
|
* Update shimport
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
<svelte:component this={child.component} {...child.props}/>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sapper",
|
"name": "sapper",
|
||||||
"version": "0.20.1",
|
"version": "0.20.2",
|
||||||
"description": "Military-grade apps, engineered by Svelte",
|
"description": "Military-grade apps, engineered by Svelte",
|
||||||
"main": "dist/middleware.js",
|
"main": "dist/middleware.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ export default function middleware(opts: {
|
|||||||
|
|
||||||
serve({
|
serve({
|
||||||
prefix: '/client/',
|
prefix: '/client/',
|
||||||
cache_control: dev() ? 'no-cache' : 'max-age=31536000'
|
cache_control: dev() ? 'no-cache' : 'max-age=31536000, immutable'
|
||||||
}),
|
}),
|
||||||
|
|
||||||
get_server_route_handler(manifest.server_routes),
|
get_server_route_handler(manifest.server_routes),
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ function select_route(url: URL): Target {
|
|||||||
const query: Record<string, string | true> = {};
|
const query: Record<string, string | true> = {};
|
||||||
if (url.search.length > 0) {
|
if (url.search.length > 0) {
|
||||||
url.search.slice(1).split('&').forEach(searchParam => {
|
url.search.slice(1).split('&').forEach(searchParam => {
|
||||||
const [, key, value] = /([^=]+)=(.*)/.exec(searchParam);
|
const [, key, value] = /([^=]+)(?:=(.*))?/.exec(searchParam);
|
||||||
query[key] = value ? decodeURIComponent(value.replace(/\+/g, ' ')) : true;
|
query[key] = decodeURIComponent((value || '').replace(/\+/g, ' '));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return { url, path, page, match, query };
|
return { url, path, page, match, query };
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
<a rel=prefetch class='{page === "blog" ? "selected" : ""}' href='blog'>blog</a>
|
<a rel=prefetch class='{page === "blog" ? "selected" : ""}' href='blog'>blog</a>
|
||||||
<a href="const">const</a>
|
<a href="const">const</a>
|
||||||
<a href="echo/page/encöded?message=hëllö+wörld">echo/page/encöded?message=hëllö+wörld</a>
|
<a href="echo/page/encöded?message=hëllö+wörld">echo/page/encöded?message=hëllö+wörld</a>
|
||||||
|
<a href="echo/page/empty?message">echo/page/empty?message</a>
|
||||||
|
|
||||||
<div class='hydrate-test'></div>
|
<div class='hydrate-test'></div>
|
||||||
|
|
||||||
|
|||||||
@@ -772,6 +772,24 @@ function run({ mode, basepath = '' }) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('accepts value-less query string parameter on server', () => {
|
||||||
|
return nightmare.goto(`${base}/echo/page/empty?message`)
|
||||||
|
.page.title()
|
||||||
|
.then(title => {
|
||||||
|
assert.equal(title, 'empty ()');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('accepts value-less query string parameter on client', () => {
|
||||||
|
return nightmare.goto(base).init()
|
||||||
|
.click('a[href="echo/page/empty?message"]')
|
||||||
|
.wait(100)
|
||||||
|
.page.title()
|
||||||
|
.then(title => {
|
||||||
|
assert.equal(title, 'empty ()');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('encodes req.params for server routes', () => {
|
it('encodes req.params for server routes', () => {
|
||||||
return nightmare.goto(`${base}/echo/server-route/encöded`)
|
return nightmare.goto(`${base}/echo/server-route/encöded`)
|
||||||
.page.title()
|
.page.title()
|
||||||
|
|||||||
Reference in New Issue
Block a user