@payfit/nx-core 4.33.4 → 4.34.0-ephemeral-hello-lambda-ee734ec.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payfit/nx-core",
3
- "version": "4.33.4",
3
+ "version": "4.34.0-ephemeral-hello-lambda-ee734ec.0",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const nx_1 = require("../../utils/nx");
4
4
  const docker_1 = require("./docker");
5
5
  const helm_1 = require("./helm");
6
+ const lambda_1 = require("./lambda");
6
7
  const runExecutor = async (options, context) => {
7
8
  const projectGraph = (0, nx_1.getProjectFromGraph)(context);
8
9
  const projectRoot = projectGraph.data.root;
@@ -10,6 +11,7 @@ const runExecutor = async (options, context) => {
10
11
  const version = (0, nx_1.getVersion)(projectDist);
11
12
  await (0, docker_1.publishDocker)(options, context, version, projectRoot);
12
13
  await (0, helm_1.publishHelm)(options, context, version, projectRoot, projectDist);
14
+ await (0, lambda_1.publishLambda)(options, context, version, projectRoot, projectDist);
13
15
  return {
14
16
  success: true,
15
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAGA,uCAA+E;AAC/E,qCAAwC;AACxC,iCAAoC;AAGpC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,wBAAmB,EAAC,OAAO,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAA;IAC1C,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,WAAW,CAAC,CAAA;IAEvC,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,IAAA,kBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAEtE,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAEA,uCAA+E;AAC/E,qCAAwC;AACxC,iCAAoC;AACpC,qCAAwC;AAGxC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,wBAAmB,EAAC,OAAO,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAA;IAC1C,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,WAAW,CAAC,CAAA;IAEvC,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,IAAA,kBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IACtE,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAExE,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ExecutorContext } from '@nx/devkit';
2
+ import { PublisherExecutorOptions } from './schema';
3
+ export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string): Promise<void>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publishLambda = publishLambda;
4
+ const fs = require("node:fs");
5
+ const path_1 = require("path");
6
+ const aws_auth_1 = require("../../utils/aws-auth");
7
+ const github_1 = require("../../utils/github");
8
+ const lambda_1 = require("../../utils/lambda");
9
+ const logger_1 = require("../../utils/logger");
10
+ const oci_1 = require("../../utils/oci");
11
+ const s3_1 = require("../../utils/s3");
12
+ // 1 create an archive file (zip) from the ./dist/hello-lambda
13
+ // 2 push the archive file in a s3 bucket
14
+ // 3 create an OCI artefact
15
+ // 4 push the OCI artefact to ECR
16
+ async function publishLambda(options, context, version, projectRoot, projectDist) {
17
+ const projectLambda = `${projectRoot}/.lambda`;
18
+ const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
19
+ const repoUrl = await (0, github_1.getSanitizedCurrentGitRepoUrl)();
20
+ const repoName = repoUrl.split('/').pop() ?? 'unknown-repo';
21
+ const zipName = `${context.projectName}-${version}.zip`;
22
+ const zipFileNameS3 = `${options.lambdaBucket}/${repoName}/${zipName}`;
23
+ if (!gitBranchName)
24
+ throw new Error('Unable to get current Git branch');
25
+ if (!fs.existsSync(projectLambda)) {
26
+ logger_1.consola.warn(`.lambda file not found at ${projectLambda}, skipping`);
27
+ return;
28
+ }
29
+ await (0, aws_auth_1.checkAwsAuth)();
30
+ logger_1.consola.box(`Publishing the lambda artefact ${zipFileNameS3}`);
31
+ logger_1.consola.info(`Zipping ${zipName} from ${projectDist}`);
32
+ await (0, lambda_1.createZip)(projectDist, zipName);
33
+ const zipPath = (0, path_1.join)(projectDist, zipName);
34
+ logger_1.consola.info(`Uploading ${zipPath} to S3 at ${zipFileNameS3}`);
35
+ await (0, s3_1.pushToS3)(zipPath, zipFileNameS3);
36
+ const packageJsonPath = (0, path_1.join)(projectDist, 'package.json');
37
+ logger_1.consola.info(`Pushing empty image to ECR ${process.env.AWS_ECR_REGISTRY}/${options.lambdaRegistry}:${version}`);
38
+ await (0, oci_1.pushEmptyImageToEcr)(options.lambdaRegistry, version, packageJsonPath);
39
+ logger_1.consola.success('Lambda artifact successfully pushed to S3!');
40
+ }
41
+ //# sourceMappingURL=lambda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/lambda.ts"],"names":[],"mappings":";;AAqBA,sCAwCC;AA7DD,8BAA6B;AAC7B,+BAA2B;AAI3B,mDAAmD;AACnD,+CAG2B;AAC3B,+CAA8C;AAC9C,+CAA4C;AAC5C,yCAAqD;AACrD,uCAAyC;AAGzC,8DAA8D;AAC9D,yCAAyC;AACzC,2BAA2B;AAC3B,iCAAiC;AAE1B,KAAK,UAAU,aAAa,CACjC,OAAiC,EACjC,OAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,WAAmB;IAEnB,MAAM,aAAa,GAAG,GAAG,WAAW,UAAU,CAAA;IAC9C,MAAM,aAAa,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;IAE1D,MAAM,OAAO,GAAG,MAAM,IAAA,sCAA6B,GAAE,CAAA;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,CAAA;IAE3D,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,CAAA;IACvD,MAAM,aAAa,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAA;IAEtE,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,gBAAO,CAAC,IAAI,CAAC,6BAA6B,aAAa,YAAY,CAAC,CAAA;QACpE,OAAM;IACR,CAAC;IAED,MAAM,IAAA,uBAAY,GAAE,CAAA;IACpB,gBAAO,CAAC,GAAG,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAA;IAE9D,gBAAO,CAAC,IAAI,CAAC,WAAW,OAAO,SAAS,WAAW,EAAE,CAAC,CAAA;IACtD,MAAM,IAAA,kBAAS,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAErC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC1C,gBAAO,CAAC,IAAI,CAAC,aAAa,OAAO,aAAa,aAAa,EAAE,CAAC,CAAA;IAC9D,MAAM,IAAA,aAAQ,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEtC,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACzD,gBAAO,CAAC,IAAI,CACV,8BAA8B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,EAAE,CAClG,CAAA;IACD,MAAM,IAAA,yBAAmB,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;IAE3E,gBAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAA;AAC/D,CAAC"}
@@ -4,4 +4,6 @@ export interface PublisherExecutorOptions {
4
4
  ecrRegistry: string
5
5
  ociEcrRegistry?: string
6
6
  isPublicRegistry?: boolean
7
+ lambdaBucket?: string
8
+ lambdaRegistry?: string
7
9
  }
@@ -21,6 +21,15 @@
21
21
  "type": "boolean",
22
22
  "description": "Whether to use the public ECR registry",
23
23
  "default": false
24
+ },
25
+ "lambdaBucket": {
26
+ "type": "string",
27
+ "description": "The S3 bucket for lambda",
28
+ "default": "payfit-shared-lambda-artifacts"
29
+ },
30
+ "lambdaRegistry": {
31
+ "type": "string",
32
+ "description": "The OCI registry for lambda"
24
33
  }
