@notross/dotenv-config 2.0.0 → 2.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/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  A simple client that makes environment variables available as objects.
4
4
 
5
+ Features:
6
+ - Access ENV as an object
7
+ - Access specific variable groups by passing a prefix
8
+ - Combine ENV variables via templating
9
+
5
10
  ## Installation
6
11
  ```bash
7
12
  # NPM
@@ -11,53 +16,135 @@ npm install @notross/dotenv-config
11
16
  yarn add @notross/dotenv-config
12
17
  ```
13
18
 
14
- ## Usage
15
-
19
+ ## Quickstart
20
+ #### 1. Set up your `.env` as usual
16
21
  ```properties
17
- # Alpaca
22
+ # .env
23
+
24
+ MONGO_DB=test
25
+ MONGO_USERNAME=admin
26
+ MONGO_PASSWORD=secret
27
+ MONGO_HOST=localhost
28
+ MONGO_PORT=27017
29
+
18
30
  ALPACA_API_KEY_ID=XXXXXXXXXXXXXXXXXXXX
19
31
  ALPACA_API_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
32
+ ```
33
+
34
+ #### 2. Access your ENV variables using camel-cased keys from the `env(...)` method
35
+ ```ts
36
+ // database.ts
37
+
38
+ import { env } from '@notross/dotenv-config'
39
+
40
+ const { mongo } = env() // returns each .env entry
41
+ // prefixed with "MONGO_"
42
+ const {
43
+ username, // MONGO_USERNAME
44
+ password, // MONGO_PASSWORD
45
+ host, // MONGO_HOST
46
+ port, // MONGO_PORT
47
+ } = mongo
48
+
49
+ const mongoURI = `mongodb://${username}:${password}@${host}:${port}`
50
+ ```
51
+
52
+ ## How it works
53
+ Let's take our example `.env` file:
54
+
55
+ ```properties
56
+ # .env
20
57
 
21
- # MongoDB
22
58
  MONGO_DB=test
23
59
  MONGO_USERNAME=admin
24
60
  MONGO_PASSWORD=secret
25
61
  MONGO_HOST=localhost
26
62
  MONGO_PORT=27017
63
+
64
+ ALPACA_API_KEY_ID=XXXXXXXXXXXXXXXXXXXX
65
+ ALPACA_API_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
66
+ ```
67
+
68
+ Each variable name is separated into two parts:
69
+ - Prefix
70
+ - Key
71
+
72
+ The **prefix** will be accessible as a lowercase key of the `env(...)` return object:
73
+
74
+ ```ts
75
+ env().alpaca
27
76
  ```
28
77
 
78
+ The keys will be camel-cased, accessible through the `env(...)` object's **prefix**:
79
+
80
+ ```ts
81
+ const { apiKeyId, apiSecretKey } = env().alpaca
82
+ ```
83
+
84
+ > ⚠️ Prefixes and camel-casing are only automatically detected if they are delineated by an underscore:
85
+ <br>
86
+ > `PREFIX_VARIABLE_NAME=value` --> `prefix: { variableName: 'value' }`
87
+
88
+ <br>
89
+
90
+ You may access various sets of ENV variables via prefix from the `env(...)` object:
91
+
29
92
  ```ts
30
- // config.ts
93
+ const { alpaca, mongo } = env()
94
+ ```
95
+
96
+ ## Prefixes
31
97
 
32
- import { buildEnv } from '@notross/dotenv-config';
98
+ You may access specific variables by passing the prefix to the `env(...)` method
99
+
100
+ ```properties
101
+ # .env
33
102
 
34
- export const alpacaEnv = buildEnv({ prefix: 'ALPACA_' });
35
- export const mongoEnv = buildEnv({ prefix: 'MONGO_' });
103
+ ALPACA_API_KEY_ID=XXXXXXXXXXXXXXXXXXXX
104
+ ALPACA_API_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
36
105
  ```
37
106
 
38
107
  ```ts
39
- // database.ts
40
- import { mongoEnv } from './config';
108
+ // markets.ts
41
109
 
42
- const { db, username, password, host, port } = mongoEnv;
110
+ import { env } from '@notross/dotenv-config'
43
111
 
