@payfit/nx-core 4.40.0 → 4.40.1-ephemeral-update-dist-folder-4ebdced.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.
Files changed (72) hide show
  1. package/package.json +21 -9
  2. package/executors.json +0 -14
  3. package/generators.json +0 -9
  4. package/src/executors/publisher/docker.d.ts +0 -3
  5. package/src/executors/publisher/docker.js +0 -66
  6. package/src/executors/publisher/docker.js.map +0 -1
  7. package/src/executors/publisher/executor.d.ts +0 -4
  8. package/src/executors/publisher/executor.js +0 -19
  9. package/src/executors/publisher/executor.js.map +0 -1
  10. package/src/executors/publisher/helm.d.ts +0 -3
  11. package/src/executors/publisher/helm.js +0 -69
  12. package/src/executors/publisher/helm.js.map +0 -1
  13. package/src/executors/publisher/schema.d.ts +0 -10
  14. package/src/executors/publisher/schema.json +0 -45
  15. package/src/executors/release/executor.d.ts +0 -4
  16. package/src/executors/release/executor.js +0 -95
  17. package/src/executors/release/executor.js.map +0 -1
  18. package/src/executors/release/schema.d.ts +0 -9
  19. package/src/executors/release/schema.json +0 -37
  20. package/src/generators/init/files/.circleci/config.yml.template +0 -248
  21. package/src/generators/init/files/.circleci/teleport/shared-charts.conf.template +0 -24
  22. package/src/generators/init/files/.npmrc.template +0 -1
  23. package/src/generators/init/init.d.ts +0 -7
  24. package/src/generators/init/init.js +0 -326
  25. package/src/generators/init/init.js.map +0 -1
  26. package/src/generators/init/schema.d.ts +0 -4
  27. package/src/generators/init/schema.json +0 -20
  28. package/src/index.d.ts +0 -9
  29. package/src/index.js +0 -75
  30. package/src/index.js.map +0 -1
  31. package/src/scripts/version-actions.d.ts +0 -25
  32. package/src/scripts/version-actions.js +0 -83
  33. package/src/scripts/version-actions.js.map +0 -1
  34. package/src/scripts/version-actions.mock.d.ts +0 -7
  35. package/src/scripts/version-actions.mock.js +0 -67
  36. package/src/scripts/version-actions.mock.js.map +0 -1
  37. package/src/utils/aws-auth.d.ts +0 -46
  38. package/src/utils/aws-auth.js +0 -144
  39. package/src/utils/aws-auth.js.map +0 -1
  40. package/src/utils/circleci.d.ts +0 -2
  41. package/src/utils/circleci.js +0 -20
  42. package/src/utils/circleci.js.map +0 -1
  43. package/src/utils/datadog.d.ts +0 -1
  44. package/src/utils/datadog.js +0 -33
  45. package/src/utils/datadog.js.map +0 -1
  46. package/src/utils/docker.d.ts +0 -15
  47. package/src/utils/docker.js +0 -72
  48. package/src/utils/docker.js.map +0 -1
  49. package/src/utils/exec.d.ts +0 -4
  50. package/src/utils/exec.js +0 -50
  51. package/src/utils/exec.js.map +0 -1
  52. package/src/utils/github.d.ts +0 -16
  53. package/src/utils/github.js +0 -53
  54. package/src/utils/github.js.map +0 -1
  55. package/src/utils/helm.d.ts +0 -64
  56. package/src/utils/helm.js +0 -159
  57. package/src/utils/helm.js.map +0 -1
  58. package/src/utils/helm.mock.d.ts +0 -85
  59. package/src/utils/helm.mock.js +0 -100
  60. package/src/utils/helm.mock.js.map +0 -1
  61. package/src/utils/import-esm.d.ts +0 -2
  62. package/src/utils/import-esm.js +0 -12
  63. package/src/utils/import-esm.js.map +0 -1
  64. package/src/utils/logger.d.ts +0 -1
  65. package/src/utils/logger.js +0 -8
  66. package/src/utils/logger.js.map +0 -1
  67. package/src/utils/nx.d.ts +0 -9
  68. package/src/utils/nx.js +0 -47
  69. package/src/utils/nx.js.map +0 -1
  70. package/src/utils/tsh.d.ts +0 -11
  71. package/src/utils/tsh.js +0 -112
  72. package/src/utils/tsh.js.map +0 -1
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@payfit/nx-core",
3
- "version": "4.40.0",
3
+ "version": "4.40.1-ephemeral-update-dist-folder-4ebdced.0",
4
4
  "type": "commonjs",
