@infoxchange/make-it-so 3.1.1-internal-testing-allow-proxy-direct-import-b2e95a1.1 → 3.1.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/build.ts +6 -1
- package/dist/deployConfig.js +74 -0
- package/dist/deployConfig.js.map +7 -0
- package/dist/lib/proxy/index.js +31 -0
- package/dist/lib/proxy/index.js.map +7 -0
- package/package.json +2 -4
package/build.ts
CHANGED
|
@@ -35,7 +35,12 @@ await esbuild.build({
|
|
|
35
35
|
// (e.g. "./src/components/index.ts") to avoid esbuild including the imported code in both bundles. To allow these
|
|
36
36
|
// package name imports to work even when the source hasn't been built (and thus the package exports point to
|
|
37
37
|
// non-existent files) these imports also be reflected in tsconfig.json path aliases.
|
|
38
|
-
entryPoints: [
|
|
38
|
+
entryPoints: [
|
|
39
|
+
"src/index.ts",
|
|
40
|
+
"src/components/index.ts",
|
|
41
|
+
"src/deployConfig.ts",
|
|
42
|
+
"src/lib/proxy/index.ts",
|
|
43
|
+
],
|
|
39
44
|
bundle: true,
|
|
40
45
|
platform: "node",
|
|
41
46
|
target: "node21",
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// src/deployConfig.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var getEnvVars = () => ({
|
|
4
|
+
isIxDeploy: process.env.IX_DEPLOYMENT?.toLowerCase() === "true",
|
|
5
|
+
// This needs to start as a bool for the discriminated union
|
|
6
|
+
appName: process.env.IX_APP_NAME ?? "",
|
|
7
|
+
environment: process.env.IX_ENVIRONMENT ?? "",
|
|
8
|
+
workloadGroup: process.env.IX_WORKLOAD_GROUP ?? "",
|
|
9
|
+
primaryAwsRegion: process.env.IX_PRIMARY_AWS_REGION ?? "",
|
|
10
|
+
siteDomains: process.env.IX_SITE_DOMAINS ?? "",
|
|
11
|
+
siteDomainAliases: process.env.IX_SITE_DOMAIN_ALIASES ?? "",
|
|
12
|
+
isInternalApp: process.env.IX_INTERNAL_APP ?? "",
|
|
13
|
+
deploymentType: process.env.IX_DEPLOYMENT_TYPE ?? "",
|
|
14
|
+
sourceCommitRef: process.env.IX_SOURCE_COMMIT_REF ?? "",
|
|
15
|
+
sourceCommitHash: process.env.IX_SOURCE_COMMIT_HASH ?? "",
|
|
16
|
+
deployTriggeredBy: process.env.IX_DEPLOY_TRIGGERED_BY ?? "",
|
|
17
|
+
smtpHost: process.env.SMTP_HOST ?? "",
|
|
18
|
+
smtpPort: process.env.SMTP_PORT ?? "",
|
|
19
|
+
clamAVUrl: process.env.CLAMAV_URL ?? "",
|
|
20
|
+
vpcHttpProxy: process.env.VPC_HTTP_PROXY ?? "",
|
|
21
|
+
alarmSnsTopic: process.env.IX_ALARM_SNS_TOPIC ?? "",
|
|
22
|
+
tags: JSON.parse(process.env.IX_TAGS ?? "{}")
|
|
23
|
+
});
|
|
24
|
+
var ixDeployConfigSchema = z.object({
|
|
25
|
+
isIxDeploy: z.literal(true),
|
|
26
|
+
appName: z.string().min(1),
|
|
27
|
+
environment: z.enum(["dev", "test", "uat", "prod"]),
|
|
28
|
+
workloadGroup: z.enum(["ds", "srs"]),
|
|
29
|
+
primaryAwsRegion: z.literal("ap-southeast-2"),
|
|
30
|
+
siteDomains: z.string().transform((val) => val.split(",").map((domain) => domain.trim()).filter(Boolean)),
|
|
31
|
+
siteDomainAliases: z.string().transform((val) => val.split(",").map((domain) => domain.trim()).filter(Boolean)),
|
|
32
|
+
isInternalApp: z.coerce.boolean(),
|
|
33
|
+
deploymentType: z.enum(["docker", "serverless"]),
|
|
34
|
+
sourceCommitRef: z.string().min(1),
|
|
35
|
+
sourceCommitHash: z.string().min(1),
|
|
36
|
+
deployTriggeredBy: z.string().min(1),
|
|
37
|
+
smtpHost: z.string(),
|
|
38
|
+
smtpPort: z.coerce.number().int(),
|
|
39
|
+
clamAVUrl: z.string().url(),
|
|
40
|
+
vpcHttpProxy: z.string().url(),
|
|
41
|
+
alarmSnsTopic: z.string().min(1),
|
|
42
|
+
tags: z.record(z.string(), z.string())
|
|
43
|
+
}).strip();
|
|
44
|
+
var nonIxDeployConfigSchema = z.object({
|
|
45
|
+
isIxDeploy: z.literal(false),
|
|
46
|
+
appName: z.string(),
|
|
47
|
+
environment: z.string(),
|
|
48
|
+
workloadGroup: z.string(),
|
|
49
|
+
primaryAwsRegion: z.string(),
|
|
50
|
+
siteDomains: z.string().transform((val) => val.split(",").map((domain) => domain.trim()).filter(Boolean)),
|
|
51
|
+
siteDomainAliases: z.string().transform((val) => val.split(",").map((domain) => domain.trim()).filter(Boolean)),
|
|
52
|
+
isInternalApp: z.string().transform((val) => val ? val.toLowerCase() === "true" : void 0),
|
|
53
|
+
deploymentType: z.string(),
|
|
54
|
+
sourceCommitRef: z.string(),
|
|
55
|
+
sourceCommitHash: z.string(),
|
|
56
|
+
deployTriggeredBy: z.string(),
|
|
57
|
+
smtpHost: z.string(),
|
|
58
|
+
smtpPort: z.string().transform((val) => isNaN(parseInt(val, 10)) ? void 0 : parseInt(val, 10)),
|
|
59
|
+
clamAVUrl: z.string(),
|
|
60
|
+
vpcHttpProxy: z.string(),
|
|
61
|
+
alarmSnsTopic: z.string(),
|
|
62
|
+
tags: z.record(z.string(), z.string())
|
|
63
|
+
}).strip();
|
|
64
|
+
var schema = z.discriminatedUnion("isIxDeploy", [
|
|
65
|
+
ixDeployConfigSchema,
|
|
66
|
+
nonIxDeployConfigSchema
|
|
67
|
+
]);
|
|
68
|
+
var deployConfig = schema.parse(getEnvVars());
|
|
69
|
+
var getDeployConfig = () => schema.parse(getEnvVars());
|
|
70
|
+
export {
|
|
71
|
+
deployConfig,
|
|
72
|
+
getDeployConfig
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=deployConfig.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/deployConfig.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nconst getEnvVars = () => ({\n isIxDeploy: process.env.IX_DEPLOYMENT?.toLowerCase() === \"true\", // This needs to start as a bool for the discriminated union\n appName: process.env.IX_APP_NAME ?? \"\",\n environment: process.env.IX_ENVIRONMENT ?? \"\",\n workloadGroup: process.env.IX_WORKLOAD_GROUP ?? \"\",\n primaryAwsRegion: process.env.IX_PRIMARY_AWS_REGION ?? \"\",\n siteDomains: process.env.IX_SITE_DOMAINS ?? \"\",\n siteDomainAliases: process.env.IX_SITE_DOMAIN_ALIASES ?? \"\",\n isInternalApp: process.env.IX_INTERNAL_APP ?? \"\",\n deploymentType: process.env.IX_DEPLOYMENT_TYPE ?? \"\",\n sourceCommitRef: process.env.IX_SOURCE_COMMIT_REF ?? \"\",\n sourceCommitHash: process.env.IX_SOURCE_COMMIT_HASH ?? \"\",\n deployTriggeredBy: process.env.IX_DEPLOY_TRIGGERED_BY ?? \"\",\n smtpHost: process.env.SMTP_HOST ?? \"\",\n smtpPort: process.env.SMTP_PORT ?? \"\",\n clamAVUrl: process.env.CLAMAV_URL ?? \"\",\n vpcHttpProxy: process.env.VPC_HTTP_PROXY ?? \"\",\n alarmSnsTopic: process.env.IX_ALARM_SNS_TOPIC ?? \"\",\n tags: JSON.parse(process.env.IX_TAGS ?? \"{}\"),\n}) satisfies Record<string, string | boolean>;\nconst ixDeployConfigSchema = z\n .object({\n isIxDeploy: z.literal(true),\n appName: z.string().min(1),\n environment: z.enum([\"dev\", \"test\", \"uat\", \"prod\"]),\n workloadGroup: z.enum([\"ds\", \"srs\"]),\n primaryAwsRegion: z.literal(\"ap-southeast-2\"),\n siteDomains: z.string().transform((val) => val\n .split(\",\")\n .map((domain) => domain.trim())\n .filter(Boolean)),\n siteDomainAliases: z.string().transform((val) => val\n .split(\",\")\n .map((domain) => domain.trim())\n .filter(Boolean)),\n isInternalApp: z.coerce.boolean(),\n deploymentType: z.enum([\"docker\", \"serverless\"]),\n sourceCommitRef: z.string().min(1),\n sourceCommitHash: z.string().min(1),\n deployTriggeredBy: z.string().min(1),\n smtpHost: z.string(),\n smtpPort: z.coerce.number().int(),\n clamAVUrl: z.string().url(),\n vpcHttpProxy: z.string().url(),\n alarmSnsTopic: z.string().min(1),\n tags: z.record(z.string(), z.string()),\n} satisfies Record<keyof ReturnType<typeof getEnvVars>, unknown>)\n .strip();\nconst nonIxDeployConfigSchema = z\n .object({\n isIxDeploy: z.literal(false),\n appName: z.string(),\n environment: z.string(),\n workloadGroup: z.string(),\n primaryAwsRegion: z.string(),\n siteDomains: z.string().transform((val) => val\n .split(\",\")\n .map((domain) => domain.trim())\n .filter(Boolean)),\n siteDomainAliases: z.string().transform((val) => val\n .split(\",\")\n .map((domain) => domain.trim())\n .filter(Boolean)),\n isInternalApp: z\n .string()\n .transform((val) => (val ? val.toLowerCase() === \"true\" : undefined)),\n deploymentType: z.string(),\n sourceCommitRef: z.string(),\n sourceCommitHash: z.string(),\n deployTriggeredBy: z.string(),\n smtpHost: z.string(),\n smtpPort: z\n .string()\n .transform((val) => isNaN(parseInt(val, 10)) ? undefined : parseInt(val, 10)),\n clamAVUrl: z.string(),\n vpcHttpProxy: z.string(),\n alarmSnsTopic: z.string(),\n tags: z.record(z.string(), z.string()),\n} satisfies Record<keyof ReturnType<typeof getEnvVars>, unknown>)\n .strip();\nconst schema = z.discriminatedUnion(\"isIxDeploy\", [\n ixDeployConfigSchema,\n nonIxDeployConfigSchema,\n]);\nexport const deployConfig = schema.parse(getEnvVars());\n// process.env values can change at runtime so we provide a way to re-parse the config as needed\nexport const getDeployConfig = () => schema.parse(getEnvVars());\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/lib/proxy/fetch.ts
|
|
2
|
+
import { setGlobalDispatcher, getGlobalDispatcher, EnvHttpProxyAgent, fetch as undiciFetch } from "undici";
|
|
3
|
+
import { bootstrap } from "global-agent";
|
|
4
|
+
function setupProxyGlobally() {
|
|
5
|
+
if (getGlobalDispatcher() instanceof EnvHttpProxyAgent)
|
|
6
|
+
return;
|
|
7
|
+
if (!process.env.HTTP_PROXY || !process.env.HTTPS_PROXY)
|
|
8
|
+
return;
|
|
9
|
+
const envHttpProxyAgent = new EnvHttpProxyAgent();
|
|
10
|
+
setGlobalDispatcher(envHttpProxyAgent);
|
|
11
|
+
if (!process.env.GLOBAL_AGENT_HTTP_PROXY) {
|
|
12
|
+
process.env.GLOBAL_AGENT_HTTP_PROXY = process.env.HTTP_PROXY;
|
|
13
|
+
process.env.GLOBAL_AGENT_HTTPS_PROXY = process.env.HTTPS_PROXY ?? process.env.HTTP_PROXY;
|
|
14
|
+
}
|
|
15
|
+
bootstrap();
|
|
16
|
+
}
|
|
17
|
+
function getProxiedFetch() {
|
|
18
|
+
const fetch = (input, init = {}) => {
|
|
19
|
+
if (init.dispatcher) {
|
|
20
|
+
console.warn("A custom dispatcher was provided to fetch but this is ignored as a proxy agent is being used.");
|
|
21
|
+
}
|
|
22
|
+
const envHttpProxyAgent = new EnvHttpProxyAgent();
|
|
23
|
+
return undiciFetch(input, { ...init, dispatcher: envHttpProxyAgent });
|
|
24
|
+
};
|
|
25
|
+
return fetch;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
getProxiedFetch,
|
|
29
|
+
setupProxyGlobally
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/proxy/fetch.ts"],
|
|
4
|
+
"sourcesContent": ["import { setGlobalDispatcher, getGlobalDispatcher, EnvHttpProxyAgent, fetch as undiciFetch, } from \"undici\";\nimport { bootstrap } from \"global-agent\";\nexport function setupProxyGlobally() {\n // Make operation idempotent\n if (getGlobalDispatcher() instanceof EnvHttpProxyAgent)\n return;\n if (!process.env.HTTP_PROXY || !process.env.HTTPS_PROXY)\n return;\n // To cover libraries that use fetch\n // See https://nodejs.org/api/globals.html#custom-dispatcher\n // This might stop being needed at some point: https://github.com/actions/create-github-app-token/pull/143#discussion_r1747641337\n const envHttpProxyAgent = new EnvHttpProxyAgent();\n setGlobalDispatcher(envHttpProxyAgent);\n // To cover libraries that use the http/https object\n if (!process.env.GLOBAL_AGENT_HTTP_PROXY) {\n process.env.GLOBAL_AGENT_HTTP_PROXY = process.env.HTTP_PROXY;\n process.env.GLOBAL_AGENT_HTTPS_PROXY =\n process.env.HTTPS_PROXY ?? process.env.HTTP_PROXY;\n }\n bootstrap();\n}\nexport function getProxiedFetch() {\n const fetch: typeof undiciFetch = (input, init = {}) => {\n if (init.dispatcher) {\n console.warn(\"A custom dispatcher was provided to fetch but this is ignored as a proxy agent is being used.\");\n }\n const envHttpProxyAgent = new EnvHttpProxyAgent();\n return undiciFetch(input, { ...init, dispatcher: envHttpProxyAgent });\n };\n return fetch;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,qBAAqB,qBAAqB,mBAAmB,SAAS,mBAAoB;AACnG,SAAS,iBAAiB;AACnB,SAAS,qBAAqB;AAEjC,MAAI,oBAAoB,aAAa;AACjC;AACJ,MAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,IAAI;AACxC;AAIJ,QAAM,oBAAoB,IAAI,kBAAkB;AAChD,sBAAoB,iBAAiB;AAErC,MAAI,CAAC,QAAQ,IAAI,yBAAyB;AACtC,YAAQ,IAAI,0BAA0B,QAAQ,IAAI;AAClD,YAAQ,IAAI,2BACR,QAAQ,IAAI,eAAe,QAAQ,IAAI;AAAA,EAC/C;AACA,YAAU;AACd;AACO,SAAS,kBAAkB;AAC9B,QAAM,QAA4B,CAAC,OAAO,OAAO,CAAC,MAAM;AACpD,QAAI,KAAK,YAAY;AACjB,cAAQ,KAAK,+FAA+F;AAAA,IAChH;AACA,UAAM,oBAAoB,IAAI,kBAAkB;AAChD,WAAO,YAAY,OAAO,EAAE,GAAG,MAAM,YAAY,kBAAkB,CAAC;AAAA,EACxE;AACA,SAAO;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@infoxchange/make-it-so",
|
|
3
|
-
"version": "3.1.1
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "Makes deploying services to IX infra easy",
|
|
5
5
|
"repository": "github:infoxchange/make-it-so",
|
|
6
6
|
"publishConfig": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
".": "./dist/index.js",
|
|
24
24
|
"./components": "./dist/components/index.js",
|
|
25
|
-
"./proxy": "./dist/proxy/index.js",
|
|
25
|
+
"./proxy": "./dist/lib/proxy/index.js",
|
|
26
26
|
"./deployConfig": "./dist/deployConfig.js"
|
|
27
27
|
},
|
|
28
28
|
"lint-staged": {
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"@types/aws-cloudfront-function": "^1.0.6",
|
|
44
44
|
"@types/aws-lambda": "8.10.159",
|
|
45
45
|
"@types/global-agent": "^3.0.0",
|
|
46
|
-
"@types/jsonwebtoken": "^9.0.10",
|
|
47
46
|
"esbuild": "^0.27.2",
|
|
48
47
|
"eslint": "^8.57.0",
|
|
49
48
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -65,7 +64,6 @@
|
|
|
65
64
|
},
|
|
66
65
|
"dependencies": {
|
|
67
66
|
"global-agent": "^3.0.0",
|
|
68
|
-
"jsonwebtoken": "^9.0.2",
|
|
69
67
|
"undici": "^7.16.0",
|
|
70
68
|
"zod": "^3.24.2"
|
|
71
69
|
}
|