25
34
  },
26
35
  "required": []
package/src/index.js CHANGED
@@ -15,6 +15,7 @@ async function createNodesInternal(configFilePath, options, context) {
15
15
  const projectRoot = (0, path_1.dirname)(configFilePath);
16
16
  const isDockerProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'Dockerfile'));
17
17
  const isHelmProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, '.deploy/Chart.yaml'));
18
+ const isLambdaProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, '.lambda'));
18
19
  const targets = {};
19
20
  const ecrRegistry = isDockerProject
20
21
  ? projectConfiguration.metadata &&
@@ -28,8 +29,16 @@ async function createNodesInternal(configFilePath, options, context) {
28
29
  ? projectConfiguration.metadata &&
29
30
  projectConfiguration.metadata['isPublicRegistry'] == true
30
31
  : false;
32
+ const lambdaRegistry = isLambdaProject
33
+ ? projectConfiguration.metadata &&
34
+ projectConfiguration.metadata['lambdaRegistry']
35
+ : undefined;
36
+ const lambdaBucket = isLambdaProject
37
+ ? projectConfiguration.metadata &&
38
+ projectConfiguration.metadata['lambdaBucket']
39
+ : undefined;
31
40
  let release = null;
32
- if (isHelmProject || isDockerProject) {
41
+ if (isHelmProject || isDockerProject || isLambdaProject) {
33
42
  const publisherConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/publisher/schema.json'));
34
43
  targets['nx-release-publish'] = {
35
44
  // infer the custom publisher target to handle publishing docker & helm artefacts
@@ -38,9 +47,11 @@ async function createNodesInternal(configFilePath, options, context) {
38
47
  ecrRegistry,
39
48
  chartRegistry,
40
49
  isPublicRegistry,
50
+ lambdaBucket,
51
+ lambdaRegistry,
41
52
  },
42
53
  metadata: {
43
- technologies: ['helm', 'docker'],
54
+ technologies: ['helm', 'docker', 'lambda'],
44
55
  description: publisherConfig.description,
45
56
  },
46
57
  };
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-core/src/index.ts"],"names":[],"mappings":";;;AAAA,2BAA+B;AAC/B,+BAAoC;AAEpC,uCAKmB;AAKN,QAAA,aAAa,GAAmC;IAC3D,iBAAiB;IACjB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAA;IACH,CAAC;CACF,CAAA;AAED,KAAK,UAAU,mBAAmB,CAChC,cAAsB,EACtB,OAAwB,EACxB,OAA6B;IAE7B,MAAM,oBAAoB,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,eAAe,GAAG,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IACnE,MAAM,aAAa,GAAG,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEzE,MAAM,OAAO,GAAG,EAAE,CAAA;IAElB,MAAM,WAAW,GAAG,eAAe;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI;QAC3D,CAAC,CAAC,KAAK,CAAA;IAET,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAA,qBAAY,EAClC,IAAA,WAAI,EAAC,SAAS,EAAE,kCAAkC,CAAC,CACpD,CAAA;QACD,OAAO,CAAC,oBAAoB,CAAC,GAAG;YAC9B,iFAAiF;YACjF,QAAQ,EAAE,2BAA2B;YACrC,OAAO,EAAE;gBACP,WAAW;gBACX,aAAa;gBACb,gBAAgB;aACjB;YACD,QAAQ,EAAE;gBACR,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAChC,WAAW,EAAE,eAAe,CAAC,WAAW;aACzC;SACF,CAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5D,OAAO,GAAG;gBACR,4DAA4D;gBAC5D,OAAO,EAAE;oBACP,cAAc,EAAE,gCAAgC;iBACjD;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,CAAC,WAAW,CAAC,EAAE;gBACb,GAAG,oBAAoB;gBACvB,OAAO;gBACP,OAAO;aACR;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-core/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const createZip: (source: string, zipName: string) => Promise<import("tinyexec").Output>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createZip = void 0;
4
+ const exec_1 = require("./exec");
5
+ const createZip = async (source, zipName) => {
6
+ const cwd = process.cwd();
7
+ process.chdir(source);
8
+ const cmd = `zip -r ${zipName} .`;
9
+ const zip = await (0, exec_1.exec)(cmd, { throwOnError: true });
10
+ process.chdir(cwd);
11
+ return zip;
12
+ };
13
+ exports.createZip = createZip;
14
+ //# sourceMappingURL=lambda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../../packages/nx-core/src/utils/lambda.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAEtB,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACrB,MAAM,GAAG,GAAG,UAAU,OAAO,IAAI,CAAA;IACjC,MAAM,GAAG,GAAG,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,SAAS,aAOrB"}
@@ -0,0 +1 @@
1
+ export declare function pushEmptyImageToEcr(lambdaEcrRepository: string, tag: string, pathToPackageJson: string): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pushEmptyImageToEcr = pushEmptyImageToEcr;
4
+ const consola_1 = require("consola");
5
+ const exec_1 = require("./exec");
6
+ async function pushEmptyImageToEcr(lambdaEcrRepository, tag, pathToPackageJson) {
7
+ if (!process.env.AWS_ECR_REGISTRY) {
8
+ throw new Error('AWS_ECR_REGISTRY environment variable is not set');
9
+ }
10
+ if (!lambdaEcrRepository) {
11
+ throw new Error('Lambda ECR repository is not provided');
12
+ }
13
+ if (!tag) {
14
+ throw new Error('Tag is not provided');
15
+ }
16
+ if (!pathToPackageJson) {
17
+ throw new Error('Path to package.json is not provided');
18
+ }
19
+ const uploadToOci = await (0, exec_1.exec)(`oras push ${process.env.AWS_ECR_REGISTRY}/${lambdaEcrRepository}:${tag} --artifact-type application/vnd.payfit.lambda.manifest ${pathToPackageJson}`, {
20
+ throwOnError: true,
21
+ });
22
+ consola_1.consola.log(uploadToOci.stdout);
23
+ if (uploadToOci.exitCode !== 0) {
24
+ throw new Error(`Failed to push empty image to ECR: ${uploadToOci.stderr || 'Unknown error'}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=oci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../../../packages/nx-core/src/utils/oci.ts"],"names":[],"mappings":";;AAIA,kDA6BC;AAjCD,qCAAiC;AAEjC,iCAA6B;AAEtB,KAAK,UAAU,mBAAmB,CACvC,mBAA2B,EAC3B,GAAW,EACX,iBAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,IAAA,WAAI,EAC5B,aAAa,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB,IAAI,GAAG,2DAA2D,iBAAiB,EAAE,EACrJ;QACE,YAAY,EAAE,IAAI;KACnB,CACF,CAAA;IACD,iBAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,CAAC,MAAM,IAAI,eAAe,EAAE,CAC9E,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function pushToS3(source: string, targetS3FileName: string): Promise<void>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pushToS3 = pushToS3;
4
+ const aws_auth_1 = require("./aws-auth");
5
+ const exec_1 = require("./exec");
6
+ async function pushToS3(source, targetS3FileName) {
7
+ if (!source || !targetS3FileName) {
8
+ throw new Error('Missing source or target for s3 cp');
9
+ }
10
+ const bucketName = targetS3FileName.split('/')[0];
11
+ const fileName = targetS3FileName.split('/').slice(1).join('/');
12
+ const profile = (0, aws_auth_1.getProfileName)() === 'default' ? '' : `--profile ${(0, aws_auth_1.getProfileName)()}`;
13
+ await (0, exec_1.exec)(`aws s3 cp ${profile} --sse AES256 ${source} s3://${targetS3FileName}`, { throwOnError: true });
14
+ if (targetS3FileName.includes('ephemeral')) {
15
+ await (0, exec_1.exec)(`aws s3api put-object-tagging ${profile} --bucket ${bucketName} --key ${fileName} --tagging '{"TagSet": [{ "Key": "auto-purge", "Value": "true" }]}'`, { throwOnError: true });
16
+ }
17
+ }
18
+ //# sourceMappingURL=s3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../../packages/nx-core/src/utils/s3.ts"],"names":[],"mappings":";;AAGA,4BAqBC;AAxBD,yCAA2C;AAC3C,iCAA6B;AAEtB,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,gBAAwB;IACrE,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE/D,MAAM,OAAO,GACX,IAAA,yBAAc,GAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAA,yBAAc,GAAE,EAAE,CAAA;IAEvE,MAAM,IAAA,WAAI,EACR,aAAa,OAAO,iBAAiB,MAAM,SAAS,gBAAgB,EAAE,EACtE,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAA;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAA,WAAI,EACR,gCAAgC,OAAO,aAAa,UAAU,UAAU,QAAQ,qEAAqE,EACrJ,EAAE,YAAY,EAAE,IAAI,EAAE,CACvB,CAAA;IACH,CAAC;AACH,CAAC"}