@8ms/helpers 3.0.14 → 3.0.16

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/.yarnrc.yml CHANGED
@@ -1 +1,8 @@
1
+ approvedGitRepositories:
2
+ - "**"
3
+
4
+ enableScripts: true
5
+
1
6
  nodeLinker: node-modules
7
+
8
+ npmMinimalAgeGate: 0
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module";
2
2
  //#region \0rolldown/runtime.js
3
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
3
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
4
4
  //#endregion
5
5
  export { __require };
@@ -1,15 +1,36 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_environment_environment = require("../../environment/environment.cjs");
3
3
  //#region src/aws/server/getAwsConfig.ts
4
+ const getGcpOidcToken = async () => {
5
+ const response = await fetch("http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=sts.amazonaws.com&format=full", { headers: { "Metadata-Flavor": "Google" } });
6
+ if (!response.ok) throw new Error(`Failed to fetch GCP OIDC token: ${response.status} ${response.statusText}`);
7
+ return response.text();
8
+ };
9
+ const assumeAwsRoleWithGcpToken = async (token, props) => {
10
+ const { STSClient, AssumeRoleWithWebIdentityCommand } = await import("@aws-sdk/client-sts");
11
+ const { Credentials } = await new STSClient({ region: props?.awsRegion || "eu-west-2" }).send(new AssumeRoleWithWebIdentityCommand({
12
+ RoleArn: props.oidcRoleArn,
13
+ RoleSessionName: props.gcpSessionName ?? "gcp-aws-session",
14
+ WebIdentityToken: token
15
+ }));
16
+ if (!Credentials?.AccessKeyId || !Credentials?.SecretAccessKey) throw new Error("STS did not return valid credentials");
17
+ return {
18
+ accessKeyId: Credentials.AccessKeyId,
19
+ secretAccessKey: Credentials.SecretAccessKey,
20
+ sessionToken: Credentials.SessionToken
21
+ };
22
+ };
4
23
  const getAwsConfig = async (props) => {
5
- if (props.isOidc && require_environment_environment.isVercel()) {
6
- const { awsCredentialsProvider } = await import("@vercel/oidc-aws-credentials-provider");
7
- return { credentials: awsCredentialsProvider({ roleArn: props?.oidcRoleArn ?? "" }) };
8
- }
9
- return { credentials: {
24
+ let credentials = {
10
25
  accessKeyId: props?.accessKeyId ?? "",
11
26
  secretAccessKey: props?.secretAccessKey ?? ""
12
- } };
27
+ };
28
+ if (props.oidcRoleArn && require_environment_environment.isVercel()) {
29
+ const { awsCredentialsProvider } = await import("@vercel/oidc-aws-credentials-provider");
30
+ credentials = await awsCredentialsProvider({ roleArn: props.oidcRoleArn })();
31
+ }
32
+ if (props.oidcRoleArn && require_environment_environment.isGoogleCloud()) credentials = await assumeAwsRoleWithGcpToken(await getGcpOidcToken(), props);
33
+ return { credentials };
13
34
  };
14
35
  //#endregion
15
36
  exports.getAwsConfig = getAwsConfig;
@@ -1,18 +1,18 @@
1
- import { AwsCredentialIdentityProvider } from "../../node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.cjs";
2
1
  //#region src/aws/server/getAwsConfig.d.ts
3
2
  type GetAwsConfigProps = {
4
- isOidc: boolean;
5
3
  oidcRoleArn?: string;
4
+ gcpSessionName?: string;
5
+ awsRegion?: string;
6
6
  accessKeyId?: string;
7
7
  secretAccessKey?: string;
8
8
  };
9
- declare const getAwsConfig: (props: GetAwsConfigProps) => Promise<{
10
- credentials: AwsCredentialIdentityProvider;
11
- } | {
9
+ type AwsConfig = {
12
10
  credentials: {
13
11
  accessKeyId: string;
14
12
  secretAccessKey: string;
13
+ sessionToken?: string;
15
14
  };
16
- }>;
15
+ };
16
+ declare const getAwsConfig: (props: GetAwsConfigProps) => Promise<AwsConfig>;
17
17
  //#endregion