44
- const uri = `mongodb://${username}:${password}@${host}:${port}`l
45
- const mongoClient = new MongoClient();
46
- const database = mongoClient.db(db);
112
+ const { keyId, secretKey } = env('ALPACA_API')
113
+
114
+ const headers = new Headers({
115
+ 'accept': 'application/json',
116
+ 'APCA-API-KEY-ID', keyId,
117
+ 'APCA-API-SECRET-KEY': secretKey,
118
+ })
119
+ ```
120
+
121
+ ## Templating
122
+ Templating provides an easy way to dynamically construct variables using existing ENV values.
123
+
124
+ Example
125
+ ```properties
126
+ # .env
127
+
128
+ MONGO_USERNAME=admin
129
+ MONGO_PASSWORD=secret
130
+ MONGO_HOST=localhost
131
+ MONGO_PORT=27017
132
+
133
+ # Combine the MONGO_ variables to form a connection string
134
+ MONGO_URI=mongodb+srv://{{username}}:{{password}}@{{host}}:{{port}}
47
135
  ```
48
136
 
49
137
  ```ts
50
- // api.ts
51
- import { alpacaEnv } from './config';j
138
+ // database.ts
139
+
140
+ import { env } from '@notross/dotenv-config'
141
+ import { MongoClient } from 'mongodb'
52
142
 
53
- const headers = {
54
- accept: 'application/json',
55
- 'APCA-API-KEY-ID': alpacaEnv.keyId,
56
- 'APCA-API-SECRET-KEY': alpacaEnv.secretKey,
57
- };
143
+ const { mongo: { uri } } = env()
58
144
 
