envapt 8.2.0 → 8.2.2

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 (130) hide show
  1. package/CHANGELOG.md +18 -15
  2. package/dist/node/config.cjs.map +1 -1
  3. package/dist/node/config.mjs.map +1 -1
  4. package/dist/node/converters/BuiltInConverters.cjs.map +1 -1
  5. package/dist/node/converters/BuiltInConverters.mjs.map +1 -1
  6. package/dist/node/converters/Converters.cjs.map +1 -1
  7. package/dist/node/converters/Converters.mjs.map +1 -1
  8. package/dist/node/converters/ListOfBuiltInConverters.cjs.map +1 -1
  9. package/dist/node/converters/ListOfBuiltInConverters.mjs.map +1 -1
  10. package/dist/node/converters/ValueConverter.cjs.map +1 -1
  11. package/dist/node/converters/ValueConverter.mjs.map +1 -1
  12. package/dist/node/core/AdvancedMethods.cjs.map +1 -1
  13. package/dist/node/core/AdvancedMethods.mjs.map +1 -1
  14. package/dist/node/core/EnvapterBase.cjs.map +1 -1
  15. package/dist/node/core/EnvapterBase.mjs.map +1 -1
  16. package/dist/node/core/EnvironmentMethods.cjs.map +1 -1
  17. package/dist/node/core/EnvironmentMethods.mjs.map +1 -1
  18. package/dist/node/core/PrimitiveMethods.cjs.map +1 -1
  19. package/dist/node/core/PrimitiveMethods.mjs.map +1 -1
  20. package/dist/node/core/engine.cjs.map +1 -1
  21. package/dist/node/core/engine.mjs.map +1 -1
  22. package/dist/node/core/missing.cjs.map +1 -1
  23. package/dist/node/core/missing.mjs.map +1 -1
  24. package/dist/node/core/paths.cjs.map +1 -1
  25. package/dist/node/core/paths.mjs.map +1 -1
  26. package/dist/node/core/state.cjs.map +1 -1
  27. package/dist/node/core/state.mjs.map +1 -1
  28. package/dist/node/decorators/legacy/Envapt.cjs.map +1 -1
  29. package/dist/node/decorators/legacy/Envapt.mjs.map +1 -1
  30. package/dist/node/decorators/legacy/SugarDecorators.cjs.map +1 -1
  31. package/dist/node/decorators/legacy/SugarDecorators.mjs.map +1 -1
  32. package/dist/node/decorators/legacy/createPropertyDecorator.cjs +1 -1
  33. package/dist/node/decorators/legacy/createPropertyDecorator.cjs.map +1 -1
  34. package/dist/node/decorators/legacy/createPropertyDecorator.mjs +1 -1
  35. package/dist/node/decorators/legacy/createPropertyDecorator.mjs.map +1 -1
  36. package/dist/node/decorators/modern/Envapt.cjs.map +1 -1
  37. package/dist/node/decorators/modern/Envapt.mjs.map +1 -1
  38. package/dist/node/decorators/modern/SugarDecorators.cjs.map +1 -1
  39. package/dist/node/decorators/modern/SugarDecorators.mjs.map +1 -1
  40. package/dist/node/decorators/modern/createAccessorDecorator.cjs.map +1 -1
  41. package/dist/node/decorators/modern/createAccessorDecorator.mjs.map +1 -1
  42. package/dist/node/decorators/resolveDecoratorValue.cjs.map +1 -1
  43. package/dist/node/decorators/resolveDecoratorValue.mjs.map +1 -1
  44. package/dist/node/engine/Envapter.cjs.map +1 -1
  45. package/dist/node/engine/Envapter.mjs.map +1 -1
  46. package/dist/node/engine/NodeEnvapter.cjs.map +1 -1
  47. package/dist/node/engine/NodeEnvapter.mjs.map +1 -1
  48. package/dist/node/engine/TemplateResolver.cjs.map +1 -1
  49. package/dist/node/engine/TemplateResolver.mjs.map +1 -1
  50. package/dist/node/engine/Validators.cjs.map +1 -1
  51. package/dist/node/engine/Validators.mjs.map +1 -1
  52. package/dist/node/infra/Debug.cjs.map +1 -1
  53. package/dist/node/infra/Debug.mjs.map +1 -1
  54. package/dist/node/infra/Dotenv.cjs.map +1 -1
  55. package/dist/node/infra/Dotenv.mjs.map +1 -1
  56. package/dist/node/infra/Error.cjs.map +1 -1
  57. package/dist/node/infra/Error.mjs.map +1 -1
  58. package/dist/node/infra/recase.cjs.map +1 -1
  59. package/dist/node/infra/recase.mjs.map +1 -1
  60. package/dist/node/infra/runtime.cjs.map +1 -1
  61. package/dist/node/infra/runtime.mjs.map +1 -1
  62. package/dist/node/sources/FileSource.cjs.map +1 -1
  63. package/dist/node/sources/FileSource.mjs.map +1 -1
  64. package/dist/node/sources/PortableSource.cjs.map +1 -1
  65. package/dist/node/sources/PortableSource.mjs.map +1 -1
  66. package/dist/node/sources/UnboundSource.cjs.map +1 -1
  67. package/dist/node/sources/UnboundSource.mjs.map +1 -1
  68. package/dist/node/sources/coerce.cjs.map +1 -1
  69. package/dist/node/sources/coerce.mjs.map +1 -1
  70. package/dist/node/sources/merge.cjs.map +1 -1
  71. package/dist/node/sources/merge.mjs.map +1 -1
  72. package/dist/portable/converters/BuiltInConverters.mjs.map +1 -1
  73. package/dist/portable/converters/Converters.mjs.map +1 -1
  74. package/dist/portable/converters/ListOfBuiltInConverters.mjs.map +1 -1
  75. package/dist/portable/converters/ValueConverter.mjs.map +1 -1
  76. package/dist/portable/core/AdvancedMethods.mjs.map +1 -1
  77. package/dist/portable/core/EnvapterBase.mjs.map +1 -1
  78. package/dist/portable/core/EnvironmentMethods.mjs.map +1 -1
  79. package/dist/portable/core/PrimitiveMethods.mjs.map +1 -1
  80. package/dist/portable/core/engine.mjs.map +1 -1
  81. package/dist/portable/core/missing.mjs.map +1 -1
  82. package/dist/portable/core/paths.mjs.map +1 -1
  83. package/dist/portable/core/state.mjs.map +1 -1
  84. package/dist/portable/decorators/legacy/Envapt.mjs.map +1 -1
  85. package/dist/portable/decorators/legacy/SugarDecorators.mjs.map +1 -1
  86. package/dist/portable/decorators/legacy/createPropertyDecorator.mjs +1 -1
  87. package/dist/portable/decorators/legacy/createPropertyDecorator.mjs.map +1 -1
  88. package/dist/portable/decorators/modern/Envapt.mjs.map +1 -1
  89. package/dist/portable/decorators/modern/SugarDecorators.mjs.map +1 -1
  90. package/dist/portable/decorators/modern/createAccessorDecorator.mjs.map +1 -1
  91. package/dist/portable/decorators/resolveDecoratorValue.mjs.map +1 -1
  92. package/dist/portable/engine/Envapter.mjs.map +1 -1
  93. package/dist/portable/engine/PortableEnvapter.mjs.map +1 -1
  94. package/dist/portable/engine/TemplateResolver.mjs.map +1 -1
  95. package/dist/portable/engine/Validators.mjs.map +1 -1
  96. package/dist/portable/engine/fileApiStub.mjs.map +1 -1
  97. package/dist/portable/infra/Debug.mjs.map +1 -1
  98. package/dist/portable/infra/Dotenv.mjs.map +1 -1
  99. package/dist/portable/infra/Error.mjs.map +1 -1
  100. package/dist/portable/infra/recase.mjs.map +1 -1
  101. package/dist/portable/infra/runtime.mjs.map +1 -1
  102. package/dist/portable/sources/PortableSource.mjs.map +1 -1
  103. package/dist/portable/sources/UnboundSource.mjs.map +1 -1
  104. package/dist/portable/sources/coerce.mjs.map +1 -1
  105. package/dist/portable/sources/merge.mjs.map +1 -1
  106. package/dist/types/converters/Converters.d.mts +4 -5
  107. package/dist/types/core/AdvancedMethods.d.mts +6 -12
  108. package/dist/types/core/EnvapterBase.d.mts +9 -12
  109. package/dist/types/core/Environment.d.mts +1 -2
  110. package/dist/types/core/EnvironmentMethods.d.mts +1 -6
  111. package/dist/types/core/PrimitiveMethods.d.mts +1 -5
  112. package/dist/types/decorators/legacy/Envapt.d.mts +17 -19
  113. package/dist/types/decorators/legacy/SugarDecorators.d.mts +12 -13
  114. package/dist/types/decorators/modern/Envapt.d.mts +17 -19
  115. package/dist/types/decorators/modern/SugarDecorators.d.mts +12 -13
  116. package/dist/types/engine/Envapter.d.mts +2 -2
  117. package/dist/types/engine/NodeEnvapter.d.mts +5 -6
  118. package/dist/types/engine/PortableEnvapter.d.mts +5 -7
  119. package/dist/types/infra/Debug.d.mts +3 -5
  120. package/dist/types/infra/Dotenv.d.mts +2 -4
  121. package/dist/types/infra/Error.d.mts +4 -5
  122. package/dist/types/infra/StandardSchema.d.mts +5 -7
  123. package/dist/types/sources/FileSource.d.mts +1 -2
  124. package/dist/types/sources/PortableSource.d.mts +7 -8
  125. package/dist/types/sources/merge.d.mts +1 -2
  126. package/dist/types/types/Conversion.d.mts +0 -4
  127. package/dist/types/types/Decorator.d.mts +2 -3
  128. package/dist/types/types/Options.d.mts +7 -7
  129. package/dist/types/types/Schema.d.mts +1 -1
  130. package/package.json +11 -11