5
- "main": "./src/index.js",
6
- "types": "./src/index.d.ts",
7
- "typings": "./src/index.d.ts",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "typings": "./dist/src/index.d.ts",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/payfit/nx-common-packages.git",
11
11
  "directory": "packages/nx-core"
12
12
  },
13
13
  "dependencies": {
14
+ "@nx/js": "21.3.2",
14
15
  "args-tokenizer": "^0.3.0",
15
16
  "consola": "^3.4.2",
16
17
  "get-port": "^7.1.0",
@@ -22,21 +23,32 @@
22
23
  "zod": "^4.0.0"
23
24
  },
24
25
  "devDependencies": {
25
- "@nx/devkit": "21.2.1",
26
- "nx": "21.2.1"
26
+ "@nx/devkit": "21.3.1",
27
+ "nx": "21.3.1"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "@nx/devkit": "^21",
30
31
  "nx": "^21"
31
32
  },
32
33
  "exports": {
33
- ".": "./src/index.js",
34
- "./versionActions": "./src/scripts/version-actions.js",
34
+ ".": {
35
+ "types": "./dist/src/index.d.ts",
36
+ "require": "./dist/src/index.js",
37
+ "default": "./dist/src/index.js"
38
+ },
39
+ "./versionActions": "./dist/src/scripts/version-actions.js",
35
40
  "./package.json": "./package.json"
36
41
  },
37
42
  "executors": "./executors.json",
38
43
  "generators": "./generators.json",
39
44
  "publishConfig": {
40
45
  "access": "restricted"
41
- }
46
+ },
47
+ "files": [
48
+ "dist",
49
+ "executors.json",
50
+ "generators.json",
51
+ "package.json",
52
+ "!*tsconfig.lib.tsbuildinfo"
53
+ ]
42
54
  }