59
- fetch('https://data.alpaca.markets/v2/stocks/quotes/latest', { headers });
145
+ const client = new MongoClient(uri)
60
146
  ```
147
+
61
148
  ---
62
149
  ## License
63
150
  MIT © [@notross](https://rosslibby.com)
package/cjs/client.d.ts CHANGED
@@ -6,10 +6,11 @@ declare class State {
6
6
  env: (prefix?: string) => EnvCollection | EnvVars;
7
7
  constructor();
8
8
  private get;
9
- private findPrefix;
9
+ private findPrefixWithUnderscore;
10
+ private findPrefixed;
10
11
  }
11
12
  export declare const client: State;
12
- export declare const env: () => EnvCollection;
13
+ export declare const env: (prefix?: string) => EnvVars | EnvCollection;
13
14
  export declare const getEnv: (prefix: string) => EnvVars;
14
15
  export {};
15
16
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGhD,cAAM,KAAK;IACF,IAAI,EAAE,OAAO,CAAK;IAClB,WAAW,EAAE,aAAa,CAAK;IAC/B,cAAc,EAAE,aAAa,CAAK;IAClC,GAAG,YAOW,MAAM,KAAG,aAAa,GAAG,OAAO,CAPrB;;IAOhC,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,UAAU;CAMnB;AAED,eAAO,MAAM,MAAM,OAAc,CAAA;AACjC,eAAO,MAAM,GAAG,QAAyB,aAAa,CAAA;AACtD,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,KAA2B,OAAO,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGhD,cAAM,KAAK;IACF,IAAI,EAAE,OAAO,CAAK;IAClB,WAAW,EAAE,aAAa,CAAK;IAC/B,cAAc,EAAE,aAAa,CAAK;IAClC,GAAG,YAOW,MAAM,KAAG,aAAa,GAAG,OAAO,CAPrB;;IAOhC,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,YAAY;CAcrB;AAED,eAAO,MAAM,MAAM,OAAc,CAAA;AACjC,eAAO,MAAM,GAAG,GACd,SAAS,MAAM,4BAGgB,CAAA;AACjC,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,KAA2B,OAAO,CAAA"}
package/cjs/client.js CHANGED
@@ -14,21 +14,37 @@ class State {
14
14
  }
15
15
  get(prefix) {
16
16
  if (prefix) {
17
- return this.findPrefix(prefix);
17
+ return this.findPrefixed(prefix);
18
18
  }
19
19
  else {
20
20
  return this.collections;
21
21
  }
22
22
  }
23
- findPrefix(prefix) {
24
- prefix = prefix.endsWith('_') ? prefix : prefix + '_';
23
+ findPrefixWithUnderscore(prefix) {
25
24
  const filtered = (0, utils_1.filterByPrefix)(this.vars, prefix);
26
25
  const paramaterized = (0, utils_1.injectParams)(filtered);
27
26
  return paramaterized;
28
27
  }
28
+ findPrefixed(prefix) {
29
+ if (prefix.endsWith('_')) {
30
+ return this.findPrefixWithUnderscore(prefix);
31
+ }
32
+ else {
33
+ const withUnderscore = (0, utils_1.filterByPrefix)(this.vars, `${prefix}_`);
34
+ const sansUnderscore = (0, utils_1.filterByPrefix)(this.vars, prefix);
35
+ const [results] = [
36
+ sansUnderscore,
37
+ withUnderscore,
38
+ ].sort((a, b) => Object.keys(b).length - Object.keys(a).length);
39
+ const paramaterized = (0, utils_1.injectParams)(results);
40
+ return paramaterized;
41
+ }
42
+ }
29
43
  }
30
44
  exports.client = new State();
31
- const env = () => exports.client.env();
45
+ const env = (prefix) => typeof prefix === 'undefined'
46
+ ? exports.client.env()
47
+ : exports.client.env(prefix);
32
48
  exports.env = env;
33
49
  const getEnv = (prefix) => exports.client.env(prefix);
34
50
  exports.getEnv = getEnv;
package/cjs/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B,mCAAkE;AAElE,MAAM,KAAK;IACF,IAAI,GAAY,EAAE,CAAA;IAClB,WAAW,GAAkB,EAAE,CAAA;IAC/B,cAAc,GAAkB,EAAE,CAAA;IAClC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhC;QACE,IAAA,eAAM,EAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEO,GAAG,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAY,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAA4B,CAAA;QAC1C,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc;QAC/B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAA;IACtB,CAAC;CACF;AAEY,QAAA,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;AAC1B,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,cAAM,CAAC,GAAG,EAAmB,CAAA;AAAzC,QAAA,GAAG,OAAsC;AAC/C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA;AAA1D,QAAA,MAAM,UAAoD"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAE/B,mCAAkE;AAElE,MAAM,KAAK;IACF,IAAI,GAAY,EAAE,CAAA;IAClB,WAAW,GAAkB,EAAE,CAAA;IAC/B,cAAc,GAAkB,EAAE,CAAA;IAClC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhC;QACE,IAAA,eAAM,EAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEO,GAAG,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAY,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAA4B,CAAA;QAC1C,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,MAAc;QAC7C,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,CAAA;YAC9D,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACxD,MAAM,CAAC,OAAO,CAAC,GAAG;gBAChB,cAAc;gBACd,cAAc;aACf,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC/D,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAA;YAC3C,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAEY,QAAA,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;AAC1B,MAAM,GAAG,GAAG,CACjB,MAAe,EACf,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW;IAChC,CAAC,CAAC,cAAM,CAAC,GAAG,EAAmB;IAC/B,CAAC,CAAC,cAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA;AAJpB,QAAA,GAAG,OAIiB;AAC1B,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA;AAA1D,QAAA,MAAM,UAAoD"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,GACZ,aAAa,CAWf;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAQT;AAkCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBxB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,GACZ,aAAa,CAyBf;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAQT;AAuCD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBxB"}
package/cjs/utils.js CHANGED
@@ -4,10 +4,25 @@ exports.autoPrefix = autoPrefix;
4
4
  exports.filterByPrefix = filterByPrefix;
5
5
  exports.injectParams = injectParams;
6
6
  function autoPrefix(vars) {
7
- return Array(...new Set(Object.keys(vars).map((k) => k.split('_').shift()))).reduce((acc, prefix) => ({
8
- ...acc,
9
- [prefix.toLowerCase()]: injectParams(filterByPrefix(vars, `${prefix}_`)),
10
- }), {});
7
+ return Array(...new Set(Object.keys(vars).map((key) => {
8
+ if (key.includes('_')) {
9
+ return key.split('_')[0] + '_';
10
+ }
11
+ else {
12
+ return key;
13
+ }
14
+ })))
15
+ .reduce((acc, prefix) => {
16
+ const [key] = prefix.toLowerCase().split('_');
17
+ const value = !prefix.endsWith('_') &&
18
+ Object.keys(vars).includes(prefix)
19
+ ? vars[prefix]
20
+ : injectParams(filterByPrefix(vars, prefix));
21
+ return {
22
+ ...acc,
23
+ [key]: value,
24
+ };
25
+ }, {});
11
26
  }
12
27
  function filterByPrefix(env, prefix) {
13
28
  return Object.entries(env)
@@ -19,6 +34,9 @@ function filterByPrefix(env, prefix) {
19
34
  function rekey(key, prefix = '') {
20
35
  const trim = prefix.length;
21
36
  key = key.substring(trim);
37
+ if (key.startsWith('_')) {
38
+ key = key.substring(1);
39
+ }
22
40
  return key.toLowerCase().split('_')
23
41
  .reduce((acc, str, i) => {
24
42
  if (i === 0)
package/cjs/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/esm/client.js CHANGED
@@ -11,20 +11,36 @@ class State {
11
11
  }
12
12
  get(prefix) {
13
13
  if (prefix) {
14
- return this.findPrefix(prefix);
14
+ return this.findPrefixed(prefix);
15
15
  }
16
16
  else {
17
17
  return this.collections;
18
18
  }
19
19
  }
20
- findPrefix(prefix) {
21
- prefix = prefix.endsWith('_') ? prefix : prefix + '_';
20
+ findPrefixWithUnderscore(prefix) {
22
21
  const filtered = filterByPrefix(this.vars, prefix);
23
22
  const paramaterized = injectParams(filtered);
24
23
  return paramaterized;
25
24
  }
25
+ findPrefixed(prefix) {
26
+ if (prefix.endsWith('_')) {
27
+ return this.findPrefixWithUnderscore(prefix);
28
+ }
29
+ else {
30
+ const withUnderscore = filterByPrefix(this.vars, `${prefix}_`);
31
+ const sansUnderscore = filterByPrefix(this.vars, prefix);
32
+ const [results] = [
33
+ sansUnderscore,
34
+ withUnderscore,
35
+ ].sort((a, b) => Object.keys(b).length - Object.keys(a).length);
36
+ const paramaterized = injectParams(results);
37
+ return paramaterized;
38
+ }
39
+ }
26
40
  }
27
41
  export const client = new State();
28
- export const env = () => client.env();
42
+ export const env = (prefix) => typeof prefix === 'undefined'
43
+ ? client.env()
44
+ : client.env(prefix);
29
45
  export const getEnv = (prefix) => client.env(prefix);
30
46
  //# sourceMappingURL=client.js.map
package/esm/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,KAAK;IACF,IAAI,GAAY,EAAE,CAAA;IAClB,WAAW,GAAkB,EAAE,CAAA;IAC/B,cAAc,GAAkB,EAAE,CAAA;IAClC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhC;QACE,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEO,GAAG,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAY,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAA4B,CAAA;QAC1C,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc;QAC/B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;QACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAA;IACtB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAmB,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,KAAK;IACF,IAAI,GAAY,EAAE,CAAA;IAClB,WAAW,GAAkB,EAAE,CAAA;IAC/B,cAAc,GAAkB,EAAE,CAAA;IAClC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhC;QACE,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEO,GAAG,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAY,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAA4B,CAAA;QAC1C,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,MAAc;QAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,CAAA;YAC9D,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACxD,MAAM,CAAC,OAAO,CAAC,GAAG;gBAChB,cAAc;gBACd,cAAc;aACf,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YAC3C,OAAO,aAAa,CAAA;QACtB,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,MAAe,EACf,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW;IAChC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAmB;IAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAY,CAAA"}
package/esm/utils.js CHANGED
@@ -1,8 +1,23 @@
1
1
  export function autoPrefix(vars) {
2
- return Array(...new Set(Object.keys(vars).map((k) => k.split('_').shift()))).reduce((acc, prefix) => ({
3
- ...acc,
4
- [prefix.toLowerCase()]: injectParams(filterByPrefix(vars, `${prefix}_`)),
5
- }), {});
2
+ return Array(...new Set(Object.keys(vars).map((key) => {
3
+ if (key.includes('_')) {
4
+ return key.split('_')[0] + '_';
5
+ }
6
+ else {
7
+ return key;
8
+ }
9
+ })))
10
+ .reduce((acc, prefix) => {
11
+ const [key] = prefix.toLowerCase().split('_');
12
+ const value = !prefix.endsWith('_') &&
13
+ Object.keys(vars).includes(prefix)
14
+ ? vars[prefix]
15
+ : injectParams(filterByPrefix(vars, prefix));
16
+ return {
17
+ ...acc,
18
+ [key]: value,
19
+ };
20
+ }, {});
6
21
  }
7
22
  export function filterByPrefix(env, prefix) {
8
23
  return Object.entries(env)
@@ -14,6 +29,9 @@ export function filterByPrefix(env, prefix) {
14
29
  function rekey(key, prefix = '') {
15
30
  const trim = prefix.length;
16
31
  key = key.substring(trim);
32
+ if (key.startsWith('_')) {
33
+ key = key.substring(1);
34
+ }
17
35
  return key.toLowerCase().split('_')
18
36
  .reduce((acc, str, i) => {
19
37
  if (i === 0)
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notross/dotenv-config",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "main": "./cjs/index.js",
5
5
  "module": "./esm/index.js",
6
6
  "types": "./cjs/index.d.ts",