mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-22 15:15:19 +00:00
more tidying up
This commit is contained in:
@@ -2,9 +2,9 @@ import * as fs from 'fs';
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import mkdirp from 'mkdirp';
|
import mkdirp from 'mkdirp';
|
||||||
import rimraf from 'rimraf';
|
import rimraf from 'rimraf';
|
||||||
import get_compilers from './get_compilers.js';
|
import create_compilers from './create_compilers.js';
|
||||||
import create_app from './create_app.js';
|
import create_app from './create_app.js';
|
||||||
import generate_asset_cache from './generate_asset_cache.js';
|
import create_assets from './create_assets.js';
|
||||||
|
|
||||||
export default function build({ dest, dev, entry, src }) {
|
export default function build({ dest, dev, entry, src }) {
|
||||||
mkdirp.sync(dest);
|
mkdirp.sync(dest);
|
||||||
@@ -26,7 +26,7 @@ export default function build({ dest, dev, entry, src }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const { client, server } = get_compilers();
|
const { client, server } = create_compilers();
|
||||||
|
|
||||||
client.run((err, client_stats) => {
|
client.run((err, client_stats) => {
|
||||||
handleErrors(err, client_stats);
|
handleErrors(err, client_stats);
|
||||||
@@ -38,7 +38,7 @@ export default function build({ dest, dev, entry, src }) {
|
|||||||
const server_info = server_stats.toJson();
|
const server_info = server_stats.toJson();
|
||||||
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(server_info, null, ' '));
|
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(server_info, null, ' '));
|
||||||
|
|
||||||
generate_asset_cache({ src, dest, dev, client_info, server_info });
|
create_assets({ src, dest, dev, client_info, server_info });
|
||||||
fulfil();
|
fulfil();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -16,8 +16,6 @@ function create_app({ src, dev, entry }) {
|
|||||||
const routes = create_routes({ src });
|
const routes = create_routes({ src });
|
||||||
|
|
||||||
function create_client_main() {
|
function create_client_main() {
|
||||||
const template = fs.readFileSync('templates/main.js', 'utf-8');
|
|
||||||
|
|
||||||
const code = `[${
|
const code = `[${
|
||||||
routes
|
routes
|
||||||
.filter(route => route.type === 'page')
|
.filter(route => route.type === 'page')
|
||||||
@@ -32,7 +30,7 @@ function create_app({ src, dev, entry }) {
|
|||||||
.join(', ')
|
.join(', ')
|
||||||
}]`;
|
}]`;
|
||||||
|
|
||||||
let main = template
|
let main = fs.readFileSync('templates/main.js', 'utf-8')
|
||||||
.replace(/__app__/g, posixify(path.resolve(__dirname, '../../runtime/app.js')))
|
.replace(/__app__/g, posixify(path.resolve(__dirname, '../../runtime/app.js')))
|
||||||
.replace(/__routes__/g, code)
|
.replace(/__routes__/g, code)
|
||||||
.replace(/__dev__/g, String(dev));
|
.replace(/__dev__/g, String(dev));
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ function ensure_array(thing) {
|
|||||||
return Array.isArray(thing) ? thing : [thing]; // omg webpack what the HELL are you doing
|
return Array.isArray(thing) ? thing : [thing]; // omg webpack what the HELL are you doing
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function generate_asset_cache({ src, dest, dev, client_info, server_info }) {
|
export default function create_assets({ src, dest, dev, client_info, server_info }) {
|
||||||
create_templates(); // TODO refactor this...
|
create_templates(); // TODO refactor this...
|
||||||
|
|
||||||
const main_file = `/client/${ensure_array(client_info.assetsByChunkName.main)[0]}`;
|
const main_file = `/client/${ensure_array(client_info.assetsByChunkName.main)[0]}`;
|
||||||
@@ -20,7 +20,7 @@ export default function generate_asset_cache({ src, dest, dev, client_info, serv
|
|||||||
|
|
||||||
const routes = create_routes({ src });
|
const routes = create_routes({ src });
|
||||||
|
|
||||||
if (dev) {
|
if (dev) { // TODO move this into calling code
|
||||||
fs.writeFileSync(path.join(dest, 'service-worker.js'), service_worker);
|
fs.writeFileSync(path.join(dest, 'service-worker.js'), service_worker);
|
||||||
fs.writeFileSync(path.join(dest, 'index.html'), index);
|
fs.writeFileSync(path.join(dest, 'index.html'), index);
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import relative from 'require-relative';
|
import relative from 'require-relative';
|
||||||
|
|
||||||
export default function get_compilers() {
|
export default function create_compilers() {
|
||||||
const webpack = relative('webpack', process.cwd());
|
const webpack = relative('webpack', process.cwd());
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -4,7 +4,7 @@ import express from 'express';
|
|||||||
import cheerio from 'cheerio';
|
import cheerio from 'cheerio';
|
||||||
import fetch from 'node-fetch';
|
import fetch from 'node-fetch';
|
||||||
import URL from 'url-parse';
|
import URL from 'url-parse';
|
||||||
import generate_asset_cache from './generate_asset_cache.js';
|
import create_assets from './create_assets.js';
|
||||||
// import middleware from '../middleware/index.js';
|
// import middleware from '../middleware/index.js';
|
||||||
|
|
||||||
const { PORT = 3000, OUTPUT_DIR = 'dist' } = process.env;
|
const { PORT = 3000, OUTPUT_DIR = 'dist' } = process.env;
|
||||||
@@ -21,7 +21,7 @@ export default function exporter({ src, dest }) { // TODO dest is a terrible nam
|
|||||||
// Prep output directory
|
// Prep output directory
|
||||||
sander.rimrafSync(OUTPUT_DIR);
|
sander.rimrafSync(OUTPUT_DIR);
|
||||||
|
|
||||||
const { service_worker } = generate_asset_cache({
|
const { service_worker } = create_assets({
|
||||||
src, dest,
|
src, dest,
|
||||||
dev: false,
|
dev: false,
|
||||||
client_info: read_json(path.join(dest, 'stats.client.json')),
|
client_info: read_json(path.join(dest, 'stats.client.json')),
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import * as templates from './templates.js';
|
import * as templates from './templates.js'; // TODO templates is an anomaly... fix post-#91
|
||||||
|
|
||||||
export { default as build } from './build.js';
|
export { default as build } from './build.js';
|
||||||
export { default as export } from './export.js';
|
export { default as export } from './export.js';
|
||||||
export { default as generate_asset_cache } from './generate_asset_cache.js';
|
export { default as create_assets } from './create_assets.js';
|
||||||
export { default as get_compilers } from './get_compilers.js';
|
export { default as create_compilers } from './create_compilers.js';
|
||||||
export { default as create_routes } from './create_routes.js';
|
export { default as create_routes } from './create_routes.js';
|
||||||
export { default as create_app } from './create_app.js';
|
export { default as create_app } from './create_app.js';
|
||||||
|
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ export function create_templates() {
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
.sort((a, b) => b.specificity - a.specificity);
|
.sort((a, b) => b.specificity - a.specificity);
|
||||||
|
|
||||||
|
return templates;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function render(status, data) {
|
export function render(status, data) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import { generate_asset_cache, create_routes, create_app } from 'sapper/core.js';
|
import { create_assets, create_routes, create_app } from 'sapper/core.js';
|
||||||
import { dest } from '../config.js';
|
import { dest } from '../config.js';
|
||||||
|
|
||||||
function deferred() {
|
function deferred() {
|
||||||
@@ -31,7 +31,7 @@ export default function create_watcher({ compilers, dev, entry, src, onroutes })
|
|||||||
const server_info = server_stats.toJson();
|
const server_info = server_stats.toJson();
|
||||||
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(server_info, null, ' '));
|
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(server_info, null, ' '));
|
||||||
|
|
||||||
return generate_asset_cache({
|
return create_assets({
|
||||||
src, dest, dev,
|
src, dest, dev,
|
||||||
client_info: client_stats.toJson(),
|
client_info: client_stats.toJson(),
|
||||||
server_info: server_stats.toJson()
|
server_info: server_stats.toJson()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import mkdirp from 'mkdirp';
|
|||||||
import rimraf from 'rimraf';
|
import rimraf from 'rimraf';
|
||||||
import serialize from 'serialize-javascript';
|
import serialize from 'serialize-javascript';
|
||||||
import escape_html from 'escape-html';
|
import escape_html from 'escape-html';
|
||||||
import { create_routes, templates, get_compilers, generate_asset_cache } from 'sapper/core.js';
|
import { create_routes, templates, create_compilers, create_assets } from 'sapper/core.js';
|
||||||
import create_watcher from './create_watcher.js';
|
import create_watcher from './create_watcher.js';
|
||||||
import { dest, dev, entry, src } from '../config.js';
|
import { dest, dev, entry, src } from '../config.js';
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ function connect_dev() {
|
|||||||
mkdirp.sync(dest);
|
mkdirp.sync(dest);
|
||||||
rimraf.sync(path.join(dest, '**/*'));
|
rimraf.sync(path.join(dest, '**/*'));
|
||||||
|
|
||||||
const compilers = get_compilers();
|
const compilers = create_compilers();
|
||||||
|
|
||||||
let routes;
|
let routes;
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ function connect_dev() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function connect_prod() {
|
function connect_prod() {
|
||||||
const asset_cache = generate_asset_cache({
|
const asset_cache = create_assets({
|
||||||
src, dest,
|
src, dest,
|
||||||
dev: false,
|
dev: false,
|
||||||
client_info: read_json(path.join(dest, 'stats.client.json')),
|
client_info: read_json(path.join(dest, 'stats.client.json')),
|
||||||
|
|||||||
Reference in New Issue
Block a user