@payfit/nx-core 5.15.9 → 5.15.10-ephemeral-release-rerun.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/README.md +39 -2
- package/dist/src/executors/publisher/executor.js +4 -3
- package/dist/src/executors/publisher/executor.js.map +1 -1
- package/dist/src/executors/publisher/frontend.d.ts +1 -1
- package/dist/src/executors/publisher/frontend.js +1 -3
- package/dist/src/executors/publisher/frontend.js.map +1 -1
- package/dist/src/executors/publisher/helm.d.ts +1 -1
- package/dist/src/executors/publisher/helm.js +2 -4
- package/dist/src/executors/publisher/helm.js.map +1 -1
- package/dist/src/executors/publisher/lambda.d.ts +2 -1
- package/dist/src/executors/publisher/lambda.js +4 -7
- package/dist/src/executors/publisher/lambda.js.map +1 -1
- package/dist/src/executors/publisher/schema.d.ts +1 -0
- package/dist/src/executors/release/executor.js +19 -3
- package/dist/src/executors/release/executor.js.map +1 -1
- package/dist/src/index.js +72 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/scripts/version-actions.mock.js +15 -17
- package/dist/src/scripts/version-actions.mock.js.map +1 -1
- package/dist/src/utils/common/constants.d.ts +1 -0
- package/dist/src/utils/common/constants.js +1 -0
- package/dist/src/utils/common/constants.js.map +1 -1
- package/dist/src/utils/common/github.d.ts +4 -0
- package/dist/src/utils/common/github.js +27 -0
- package/dist/src/utils/common/github.js.map +1 -1
- package/dist/src/utils/common/nx.d.ts +0 -5
- package/dist/src/utils/common/nx.js +4 -17
- package/dist/src/utils/common/nx.js.map +1 -1
- package/dist/src/utils/lambda/lambda.d.ts +1 -2
- package/dist/src/utils/lambda/lambda.js +7 -6
- package/dist/src/utils/lambda/lambda.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ A Nx plugin that simplifies Docker image, Helm chart, lambda, frontend, and Open
|
|
|
8
8
|
- Helm chart packaging and versioning
|
|
9
9
|
- AWS Lambda function packaging and deployment (ZIP and Docker-based)
|
|
10
10
|
- Frontend publishing to S3 with CDN-optimized caching
|
|
11
|
+
- OpenTofu/Terraform module formatting and linting
|
|
11
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
|
|
@@ -141,6 +142,39 @@ These fields are used to:
|
|
|
141
142
|
- `frontendFilesWithoutCache`: Files that should be served without cache headers (defaults to `["index.html", "favicon.ico"]`)
|
|
142
143
|
- `frontendFoldersWithoutCache`: Folders that should be served without cache headers (defaults to `[]`)
|
|
143
144
|
|
|
145
|
+
### OpenTofu/Terraform Module Management
|
|
146
|
+
|
|
147
|
+
The plugin provides automatic formatting and linting for OpenTofu/Terraform modules:
|
|
148
|
+
|
|
149
|
+
- Running `tofu fmt` to format code
|
|
150
|
+
- Running `tflint` for linting
|
|
151
|
+
- Running `tofu validate` for validation
|
|
152
|
+
- Automatic version management for modules
|
|
153
|
+
|
|
154
|
+
#### OpenTofu/Terraform Detection
|
|
155
|
+
|
|
156
|
+
The plugin automatically detects OpenTofu/Terraform modules by looking for both:
|
|
157
|
+
|
|
158
|
+
- A `.spacelift/config.yml` file
|
|
159
|
+
- A `main.tf` file in your project root
|
|
160
|
+
|
|
161
|
+
When these files are present, the plugin will configure the following targets:
|
|
162
|
+
|
|
163
|
+
- `tofu-format`: Format OpenTofu code (with `check` and `write` configurations)
|
|
164
|
+
- `lint`: Lint and validate OpenTofu code using tflint and tofu validate
|
|
165
|
+
|
|
166
|
+
#### TFLint Configuration
|
|
167
|
+
|
|
168
|
+
By default, the plugin looks for a `.tflint.hcl` file at the workspace root. You can customize this location by adding a `tflintConfigFile` metadata to your project's `project.json`:
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
{
|
|
172
|
+
"metadata": {
|
|
173
|
+
"tflintConfigFile": "path/to/custom/.tflint.hcl"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
144
178
|
## Automatic Release Target Inference
|
|
145
179
|
|
|
146
180
|
The plugin automatically infers release targets for your projects based on the presence of deployment files and metadata:
|
|
@@ -166,9 +200,12 @@ The plugin automatically infers release targets for your projects based on the p
|
|
|
166
200
|
- Set up cache headers for optimal CDN caching
|
|
167
201
|
- Create and push an OCI artifact to ECR for versioning (for Kargo promotion)
|
|
168
202
|
|
|
169
|
-
|
|
203
|
+
5. **OpenTofu/Terraform Module Release**: If both `.spacelift/config.yml` and `main.tf` exist in your project root, the plugin will automatically:
|
|
204
|
+
- Configure OpenTofu code formatting with `tofu fmt`
|
|
205
|
+
- Set up linting with `tflint` and validation with `tofu validate`
|
|
206
|
+
- Handle version management for Terraform modules (Spacelift handles deployment from Git tags)
|
|
170
207
|
|
|
171
|
-
|
|
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.
|
|
172
209
|
|
|
173
210
|
---
|
|
174
211
|
|
|
@@ -15,6 +15,7 @@ const runExecutor = async (options, context) => {
|
|
|
15
15
|
}
|
|
16
16
|
const projectData = projectNode.data;
|
|
17
17
|
const projectRoot = projectData.root;
|
|
18
|
+
const projectDist = await (0, nx_1.getDistForApp)(context);
|
|
18
19
|
// Access nxReleaseVersionData (added by nx-core release executor at runtime)
|
|
19
20
|
const versionData = options?.nxReleaseVersionData;
|
|
20
21
|
if (!versionData?.[context.projectName]) {
|
|
@@ -34,13 +35,13 @@ const runExecutor = async (options, context) => {
|
|
|
34
35
|
await (0, docker_1.publishDocker)(options, context, newVersion, projectRoot, isDryRun);
|
|
35
36
|
}
|
|
36
37
|
if (artifactTypes.includes(constants_1.ArtifactType.HELM)) {
|
|
37
|
-
await (0, helm_1.publishHelm)(options, context, newVersion, projectRoot, isDryRun);
|
|
38
|
+
await (0, helm_1.publishHelm)(options, context, newVersion, projectRoot, projectDist, isDryRun);
|
|
38
39
|
}
|
|
39
40
|
if (artifactTypes.includes(constants_1.ArtifactType.LAMBDA)) {
|
|
40
|
-
await (0, lambda_1.publishLambda)(options, context, newVersion, projectRoot, isDryRun, artifactTypes);
|
|
41
|
+
await (0, lambda_1.publishLambda)(options, context, newVersion, projectRoot, projectDist, isDryRun, artifactTypes);
|
|
41
42
|
}
|
|
42
43
|
if (artifactTypes.includes(constants_1.ArtifactType.FRONTEND)) {
|
|
43
|
-
await (0, frontend_1.publishFrontend)(options, context, newVersion, projectRoot, isDryRun);
|
|
44
|
+
await (0, frontend_1.publishFrontend)(options, context, newVersion, projectRoot, projectDist, isDryRun);
|
|
44
45
|
}
|
|
45
46
|
return {
|
|
46
47
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAIA,4DAA2D;AAC3D,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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ExecutorContext } from '@nx/devkit';
|
|
2
2
|
import { PublisherExecutorOptions } from './schema';
|
|
3
|
-
export declare function publishFrontend(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, isDryRun: boolean): Promise<void>;
|
|
3
|
+
export declare function publishFrontend(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean): Promise<void>;
|
|
@@ -8,11 +8,9 @@ const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
|
8
8
|
const constants_1 = require("../../utils/common/constants");
|
|
9
9
|
const ecr_1 = require("../../utils/common/ecr");
|
|
10
10
|
const logger_1 = require("../../utils/common/logger");
|
|
11
|
-
const nx_1 = require("../../utils/common/nx");
|
|
12
11
|
const oci_1 = require("../../utils/common/oci");
|
|
13
12
|
const s3_1 = require("../../utils/frontend/s3");
|
|
14
|
-
async function publishFrontend(options, context, version, projectRoot, isDryRun) {
|
|
15
|
-
const projectDist = await (0, nx_1.getDistForApp)(context);
|
|
13
|
+
async function publishFrontend(options, context, version, projectRoot, projectDist, isDryRun) {
|
|
16
14
|
const frontendArtifactsBucketName = options.frontendArtifactsBucketName;
|
|
17
15
|
const frontendFilesWithoutCache = options.frontendFilesWithoutCache || [];
|
|
18
16
|
const frontendFoldersWithoutCache = options.frontendFoldersWithoutCache || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../../../../src/executors/publisher/frontend.ts"],"names":[],"mappings":";;
|
|
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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ExecutorContext } from '@nx/devkit';
|
|
2
2
|
import { PublisherExecutorOptions } from './schema';
|
|
3
|
-
export declare function publishHelm(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, isDryRun: boolean): Promise<void>;
|
|
3
|
+
export declare function publishHelm(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean): Promise<void>;
|
|
@@ -5,20 +5,18 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const aws_auth_1 = require("../../utils/common/aws-auth");
|
|
6
6
|
const github_1 = require("../../utils/common/github");
|
|
7
7
|
const logger_1 = require("../../utils/common/logger");
|
|
8
|
-
const nx_1 = require("../../utils/common/nx");
|
|
9
8
|
const tsh_1 = require("../../utils/common/tsh");
|
|
10
9
|
const docker_1 = require("../../utils/docker");
|
|
11
10
|
const helm_1 = require("../../utils/helm");
|
|
12
|
-
async function publishHelm(options, context, version, projectRoot, isDryRun) {
|
|
11
|
+
async function publishHelm(options, context, version, projectRoot, projectDist, isDryRun) {
|
|
13
12
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
14
13
|
try {
|
|
15
|
-
const tempArtifactDir = (0, nx_1.getTempArtifactDir)(context);
|
|
16
14
|
const sanitizedVersion = (0, docker_1.getShortVersion)(version);
|
|
17
15
|
const helmChartFolder = options.helmChartFolder || '.deploy';
|
|
18
16
|
const projectHelmFolder = `${projectRoot}/${helmChartFolder}`;
|
|
19
17
|
const valuesConfigPath = `${projectHelmFolder}/values.yaml`;
|
|
20
18
|
const chartConfigPath = `${projectHelmFolder}/Chart.yaml`;
|
|
21
|
-
const destinationHelmFolder = `${
|
|
19
|
+
const destinationHelmFolder = `${projectDist}/chart/`;
|
|
22
20
|
const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
|
|
23
21
|
if (!gitBranchName)
|
|
24
22
|
throw new Error('Unable to get current Git branch');
|
|
@@ -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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"}
|
|
@@ -13,7 +13,8 @@ import { PublisherExecutorOptions } from './schema';
|
|
|
13
13
|
* @param context - NX executor context with project information
|
|
14
14
|
* @param version - Version string for deployment
|
|
15
15
|
* @param projectRoot - Project root directory path
|
|
16
|
+
* @param projectDist - Built code directory path
|
|
16
17
|
* @param isDryRun - Skip actual deployment if true
|
|
17
18
|
* @param artifactTypes - Runtime-detected artifact types for this project
|
|
18
19
|
*/
|
|
19
|
-
export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, isDryRun: boolean, artifactTypes: ArtifactType[]): Promise<void>;
|
|
20
|
+
export declare function publishLambda(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean, artifactTypes: ArtifactType[]): Promise<void>;
|
|
@@ -7,7 +7,6 @@ const constants_1 = require("../../utils/common/constants");
|
|
|
7
7
|
const ecr_1 = require("../../utils/common/ecr");
|
|
8
8
|
const github_1 = require("../../utils/common/github");
|
|
9
9
|
const logger_1 = require("../../utils/common/logger");
|
|
10
|
-
const nx_1 = require("../../utils/common/nx");
|
|
11
10
|
const oci_1 = require("../../utils/common/oci");
|
|
12
11
|
const s3_1 = require("../../utils/common/s3");
|
|
13
12
|
const lambda_1 = require("../../utils/lambda/lambda");
|
|
@@ -24,12 +23,11 @@ const publish_1 = require("../../utils/lambda/publish");
|
|
|
24
23
|
* @param context - NX executor context with project information
|
|
25
24
|
* @param version - Version string for deployment
|
|
26
25
|
* @param projectRoot - Project root directory path
|
|
26
|
+
* @param projectDist - Built code directory path
|
|
27
27
|
* @param isDryRun - Skip actual deployment if true
|
|
28
28
|
* @param artifactTypes - Runtime-detected artifact types for this project
|
|
29
29
|
*/
|
|
30
|
-
async function publishLambda(options, context, version, projectRoot, isDryRun, artifactTypes) {
|
|
31
|
-
const projectDist = await (0, nx_1.getDistForApp)(context);
|
|
32
|
-
const tempArtifactDir = (0, nx_1.getTempArtifactDir)(context);
|
|
30
|
+
async function publishLambda(options, context, version, projectRoot, projectDist, isDryRun, artifactTypes) {
|
|
33
31
|
// Docker-based Lambda requires explicit lambdaOciRepository (ZIP Lambda has fallback)
|
|
34
32
|
if (artifactTypes.includes(constants_1.ArtifactType.DOCKER) &&
|
|
35
33
|
!options.lambdaOciRepository) {
|
|
@@ -64,10 +62,9 @@ async function publishLambda(options, context, version, projectRoot, isDryRun, a
|
|
|
64
62
|
if (!artifactTypes.includes(constants_1.ArtifactType.DOCKER)) {
|
|
65
63
|
await (0, aws_auth_1.checkAwsAuth)();
|
|
66
64
|
logger_1.consola.box(`Publishing the lambda artefact ${zipFileNameS3}`);
|
|
67
|
-
// Create zip from built code (projectDist) but save it to temp artifacts dir
|
|
68
65
|
logger_1.consola.info(`Zipping ${zipName} from ${projectDist}`);
|
|
69
|
-
await (0, lambda_1.createZip)(projectDist, zipName
|
|
70
|
-
const zipPath = (0, path_1.join)(
|
|
66
|
+
await (0, lambda_1.createZip)(projectDist, zipName);
|
|
67
|
+
const zipPath = (0, path_1.join)(projectDist, zipName);
|
|
71
68
|
logger_1.consola.info(`Uploading ${zipPath} to S3 at ${zipFileNameS3}`);
|
|
72
69
|
await (0, s3_1.pushToS3)(zipPath, zipFileNameS3);
|
|
73
70
|
artifactPath = 's3://' + zipFileNameS3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":";;AA+BA,
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/executors/publisher/lambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
3
5
|
const release_1 = require("nx/release");
|
|
4
6
|
const circleci_1 = require("../../utils/common/circleci");
|
|
5
7
|
const github_1 = require("../../utils/common/github");
|
|
@@ -79,16 +81,30 @@ const runExecutor = async (options, context) => {
|
|
|
79
81
|
versionData: projectsVersionData,
|
|
80
82
|
});
|
|
81
83
|
let success = true;
|
|
82
|
-
|
|
84
|
+
for (const [projectName, result] of Object.entries(publishResults)) {
|
|
85
|
+
const newVersion = projectsVersionData[projectName]?.newVersion;
|
|
83
86
|
if (result.code === 0) {
|
|
84
|
-
const newVersion = projectsVersionData[projectName]?.newVersion;
|
|
85
87
|
logger_1.consola.success(`Published ${projectName} in version ${newVersion} successfully!`);
|
|
86
88
|
}
|
|
87
89
|
else {
|
|
88
90
|
logger_1.consola.fail(`Failed to publish ${projectName} with exit code ${result.code}`);
|
|
91
|
+
if (newVersion && !dryRun) {
|
|
92
|
+
const nxJson = JSON.parse(fs.readFileSync(path.join(context.root, 'nx.json'), 'utf-8'));
|
|
93
|
+
const releaseConfig = nxJson?.release;
|
|
94
|
+
// Get the pattern - check group-specific config first, then fall back to global
|
|
95
|
+
const groupPattern = Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes(projectName))?.releaseTag?.pattern ||
|
|
96
|
+
Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes('*'))?.releaseTag?.pattern ||
|
|
97
|
+
releaseConfig?.groups?.[projectName]?.releaseTag?.pattern;
|
|
98
|
+
const pattern = groupPattern ||
|
|
99
|
+
releaseConfig?.releaseTag?.pattern ||
|
|
100
|
+
'{projectName}@{version}';
|
|
101
|
+
await (0, github_1.removeTag)(pattern
|
|
102
|
+
.replace('{projectName}', projectName)
|
|
103
|
+
.replace('{version}', newVersion));
|
|
104
|
+
}
|
|
89
105
|
success = false;
|
|
90
106
|
}
|
|
91
|
-
}
|
|
107
|
+
}
|
|
92
108
|
return {
|
|
93
109
|
success,
|
|
94
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -26,6 +26,7 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
26
26
|
const isDockerProject = artifactTypes.includes(constants_1.ArtifactType.DOCKER);
|
|
27
27
|
const isLambdaProject = artifactTypes.includes(constants_1.ArtifactType.LAMBDA);
|
|
28
28
|
const isFrontendProject = artifactTypes.includes(constants_1.ArtifactType.FRONTEND);
|
|
29
|
+
const isTfModuleProject = artifactTypes.includes(constants_1.ArtifactType.TERRAFORM_MODULE);
|
|
29
30
|
const isHelmProject = artifactTypes.includes(constants_1.ArtifactType.HELM);
|
|
30
31
|
// Handle computed values that need special logic
|
|
31
32
|
if (isHelmProject) {
|
|
@@ -50,10 +51,15 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
50
51
|
options.frontendOciRepository = projectConfiguration.name;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
// Computed: tflintConfigFile with fallback
|
|
55
|
+
if (isTfModuleProject && !options.tflintConfigFile) {
|
|
56
|
+
options.tflintConfigFile = (0, path_1.join)((0, devkit_1.offsetFromRoot)(projectRoot), '.tflint.hcl');
|
|
57
|
+
}
|
|
53
58
|
const isRootProject = projectRoot === '.';
|
|
54
59
|
let release = null;
|
|
55
60
|
// Create targets for projects with deployable artifacts (Docker/Lambda/Frontend/Helm)
|
|
56
|
-
if (artifactTypes.length > 0
|
|
61
|
+
if (artifactTypes.length > 0 &&
|
|
62
|
+
!artifactTypes.includes(constants_1.ArtifactType.TERRAFORM_MODULE)) {
|
|
57
63
|
const publisherConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/publisher/schema.json'));
|
|
58
64
|
if (isDockerProject) {
|
|
59
65
|
const dockerBuildConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/docker-build/schema.json'));
|
|
@@ -109,6 +115,71 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
109
115
|
},
|
|
110
116
|
};
|
|
111
117
|
}
|
|
118
|
+
if (artifactTypes.length == 1 &&
|
|
119
|
+
artifactTypes[0] == constants_1.ArtifactType.TERRAFORM_MODULE) {
|
|
120
|
+
targets['tofu-format'] = {
|
|
121
|
+
executor: 'nx:run-commands',
|
|
122
|
+
cache: false,
|
|
123
|
+
inputs: ['production', '^production'],
|
|
124
|
+
outputs: [],
|
|
125
|
+
options: {
|
|
126
|
+
cwd: '{projectRoot}',
|
|
127
|
+
command: 'tofu fmt -recursive',
|
|
128
|
+
},
|
|
129
|
+
configurations: {
|
|
130
|
+
check: {
|
|
131
|
+
args: '-check',
|
|
132
|
+
},
|
|
133
|
+
write: {
|
|
134
|
+
args: '-write',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
defaultConfiguration: 'check',
|
|
138
|
+
metadata: {
|
|
139
|
+
technologies: ['tofu'],
|
|
140
|
+
description: 'Format OpenTofu code',
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
targets['lint'] = {
|
|
144
|
+
executor: 'nx:run-commands',
|
|
145
|
+
cache: false,
|
|
146
|
+
inputs: ['production', '^production'],
|
|
147
|
+
outputs: [],
|
|
148
|
+
options: {
|
|
149
|
+
cwd: '{projectRoot}',
|
|
150
|
+
commands: [
|
|
151
|
+
'tofu init -backend=false',
|
|
152
|
+
'tflint --init',
|
|
153
|
+
'tflint',
|
|
154
|
+
'tofu validate',
|
|
155
|
+
],
|
|
156
|
+
parallel: false,
|
|
157
|
+
},
|
|
158
|
+
env: {
|
|
159
|
+
TFLINT_CONFIG_FILE: options.tflintConfigFile,
|
|
160
|
+
},
|
|
161
|
+
metadata: {
|
|
162
|
+
technologies: ['tofu'],
|
|
163
|
+
description: 'Lint OpenTofu code',
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
targets['nx-release-publish'] = {
|
|
167
|
+
executor: 'nx:noop',
|
|
168
|
+
cache: false,
|
|
169
|
+
metadata: {
|
|
170
|
+
technologies: ['tofu'],
|
|
171
|
+
description: 'No release publish, Spacelift handles it from the Git tag',
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
if (!projectConfiguration?.release?.version
|
|
175
|
+
?.versionActions) {
|
|
176
|
+
release = {
|
|
177
|
+
version: {
|
|
178
|
+
versionActions: '@nx/js/src/release/version-actions',
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
112
183
|
return {
|
|
113
184
|
projects: {
|
|
114
185
|
[projectRoot]: {
|
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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"}
|
|
@@ -18,20 +18,9 @@ exports.mockProjectGraphNode = {
|
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
20
|
exports.mockReleaseGroup = {
|
|
21
|
-
changelog: false,
|
|
22
21
|
name: 'test-group',
|
|
23
22
|
projects: ['test-project'],
|
|
24
|
-
projectsRelationship: 'independent',
|
|
25
|
-
releaseTag: {
|
|
26
|
-
pattern: '{projectName}@v{version}',
|
|
27
|
-
checkAllBranchesWhen: false,
|
|
28
|
-
requireSemver: false,
|
|
29
|
-
preferDockerVersion: false,
|
|
30
|
-
strictPreid: false,
|
|
31
|
-
},
|
|
32
|
-
resolvedVersionPlans: [],
|
|
33
23
|
version: {
|
|
34
|
-
adjustSemverBumpsForZeroMajorVersion: false,
|
|
35
24
|
conventionalCommits: true,
|
|
36
25
|
preVersionCommand: '',
|
|
37
26
|
specifierSource: 'conventional-commits',
|
|
@@ -50,19 +39,28 @@ exports.mockReleaseGroup = {
|
|
|
50
39
|
logUnchangedProjects: true,
|
|
51
40
|
preserveMatchingDependencyRanges: false,
|
|
52
41
|
},
|
|
42
|
+
resolvedVersionPlans: [],
|
|
43
|
+
changelog: false,
|
|
44
|
+
projectsRelationship: 'independent',
|
|
53
45
|
versionPlans: false,
|
|
46
|
+
releaseTag: {
|
|
47
|
+
pattern: '{projectName}@v{version}',
|
|
48
|
+
checkAllBranchesWhen: false,
|
|
49
|
+
requireSemver: false,
|
|
50
|
+
preferDockerVersion: false,
|
|
51
|
+
strictPreid: false,
|
|
52
|
+
},
|
|
54
53
|
};
|
|
55
54
|
exports.mockFinalConfig = {
|
|
56
|
-
|
|
55
|
+
specifierSource: 'conventional-commits',
|
|
57
56
|
currentVersionResolver: 'git-tag',
|
|
58
57
|
currentVersionResolverMetadata: {},
|
|
59
|
-
dockerOptions: {},
|
|
60
58
|
fallbackCurrentVersionResolver: 'disk',
|
|
61
|
-
|
|
59
|
+
versionPrefix: '',
|
|
62
60
|
preserveLocalDependencyProtocols: false,
|
|
63
|
-
preserveMatchingDependencyRanges: false,
|
|
64
|
-
specifierSource: 'conventional-commits',
|
|
65
61
|
versionActionsOptions: {},
|
|
66
|
-
|
|
62
|
+
manifestRootsToUpdate: [],
|
|
63
|
+
preserveMatchingDependencyRanges: false,
|
|
64
|
+
dockerOptions: {},
|
|
67
65
|
};
|
|
68
66
|
//# sourceMappingURL=version-actions.mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-actions.mock.js","sourceRoot":"","sources":["../../../src/scripts/version-actions.mock.ts"],"names":[],"mappings":";;;AAIa,QAAA,oBAAoB,GAA4B;IAC3D,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,CAAC,sBAAsB,CAAC;gBACjC,OAAO,EAAE;oBACP,UAAU,EAAE,wBAAwB;iBACrC;aACF;SACF;KACF;CACF,CAAA;AAEY,QAAA,gBAAgB,GAAyB;IACpD,
|
|
1
|
+
{"version":3,"file":"version-actions.mock.js","sourceRoot":"","sources":["../../../src/scripts/version-actions.mock.ts"],"names":[],"mappings":";;;AAIa,QAAA,oBAAoB,GAA4B;IAC3D,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,CAAC,sBAAsB,CAAC;gBACjC,OAAO,EAAE;oBACP,UAAU,EAAE,wBAAwB;iBACrC;aACF;SACF;KACF;CACF,CAAA;AAEY,QAAA,gBAAgB,GAAyB;IACpD,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,OAAO,EAAE;QACP,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,sBAAsB;QACvC,qBAAqB,EAAE,EAAE;QACzB,cAAc,EAAE,gCAAgC;QAChD,sBAAsB,EAAE,SAAS;QACjC,8BAA8B,EAAE,EAAE;QAClC,8BAA8B,EAAE,MAAM;QACtC,aAAa,EAAE,EAAE;QACjB,gCAAgC,EAAE,KAAK;QACvC,qBAAqB,EAAE,EAAE;QACzB,YAAY,EAAE,KAAK;QACnB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,MAAM;QACxB,sBAAsB,EAAE,EAAE;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,gCAAgC,EAAE,KAAK;KACxC;IACD,oBAAoB,EAAE,EAAE;IACxB,SAAS,EAAE,KAAK;IAChB,oBAAoB,EAAE,aAAa;IACnC,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE;QACV,OAAO,EAAE,0BAA0B;QACnC,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,KAAK;QAC1B,WAAW,EAAE,KAAK;KACnB;CACF,CAAA;AAEY,QAAA,eAAe,GAA0B;IACpD,eAAe,EAAE,sBAAsB;IACvC,sBAAsB,EAAE,SAAS;IACjC,8BAA8B,EAAE,EAAE;IAClC,8BAA8B,EAAE,MAAM;IACtC,aAAa,EAAE,EAAE;IACjB,gCAAgC,EAAE,KAAK;IACvC,qBAAqB,EAAE,EAAE;IACzB,qBAAqB,EAAE,EAAE;IACzB,gCAAgC,EAAE,KAAK;IACvC,aAAa,EAAE,EAAE;CAClB,CAAA"}
|
|
@@ -2,6 +2,7 @@ export declare const ArtifactType: {
|
|
|
2
2
|
readonly DOCKER: "docker";
|
|
3
3
|
readonly LAMBDA: "lambda";
|
|
4
4
|
readonly FRONTEND: "frontend";
|
|
5
|
+
readonly TERRAFORM_MODULE: "terraform module";
|
|
5
6
|
readonly HELM: "helm chart";
|
|
6
7
|
};
|
|
7
8
|
export type ArtifactType = (typeof ArtifactType)[keyof typeof ArtifactType];
|
|
@@ -1 +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,IAAI,EAAE,YAAY;CACV,CAAA"}
|
|
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"}
|
|
@@ -16,6 +16,10 @@ export declare function getSanitizedCurrentGitRepoUrl(): Promise<string>;
|
|
|
16
16
|
* Get git repository name from remote origin URL
|
|
17
17
|
*/
|
|
18
18
|
export declare function getGitRepositoryName(): Promise<string | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Remove first tag matching the release tag pattern
|
|
21
|
+
*/
|
|
22
|
+
export declare function removeTag(pattern: string): Promise<void>;
|
|
19
23
|
/**
|
|
20
24
|
* get the default branch of the Git repository
|
|
21
25
|
*/
|
|
@@ -6,6 +6,7 @@ exports.getSanitizedCurrentGitBranch = getSanitizedCurrentGitBranch;
|
|
|
6
6
|
exports.getCurrentGitCommitSha = getCurrentGitCommitSha;
|
|
7
7
|
exports.getSanitizedCurrentGitRepoUrl = getSanitizedCurrentGitRepoUrl;
|
|
8
8
|
exports.getGitRepositoryName = getGitRepositoryName;
|
|
9
|
+
exports.removeTag = removeTag;
|
|
9
10
|
exports.getDefaultBranch = getDefaultBranch;
|
|
10
11
|
exports.isDefaultBranch = isDefaultBranch;
|
|
11
12
|
exports.throwErrorIfNotOnLatestMain = throwErrorIfNotOnLatestMain;
|
|
@@ -64,6 +65,32 @@ async function getGitRepositoryName() {
|
|
|
64
65
|
}
|
|
65
66
|
return undefined;
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Remove first tag matching the release tag pattern
|
|
70
|
+
*/
|
|
71
|
+
async function removeTag(pattern) {
|
|
72
|
+
try {
|
|
73
|
+
const findTags = await (0, exec_1.exec)(`git tag -l -- "${pattern}"`);
|
|
74
|
+
const tags = findTags.stdout.trim().split('\n').filter(Boolean);
|
|
75
|
+
if (tags.length === 0) {
|
|
76
|
+
logger_1.consola.error(`No tags found matching pattern ${pattern}, can not delete it`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
logger_1.consola.info(`Removing tag ${tags[0]}`);
|
|
81
|
+
const removeTag = await (0, exec_1.exec)(`git push origin :refs/tags/${tags[0]}`);
|
|
82
|
+
if (removeTag.exitCode !== 0) {
|
|
83
|
+
logger_1.consola.error('Failed to remove tag:', removeTag.stderr);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
logger_1.consola.info(`Tag ${tags[0]} removed successfully! Pipeline can be retried.`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
logger_1.consola.error(`Error during tag removal following pattern ${pattern}`, error);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
67
94
|
/**
|
|
68
95
|
* get the default branch of the Git repository
|
|
69
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/utils/common/github.ts"],"names":[],"mappings":";;AAGA,sDAEC;AAED,gDAMC;AAKD,oEAQC;AAKD,wDAGC;AAKD,sEAWC;AAKD,oDASC;AAKD,4CAMC;AAKD,0CAGC;AAMD,kEAsCC;
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/utils/common/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { ExecutorContext, ProjectConfiguration } from '@nx/devkit';
|
|
2
2
|
import { ArtifactType } from './constants';
|
|
3
|
-
/**
|
|
4
|
-
* Returns the temporary directory for publishable artifacts
|
|
5
|
-
* located at workspaceRoot/tmp/projectRoot
|
|
6
|
-
*/
|
|
7
|
-
export declare function getTempArtifactDir(context: ExecutorContext, ensureExists?: boolean): string;
|
|
8
3
|
export declare function getDistForApp(context: ExecutorContext): Promise<string>;
|
|
9
4
|
export declare function getProjectArtifactTypes(projectRoot: string, projectConfiguration: ProjectConfiguration): ArtifactType[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTempArtifactDir = getTempArtifactDir;
|
|
4
3
|
exports.getDistForApp = getDistForApp;
|
|
5
4
|
exports.getProjectArtifactTypes = getProjectArtifactTypes;
|
|
6
5
|
const node_fs_1 = require("node:fs");
|
|
@@ -8,22 +7,6 @@ const path_1 = require("path");
|
|
|
8
7
|
const devkit_1 = require("@nx/devkit");
|
|
9
8
|
const utils_1 = require("nx/src/tasks-runner/utils");
|
|
10
9
|
const constants_1 = require("./constants");
|
|
11
|
-
/**
|
|
12
|
-
* Returns the temporary directory for publishable artifacts
|
|
13
|
-
* located at workspaceRoot/tmp/projectRoot
|
|
14
|
-
*/
|
|
15
|
-
function getTempArtifactDir(context, ensureExists = true) {
|
|
16
|
-
const projectNode = context.projectGraph?.nodes?.[context.projectName];
|
|
17
|
-
if (!projectNode) {
|
|
18
|
-
throw new Error(`Project ${context.projectName} not found in project graph.`);
|
|
19
|
-
}
|
|
20
|
-
const projectRoot = projectNode.data.root;
|
|
21
|
-
const tempDir = (0, path_1.join)(devkit_1.workspaceRoot, 'tmp', projectRoot);
|
|
22
|
-
if (ensureExists && !(0, node_fs_1.existsSync)(tempDir)) {
|
|
23
|
-
(0, node_fs_1.mkdirSync)(tempDir, { recursive: true });
|
|
24
|
-
}
|
|
25
|
-
return tempDir;
|
|
26
|
-
}
|
|
27
10
|
async function getDistForApp(context) {
|
|
28
11
|
const target = (0, devkit_1.parseTargetString)('build', context);
|
|
29
12
|
const project = context.projectGraph.nodes[target.project].data;
|
|
@@ -65,6 +48,8 @@ function getProjectArtifactTypes(projectRoot, projectConfiguration) {
|
|
|
65
48
|
!!projectConfiguration?.metadata?.lambdaStacks &&
|
|
66
49
|
projectConfiguration?.metadata?.lambdaStacks.length > 0;
|
|
67
50
|
const isFrontendProject = !!projectConfiguration?.metadata?.frontendArtifactsBucketName;
|
|
51
|
+
const isTfModuleProject = (0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, '.spacelift', 'config.yml')) &&
|
|
52
|
+
(0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, 'main.tf'));
|
|
68
53
|
// Check for Chart.yaml in: custom folder or .deploy folder (default)
|
|
69
54
|
const helmChartFolder = projectConfiguration?.metadata?.helmChartFolder || '.deploy';
|
|
70
55
|
const chartYamlExists = (0, node_fs_1.existsSync)((0, path_1.join)(projectRoot, helmChartFolder, 'Chart.yaml'));
|
|
@@ -76,6 +61,8 @@ function getProjectArtifactTypes(projectRoot, projectConfiguration) {
|
|
|
76
61
|
artifactTypes.push(constants_1.ArtifactType.DOCKER);
|
|
77
62
|
if (isFrontendProject)
|
|
78
63
|
artifactTypes.push(constants_1.ArtifactType.FRONTEND);
|
|
64
|
+
if (isTfModuleProject)
|
|
65
|
+
artifactTypes.push(constants_1.ArtifactType.TERRAFORM_MODULE);
|
|
79
66
|
if (isHelmProject)
|
|
80
67
|
artifactTypes.push(constants_1.ArtifactType.HELM);
|
|
81
68
|
return artifactTypes;
|
|
@@ -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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"}
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @param source - Directory path containing Lambda code
|
|
5
5
|
* @param zipName - Name for the ZIP file
|
|
6
|
-
* @param destination - Destination directory for the ZIP file
|
|
7
6
|
*/
|
|
8
|
-
export declare const createZip: (source: string, zipName: string
|
|
7
|
+
export declare const createZip: (source: string, zipName: string) => Promise<import("tinyexec").Output>;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createZip = void 0;
|
|
4
|
-
const path_1 = require("path");
|
|
5
4
|
const exec_1 = require("../common/exec");
|
|
6
5
|
/**
|
|
7
6
|
* Creates a ZIP archive of Lambda function code.
|
|
8
7
|
*
|
|
9
8
|
* @param source - Directory path containing Lambda code
|
|
10
9
|
* @param zipName - Name for the ZIP file
|
|
11
|
-
* @param destination - Destination directory for the ZIP file
|
|
12
10
|
*/
|
|
13
|
-
const createZip = async (source, zipName
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
const createZip = async (source, zipName) => {
|
|
12
|
+
const cwd = process.cwd();
|
|
13
|
+
process.chdir(source);
|
|
14
|
+
const cmd = `zip -r ${zipName} .`;
|
|
15
|
+
const zip = await (0, exec_1.exec)(cmd, { throwOnError: true });
|
|
16
|
+
process.chdir(cwd);
|
|
17
|
+
return zip;
|
|
17
18
|
};
|
|
18
19
|
exports.createZip = createZip;
|
|
19
20
|
//# sourceMappingURL=lambda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/lambda.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/lambda.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC;;;;;GAKG;AACI,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payfit/nx-core",
|
|
3
|
-
"version": "5.15.
|
|
3
|
+
"version": "5.15.10-ephemeral-release-rerun.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -25,27 +25,27 @@
|
|
|
25
25
|
"get-port": "^7.1.0",
|
|
26
26
|
"graphql": "^16.11.0",
|
|
27
27
|
"ky": "^1.8.1",
|
|
28
|
+
"memfs": "4.52.0",
|
|
28
29
|
"minimatch": "^10.1.1",
|
|
29
30
|
"semver": "7.7.3",
|
|
30
31
|
"tinyexec": "1.0.2",
|
|
31
32
|
"tslib": "^2.8.1",
|
|
33
|
+
"vite": "7.3.1",
|
|
32
34
|
"yaml": "2.8.2",
|
|
33
35
|
"zod": "^4.0.0"
|
|
34
36
|
},
|
|
35
37
|
"peerDependencies": {
|
|
36
38
|
"@nx/devkit": "^22",
|
|
37
39
|
"@nx/js": "^22",
|
|
40
|
+
"@nx/vite": "^22",
|
|
38
41
|
"nx": "^22"
|
|
39
42
|
},
|
|
40
43
|
"devDependencies": {
|
|
41
44
|
"@graphql-codegen/cli": "^6.0.0",
|
|
42
|
-
"@nx/devkit": "22.
|
|
43
|
-
"@nx/plugin": "22.
|
|
44
|
-
"@nx/vite": "22.4.0",
|
|
45
|
-
"memfs": "4.54.0",
|
|
45
|
+
"@nx/devkit": "22.3.3",
|
|
46
|
+
"@nx/plugin": "22.3.3",
|
|
46
47
|
"portfinder": "^1.0.32",
|
|
47
|
-
"verdaccio": "^6.1.6"
|
|
48
|
-
"vite": "7.3.1"
|
|
48
|
+
"verdaccio": "^6.1.6"
|
|
49
49
|
},
|
|
50
50
|
"exports": {
|
|
51
51
|
".": {
|