Compare commits

...

6 Commits

Author SHA1 Message Date
Rich Harris
dd6c51567a -> v0.8.2 2018-03-04 22:55:00 -05:00
Rich Harris
01ff84f241 Merge pull request #167 from sveltejs/gh-166
rename preloadRoutes to prefetchRoutes
2018-03-04 22:54:11 -05:00
Rich Harris
329c113723 rename preloadRoutes to prefetchRoutes 2018-03-04 22:38:55 -05:00
Rich Harris
2ad10b380f -> v0.8.1 2018-03-04 21:37:55 -05:00
Rich Harris
e6314cde96 Merge pull request #164 from sveltejs/gh-163
add sapper start task
2018-03-04 21:36:51 -05:00
Rich Harris
b64e25a177 add sapper start task 2018-03-04 21:28:31 -05:00
6 changed files with 74 additions and 37 deletions

View File

@@ -1,5 +1,13 @@
# sapper changelog
## 0.8.2
* Rename `preloadRoutes` to `prefetchRoutes` ([#166](https://github.com/sveltejs/sapper/issues/166))
## 0.8.1
* Add `sapper start` command, for running an app built with `sapper build` ([#163](https://github.com/sveltejs/sapper/issues/163))
## 0.8.0
* Update to webpack 4

View File

@@ -1,6 +1,6 @@
{
"name": "sapper",
"version": "0.8.0",
"version": "0.8.2",
"description": "Military-grade apps, engineered by Svelte",
"main": "middleware.js",
"bin": {

View File

@@ -1,3 +1,5 @@
import * as path from 'path';
import * as child_process from 'child_process';
import mri from 'mri';
import chalk from 'chalk';
import help from './help.md';
@@ -28,36 +30,60 @@ const [cmd] = opts._;
const start = Date.now();
if (cmd === 'build') {
process.env.NODE_ENV = 'production';
process.env.SAPPER_DEST = opts._[1] || 'build';
switch (cmd) {
case 'build':
process.env.NODE_ENV = 'production';
process.env.SAPPER_DEST = opts._[1] || 'build';
build()
.then(() => {
const elapsed = Date.now() - start;
console.error(`built in ${elapsed}ms`); // TODO beautify this, e.g. 'built in 4.7 seconds'
})
.catch(err => {
console.error(err ? err.details || err.stack || err.message || err : 'Unknown error');
build()
.then(() => {
const elapsed = Date.now() - start;
console.error(`built in ${elapsed}ms`); // TODO beautify this, e.g. 'built in 4.7 seconds'
})
.catch(err => {
console.error(err ? err.details || err.stack || err.message || err : 'Unknown error');
});
break;
case 'export':
process.env.NODE_ENV = 'production';
const export_dir = opts._[1] || 'export';
build()
.then(() => exporter(export_dir))
.then(() => {
const elapsed = Date.now() - start;
console.error(`extracted in ${elapsed}ms`); // TODO beautify this, e.g. 'built in 4.7 seconds'
})
.catch(err => {
console.error(err ? err.details || err.stack || err.message || err : 'Unknown error');
});
break;
case 'dev':
dev();
break;
case 'upgrade':
upgrade();
break;
case 'start':
const dir = path.resolve(opts._[1] || 'build');
child_process.fork(`${dir}/server.js`, [], {
cwd: process.cwd(),
env: Object.assign({
NODE_ENV: 'production',
SAPPER_DEST: dir
}, process.env)
});
} else if (cmd === 'export') {
process.env.NODE_ENV = 'production';
const export_dir = opts._[1] || 'export';
break;
build()
.then(() => exporter(export_dir))
.then(() => {
const elapsed = Date.now() - start;
console.error(`extracted in ${elapsed}ms`); // TODO beautify this, e.g. 'built in 4.7 seconds'
})
.catch(err => {
console.error(err ? err.details || err.stack || err.message || err : 'Unknown error');
});
} else if (cmd === 'dev') {
dev();
} else if (cmd === 'upgrade') {
upgrade();
} else {
console.log(`unrecognized command ${cmd} — try \`sapper --help\` for more information`);
}
default:
console.log(`unrecognized command ${cmd} — try \`sapper --help\` for more information`);
}

View File

@@ -266,7 +266,7 @@ export function goto(href: string, opts = { replaceState: false }) {
}
}
export function preloadRoutes(pathnames: string[]) {
export function prefetchRoutes(pathnames: string[]) {
if (!routes) throw new Error(`You must call init() first`);
return routes
@@ -281,4 +281,7 @@ export function preloadRoutes(pathnames: string[]) {
.reduce((promise: Promise<any>, route) => {
return promise.then(route.load);
}, Promise.resolve());
}
}
// remove this in 0.9
export { prefetchRoutes as preloadRoutes };

View File

@@ -1,8 +1,8 @@
import { init, preloadRoutes } from '../../../runtime.js';
import { init, prefetchRoutes } from '../../../runtime.js';
import { routes } from './manifest/client.js';
window.init = () => {
return init(document.querySelector('#sapper'), routes);
};
window.preloadRoutes = preloadRoutes;
window.prefetchRoutes = prefetchRoutes;

View File

@@ -23,8 +23,8 @@ Nightmare.action('init', function(done) {
this.evaluate_now(() => window.init(), done);
});
Nightmare.action('preloadRoutes', function(done) {
this.evaluate_now(() => window.preloadRoutes(), done);
Nightmare.action('prefetchRoutes', function(done) {
this.evaluate_now(() => window.prefetchRoutes(), done);
});
function run(env) {
@@ -159,7 +159,7 @@ function run(env) {
});
it('navigates to a new page without reloading', () => {
return capture(() => nightmare.goto(base).init().preloadRoutes())
return capture(() => nightmare.goto(base).init().prefetchRoutes())
.then(() => {
return capture(() => nightmare.click('a[href="/about"]'));
})