various stability improvements

This commit is contained in:
Rich Harris
2018-03-03 21:48:50 -05:00
parent ff3b43443e
commit 99853c5181
7 changed files with 102 additions and 111 deletions

View File

@@ -56,14 +56,14 @@ function generate_client(routes: Route[], dev_port?: number) {
];`.replace(/^\t\t/gm, '').trim();
if (dev()) {
const hmr_client = posixify(
path.resolve(__dirname, 'hmr-client.js')
const sapper_dev_client = posixify(
path.resolve(__dirname, 'sapper-dev-client.js')
);
code += `
if (module.hot) {
import('${hmr_client}').then(client => {
import('${sapper_dev_client}').then(client => {
client.connect(${dev_port});
});
}`.replace(/^\t{3}/gm, '');

View File

@@ -1,39 +0,0 @@
import * as fs from 'fs';
import chalk from 'chalk';
import framer from 'code-frame';
import { locate } from 'locate-character';
function error(e: any) {
if (e.title) console.error(chalk.bold.red(e.title));
if (e.body) console.error(chalk.red(e.body));
if (e.url) console.error(chalk.cyan(e.url));
if (e.frame) console.error(chalk.grey(e.frame));
process.exit(1);
}
export default function create_templates() {
const template = fs.readFileSync(`app/template.html`, 'utf-8');
const index = template.indexOf('%sapper.main%');
if (index !== -1) {
// TODO remove this in a future version
const { line, column } = locate(template, index, { offsetLine: 1 });
const frame = framer(template, line, column);
error({
title: `app/template.html`,
body: `<script src='%sapper.main%'> is unsupported — use %sapper.scripts% (without the <script> tag) instead`,
url: 'https://github.com/sveltejs/sapper/issues/86',
frame
});
}
return {
render: (data: Record<string, string>) => {
return template.replace(/%sapper\.(\w+)%/g, (match, key) => {
return key in data ? data[key] : '';
});
}
};
}

View File

@@ -1,5 +1,4 @@
export { default as create_app } from './create_app';
export { default as create_serviceworker } from './create_serviceworker';
export { default as create_compilers } from './create_compilers';
export { default as create_routes } from './create_routes';
export { default as create_template } from './create_template';
export { default as create_routes } from './create_routes';