18
18
  export { getAwsConfig };
@@ -1,18 +1,18 @@
1
- import { AwsCredentialIdentityProvider } from "../../node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.mjs";
2
1
  //#region src/aws/server/getAwsConfig.d.ts
3
2
  type GetAwsConfigProps = {
4
- isOidc: boolean;
5
3
  oidcRoleArn?: string;
4
+ gcpSessionName?: string;
5
+ awsRegion?: string;
6
6
  accessKeyId?: string;
7
7
  secretAccessKey?: string;
8
8
  };
9
- declare const getAwsConfig: (props: GetAwsConfigProps) => Promise<{
10
- credentials: AwsCredentialIdentityProvider;
11
- } | {
9
+ type AwsConfig = {
12
10
  credentials: {
13
11
  accessKeyId: string;
14
12
  secretAccessKey: string;
13
+ sessionToken?: string;
15
14
  };
16
- }>;
15
+ };
16
+ declare const getAwsConfig: (props: GetAwsConfigProps) => Promise<AwsConfig>;
17
17
  //#endregion
18
18
  export { getAwsConfig };
@@ -1,14 +1,35 @@
1
- import { isVercel } from "../../environment/environment.mjs";
1
+ import { isGoogleCloud, isVercel } from "../../environment/environment.mjs";
2
2
  //#region src/aws/server/getAwsConfig.ts
3
+ const getGcpOidcToken = async () => {
4
+ const response = await fetch("http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=sts.amazonaws.com&format=full", { headers: { "Metadata-Flavor": "Google" } });
5
+ if (!response.ok) throw new Error(`Failed to fetch GCP OIDC token: ${response.status} ${response.statusText}`);
6
+ return response.text();
7
+ };
8
+ const assumeAwsRoleWithGcpToken = async (token, props) => {
9
+ const { STSClient, AssumeRoleWithWebIdentityCommand } = await import("@aws-sdk/client-sts");
10
+ const { Credentials } = await new STSClient({ region: props?.awsRegion || "eu-west-2" }).send(new AssumeRoleWithWebIdentityCommand({
11
+ RoleArn: props.oidcRoleArn,
12
+ RoleSessionName: props.gcpSessionName ?? "gcp-aws-session",
13
+ WebIdentityToken: token
14
+ }));
15
+ if (!Credentials?.AccessKeyId || !Credentials?.SecretAccessKey) throw new Error("STS did not return valid credentials");
16
+ return {
17
+ accessKeyId: Credentials.AccessKeyId,
18
+ secretAccessKey: Credentials.SecretAccessKey,
19
+ sessionToken: Credentials.SessionToken
20
+ };
21
+ };
3
22
  const getAwsConfig = async (props) => {
4
- if (props.isOidc && isVercel()) {
5
- const { awsCredentialsProvider } = await import("@vercel/oidc-aws-credentials-provider");
6
- return { credentials: awsCredentialsProvider({ roleArn: props?.oidcRoleArn ?? "" }) };
7
- }
8
- return { credentials: {
23
+ let credentials = {
9
24
  accessKeyId: props?.accessKeyId ?? "",
10
25
  secretAccessKey: props?.secretAccessKey ?? ""
11
- } };
26
+ };
27
+ if (props.oidcRoleArn && isVercel()) {
28
+ const { awsCredentialsProvider } = await import("@vercel/oidc-aws-credentials-provider");
29
+ credentials = await awsCredentialsProvider({ roleArn: props.oidcRoleArn })();
30
+ }
31
+ if (props.oidcRoleArn && isGoogleCloud()) credentials = await assumeAwsRoleWithGcpToken(await getGcpOidcToken(), props);
32
+ return { credentials };
12
33
  };
13
34
  //#endregion
14
35
  export { getAwsConfig };
