-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathsnowpack.config.js
51 lines (48 loc) · 1.49 KB
/
snowpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const pkg = require('./package.json')
process.env['VERSION'] = pkg.version
if (!process.env['BRANCH']) {
process.env['BRANCH'] = 'HEAD'
}
const isProductionBuild = process.env['BRANCH'] === 'dev' || process.env['BRANCH'] === 'deploy'
if (!process.env['NODE_ENV']) {
process.env['NODE_ENV'] = isProductionBuild ? 'production' : 'development'
}
const defaultValues = {
WHALESPLAINER_URL: 'https://create.anchor.link',
UNICOVE_URL: 'https://unicove.com',
}
// env vars to forward to snowpack (included in js bundle)
const forwardEnv = ['BRANCH', 'REV', 'VERSION', 'WHALESPLAINER_URL', 'UNICOVE_URL']
for (const key of forwardEnv) {
process.env[`SNOWPACK_PUBLIC_${key}`] = process.env[key] || defaultValues[key]
}
/** @type { import("snowpack").SnowpackUserConfig } */
module.exports = {
mount: {
public: {url: '/', static: true},
src: {url: '/dist'},
},
alias: {
'~/': './src',
'@/': './public',
},
routes: [{match: 'routes', src: '.*', dest: '/index.html'}],
buildOptions: {
sourcemap: !isProductionBuild,
},
plugins: [
[
'@snowpack/plugin-webpack',
{
sourceMap: !isProductionBuild,
htmlMinifierOptions: isProductionBuild ? undefined : false,
},
],
'@snowpack/plugin-svelte',
'@snowpack/plugin-typescript',
],
packageOptions: {
packageLookupFields: ['svelte'],
packageExportLookupFields: ['svelte'],
},
}