@arkenv/vite-plugin 0.0.22 → 0.0.24

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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- let e=require(`arkenv`),t=require(`vite`);function n(n){return{name:`@arkenv/vite-plugin`,config(r,{mode:i}){let a=r.envPrefix??`VITE_`,o=Array.isArray(a)?a:[a],s=(0,e.createEnv)(n,{env:(0,t.loadEnv)(i,process.cwd(),``)}),c=Object.fromEntries(Object.entries(s).filter(([e])=>o.some(t=>e.startsWith(t))));return{define:Object.fromEntries(Object.entries(c).map(([e,t])=>[`import.meta.env.${e}`,JSON.stringify(t)]))}}}}module.exports=n;
1
+ let e=require(`arkenv`),t=require(`vite`);function n(n){return{name:`@arkenv/vite-plugin`,config(r,{mode:i}){let a=r.envPrefix??`VITE_`,o=Array.isArray(a)?a:[a],s=(0,e.createEnv)(n,{env:(0,t.loadEnv)(i,r.envDir??r.root??process.cwd(),``)}),c=Object.fromEntries(Object.entries(s).filter(([e])=>o.some(t=>e.startsWith(t))));return{define:Object.fromEntries(Object.entries(c).map(([e,t])=>[`import.meta.env.${e}`,JSON.stringify(t)]))}}}}module.exports=n;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["FilterByPrefix","T","Prefix","Record","K","type","InferType","T","Record","errors","Any","arktype0","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","$","Type","SchemaShape","arktype_internal_variants_object_ts0","ObjectType","infer","EnvSchemaWithType","arktype0","ArkErrors","Type","distill","type","type$1","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","arktype_internal_variants_object_ts0","arktype_internal_type_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","InferType","T","Record","errors","Any","SchemaShape","ObjectType","infer","EnvSchemaWithType","EnvSchema","def$1","validate","RuntimeEnvironment","ArkEnvConfig","createEnv","Out","def","TypeParser","ArkEnvError","Error","arkenv","default"],"sources":["../../internal/types/dist/filter-by-prefix.d.ts","../../internal/types/dist/infer-type.d.ts","../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts","../../arkenv/dist/index.d.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Filter environment variables to only include those that start with the given prefix.\n * This ensures only client-exposed variables (e.g., VITE_*, BUN_PUBLIC_*) are included.\n *\n * @template T - The record of environment variables\n * @template Prefix - The prefix to filter by\n */\nexport type FilterByPrefix<T extends Record<string, unknown>, Prefix extends string> = {\n [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K];\n};\n//# sourceMappingURL=filter-by-prefix.d.ts.map","import type { type } from \"arktype\";\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\nexport type InferType<T> = T extends (value: Record<string, string | undefined>) => infer R ? R extends type.errors ? never : R : T extends type.Any<infer U, infer _Scope> ? U : never;\n//# sourceMappingURL=infer-type.d.ts.map","import * as arktype0 from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\nexport { $ };\n//# sourceMappingURL=index.d.ts.map","import type { $ } from \"@repo/scope\";\nimport { type Type } from \"arktype\";\nexport declare const SchemaShape: import(\"arktype/internal/variants/object.ts\").ObjectType<{\n [x: string]: unknown;\n}, {}>;\nexport type SchemaShape = typeof SchemaShape.infer;\nexport type EnvSchemaWithType = Type<SchemaShape, $>;\n//# sourceMappingURL=schema.d.ts.map","import * as arktype0 from \"arktype\";\nimport { ArkErrors, Type, distill, type as type$1 } from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\nimport * as arktype_internal_variants_object_ts0 from \"arktype/internal/variants/object.ts\";\nimport * as arktype_internal_type_ts0 from \"arktype/internal/type.ts\";\n\n//#region ../internal/scope/dist/index.d.ts\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\n//#endregion\n//#region ../internal/types/dist/infer-type.d.ts\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\ntype InferType<T> = T extends ((value: Record<string, string | undefined>) => infer R) ? R extends type$1.errors ? never : R : T extends type$1.Any<infer U, infer _Scope> ? U : never;\n//#endregion\n//#region ../internal/types/dist/schema.d.ts\ndeclare const SchemaShape: arktype_internal_variants_object_ts0.ObjectType<{\n [x: string]: unknown;\n}, {}>;\ntype SchemaShape = typeof SchemaShape.infer;\ntype EnvSchemaWithType = Type<SchemaShape, $>;\n//#endregion\n//#region src/create-env.d.ts\ntype EnvSchema<def$1> = type$1.validate<def$1, $>;\ntype RuntimeEnvironment = Record<string, string | undefined>;\n/**\n * Configuration options for `createEnv`\n */\ntype ArkEnvConfig = {\n /**\n * The environment variables to validate. Defaults to `process.env`\n */\n env?: RuntimeEnvironment;\n /**\n * Whether to coerce environment variables to their defined types. Defaults to `true`\n */\n coerce?: boolean;\n};\n/**\n * TODO: `SchemaShape` is basically `Record<string, unknown>`.\n * If possible, find a better type than \"const T extends Record<string, unknown>\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n/**\n * Create an environment variables object from a schema and an environment\n * @param def - The environment variable schema (raw object or type definition created with `type()`)\n * @param config - Configuration options, see {@link ArkEnvConfig}\n * @returns The validated environment variable schema\n * @throws An {@link ArkEnvError | error} if the environment variables are invalid.\n */\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T>, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>>;\ndeclare function createEnv<T extends EnvSchemaWithType>(def: T, config?: ArkEnvConfig): InferType<T>;\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T> | EnvSchemaWithType, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>> | InferType<typeof def>;\n//#endregion\n//#region src/type.d.ts\ndeclare const type: arktype_internal_type_ts0.TypeParser<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\n//#endregion\n//#region src/errors.d.ts\ndeclare class ArkEnvError extends Error {\n constructor(errors: ArkErrors, message?: string);\n}\n//#endregion\n//#region src/index.d.ts\n/**\n * `arkenv`'s main export, an alias for {@link createEnv}\n *\n * {@link https://arkenv.js.org | ArkEnv} is a typesafe environment variables parser powered by {@link https://arktype.io | ArkType}, TypeScript's 1:1 validator.\n */\ndeclare const arkenv: typeof createEnv;\n//#endregion\nexport { ArkEnvError, type EnvSchema, createEnv, arkenv as default, type };\n//# sourceMappingURL=index.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":["FilterByPrefix","T","Prefix","Record","K","type","InferType","T","Record","errors","Any","arktype0","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","$","Type","SchemaShape","arktype_internal_variants_object_ts0","ObjectType","infer","EnvSchemaWithType","arktype0","ArkErrors","Type","distill","type","type$1","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","arktype_internal_variants_object_ts0","arktype_internal_type_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","InferType","T","Record","errors","Any","SchemaShape","ObjectType","infer","EnvSchemaWithType","EnvSchema","def$1","validate","RuntimeEnvironment","ArkEnvConfig","createEnv","Out","def","TypeParser","ArkEnvError","Error","arkenv","default"],"sources":["../../internal/types/dist/filter-by-prefix.d.ts","../../internal/types/dist/infer-type.d.ts","../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts","../../arkenv/dist/index.d.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Filter environment variables to only include those that start with the given prefix.\n * This ensures only client-exposed variables (e.g., VITE_*, BUN_PUBLIC_*) are included.\n *\n * @template T - The record of environment variables\n * @template Prefix - The prefix to filter by\n */\nexport type FilterByPrefix<T extends Record<string, unknown>, Prefix extends string> = {\n [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K];\n};\n//# sourceMappingURL=filter-by-prefix.d.ts.map","import type { type } from \"arktype\";\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\nexport type InferType<T> = T extends (value: Record<string, string | undefined>) => infer R ? R extends type.errors ? never : R : T extends type.Any<infer U, infer _Scope> ? U : never;\n//# sourceMappingURL=infer-type.d.ts.map","import * as arktype0 from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\nexport { $ };\n//# sourceMappingURL=index.d.ts.map","import type { $ } from \"@repo/scope\";\nimport { type Type } from \"arktype\";\nexport declare const SchemaShape: import(\"arktype/internal/variants/object.ts\").ObjectType<{\n [x: string]: unknown;\n}, {}>;\nexport type SchemaShape = typeof SchemaShape.infer;\nexport type EnvSchemaWithType = Type<SchemaShape, $>;\n//# sourceMappingURL=schema.d.ts.map","import * as arktype0 from \"arktype\";\nimport { ArkErrors, Type, distill, type as type$1 } from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\nimport * as arktype_internal_variants_object_ts0 from \"arktype/internal/variants/object.ts\";\nimport * as arktype_internal_type_ts0 from \"arktype/internal/type.ts\";\n\n//#region ../internal/scope/dist/index.d.ts\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\n//#endregion\n//#region ../internal/types/dist/infer-type.d.ts\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\ntype InferType<T> = T extends ((value: Record<string, string | undefined>) => infer R) ? R extends type$1.errors ? never : R : T extends type$1.Any<infer U, infer _Scope> ? U : never;\n//#endregion\n//#region ../internal/types/dist/schema.d.ts\ndeclare const SchemaShape: arktype_internal_variants_object_ts0.ObjectType<{\n [x: string]: unknown;\n}, {}>;\ntype SchemaShape = typeof SchemaShape.infer;\ntype EnvSchemaWithType = Type<SchemaShape, $>;\n//#endregion\n//#region src/create-env.d.ts\ntype EnvSchema<def$1> = type$1.validate<def$1, $>;\ntype RuntimeEnvironment = Record<string, string | undefined>;\n/**\n * Configuration options for `createEnv`\n */\ntype ArkEnvConfig = {\n /**\n * The environment variables to validate. Defaults to `process.env`\n */\n env?: RuntimeEnvironment;\n /**\n * Whether to coerce environment variables to their defined types. Defaults to `true`\n */\n coerce?: boolean;\n /**\n * Control how ArkEnv handles environment variables that are not defined in your schema.\n *\n * Defaults to `'delete'` to ensure your output object only contains\n * keys you've explicitly declared. This differs from ArkType's standard behavior, which\n * mirrors TypeScript by defaulting to `'ignore'`.\n *\n * - `delete` (ArkEnv default): Undeclared keys are allowed on input but stripped from the output.\n * - `ignore` (ArkType default): Undeclared keys are allowed and preserved in the output.\n * - `reject`: Undeclared keys will cause validation to fail.\n *\n * @default \"delete\"\n * @see https://arktype.io/docs/configuration#onundeclaredkey\n */\n onUndeclaredKey?: \"ignore\" | \"delete\" | \"reject\";\n};\n/**\n * TODO: `SchemaShape` is basically `Record<string, unknown>`.\n * If possible, find a better type than \"const T extends Record<string, unknown>\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n/**\n * Create an environment variables object from a schema and an environment\n * @param def - The environment variable schema (raw object or type definition created with `type()`)\n * @param config - Configuration options, see {@link ArkEnvConfig}\n * @returns The validated environment variable schema\n * @throws An {@link ArkEnvError | error} if the environment variables are invalid.\n */\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T>, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>>;\ndeclare function createEnv<T extends EnvSchemaWithType>(def: T, config?: ArkEnvConfig): InferType<T>;\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T> | EnvSchemaWithType, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>> | InferType<typeof def>;\n//#endregion\n//#region src/type.d.ts\ndeclare const type: arktype_internal_type_ts0.TypeParser<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\n//#endregion\n//#region src/errors.d.ts\ndeclare class ArkEnvError extends Error {\n constructor(errors: ArkErrors, message?: string);\n}\n//#endregion\n//#region src/index.d.ts\n/**\n * `arkenv`'s main export, an alias for {@link createEnv}\n *\n * {@link https://arkenv.js.org | ArkEnv} is a typesafe environment variables validator from editor to runtime.\n */\ndeclare const arkenv: typeof createEnv;\n//#endregion\nexport { ArkEnvError, type EnvSchema, createEnv, arkenv as default, type };\n//# sourceMappingURL=index.d.ts.map"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["FilterByPrefix","T","Prefix","Record","K","type","InferType","T","Record","errors","Any","arktype0","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","$","Type","SchemaShape","arktype_internal_variants_object_ts0","ObjectType","infer","EnvSchemaWithType","arktype0","ArkErrors","Type","distill","type","type$1","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","arktype_internal_variants_object_ts0","arktype_internal_type_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","InferType","T","Record","errors","Any","SchemaShape","ObjectType","infer","EnvSchemaWithType","EnvSchema","def$1","validate","RuntimeEnvironment","ArkEnvConfig","createEnv","Out","def","TypeParser","ArkEnvError","Error","arkenv","default"],"sources":["../../internal/types/dist/filter-by-prefix.d.ts","../../internal/types/dist/infer-type.d.ts","../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts","../../arkenv/dist/index.d.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Filter environment variables to only include those that start with the given prefix.\n * This ensures only client-exposed variables (e.g., VITE_*, BUN_PUBLIC_*) are included.\n *\n * @template T - The record of environment variables\n * @template Prefix - The prefix to filter by\n */\nexport type FilterByPrefix<T extends Record<string, unknown>, Prefix extends string> = {\n [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K];\n};\n//# sourceMappingURL=filter-by-prefix.d.ts.map","import type { type } from \"arktype\";\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\nexport type InferType<T> = T extends (value: Record<string, string | undefined>) => infer R ? R extends type.errors ? never : R : T extends type.Any<infer U, infer _Scope> ? U : never;\n//# sourceMappingURL=infer-type.d.ts.map","import * as arktype0 from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\nexport { $ };\n//# sourceMappingURL=index.d.ts.map","import type { $ } from \"@repo/scope\";\nimport { type Type } from \"arktype\";\nexport declare const SchemaShape: import(\"arktype/internal/variants/object.ts\").ObjectType<{\n [x: string]: unknown;\n}, {}>;\nexport type SchemaShape = typeof SchemaShape.infer;\nexport type EnvSchemaWithType = Type<SchemaShape, $>;\n//# sourceMappingURL=schema.d.ts.map","import * as arktype0 from \"arktype\";\nimport { ArkErrors, Type, distill, type as type$1 } from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\nimport * as arktype_internal_variants_object_ts0 from \"arktype/internal/variants/object.ts\";\nimport * as arktype_internal_type_ts0 from \"arktype/internal/type.ts\";\n\n//#region ../internal/scope/dist/index.d.ts\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\n//#endregion\n//#region ../internal/types/dist/infer-type.d.ts\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\ntype InferType<T> = T extends ((value: Record<string, string | undefined>) => infer R) ? R extends type$1.errors ? never : R : T extends type$1.Any<infer U, infer _Scope> ? U : never;\n//#endregion\n//#region ../internal/types/dist/schema.d.ts\ndeclare const SchemaShape: arktype_internal_variants_object_ts0.ObjectType<{\n [x: string]: unknown;\n}, {}>;\ntype SchemaShape = typeof SchemaShape.infer;\ntype EnvSchemaWithType = Type<SchemaShape, $>;\n//#endregion\n//#region src/create-env.d.ts\ntype EnvSchema<def$1> = type$1.validate<def$1, $>;\ntype RuntimeEnvironment = Record<string, string | undefined>;\n/**\n * Configuration options for `createEnv`\n */\ntype ArkEnvConfig = {\n /**\n * The environment variables to validate. Defaults to `process.env`\n */\n env?: RuntimeEnvironment;\n /**\n * Whether to coerce environment variables to their defined types. Defaults to `true`\n */\n coerce?: boolean;\n};\n/**\n * TODO: `SchemaShape` is basically `Record<string, unknown>`.\n * If possible, find a better type than \"const T extends Record<string, unknown>\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n/**\n * Create an environment variables object from a schema and an environment\n * @param def - The environment variable schema (raw object or type definition created with `type()`)\n * @param config - Configuration options, see {@link ArkEnvConfig}\n * @returns The validated environment variable schema\n * @throws An {@link ArkEnvError | error} if the environment variables are invalid.\n */\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T>, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>>;\ndeclare function createEnv<T extends EnvSchemaWithType>(def: T, config?: ArkEnvConfig): InferType<T>;\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T> | EnvSchemaWithType, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>> | InferType<typeof def>;\n//#endregion\n//#region src/type.d.ts\ndeclare const type: arktype_internal_type_ts0.TypeParser<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\n//#endregion\n//#region src/errors.d.ts\ndeclare class ArkEnvError extends Error {\n constructor(errors: ArkErrors, message?: string);\n}\n//#endregion\n//#region src/index.d.ts\n/**\n * `arkenv`'s main export, an alias for {@link createEnv}\n *\n * {@link https://arkenv.js.org | ArkEnv} is a typesafe environment variables parser powered by {@link https://arktype.io | ArkType}, TypeScript's 1:1 validator.\n */\ndeclare const arkenv: typeof createEnv;\n//#endregion\nexport { ArkEnvError, type EnvSchema, createEnv, arkenv as default, type };\n//# sourceMappingURL=index.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["FilterByPrefix","T","Prefix","Record","K","type","InferType","T","Record","errors","Any","arktype0","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","$","Type","SchemaShape","arktype_internal_variants_object_ts0","ObjectType","infer","EnvSchemaWithType","arktype0","ArkErrors","Type","distill","type","type$1","arktype_internal_keywords_string_ts0","arktype_internal_attributes_ts0","arktype_internal_variants_object_ts0","arktype_internal_type_ts0","$","trim","To","Submodule","normalize","capitalize","stringDate","stringInteger","ip","stringJson","lower","stringNumeric","url","uuid","Scope","InferType","T","Record","errors","Any","SchemaShape","ObjectType","infer","EnvSchemaWithType","EnvSchema","def$1","validate","RuntimeEnvironment","ArkEnvConfig","createEnv","Out","def","TypeParser","ArkEnvError","Error","arkenv","default"],"sources":["../../internal/types/dist/filter-by-prefix.d.ts","../../internal/types/dist/infer-type.d.ts","../../internal/scope/dist/index.d.ts","../../internal/types/dist/schema.d.ts","../../arkenv/dist/index.d.ts","../src/types.ts","../src/index.ts"],"sourcesContent":["/**\n * Filter environment variables to only include those that start with the given prefix.\n * This ensures only client-exposed variables (e.g., VITE_*, BUN_PUBLIC_*) are included.\n *\n * @template T - The record of environment variables\n * @template Prefix - The prefix to filter by\n */\nexport type FilterByPrefix<T extends Record<string, unknown>, Prefix extends string> = {\n [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K];\n};\n//# sourceMappingURL=filter-by-prefix.d.ts.map","import type { type } from \"arktype\";\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\nexport type InferType<T> = T extends (value: Record<string, string | undefined>) => infer R ? R extends type.errors ? never : R : T extends type.Any<infer U, infer _Scope> ? U : never;\n//# sourceMappingURL=infer-type.d.ts.map","import * as arktype0 from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\nexport { $ };\n//# sourceMappingURL=index.d.ts.map","import type { $ } from \"@repo/scope\";\nimport { type Type } from \"arktype\";\nexport declare const SchemaShape: import(\"arktype/internal/variants/object.ts\").ObjectType<{\n [x: string]: unknown;\n}, {}>;\nexport type SchemaShape = typeof SchemaShape.infer;\nexport type EnvSchemaWithType = Type<SchemaShape, $>;\n//# sourceMappingURL=schema.d.ts.map","import * as arktype0 from \"arktype\";\nimport { ArkErrors, Type, distill, type as type$1 } from \"arktype\";\nimport * as arktype_internal_keywords_string_ts0 from \"arktype/internal/keywords/string.ts\";\nimport * as arktype_internal_attributes_ts0 from \"arktype/internal/attributes.ts\";\nimport * as arktype_internal_variants_object_ts0 from \"arktype/internal/variants/object.ts\";\nimport * as arktype_internal_type_ts0 from \"arktype/internal/type.ts\";\n\n//#region ../internal/scope/dist/index.d.ts\n\n//#region src/index.d.ts\n/**\n * The root scope for the ArkEnv library,\n * containing extensions to the ArkType scopes with ArkEnv-specific types\n * like `string.host` and `number.port`.\n */\ndeclare const $: arktype0.Scope<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\ntype $ = (typeof $)[\"t\"];\n//#endregion\n//#endregion\n//#region ../internal/types/dist/infer-type.d.ts\n/**\n * Extract the inferred type from an ArkType type definition by checking its call signature.\n * When a type definition is called, it returns either the validated value or type.errors.\n *\n * @template T - The ArkType type definition to infer from\n */\ntype InferType<T> = T extends ((value: Record<string, string | undefined>) => infer R) ? R extends type$1.errors ? never : R : T extends type$1.Any<infer U, infer _Scope> ? U : never;\n//#endregion\n//#region ../internal/types/dist/schema.d.ts\ndeclare const SchemaShape: arktype_internal_variants_object_ts0.ObjectType<{\n [x: string]: unknown;\n}, {}>;\ntype SchemaShape = typeof SchemaShape.infer;\ntype EnvSchemaWithType = Type<SchemaShape, $>;\n//#endregion\n//#region src/create-env.d.ts\ntype EnvSchema<def$1> = type$1.validate<def$1, $>;\ntype RuntimeEnvironment = Record<string, string | undefined>;\n/**\n * Configuration options for `createEnv`\n */\ntype ArkEnvConfig = {\n /**\n * The environment variables to validate. Defaults to `process.env`\n */\n env?: RuntimeEnvironment;\n /**\n * Whether to coerce environment variables to their defined types. Defaults to `true`\n */\n coerce?: boolean;\n /**\n * Control how ArkEnv handles environment variables that are not defined in your schema.\n *\n * Defaults to `'delete'` to ensure your output object only contains\n * keys you've explicitly declared. This differs from ArkType's standard behavior, which\n * mirrors TypeScript by defaulting to `'ignore'`.\n *\n * - `delete` (ArkEnv default): Undeclared keys are allowed on input but stripped from the output.\n * - `ignore` (ArkType default): Undeclared keys are allowed and preserved in the output.\n * - `reject`: Undeclared keys will cause validation to fail.\n *\n * @default \"delete\"\n * @see https://arktype.io/docs/configuration#onundeclaredkey\n */\n onUndeclaredKey?: \"ignore\" | \"delete\" | \"reject\";\n};\n/**\n * TODO: `SchemaShape` is basically `Record<string, unknown>`.\n * If possible, find a better type than \"const T extends Record<string, unknown>\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n/**\n * Create an environment variables object from a schema and an environment\n * @param def - The environment variable schema (raw object or type definition created with `type()`)\n * @param config - Configuration options, see {@link ArkEnvConfig}\n * @returns The validated environment variable schema\n * @throws An {@link ArkEnvError | error} if the environment variables are invalid.\n */\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T>, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>>;\ndeclare function createEnv<T extends EnvSchemaWithType>(def: T, config?: ArkEnvConfig): InferType<T>;\ndeclare function createEnv<const T extends SchemaShape>(def: EnvSchema<T> | EnvSchemaWithType, config?: ArkEnvConfig): distill.Out<type$1.infer<T, $>> | InferType<typeof def>;\n//#endregion\n//#region src/type.d.ts\ndeclare const type: arktype_internal_type_ts0.TypeParser<{\n string: arktype0.Submodule<{\n trim: arktype0.Submodule<arktype_internal_keywords_string_ts0.trim.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n normalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.normalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n root: string;\n alpha: string;\n alphanumeric: string;\n hex: string;\n base64: arktype0.Submodule<{\n root: string;\n url: string;\n } & {\n \" arkInferred\": string;\n }>;\n capitalize: arktype0.Submodule<arktype_internal_keywords_string_ts0.capitalize.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n creditCard: string;\n date: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringDate.$ & {\n \" arkInferred\": string;\n }>;\n digits: string;\n email: string;\n integer: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringInteger.$ & {\n \" arkInferred\": string;\n }>;\n ip: arktype0.Submodule<arktype_internal_keywords_string_ts0.ip.$ & {\n \" arkInferred\": string;\n }>;\n json: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringJson.$ & {\n \" arkInferred\": string;\n }>;\n lower: arktype0.Submodule<arktype_internal_keywords_string_ts0.lower.$ & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n numeric: arktype0.Submodule<arktype_internal_keywords_string_ts0.stringNumeric.$ & {\n \" arkInferred\": string;\n }>;\n regex: string;\n semver: string;\n upper: arktype0.Submodule<{\n root: (In: string) => arktype_internal_attributes_ts0.To<string>;\n preformatted: string;\n } & {\n \" arkInferred\": (In: string) => arktype_internal_attributes_ts0.To<string>;\n }>;\n url: arktype0.Submodule<arktype_internal_keywords_string_ts0.url.$ & {\n \" arkInferred\": string;\n }>;\n uuid: arktype0.Submodule<arktype_internal_keywords_string_ts0.uuid.$ & {\n \" arkInferred\": string;\n }>;\n \" arkInferred\": string;\n host: string;\n }>;\n number: arktype0.Submodule<{\n NaN: number;\n Infinity: number;\n root: number;\n integer: number;\n \" arkInferred\": number;\n epoch: number;\n safe: number;\n NegativeInfinity: number;\n port: number;\n }>;\n}>;\n//#endregion\n//#region src/errors.d.ts\ndeclare class ArkEnvError extends Error {\n constructor(errors: ArkErrors, message?: string);\n}\n//#endregion\n//#region src/index.d.ts\n/**\n * `arkenv`'s main export, an alias for {@link createEnv}\n *\n * {@link https://arkenv.js.org | ArkEnv} is a typesafe environment variables validator from editor to runtime.\n */\ndeclare const arkenv: typeof createEnv;\n//#endregion\nexport { ArkEnvError, type EnvSchema, createEnv, arkenv as default, type };\n//# sourceMappingURL=index.d.ts.map"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createEnv as e}from"arkenv";import{loadEnv as t}from"vite";function n(n){return{name:`@arkenv/vite-plugin`,config(r,{mode:i}){let a=r.envPrefix??`VITE_`,o=Array.isArray(a)?a:[a],s=e(n,{env:t(i,process.cwd(),``)}),c=Object.fromEntries(Object.entries(s).filter(([e])=>o.some(t=>e.startsWith(t))));return{define:Object.fromEntries(Object.entries(c).map(([e,t])=>[`import.meta.env.${e}`,JSON.stringify(t)]))}}}}export{n as default};
1
+ import{createEnv as e}from"arkenv";import{loadEnv as t}from"vite";function n(n){return{name:`@arkenv/vite-plugin`,config(r,{mode:i}){let a=r.envPrefix??`VITE_`,o=Array.isArray(a)?a:[a],s=e(n,{env:t(i,r.envDir??r.root??process.cwd(),``)}),c=Object.fromEntries(Object.entries(s).filter(([e])=>o.some(t=>e.startsWith(t))));return{define:Object.fromEntries(Object.entries(c).map(([e,t])=>[`import.meta.env.${e}`,JSON.stringify(t)]))}}}}export{n as default};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { EnvSchemaWithType, SchemaShape } from \"@repo/types\";\nimport { createEnv, type EnvSchema } from \"arkenv\";\nimport { loadEnv, type Plugin } from \"vite\";\n\nexport type { ImportMetaEnvAugmented } from \"./types\";\n\n/**\n * TODO: If possible, find a better type than \"const T extends SchemaShape\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n\n/**\n * Vite plugin to validate environment variables using ArkEnv and expose them to client code.\n *\n * The plugin validates environment variables using ArkEnv's schema validation and\n * automatically filters them based on Vite's `envPrefix` configuration (defaults to `\"VITE_\"`).\n * Only environment variables matching the prefix are exposed to client code via `import.meta.env.*`.\n *\n * @param options - The environment variable schema definition. Can be an `EnvSchema` object\n * for typesafe validation or an ArkType `EnvSchemaWithType` for dynamic schemas.\n * @returns A Vite plugin that validates environment variables and exposes them to the client.\n *\n * @example\n * ```ts\n * // vite.config.ts\n * import { defineConfig } from 'vite';\n * import arkenv from '@arkenv/vite-plugin';\n *\n * export default defineConfig({\n * plugins: [\n * arkenv({\n * VITE_API_URL: 'string',\n * VITE_API_KEY: 'string',\n * }),\n * ],\n * });\n * ```\n *\n * @example\n * ```ts\n * // In your client code\n * console.log(import.meta.env.VITE_API_URL); // Typesafe access\n * ```\n */\nexport default function arkenv(options: EnvSchemaWithType): Plugin;\nexport default function arkenv<const T extends SchemaShape>(\n\toptions: EnvSchema<T>,\n): Plugin;\nexport default function arkenv<const T extends SchemaShape>(\n\toptions: EnvSchema<T> | EnvSchemaWithType,\n): Plugin {\n\treturn {\n\t\tname: \"@arkenv/vite-plugin\",\n\t\tconfig(config, { mode }) {\n\t\t\t// Get the Vite prefix for client-exposed environment variables\n\t\t\t// Defaults to \"VITE_\" if not specified\n\t\t\t// Vite allows envPrefix to be a string or array of strings\n\t\t\tconst envPrefix = config.envPrefix ?? \"VITE_\";\n\t\t\tconst prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];\n\n\t\t\t// TODO: We're using type assertions and explicitly pass in the type arguments here to avoid\n\t\t\t// \"Type instantiation is excessively deep and possibly infinite\" errors.\n\t\t\t// Ideally, we should find a way to avoid these assertions while maintaining type safety.\n\t\t\tconst env = createEnv<T>(options, {\n\t\t\t\tenv: loadEnv(mode, process.cwd(), \"\"),\n\t\t\t});\n\n\t\t\t// Filter to only include environment variables matching the prefix\n\t\t\t// This prevents server-only variables from being exposed to client code\n\t\t\tconst filteredEnv = Object.fromEntries(\n\t\t\t\tObject.entries(<SchemaShape>env).filter(([key]) =>\n\t\t\t\t\tprefixes.some((prefix) => key.startsWith(prefix)),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\t// Expose transformed environment variables through Vite's define option\n\t\t\t// Only prefixed variables are exposed to client code\n\t\t\tconst define = Object.fromEntries(\n\t\t\t\tObject.entries(filteredEnv).map(([key, value]) => [\n\t\t\t\t\t`import.meta.env.${key}`,\n\t\t\t\t\tJSON.stringify(value),\n\t\t\t\t]),\n\t\t\t);\n\n\t\t\treturn { define };\n\t\t},\n\t};\n}\n"],"mappings":"kEAgDA,SAAwB,EACvB,EACS,CACT,MAAO,CACN,KAAM,sBACN,OAAO,EAAQ,CAAE,QAAQ,CAIxB,IAAM,EAAY,EAAO,WAAa,QAChC,EAAW,MAAM,QAAQ,EAAU,CAAG,EAAY,CAAC,EAAU,CAK7D,EAAM,EAAa,EAAS,CACjC,IAAK,EAAQ,EAAM,QAAQ,KAAK,CAAE,GAAG,CACrC,CAAC,CAII,EAAc,OAAO,YAC1B,OAAO,QAAqB,EAAI,CAAC,QAAQ,CAAC,KACzC,EAAS,KAAM,GAAW,EAAI,WAAW,EAAO,CAAC,CACjD,CACD,CAWD,MAAO,CAAE,OAPM,OAAO,YACrB,OAAO,QAAQ,EAAY,CAAC,KAAK,CAAC,EAAK,KAAW,CACjD,mBAAmB,IACnB,KAAK,UAAU,EAAM,CACrB,CAAC,CACF,CAEgB,EAElB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { EnvSchemaWithType, SchemaShape } from \"@repo/types\";\nimport { createEnv, type EnvSchema } from \"arkenv\";\nimport { loadEnv, type Plugin } from \"vite\";\n\nexport type { ImportMetaEnvAugmented } from \"./types\";\n\n/**\n * TODO: If possible, find a better type than \"const T extends SchemaShape\",\n * and be as close as possible to the type accepted by ArkType's `type`.\n */\n\n/**\n * Vite plugin to validate environment variables using ArkEnv and expose them to client code.\n *\n * The plugin validates environment variables using ArkEnv's schema validation and\n * automatically filters them based on Vite's `envPrefix` configuration (defaults to `\"VITE_\"`).\n * Only environment variables matching the prefix are exposed to client code via `import.meta.env.*`.\n *\n * @param options - The environment variable schema definition. Can be an `EnvSchema` object\n * for typesafe validation or an ArkType `EnvSchemaWithType` for dynamic schemas.\n * @returns A Vite plugin that validates environment variables and exposes them to the client.\n *\n * @example\n * ```ts\n * // vite.config.ts\n * import { defineConfig } from 'vite';\n * import arkenv from '@arkenv/vite-plugin';\n *\n * export default defineConfig({\n * plugins: [\n * arkenv({\n * VITE_API_URL: 'string',\n * VITE_API_KEY: 'string',\n * }),\n * ],\n * });\n * ```\n *\n * @example\n * ```ts\n * // In your client code\n * console.log(import.meta.env.VITE_API_URL); // Typesafe access\n * ```\n */\nexport default function arkenv(options: EnvSchemaWithType): Plugin;\nexport default function arkenv<const T extends SchemaShape>(\n\toptions: EnvSchema<T>,\n): Plugin;\nexport default function arkenv<const T extends SchemaShape>(\n\toptions: EnvSchema<T> | EnvSchemaWithType,\n): Plugin {\n\treturn {\n\t\tname: \"@arkenv/vite-plugin\",\n\t\tconfig(config, { mode }) {\n\t\t\t// Get the Vite prefix for client-exposed environment variables\n\t\t\t// Defaults to \"VITE_\" if not specified\n\t\t\t// Vite allows envPrefix to be a string or array of strings\n\t\t\tconst envPrefix = config.envPrefix ?? \"VITE_\";\n\t\t\tconst prefixes = Array.isArray(envPrefix) ? envPrefix : [envPrefix];\n\n\t\t\t// Load environment based on the custom config\n\t\t\tconst envDir = config.envDir ?? config.root ?? process.cwd();\n\t\t\t// TODO: We're using type assertions and explicitly pass in the type arguments here to avoid\n\t\t\t// \"Type instantiation is excessively deep and possibly infinite\" errors.\n\t\t\t// Ideally, we should find a way to avoid these assertions while maintaining type safety.\n\t\t\tconst env = createEnv<T>(options, {\n\t\t\t\tenv: loadEnv(mode, envDir, \"\"),\n\t\t\t});\n\n\t\t\t// Filter to only include environment variables matching the prefix\n\t\t\t// This prevents server-only variables from being exposed to client code\n\t\t\tconst filteredEnv = Object.fromEntries(\n\t\t\t\tObject.entries(<SchemaShape>env).filter(([key]) =>\n\t\t\t\t\tprefixes.some((prefix) => key.startsWith(prefix)),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\t// Expose transformed environment variables through Vite's define option\n\t\t\t// Only prefixed variables are exposed to client code\n\t\t\tconst define = Object.fromEntries(\n\t\t\t\tObject.entries(filteredEnv).map(([key, value]) => [\n\t\t\t\t\t`import.meta.env.${key}`,\n\t\t\t\t\tJSON.stringify(value),\n\t\t\t\t]),\n\t\t\t);\n\n\t\t\treturn { define };\n\t\t},\n\t};\n}\n"],"mappings":"kEAgDA,SAAwB,EACvB,EACS,CACT,MAAO,CACN,KAAM,sBACN,OAAO,EAAQ,CAAE,QAAQ,CAIxB,IAAM,EAAY,EAAO,WAAa,QAChC,EAAW,MAAM,QAAQ,EAAU,CAAG,EAAY,CAAC,EAAU,CAO7D,EAAM,EAAa,EAAS,CACjC,IAAK,EAAQ,EALC,EAAO,QAAU,EAAO,MAAQ,QAAQ,KAAK,CAKhC,GAAG,CAC9B,CAAC,CAII,EAAc,OAAO,YAC1B,OAAO,QAAqB,EAAI,CAAC,QAAQ,CAAC,KACzC,EAAS,KAAM,GAAW,EAAI,WAAW,EAAO,CAAC,CACjD,CACD,CAWD,MAAO,CAAE,OAPM,OAAO,YACrB,OAAO,QAAQ,EAAY,CAAC,KAAK,CAAC,EAAK,KAAW,CACjD,mBAAmB,IACnB,KAAK,UAAU,EAAM,CACrB,CAAC,CACF,CAEgB,EAElB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkenv/vite-plugin",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "author": "Yam Borodetsky <yam@yam.codes>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,19 +9,19 @@
9
9
  "main": "./dist/index.cjs",
10
10
  "module": "./dist/index.js",
11
11
  "dependencies": {
12
- "arkenv": "0.8.0"
12
+ "arkenv": "0.8.1"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@size-limit/preset-small-lib": "12.0.0",
16
16
  "arktype": "2.1.29",
17
17
  "rimraf": "6.1.2",
18
18
  "size-limit": "12.0.0",
19
- "tsdown": "0.17.2",
19
+ "tsdown": "0.18.3",
20
20
  "typescript": "5.9.3",
21
- "vite": "7.2.7",
21
+ "vite": "7.3.0",
22
22
  "vite-tsconfig-paths": "5.1.4",
23
23
  "vitest": "4.0.16",
24
- "@repo/types": "1.0.0"
24
+ "@repo/types": "0.0.4"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "arktype": "^2.1.22",