mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-16 12:54:38 +00:00
more tidying up
This commit is contained in:
@@ -1,11 +1,9 @@
|
|||||||
process.env.NODE_ENV = 'production';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
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 get_compilers from './get_compilers.js';
|
||||||
import create_app from './utils/create_app.js';
|
import create_app from './create_app.js';
|
||||||
import generate_asset_cache from './generate_asset_cache.js';
|
import generate_asset_cache from './generate_asset_cache.js';
|
||||||
|
|
||||||
export default function build({ dest, dev, entry, src }) {
|
export default function build({ dest, dev, entry, src }) {
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import create_routes from '../create_routes.js';
|
import create_routes from './create_routes.js';
|
||||||
// import { create_templates } from '../templates.js';
|
|
||||||
|
|
||||||
function posixify(file) {
|
function posixify(file) {
|
||||||
return file.replace(/[/\\]/g, '/');
|
return file.replace(/[/\\]/g, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fudge_mtime(file) {
|
||||||
|
// need to fudge the mtime so that webpack doesn't go doolally
|
||||||
|
const { atime, mtime } = fs.statSync(file);
|
||||||
|
fs.utimesSync(file, new Date(atime.getTime() - 999999), new Date(mtime.getTime() - 999999));
|
||||||
|
}
|
||||||
|
|
||||||
function create_app({ src, dev, entry }) {
|
function create_app({ src, dev, entry }) {
|
||||||
const routes = create_routes({ src });
|
const routes = create_routes({ src });
|
||||||
|
|
||||||
@@ -38,10 +43,7 @@ function create_app({ src, dev, entry }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fs.writeFileSync(entry.client, main);
|
fs.writeFileSync(entry.client, main);
|
||||||
|
fudge_mtime(entry.client);
|
||||||
// need to fudge the mtime, because webpack is soft in the head
|
|
||||||
const { atime, mtime } = fs.statSync(entry.client);
|
|
||||||
fs.utimesSync(entry.client, new Date(atime.getTime() - 999999), new Date(mtime.getTime() - 999999));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_server_routes() {
|
function create_server_routes() {
|
||||||
@@ -57,9 +59,7 @@ function create_app({ src, dev, entry }) {
|
|||||||
const exports = `export { ${routes.map(route => route.id)} };`;
|
const exports = `export { ${routes.map(route => route.id)} };`;
|
||||||
|
|
||||||
fs.writeFileSync(entry.server, `${imports}\n\n${exports}`);
|
fs.writeFileSync(entry.server, `${imports}\n\n${exports}`);
|
||||||
|
fudge_mtime(entry.server);
|
||||||
const { atime, mtime } = fs.statSync(entry.server);
|
|
||||||
fs.utimesSync(entry.server, new Date(atime.getTime() - 999999), new Date(mtime.getTime() - 999999));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
create_client_main();
|
create_client_main();
|
||||||
@@ -18,7 +18,7 @@ export default function generate_asset_cache({ src, dest, dev, client_info, serv
|
|||||||
const service_worker = generate_service_worker({ chunk_files, src });
|
const service_worker = generate_service_worker({ chunk_files, src });
|
||||||
const index = generate_index(main_file);
|
const index = generate_index(main_file);
|
||||||
|
|
||||||
const routes = create_routes({ src }); // TODO rename update
|
const routes = create_routes({ src });
|
||||||
|
|
||||||
if (dev) {
|
if (dev) {
|
||||||
fs.writeFileSync(path.join(dest, 'service-worker.js'), service_worker);
|
fs.writeFileSync(path.join(dest, 'service-worker.js'), service_worker);
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ export { default as export } from './export.js';
|
|||||||
export { default as generate_asset_cache } from './generate_asset_cache.js';
|
export { default as generate_asset_cache } from './generate_asset_cache.js';
|
||||||
export { default as get_compilers } from './get_compilers.js';
|
export { default as get_compilers } from './get_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 './utils/create_app.js';
|
export { default as create_app } from './create_app.js';
|
||||||
|
|
||||||
export { templates };
|
export { templates };
|
||||||
@@ -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 } from 'sapper/core.js';
|
import { generate_asset_cache, create_routes, create_app } from 'sapper/core.js';
|
||||||
import { dest } from '../config.js';
|
import { dest } from '../config.js';
|
||||||
|
|
||||||
function deferred() {
|
function deferred() {
|
||||||
@@ -15,7 +15,7 @@ function deferred() {
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function create_watcher({ compilers, src, onroutes }) {
|
export default function create_watcher({ compilers, dev, entry, src, onroutes }) {
|
||||||
const deferreds = {
|
const deferreds = {
|
||||||
client: deferred(),
|
client: deferred(),
|
||||||
server: deferred()
|
server: deferred()
|
||||||
@@ -31,10 +31,11 @@ export default function create_watcher({ compilers, 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 generate_asset_cache({
|
||||||
client_stats.toJson(),
|
src, dest, dev,
|
||||||
server_stats.toJson()
|
client_info: client_stats.toJson(),
|
||||||
);
|
server_info: server_stats.toJson()
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function watch_compiler(type) {
|
function watch_compiler(type) {
|
||||||
@@ -63,7 +64,6 @@ export default function create_watcher({ compilers, src, onroutes }) {
|
|||||||
|
|
||||||
function watch_files(pattern, callback) {
|
function watch_files(pattern, callback) {
|
||||||
const watcher = chokidar.watch(pattern, {
|
const watcher = chokidar.watch(pattern, {
|
||||||
ignoreInitial: true,
|
|
||||||
persistent: false
|
persistent: false
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -71,13 +71,6 @@ export default function create_watcher({ compilers, src, onroutes }) {
|
|||||||
watcher.on('change', callback);
|
watcher.on('change', callback);
|
||||||
watcher.on('unlink', callback);
|
watcher.on('unlink', callback);
|
||||||
|
|
||||||
// watch('templates/main.js', create_app);
|
|
||||||
|
|
||||||
// watch('routes/**/*.+(html|js|mjs)', () => {
|
|
||||||
// route_manager.update({ src });
|
|
||||||
// create_app();
|
|
||||||
// });
|
|
||||||
|
|
||||||
// watch('templates/**.html', () => {
|
// watch('templates/**.html', () => {
|
||||||
// create_templates();
|
// create_templates();
|
||||||
// // TODO reload current page?
|
// // TODO reload current page?
|
||||||
@@ -87,6 +80,12 @@ export default function create_watcher({ compilers, src, onroutes }) {
|
|||||||
watch_files('routes/**/*.+(html|js|mjs)', () => {
|
watch_files('routes/**/*.+(html|js|mjs)', () => {
|
||||||
const routes = create_routes({ src });
|
const routes = create_routes({ src });
|
||||||
onroutes(routes);
|
onroutes(routes);
|
||||||
|
|
||||||
|
create_app({ dev, entry, src }); // TODO this calls `create_routes` again, we should pass `routes` to `create_app` instead
|
||||||
|
});
|
||||||
|
|
||||||
|
watch_files('templates/main.js', () => {
|
||||||
|
create_app({ dev, entry, src });
|
||||||
});
|
});
|
||||||
|
|
||||||
const watcher = {
|
const watcher = {
|
||||||
|
|||||||
@@ -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, create_app, get_compilers, generate_asset_cache } from 'sapper/core.js';
|
import { create_routes, templates, get_compilers, generate_asset_cache } 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,15 +12,14 @@ function connect_dev() {
|
|||||||
mkdirp.sync(dest);
|
mkdirp.sync(dest);
|
||||||
rimraf.sync(path.join(dest, '**/*'));
|
rimraf.sync(path.join(dest, '**/*'));
|
||||||
|
|
||||||
create_app({ dev, entry, src });
|
|
||||||
|
|
||||||
const compilers = get_compilers();
|
const compilers = get_compilers();
|
||||||
|
|
||||||
let routes;
|
let routes;
|
||||||
|
|
||||||
const watcher = create_watcher({
|
const watcher = create_watcher({
|
||||||
|
dev, entry, src,
|
||||||
compilers,
|
compilers,
|
||||||
on_routes_update: _ => {
|
onroutes: _ => {
|
||||||
routes = _;
|
routes = _;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user