Socket
Socket
Sign inDemoInstall

@t3-oss/env-core

Package Overview
Dependencies
Maintainers
2
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@t3-oss/env-core - npm Package Compare versions

Comparing version 0.1.0-alpha.0 to 0.1.0

LICENSE

22

dist/index.d.ts
import z, { ZodType, ZodObject } from 'zod';
type ErrorMessage<T extends string> = T;
type CreateEnvOptions<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>> = {
interface BaseOptions<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>> {
clientPrefix: TPrefix;
server: TServer;
client?: {
client: {
[TKey in keyof TClient]: TKey extends `${TPrefix}${string}` ? TClient[TKey] : ErrorMessage<`${TKey extends string ? TKey : never} is not prefixed with ${TPrefix}.`>;
};
strictProcessEnv?: Record<keyof TServer | keyof TClient, string | undefined>;
looseProcessEnv?: Record<string, string | undefined>;
isServer?: boolean;
skipValidation?: boolean;
};
declare function createEnv<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>>(opts: CreateEnvOptions<TPrefix, TServer, TClient>): z.infer<ZodObject<TServer>> & z.infer<ZodObject<TClient>>;
}
interface LooseOptions<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>> extends BaseOptions<TPrefix, TServer, TClient> {
runtimeEnvStrict?: never;
runtimeEnv: Record<string, string | undefined>;
}
interface StrictOptions<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>> extends BaseOptions<TPrefix, TServer, TClient> {
runtimeEnvStrict: Record<{
[TKey in keyof TClient]: TKey extends `${TPrefix}${string}` ? TKey : never;
}[keyof TClient] | keyof TServer, string | undefined>;
runtimeEnv?: never;
}
declare function createEnv<TPrefix extends string, TServer extends Record<string, ZodType>, TClient extends Record<string, ZodType>>(opts: LooseOptions<TPrefix, TServer, TClient> | StrictOptions<TPrefix, TServer, TClient>): z.infer<ZodObject<TServer>> & z.infer<ZodObject<TClient>>;
export { CreateEnvOptions, ErrorMessage, createEnv };
export { BaseOptions, ErrorMessage, LooseOptions, StrictOptions, createEnv };

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);function g(e){let c=typeof e.client=="object"?e.client:{},s=_zod2.default.object(c),d=_zod2.default.object(e.server),r=_nullishCoalesce(_nullishCoalesce(e.strictProcessEnv, () => (e.looseProcessEnv)), () => (process.env)),i=_nullishCoalesce(e.isServer, () => (typeof window>"u"));if(_nullishCoalesce(e.skipValidation, () => ((!!process.env.SKIP_ENV_VALIDATION&&process.env.SKIP_ENV_VALIDATION!=="false"&&process.env.SKIP_ENV_VALIDATION!=="0"))))return r;let a=d.merge(s),n=i?a.safeParse(r):s.safeParse(r);if(n.success===!1)throw console.error("\u274C Invalid environment variables:",n.error.flatten().fieldErrors),new Error("Invalid environment variables");return new Proxy(n.data,{get(v,t){if(typeof t=="string"){if(!i&&!t.startsWith(e.clientPrefix))throw new Error("\u274C Attempted to access a server-side environment variable on the client");return v[t]}}})}exports.createEnv = g;
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);function p(e){let d=typeof e.client=="object"?e.client:{},i=_zod2.default.object(d),T=_zod2.default.object(e.server),r=_nullishCoalesce(_nullishCoalesce(e.runtimeEnvStrict, () => (e.runtimeEnv)), () => (process.env)),s=_nullishCoalesce(e.isServer, () => (typeof window>"u"));if(_nullishCoalesce(e.skipValidation, () => ((!!process.env.SKIP_ENV_VALIDATION&&process.env.SKIP_ENV_VALIDATION!=="false"&&process.env.SKIP_ENV_VALIDATION!=="0"))))return r;let c=T.merge(i),n=s?c.safeParse(r):i.safeParse(r);if(n.success===!1)throw console.error("\u274C Invalid environment variables:",n.error.flatten().fieldErrors),new Error("Invalid environment variables");return new Proxy(n.data,{get(f,t){if(typeof t=="string"){if(!s&&!t.startsWith(e.clientPrefix))throw new Error("\u274C Attempted to access a server-side environment variable on the client");return f[t]}}})}exports.createEnv = p;
//# sourceMappingURL=index.js.map
{
"name": "@t3-oss/env-core",
"version": "0.1.0-alpha.0",
"version": "0.1.0",
"keywords": [

@@ -32,8 +32,2 @@ "create-t3-app",

],
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"lint": "eslint . --ext .ts",
"type-check": "tsc --noEmit"
},
"peerDependencies": {

@@ -47,3 +41,9 @@ "zod": "^3.0.0"

"zod": "^3.20.2"
},
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"lint": "eslint . --ext .ts",
"type-check": "tsc --noEmit"
}
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc