Improve internal API

This commit is contained in:
Rich Harris
2018-10-08 19:21:15 -04:00
committed by GitHub
parent 5e59855a15
commit 52f40f9e63
46 changed files with 696 additions and 1091 deletions

7
src/config/env.ts Normal file
View File

@@ -0,0 +1,7 @@
export let dev: boolean;
export let src: string;
export let dest: string;
export const set_dev = (_: boolean) => dev = _;
export const set_src = (_: string) => src = _;
export const set_dest = (_: string) => dest = _;

53
src/config/rollup.ts Normal file
View File

@@ -0,0 +1,53 @@
import { dev, src, dest } from './env';
export default {
dev,
client: {
input: () => {
return `${src}/client.js`
},
output: () => {
let dir = `${dest}/client`;
if (process.env.SAPPER_LEGACY_BUILD) dir += `/legacy`;
return {
dir,
entryFileNames: '[name].[hash].js',
chunkFileNames: '[name].[hash].js',
format: 'esm',
sourcemap: dev
};
}
},
server: {
input: () => {
return {
server: `${src}/server.js`
};
},
output: () => {
return {
dir: `${dest}/server`,
format: 'cjs',
sourcemap: dev
};
}
},
serviceworker: {
input: () => {
return `${src}/service-worker.js`;
},
output: () => {
return {
file: `${dest}/service-worker.js`,
format: 'iife'
}
}
}
};

55
src/config/webpack.ts Normal file
View File

@@ -0,0 +1,55 @@
import { dev, src, dest } from './env';
export default {
dev,
client: {
entry: () => {
return {
main: `${src}/client`
};
},
output: () => {
return {
path: `${dest}/client`,
filename: '[hash]/[name].js',
chunkFilename: '[hash]/[name].[id].js',
publicPath: `client/`
};
}
},
server: {
entry: () => {
return {
server: `${src}/server`
};
},
output: () => {
return {
path: `${dest}/server`,
filename: '[name].js',
chunkFilename: '[hash]/[name].[id].js',
libraryTarget: 'commonjs2'
};
}
},
serviceworker: {
entry: () => {
return {
'service-worker': `${src}/service-worker`
};
},
output: () => {
return {
path: dest,
filename: '[name].js',
chunkFilename: '[name].[id].[hash].js'
}
}
}
};