package/executors.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "executors": {
3
- "publisher": {
4
- "implementation": "./src/executors/publisher/executor",
5
- "schema": "./src/executors/publisher/schema.json",
6
- "description": "Docker & Helm publisher executor"
7
- },
8
- "release": {
9
- "implementation": "./src/executors/release/executor",
10
- "schema": "./src/executors/release/schema.json",
11
- "description": "Custom release executor"
12
- }
13
- }
14
- }
package/generators.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "generators": {
3
- "init": {
4
- "factory": "./src/generators/init/init",
5
- "schema": "./src/generators/init/schema.json",
6
- "description": "init generator"
7
- }
8
- }
9
- }
@@ -1,3 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { PublisherExecutorOptions } from './schema';
3
- export declare function publishDocker(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, isDryRun: boolean): Promise<void>;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishDocker = publishDocker;
4
- const fs = require("node:fs");
5
- const aws_auth_1 = require("../../utils/aws-auth");
6
- const datadog_1 = require("../../utils/datadog");
7
- const docker_1 = require("../../utils/docker");
8
- const github_1 = require("../../utils/github");
9
- const logger_1 = require("../../utils/logger");
10
- async function publishDocker(options, context, version, projectRoot, isDryRun) {
11
- 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.ecrRegistry) {
17
- logger_1.consola.error('Dockerfile detected but No ECR registry provided, add "ecrRegistry" to your project.json metadata');
18
- return;
19
- }
20
- const registry = {
21
- url: options.isPublicRegistry
22
- ? 'public.ecr.aws/payfit'
23
- : process.env.AWS_ECR_REGISTRY,
24
- name: options.isPublicRegistry
25
- ? 'public.ecr.aws'
26
- : process.env.AWS_ECR_REGISTRY,
27
- };
28
- if (isDryRun) {
29
- logger_1.consola.box(`Would have published docker image located at ${projectDockerfile} to registry ${options.ecrRegistry} with version ${version} but --dry-run is enabled`);
30
- return;
31
- }
32
- await (0, aws_auth_1.checkAwsAuth)();
33
- await (0, aws_auth_1.loginToEcr)(registry.name, options.isPublicRegistry);
34
- // Verify that we have valid ECR credentials before proceeding
35
- const hasValidCredentials = await (0, aws_auth_1.verifyEcrCredentials)(registry.name);
36
- if (!hasValidCredentials) {
37
- logger_1.consola.warn('ECR credentials verification failed. Attempting to login again...');
38
- // Try logging in again
39
- await (0, aws_auth_1.loginToEcr)(registry.name, options.isPublicRegistry);
40
- // Verify credentials again
41
- const retryCredentials = await (0, aws_auth_1.verifyEcrCredentials)(registry.name);
42
- if (!retryCredentials) {
43
- throw new Error('No valid ECR credentials available for pushing Docker image');
44
- }
45
- }
46
- logger_1.consola.box(`Publishing docker image to ${registry.url}/${options.ecrRegistry} with version ${version}`);
47
- const extraTags = !version.includes('ephemeral') && options.extraReleaseTags
48
- ? options.extraReleaseTags
49
- : [];
50
- const sanitizedRepoUrl = await (0, github_1.getSanitizedCurrentGitRepoUrl)();
51
- const commitSha = await (0, github_1.getCurrentGitCommitSha)();
52
- const appName = context.projectName || 'unknown-app';
53
- try {
54
- logger_1.consola.start('Building and pushing docker image');
55
- await (0, docker_1.buildAndPushDockerImage)(options.ecrRegistry, projectDockerfile, version, sanitizedRepoUrl, commitSha, registry.url, extraTags, appName);
56
- logger_1.consola.success('Docker image built and pushed successfully!');
57
- if (!version.includes('ephemeral')) {
58
- await (0, datadog_1.correlateDeploymentImage)(`${registry.url}/${options.ecrRegistry}:${version}`, sanitizedRepoUrl, commitSha);
59
- }
60
- }
61
- catch (error) {
62
- logger_1.consola.error('Failed to build and push Docker image:', error);
63
- throw error;
64
- }
65
- }
66
- //# sourceMappingURL=docker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/docker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { PublisherExecutorOptions, PublisherExecutorSchema } from './schema';
3
- declare const runExecutor: (options: PublisherExecutorOptions, context: ExecutorContext) => Promise<PublisherExecutorSchema>;
4
- export default runExecutor;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const nx_1 = require("../../utils/nx");
4
- const docker_1 = require("./docker");
5
- const helm_1 = require("./helm");
6
- const runExecutor = async (options, context) => {
7
- const isDryRun = process.env.NX_DRY_RUN === 'true' || options.dryRun || false;
8
- const projectGraph = (0, nx_1.getProjectFromGraph)(context);
9
- const projectRoot = projectGraph.data.root;
10
- const projectDist = await (0, nx_1.getDistForApp)(projectGraph);
11
- const version = (0, nx_1.getVersion)(projectDist);
12
- await (0, docker_1.publishDocker)(options, context, version, projectRoot, isDryRun);
13
- await (0, helm_1.publishHelm)(options, context, version, projectRoot, projectDist, isDryRun);
14
- return {
15
- success: true,
16
- };
17
- };
18
- exports.default = runExecutor;
19
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/executor.ts"],"names":[],"mappings":";;AAGA,uCAA+E;AAC/E,qCAAwC;AACxC,iCAAoC;AAGpC,MAAM,WAAW,GAGuB,KAAK,EAC3C,OAAiC,EACjC,OAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAC7E,MAAM,YAAY,GAAG,IAAA,wBAAmB,EAAC,OAAO,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAA;IAC1C,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,WAAW,CAAC,CAAA;IAEvC,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IACrE,MAAM,IAAA,kBAAW,EACf,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,3 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { PublisherExecutorOptions } from './schema';
3
- export declare function publishHelm(options: PublisherExecutorOptions, context: ExecutorContext, version: string, projectRoot: string, projectDist: string, isDryRun: boolean): Promise<void>;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishHelm = publishHelm;
4
- const tslib_1 = require("tslib");
5
- const fs = require("node:fs");
6
- const aws_auth_1 = require("../../utils/aws-auth");
7
- const github_1 = require("../../utils/github");
8
- const helm_1 = require("../../utils/helm");
9
- const logger_1 = require("../../utils/logger");
10
- const tsh_1 = require("../../utils/tsh");
11
- async function publishHelm(options, context, version, projectRoot, projectDist, isDryRun) {
12
- const env_1 = { stack: [], error: void 0, hasError: false };
13
- try {
14
- const helmChartFolder = options.helmChartFolder || '.deploy';
15
- const projectHelmFolder = `${projectRoot}/${helmChartFolder}`;
16
- const valuesConfigPath = `${projectHelmFolder}/values.yaml`;
17
- const chartConfigPath = `${projectHelmFolder}/Chart.yaml`;
18
- const destinationHelmFolder = `${projectDist}/chart/`;
19
- const gitBranchName = await (0, github_1.getSanitizedCurrentGitBranch)();
20
- if (!gitBranchName)
21
- throw new Error('Unable to get current Git branch');
22
- if (!fs.existsSync(chartConfigPath)) {
23
- logger_1.consola.warn(`No helm chart found in project ${context.projectName}, searching ${chartConfigPath}, skipping`);
24
- return;
25
- }
26
- if (!options.chartRegistry) {
27
- logger_1.consola.error('Helm chart detected but no chart registry provided, add "chartRegistry" to your project.json metadata');
28
- return;
29
- }
30
- if (isDryRun) {
31
- logger_1.consola.box(`Would have published Helm chart located at ${projectHelmFolder} to ${options.ociEcrRegistry ? options.ociEcrRegistry : options.chartRegistry}/${gitBranchName} with version ${version} but --dry-run is enabled`);
32
- return;
33
- }
34
- await (0, aws_auth_1.checkAwsAuth)();
35
- logger_1.consola.box(`Publishing Helm chart to ${options.chartRegistry}/${gitBranchName} with version ${version}`);
36
- // connect to the chartmuseum through teleport
37
- const proxyData = tslib_1.__addDisposableResource(env_1, await (0, tsh_1.getLocalPortForChartMuseum)(), false);
38
- await proxyData.isReady();
39
- logger_1.consola.start('Building Helm chart');
40
- await (0, helm_1.setupTeleportProxyHelmChartFile)(projectHelmFolder, proxyData.port);
41
- await (0, helm_1.installHelmRepo)(projectHelmFolder);
42
- await (0, helm_1.patchImageTag)(valuesConfigPath, chartConfigPath, version);
43
- await (0, helm_1.packageHelm)(projectHelmFolder, version, destinationHelmFolder);
44
- await (0, helm_1.resetTeleportProxyHelmChartFile)(projectHelmFolder, proxyData.port);
45
- logger_1.consola.success('Helm chart packaged!');
46
- const chartConfig = await (0, helm_1.getHelmChartFile)(projectHelmFolder);
47
- const packagedHelmChartName = `${chartConfig.name}-${version}.tgz`;
48
- const packagedHelmChartPath = `${destinationHelmFolder}${packagedHelmChartName}`;
49
- logger_1.consola.start('Publishing Helm chart');
50
- // If ociEcrRegistry is provided, push to ECR using OCI format
51
- if (options.ociEcrRegistry) {
52
- logger_1.consola.log(`Publishing Helm chart to OCI registry ${options.ociEcrRegistry}`);
53
- await (0, helm_1.pushOciPackagedHelm)(packagedHelmChartPath, options.ociEcrRegistry);
54
- }
55
- else {
56
- // Otherwise, push to the chartmuseum as before
57
- await (0, helm_1.pushPackagedHelm)(packagedHelmChartPath, packagedHelmChartName, options.chartRegistry, gitBranchName);
58
- }
59
- logger_1.consola.success('Helm chart published successfully!');
60
- }
61
- catch (e_1) {
62
- env_1.error = e_1;
63
- env_1.hasError = true;
64
- }
65
- finally {
66
- tslib_1.__disposeResources(env_1);
67
- }
68
- }
69
- //# sourceMappingURL=helm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/helm.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface PublisherExecutorSchema {} // eslint-disable-line
2
- export interface PublisherExecutorOptions {
3
- chartRegistry: string
4
- ecrRegistry: string
5
- ociEcrRegistry?: string
6
- isPublicRegistry?: boolean
7
- helmChartFolder?: string
8
- extraReleaseTags?: string[]
9
- dryRun?: boolean
10
- }
@@ -1,45 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/schema",
3
- "version": 2,
4
- "title": "Publisher executor",
5
- "description": "Publish the helm chart to the chartmuseum and docker image to ECR",
6
- "type": "object",
7
- "properties": {
8
- "chartRegistry": {
9
- "type": "string",
10
- "description": "The helm chart registry"
11
- },
12
- "ecrRegistry": {
13
- "type": "string",
14
- "description": "The docker registry"
15
- },
16
- "ociEcrRegistry": {
17
- "type": "string",
18
- "description": "The docker registry in oci format (AWS ECR)"
19
- },
20
- "isPublicRegistry": {
21
- "type": "boolean",
22
- "description": "Whether to use the public ECR registry",
23
- "default": false
24
- },
25
- "helmChartFolder": {
26
- "type": "string",
27
- "description": "The folder containing the Helm chart files (Chart.yaml, values.yaml, etc.)",
28
- "default": ".deploy"
29
- },
30
- "extraReleaseTags": {
31
- "type": "array",
32
- "items": {
33
- "type": "string"
34
- },
35
- "description": "Additional tags to add to the Docker image during a release",
36
- "default": []
37
- },
38
- "dryRun": {
39
- "type": "boolean",
40
- "description": "Whether to run in dry run mode. When true, shows what would be published without actually publishing.",
41
- "default": false
42
- }
43
- },
44
- "required": []
45
- }
@@ -1,4 +0,0 @@
1
- import { ExecutorContext } from '@nx/devkit';
2
- import { ReleaseExecutorOptions, ReleaseExecutorSchema } from './schema';
3
- declare const runExecutor: (options: ReleaseExecutorOptions, context: ExecutorContext) => Promise<ReleaseExecutorSchema>;
4
- export default runExecutor;
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const release_1 = require("nx/release");
4
- const circleci_1 = require("../../utils/circleci");
5
- const github_1 = require("../../utils/github");
6
- const logger_1 = require("../../utils/logger");
7
- const tsh_1 = require("../../utils/tsh");
8
- const runExecutor = async (options, context) => {
9
- const isDryRun = process.env.NX_DRY_RUN === 'true' || options.dryRun || false;
10
- if ((0, circleci_1.isCircleCIRunner)()) {
11
- logger_1.consola.start('CircleCI runner detected, setting it up!');
12
- await (0, circleci_1.setupCircleCIRunner)();
13
- await (0, tsh_1.startTbot)();
14
- logger_1.consola.success('CircleCI runner setup successfully!');
15
- }
16
- const branchName = await (0, github_1.getSanitizedCurrentGitBranch)();
17
- const commit = await (0, github_1.getCurrentGitCommitSha)();
18
- const isPreRelease = options?.preRelease != null
19
- ? options.preRelease
20
- : branchName != 'main' && branchName != 'master';
21
- if (isPreRelease)
22
- logger_1.consola.warn('This is an ephemeral release');
23
- // Step 1: Version Release
24
- logger_1.consola.start('Calculating new versions');
25
- const { projectsVersionData } = await (0, release_1.releaseVersion)({
26
- dryRun: isDryRun,
27
- verbose: options.verbose,
28
- groups: options.groups && options.groups.length > 0 ? options.groups : undefined,
29
- specifier: options.specifier,
30
- preid: isPreRelease
31
- ? `ephemeral-${branchName.substring(0, 100)}-${commit.substring(0, 7)}`
32
- : undefined,
33
- });
34
- logger_1.consola.success('New versions calculated successfully!');
35
- // iterate over `projectsVersionData` to extract changed projects
36
- const projectsToPublish = Object.entries(projectsVersionData)
37
- .map(([projectName, versionData]) => {
38
- if (versionData?.newVersion) {
39
- logger_1.consola.info(`Project '${projectName}' will be updated to version ${versionData.newVersion}`);
40
- return projectName;
41
- }
42
- return null; // filter out projects that didn't change
43
- })
44
- .filter(Boolean);
45
- if (projectsToPublish.length === 0) {
46
- logger_1.consola.warn('No project to publish');
47
- return {
48
- success: true,
49
- };
50
- }
51
- // Step 2: Changelog Release
52
- logger_1.consola.start('Generating & pushing changelogs');
53
- await (0, release_1.releaseChangelog)({
54
- versionData: projectsVersionData,
55
- dryRun: isDryRun,
56
- verbose: options.verbose,
57
- projects: projectsToPublish,
58
- createRelease: isPreRelease ? false : 'github',
59
- groups: options.groups && options.groups.length > 0 ? options.groups : undefined,
60
- });
61
- logger_1.consola.success('Generated & pushed changelogs successfully!');
62
- if (options.skipPublish) {
63
- logger_1.consola.warn('Skipping publishing step as skipPublish = true');
64
- return {
65
- success: true,
66
- };
67
- }
68
- // Step 3: Publish Release
69
- logger_1.consola.start('Publishing packages');
70
- const publishResults = await (0, release_1.releasePublish)({
71
- projects: projectsToPublish,
72
- dryRun: isDryRun,
73
- verbose: options.verbose,
74
- tag: isPreRelease ? 'ephemeral' : undefined,
75
- groups: options.groups && options.groups.length > 0 ? options.groups : undefined,
76
- });
77
- // Log publish results
78
- let publishError = false;
79
- Object.entries(publishResults).forEach(([projectName, result]) => {
80
- if (result.code === 0) {
81
- logger_1.consola.success(`Published ${projectName} successfully!`);
82
- }
83
- else {
84
- publishError = true;
85
- logger_1.consola.fail(`Failed to publish ${projectName} with exit code ${result.code}`);
86
- }
87
- });
88
- if (publishError)
89
- throw new Error('We got errors when publishing, check the logs');
90
- return {
91
- success: true,
92
- };
93
- };
94
- exports.default = runExecutor;
95
- //# sourceMappingURL=executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/release/executor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export interface ReleaseExecutorSchema {} // eslint-disable-line
2
- export interface ReleaseExecutorOptions {
3
- skipPublish?: boolean
4
- preRelease?: boolean
5
- dryRun?: boolean
6
- verbose?: boolean
7
- groups?: string[]
8
- specifier?: string
9
- }
@@ -1,37 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/schema",
3
- "version": 2,
4
- "title": "Publisher executor",
5
- "description": "Publish the helm chart to the chartmuseum and docker image to ECR",
6
- "type": "object",
7
- "properties": {
8
- "preRelease": {
9
- "type": "boolean",
10
- "description": "The release is an ephemeral/rc"
11
- },
12
- "skipPublish": {
13
- "type": "boolean",
14
- "description": "Should skip publish"
15
- },
16
- "dryRun": {
17
- "type": "boolean",
18
- "description": "Is dry run"
19
- },
20
- "verbose": {
21
- "type": "boolean",
22
- "description": "Is verbose"
23
- },
24
- "groups": {
25
- "type": "array",
26
- "items": {
27
- "type": "string"
28
- },
29
- "description": "Release groups to target (optional). If not specified, all configured projects will be released."
30
- },
31
- "specifier": {
32
- "type": "string",
33
- "description": "Exact version or semver keyword to apply (e.g., 'patch', 'minor', 'major', '1.2.3')"
34
- }
35
- },
36
- "required": []
37
- }