sapper build defaults to build dir, sapper export defaults to export dir (#133)

This commit is contained in:
Rich Harris
2018-03-03 12:09:06 -05:00
parent d9cb572271
commit b73e5eaa8e
11 changed files with 71 additions and 74 deletions

View File

@@ -3,21 +3,20 @@ import * as path from 'path';
import mkdirp from 'mkdirp';
import create_routes from './create_routes';
import { fudge_mtime, posixify, write } from './utils';
import { dev } from '../config';
import { Route } from '../interfaces';
export default function create_app({ routes, src, dev, dev_port }: {
export default function create_app({ routes, dev_port }: {
routes: Route[];
src: string;
dev: boolean;
dev_port: number;
}) {
mkdirp.sync('app/manifest');
write('app/manifest/client.js', generate_client(routes, src, dev, dev_port));
write('app/manifest/server.js', generate_server(routes, src));
write('app/manifest/client.js', generate_client(routes, dev_port));
write('app/manifest/server.js', generate_server(routes));
}
function generate_client(routes: Route[], src: string, dev: boolean, dev_port?: number) {
function generate_client(routes: Route[], dev_port?: number) {
let code = `
// This file is generated by Sapper — do not edit it!
export const routes = [
@@ -42,7 +41,7 @@ function generate_client(routes: Route[], src: string, dev: boolean, dev_port?:
.join(',\n\t')}
];`.replace(/^\t\t/gm, '').trim();
if (dev) {
if (dev()) {
const hmr_client = posixify(
path.resolve(__dirname, 'hmr-client.js')
);
@@ -59,7 +58,7 @@ function generate_client(routes: Route[], src: string, dev: boolean, dev_port?:
return code;
}
function generate_server(routes: Route[], src: string) {
function generate_server(routes: Route[]) {
let code = `
// This file is generated by Sapper — do not edit it!
${routes
@@ -74,7 +73,7 @@ function generate_server(routes: Route[], src: string) {
export const routes = [
${routes
.map(route => {
const file = posixify(`${src}/${route.file}`);
const file = posixify(`../../${route.file}`);
if (route.id === '_4xx' || route.id === '_5xx') {
return `{ error: '${route.id.slice(1)}', module: ${route.id} }`;

View File

@@ -1,11 +1,9 @@
import * as path from 'path';
import glob from 'glob';
import { src } from '../config';
import { Route } from '../interfaces';
export default function create_routes({ src, files = glob.sync('**/*.+(html|js|mjs)', { cwd: src }) }: {
src: string;
files?: string[];
}) {
export default function create_routes({ files } = { files: glob.sync('**/*.+(html|js|mjs)', { cwd: src() }) }) {
const routes: Route[] = files
.map((file: string) => {
if (/(^|\/|\\)_/.test(file)) return;

View File

@@ -5,10 +5,9 @@ import create_routes from './create_routes';
import { fudge_mtime, posixify, write } from './utils';
import { Route } from '../interfaces';
export default function create_serviceworker({ routes, client_files, src }: {
export default function create_serviceworker({ routes, client_files }: {
routes: Route[];
client_files: string[];
src: string;
}) {
const assets = glob.sync('**', { cwd: 'assets', nodir: true });