@calvear/env 2.3.0 → 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.
Files changed (39) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +210 -210
  3. package/arguments.d.ts.map +1 -1
  4. package/arguments.js.map +1 -1
  5. package/commands/env.command.d.ts.map +1 -1
  6. package/commands/env.command.js.map +1 -1
  7. package/commands/export.command.d.ts.map +1 -1
  8. package/commands/export.command.js.map +1 -1
  9. package/commands/pull.command.d.ts.map +1 -1
  10. package/commands/pull.command.js.map +1 -1
  11. package/commands/push.command.d.ts.map +1 -1
  12. package/commands/push.command.js.map +1 -1
  13. package/commands/schema.command.js.map +1 -1
  14. package/exec.js.map +1 -1
  15. package/interfaces/loader.interface.d.ts.map +1 -1
  16. package/package.json +88 -89
  17. package/providers/app-settings.provider.d.ts.map +1 -1
  18. package/providers/app-settings.provider.js.map +1 -1
  19. package/providers/index.js.map +1 -1
  20. package/providers/local.provider.d.ts.map +1 -1
  21. package/providers/local.provider.js.map +1 -1
  22. package/providers/package-json.provider.d.ts +1 -1
  23. package/providers/package-json.provider.d.ts.map +1 -1
  24. package/providers/package-json.provider.js +8 -8
  25. package/providers/package-json.provider.js.map +1 -1
  26. package/providers/secrets.provider.d.ts.map +1 -1
  27. package/providers/secrets.provider.js.map +1 -1
  28. package/tsconfig.build.tsbuildinfo +1 -1
  29. package/utils/command.util.d.ts.map +1 -1
  30. package/utils/command.util.js.map +1 -1
  31. package/utils/interpolate.util.d.ts.map +1 -1
  32. package/utils/interpolate.util.js.map +1 -1
  33. package/utils/json.util.d.ts.map +1 -1
  34. package/utils/json.util.js.map +1 -1
  35. package/utils/logger.js.map +1 -1
  36. package/utils/normalize.util.d.ts.map +1 -1
  37. package/utils/normalize.util.js.map +1 -1
  38. package/utils/schema.util.d.ts.map +1 -1
  39. package/utils/schema.util.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
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
+
5
9
  ## [2.3.0] - 2022-10-21
6
10
 
7
11
  - migrated to PNPM
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div id="top" align="center">
2
2
  <img
3
- alt="logo"
4
- src="https://nodejs.org/static/images/logo.svg"
5
- width="256px"
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
- src="https://img.shields.io/badge/version-1.0.0-blue?style=flat-square"
19
- alt="version"
18
+ src="https://img.shields.io/badge/version-1.0.0-blue?style=flat-square"
19
+ alt="version"
20
20
  />
21
21
  &nbsp;
22
22
  <img
23
- src="https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white"
24
- alt="typescript"
23
+ src="https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white"
24
+ alt="typescript"
25
25
  />
26
26
  &nbsp;
27
27
  <img
28
- src="https://img.shields.io/badge/nodejs-~14.0.0_||_^16.14.2-darkgreen?style=flat-square"
29
- alt="nodejs engine"
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
  &nbsp;
32
32
  <img
33
- src="https://img.shields.io/badge/npm->=7.5.6-darkgreen?style=flat-square"
34
- alt="npm engine"
33
+ src="https://img.shields.io/badge/npm->=7.5.6-darkgreen?style=flat-square"
34
+ alt="npm engine"
35
35
  />
36
36
  &nbsp;
37
37
  <img
38
- src="https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square"
39
- alt="license"
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
- env [options..] [: <subcmd> :]
104
- env pull [options..]
105
- env push [options..]
106
- env schema [options..]
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
- // 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"
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
- 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: '***'
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 | Description | Type | Default | Required? |
222
+ | Option | Description | Type | Default | Required? |
223
223
  | ---------------------------------- | ----------------------------------------------- | ---------- | ------- | --------- |
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 |
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 | Description | Type | Default | Required? |
236
+ | Option | Description | Type | Default | Required? |
237
237
  | ------------------ | --------------------------------- | -------- | --------------------------------- | --------- |
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 |
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 | Description | Type | Default | Required? |
244
+ | Option | Description | Type | Default | Required? |
245
245
  | ---------------------- | ---------------------------------------------------------- | ----------------- | ------- | --------- |
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 |
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 | Description | Type | Default | Required? |
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 | Description | Type | Default | Required? |
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 | Description | Type | Default | Required? |
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 | Description | Type | Default | Required? |
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 | `string` | `dotenv` | No |
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
- "version": "1.0.0",
369
- "project": "project-name",
370
- "name": "@package-name",
371
- "title": "app-name",
372
- "description": "any description"
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 | Description | Type | Default | Required? |
376
+ | Option | Description | Type | Default | Required? |
377
377
  | ------------------- | --------------------------- | -------- | ------- | --------- |
