@karmaniverous/get-dotenv 5.2.6 → 6.0.0-1

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 (55) hide show
  1. package/README.md +106 -70
  2. package/dist/cliHost.d.ts +232 -226
  3. package/dist/cliHost.mjs +777 -545
  4. package/dist/config.d.ts +7 -2
  5. package/dist/env-overlay.d.ts +21 -9
  6. package/dist/env-overlay.mjs +14 -19
  7. package/dist/getdotenv.cli.mjs +1366 -1163
  8. package/dist/index.d.ts +415 -242
  9. package/dist/index.mjs +1364 -1414
  10. package/dist/plugins-aws.d.ts +149 -94
  11. package/dist/plugins-aws.mjs +307 -195
  12. package/dist/plugins-batch.d.ts +153 -99
  13. package/dist/plugins-batch.mjs +277 -95
  14. package/dist/plugins-cmd.d.ts +140 -94
  15. package/dist/plugins-cmd.mjs +636 -502
  16. package/dist/plugins-demo.d.ts +140 -94
  17. package/dist/plugins-demo.mjs +237 -46
  18. package/dist/plugins-init.d.ts +140 -94
  19. package/dist/plugins-init.mjs +129 -12
  20. package/dist/plugins.d.ts +166 -103
  21. package/dist/plugins.mjs +977 -840
  22. package/package.json +15 -53
  23. package/templates/cli/ts/plugins/hello.ts +27 -6
  24. package/templates/config/js/getdotenv.config.js +1 -1
  25. package/templates/config/ts/getdotenv.config.ts +9 -2
  26. package/dist/cliHost.cjs +0 -1875
  27. package/dist/cliHost.d.cts +0 -409
  28. package/dist/cliHost.d.mts +0 -409
  29. package/dist/config.cjs +0 -252
  30. package/dist/config.d.cts +0 -55
  31. package/dist/config.d.mts +0 -55
  32. package/dist/env-overlay.cjs +0 -163
  33. package/dist/env-overlay.d.cts +0 -50
  34. package/dist/env-overlay.d.mts +0 -50
  35. package/dist/index.cjs +0 -4140
  36. package/dist/index.d.cts +0 -457
  37. package/dist/index.d.mts +0 -457
  38. package/dist/plugins-aws.cjs +0 -667
  39. package/dist/plugins-aws.d.cts +0 -158
  40. package/dist/plugins-aws.d.mts +0 -158
  41. package/dist/plugins-batch.cjs +0 -616
  42. package/dist/plugins-batch.d.cts +0 -180
  43. package/dist/plugins-batch.d.mts +0 -180
  44. package/dist/plugins-cmd.cjs +0 -1113
  45. package/dist/plugins-cmd.d.cts +0 -178
  46. package/dist/plugins-cmd.d.mts +0 -178
  47. package/dist/plugins-demo.cjs +0 -307
  48. package/dist/plugins-demo.d.cts +0 -158
  49. package/dist/plugins-demo.d.mts +0 -158
  50. package/dist/plugins-init.cjs +0 -289
  51. package/dist/plugins-init.d.cts +0 -162
  52. package/dist/plugins-init.d.mts +0 -162
  53. package/dist/plugins.cjs +0 -2283
  54. package/dist/plugins.d.cts +0 -210
  55. package/dist/plugins.d.mts +0 -210
