UNPKG

1.12 kBPlain TextView Raw
1import * as path from 'path';
2import * as mkdirp from 'mkdirp';
3
4export const isMac = process.platform === 'darwin';
5export const isLinux = process.platform === 'linux';
6export const isWindows = process.platform === 'win32';
7
8// use %LOCALAPPDATA%/devcert on Windows otherwise use ~/.config/devcert
9export let configDir: string;
10if (isWindows && process.env.LOCALAPPDATA) {
11 configDir = path.join(process.env.LOCALAPPDATA, 'devcert', 'config');
12} else {
13 let uid = process.getuid && process.getuid();
14 let userHome = (isLinux && uid === 0) ? path.resolve('/usr/local/share') : require('os').homedir();
15 configDir = path.join(userHome, '.config', 'devcert');
16}
17export const configPath: (...pathSegments: string[]) => string = path.join.bind(path, configDir);
18
19export const opensslConfTemplate = path.join(__dirname, '..', 'openssl.conf');
20export const opensslConfPath = configPath('openssl.conf');
21export const rootKeyPath = configPath('devcert-ca-root.key');
22export const rootCertPath = configPath('devcert-ca-root.crt');
23export const caCertsDir = configPath('certs');
24
25mkdirp.sync(configDir);
26mkdirp.sync(caCertsDir);