fix fallback index file

This commit is contained in:
Rich Harris
2018-07-17 16:59:13 -04:00
parent 9e1207cdd7
commit c867f051c2
3 changed files with 21 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ import { locations } from '../config';
import { Page, PageComponent, ServerRoute } from '../interfaces';
import { posixify } from './utils';
const fallback_index = posixify(path.resolve(
const fallback_file = posixify(path.resolve(
__dirname,
'../fallback.html'
));
@@ -14,6 +14,11 @@ export default function create_routes(cwd = locations.routes()) {
const pages: Page[] = [];
const server_routes: ServerRoute[] = [];
const fallback = {
name: 'fallback',
file: path.relative(cwd, fallback_file)
};
function walk(
dir: string,
parent_segments: Part[][],
@@ -104,17 +109,18 @@ export default function create_routes(cwd = locations.routes()) {
}
: null;
if (component) components.push(component);
if (component) {
components.push(component);
} else if (components.indexOf(fallback) === -1) {
components.push(fallback);
}
walk(
path.join(dir, item.basename),
segments,
params,
stack.concat({
component: component || {
name: 'fallback',
file: fallback_index
},
component: component || fallback,
params
})
);

View File

@@ -0,0 +1 @@
<h1>it works</h1>

View File

@@ -659,6 +659,14 @@ function run({ mode, basepath = '' }) {
]);
});
});
it('uses a fallback index component if none is provided', () => {
return nightmare.goto(`${base}/missing-index/ok`)
.page.title()
.then(title => {
assert.equal(title, 'it works');
});
});
});
describe('headers', () => {