mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-22 15:15:19 +00:00
Merge pull request #394 from sveltejs/gh-390
omit trailing slash from server route matchers
This commit is contained in:
@@ -128,12 +128,12 @@ export default function create_routes(cwd = locations.routes()) {
|
|||||||
components.push(component);
|
components.push(component);
|
||||||
if (item.basename === 'index.html') {
|
if (item.basename === 'index.html') {
|
||||||
pages.push({
|
pages.push({
|
||||||
pattern: get_pattern(parent_segments),
|
pattern: get_pattern(parent_segments, true),
|
||||||
parts
|
parts
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
pages.push({
|
pages.push({
|
||||||
pattern: get_pattern(segments),
|
pattern: get_pattern(segments, true),
|
||||||
parts
|
parts
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -142,7 +142,7 @@ export default function create_routes(cwd = locations.routes()) {
|
|||||||
else {
|
else {
|
||||||
server_routes.push({
|
server_routes.push({
|
||||||
name: `route_${get_slug(item.file)}`,
|
name: `route_${get_slug(item.file)}`,
|
||||||
pattern: get_pattern(segments),
|
pattern: get_pattern(segments, false),
|
||||||
file: item.file,
|
file: item.file,
|
||||||
params: params
|
params: params
|
||||||
});
|
});
|
||||||
@@ -276,7 +276,7 @@ function get_slug(file: string) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_pattern(segments: Part[][]) {
|
function get_pattern(segments: Part[][], add_trailing_slash: boolean) {
|
||||||
return new RegExp(
|
return new RegExp(
|
||||||
`^` +
|
`^` +
|
||||||
segments.map(segment => {
|
segments.map(segment => {
|
||||||
@@ -290,6 +290,6 @@ function get_pattern(segments: Part[][]) {
|
|||||||
.replace(/%5D/g, ']');
|
.replace(/%5D/g, ']');
|
||||||
}).join('');
|
}).join('');
|
||||||
}).join('') +
|
}).join('') +
|
||||||
'\\\/?$'
|
(add_trailing_slash ? '\\\/?$' : '$')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -53,14 +53,14 @@ describe('create_routes', () => {
|
|||||||
assert.deepEqual(server_routes, [
|
assert.deepEqual(server_routes, [
|
||||||
{
|
{
|
||||||
name: 'route_blog_json',
|
name: 'route_blog_json',
|
||||||
pattern: /^\/blog.json\/?$/,
|
pattern: /^\/blog.json$/,
|
||||||
file: 'blog/index.json.js',
|
file: 'blog/index.json.js',
|
||||||
params: []
|
params: []
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
name: 'route_blog_$slug_json',
|
name: 'route_blog_$slug_json',
|
||||||
pattern: /^\/blog\/([^\/]+?).json\/?$/,
|
pattern: /^\/blog\/([^\/]+?).json$/,
|
||||||
file: 'blog/[slug].json.js',
|
file: 'blog/[slug].json.js',
|
||||||
params: ['slug']
|
params: ['slug']
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user