1 | var fs = require('fs');
|
2 | var dotenv = require('dotenv');
|
3 | var path = require('path');
|
4 | var yaml = require('yamljs');
|
5 |
|
6 | module.exports = {
|
7 | getFormattedEnvArgComponent: getFormattedEnvArgComponent,
|
8 | readProcfile: readProcfile
|
9 | };
|
10 |
|
11 | function getFormattedEnvArgComponent(cwd) {
|
12 | var envParameters = [];
|
13 |
|
14 | try {
|
15 | var dotenvPath = path.join(cwd, '.env');
|
16 | var dotenvEntries = dotenv.parse(fs.readFileSync(dotenvPath));
|
17 | envParameters = Object.keys(dotenvEntries).map(function(key) {
|
18 | return '-e ' + key + '=' + dotenvEntries[key];
|
19 | });
|
20 | }
|
21 | catch (e) {
|
22 | if (e.code === 'ENOENT') {
|
23 |
|
24 | }
|
25 | else {
|
26 | throw e;
|
27 | }
|
28 | }
|
29 |
|
30 | return envParameters.join(' ');
|
31 | }
|
32 |
|
33 | function readProcfile(cwd) {
|
34 | try {
|
35 | var procfilePath = path.join(cwd, 'Procfile');
|
36 | return yaml.load(procfilePath);
|
37 | }
|
38 | catch (e) {}
|
39 | }
|