@@ -6,38 +6,38 @@ var Drizzle = class extends require__class_BaseNamespace.BaseNamespace {
6
6
  init = async (config) => {
7
7
  if (!this.client) {
8
8
  let logger = void 0;
9
- if (this.config.isDebug) {
9
+ if (true === config?.isDebug) {
10
10
  const { DefaultLogger } = await import("drizzle-orm/logger");
11
11
  logger = new DefaultLogger();
12
12
  }
13
13
  let casing = void 0;
14
- if ("snake" === this.config?.casing) casing = "snake_case";
15
- else if ("camel" === this.config?.casing) casing = "camelCase";
16
- if (this.config.isPlanetScale) try {
14
+ if ("snake" === config?.casing) casing = "snake_case";
15
+ else if ("camel" === config?.casing) casing = "camelCase";
16
+ if (true === config?.isPlanetScale) try {
17
17
  const { drizzle } = await import("drizzle-orm/planetscale-serverless");
18
18
  this.client = drizzle({
19
19
  casing,
20
- connection: { url: this.config.url },
21
- relations: this.config?.relations,
22
- schema: this.config?.schema,
20
+ connection: { url: config?.url },
21
+ relations: config?.relations,
22
+ schema: config?.schema,
23
23
  logger
24
24
  });
25
25
  } catch (e) {
26
26
  throw new Error(`PlanetScale driver not installed - ${require_util_getError.getError(e)}`);
27
27
  }
28
- else if (this.config.isMysql) try {
28
+ else if (true === config?.isMysql) try {
29
29
  const { drizzle } = await import("drizzle-orm/mysql2");
30
30
  const pool = (await import("mysql2/promise")).createPool({
31
- uri: this.config.url,
32
- connectionLimit: this.config.pool?.max ?? 10,
33
- idleTimeout: this.config.pool?.idleTimeoutMs ?? 3e4,
34
- connectTimeout: this.config.pool?.connectTimeoutMs ?? 5e3,
31
+ uri: config.url,
32
+ connectionLimit: config.pool?.max ?? 10,
33
+ idleTimeout: config.pool?.idleTimeoutMs ?? 3e4,
34
+ connectTimeout: config.pool?.connectTimeoutMs ?? 5e3,
35
35
  waitForConnections: true,
36
36
  queueLimit: 0
37
37
  });
38
38
  this.client = drizzle(pool, {
39
- schema: this.config.schema,
40
- relations: this.config.relations,
39
+ schema: config.schema,
40
+ relations: config.relations,
41
41
  casing,
42
42
  logger,
43
43
  mode: "default"
@@ -45,18 +45,18 @@ var Drizzle = class extends require__class_BaseNamespace.BaseNamespace {
45
45
  } catch (e) {
46
46
  throw new Error(`MySQL2 driver not installed - ${require_util_getError.getError(e)}`);
47
47
  }
48
- else if (this.config.isPostgres) try {
48
+ else if (true === config?.isPostgres) try {
49
49
  const { drizzle } = await import("drizzle-orm/node-postgres");
50
50
  const { Pool } = await import("pg");
51
51
  const pool = new Pool({
52
- connectionString: this.config.url,
53
- max: this.config.pool?.max ?? 10,
54
- idleTimeoutMillis: this.config.pool?.idleTimeoutMs ?? 3e4,
55
- connectionTimeoutMillis: this.config.pool?.connectTimeoutMs ?? 5e3
52
+ connectionString: config.url,
53
+ max: config.pool?.max ?? 10,
54
+ idleTimeoutMillis: config.pool?.idleTimeoutMs ?? 3e4,
55
+ connectionTimeoutMillis: config.pool?.connectTimeoutMs ?? 5e3
56
56
  });
57
57
  this.client = drizzle(pool, {
58
- schema: this.config.schema,
59
- relations: this.config.relations,
58
+ schema: config.schema,
59
+ relations: config.relations,
60
60
  casing,
61
61
  logger
62
62
  });
@@ -64,6 +64,7 @@ var Drizzle = class extends require__class_BaseNamespace.BaseNamespace {
64
64
  throw new Error(`Postgres (pg) driver not installed - ${require_util_getError.getError(e)}`);
65
65
  }
66
66
  else throw new Error(`No database type configured`);
67
+ this.config = config;
67
68
  }
68
69
  return this;
69
70
  };
@@ -5,38 +5,38 @@ var Drizzle = class extends BaseNamespace {
5
5
  init = async (config) => {
6
6
  if (!this.client) {
7
7
  let logger = void 0;
8
- if (this.config.isDebug) {
8
+ if (true === config?.isDebug) {
9
9
  const { DefaultLogger } = await import("drizzle-orm/logger");
10
10
  logger = new DefaultLogger();
11
11
  }
12
12
  let casing = void 0;
13
- if ("snake" === this.config?.casing) casing = "snake_case";
14
- else if ("camel" === this.config?.casing) casing = "camelCase";
15
- if (this.config.isPlanetScale) try {
13
+ if ("snake" === config?.casing) casing = "snake_case";
14
+ else if ("camel" === config?.casing) casing = "camelCase";
15
+ if (true === config?.isPlanetScale) try {
16
16
  const { drizzle } = await import("drizzle-orm/planetscale-serverless");
17
17
  this.client = drizzle({
18
18
  casing,
19
- connection: { url: this.config.url },
20
- relations: this.config?.relations,
21
- schema: this.config?.schema,
19
+ connection: { url: config?.url },
20
+ relations: config?.relations,
21
+ schema: config?.schema,
22
22
  logger
23
23
  });
24
24
  } catch (e) {
25
25
  throw new Error(`PlanetScale driver not installed - ${getError(e)}`);
26
26
  }
27
- else if (this.config.isMysql) try {
27
+ else if (true === config?.isMysql) try {
28
28
  const { drizzle } = await import("drizzle-orm/mysql2");
29
29
  const pool = (await import("mysql2/promise")).createPool({
30
- uri: this.config.url,
31
- connectionLimit: this.config.pool?.max ?? 10,
32
- idleTimeout: this.config.pool?.idleTimeoutMs ?? 3e4,
33
- connectTimeout: this.config.pool?.connectTimeoutMs ?? 5e3,
30
+ uri: config.url,
31
+ connectionLimit: config.pool?.max ?? 10,
32
+ idleTimeout: config.pool?.idleTimeoutMs ?? 3e4,
33
+ connectTimeout: config.pool?.connectTimeoutMs ?? 5e3,
34
34
  waitForConnections: true,
35
35
  queueLimit: 0
36
36
  });
37
37
  this.client = drizzle(pool, {
38
- schema: this.config.schema,
39
- relations: this.config.relations,
38
+ schema: config.schema,
39
+ relations: config.relations,
40
40
  casing,
41
41
  logger,
42
42
  mode: "default"
@@ -44,18 +44,18 @@ var Drizzle = class extends BaseNamespace {
44
44
  } catch (e) {
45
45
  throw new Error(`MySQL2 driver not installed - ${getError(e)}`);
46
46
  }
47
- else if (this.config.isPostgres) try {
47
+ else if (true === config?.isPostgres) try {
48
48
  const { drizzle } = await import("drizzle-orm/node-postgres");
49
49
  const { Pool } = await import("pg");
50
50
  const pool = new Pool({
51
- connectionString: this.config.url,
52
- max: this.config.pool?.max ?? 10,
53
- idleTimeoutMillis: this.config.pool?.idleTimeoutMs ?? 3e4,
54
- connectionTimeoutMillis: this.config.pool?.connectTimeoutMs ?? 5e3
51
+ connectionString: config.url,
52
+ max: config.pool?.max ?? 10,
53
+ idleTimeoutMillis: config.pool?.idleTimeoutMs ?? 3e4,
54
+ connectionTimeoutMillis: config.pool?.connectTimeoutMs ?? 5e3
55
55
  });
56
56
  this.client = drizzle(pool, {
57
- schema: this.config.schema,
58
- relations: this.config.relations,
57
+ schema: config.schema,
58
+ relations: config.relations,
59
59
  casing,
60
60
  logger
61
61
  });
@@ -63,6 +63,7 @@ var Drizzle = class extends BaseNamespace {
63
63
  throw new Error(`Postgres (pg) driver not installed - ${getError(e)}`);
64
64
  }
65
65
  else throw new Error(`No database type configured`);
66
+ this.config = config;
66
67
  }
67
68
  return this;
68
69
  };
@@ -7,7 +7,8 @@ const environment = {
7
7
  };
8
8
  const platform = {
9
9
  AWS: "AWS",
10
- VERCEL: "VERCEL"
10
+ VERCEL: "VERCEL",
11
+ GCP: "GCP"
11
12
  };
12
13
  /**
13
14
  * Determine the environment we're using.
@@ -37,6 +38,7 @@ const getEnvironment = () => {
37
38
  */
38
39
  const isAws = () => platform.AWS === process.env["EMS_PLATFORM"];
39
40
  const isVercel = () => "undefined" !== typeof process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF;
41
+ const isGoogleCloud = () => platform.GCP === process.env["EMS_PLATFORM"];
40
42
  /**
41
43
  * Some code should only run on the server side to protect the data.
42
44
  */
@@ -61,6 +63,7 @@ exports.environment = environment;
61
63
  exports.getEnvironment = getEnvironment;
62
64
  exports.isAws = isAws;
63
65
  exports.isDevelopment = isDevelopment;
66
+ exports.isGoogleCloud = isGoogleCloud;
64
67
  exports.isLocalhost = isLocalhost;
65
68
  exports.isProduction = isProduction;
66
69
  exports.isServer = isServer;
@@ -8,6 +8,7 @@ type Environment = typeof environment[keyof typeof environment];
8
8
  declare const platform: {
9
9
  readonly AWS: "AWS";
10
10
  readonly VERCEL: "VERCEL";
11
+ readonly GCP: "GCP";
11
12
  };
12
13
  type Platform = typeof platform[keyof typeof platform];
13
14
  /**
@@ -19,6 +20,7 @@ declare const getEnvironment: () => Environment;
19
20
  */
20
21
  declare const isAws: () => boolean;
21
22
  declare const isVercel: () => boolean;
23
+ declare const isGoogleCloud: () => boolean;
22
24
  /**
23
25
  * Some code should only run on the server side to protect the data.
24
26
  */
@@ -34,4 +36,4 @@ declare const isProduction: () => boolean;
34
36
  */
35
37
  declare const isLocalhost: () => boolean;
36
38
  //#endregion
37
- export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
39
+ export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
@@ -8,6 +8,7 @@ type Environment = typeof environment[keyof typeof environment];
8
8
  declare const platform: {
9
9
  readonly AWS: "AWS";
10
10
  readonly VERCEL: "VERCEL";
11
+ readonly GCP: "GCP";
11
12
  };
12
13
  type Platform = typeof platform[keyof typeof platform];
13
14
  /**
@@ -19,6 +20,7 @@ declare const getEnvironment: () => Environment;
19
20
  */
20
21
  declare const isAws: () => boolean;
21
22
  declare const isVercel: () => boolean;
23
+ declare const isGoogleCloud: () => boolean;
22
24
  /**
23
25
  * Some code should only run on the server side to protect the data.
24
26
  */
@@ -34,4 +36,4 @@ declare const isProduction: () => boolean;
34
36
  */
35
37
  declare const isLocalhost: () => boolean;
36
38
  //#endregion
37
- export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
39
+ export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
@@ -6,7 +6,8 @@ const environment = {
6
6
  };
7
7
  const platform = {
8
8
  AWS: "AWS",
9
- VERCEL: "VERCEL"
9
+ VERCEL: "VERCEL",
10
+ GCP: "GCP"
10
11
  };
11
12
  /**
12
13
  * Determine the environment we're using.
@@ -36,6 +37,7 @@ const getEnvironment = () => {
36
37
  */
37
38
  const isAws = () => platform.AWS === process.env["EMS_PLATFORM"];
38
39
  const isVercel = () => "undefined" !== typeof process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF;
40
+ const isGoogleCloud = () => platform.GCP === process.env["EMS_PLATFORM"];
39
41
  /**
40
42
  * Some code should only run on the server side to protect the data.
41
43
  */
@@ -56,4 +58,4 @@ const isLocalhost = () => {
56
58
  return false;
57
59
  };
58
60
  //#endregion
59
- export { environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
61
+ export { environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
@@ -4,6 +4,7 @@ exports.environment = require_environment_environment.environment;
4
4
  exports.getEnvironment = require_environment_environment.getEnvironment;
5
5
  exports.isAws = require_environment_environment.isAws;
6
6
  exports.isDevelopment = require_environment_environment.isDevelopment;
7
+ exports.isGoogleCloud = require_environment_environment.isGoogleCloud;
7
8
  exports.isLocalhost = require_environment_environment.isLocalhost;
8
9
  exports.isProduction = require_environment_environment.isProduction;
9
10
  exports.isServer = require_environment_environment.isServer;
@@ -1,2 +1,2 @@
1
- import { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.cjs";
2
- export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
1
+ import { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.cjs";
2
+ export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
@@ -1,2 +1,2 @@
1
- import { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.mjs";
2
- export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
1
+ import { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.mjs";
2
+ export { Environment, Platform, environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
@@ -1,2 +1,2 @@
1
- import { environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.mjs";
2
- export { environment, getEnvironment, isAws, isDevelopment, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
1
+ import { environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform } from "./environment.mjs";
2
+ export { environment, getEnvironment, isAws, isDevelopment, isGoogleCloud, isLocalhost, isProduction, isServer, isStaging, isVercel, platform };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@8ms/helpers",
3
3
  "license": "UNLICENSED",
4
- "version": "3.0.14",
4
+ "version": "3.0.16",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
@@ -29,6 +29,7 @@
29
29
  "@aws-sdk/client-ses": "^3.0.0",
30
30
  "@aws-sdk/client-sqs": "^3.0.0",
31
31
  "@aws-sdk/client-ssm": "^3.0.0",
32
+ "@aws-sdk/client-sts": "^3.0.0",
32
33
  "@aws-sdk/lib-storage": "^3.0.0",
33
34
  "@aws-sdk/s3-request-presigner": "^3.0.0",
34
35
  "@google-cloud/bigquery": "^8.0.0",
@@ -87,6 +88,9 @@
87
88
  "@aws-sdk/client-ssm": {
88
89
  "optional": true
89
90
  },
91
+ "@aws-sdk/client-sts": {
92
+ "optional": true
93
+ },
90
94
  "@aws-sdk/lib-storage": {
91
95
  "optional": true
92
96
  },
@@ -159,23 +163,23 @@
159
163
  },
160
164
  "devDependencies": {
161
165
  "@1password/sdk": "^0.4.0",
162
- "@aws-sdk/client-cloudwatch": "^3.1068.0",
163
- "@aws-sdk/client-cloudwatch-logs": "^3.1068.0",
164
- "@aws-sdk/client-ec2": "^3.1068.0",
165
- "@aws-sdk/client-ecs": "^3.1068.0",
166
- "@aws-sdk/client-glue": "^3.1068.0",
167
- "@aws-sdk/client-lambda": "^3.1068.0",
168
- "@aws-sdk/client-s3": "^3.1068.0",
169
- "@aws-sdk/client-ses": "^3.1068.0",
170
- "@aws-sdk/client-sqs": "^3.1068.0",
171
- "@aws-sdk/client-ssm": "^3.1068.0",
172
- "@aws-sdk/lib-storage": "^3.1068.0",
173
- "@aws-sdk/s3-request-presigner": "^3.1068.0",
174
- "@aws-sdk/types": "^3.973.12",
175
- "@babel/core": "7.29.7",
176
- "@babel/preset-env": "7.29.7",
177
- "@babel/preset-flow": "7.29.7",
178
- "@babel/preset-typescript": "7.29.7",
166
+ "@aws-sdk/client-cloudwatch": "^3.1075.0",
167
+ "@aws-sdk/client-cloudwatch-logs": "^3.1075.0",
168
+ "@aws-sdk/client-ec2": "^3.1075.0",
169
+ "@aws-sdk/client-ecs": "^3.1075.0",
170
+ "@aws-sdk/client-glue": "^3.1075.0",
171
+ "@aws-sdk/client-lambda": "^3.1075.0",
172
+ "@aws-sdk/client-s3": "^3.1075.0",
173
+ "@aws-sdk/client-ses": "^3.1075.0",
174
+ "@aws-sdk/client-sqs": "^3.1075.0",
175
+ "@aws-sdk/client-ssm": "^3.1075.0",
176
+ "@aws-sdk/client-sts": "^3.1075.0",
177
+ "@aws-sdk/lib-storage": "^3.1075.0",
178
+ "@aws-sdk/s3-request-presigner": "^3.1075.0",
179
+ "@aws-sdk/types": "^3.973.13",
180
+ "@babel/core": "^8.0.1",
181
+ "@babel/preset-env": "^8.0.2",
182
+ "@babel/preset-typescript": "^8.0.1",
179
183
  "@google-cloud/bigquery": "^8.3.1",
180
184
  "@google-cloud/common": "^6.0.1",
181
185
  "@google-cloud/storage": "^7.21.0",
@@ -185,14 +189,13 @@
185
189
  "@prisma/adapter-pg": "^7.8.0",
186
190
  "@prisma/adapter-planetscale": "^7.8.0",
187
191
  "@prisma/client": "^7.8.0",
188
- "@types/babel__core": "^7.20.5",
189
192
  "@types/fs-extra": "^11.0.4",
190
193
  "@types/jest": "30.0.0",
191
- "@types/luxon": "3.7.1",
194
+ "@types/luxon": "3.7.2",
192
195
  "@types/node": "^24.13.2",
193
196
  "@types/react": "^19.2.17",
194
- "@vercel/oidc": "^3.6.1",
195
- "@vercel/oidc-aws-credentials-provider": "^3.1.4",
197
+ "@vercel/oidc": "^3.6.2",
198
+ "@vercel/oidc-aws-credentials-provider": "^3.1.5",
196
199
  "babel-jest": "30.4.1",
197
200
  "dotenv": "^17.4.2",
198
201
  "drizzle-orm": "beta",
@@ -203,12 +206,12 @@
203
206
  "jest": "^30.4.2",
204
207
  "mysql2": "^3.22.5",
205
208
  "next": "^16.2.9",
206
- "pg": "^8.21.0",
209
+ "pg": "^8.22.0",
207
210
  "react": "^19.2.7",
208
211
  "react-intersection-observer": "^10.0.3",
209
- "swr": "^2.4.1",
212
+ "swr": "^2.4.2",
210
213
  "ts-node": "^10.9.2",
211
- "tsdown": "^0.22.2",
214
+ "tsdown": "^0.22.3",
212
215
  "tslib": "^2.8.1",
213
216
  "typescript": "^6.0.3"
214
217
  },
@@ -1206,8 +1209,5 @@
1206
1209
  "require": "./dist/xml/server/getXml.cjs"
1207
1210
  },
1208
1211
  "./package.json": "./package.json"
1209
- },
1210
- "inlinedDependencies": {
1211
- "@smithy/types": "4.15.0"
1212
1212
  }
1213
1213
  }
@@ -1,7 +0,0 @@
1
- //#region node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts
2
- declare global {
3
- /**
4
- * interface merging stub.
5
- */
6
- interface RequestInit {}
7
- }
@@ -1,7 +0,0 @@
1
- //#region node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts
2
- declare global {
3
- /**
4
- * interface merging stub.
5
- */
6
- interface RequestInit {}
7
- }
@@ -1,35 +0,0 @@
1
- import { Identity, IdentityProvider } from "./identity.cjs";
2
-
3
- //#region node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts
4
- /**
5
- * @public
6
- */
7
- interface AwsCredentialIdentity extends Identity {
8
- /**
9
- * AWS access key ID
10
- */
11
- readonly accessKeyId: string;
12
- /**
13
- * AWS secret access key
14
- */
15
- readonly secretAccessKey: string;
16
- /**
17
- * A security or session token to use with these credentials. Usually
18
- * present for temporary credentials.
19
- */
20
- readonly sessionToken?: string;
21
- /**
22
- * AWS credential scope for this set of credentials.
23
- */
24
- readonly credentialScope?: string;
25
- /**
26
- * AWS accountId.
27
- */
28
- readonly accountId?: string;
29
- }
30
- /**
31
- * @public
32
- */
33
- type AwsCredentialIdentityProvider = IdentityProvider<AwsCredentialIdentity>;
34
- //#endregion
35
- export { AwsCredentialIdentity, AwsCredentialIdentityProvider };
@@ -1,35 +0,0 @@
1
- import { Identity, IdentityProvider } from "./identity.mjs";
2
-
3
- //#region node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts
4
- /**
5
- * @public
6
- */
7
- interface AwsCredentialIdentity extends Identity {
8
- /**
9
- * AWS access key ID
10
- */
11
- readonly accessKeyId: string;
12
- /**
13
- * AWS secret access key
14
- */
15
- readonly secretAccessKey: string;
16
- /**
17
- * A security or session token to use with these credentials. Usually
18
- * present for temporary credentials.
19
- */
20
- readonly sessionToken?: string;
21
- /**
22
- * AWS credential scope for this set of credentials.
23
- */
24
- readonly credentialScope?: string;
25
- /**
26
- * AWS accountId.
27
- */
28
- readonly accountId?: string;
29
- }
30
- /**
31
- * @public
32
- */
33
- type AwsCredentialIdentityProvider = IdentityProvider<AwsCredentialIdentity>;
34
- //#endregion
35
- export { AwsCredentialIdentity, AwsCredentialIdentityProvider };
@@ -1,18 +0,0 @@
1
- //#region node_modules/@smithy/types/dist-types/identity/identity.d.ts
2
- /**
3
- * @public
4
- */
5
- interface Identity {
6
- /**
7
- * A `Date` when the identity or credential will no longer be accepted.
8
- */
9
- readonly expiration?: Date;
10
- }
11
- /**
12
- * @public
13
- */
14
- interface IdentityProvider<IdentityT extends Identity> {
15
- (identityProperties?: Record<string, any>): Promise<IdentityT>;
16
- }
17
- //#endregion
18
- export { Identity, IdentityProvider };
@@ -1,18 +0,0 @@
1
- //#region node_modules/@smithy/types/dist-types/identity/identity.d.ts
2
- /**
3
- * @public
4
- */
5
- interface Identity {
6
- /**
7
- * A `Date` when the identity or credential will no longer be accepted.
8
- */
9
- readonly expiration?: Date;
10
- }
11
- /**
12
- * @public
13
- */
14
- interface IdentityProvider<IdentityT extends Identity> {
15
- (identityProperties?: Record<string, any>): Promise<IdentityT>;
16
- }
17
- //#endregion
18
- export { Identity, IdentityProvider };
@@ -1,2 +0,0 @@
1
- import { Identity, IdentityProvider } from "./identity/identity.cjs";
2
- import { AwsCredentialIdentity, AwsCredentialIdentityProvider } from "./identity/awsCredentialIdentity.cjs";
@@ -1,2 +0,0 @@
1
- import { Identity, IdentityProvider } from "./identity/identity.mjs";
2
- import { AwsCredentialIdentity, AwsCredentialIdentityProvider } from "./identity/awsCredentialIdentity.mjs";