package/package.json CHANGED
@@ -72,102 +72,62 @@
72
72
  "exports": {
73
73
  ".": {
74
74
  "import": {
75
- "types": "./dist/index.d.mts",
75
+ "types": "./dist/index.d.ts",
76
76
  "default": "./dist/index.mjs"
77
- },
78
- "require": {
79
- "types": "./dist/index.d.cts",
80
- "default": "./dist/index.cjs"
81
77
  }
82
78
  },
83
79
  "./cliHost": {
84
80
  "import": {
85
- "types": "./dist/cliHost.d.mts",
81
+ "types": "./dist/cliHost.d.ts",
86
82
  "default": "./dist/cliHost.mjs"
87
- },
88
- "require": {
89
- "types": "./dist/cliHost.d.cts",
90
- "default": "./dist/cliHost.cjs"
91
83
  }
92
84
  },
93
85
  "./plugins": {
94
86
  "import": {
95
- "types": "./dist/plugins.d.mts",
87
+ "types": "./dist/plugins.d.ts",
96
88
  "default": "./dist/plugins.mjs"
97
- },
98
- "require": {
99
- "types": "./dist/plugins.d.cts",
100
- "default": "./dist/plugins.cjs"
101
89
  }
102
90
  },
103
91
  "./plugins/aws": {
104
92
  "import": {
105
- "types": "./dist/plugins-aws.d.mts",
93
+ "types": "./dist/plugins-aws.d.ts",
106
94
  "default": "./dist/plugins-aws.mjs"
107
- },
108
- "require": {
109
- "types": "./dist/plugins-aws.d.cts",
110
- "default": "./dist/plugins-aws.cjs"
111
95
  }
112
96
  },
113
97
  "./plugins/batch": {
114
98
  "import": {
115
- "types": "./dist/plugins-batch.d.mts",
99
+ "types": "./dist/plugins-batch.d.ts",
116
100
  "default": "./dist/plugins-batch.mjs"
117
- },
118
- "require": {
119
- "types": "./dist/plugins-batch.d.cts",
120
- "default": "./dist/plugins-batch.cjs"
121
101
  }
122
102
  },
123
103
  "./plugins/init": {
124
104
  "import": {
125
- "types": "./dist/plugins-init.d.mts",
105
+ "types": "./dist/plugins-init.d.ts",
126
106
  "default": "./dist/plugins-init.mjs"
127
- },
128
- "require": {
129
- "types": "./dist/plugins-init.d.cts",
130
- "default": "./dist/plugins-init.cjs"
131
107
  }
132
108
  },
133
109
  "./plugins/cmd": {
134
110
  "import": {
135
- "types": "./dist/plugins-cmd.d.mts",
111
+ "types": "./dist/plugins-cmd.d.ts",
136
112
  "default": "./dist/plugins-cmd.mjs"
137
- },
138
- "require": {
139
- "types": "./dist/plugins-cmd.d.cts",
140
- "default": "./dist/plugins-cmd.cjs"
141
113
  }
142
114
  },
143
115
  "./plugins/demo": {
144
116
  "import": {
145
- "types": "./dist/plugins-demo.d.mts",
117
+ "types": "./dist/plugins-demo.d.ts",
146
118
  "default": "./dist/plugins-demo.mjs"
147
- },
148
- "require": {
149
- "types": "./dist/plugins-demo.d.cts",
150
- "default": "./dist/plugins-demo.cjs"
151
119
  }
152
120
  },
153
121
  "./config": {
154
122
  "import": {
155
- "types": "./dist/config.d.mts",
123
+ "types": "./dist/config.d.ts",
156
124
  "default": "./dist/config.mjs"
157
- },
158
- "require": {
159
- "types": "./dist/config.d.cts",
160
- "default": "./dist/config.cjs"
161
125
  }
162
126
  },
163
127
  "./env/overlay": {
164
128
  "import": {
165
- "types": "./dist/env-overlay.d.mts",
129
+ "types": "./dist/env-overlay.d.ts",
166
130
  "default": "./dist/env-overlay.mjs"
167
- },
168
- "require": {
169
- "types": "./dist/env-overlay.d.cts",
170
- "default": "./dist/env-overlay.cjs"
171
131
  }
172
132
  }
173
133
  },
@@ -190,7 +150,7 @@
190
150
  "typescript"
191
151
  ],
192
152
  "license": "BSD-3-Clause",
193
- "main": "dist/index.cjs",
153
+ "main": "dist/index.mjs",
194
154
  "name": "@karmaniverous/get-dotenv",
195
155
  "peerDependencies": {
196
156
  "esbuild": "*"
@@ -219,6 +179,7 @@
219
179
  "npm run build",
220
180
  "npm run verify:types",
221
181
  "npm run verify:package",
182
+ "npm run verify:bundle",
222
183
  "npm run verify:tarball"
223
184
  ],
224
185
  "after:release": [
@@ -248,14 +209,15 @@
248
209
  "release": "dotenvx run -f .env.local -- release-it",
249
210
  "release:pre": "dotenvx run -f .env.local -- release-it --no-git.requireBranch --github.prerelease --preRelease",
250
211
  "stan:docs": "typedoc --emit none",
251
- "test": "vitest run --coverage",
212
+ "test": "vitest run",
252
213
  "typecheck": "tsc -p tsconfig.json --noEmit",
253
214
  "verify:types": "node tools/verify-types.js",
254
215
  "verify:package": "node tools/verify-package.js",
255
216
  "verify:smoke": "node tools/smoke.js",
217
+ "verify:bundle": "node tools/verify-bundle-imports.js",
256
218
  "verify:tarball": "node tools/verify-tarball.js"
257
219
  },
258
220
  "type": "module",
259
221
  "types": "dist/index.d.ts",
260
- "version": "5.2.6"
222
+ "version": "6.0.0-1"
261
223
  }
@@ -1,17 +1,38 @@
1
1
  import { definePlugin } from '@karmaniverous/get-dotenv/cliHost';
2
+ import { z } from 'zod';
2
3
 
3
- export const helloPlugin = () =>
4
- definePlugin({
4
+ const HelloConfigSchema = z.object({
5
+ loud: z.boolean().optional().default(false),
6
+ color: z.string().optional(),
7
+ });
8
+
9
+ export const helloPlugin = () => {
10
+ const plugin = definePlugin({
5
11
  id: 'hello',
12
+ configSchema: HelloConfigSchema,
6
13
  setup(cli) {
7
14
  cli
8
15
  .ns('hello')
9
16
  .description('Say hello with current dotenv context')
10
- .action(async () => {
11
- const ctx = cli.getCtx?.();
17
+ .addOption(
18
+ plugin.createPluginDynamicOption(
19
+ cli,
20
+ '--loud',
21
+ (_bag, cfg) =>
22
+ `print greeting in ALL CAPS${cfg.loud ? ' (default)' : ''}`,
23
+ ),
24
+ )
25
+ .action(() => {
26
+ const ctx = cli.getCtx();
12
27
  const name = '__CLI_NAME__';
13
-
14
- console.log(`[${name}] dotenv keys:`, Object.keys(ctx?.dotenv ?? {}));
28
+ const cfg = plugin.readConfig(cli);
29
+ const keys = Object.keys(ctx?.dotenv ?? {});
30
+ const label = cfg.loud
31
+ ? `[${name}] DOTENV KEYS (${String(keys.length)}):`
32
+ : `[${name}] dotenv keys (${String(keys.length)}):`;
33
+ console.log(label, keys.join(', '));
15
34
  });
16
35
  },
17
36
  });
37
+ return plugin;
38
+ };
@@ -12,4 +12,4 @@ export default {
12
12
  // provided, this returns an empty string.
13
13
  ENV_TAG: (_vars, env) => (env ? `for-${env}` : ''),
14
14
  },
15
- };
15
+ };
@@ -1,4 +1,11 @@
1
- export default {
1
+ import { defineGetDotenvConfig } from '@karmaniverous/get-dotenv';
2
+
3
+ type Vars = {
4
+ APP_SETTING?: string;
5
+ ENV_SETTING?: string;
6
+ };
7
+
8
+ export default defineGetDotenvConfig<Vars>({
2
9
  dotenvToken: '.env',
3
10
  privateToken: 'local',
4
11
  paths: './',
@@ -13,4 +20,4 @@ export default {
13
20
  ENV_TAG: (_vars: Record<string, string | undefined>, env?: string) =>
14
21
  env ? `for-${env}` : '',
15
22
  },
16
- };
23
+ });