378
- | `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""` | No |
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
- "|DEFAULT|": {},
397
- "|MODE|": {},
398
- "|ENV|": {}
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
- "|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
- }
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 | Description | Type | Default | Required? |
439
+ | Option | Description | Type | Default | Required? |
440
440
  | ----------------------- | ------------------------------------ | -------- | --------------------------- | --------- |
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 |
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 | Description | Type | Default | Required? |
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 | Description | Type | Default | Required? |
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
- "version": "1.0.0",
471
- "project": "project-name",
472
- "name": "@package-name",
473
- "title": "app-name",
474
- "description": "any description"
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 | Description | Type | Default | Required? |
478
+ | Option | Description | Type | Default | Required? |
479
479
  | ------------------- | --------------------------- | -------- | ------- | --------- |
480
- | `--vp, --varPrefix` | Prefix for loaded variables | `string` | `""` | No |
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
- anyExtraOption: boolean;
510
+ anyExtraOption: boolean;
511
511
  }
512
512
 
513
513
  export const MyProvider: EnvProvider<MyProviderCommandArguments> = {
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
- },
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
- "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
- ]
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
- - [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)
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
@@ -1 +1 @@
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;IAC/C,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;CAClC;AAGD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,OAAO,CAyGxD,CAAC"}
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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAqC;AAIrC,2CAAuD;AAEvD,MAAM,MAAM,GAAG;IACX,aAAa,EAAE,gBAAgB;IAC/B,eAAe,EAAE,mBAAmB;IACpC,qBAAqB,EAAE,qBAAqB;CAC/C,CAAC;AAwBW,QAAA,IAAI,GAA4C;IACzD,GAAG,EAAE;QACD,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,sCAAsC;KACnD;IACD,KAAK,EAAE;QACH,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,mCAAmC;KAChD;IACD,SAAS,EAAE;QACP,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,oCAAwB;QACjC,QAAQ,EAAE,sCAAsC;KACnD;IACD,EAAE,EAAE;QACA,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAA,mBAAI,GAAE;QACf,QAAQ,EAAE,2DAA2D;KACxE;IACD,gBAAgB,EAAE;QACd,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,QAAQ,EACJ,kGAAkG;KACzG;IACD,mBAAmB,EAAE;QACjB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,wCAAwC;KACrD;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,iDAAiD;KAC9D;IACD,IAAI,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,iCAAiC;KAC9C;IACD,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iCAAiC;QAC1C,QAAQ,EAAE,uBAAuB;KACpC;IACD,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC;QACtB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,mCAAmC;KAChD;IACD,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC,qBAAqB;QACnC,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QAC9B,QAAQ,EAAE,uCAAuC;KACpD;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,qBAAqB;QACnC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,gCAAgC;KAC7C;IACD,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAC,qBAAqB;QACnC,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,4DAA4D;KACzE;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,aAAa;QAC3B,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;KAChE;IACD,eAAe,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,aAAa;QAC3B,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,EAAE;KACd;IACD,mBAAmB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC,aAAa;QAC3B,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,EAAE;KACd;CACJ,CAAC"}
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;IAGzD,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,cAAc,EAAE,OAAO,CAAC;CAC3B;AAQD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAyG9D,CAAC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.command.js","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA+B;AAC/B,iDAAsC;AAGtC,oCASkB;AAgBL,QAAA,UAAU,GAA4C;IAC/D,OAAO,EAAE,+BAA+B;IACxC,QAAQ,EAAE,2CAA2C;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO;aACF,OAAO,CAAC;YACL,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,0CAA0C;aACvD;YACD,cAAc,EAAE;gBACZ,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,+CAA+C;aAC5D;SACJ,CAAC;aACD,OAAO,CACJ,oCAAoC,EACpC,wFAAwF,CAC3F;aACA,OAAO,CACJ,qDAAqD,EACrD,mGAAmG,CACtG;aACA,OAAO,CACJ,8DAA8D,EAC9D,0EAA0E,CAC7E;aACA,KAAK,CAAC,CAAC,IAAI,EAAW,EAAE;YAErB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,MAAM,IAAI,KAAK,CACX,qDAAqD,CACxD,CAAC;aACL;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEP,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAA,kCAA0B,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAElE,IAAI,GAAG,GAAG,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC;QACtE,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE1C,IAAI,cAAc,EAAE;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,MAAM,EACP,OAAO,EAAE,EAAE,GAAG,EAAE,EACnB,IAAI,SAAS,EAAE;gBACZ,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAG,GAAG,CAAC,CAAC;gBAE1C,IAAI,cAAc,EAAE;oBAChB,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,MAAM,EACN,IAAA,kBAAU,EAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CACxD,CAAC;iBACL;aACJ;YAED,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC;gBAC9B,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,MAAM;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACjB,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;SACJ;QAED,GAAG,GAAG,IAAA,iBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtE,IAAI,MAAM;YAAE,GAAG,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExC,cAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAGzC,OAAO,CAAC,GAAG,GAAG;YACV,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,GAAG;SACT,CAAC;QAEF,cAAM,CAAC,IAAI,CACP,qBAAqB,EACrB,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC;QAEF,IAAA,qBAAK,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACd,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACZ,cAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;aAChD;iBAAM;gBACH,cAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAE5C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"env.command.js","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":"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"}