This commit is contained in:
Rich Harris
2017-12-22 09:19:32 -05:00
parent 0bcb61650b
commit 68c2f2e388
9 changed files with 3657 additions and 18 deletions

View File

@@ -1,7 +1,6 @@
{ {
"root": true, "root": true,
"rules": { "rules": {
"indent": [ 2, "tab", { "SwitchCase": 1 } ],
"semi": [ 2, "always" ], "semi": [ 2, "always" ],
"space-before-blocks": [ 2, "always" ], "space-before-blocks": [ 2, "always" ],
"no-mixed-spaces-and-tabs": [ 2, "smart-tabs" ], "no-mixed-spaces-and-tabs": [ 2, "smart-tabs" ],
@@ -33,7 +32,7 @@
"plugin:import/warnings" "plugin:import/warnings"
], ],
"parserOptions": { "parserOptions": {
"ecmaVersion": 6, "ecmaVersion": 8,
"sourceType": "module" "sourceType": "module"
} }
} }

View File

@@ -1,6 +1,5 @@
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const glob = require('glob');
const mkdirp = require('mkdirp'); const mkdirp = require('mkdirp');
const rimraf = require('rimraf'); const rimraf = require('rimraf');
const { client, server } = require('./utils/compilers.js'); const { client, server } = require('./utils/compilers.js');

View File

@@ -1,9 +1,5 @@
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const glob = require('glob');
const rimraf = require('rimraf');
const mkdirp = require('mkdirp');
const webpack = require('webpack');
const route_manager = require('./route_manager.js'); const route_manager = require('./route_manager.js');
const templates = require('./templates.js'); const templates = require('./templates.js');
const create_app = require('./utils/create_app.js'); const create_app = require('./utils/create_app.js');
@@ -11,7 +7,7 @@ const create_watcher = require('./utils/create_watcher.js');
const compilers = require('./utils/compilers.js'); const compilers = require('./utils/compilers.js');
const generate_asset_cache = require('./utils/generate_asset_cache.js'); const generate_asset_cache = require('./utils/generate_asset_cache.js');
const escape_html = require('escape-html'); const escape_html = require('escape-html');
const { src, dest, dev } = require('./config.js'); const { dest, dev } = require('./config.js');
function connect_dev() { function connect_dev() {
create_app(); create_app();
@@ -152,7 +148,7 @@ function get_route_handler(fn) {
// TODO detect other stuff we can preload? images, CSS, fonts? // TODO detect other stuff we can preload? images, CSS, fonts?
res.set('Link', `<${client.main_file}>;rel="preload";as="script", <${client.routes[route.id]}>;rel="preload";as="script"`); res.set('Link', `<${client.main_file}>;rel="preload";as="script", <${client.routes[route.id]}>;rel="preload";as="script"`);
let data = { params: req.params, query: req.query }; const data = { params: req.params, query: req.query };
if (mod.preload) { if (mod.preload) {
const promise = Promise.resolve(mod.preload(data)).then(preloaded => { const promise = Promise.resolve(mod.preload(data)).then(preloaded => {
@@ -160,7 +156,7 @@ function get_route_handler(fn) {
return mod.render(data); return mod.render(data);
}); });
templates.stream(res, 200, { await templates.stream(res, 200, {
main: client.main_file, main: client.main_file,
html: promise.then(rendered => rendered.html), html: promise.then(rendered => rendered.html),
head: promise.then(({ head }) => `<noscript id='sapper-head-start'></noscript>${head}<noscript id='sapper-head-end'></noscript>`), head: promise.then(({ head }) => `<noscript id='sapper-head-start'></noscript>${head}<noscript id='sapper-head-end'></noscript>`),
@@ -198,7 +194,7 @@ function get_route_handler(fn) {
stack: err && err.stack.split('\n').slice(1).join('\n') stack: err && err.stack.split('\n').slice(1).join('\n')
})); }));
} }
} };
} }
function get_not_found_handler(fn) { function get_not_found_handler(fn) {
@@ -212,7 +208,7 @@ function get_not_found_handler(fn) {
main: asset_cache.client.main_file, main: asset_cache.client.main_file,
url: req.url url: req.url
})); }));
} };
} }
function compose_handlers(handlers) { function compose_handlers(handlers) {
@@ -232,7 +228,7 @@ function compose_handlers(handlers) {
} }
go(); go();
} };
} }
function read_json(file) { function read_json(file) {

View File

@@ -57,7 +57,7 @@ function create_templates() {
i = end + 1; i = end + 1;
} while (i < template.length); } while (i < template.length);
} }
} };
}) })
.sort((a, b) => b.specificity - a.specificity); .sort((a, b) => b.specificity - a.specificity);
} }

View File

@@ -2,10 +2,10 @@ const fs = require('fs');
const path = require('path'); const path = require('path');
const chokidar = require('chokidar'); const chokidar = require('chokidar');
const route_manager = require('../route_manager.js'); const route_manager = require('../route_manager.js');
const { src, dest, entry, dev } = require('../config.js'); const { src, entry, dev } = require('../config.js');
function posixify(file) { function posixify(file) {
return file.replace(/[\/\\]/g, '/'); return file.replace(/[/\\]/g, '/');
} }
function create_app() { function create_app() {

View File

@@ -74,4 +74,4 @@ module.exports = function create_matchers(files) {
}); });
return routes; return routes;
} };

View File

@@ -60,7 +60,7 @@ module.exports = function create_watcher() {
}); });
} }
watcher = { const watcher = {
ready: invalidate(), ready: invalidate(),
client: watch_compiler('client'), client: watch_compiler('client'),
server: watch_compiler('server'), server: watch_compiler('server'),

View File

@@ -22,6 +22,7 @@
}, },
"devDependencies": { "devDependencies": {
"eslint": "^4.13.1", "eslint": "^4.13.1",
"eslint-plugin-import": "^2.8.0",
"express": "^4.16.2", "express": "^4.16.2",
"get-port": "^3.2.0", "get-port": "^3.2.0",
"mocha": "^4.0.1", "mocha": "^4.0.1",

3644
yarn.lock Normal file

File diff suppressed because it is too large Load Diff