@calvear/env 2.2.2 → 2.4.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/CHANGELOG.md +9 -0
- package/README.md +210 -210
- package/arguments.d.ts.map +1 -1
- package/arguments.js +5 -1
- package/arguments.js.map +1 -1
- package/commands/env.command.d.ts.map +1 -1
- package/commands/env.command.js.map +1 -1
- package/commands/export.command.d.ts.map +1 -1
- package/commands/export.command.js.map +1 -1
- package/commands/pull.command.d.ts.map +1 -1
- package/commands/pull.command.js.map +1 -1
- package/commands/push.command.d.ts.map +1 -1
- package/commands/push.command.js.map +1 -1
- package/commands/schema.command.d.ts.map +1 -1
- package/commands/schema.command.js +1 -0
- package/commands/schema.command.js.map +1 -1
- package/exec.js.map +1 -1
- package/interfaces/loader.interface.d.ts.map +1 -1
- package/package.json +91 -85
- package/providers/app-settings.provider.d.ts.map +1 -1
- package/providers/app-settings.provider.js +2 -2
- package/providers/app-settings.provider.js.map +1 -1
- package/providers/index.js.map +1 -1
- package/providers/local.provider.d.ts.map +1 -1
- package/providers/local.provider.js.map +1 -1
- package/providers/package-json.provider.d.ts +1 -1
- package/providers/package-json.provider.d.ts.map +1 -1
- package/providers/package-json.provider.js +8 -8
- package/providers/package-json.provider.js.map +1 -1
- package/providers/secrets.provider.d.ts.map +1 -1
- package/providers/secrets.provider.js.map +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/utils/command.util.d.ts.map +1 -1
- package/utils/command.util.js.map +1 -1
- package/utils/interpolate.util.d.ts.map +1 -1
- package/utils/interpolate.util.js.map +1 -1
- package/utils/json.util.d.ts.map +1 -1
- package/utils/json.util.js.map +1 -1
- package/utils/logger.js.map +1 -1
- package/utils/normalize.util.d.ts.map +1 -1
- package/utils/normalize.util.js.map +1 -1
- package/utils/schema.util.d.ts.map +1 -1
- package/utils/schema.util.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [2.3.0] - 2022-10-30
|
|
6
|
+
|
|
7
|
+
- updates
|
|
8
|
+
|
|
9
|
+
## [2.3.0] - 2022-10-21
|
|
10
|
+
|
|
11
|
+
- migrated to PNPM
|
|
12
|
+
- ci recognition
|
|
13
|
+
|
|
5
14
|
## [2.2.1] - 2022-09-21
|
|
6
15
|
|
|
7
16
|
- validation for no env or mode
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<div id="top" align="center">
|
|
2
2
|
<img
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
alt="logo"
|
|
4
|
+
src="https://nodejs.org/static/images/logo.svg"
|
|
5
|
+
width="256px"
|
|
6
6
|
/>
|
|
7
7
|
|
|
8
8
|
</br>
|
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<img
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
src="https://img.shields.io/badge/version-1.0.0-blue?style=flat-square"
|
|
19
|
+
alt="version"
|
|
20
20
|
/>
|
|
21
21
|
|
|
22
22
|
<img
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
src="https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white"
|
|
24
|
+
alt="typescript"
|
|
25
25
|
/>
|
|
26
26
|
|
|
27
27
|
<img
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
src="https://img.shields.io/badge/nodejs-~14.0.0_||_^16.14.2-darkgreen?style=flat-square"
|
|
29
|
+
alt="nodejs engine"
|
|
30
30
|
/>
|
|
31
31
|
|
|
32
32
|
<img
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
src="https://img.shields.io/badge/npm->=7.5.6-darkgreen?style=flat-square"
|
|
34
|
+
alt="npm engine"
|
|
35
35
|
/>
|
|
36
36
|
|
|
37
37
|
<img
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
src="https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square"
|
|
39
|
+
alt="license"
|
|
40
40
|
/>
|
|
41
41
|
</p>
|
|
42
42
|
|
|
@@ -100,10 +100,10 @@ You can initialize a new npm project using:
|
|
|
100
100
|
Usage: env [command] [options..] [: subcmd [:]] [options..]
|
|
101
101
|
|
|
102
102
|
Commands:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
env [options..] [: <subcmd> :]
|
|
104
|
+
env pull [options..]
|
|
105
|
+
env push [options..]
|
|
106
|
+
env schema [options..]
|
|
107
107
|
|
|
108
108
|
> _
|
|
109
109
|
```
|
|
@@ -114,19 +114,19 @@ You can initialize a new npm project using:
|
|
|
114
114
|
{
|
|
115
115
|
...,
|
|
116
116
|
"scripts": {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
117
|
+
// starts project injecting "dev" environment variables and debug log level
|
|
118
|
+
"start:dev": "env -e dev -m debug : node dist/main.js : --log debug",
|
|
119
|
+
// starts project injecting "prod" environment variables
|
|
120
|
+
"start:prod": "env -e prod -m debug : node dist/main.js",
|
|
121
|
+
...,
|
|
122
|
+
// builds project injecting "prod" environment variables
|
|
123
|
+
"build:prod": "env -e prod -m build : tsc",
|
|
124
|
+
...,
|
|
125
|
+
"env:schema": "env schema -e dev --ci",
|
|
126
|
+
// uploads environment "dev" variables
|
|
127
|
+
"env:push:dev": "env push -e dev",
|
|
128
|
+
// downloads environment "dev" variables
|
|
129
|
+
"env:pull:dev": "env pull -e dev"
|
|
130
130
|
},
|
|
131
131
|
...
|
|
132
132
|
}
|
|
@@ -149,15 +149,15 @@ console.log(`My environment loaded is: ${process.env.ENV}`);
|
|
|
149
149
|
13:31:59.914 DEBUG using secrets provider
|
|
150
150
|
13:32:00.109 DEBUG environment loaded:
|
|
151
151
|
{
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
152
|
+
NODE_ENV: 'development',
|
|
153
|
+
ENV: 'dev',
|
|
154
|
+
VERSION: '1.0.0',
|
|
155
|
+
NAME: '@my-app',
|
|
156
|
+
VAR1: true,
|
|
157
|
+
VAR2: true,
|
|
158
|
+
GROUP1__VAR1: 'G1V2',
|
|
159
|
+
ARR1: '1,val,true',
|
|
160
|
+
SECRET: '***'
|
|
161
161
|
}
|
|
162
162
|
13:32:00.116 INFO executing command > node dist/main.js
|
|
163
163
|
My environment loaded is: dev
|
|
@@ -219,39 +219,39 @@ _`[[root]]/config-file.[[env]].json`_ will be _`config/config-file.dev.json`_.
|
|
|
219
219
|
|
|
220
220
|
### Global options
|
|
221
221
|
|
|
222
|
-
| Option
|
|
222
|
+
| Option | Description | Type | Default | Required? |
|
|
223
223
|
| ---------------------------------- | ----------------------------------------------- | ---------- | ------- | --------- |
|
|
224
|
-
| `--help`
|
|
225
|
-
| `--e, --env`
|
|
226
|
-
| `-m, --modes`
|
|
227
|
-
| `--nd, --nestingDelimiter`
|
|
228
|
-
| `--arrDesc, --arrayDescomposition` | Whether serialize or break down arrays
|
|
229
|
-
| `-x, --expand`
|
|
230
|
-
| `-ci`
|
|
224
|
+
| `--help` | Shows help | `boolean` | | No |
|
|
225
|
+
| `--e, --env` | Environment for load | `string` | | Yes |
|
|
226
|
+
| `-m, --modes` | Execution modes | `string[]` | `[]` | No |
|
|
227
|
+
| `--nd, --nestingDelimiter` | Nesting level delimiter for flatten | `string` | `__` | No |
|
|
228
|
+
| `--arrDesc, --arrayDescomposition` | Whether serialize or break down arrays | `boolean` | `false` | No |
|
|
229
|
+
| `-x, --expand` | Interpolates environment variables using itself | `boolean` | `false` | No |
|
|
230
|
+
| `-ci` | Continuous Integration mode | `boolean` | `false` | No |
|
|
231
231
|
|
|
232
232
|
</br>
|
|
233
233
|
|
|
234
234
|
### Workspace options
|
|
235
235
|
|
|
236
|
-
| Option
|
|
236
|
+
| Option | Description | Type | Default | Required? |
|
|
237
237
|
| ------------------ | --------------------------------- | -------- | --------------------------------- | --------- |
|
|
238
|
-
| `--root`
|
|
239
|
-
| `-c, --configFile` | Config JSON file path
|
|
240
|
-
| `-s, --schemaFile` | Environment Schema JSON file path | `string` | `[[root]]/settings/schema.json` | No
|
|
238
|
+
| `--root` | Default environment folder path | `string` | `env` | No |
|
|
239
|
+
| `-c, --configFile` | Config JSON file path | `string` | `[[root]]/settings/settings.json` | No |
|
|
240
|
+
| `-s, --schemaFile` | Environment Schema JSON file path | `string` | `[[root]]/settings/schema.json` | No |
|
|
241
241
|
|
|
242
242
|
### JSON Schema options
|
|
243
243
|
|
|
244
|
-
| Option
|
|
244
|
+
| Option | Description | Type | Default | Required? |
|
|
245
245
|
| ---------------------- | ---------------------------------------------------------- | ----------------- | ------- | --------- |
|
|
246
|
-
| `-r, --resolve`
|
|
247
|
-
| `--null, --nullable` | Whether variables are nullable by default
|
|
248
|
-
| `--df, --detectFormat` | Whether format of strings variables are included in schema | `boolean`
|
|
246
|
+
| `-r, --resolve` | Whether merges new schema or override | `merge, override` | `merge` | No |
|
|
247
|
+
| `--null, --nullable` | Whether variables are nullable by default | `boolean` | `true` | No |
|
|
248
|
+
| `--df, --detectFormat` | Whether format of strings variables are included in schema | `boolean` | `true` | No |
|
|
249
249
|
|
|
250
250
|
### Logger options
|
|
251
251
|
|
|
252
|
-
| Option
|
|
252
|
+
| Option | Description | Type | Default | Required? |
|
|
253
253
|
| ------------------- | ----------- | ---------------------------------------- | ------- | --------- |
|
|
254
|
-
| `--log, --logLevel` | Log level | `silly, trace, debug, info, warn, error` | `info` | No
|
|
254
|
+
| `--log, --logLevel` | Log level | `silly, trace, debug, info, warn, error` | `info` | No |
|
|
255
255
|
|
|
256
256
|
<div align="center">
|
|
257
257
|
<span style="font-size:20px;font-weight:bold" align="center">Commands</span>
|
|
@@ -287,9 +287,9 @@ Pulls environment variables from providers stores.
|
|
|
287
287
|
env pull -e [env] [options..]
|
|
288
288
|
```
|
|
289
289
|
|
|
290
|
-
| Option
|
|
290
|
+
| Option | Description | Type | Default | Required? |
|
|
291
291
|
| ----------------- | ------------------------- | --------- | ------- | --------- |
|
|
292
|
-
| `-o, --overwrite` | Overwrite local variables | `boolean` | `false` | No
|
|
292
|
+
| `-o, --overwrite` | Overwrite local variables | `boolean` | `false` | No |
|
|
293
293
|
|
|
294
294
|
Examples:
|
|
295
295
|
|
|
@@ -305,9 +305,9 @@ Pushes environment variables to providers stores.
|
|
|
305
305
|
env push -e [env] [options..]
|
|
306
306
|
```
|
|
307
307
|
|
|
308
|
-
| Option
|
|
308
|
+
| Option | Description | Type | Default | Required? |
|
|
309
309
|
| ------------- | ------------------------------------ | --------- | ------- | --------- |
|
|
310
|
-
| `-f, --force` | Force push for secrets (replace all) | `boolean` | `false` | No
|
|
310
|
+
| `-f, --force` | Force push for secrets (replace all) | `boolean` | `false` | No |
|
|
311
311
|
|
|
312
312
|
Examples:
|
|
313
313
|
|
|
@@ -337,10 +337,10 @@ Export unified environment variables to a file from providers.
|
|
|
337
337
|
env export -e [env] -m [modes] [options..]
|
|
338
338
|
```
|
|
339
339
|
|
|
340
|
-
| Option
|
|
340
|
+
| Option | Description | Type | Default | Required? |
|
|
341
341
|
| --------------- | ---------------------------------- | -------- | -------- | --------- |
|
|
342
|
-
| `-u, -p, --uri` | Uri for export file with variables | `string` | `.env` | No
|
|
343
|
-
| `-f, --format` | Format for export variables
|
|
342
|
+
| `-u, -p, --uri` | Uri for export file with variables | `string` | `.env` | No |
|
|
343
|
+
| `-f, --format` | Format for export variables | `string` | `dotenv` | No |
|
|
344
344
|
|
|
345
345
|
Examples:
|
|
346
346
|
|
|
@@ -365,17 +365,17 @@ Info read is:
|
|
|
365
365
|
|
|
366
366
|
```json
|
|
367
367
|
{
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
368
|
+
"version": "1.0.0",
|
|
369
|
+
"project": "project-name",
|
|
370
|
+
"name": "@package-name",
|
|
371
|
+
"title": "app-name",
|
|
372
|
+
"description": "any description"
|
|
373
373
|
}
|
|
374
374
|
```
|
|
375
375
|
|
|
376
|
-
| Option
|
|
376
|
+
| Option | Description | Type | Default | Required? |
|
|
377
377
|
| ------------------- | --------------------------- | -------- | ------- | --------- |
|
|
378
|
-
| `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""`
|
|
378
|
+
| `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""` | No |
|
|
379
379
|
|
|
380
380
|
Examples:
|
|
381
381
|
|
|
@@ -393,9 +393,9 @@ Non secrets loader for `appsettings.json`.
|
|
|
393
393
|
|
|
394
394
|
```json
|
|
395
395
|
{
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
396
|
+
"|DEFAULT|": {},
|
|
397
|
+
"|MODE|": {},
|
|
398
|
+
"|ENV|": {}
|
|
399
399
|
}
|
|
400
400
|
```
|
|
401
401
|
|
|
@@ -403,43 +403,43 @@ In example:
|
|
|
403
403
|
|
|
404
404
|
```json
|
|
405
405
|
{
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
406
|
+
"|DEFAULT|": {
|
|
407
|
+
"VAR1": "v1_default"
|
|
408
|
+
},
|
|
409
|
+
"|MODE|": {
|
|
410
|
+
"build": {
|
|
411
|
+
"NODE_ENV": "production"
|
|
412
|
+
},
|
|
413
|
+
"debug": {
|
|
414
|
+
"NODE_ENV": "development"
|
|
415
|
+
},
|
|
416
|
+
"test": {
|
|
417
|
+
"NODE_ENV": "test"
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"|ENV|": {
|
|
421
|
+
"dev": {
|
|
422
|
+
"C1": "V1",
|
|
423
|
+
"C2": "V2",
|
|
424
|
+
"C3": 3,
|
|
425
|
+
"GROUP1": {
|
|
426
|
+
"VAR1": null,
|
|
427
|
+
"VAR2": "G1V2",
|
|
428
|
+
"VAR3": true,
|
|
429
|
+
"GROUP2": {
|
|
430
|
+
"VAR1": "G1G2V1"
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
"C4": "23"
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
436
|
}
|
|
437
437
|
```
|
|
438
438
|
|
|
439
|
-
| Option
|
|
439
|
+
| Option | Description | Type | Default | Required? |
|
|
440
440
|
| ----------------------- | ------------------------------------ | -------- | --------------------------- | --------- |
|
|
441
|
-
| `--ef, --envFile`
|
|
442
|
-
| `--sp, --sectionPrefix` | Prefix for env and modes in env file | `string` | `` | No
|
|
441
|
+
| `--ef, --envFile` | Environment variables file path | `string` | `[[root]]/appsettings.json` | No |
|
|
442
|
+
| `--sp, --sectionPrefix` | Prefix for env and modes in env file | `string` | `` | No |
|
|
443
443
|
|
|
444
444
|
</br>
|
|
445
445
|
|
|
@@ -447,17 +447,17 @@ In example:
|
|
|
447
447
|
|
|
448
448
|
Secrets loader for `env/[[env]].env.json`.
|
|
449
449
|
|
|
450
|
-
| Option
|
|
450
|
+
| Option | Description | Type | Default | Required? |
|
|
451
451
|
| --------------------- | -------------------------- | -------- | --------------------------- | --------- |
|
|
452
|
-
| `--sf, --secretsFile` | Secret variables file path | `string` | `[[root]]/[[env]].env.json` | No
|
|
452
|
+
| `--sf, --secretsFile` | Secret variables file path | `string` | `[[root]]/[[env]].env.json` | No |
|
|
453
453
|
|
|
454
454
|
- ## **`local`**
|
|
455
455
|
|
|
456
456
|
Local variables loader for `env/[[env]].local.env.json`.
|
|
457
457
|
|
|
458
|
-
| Option
|
|
458
|
+
| Option | Description | Type | Default | Required? |
|
|
459
459
|
| ------------------- | ------------------------- | -------- | --------------------------------- | --------- |
|
|
460
|
-
| `--lf, --localFile` | Local variables file path | `string` | `[[root]]/[[env]].local.env.json` | No
|
|
460
|
+
| `--lf, --localFile` | Local variables file path | `string` | `[[root]]/[[env]].local.env.json` | No |
|
|
461
461
|
|
|
462
462
|
- ## **`package-json`**
|
|
463
463
|
|
|
@@ -467,17 +467,17 @@ Info read is:
|
|
|
467
467
|
|
|
468
468
|
```json
|
|
469
469
|
{
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
470
|
+
"version": "1.0.0",
|
|
471
|
+
"project": "project-name",
|
|
472
|
+
"name": "@package-name",
|
|
473
|
+
"title": "app-name",
|
|
474
|
+
"description": "any description"
|
|
475
475
|
}
|
|
476
476
|
```
|
|
477
477
|
|
|
478
|
-
| Option
|
|
478
|
+
| Option | Description | Type | Default | Required? |
|
|
479
479
|
| ------------------- | --------------------------- | -------- | ------- | --------- |
|
|
480
|
-
| `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""`
|
|
480
|
+
| `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""` | No |
|
|
481
481
|
|
|
482
482
|
Examples:
|
|
483
483
|
|
|
@@ -507,61 +507,61 @@ import { logger, readJson, writeJson } from '@calvear/env/utils';
|
|
|
507
507
|
const KEY = 'my-unique-provider-key';
|
|
508
508
|
|
|
509
509
|
interface MyProviderCommandArguments extends CommandArguments {
|
|
510
|
-
|
|
510
|
+
anyExtraOption: boolean;
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
export const MyProvider: EnvProvider<MyProviderCommandArguments> = {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
514
|
+
// unique identifier for provider
|
|
515
|
+
key: KEY,
|
|
516
|
+
|
|
517
|
+
// (optional) allows to provider adds new arguments/options
|
|
518
|
+
// to commands using yargs for builder
|
|
519
|
+
builder: (builder) => {
|
|
520
|
+
builder.options({
|
|
521
|
+
anyExtraOption: {
|
|
522
|
+
group: KEY,
|
|
523
|
+
alias: ['a', 'aeo'],
|
|
524
|
+
type: 'boolean',
|
|
525
|
+
default: false,
|
|
526
|
+
describe: 'Any option description',
|
|
527
|
+
},
|
|
528
|
+
});
|
|
529
|
+
},
|
|
530
|
+
|
|
531
|
+
// call on environment variables loading,
|
|
532
|
+
// may be a Promise
|
|
533
|
+
load: ({ env, modes, ...options }) => {
|
|
534
|
+
if (env === 'dev')
|
|
535
|
+
return {
|
|
536
|
+
NODE_ENV: 'development',
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
// you can return a list of JSON environment variables for merge
|
|
540
|
+
return [
|
|
541
|
+
{
|
|
542
|
+
NODE_ENV: 'production',
|
|
543
|
+
ANY_VAR: 'ABC', // will be replaced by value below
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
ANY_VAR: 'ANY_VALUE',
|
|
547
|
+
ANY_GROUP: {
|
|
548
|
+
INNER_VAR: 12,
|
|
549
|
+
},
|
|
550
|
+
},
|
|
551
|
+
];
|
|
552
|
+
},
|
|
553
|
+
|
|
554
|
+
// (optional) call on pulling variables from provider store,
|
|
555
|
+
// config may pass in your config file
|
|
556
|
+
pull: ({ env, modes, ...options }, config) => {
|
|
557
|
+
// anyway you want for pulling variables to cache
|
|
558
|
+
},
|
|
559
|
+
|
|
560
|
+
// (optional) call on pushing/updating variables to provider store,
|
|
561
|
+
// config may pass in your config file
|
|
562
|
+
push: ({ env, modes, ...options }, config) => {
|
|
563
|
+
// anyway you should do for pushing or updating your variables
|
|
564
|
+
},
|
|
565
565
|
};
|
|
566
566
|
```
|
|
567
567
|
|
|
@@ -575,41 +575,41 @@ You can configure any config argument inside you config file, but commonly provi
|
|
|
575
575
|
|
|
576
576
|
```javascript
|
|
577
577
|
{
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
578
|
+
"log": "silly",
|
|
579
|
+
// will hide values of keys SECRET and MY_API_KEY in logging
|
|
580
|
+
"logMaskValuesOfKeys": ["SECRET", "MY_API_KEY"],
|
|
581
|
+
// integrated providers and custom providers together
|
|
582
|
+
"providers": [
|
|
583
|
+
{
|
|
584
|
+
"path": "package-json",
|
|
585
|
+
"type": "integrated"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"path": "app-settings",
|
|
589
|
+
"type": "integrated"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"path": "secrets",
|
|
593
|
+
"type": "integrated"
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"path": "local",
|
|
597
|
+
"type": "integrated"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
// custom NPM package
|
|
601
|
+
"path": "@npm-package",
|
|
602
|
+
"type": "module",
|
|
603
|
+
"config": {
|
|
604
|
+
"any-config": "any value"
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
// custom script inside project
|
|
609
|
+
"path": "scripts/custom-loader.js",
|
|
610
|
+
"type": "script"
|
|
611
|
+
}
|
|
612
|
+
]
|
|
613
613
|
}
|
|
614
614
|
```
|
|
615
615
|
|
|
@@ -620,11 +620,11 @@ You can configure any config argument inside you config file, but commonly provi
|
|
|
620
620
|
- [x] Environment injection handling
|
|
621
621
|
- [x] Customizable variables store providers
|
|
622
622
|
- [x] Commands
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
623
|
+
- [x] `push` executes a pushing action over every providers
|
|
624
|
+
- [x] `pull` executes a pulling action over every providers
|
|
625
|
+
- [x] `schema` regenerates JSON schema using providers output
|
|
626
|
+
- [x] `export` exports environment variables in json or dotenv format
|
|
627
|
+
- [ ] `prepare` prepares environment (creates folder and files required)
|
|
628
628
|
- [ ] Improve documentation
|
|
629
629
|
- [ ] Providers pull history
|
|
630
630
|
- [ ] Providers pull and push difference calc and prompts
|
package/arguments.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AASjD,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACnE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAGD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,OAAO,CAyGxD,CAAC"}
|
package/arguments.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.args = void 0;
|
|
7
|
+
const ci_detect_1 = __importDefault(require("@npmcli/ci-detect"));
|
|
4
8
|
const providers_1 = require("./providers");
|
|
5
9
|
const GROUPS = {
|
|
6
10
|
LOG_WORKSPACE: 'Logger Options',
|
|
@@ -27,7 +31,7 @@ exports.args = {
|
|
|
27
31
|
ci: {
|
|
28
32
|
alias: 'ci',
|
|
29
33
|
type: 'boolean',
|
|
30
|
-
default:
|
|
34
|
+
default: (0, ci_detect_1.default)(),
|
|
31
35
|
describe: 'Whether providers executes in continuous integration mode'
|
|
32
36
|
},
|
|
33
37
|
nestingDelimiter: {
|
package/arguments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.command.d.ts","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"env.command.d.ts","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAG5D,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,cAAc,EAAE,OAAO,CAAC;CACxB;AAQD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAyG9D,CAAC"}
|