mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-19 13:55:21 +00:00
Merge pull request #97 from sveltejs/gh-90
return service worker from generate_asset_cache
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
|
const path = require('path');
|
||||||
const sander = require('sander');
|
const sander = require('sander');
|
||||||
const app = require('express')();
|
const app = require('express')();
|
||||||
const cheerio = require('cheerio');
|
const cheerio = require('cheerio');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
const URL = require('url-parse');
|
const URL = require('url-parse');
|
||||||
|
const generate_asset_cache = require('./generate_asset_cache.js');
|
||||||
const sapper = require('../index.js');
|
const sapper = require('../index.js');
|
||||||
|
|
||||||
const { PORT = 3000, OUTPUT_DIR = 'dist' } = process.env;
|
const { PORT = 3000, OUTPUT_DIR = 'dist' } = process.env;
|
||||||
@@ -10,13 +12,22 @@ const { dest } = require('../config.js');
|
|||||||
|
|
||||||
const origin = `http://localhost:${PORT}`;
|
const origin = `http://localhost:${PORT}`;
|
||||||
|
|
||||||
|
function read_json(file) {
|
||||||
|
return JSON.parse(sander.readFileSync(file, { encoding: 'utf-8' }));
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function() {
|
module.exports = function() {
|
||||||
// Prep output directory
|
// Prep output directory
|
||||||
sander.rimrafSync(OUTPUT_DIR);
|
sander.rimrafSync(OUTPUT_DIR);
|
||||||
|
|
||||||
|
const { service_worker } = generate_asset_cache(
|
||||||
|
read_json(path.join(dest, 'stats.client.json')),
|
||||||
|
read_json(path.join(dest, 'stats.server.json'))
|
||||||
|
);
|
||||||
|
|
||||||
sander.copydirSync('assets').to(OUTPUT_DIR);
|
sander.copydirSync('assets').to(OUTPUT_DIR);
|
||||||
sander.copydirSync(`${dest}/client`).to(`${OUTPUT_DIR}/client`);
|
sander.copydirSync(dest, 'client').to(OUTPUT_DIR, 'client');
|
||||||
sander.copyFileSync(`${dest}/service-worker.js`).to(`${OUTPUT_DIR}/service-worker.js`);
|
sander.writeFileSync(OUTPUT_DIR, 'service-worker.js', service_worker);
|
||||||
|
|
||||||
// Intercept server route fetches
|
// Intercept server route fetches
|
||||||
function save(res) {
|
function save(res) {
|
||||||
|
|||||||
@@ -44,7 +44,9 @@ module.exports = function generate_asset_cache(clientInfo, serverInfo) {
|
|||||||
|
|
||||||
server: {
|
server: {
|
||||||
entry: path.resolve(dest, 'server', serverInfo.assetsByChunkName.main)
|
entry: path.resolve(dest, 'server', serverInfo.assetsByChunkName.main)
|
||||||
}
|
},
|
||||||
|
|
||||||
|
service_worker
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user