incorporate Sirv, and add a sapper.start() function

This commit is contained in:
Rich Harris
2019-05-09 21:32:13 -04:00
parent 5c07080207
commit bedbcb834b
14 changed files with 82 additions and 35 deletions

View File

@@ -122,7 +122,7 @@ export async function build({
const client_files = client_result.chunks
.filter(chunk => !chunk.file.endsWith('.map')) // SW does not need to cache sourcemap files
.map(chunk => `client/${chunk.file}`);
.map(chunk => `sapper/${chunk.file}`);
create_serviceworker_manifest({
manifest_data,

View File

@@ -333,7 +333,7 @@ class Watcher extends EventEmitter {
JSON.stringify(result.to_json(manifest_data, this.dirs), null, ' ')
);
const client_files = result.chunks.map(chunk => `client/${chunk.file}`);
const client_files = result.chunks.map(chunk => `sapper/${chunk.file}`);
create_serviceworker_manifest({
manifest_data,

View File

@@ -60,9 +60,8 @@ async function _export({
rimraf(export_dir);
copy(static_files, export_dir);
copy(path.join(build_dir, 'client'), path.join(export_dir, 'client'));
copy(path.join(build_dir, 'service-worker.js'), path.join(export_dir, 'service-worker.js'));
copy(path.join(build_dir, 'service-worker.js.map'), path.join(export_dir, 'service-worker.js.map'));
copy(path.join(build_dir, 'client'), export_dir);
copy(path.join(build_dir, 'service-worker'), export_dir);
const defaultPort = process.env.PORT ? parseInt(process.env.PORT) : 3000;
const port = await ports.find(defaultPort);

View File

@@ -1,9 +1,13 @@
import * as fs from 'fs';
import { mkdirp } from './fs_utils';
export function copy_shimport(dest: string) {
mkdirp(`${dest}/client/sapper`);
const shimport_version = require('shimport/package.json').version;
fs.writeFileSync(
`${dest}/client/shimport@${shimport_version}.js`,
`${dest}/client/sapper/shimport@${shimport_version}.js`,
fs.readFileSync(require.resolve('shimport/index.js'))
);
}

View File

@@ -9,7 +9,7 @@ export default {
},
output: () => {
let dir = `${dest}/client`;
let dir = `${dest}/client/sapper`;
if (process.env.SAPPER_LEGACY_BUILD) dir += `/legacy`;
return {
@@ -45,7 +45,7 @@ export default {
output: () => {
return {
file: `${dest}/service-worker.js`,
file: `${dest}/service-worker/service-worker.js`,
format: 'iife'
}
}

View File

@@ -12,10 +12,10 @@ export default {
output: () => {
return {
path: `${dest}/client`,
path: `${dest}/client/sapper`,
filename: '[hash]/[name].js',
chunkFilename: '[hash]/[name].[id].js',
publicPath: `client/`
publicPath: `sapper/`
};
}
},
@@ -46,7 +46,7 @@ export default {
output: () => {
return {
path: dest,
path: `${dest}/service-worker`,
filename: '[name].js',
chunkFilename: '[name].[id].[hash].js'
}

View File

@@ -116,7 +116,7 @@ export default function extract_css(client_result: CompileResult, components: Pa
if (!client_result.css_files) return; // Rollup-only for now
let asset_dir = `${dirs.dest}/client`;
let asset_dir = `${dirs.dest}/client/sapper`;
if (process.env.SAPPER_LEGACY_BUILD) asset_dir += '/legacy';
const unclaimed = new Set(client_result.css_files.map(x => x.id));
@@ -238,7 +238,7 @@ export default function extract_css(client_result: CompileResult, components: Pa
map.file = output_file_name;
map.sources = map.sources.map(source => path.relative(asset_dir, source));
fs.writeFileSync(`${asset_dir}/${output_file_name}`, `${code}\n/* sourceMappingURL=client/${output_file_name}.map */`);
fs.writeFileSync(`${asset_dir}/${output_file_name}`, `${code}\n/* sourceMappingURL=sapper/${output_file_name}.map */`);
fs.writeFileSync(`${asset_dir}/${output_file_name}.map`, JSON.stringify(map, null, ' '));
result.main = output_file_name;