@pitininja/envious-typebox 6.0.0-beta8 → 6.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.
- package/README.md +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +7 -6
- package/dist/core/src/error.d.ts +0 -28
- package/dist/core/src/error.js +0 -36
- package/dist/core/src/error.js.map +0 -1
- package/dist/core/src/index.d.ts +0 -9
- package/dist/core/src/index.js +0 -31
- package/dist/core/src/index.js.map +0 -1
- package/dist/resolvers/typebox/src/index.js.map +0 -1
- /package/dist/{resolvers/typebox/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{resolvers/typebox/src/index.js → index.js} +0 -0
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@ npm i @pitininja/envious-typebox
|
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
|
+
See the [official Typebox documentation](https://sinclairzx81.github.io/typebox/) for how to write the schema.
|
|
20
|
+
|
|
19
21
|
```typescript
|
|
20
22
|
import { envious } from '@pitininja/envious';
|
|
21
23
|
import { typeboxResolver } from '@pitininja/envious-typebox';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkD;AAGlD,4DAAoC;AACpC,uDAAmD;AAenD,MAAM,iBAAiB,GAAG,CAAC,OAA8B,EAAE,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,gBAAM,CAAC,GAAG,CACN,IAAI,EACJ,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC;IACN,CAAC;AAAA,CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,GAAY,EAAyB;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAY,CAAC;YACnB,OAAO,EAAE,uCAAuC;SACnD,CAAC,CAAC;IACP,CAAC;AAAA,CACJ;AAED,MAAM,qBAAqB,GAAG,CAAC,YAAuC,EAAE,EAAE,CAAC;IACvE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAC/C,OAAO;QACH,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO;KACV,CAAC;AAAA,CACL,CAAC;AAEK,MAAM,eAAe,GAAG,CAAoB,EAC/C,MAAM,EACN,OAAO,EACwB,EAA6B,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,SAAS,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,yHAAyH;YACzH,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,MAAM;oBACtB,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,eAAK,CAAC,MAAM,CACf;gBACI,GAAG,MAAM;gBACT,oBAAoB,EAAE,KAAK;aAC9B,EACD,SAAS,CACZ,CAAC;QACN,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,GAAG,YAAY,mBAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;oBAChC,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IAAA,CACJ,CAAC;AAAA,CACL,CAAC;AAzCW,QAAA,eAAe,GAAf,eAAe,CAyC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pitininja/envious-typebox",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"license": "AGPL-3.0-or-later",
|
|
5
5
|
"homepage": "https://codeberg.org/pitininja/envious",
|
|
6
6
|
"repository": {
|
|
@@ -12,15 +12,16 @@
|
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"./dist",
|
|
15
|
-
"./package.json"
|
|
15
|
+
"./package.json",
|
|
16
|
+
"./README.md"
|
|
16
17
|
],
|
|
17
|
-
"main": "./dist/
|
|
18
|
-
"types": "./dist/
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
19
20
|
"scripts": {
|
|
20
|
-
"build": "npx tsgo --build --clean tsconfig.json && npx tsgo -b ./tsconfig.json"
|
|
21
|
+
"build": "npx tsgo --build --clean ./tsconfig.build.json && npx tsgo -b ./tsconfig.build.json"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
|
-
"@pitininja/envious": "^6.0.0
|
|
24
|
+
"@pitininja/envious": "^6.0.0",
|
|
24
25
|
"typebox": "^1.0.0"
|
|
25
26
|
}
|
|
26
27
|
}
|
package/dist/core/src/error.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export type EnviousErrorVariable = {
|
|
2
|
-
name: string;
|
|
3
|
-
messages: string[];
|
|
4
|
-
};
|
|
5
|
-
type EnviousErrorOptions<T> = {
|
|
6
|
-
message?: string;
|
|
7
|
-
} & ({
|
|
8
|
-
variables?: never;
|
|
9
|
-
transform?: never;
|
|
10
|
-
resolverErrors?: never;
|
|
11
|
-
} | {
|
|
12
|
-
variables: EnviousErrorVariable[];
|
|
13
|
-
transform?: never;
|
|
14
|
-
resolverErrors?: never;
|
|
15
|
-
} | {
|
|
16
|
-
variables?: never;
|
|
17
|
-
transform: (resolverError: T) => {
|
|
18
|
-
name: string;
|
|
19
|
-
message: string;
|
|
20
|
-
};
|
|
21
|
-
resolverErrors: T[];
|
|
22
|
-
});
|
|
23
|
-
export declare class EnviousError<T> extends Error {
|
|
24
|
-
variables: EnviousErrorVariable[];
|
|
25
|
-
constructor({ message, variables, transform, resolverErrors }: EnviousErrorOptions<T>);
|
|
26
|
-
private resolverErrorsToErrorVariables;
|
|
27
|
-
}
|
|
28
|
-
export {};
|
package/dist/core/src/error.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnviousError = void 0;
|
|
4
|
-
class EnviousError extends Error {
|
|
5
|
-
variables;
|
|
6
|
-
constructor({ message = 'Invalid environment variables', variables, transform, resolverErrors }) {
|
|
7
|
-
super(message);
|
|
8
|
-
if (variables) {
|
|
9
|
-
this.variables = variables;
|
|
10
|
-
}
|
|
11
|
-
else if (transform && resolverErrors) {
|
|
12
|
-
this.variables = this.resolverErrorsToErrorVariables({
|
|
13
|
-
transform,
|
|
14
|
-
resolverErrors
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
this.variables = [];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
resolverErrorsToErrorVariables({ transform, resolverErrors }) {
|
|
22
|
-
const variables = [];
|
|
23
|
-
const validationErrorsMap = new Map();
|
|
24
|
-
for (const resolverError of resolverErrors) {
|
|
25
|
-
const { name, message } = transform(resolverError);
|
|
26
|
-
const errorMessages = validationErrorsMap.get(name);
|
|
27
|
-
validationErrorsMap.set(name, [...(errorMessages ?? []), message]);
|
|
28
|
-
}
|
|
29
|
-
for (const [name, messages] of validationErrorsMap.entries()) {
|
|
30
|
-
variables.push({ name, messages });
|
|
31
|
-
}
|
|
32
|
-
return variables;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.EnviousError = EnviousError;
|
|
36
|
-
//# sourceMappingURL=error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../core/src/error.ts"],"names":[],"mappings":";;;AAoCA,kBAA6B,SAAQ,KAAK;IACtC,SAAS,CAAyB;IAElC,YAAY,EACR,OAAO,GAAG,+BAA+B,EACzC,SAAS,EACT,SAAS,EACT,cAAc,EACO,EAAE;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC;gBACjD,SAAS;gBACT,cAAc;aACjB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;IAAA,CACJ;IAEO,8BAA8B,CAAI,EACtC,SAAS,EACT,cAAc,EACyB,EAAE;QACzC,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACxD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IAAA,CACpB;CACJ"}
|
package/dist/core/src/index.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { EnviousError } from './error';
|
|
2
|
-
export { EnviousError };
|
|
3
|
-
type EnviousResolver<T> = (env: NodeJS.ProcessEnv) => T;
|
|
4
|
-
export type EnviousOptions<T> = {
|
|
5
|
-
resolver: EnviousResolver<T>;
|
|
6
|
-
logErrors?: boolean;
|
|
7
|
-
logger?: (message: string) => void;
|
|
8
|
-
};
|
|
9
|
-
export declare const envious: <T>({ resolver, logErrors, logger }: EnviousOptions<T>) => T;
|
package/dist/core/src/index.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.envious = exports.EnviousError = void 0;
|
|
4
|
-
const error_1 = require("./error");
|
|
5
|
-
Object.defineProperty(exports, "EnviousError", { enumerable: true, get: function () { return error_1.EnviousError; } });
|
|
6
|
-
const logErrorVariables = (variables, logger) => {
|
|
7
|
-
// biome-ignore lint/suspicious/noConsole: console default is the default logger here
|
|
8
|
-
const log = logger ?? console.error;
|
|
9
|
-
log('[Envious] Environment validation failed !');
|
|
10
|
-
for (const { name, messages } of variables) {
|
|
11
|
-
log(` - ${name} : ${messages.join(', ')}`);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
const envious = ({ resolver, logErrors, logger }) => {
|
|
15
|
-
try {
|
|
16
|
-
return resolver(process.env);
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
if (err instanceof error_1.EnviousError) {
|
|
20
|
-
if (logErrors) {
|
|
21
|
-
logErrorVariables(err.variables, logger);
|
|
22
|
-
}
|
|
23
|
-
throw err;
|
|
24
|
-
}
|
|
25
|
-
throw new error_1.EnviousError({
|
|
26
|
-
message: `Unexpected error while parsing environment variables${err instanceof Error ? ` : ${err.message}` : ''}`
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
exports.envious = envious;
|
|
31
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../core/src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkE;6FAAzD,oBAAY;AAYrB,MAAM,iBAAiB,GAAG,CACtB,SAAiC,EACjC,MAAkC,EACpC,EAAE,CAAC;IACD,qFAAqF;IACrF,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IACpC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACjD,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;AAAA,CACJ,CAAC;AAEK,MAAM,OAAO,GAAG,CAAI,EACvB,QAAQ,EACR,SAAS,EACT,MAAM,EACU,EAAE,EAAE,CAAC;IACrB,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,IAAI,GAAG,YAAY,oBAAY,EAAE,CAAC;YAC9B,IAAI,SAAS,EAAE,CAAC;gBACZ,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;QACD,MAAM,IAAI,oBAAY,CAAC;YACnB,OAAO,EAAE,uDAAuD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACpH,CAAC,CAAC;IACP,CAAC;AAAA,CACJ,CAAC;AAlBW,QAAA,OAAO,GAAP,OAAO,CAkBlB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkD;AAGlD,4DAAoC;AACpC,uDAAmD;AAenD,MAAM,iBAAiB,GAAG,CAAC,OAA8B,EAAE,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,gBAAM,CAAC,GAAG,CACN,IAAI,EACJ,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC;IACN,CAAC;AAAA,CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,GAAY,EAAyB;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAY,CAAC;YACnB,OAAO,EAAE,uCAAuC;SACnD,CAAC,CAAC;IACP,CAAC;AAAA,CACJ;AAED,MAAM,qBAAqB,GAAG,CAAC,YAAuC,EAAE,EAAE,CAAC;IACvE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAC/C,OAAO;QACH,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,OAAO;KACV,CAAC;AAAA,CACL,CAAC;AAEK,MAAM,eAAe,GAAG,CAAoB,EAC/C,MAAM,EACN,OAAO,EACwB,EAA6B,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,SAAS,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,yHAAyH;YACzH,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,eAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,MAAM;oBACtB,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,eAAK,CAAC,MAAM,CACf;gBACI,GAAG,MAAM;gBACT,oBAAoB,EAAE,KAAK;aAC9B,EACD,SAAS,CACZ,CAAC;QACN,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,GAAG,YAAY,mBAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,sBAAY,CAAC;oBACnB,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;oBAChC,SAAS,EAAE,qBAAqB;iBACnC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IAAA,CACJ,CAAC;AAAA,CACL,CAAC;AAzCW,QAAA,eAAe,GAAf,eAAe,CAyC1B"}
|
|
File without changes
|
|
File without changes
|