@@ -2,8 +2,8 @@ import { Environment } from "../core/Environment.mjs";
2
2
  import { EnvaptConverter } from "./Conversion.mjs";
3
3
  //#region src/types/Options.d.ts
4
4
  /**
5
- * Options for the \@Envapt decorator (modern API). `required: true` is mutually exclusive
6
- * with `fallback`; see the per-converter overloads in `Envapt.ts` for the type-level mutex.
5
+ * Options for the \@Envapt decorator (modern API). `required: true` and `fallback` cannot be
6
+ * used together, and the `@Envapt` overloads reject the pair at compile time.
7
7
  * @public
8
8
  * @see {@link https://envapt.materwelon.dev/docs/decorators#declaring-decorated-fields}
9
9
  */
@@ -21,27 +21,27 @@ interface EnvaptOptions<TFallback = string> {
21
21
  * @see {@link https://envapt.materwelon.dev/docs/environment#custom-profiles}
22
22
  */
23
23
  interface EnvProfile {
24
- /** One or more `.env` paths to load for this environment. Order matters: earlier paths take precedence. */
24
+ /** One or more `.env` paths to load for this environment. Earlier paths take precedence. */
25
25
  paths: string | string[];
26
26
  }
27
27
  /**
28
28
  * Configuration object for `Envapter.configureProfiles`. Maps each `Environment` to an optional
29
29
  * profile override. Unspecified environments fall through to the default cascade behavior
30
- * (`.env.${env}.local`, `.env.local`, `.env.${env}`, `.env`).
30
+ * (`.env.${env}.local`, `.env.${env}`, `.env.local`, `.env`).
31
31
  * @public
32
32
  * @see {@link https://envapt.materwelon.dev/docs/environment#custom-profiles}
33
33
  */
34
34
  type ProfilesConfig = Partial<Record<Environment, EnvProfile>> & {
35
35
  /**
36
36
  * When `false`, disables the default dotenv-flow cascade entirely. Only the explicitly
37
- * configured paths are loaded. Defaults to `true` (cascade still runs, configured paths
38
- * are layered on top with higher precedence).
37
+ * configured paths are loaded. Defaults to `true` (the cascade still runs and configured
38
+ * paths take higher precedence).
39
39
  */
40
40
  useDefaults?: boolean;
41
41
  };
42
42
  /**
43
43
  * How the portable build's filesystem-only config APIs behave when called. `'warn'` (the default)
44
- * warns once and no-ops, `'throw'` throws `FileApiUnsupported`. The node build runs these APIs
44
+ * warns once and no-ops. `'throw'` throws `FileApiUnsupported`. The node build runs these APIs
45
45
  * normally and is unaffected by this value.
46
46
  * @public
47
47
  * @see {@link https://envapt.materwelon.dev/docs/compatibility#binding-by-runtime}
@@ -7,5 +7,5 @@ type Err<Msg extends string> = Msg & {
7
7
  type SchemaMustBeSync = Err<'Schema must be synchronous. envapt is boot-time config loading; async refinements (validate returning `Promise<Result>`) belong outside the env layer.'>;
8
8
  type SchemaConstraint<Schema extends StandardSchemaV1> = ReturnType<Schema['~standard']['validate']> extends Promise<unknown> ? SchemaMustBeSync : Schema;
9
9
  //#endregion
10
- export type { Err, SchemaConstraint, SchemaMustBeSync };
10
+ export type { SchemaConstraint };
11
11
  //# sourceMappingURL=Schema.d.mts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "envapt",
3
3
  "type": "module",
4
- "version": "8.2.0",
4
+ "version": "8.2.2",
5
5
  "description": "Type-safe config for TypeScript. Read typed values from any source, process.env, .env files, Cloudflare Workers bindings, browser bundles, or any object you supply. Zero runtime dependencies, one API across Node, Bun, Deno, Workers, and the browser. TC39 accessor decorators (legacy decorators at envapt/legacy), converters, and Standard Schema (zod/valibot/arktype) validation.",
6
6
  "types": "./dist/types/index.d.mts",
7
7
  "exports": {
@@ -186,16 +186,16 @@
186
186
  "provenance": true
187
187
  },
188
188
  "devDependencies": {
189
- "@cloudflare/vitest-pool-workers": "0.18.0",
190
- "@cloudflare/workers-types": "^5.20260730.1",
191
- "@vitest/browser": "4.1.10",
192
- "@vitest/browser-playwright": "4.1.10",
193
- "arktype": "^2.2.2",
194
- "esbuild": "^0.28.1",
195
- "playwright": "1.61.1",
189
+ "@cloudflare/vitest-pool-workers": "0.22.0",
190
+ "@cloudflare/workers-types": "^5.20260911.1",
191
+ "@vitest/browser-playwright": "4.1.11",
192
+ "arktype": "^2.2.3",
193
+ "esbuild": "^0.28.2",
194
+ "jiti": "^2.7.0",
195
+ "playwright": "1.63.0",
196
196
  "typescript7": "npm:typescript@7.0.2",
197
- "valibot": "^1.4.2",
198
- "zod": "4.4.3"
197
+ "valibot": "^1.5.0",
198
+ "zod": "4.6.4"
199
199
  },
200
200
  "scripts": {
201
201
  "clean": "rm -rf dist",
@@ -208,7 +208,6 @@
208
208
  "fmt:check": "prettier --check '{src,tests,scripts}/**/*.{ts,tsx,json,md}' --cache",
209
209
  "fmt:all": "prettier --write .",
210
210
  "tc": "tsc --noEmit",
211
- "tsd": "tsd",
212
211
  "test": "vitest run",
213
212
  "test:watch": "vitest dev",
214
213
  "test:integration": "node tests/integration/run.mjs",
@@ -221,6 +220,7 @@
221
220
  "test:cjs-validity": "node tests/cjs-validity/run.mjs",
222
221
  "test:tsc-emit": "node tests/tsc-emit/run.mjs",
223
222
  "test:tsc-emit:ts7": "ENVAPT_TSC_PACKAGE=typescript7 node tests/tsc-emit/run.mjs",
223
+ "test:babel-emit": "node tests/babel-emit/run.mjs",
224
224
  "test:stage3-emit": "node tests/stage3-emit/run.mjs",
225
225
  "test:stage3-emit:ts7": "ENVAPT_TSC_PACKAGE=typescript7 node tests/stage3-emit/run.mjs",
226
226
  "test:all": "node ../../scripts/test-all.mjs",