@avijs/core 0.5.1 → 0.5.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.
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -3
- package/dist/config.js.map +1 -1
- package/package.json +4 -4
- package/src/config.ts +14 -3
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,2EAA2E;IAC3E,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACpD;AAED,2FAA2F;AAC3F,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACvD,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,wEAAwE;IACxE,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB;AAID,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAE3E;AAED,+FAA+F;AAC/F,qBAAa,WAAY,SAAQ,KAAK;IAElC,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;gBAArE,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,EAC9E,IAAI,EAAE,MAAM;CAOf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACrD,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,2EAA2E;IAC3E,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACpD;AAED,2FAA2F;AAC3F,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACvD,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,wEAAwE;IACxE,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB;AAID,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAE3E;AAED,+FAA+F;AAC/F,qBAAa,WAAY,SAAQ,KAAK;IAElC,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;gBAArE,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,EAC9E,IAAI,EAAE,MAAM;CAOf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACrD,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CA2C7B"}
|
package/dist/config.js
CHANGED
|
@@ -34,7 +34,12 @@ export function defineConfig(schema, options = {}) {
|
|
|
34
34
|
if (value !== undefined)
|
|
35
35
|
env[key] = value;
|
|
36
36
|
}
|
|
37
|
-
const result = await
|
|
37
|
+
const result = await Promise.resolve()
|
|
38
|
+
.then(() => schema['~standard'].validate(env))
|
|
39
|
+
.catch(() => {
|
|
40
|
+
// A throwing transform's message may quote the value: not kept, not even as cause.
|
|
41
|
+
throw new ConfigError([{ key: '(config)', message: 'the schema threw while reading the variables' }], name);
|
|
42
|
+
});
|
|
38
43
|
if (!result.issues)
|
|
39
44
|
return result.value;
|
|
40
45
|
throw new ConfigError(result.issues.map((issue) => {
|
|
@@ -62,8 +67,11 @@ async function readEnvFile(path, required) {
|
|
|
62
67
|
}
|
|
63
68
|
return parseEnv(text);
|
|
64
69
|
}
|
|
65
|
-
//
|
|
70
|
+
// Libraries quote the received value in messages, often after a transform changed it, and config
|
|
71
|
+
// values can be secrets. Every quoted text goes, and the raw value wherever it still appears.
|
|
66
72
|
function redact(message, value) {
|
|
67
|
-
|
|
73
|
+
const unquoted = message.replace(/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g, '"[redacted]"');
|
|
74
|
+
// Very short values would match inside other words and numbers.
|
|
75
|
+
return value && value.length >= 4 ? unquoted.replaceAll(value, '[redacted]') : unquoted;
|
|
68
76
|
}
|
|
69
77
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6C,MAAM,WAAW,CAAC;AAEnF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAwB3D,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAEpC,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,+FAA+F;AAC/F,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEzB;IADX,YACW,MAAqE,EAC9E,IAAY;QAEZ,KAAK,CACH,WAAW,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnH,CAAC;QALO,WAAM,GAAN,MAAM,CAA+D;QAM9E,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAS,EACT,UAAyB,EAAE;IAE3B,IAAI,OAAQ,MAA2C,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChG,MAAM,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/F,MAAM,KAAK,GAAG,WAAW,CAAiB,IAAI,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,KAAK,IAA6B,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,GAAG,GAA2B,EAAE,GAAG,QAAQ,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avijs/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Avi.js public API: application factory, modules and controllers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"avi",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@avijs/di": "0.5.
|
|
47
|
-
"@avijs/http": "0.5.
|
|
48
|
-
"@avijs/validation": "0.5.
|
|
46
|
+
"@avijs/di": "0.5.2",
|
|
47
|
+
"@avijs/http": "0.5.2",
|
|
48
|
+
"@avijs/validation": "0.5.2"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"valibot": "1.5.0"
|
package/src/config.ts
CHANGED
|
@@ -68,7 +68,15 @@ export function defineConfig<S extends StandardSchemaV1>(
|
|
|
68
68
|
if (value !== undefined) env[key] = value;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
const result = await
|
|
71
|
+
const result = await Promise.resolve()
|
|
72
|
+
.then(() => schema['~standard'].validate(env))
|
|
73
|
+
.catch(() => {
|
|
74
|
+
// A throwing transform's message may quote the value: not kept, not even as cause.
|
|
75
|
+
throw new ConfigError(
|
|
76
|
+
[{ key: '(config)', message: 'the schema threw while reading the variables' }],
|
|
77
|
+
name,
|
|
78
|
+
);
|
|
79
|
+
});
|
|
72
80
|
if (!result.issues) return result.value;
|
|
73
81
|
throw new ConfigError(
|
|
74
82
|
result.issues.map((issue) => {
|
|
@@ -101,7 +109,10 @@ async function readEnvFile(path: string, required: boolean): Promise<Record<stri
|
|
|
101
109
|
return parseEnv(text) as Record<string, string>;
|
|
102
110
|
}
|
|
103
111
|
|
|
104
|
-
//
|
|
112
|
+
// Libraries quote the received value in messages, often after a transform changed it, and config
|
|
113
|
+
// values can be secrets. Every quoted text goes, and the raw value wherever it still appears.
|
|
105
114
|
function redact(message: string, value: string | undefined): string {
|
|
106
|
-
|
|
115
|
+
const unquoted = message.replace(/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g, '"[redacted]"');
|
|
116
|
+
// Very short values would match inside other words and numbers.
|
|
117
|
+
return value && value.length >= 4 ? unquoted.replaceAll(value, '[redacted]') : unquoted;
|
|
107
118
|
}
|