@payfit/nx-core 5.14.0 → 5.14.1-ephemeral-refacto-artifacttype.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 +57 -19
- package/dist/src/executors/publisher/README.md +34 -16
- package/dist/src/executors/publisher/docker.js +0 -9
- package/dist/src/executors/publisher/docker.js.map +1 -1
- package/dist/src/executors/publisher/executor.js +27 -5
- package/dist/src/executors/publisher/executor.js.map +1 -1
- package/dist/src/executors/publisher/frontend.js +3 -7
- package/dist/src/executors/publisher/frontend.js.map +1 -1
- package/dist/src/executors/publisher/helm.js +0 -9
- package/dist/src/executors/publisher/helm.js.map +1 -1
- package/dist/src/executors/publisher/lambda.d.ts +3 -1
- package/dist/src/executors/publisher/lambda.js +17 -20
- package/dist/src/executors/publisher/lambda.js.map +1 -1
- package/dist/src/executors/publisher/schema.d.ts +0 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +16 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils/common/constants.d.ts +8 -0
- package/dist/src/utils/common/constants.js +11 -0
- package/dist/src/utils/common/constants.js.map +1 -0
- package/dist/src/utils/common/nx.d.ts +2 -2
- package/dist/src/utils/common/nx.js +14 -9
- package/dist/src/utils/common/nx.js.map +1 -1
- package/dist/src/utils/common/oci.d.ts +2 -2
- package/dist/src/utils/common/oci.js +3 -3
- package/dist/src/utils/common/oci.js.map +1 -1
- package/dist/src/utils/docker.js.map +1 -1
- package/dist/src/utils/helm.js.map +1 -1
- package/dist/src/utils/lambda/aws-lambda.d.ts +0 -1
- package/dist/src/utils/lambda/aws-lambda.js +0 -1
- package/dist/src/utils/lambda/aws-lambda.js.map +1 -1
- package/dist/src/utils/lambda/publish.d.ts +0 -1
- package/dist/src/utils/lambda/publish.js +0 -1
- package/dist/src/utils/lambda/publish.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/utils/common/enums.d.ts +0 -7
- package/dist/src/utils/common/enums.js +0 -12
- package/dist/src/utils/common/enums.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# @payfit/nx-core
|
|
2
2
|
|
|
3
|
-
A Nx plugin that simplifies Docker image, Helm chart, lambda,
|
|
3
|
+
A Nx plugin that simplifies Docker image, Helm chart, lambda, frontend, and OpenTofu/Terraform module packaging and releases using Nx release & Nx's versionActions feature.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- Automated Docker image building and publishing
|
|
7
|
+
- Automated Docker image building and publishing to ECR
|
|
8
8
|
- Helm chart packaging and versioning
|
|
9
|
-
- AWS Lambda function packaging and deployment
|
|
9
|
+
- AWS Lambda function packaging and deployment (ZIP and Docker-based)
|
|
10
|
+
- Frontend publishing to S3 with CDN-optimized caching
|
|
10
11
|
- OpenTofu/Terraform module formatting and linting
|
|
11
|
-
- Transparent version management through Nx's versionActions
|
|
12
|
+
- Transparent version management through Nx's versionActions (CalVer by default)
|
|
12
13
|
- Seamless integration with your Nx workspace
|
|
13
14
|
- Auto setup using init generator to update your repository at plugin installation
|
|
14
15
|
|
|
@@ -33,7 +34,7 @@ This command will:
|
|
|
33
34
|
|
|
34
35
|
Using the above command will setup your repo with the default recommended configuration. You are free to edit this configuration to your needs.
|
|
35
36
|
|
|
36
|
-
It will also generate the CircleCI config file
|
|
37
|
+
It will also generate the CircleCI config file and GitHub Actions workflows needed.
|
|
37
38
|
|
|
38
39
|
The plugin uses Nx's versionActions to handle versioning transparently. [We only override the semver calculation to switch it to calver (which you can opt out)](./src/scripts/version-actions.ts).
|
|
39
40
|
|
|
@@ -78,7 +79,7 @@ The plugin automates the process of packaging and deploying AWS Lambda functions
|
|
|
78
79
|
|
|
79
80
|
#### Lambda Configuration Parameters
|
|
80
81
|
|
|
81
|
-
When using Lambda functions, you
|
|
82
|
+
When using Lambda functions, you must configure the following parameters in your project's `project.json` file:
|
|
82
83
|
|
|
83
84
|
```json
|
|
84
85
|
{
|
|
@@ -86,7 +87,7 @@ When using Lambda functions, you can configure the following parameters in your
|
|
|
86
87
|
"lambdaFunctions": [
|
|
87
88
|
{
|
|
88
89
|
"name": "your-lambda",
|
|
89
|
-
"healthCheckPayload": "
|
|
90
|
+
"healthCheckPayload": "{\"key\": \"value\"}" // Escaped JSON string
|
|
90
91
|
}
|
|
91
92
|
],
|
|
92
93
|
"lambdaStacks": ["your-lambda-stack"],
|
|
@@ -98,17 +99,48 @@ When using Lambda functions, you can configure the following parameters in your
|
|
|
98
99
|
|
|
99
100
|
These fields are used to:
|
|
100
101
|
|
|
101
|
-
- `lambdaFunctions
|
|
102
|
-
- `lambdaStacks
|
|
102
|
+
- `lambdaFunctions` **(required)**: Lambda functions to deploy with their name and healthcheck payload. The `healthCheckPayload` must be a valid JSON string.
|
|
103
|
+
- `lambdaStacks` **(required)**: Spacelift stacks deploying lambdas
|
|
103
104
|
- `lambdaBucket`: the S3 bucket where Lambda function zip archives are stored
|
|
104
105
|
- `lambdaOciRepository`: the OCI repository used to publish lambda release candidates for Kargo
|
|
105
106
|
|
|
106
107
|
If `lambdaBucket` is not specified, the plugin will fall back to the default bucket: `payfit-shared-lambda-artifacts`.
|
|
107
|
-
If `lambdaOciRepository` is not specified, the plugin will fall back to the value of `lambdaFunctions[0].name
|
|
108
|
+
If `lambdaOciRepository` is not specified for ZIP-based Lambdas, the plugin will fall back to the value of `lambdaFunctions[0].name`.
|
|
109
|
+
|
|
110
|
+
> **Note**: For Docker-based Lambdas (projects with both `Dockerfile` and lambda metadata), `lambdaOciRepository` must be explicitly specified and the fallback does not apply.
|
|
108
111
|
|
|
109
112
|
#### Lambda Detection
|
|
110
113
|
|
|
111
|
-
The plugin automatically detects Lambda functions by looking for
|
|
114
|
+
The plugin automatically detects Lambda functions by looking for **both** `lambdaFunctions` and `lambdaStacks` metadata arrays in your project's `project.json`. When both are present and non-empty, the plugin will configure the necessary targets for packaging and deploying your Lambda function.
|
|
115
|
+
|
|
116
|
+
### Frontend Release
|
|
117
|
+
|
|
118
|
+
The plugin automates the process of packaging and deploying frontend applications:
|
|
119
|
+
|
|
120
|
+
- Publishing built assets to an S3 bucket with proper cache headers
|
|
121
|
+
- Creating an OCI artifact and pushing it to ECR for Kargo promotion
|
|
122
|
+
|
|
123
|
+
#### Frontend Configuration Parameters
|
|
124
|
+
|
|
125
|
+
When using frontend projects, you can configure the following parameters in your project's `project.json` file:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"metadata": {
|
|
130
|
+
"frontendArtifactsBucketName": "your-frontend-bucket",
|
|
131
|
+
"frontendOciRepository": "your-frontend-oci-repository",
|
|
132
|
+
"frontendFilesWithoutCache": ["index.html", "favicon.ico"],
|
|
133
|
+
"frontendFoldersWithoutCache": ["config"]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
These fields are used to:
|
|
139
|
+
|
|
140
|
+
- `frontendArtifactsBucketName` **(required)**: The S3 bucket where frontend assets are stored
|
|
141
|
+
- `frontendOciRepository`: The OCI repository used to publish frontend release candidates for Kargo. Defaults to the project name.
|
|
142
|
+
- `frontendFilesWithoutCache`: Files that should be served without cache headers (defaults to `["index.html", "favicon.ico"]`)
|
|
143
|
+
- `frontendFoldersWithoutCache`: Folders that should be served without cache headers (defaults to `[]`)
|
|
112
144
|
|
|
113
145
|
### OpenTofu/Terraform Module Management
|
|
114
146
|
|
|
@@ -145,27 +177,33 @@ By default, the plugin looks for a `.tflint.hcl` file at the workspace root. You
|
|
|
145
177
|
|
|
146
178
|
## Automatic Release Target Inference
|
|
147
179
|
|
|
148
|
-
The plugin automatically infers release targets for your projects based on the presence of deployment files:
|
|
180
|
+
The plugin automatically infers release targets for your projects based on the presence of deployment files and metadata:
|
|
149
181
|
|
|
150
|
-
1. **Docker Image Release**: If a `Dockerfile` exists in your project root, the plugin will automatically:
|
|
182
|
+
1. **Docker Image Release**: If a `Dockerfile` exists in your project root **AND** `ecrRepository` metadata is set, the plugin will automatically:
|
|
151
183
|
- Configure Docker image building and publishing
|
|
152
184
|
- Set up version management for the image
|
|
153
185
|
- Handle ECR repository integration
|
|
154
186
|
|
|
155
|
-
2. **Helm Chart Release**: If a `Chart.yaml` exists in your Helm chart folder (defaults to `.deploy/Chart.yaml`), the plugin will automatically:
|
|
187
|
+
2. **Helm Chart Release**: If a `Chart.yaml` exists in your Helm chart folder (defaults to `.deploy/Chart.yaml`) **AND** `chartRegistry` metadata is set, the plugin will automatically:
|
|
156
188
|
- Configure Helm chart packaging and versioning
|
|
157
189
|
- Set up chart publishing to your registry
|
|
158
190
|
- Handle chart dependencies and updates
|
|
159
191
|
|
|
160
|
-
3. **Lambda Function Release**: If
|
|
161
|
-
- Configure Lambda function packaging (zip archive creation)
|
|
192
|
+
3. **Lambda Function Release**: If both `lambdaFunctions` and `lambdaStacks` metadata arrays are present and non-empty, the plugin will automatically:
|
|
193
|
+
- Configure Lambda function packaging (zip archive creation for non-Docker lambdas)
|
|
162
194
|
- Set up S3 bucket uploading for the Lambda artifact
|
|
163
|
-
-
|
|
195
|
+
- Trigger Spacelift stacks and run smoke tests
|
|
196
|
+
- Create and push an OCI artifact to ECR for versioning (for Kargo promotion)
|
|
197
|
+
|
|
198
|
+
4. **Frontend Release**: If `frontendArtifactsBucketName` metadata is set, the plugin will automatically:
|
|
199
|
+
- Configure frontend asset publishing to S3
|
|
200
|
+
- Set up cache headers for optimal CDN caching
|
|
201
|
+
- Create and push an OCI artifact to ECR for versioning (for Kargo promotion)
|
|
164
202
|
|
|
165
|
-
|
|
203
|
+
5. **OpenTofu/Terraform Module Release**: If both `.spacelift/config.yml` and `main.tf` exist in your project root, the plugin will automatically:
|
|
166
204
|
- Configure OpenTofu code formatting with `tofu fmt`
|
|
167
205
|
- Set up linting with `tflint` and validation with `tofu validate`
|
|
168
|
-
- Handle version management for Terraform modules
|
|
206
|
+
- Handle version management for Terraform modules (Spacelift handles deployment from Git tags)
|
|
169
207
|
|
|
170
208
|
The inference of the `nx-release-publish` target is handled through Nx's plugin system, which automatically adds the necessary targets and version actions to your project configuration. You don't need to manually configure these targets.
|
|
171
209
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# nx-core publisher executor
|
|
2
2
|
|
|
3
|
-
It
|
|
3
|
+
It handles all the publishing steps for docker images, helm charts, lambdas & frontend apps.
|
|
4
4
|
|
|
5
5
|
## Release flow overview
|
|
6
6
|
|
|
7
7
|
```mermaid
|
|
8
8
|
flowchart TD
|
|
9
9
|
A[Start release] --> B[Resolve version/tag]
|
|
10
|
-
B --> C{
|
|
10
|
+
B --> C{Artifact type}
|
|
11
11
|
|
|
12
12
|
%% Docker flow
|
|
13
13
|
subgraph Docker
|
|
@@ -16,34 +16,52 @@ flowchart TD
|
|
|
16
16
|
D2 --> D3{Ephemeral image exists?}
|
|
17
17
|
D3 -- Yes --> D4[Retag via AWS SDK]
|
|
18
18
|
D3 -- No --> D5[Build with buildx and push]
|
|
19
|
-
D4 --> D6
|
|
20
|
-
D5 --> D6
|
|
19
|
+
D4 --> D6{Is stable release?}
|
|
20
|
+
D5 --> D6
|
|
21
|
+
D6 -- Yes --> D7[Correlate image in Datadog]
|
|
22
|
+
D6 -- No --> D8[Skip correlation]
|
|
21
23
|
end
|
|
22
24
|
|
|
23
25
|
%% Helm flow
|
|
24
26
|
subgraph Helm
|
|
25
27
|
direction TB
|
|
26
|
-
H1[Ensure AWS auth] --> H2[
|
|
27
|
-
H2 --> H3[
|
|
28
|
-
H3 --> H4
|
|
29
|
-
H4
|
|
30
|
-
|
|
28
|
+
H1[Ensure AWS auth] --> H2[Connect to ChartMuseum via Teleport]
|
|
29
|
+
H2 --> H3[Patch values.yaml + Chart.yaml with version]
|
|
30
|
+
H3 --> H4[Package chart]
|
|
31
|
+
H4 --> H5{OCI ECR configured?}
|
|
32
|
+
H5 -- Yes --> H6[Push OCI chart to ECR]
|
|
33
|
+
H6 --> H7[Push chart to ChartMuseum]
|
|
34
|
+
H5 -- No --> H7
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
%% Lambda flow
|
|
34
38
|
subgraph Lambda
|
|
35
39
|
direction TB
|
|
36
|
-
L1[Ensure AWS auth] --> L2
|
|
37
|
-
L2 --> L3[
|
|
38
|
-
L3 --> L4[
|
|
40
|
+
L1[Ensure AWS auth] --> L2{Is Docker-based Lambda?}
|
|
41
|
+
L2 -- No --> L3[Zip dist and upload to S3]
|
|
42
|
+
L3 --> L4[Create new Lambda version via Spacelift]
|
|
43
|
+
L2 -- Yes --> L4
|
|
44
|
+
L4 --> L5[Run smoke tests]
|
|
45
|
+
L5 --> L6[Create/move Lambda alias]
|
|
46
|
+
L6 --> L7[Push OCI artifact to ECR]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
%% Frontend flow
|
|
50
|
+
subgraph Frontend
|
|
51
|
+
direction TB
|
|
52
|
+
F1[Ensure AWS auth] --> F2[Upload assets to S3 with cache headers]
|
|
53
|
+
F2 --> F3[Login to ECR]
|
|
54
|
+
F3 --> F4[Push OCI artifact to ECR]
|
|
39
55
|
end
|
|
40
56
|
|
|
41
57
|
C -- Docker --> D1
|
|
42
58
|
C -- Helm --> H1
|
|
43
59
|
C -- Lambda --> L1
|
|
60
|
+
C -- Frontend --> F1
|
|
44
61
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
62
|
+
D7 --> Z[Done]
|
|
63
|
+
D8 --> Z
|
|
64
|
+
H7 --> Z
|
|
65
|
+
L7 --> Z
|
|
66
|
+
F4 --> Z
|
|
49
67
|
```
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.publishDocker = publishDocker;
|
|
4
|
-
const fs = require("node:fs");
|
|
5
4
|
const ecr_1 = require("../../utils/common/ecr");
|
|
6
5
|
const github_1 = require("../../utils/common/github");
|
|
7
6
|
const logger_1 = require("../../utils/common/logger");
|
|
@@ -9,14 +8,6 @@ const datadog_1 = require("../../utils/datadog");
|
|
|
9
8
|
const docker_1 = require("../../utils/docker");
|
|
10
9
|
async function publishDocker(options, context, version, projectRoot, isDryRun = false) {
|
|
11
10
|
const projectDockerfile = `${projectRoot}/Dockerfile`;
|
|
12
|
-
if (!fs.existsSync(projectDockerfile)) {
|
|
13
|
-
logger_1.consola.warn(`Dockerfile not found at ${projectDockerfile}, skipping`);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
if (!options.ecrRepository) {
|
|
17
|
-
logger_1.consola.error('Dockerfile detected but No ECR registry provided, add "ecrRepository" to your project.json metadata');
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
11
|
const registry = {
|
|
21
12
|
url: options.isPublicRegistry
|
|
22
13
|
? 'public.ecr.aws/payfit'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/executors/publisher/docker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../src/executors/publisher/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("../../utils/common/constants");
|
|
3
4
|
const logger_1 = require("../../utils/common/logger");
|
|
4
5
|
const nx_1 = require("../../utils/common/nx");
|
|
5
6
|
const docker_1 = require("./docker");
|
|
@@ -8,7 +9,12 @@ const helm_1 = require("./helm");
|
|
|
8
9
|
const lambda_1 = require("./lambda");
|
|
9
10
|
const runExecutor = async (options, context) => {
|
|
10
11
|
const isDryRun = process.env.NX_DRY_RUN === 'true' || options.dryRun || false;
|
|
11
|
-
const
|
|
12
|
+
const projectNode = context.projectGraph?.nodes?.[context.projectName];
|
|
13
|
+
if (!projectNode) {
|
|
14
|
+
throw new Error(`Project ${context.projectName} not found in project graph.`);
|
|
15
|
+
}
|
|
16
|
+
const projectData = projectNode.data;
|
|
17
|
+
const projectRoot = projectData.root;
|
|
12
18
|
const projectDist = await (0, nx_1.getDistForApp)(context);
|
|
13
19
|
// Access nxReleaseVersionData (added by nx-core release executor at runtime)
|
|
14
20
|
const versionData = options?.nxReleaseVersionData;
|
|
@@ -17,10 +23,26 @@ const runExecutor = async (options, context) => {
|
|
|
17
23
|
}
|
|
18
24
|
const { newVersion, currentVersion } = versionData[context.projectName];
|
|
19
25
|
logger_1.consola.start(`Publishing ${context.projectName} from ${currentVersion} to ${newVersion}`);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
// Detect artifact types at runtime
|
|
27
|
+
const artifactTypes = (0, nx_1.getProjectArtifactTypes)(projectRoot, projectData);
|
|
28
|
+
if (artifactTypes.length === 0) {
|
|
29
|
+
logger_1.consola.info('Detected artifact types: none');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
logger_1.consola.info(`Detected artifact types: ${artifactTypes.join(', ')}`);
|
|
33
|
+
}
|
|
34
|
+
if (artifactTypes.includes(constants_1.ArtifactType.DOCKER)) {
|
|
35
|
+
await (0, docker_1.publishDocker)(options, context, newVersion, projectRoot, isDryRun);
|
|
36
|
+
}
|
|
37
|
+
if (artifactTypes.includes(constants_1.ArtifactType.HELM)) {
|
|
38
|
+
await (0, helm_1.publishHelm)(options, context, newVersion, projectRoot, projectDist, isDryRun);
|
|
39
|
+
}
|
|
40
|
+
if (artifactTypes.includes(constants_1.ArtifactType.LAMBDA)) {
|
|
41
|
+
await (0, lambda_1.publishLambda)(options, context, newVersion, projectRoot, projectDist, isDryRun, artifactTypes);
|
|
42
|
+
}
|
|
43
|
+
if (artifactTypes.includes(constants_1.ArtifactType.FRONTEND)) {
|
|
44
|
+
await (0, frontend_1.publishFrontend)(options, context, newVersion, projectRoot, projectDist, isDryRun);
|
|
45
|
+
}
|
|
24
46
|
return {
|
|
25
47
|
success: true,
|
|
26
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAIA,sDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAIA,4DAA2D;AAC3D,sDAAmD;AACnD,8CAA8E;AAC9E,qCAAwC;AACxC,yCAA4C;AAC5C,iCAAoC;AACpC,qCAAwC;AAGxC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACtE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,CAAC,WAAW,8BAA8B,CAC7D,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAA;IACpC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAA;IACpC,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,OAAO,CAAC,CAAA;IAEhD,6EAA6E;IAC7E,MAAM,WAAW,GAAgB,OAAO,EAAE,oBAAoB,CAAA;IAC9D,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE,gBAAO,CAAC,KAAK,CACX,cAAc,OAAO,CAAC,WAAW,SAAS,cAAc,OAAO,UAAU,EAAE,CAC5E,CAAA;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,IAAA,4BAAuB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACvE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,gBAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,gBAAO,CAAC,IAAI,CAAC,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,wBAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,wBAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAA,kBAAW,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IACH,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,wBAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,IAAA,sBAAa,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,aAAa,CACd,CAAA;IACH,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,wBAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,IAAA,0BAAe,EACnB,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -5,8 +5,8 @@ const path_1 = require("path");
|
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
6
|
const tree_1 = require("nx/src/generators/tree");
|
|
7
7
|
const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
8
|
+
const constants_1 = require("../../utils/common/constants");
|
|
8
9
|
const ecr_1 = require("../../utils/common/ecr");
|
|
9
|
-
const enums_1 = require("../../utils/common/enums");
|
|
10
10
|
const logger_1 = require("../../utils/common/logger");
|
|
11
11
|
const oci_1 = require("../../utils/common/oci");
|
|
12
12
|
const s3_1 = require("../../utils/frontend/s3");
|
|
@@ -20,13 +20,9 @@ async function publishFrontend(options, context, version, projectRoot, projectDi
|
|
|
20
20
|
const relativeProjectDist = (0, path_1.relative)(devkit_1.workspaceRoot, projectDist);
|
|
21
21
|
// nosemgrep: javascript.lang.security.audit.path-traversal.path-join-resolve-traversal.path-join-resolve-traversal
|
|
22
22
|
const absoluteProjectRoot = (0, path_1.join)(devkit_1.workspaceRoot, projectRoot);
|
|
23
|
-
const ociRepository = options.frontendOciRepository
|
|
23
|
+
const ociRepository = options.frontendOciRepository;
|
|
24
24
|
// Always add version.json to files without cache
|
|
25
25
|
const filesWithoutCache = [...frontendFilesWithoutCache, 'version.json'];
|
|
26
|
-
if (!frontendArtifactsBucketName) {
|
|
27
|
-
logger_1.consola.warn(`No S3 bucket name provided in project ${context.projectName}, skipping S3 upload`);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
26
|
projectTree.delete(relativeProjectDist + '/package.json');
|
|
31
27
|
if (isDryRun) {
|
|
32
28
|
logger_1.consola.box(`Would have published generated files located at ${projectDist} to S3 bucket ${frontendArtifactsBucketName}/${version} with version ${version} but --dry-run is enabled`);
|
|
@@ -40,7 +36,7 @@ async function publishFrontend(options, context, version, projectRoot, projectDi
|
|
|
40
36
|
const packageJsonPath = (0, path_1.join)(absoluteProjectRoot, 'package.json');
|
|
41
37
|
logger_1.consola.log(`Pushing empty image to ECR ${(0, ecr_1.getAwsEcrRegistry)()}/${ociRepository}:${version}`);
|
|
42
38
|
await (0, aws_auth_1.loginToEcr)((0, ecr_1.getAwsEcrRegistry)());
|
|
43
|
-
await (0, oci_1.pushImageToEcr)(ociRepository, version, packageJsonPath,
|
|
39
|
+
await (0, oci_1.pushImageToEcr)(ociRepository, version, packageJsonPath, constants_1.ArtifactType.FRONTEND, (0, ecr_1.getAwsEcrRegistry)(), bucketFolder);
|
|
44
40
|
logger_1.consola.success('Empty image pushed to ECR successfully!');
|
|
45
41
|
}
|
|
46
42
|
//# sourceMappingURL=frontend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../../../../src/executors/publisher/frontend.ts"],"names":[],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../../../../src/executors/publisher/frontend.ts"],"names":[],"mappings":";;AAaA,0CA4DC;AAzED,+BAAqC;AAErC,uCAA2D;AAC3D,iDAA+C;AAE/C,0DAAsE;AACtE,4DAA2D;AAC3D,gDAA0D;AAC1D,sDAAmD;AACnD,gDAAuD;AACvD,gDAAkD;AAG3C,KAAK,UAAU,eAAe,CACnC,OAAiC,EACjC,OAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,WAAmB,EACnB,QAAiB;IAEjB,MAAM,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAA;IACvE,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,IAAI,EAAE,CAAA;IACzE,MAAM,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAA;IAC7E,MAAM,WAAW,GAAG,IAAI,aAAM,CAAC,sBAAa,EAAE,KAAK,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,QAAQ,2BAA2B,IAAI,OAAO,EAAE,CAAA;IACrE,mHAAmH;IACnH,MAAM,mBAAmB,GAAG,IAAA,eAAQ,EAAC,sBAAa,EAAE,WAAW,CAAC,CAAA;IAChE,mHAAmH;IACnH,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAAC,sBAAa,EAAE,WAAW,CAAC,CAAA;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAA;IAEnD,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,CAAC,GAAG,yBAAyB,EAAE,cAAc,CAAC,CAAA;IAExE,WAAW,CAAC,MAAM,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAA;IAEzD,IAAI,QAAQ,EAAE,CAAC;QACb,gBAAO,CAAC,GAAG,CACT,mDAAmD,WAAW,iBAAiB,2BAA2B,IAAI,OAAO,iBAAiB,OAAO,2BAA2B,CACzK,CAAA;QACD,OAAM;IACR,CAAC;IAED,MAAM,IAAA,uBAAY,GAAE,CAAA;IAEpB,gBAAO,CAAC,GAAG,CACT,2CAA2C,2BAA2B,IAAI,OAAO,iBAAiB,OAAO,EAAE,CAC5G,CAAA;IAED,gBAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC1C,MAAM,IAAA,aAAQ,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,mCAAmC,CACpC,CAAA;IACD,gBAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACtD,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA;IACjE,gBAAO,CAAC,GAAG,CACT,8BAA8B,IAAA,uBAAiB,GAAE,IAAI,aAAa,IAAI,OAAO,EAAE,CAChF,CAAA;IACD,MAAM,IAAA,qBAAU,EAAC,IAAA,uBAAiB,GAAE,CAAC,CAAA;IACrC,MAAM,IAAA,oBAAc,EAClB,aAAa,EACb,OAAO,EACP,eAAe,EACf,wBAAY,CAAC,QAAQ,EACrB,IAAA,uBAAiB,GAAE,EACnB,YAAY,CACb,CAAA;IACD,gBAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAA;AAC5D,CAAC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.publishHelm = publishHelm;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const fs = require("node:fs");
|
|
6
5
|
const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
7
6
|
const github_1 = require("../../utils/common/github");
|
|
8
7
|
const logger_1 = require("../../utils/common/logger");
|
|
@@ -21,14 +20,6 @@ async function publishHelm(options, context, version, projectRoot, projectDist,
|
|
|
21
20
|
const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
|
|
22
21
|
if (!gitBranchName)
|
|
23
22
|
throw new Error('Unable to get current Git branch');
|
|
24
|
-
if (!fs.existsSync(chartConfigPath)) {
|
|
25
|
-
logger_1.consola.warn(`No helm chart found in project ${context.projectName}, searching ${chartConfigPath}, skipping`);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (!options.chartRegistry) {
|
|
29
|
-
logger_1.consola.error('Helm chart detected but no chart registry provided, add "chartRegistry" to your project.json metadata');
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
23
|
if (isDryRun) {
|
|
33
24
|
logger_1.consola.box(`Would have published Helm chart located at ${projectHelmFolder} to ${options.chartOciRegistry ? options.chartOciRegistry : options.chartRegistry}/${gitBranchName} with version ${sanitizedVersion} but --dry-run is enabled`);
|
|
34
25
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/executors/publisher/helm.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/executors/publisher/helm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { ArtifactType } from '../../utils/common/constants';
|
|
2
3
|
import { PublisherExecutorOptions } from './schema';
|
|
3
4
|
/**
|
|
4
5
|
* Function called by nx-release-publish, it :
|
|
@@ -14,5 +15,6 @@ import { PublisherExecutorOptions } from './schema';
|
|
|
14
15
|
* @param projectRoot - Project root directory path
|
|
15
16
|
* @param projectDist - Built code directory path
|
|
16
17
|
* @param isDryRun - Skip actual deployment if true
|
|
18
|
+
* @param artifactTypes - Runtime-detected artifact types for this project
|
|
17
19
|
*/
|
|
18
|
-
export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean): Promise<void>;
|
|
20
|
+
export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean, artifactTypes: ArtifactType[]): Promise<void>;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.publishLambda = publishLambda;
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
6
|
+
const constants_1 = require("../../utils/common/constants");
|
|
6
7
|
const ecr_1 = require("../../utils/common/ecr");
|
|
7
|
-
const enums_1 = require("../../utils/common/enums");
|
|
8
8
|
const github_1 = require("../../utils/common/github");
|
|
9
9
|
const logger_1 = require("../../utils/common/logger");
|
|
10
10
|
const oci_1 = require("../../utils/common/oci");
|
|
@@ -25,8 +25,14 @@ const publish_1 = require("../../utils/lambda/publish");
|
|
|
25
25
|
* @param projectRoot - Project root directory path
|
|
26
26
|
* @param projectDist - Built code directory path
|
|
27
27
|
* @param isDryRun - Skip actual deployment if true
|
|
28
|
+
* @param artifactTypes - Runtime-detected artifact types for this project
|
|
28
29
|
*/
|
|
29
|
-
async function publishLambda(options, context, version, projectRoot, projectDist, isDryRun) {
|
|
30
|
+
async function publishLambda(options, context, version, projectRoot, projectDist, isDryRun, artifactTypes) {
|
|
31
|
+
// Docker-based Lambda requires explicit lambdaOciRepository (ZIP Lambda has fallback)
|
|
32
|
+
if (artifactTypes.includes(constants_1.ArtifactType.DOCKER) &&
|
|
33
|
+
!options.lambdaOciRepository) {
|
|
34
|
+
throw new Error(`lambdaOciRepository is required for Docker-based Lambda project ${context.projectName}`);
|
|
35
|
+
}
|
|
30
36
|
const repoUrl = await (0, github_1.getSanitizedCurrentGitRepoUrl)();
|
|
31
37
|
const repoName = repoUrl.split('/').pop() ?? 'unknown-repo';
|
|
32
38
|
// Sanitize project name to ensure it is a valid S3 key
|
|
@@ -37,32 +43,23 @@ async function publishLambda(options, context, version, projectRoot, projectDist
|
|
|
37
43
|
.replace(/[^a-zA-Z0-9-_]/g, '-');
|
|
38
44
|
const zipName = `${version}.zip`;
|
|
39
45
|
const zipFileNameS3 = `${options.lambdaBucket}/${repoName}/${sanitizedProjectName}/${zipName}`;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
else {
|
|
45
|
-
const lambdaPayloads = options.lambdaFunctions.map(lambdaFunction => lambdaFunction.healthCheckPayload);
|
|
46
|
+
// Validate health check payloads are valid JSON
|
|
47
|
+
for (let i = 0; i < options.lambdaFunctions.length; i++) {
|
|
48
|
+
const lambdaFunction = options.lambdaFunctions[i];
|
|
49
|
+
const payload = lambdaFunction.healthCheckPayload;
|
|
46
50
|
try {
|
|
47
|
-
|
|
48
|
-
JSON.parse(payload);
|
|
49
|
-
});
|
|
51
|
+
JSON.parse(payload);
|
|
50
52
|
}
|
|
51
|
-
catch
|
|
52
|
-
|
|
53
|
-
return;
|
|
53
|
+
catch {
|
|
54
|
+
throw new Error(`Lambda project ${context.projectName} has invalid healthCheckPayload at index ${i} (lambdaFunction: ${lambdaFunction.name}), must be valid JSON, got: ${payload}`);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
|
-
if (!options.lambdaStacks) {
|
|
57
|
-
logger_1.consola.error('No lambda spacelift stacks provided, add "lambdaStacks" to your project.json metadata');
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
57
|
if (isDryRun) {
|
|
61
58
|
logger_1.consola.box(`Would have published lambda function version ${version} for project ${context.projectName} but --dry-run is enabled`);
|
|
62
59
|
return;
|
|
63
60
|
}
|
|
64
61
|
let artifactPath = 'None';
|
|
65
|
-
if (!
|
|
62
|
+
if (!artifactTypes.includes(constants_1.ArtifactType.DOCKER)) {
|
|
66
63
|
await (0, aws_auth_1.checkAwsAuth)();
|
|
67
64
|
logger_1.consola.box(`Publishing the lambda artefact ${zipFileNameS3}`);
|
|
68
65
|
logger_1.consola.info(`Zipping ${zipName} from ${projectDist}`);
|
|
@@ -79,7 +76,7 @@ async function publishLambda(options, context, version, projectRoot, projectDist
|
|
|
79
76
|
const packageJsonPath = (0, path_1.join)(projectDist, 'package.json');
|
|
80
77
|
logger_1.consola.info(`Pushing OCI Artifact to ECR ${(0, ecr_1.getAwsEcrRegistry)()}/${options.lambdaOciRepository}:${version}`);
|
|
81
78
|
await (0, aws_auth_1.loginToEcr)((0, ecr_1.getAwsEcrRegistry)());
|
|
82
|
-
await (0, oci_1.pushImageToEcr)(options.lambdaOciRepository, version, packageJsonPath,
|
|
79
|
+
await (0, oci_1.pushImageToEcr)(options.lambdaOciRepository, version, packageJsonPath, constants_1.ArtifactType.LAMBDA, (0, ecr_1.getAwsEcrRegistry)(), artifactPath);
|
|
83
80
|
logger_1.consola.success(`Lambda version ${version} successfully created and smoke tests passed, your lambda is ready to be promoted in Kargo !`);
|
|
84
81
|
}
|
|
85
82
|
//# sourceMappingURL=lambda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { VersionData } from 'nx/src/command-line/release/utils/shared';
|
|
2
|
-
import { ArtifactType } from '../../utils/common/enums';
|
|
3
2
|
import { LambdaFunction } from '../../utils/common/types';
|
|
4
3
|
export interface PublisherExecutorSchema {
|
|
5
4
|
}
|
|
@@ -22,5 +21,4 @@ export interface PublisherExecutorOptions {
|
|
|
22
21
|
frontendFoldersWithoutCache?: string[];
|
|
23
22
|
buildArgs?: string;
|
|
24
23
|
tflintConfigFile?: string;
|
|
25
|
-
artifactTypes: ArtifactType[];
|
|
26
24
|
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -11,4 +11,4 @@ export declare function createNodesInternal(configFilePath: string, options: Pub
|
|
|
11
11
|
}>;
|
|
12
12
|
export { loginToEcr } from './utils/common/aws-auth';
|
|
13
13
|
export { pushImageToEcr } from './utils/common/oci';
|
|
14
|
-
export { ArtifactType } from './utils/common/
|
|
14
|
+
export { ArtifactType } from './utils/common/constants';
|
package/dist/src/index.js
CHANGED
|
@@ -4,8 +4,7 @@ exports.ArtifactType = exports.pushImageToEcr = exports.loginToEcr = exports.cre
|
|
|
4
4
|
exports.createNodesInternal = createNodesInternal;
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const devkit_1 = require("@nx/devkit");
|
|
7
|
-
const
|
|
8
|
-
const logger_1 = require("./utils/common/logger");
|
|
7
|
+
const constants_1 = require("./utils/common/constants");
|
|
9
8
|
const nx_1 = require("./utils/common/nx");
|
|
10
9
|
exports.createNodesV2 = [
|
|
11
10
|
'**/project.json',
|
|
@@ -22,14 +21,13 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
22
21
|
options = {
|
|
23
22
|
...options,
|
|
24
23
|
...(projectConfiguration.metadata || {}),
|
|
25
|
-
artifactTypes: artifactTypes,
|
|
26
24
|
};
|
|
27
25
|
// Derive project capability flags from enum
|
|
28
|
-
const isDockerProject = artifactTypes.includes(
|
|
29
|
-
const isLambdaProject = artifactTypes.includes(
|
|
30
|
-
const isFrontendProject = artifactTypes.includes(
|
|
31
|
-
const isTfModuleProject = artifactTypes.includes(
|
|
32
|
-
const isHelmProject = artifactTypes.includes(
|
|
26
|
+
const isDockerProject = artifactTypes.includes(constants_1.ArtifactType.DOCKER);
|
|
27
|
+
const isLambdaProject = artifactTypes.includes(constants_1.ArtifactType.LAMBDA);
|
|
28
|
+
const isFrontendProject = artifactTypes.includes(constants_1.ArtifactType.FRONTEND);
|
|
29
|
+
const isTfModuleProject = artifactTypes.includes(constants_1.ArtifactType.TERRAFORM_MODULE);
|
|
30
|
+
const isHelmProject = artifactTypes.includes(constants_1.ArtifactType.HELM);
|
|
33
31
|
// Handle computed values that need special logic
|
|
34
32
|
if (isHelmProject) {
|
|
35
33
|
// Resolve Helm chart folder with fallback
|
|
@@ -42,17 +40,17 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
42
40
|
options.isPublicRegistry = options.isPublicRegistry === true;
|
|
43
41
|
}
|
|
44
42
|
if (isLambdaProject) {
|
|
45
|
-
// Docker based Lambdas should have both ECR and OCI repository defined
|
|
46
|
-
if (options.artifactTypes.includes(enums_1.ArtifactType.DOCKER) &&
|
|
47
|
-
!options.lambdaOciRepository) {
|
|
48
|
-
logger_1.consola.error(`Project ${projectConfiguration.name} is missing lambdaOciRepository metadata.`);
|
|
49
|
-
throw new Error('Missing lambdaOciRepository metadata');
|
|
50
|
-
}
|
|
51
43
|
// Fallback for lambdaOciRepository for ZIP lambda
|
|
52
44
|
if (!options.lambdaOciRepository && options.lambdaFunctions?.[0]) {
|
|
53
45
|
options.lambdaOciRepository = options.lambdaFunctions[0].name;
|
|
54
46
|
}
|
|
55
47
|
}
|
|
48
|
+
if (isFrontendProject) {
|
|
49
|
+
// Fallback for frontendOciRepository
|
|
50
|
+
if (!options.frontendOciRepository) {
|
|
51
|
+
options.frontendOciRepository = projectConfiguration.name;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
56
54
|
// Computed: tflintConfigFile with fallback
|
|
57
55
|
if (isTfModuleProject && !options.tflintConfigFile) {
|
|
58
56
|
options.tflintConfigFile = (0, path_1.join)((0, devkit_1.offsetFromRoot)(projectRoot), '.tflint.hcl');
|
|
@@ -61,7 +59,7 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
61
59
|
let release = null;
|
|
62
60
|
// Create targets for projects with deployable artifacts (Docker/Lambda/Frontend/Helm)
|
|
63
61
|
if (artifactTypes.length > 0 &&
|
|
64
|
-
!artifactTypes.includes(
|
|
62
|
+
!artifactTypes.includes(constants_1.ArtifactType.TERRAFORM_MODULE)) {
|
|
65
63
|
const publisherConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/publisher/schema.json'));
|
|
66
64
|
if (isDockerProject) {
|
|
67
65
|
const dockerBuildConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/docker-build/schema.json'));
|
|
@@ -118,7 +116,7 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
118
116
|
};
|
|
119
117
|
}
|
|
120
118
|
if (artifactTypes.length == 1 &&
|
|
121
|
-
artifactTypes[0] ==
|
|
119
|
+
artifactTypes[0] == constants_1.ArtifactType.TERRAFORM_MODULE) {
|
|
122
120
|
targets['tofu-format'] = {
|
|
123
121
|
executor: 'nx:run-commands',
|
|
124
122
|
cache: false,
|
|
@@ -195,6 +193,6 @@ var aws_auth_1 = require("./utils/common/aws-auth");
|
|
|
195
193
|
Object.defineProperty(exports, "loginToEcr", { enumerable: true, get: function () { return aws_auth_1.loginToEcr; } });
|
|
196
194
|
var oci_1 = require("./utils/common/oci");
|
|
197
195
|
Object.defineProperty(exports, "pushImageToEcr", { enumerable: true, get: function () { return oci_1.pushImageToEcr; } });
|
|
198
|
-
var
|
|
199
|
-
Object.defineProperty(exports, "ArtifactType", { enumerable: true, get: function () { return
|
|
196
|
+
var constants_2 = require("./utils/common/constants");
|
|
197
|
+
Object.defineProperty(exports, "ArtifactType", { enumerable: true, get: function () { return constants_2.ArtifactType; } });
|
|
200
198
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AA8BA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ArtifactType: {
|
|
2
|
+
readonly DOCKER: "docker";
|
|
3
|
+
readonly LAMBDA: "lambda";
|
|
4
|
+
readonly FRONTEND: "frontend";
|
|
5
|
+
readonly TERRAFORM_MODULE: "terraform module";
|
|
6
|
+
readonly HELM: "helm chart";
|
|
7
|
+
};
|
|
8
|
+
export type ArtifactType = (typeof ArtifactType)[keyof typeof ArtifactType];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArtifactType = void 0;
|
|
4
|
+
exports.ArtifactType = {
|
|
5
|
+
DOCKER: 'docker',
|
|
6
|
+
LAMBDA: 'lambda',
|
|
7
|
+
FRONTEND: 'frontend',
|
|
8
|
+
TERRAFORM_MODULE: 'terraform module',
|
|
9
|
+
HELM: 'helm chart',
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,kBAAkB;IACpC,IAAI,EAAE,YAAY;CACV,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ExecutorContext, ProjectConfiguration } from '@nx/devkit';
|
|
2
|
-
import { ArtifactType } from './
|
|
2
|
+
import { ArtifactType } from './constants';
|
|
3
3
|
export declare function getDistForApp(context: ExecutorContext): Promise<string>;
|
|
4
|
-
export declare function getProjectArtifactTypes(projectRoot: string, projectConfiguration: ProjectConfiguration): ArtifactType[]
|
|
4
|
+
export declare function getProjectArtifactTypes(projectRoot: string, projectConfiguration: ProjectConfiguration): ArtifactType[];
|
|
@@ -6,7 +6,7 @@ const node_fs_1 = require("node:fs");
|
|
|
6
6
|
const path_1 = require("path");
|
|
7
7
|
const devkit_1 = require("@nx/devkit");
|
|
8
8
|
const utils_1 = require("nx/src/tasks-runner/utils");
|
|
9
|
-
const
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
10
|
async function getDistForApp(context) {
|
|
11
11
|
const target = (0, devkit_1.parseTargetString)('build', context);
|
|
12
12
|
const project = context.projectGraph.nodes[target.project].data;
|
|
@@ -44,22 +44,27 @@ function getProjectArtifactTypes(projectRoot, projectConfiguration) {
|
|
|
44
44
|
const isDockerProject = (0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, 'Dockerfile')) &&
|
|
45
45
|
!!projectConfiguration?.metadata?.['ecrRepository'];
|
|
46
46
|
const isLambdaProject = !!projectConfiguration?.metadata?.lambdaFunctions &&
|
|
47
|
-
projectConfiguration?.metadata?.lambdaFunctions.length > 0
|
|
47
|
+
projectConfiguration?.metadata?.lambdaFunctions.length > 0 &&
|
|
48
|
+
!!projectConfiguration?.metadata?.lambdaStacks &&
|
|
49
|
+
projectConfiguration?.metadata?.lambdaStacks.length > 0;
|
|
48
50
|
const isFrontendProject = !!projectConfiguration?.metadata?.frontendArtifactsBucketName;
|
|
49
51
|
const isTfModuleProject = (0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, '.spacelift', 'config.yml')) &&
|
|
50
52
|
(0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, 'main.tf'));
|
|
51
|
-
|
|
53
|
+
// Check for Chart.yaml in: custom folder or .deploy folder (default)
|
|
54
|
+
const helmChartFolder = projectConfiguration?.metadata?.helmChartFolder || '.deploy';
|
|
55
|
+
const chartYamlExists = (0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, helmChartFolder, 'Chart.yaml'));
|
|
56
|
+
const isHelmProject = chartYamlExists && !!projectConfiguration?.metadata?.chartRegistry;
|
|
52
57
|
const artifactTypes = [];
|
|
53
58
|
if (isLambdaProject)
|
|
54
|
-
artifactTypes.push(
|
|
59
|
+
artifactTypes.push(constants_1.ArtifactType.LAMBDA);
|
|
55
60
|
if (isDockerProject)
|
|
56
|
-
artifactTypes.push(
|
|
61
|
+
artifactTypes.push(constants_1.ArtifactType.DOCKER);
|
|
57
62
|
if (isFrontendProject)
|
|
58
|
-
artifactTypes.push(
|
|
63
|
+
artifactTypes.push(constants_1.ArtifactType.FRONTEND);
|
|
59
64
|
if (isTfModuleProject)
|
|
60
|
-
artifactTypes.push(
|
|
65
|
+
artifactTypes.push(constants_1.ArtifactType.TERRAFORM_MODULE);
|
|
61
66
|
if (isHelmProject)
|
|
62
|
-
artifactTypes.push(
|
|
63
|
-
return artifactTypes
|
|
67
|
+
artifactTypes.push(constants_1.ArtifactType.HELM);
|
|
68
|
+
return artifactTypes;
|
|
64
69
|
}
|
|
65
70
|
//# sourceMappingURL=nx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../src/utils/common/nx.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../src/utils/common/nx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArtifactType } from './
|
|
1
|
+
import { ArtifactType } from './constants';
|
|
2
2
|
/**
|
|
3
3
|
* Pushes Lambda, frontend function package.json as OCI artifact to ECR using ORAS.
|
|
4
4
|
*
|
|
@@ -9,7 +9,7 @@ import { ArtifactType } from './enums';
|
|
|
9
9
|
* @param ecrRegistry - ECR registry
|
|
10
10
|
* @param remoteArtifactPath - Remote path to artifact (s3 for Frontend and lambda)
|
|
11
11
|
*/
|
|
12
|
-
export declare function pushImageToEcr(ecrRepository: string, tag: string, artifactPath: string, type: ArtifactType.LAMBDA | ArtifactType.FRONTEND, ecrRegistry: string, remoteArtifactPath?: string): Promise<void>;
|
|
12
|
+
export declare function pushImageToEcr(ecrRepository: string, tag: string, artifactPath: string, type: typeof ArtifactType.LAMBDA | typeof ArtifactType.FRONTEND, ecrRegistry: string, remoteArtifactPath?: string): Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Get annotations to add to the OCI push command
|
|
15
15
|
* @param gitRepoUrl
|
|
@@ -4,7 +4,7 @@ exports.pushImageToEcr = pushImageToEcr;
|
|
|
4
4
|
exports.getOciAnnotations = getOciAnnotations;
|
|
5
5
|
exports.pushHelmOciToEcr = pushHelmOciToEcr;
|
|
6
6
|
const consola_1 = require("consola");
|
|
7
|
-
const
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
8
|
const exec_1 = require("./exec");
|
|
9
9
|
const github_1 = require("./github");
|
|
10
10
|
/**
|
|
@@ -48,7 +48,7 @@ function getOciAnnotations(gitRepoUrl, commitSha, type, remoteArtifactPath = 'No
|
|
|
48
48
|
`--annotation "org.opencontainers.image.source=${gitRepoUrl}"`,
|
|
49
49
|
`--annotation "org.opencontainers.image.revision=${commitSha}"`,
|
|
50
50
|
];
|
|
51
|
-
if (type ===
|
|
51
|
+
if (type === constants_1.ArtifactType.LAMBDA || type === constants_1.ArtifactType.FRONTEND)
|
|
52
52
|
annotations.push(`--annotation "payfit.net.artifact=${remoteArtifactPath}"`);
|
|
53
53
|
return annotations;
|
|
54
54
|
}
|
|
@@ -67,7 +67,7 @@ async function pushHelmOciToEcr(ecrRepository, tag, artifactPath, ecrRegistry, c
|
|
|
67
67
|
const gitRepoUrl = await (0, github_1.getSanitizedCurrentGitRepoUrl)();
|
|
68
68
|
const orasPushCommand = [
|
|
69
69
|
`oras push ${ecrRegistry}/${ecrRepository}:${tag}`,
|
|
70
|
-
...getOciAnnotations(gitRepoUrl, commitSha,
|
|
70
|
+
...getOciAnnotations(gitRepoUrl, commitSha, constants_1.ArtifactType.HELM),
|
|
71
71
|
`--disable-path-validation`,
|
|
72
72
|
`--config ${chartConfigPath}:application/vnd.cncf.helm.config.v1+json`,
|
|
73
73
|
`${artifactPath}:application/vnd.cncf.helm.chart.content.v1.tar+gzip`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../../src/utils/common/oci.ts"],"names":[],"mappings":";;AAgBA,wCA2BC;AASD,8CAaC;AAWD,4CA0BC;AAtGD,qCAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"oci.js","sourceRoot":"","sources":["../../../../src/utils/common/oci.ts"],"names":[],"mappings":";;AAgBA,wCA2BC;AASD,8CAaC;AAWD,4CA0BC;AAtGD,qCAAiC;AAEjC,2CAA0C;AAC1C,iCAA6B;AAC7B,qCAAgF;AAEhF;;;;;;;;;GASG;AACI,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,GAAW,EACX,YAAoB,EACpB,IAA+D,EAC/D,WAAmB,EACnB,kBAA2B;IAE3B,iBAAO,CAAC,GAAG,CACT,8BAA8B,WAAW,IAAI,aAAa,IAAI,GAAG,EAAE,CACpE,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;IAChD,MAAM,UAAU,GAAG,MAAM,IAAA,sCAA6B,GAAE,CAAA;IACxD,MAAM,YAAY,GAAG,0BAA0B,IAAI,WAAW,CAAA;IAC9D,MAAM,eAAe,GAAG;QACtB,aAAa,WAAW,IAAI,aAAa,IAAI,GAAG,EAAE;QAClD,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC;QACrE,2BAA2B;QAC3B,mBAAmB,YAAY,IAAI,YAAY,EAAE;KAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,WAAW,GAAG,MAAM,IAAA,WAAI,EAAC,eAAe,EAAE;QAC9C,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;SACjB;KACF,CAAC,CAAA;IACF,iBAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,SAAiB,EACjB,IAAkB,EAClB,kBAAkB,GAAG,MAAM;IAE3B,MAAM,WAAW,GAAG;QAClB,iDAAiD,UAAU,GAAG;QAC9D,mDAAmD,SAAS,GAAG;KAChE,CAAA;IACD,IAAI,IAAI,KAAK,wBAAY,CAAC,MAAM,IAAI,IAAI,KAAK,wBAAY,CAAC,QAAQ;QAChE,WAAW,CAAC,IAAI,CAAC,qCAAqC,kBAAkB,GAAG,CAAC,CAAA;IAC9E,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CACpC,aAAqB,EACrB,GAAW,EACX,YAAoB,EACpB,WAAmB,EACnB,eAAuB;IAEvB,iBAAO,CAAC,GAAG,CACT,8BAA8B,WAAW,IAAI,aAAa,IAAI,GAAG,EAAE,CACpE,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;IAChD,MAAM,UAAU,GAAG,MAAM,IAAA,sCAA6B,GAAE,CAAA;IACxD,MAAM,eAAe,GAAG;QACtB,aAAa,WAAW,IAAI,aAAa,IAAI,GAAG,EAAE;QAClD,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,wBAAY,CAAC,IAAI,CAAC;QAC9D,2BAA2B;QAC3B,YAAY,eAAe,2CAA2C;QACtE,GAAG,YAAY,sDAAsD;KACtE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,MAAM,WAAW,GAAG,MAAM,IAAA,WAAI,EAAC,eAAe,EAAE;QAC9C,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;SACjB;KACF,CAAC,CAAA;IACF,iBAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/utils/docker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../src/utils/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../src/utils/helm.ts"],"names":[],"mappings":";;AAgCA,4CAIC;AAOD,0EAaC;AAOD,0EAUC;AAMD,0CAqDC;AAQD,sCAuDC;AAQD,kCAcC;AASD,4CAmBC;AAOD,kDAsBC;AAlRD,8BAA6B;AAC7B,wCAAuC;AAEvC,6BAA4B;AAE5B,gDAA8D;AAC9D,sCAAgD;AAChD,wCAAoC;AACpC,4CAAyC;AACzC,sCAA+
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../src/utils/helm.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ export declare function getLatestVersion(lambdaARN: string, envVars: Record<stri
|
|
|
19
19
|
*
|
|
20
20
|
* @param stackId - Spacelift stack ID to determine environment
|
|
21
21
|
* @param lambdaFunctions - Array of Lambda function names to test
|
|
22
|
-
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
23
22
|
*/
|
|
24
23
|
export declare function runSmokeTests(stackId: string, lambdaFunctions: LambdaFunction[]): Promise<void>;
|
|
25
24
|
/**
|
|
@@ -49,7 +49,6 @@ async function getLatestVersion(lambdaARN, envVars) {
|
|
|
49
49
|
*
|
|
50
50
|
* @param stackId - Spacelift stack ID to determine environment
|
|
51
51
|
* @param lambdaFunctions - Array of Lambda function names to test
|
|
52
|
-
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
53
52
|
*/
|
|
54
53
|
async function runSmokeTests(stackId, lambdaFunctions) {
|
|
55
54
|
const [environment, accountId] = retrieveAccoundId(stackId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":";;AAsBA,8CAKC;AASD,4CAoBC;
|
|
1
|
+
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,5 @@ import { LambdaFunction } from '../common/types';
|
|
|
10
10
|
* @param stacksName - Array of Spacelift stack IDs
|
|
11
11
|
* @param lambdaFunctions - Array of Lambda function names
|
|
12
12
|
* @param version - Version string for deployment
|
|
13
|
-
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
14
13
|
*/
|
|
15
14
|
export declare function createLambdaVersion(stacksName: string[], lambdaFunctions: LambdaFunction[], version: string): Promise<void>;
|
|
@@ -18,7 +18,6 @@ const spacelift_1 = require("./spacelift");
|
|
|
18
18
|
* @param stacksName - Array of Spacelift stack IDs
|
|
19
19
|
* @param lambdaFunctions - Array of Lambda function names
|
|
20
20
|
* @param version - Version string for deployment
|
|
21
|
-
* @param lambdaHealthCheckPayloads - Array of lambda health check payloads in JSON string format
|
|
22
21
|
*/
|
|
23
22
|
async function createLambdaVersion(stacksName, lambdaFunctions, version) {
|
|
24
23
|
const graphqlService = new graphql_service_1.GraphQlService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/utils/lambda/publish.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/utils/lambda/publish.ts"],"names":[],"mappings":";;AAuBA,kDAwCC;AA/DD,6CAAyD;AACzD,6CAA0C;AAE1C,sEAAiE;AACjE,0EAAqE;AACrE,6CAA+D;AAC/D,2CAGoB;AAEpB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,mBAAmB,CACvC,UAAoB,EACpB,eAAiC,EACjC,OAAe;IAEf,MAAM,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAA;IAC3C,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,cAAc,CAAC,CAAA;IAC7D,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QAClE,MAAM,gBAAgB,GAAG,MAAM,IAAA,+BAAsB,GAAE,CAAA;QACvD,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,mCAAmC,gBAAgB,EAAE,CACzF,CAAA;QACD,MAAM,IAAA,8CAAkC,EACtC,gBAAgB,EAChB,OAAO,EACP,mBAAmB,EACnB,gBAAgB,CACjB,CAAA;QACD,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,uCAAuC,OAAO,EAAE,CACpF,CAAA;QACD,MAAM,IAAA,8CAAkC,EACtC,gBAAgB,EAChB,OAAO,EACP,uBAAuB,EACvB,OAAO,CACR,CAAA;QAED,MAAM,IAAA,iCAAqB,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,IAAA,0BAAa,EAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QAC/D,MAAM,IAAA,8BAAiB,EAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC,CAAA;IACD,sBAAsB;IACtB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACrD,gBAAO,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAA;IAChE,gBAAO,CAAC,GAAG,CAAC,kDAAkD,OAAO,EAAE,CAAC,CAAA;IACxE,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;AACpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArtifactType = void 0;
|
|
4
|
-
var ArtifactType;
|
|
5
|
-
(function (ArtifactType) {
|
|
6
|
-
ArtifactType["DOCKER"] = "docker";
|
|
7
|
-
ArtifactType["LAMBDA"] = "lambda";
|
|
8
|
-
ArtifactType["FRONTEND"] = "frontend";
|
|
9
|
-
ArtifactType["TERRAFORM_MODULE"] = "terraform module";
|
|
10
|
-
ArtifactType["HELM"] = "helm chart";
|
|
11
|
-
})(ArtifactType || (exports.ArtifactType = ArtifactType = {}));
|
|
12
|
-
//# sourceMappingURL=enums.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/utils/common/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qDAAqC,CAAA;IACrC,mCAAmB,CAAA;AACrB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
|