@cabloy/dotenv 1.0.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +14 -25
- package/package.json +13 -21
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { DotenvParseOutput } from 'dotenv';
|
|
1
|
+
import type { DotenvParseOutput } from 'dotenv';
|
|
2
2
|
export declare function loadEnvs(meta: object, dir: string, prefix?: string, postfix?: string): DotenvParseOutput | undefined;
|
|
3
3
|
export declare function metaToScope(meta: object): {};
|
|
4
4
|
export declare function getEnvFiles(meta: object, dir: string, prefix: string, postfix?: string): string[] | undefined;
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,43 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const egg_born_utils_1 = __importDefault(require("egg-born-utils"));
|
|
8
|
-
const cascade_extend_1 = require("cascade-extend");
|
|
9
|
-
const dotenv_1 = __importDefault(require("dotenv"));
|
|
10
|
-
const dotenv_expand_1 = __importDefault(require("dotenv-expand"));
|
|
11
|
-
function loadEnvs(meta, dir, prefix = '.env', postfix) {
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { cascadeExtendKeys } from 'cascade-extend';
|
|
3
|
+
import dotenv from 'dotenv';
|
|
4
|
+
import dotenvExpand from 'dotenv-expand';
|
|
5
|
+
import { globbySync } from 'globby';
|
|
6
|
+
export function loadEnvs(meta, dir, prefix = '.env', postfix) {
|
|
12
7
|
// envfiles
|
|
13
8
|
const envFiles = getEnvFiles(meta, dir, prefix, postfix);
|
|
14
9
|
if (!envFiles)
|
|
15
10
|
return undefined;
|
|
16
11
|
// dotenv
|
|
17
|
-
const result =
|
|
12
|
+
const result = dotenv.config({ path: envFiles.reverse() });
|
|
18
13
|
if (result.error) {
|
|
19
14
|
throw result.error;
|
|
20
15
|
}
|
|
21
16
|
// expand
|
|
22
|
-
|
|
17
|
+
dotenvExpand.expand(result);
|
|
23
18
|
// ok
|
|
24
19
|
return result.parsed;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
|
-
function metaToScope(meta) {
|
|
21
|
+
export function metaToScope(meta) {
|
|
28
22
|
const scope = {};
|
|
29
23
|
for (const key in meta) {
|
|
30
24
|
scope[meta[key]] = true;
|
|
31
25
|
}
|
|
32
26
|
return scope;
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
function getEnvFiles(meta, dir, prefix, postfix) {
|
|
28
|
+
export function getEnvFiles(meta, dir, prefix, postfix) {
|
|
36
29
|
// files
|
|
37
|
-
|
|
38
|
-
let files = egg_born_utils_1.default.tools.globbySync(pattern);
|
|
30
|
+
let files = globbySync(`${prefix}*`, { cwd: dir });
|
|
39
31
|
const fileNames = files.map(item => {
|
|
40
|
-
item = item.substring(dir.length + 1);
|
|
41
32
|
if (postfix) {
|
|
42
33
|
item = item.substring(0, item.length - postfix.length);
|
|
43
34
|
}
|
|
@@ -51,14 +42,14 @@ function getEnvFiles(meta, dir, prefix, postfix) {
|
|
|
51
42
|
// scope
|
|
52
43
|
const scope = metaToScope(meta);
|
|
53
44
|
// extend
|
|
54
|
-
let keys =
|
|
45
|
+
let keys = cascadeExtendKeys(scope, source, prefix, '.');
|
|
55
46
|
if (!keys)
|
|
56
47
|
return undefined;
|
|
57
48
|
// mine
|
|
58
|
-
keys = keys.filter(item => item.
|
|
49
|
+
keys = keys.filter(item => !item.includes('.mine')).concat(keys.filter(item => item.includes('.mine')));
|
|
59
50
|
// files
|
|
60
51
|
files = keys.map(key => {
|
|
61
|
-
let file =
|
|
52
|
+
let file = path.join(dir, key);
|
|
62
53
|
if (postfix) {
|
|
63
54
|
file = `${file}${postfix}`;
|
|
64
55
|
}
|
|
@@ -66,5 +57,3 @@ function getEnvFiles(meta, dir, prefix, postfix) {
|
|
|
66
57
|
});
|
|
67
58
|
return files;
|
|
68
59
|
}
|
|
69
|
-
exports.getEnvFiles = getEnvFiles;
|
|
70
|
-
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,41 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cabloy/dotenv",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "1.1.0",
|
|
4
5
|
"description": "cabloy dotenv",
|
|
5
6
|
"publishConfig": {
|
|
6
7
|
"access": "public"
|
|
7
8
|
},
|
|
9
|
+
"author": "zhennann",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"framework",
|
|
12
|
+
"cabloy"
|
|
13
|
+
],
|
|
8
14
|
"exports": {
|
|
9
15
|
".": {
|
|
10
16
|
"types": [
|
|
11
17
|
"./src/index.ts",
|
|
12
18
|
"./dist/index.d.ts"
|
|
13
19
|
],
|
|
14
|
-
"
|
|
15
|
-
"require": "./dist/index.js",
|
|
16
|
-
"default": "./src/index.ts"
|
|
20
|
+
"default": "./dist/index.js"
|
|
17
21
|
},
|
|
18
22
|
"./package.json": "./package.json"
|
|
19
23
|
},
|
|
20
24
|
"files": [
|
|
21
|
-
"dist
|
|
22
|
-
"dist/**/*.d.ts"
|
|
23
|
-
],
|
|
24
|
-
"scripts": {
|
|
25
|
-
"lint": "eslint ."
|
|
26
|
-
},
|
|
27
|
-
"keywords": [
|
|
28
|
-
"egg",
|
|
29
|
-
"egg-born",
|
|
30
|
-
"framework",
|
|
31
|
-
"cabloy"
|
|
25
|
+
"dist"
|
|
32
26
|
],
|
|
33
|
-
"author": "zhennann",
|
|
34
27
|
"dependencies": {
|
|
35
|
-
"cascade-extend": "^1.0.3",
|
|
36
28
|
"dotenv": "^16.4.5",
|
|
37
29
|
"dotenv-expand": "^11.0.6",
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
30
|
+
"globby": "^14.1.0",
|
|
31
|
+
"cascade-extend": "^2.1.0"
|
|
32
|
+
}
|
|
33
|
+
}
|