-
-
Notifications
You must be signed in to change notification settings - Fork 147
/
config.example.jsonc
90 lines (71 loc) · 3.12 KB
/
config.example.jsonc
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
// The port to listen server on for HTTP requests, default is 8080.
"port": 8080,
// The port to listen server on for HTTPs requests, default is 0 (disabled). Change to 443 if you want to enable it.
// You don't need to provide a certificate, it will be generated and updated automatically by autocert.
// Note: if you are running the server in a docker container, you need to expose this port as 443 as well.
"tlsPort": 0,
// The secret token to validate the `Authorization: Bearer <secret>` header of incoming requests, default is disabled.
"authSecret": "",
// The concurrency number for the build process, default equals to the number of CPU cores.
"buildConcurrency": 0,
// The maxmum waiting time for a build to complete, default is 30 seconds.
"buildTimeout": 30,
// The work directory for the server app, default is "~/.esmd".
"workDir": "~/.esmd",
// The cache source, default is "memory:default".
// You can also implement your own cache by implementing the `Cache` interface
// in https://github.com/esm-dev/esm.sh/blob/main/server/storage/cache.go
"cache": "memory:default",
// The database source, default is "bolt:~/.esmd/esm.db".
// You can also implement your own database by implementing the `DataBase` interface
// in https://github.com/esm-dev/esm.sh/blob/main/server/storage/db.go
"database": "bolt:~/.esmd/esm.db",
// The file storage source, default is "local:~/.esmd/storage".
// You can also implement your own file storage by implementing the `FileSystem` interface
// in https://github.com/esm-dev/esm.sh/blob/main/server/storage/fs.go
"storage": "local:~/.esmd/storage",
// The log directory, default is "~/.esmd/log".
"logDir": "~/.esmd/log",
// The log level, default is "info"(available values are ["debug", "info", "warn", "error"]).
"logLevel": "info",
// The global npm registry, default is "https://registry.npmjs.org/".
"npmRegistry": "https://registry.npmjs.org/",
// The npm access token for the global npm registry, default is empty.
"npmToken": "",
// These two fields are used for basic authentication towards the global npm registry,
// default for both is empty.
"npmUser": "",
"npmPassword": "",
// Registries for scoped packages. This will ensure packages with these scopes get downloaded
// from specific registry, default is empty.
"npmRegistries": {
"@scope_name": {
"registry": "https://your-registry.com/",
"token": "xxx",
"user": "username",
"password": "xxx"
}
},
// Whether to minify the build JS/CSS files, default is true.
"minify": true,
// Disable http compression, default is false.
"disableCompression": false,
// Disable generating source map for build js files, default is false.
"disableSourceMap": false,
// The list to ban some packages or scopes.
"banList": {
"packages": ["@scope_name/package_name"],
"scopes": [{
"name": "@scope_name",
"excludes": ["package_name"]
}]
},
// The list to only allow some packages or scopes.
"allowList": {
"packages": ["@scope_name/package_name"],
"scopes": [{
"name": "@scope_name"
}]
}
}