@payfit/nx-core 5.21.4 → 5.21.5-ephemeral-featsync-agents-release-docs.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.
@@ -8,6 +8,43 @@ const github_1 = require("../../utils/common/github");
8
8
  const logger_1 = require("../../utils/common/logger");
9
9
  const octokit_1 = require("../../utils/common/octokit");
10
10
  const tsh_1 = require("../../utils/common/tsh");
11
+ const getTagForProject = (projectName, newVersion, releaseConfig) => {
12
+ const groupPattern = Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes(projectName))?.releaseTag?.pattern ||
13
+ Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes('*'))?.releaseTag?.pattern ||
14
+ releaseConfig?.groups?.[projectName]?.releaseTag?.pattern;
15
+ const pattern = groupPattern ||
16
+ releaseConfig?.releaseTag?.pattern ||
17
+ '{projectName}@{version}';
18
+ return pattern
19
+ .replace('{projectName}', projectName)
20
+ .replace('{version}', newVersion);
21
+ };
22
+ const cleanupProjectsRelease = async (projects, context) => {
23
+ const nxJson = JSON.parse(fs.readFileSync(path.join(context.root, 'nx.json'), 'utf-8'));
24
+ const releaseConfig = nxJson?.release;
25
+ const octokit = (0, octokit_1.OctokitAuth)();
26
+ let repositoryName;
27
+ try {
28
+ repositoryName = await (0, github_1.getGitRepositoryName)();
29
+ }
30
+ catch (error) {
31
+ logger_1.consola.error(`Error while retrieving repository name, skipping release removal: ${error}`);
32
+ }
33
+ for (const { projectName, newVersion } of projects) {
34
+ const tag = getTagForProject(projectName, newVersion, releaseConfig);
35
+ try {
36
+ if (repositoryName) {
37
+ await (0, github_1.removeRelease)(octokit, 'PayFit', repositoryName, tag);
38
+ }
39
+ }
40
+ catch (error) {
41
+ logger_1.consola.error(`Error while removing release for ${projectName}, skipping release removal: ${error}`);
42
+ }
43
+ finally {
44
+ await (0, github_1.removeTag)(tag);
45
+ }
46
+ }
47
+ };
11
48
  const runExecutor = async (options, context) => {
12
49
  let startTime = Date.now();
13
50
  const dryRun = process.env.NX_DRY_RUN === 'true' || options.dryRun || false;
@@ -58,15 +95,29 @@ const runExecutor = async (options, context) => {
58
95
  startTime = Date.now();
59
96
  // Step 2: Changelog Release
60
97
  logger_1.consola.start('Generating & pushing changelogs');
61
- await (0, release_1.releaseChangelog)({
62
- versionData: projectsVersionData,
63
- projects: changedProjects,
64
- version: workspaceVersion,
65
- dryRun,
66
- verbose: options.verbose,
67
- groups: options.groups,
68
- createRelease: isPreRelease ? false : 'github',
69
- });
98
+ try {
99
+ await (0, release_1.releaseChangelog)({
100
+ versionData: projectsVersionData,
101
+ projects: changedProjects,
102
+ version: workspaceVersion,
103
+ dryRun,
104
+ verbose: options.verbose,
105
+ groups: options.groups,
106
+ createRelease: isPreRelease ? false : 'github',
107
+ });
108
+ }
109
+ catch (error) {
110
+ logger_1.consola.info(`Failed to generate changelogs: ${error}`);
111
+ logger_1.consola.start('Cleaning up created tags and releases');
112
+ if (!dryRun) {
113
+ const projectsToCleanup = changedProjects.flatMap(projectName => {
114
+ const newVersion = projectsVersionData[projectName]?.newVersion;
115
+ return newVersion ? [{ projectName, newVersion }] : [];
116
+ });
117
+ await cleanupProjectsRelease(projectsToCleanup, context);
118
+ }
119
+ return { success: false };
120
+ }
70
121
  logger_1.consola.success('Generated & pushed changelogs successfully!');
71
122
  if (options.skipPublish) {
72
123
  logger_1.consola.warn('Skipping publishing step as skipPublish = true');
@@ -98,30 +149,9 @@ const runExecutor = async (options, context) => {
98
149
  logger_1.consola.success(`Published ${projectName} in version ${newVersion} successfully!`);
99
150
  }
100
151
  else {
101
- logger_1.consola.fail(`Failed to publish ${projectName} with exit code ${result.code}`);
152
+ logger_1.consola.error(`Failed to publish ${projectName} with exit code ${result.code}`);
102
153
  if (newVersion && !dryRun) {
103
- // Remove the release and the tag from the remote repository
104
- const nxJson = JSON.parse(fs.readFileSync(path.join(context.root, 'nx.json'), 'utf-8'));
105
- const releaseConfig = nxJson?.release;
106
- // Get the tag pattern - check group-specific config first, then fall back to global
107
- const groupPattern = Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes(projectName))?.releaseTag?.pattern ||
108
- Object.values(releaseConfig?.groups || {}).find(group => group.projects?.includes('*'))?.releaseTag?.pattern ||
109
- releaseConfig?.groups?.[projectName]?.releaseTag?.pattern;
110
- const pattern = groupPattern ||
111
- releaseConfig?.releaseTag?.pattern ||
112
- '{projectName}@{version}';
113
- const tag = pattern
114
- .replace('{projectName}', projectName)
115
- .replace('{version}', newVersion);
116
- const octokit = (0, octokit_1.OctokitAuth)();
117
- const repositoryName = await (0, github_1.getGitRepositoryName)();
118
- if (repositoryName) {
119
- await (0, github_1.removeRelease)(octokit, 'PayFit', repositoryName, tag);
120
- }
121
- else {
122
- logger_1.consola.error(`Error while retrieving repository name for ${projectName}, skipping release removal`);
123
- }
124
- await (0, github_1.removeTag)(tag);
154
+ await cleanupProjectsRelease([{ projectName, newVersion: newVersion }], context);
125
155
  }
126
156
  success = false;
127
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/release/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ ## nx-core
2
+
3
+ Release and publishing are handled by the `@payfit/nx-core` plugin.
4
+
5
+ CI should run Nx commands only (`nx run`, `nx run-many`, `nx affected`) rather than invoking underlying tooling directly.
6
+
7
+ Be careful when defining Nx targets: optimize `inputs`/`outputs` for Nx Cloud caching and validate with `npx nx-cloud conformance`.
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { SyncGeneratorResult } from 'nx/src/utils/sync-generators';
3
+ export declare function syncAgents(tree: Tree): Promise<SyncGeneratorResult>;
4
+ export default syncAgents;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncAgents = syncAgents;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const devkit_1 = require("@nx/devkit");
7
+ const nx_1 = require("../../utils/common/nx");
8
+ const AGENTS_FILE_PATH = 'AGENTS.md';
9
+ const NX_CORE_START_MARKER = '<!-- nx-core start -->';
10
+ const NX_CORE_MARKER_DESCRIPTION = '<!-- Leave the start & end comments to automatically receive updates. -->';
11
+ const NX_CORE_END_MARKER = '<!-- nx-core end -->';
12
+ const NX_CORE_RULES_REGEX = new RegExp(`${NX_CORE_START_MARKER}[\\s\\S]*?${NX_CORE_END_MARKER}`, 'm');
13
+ function getReleaseManagedArtifactsTemplate() {
14
+ return (0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, 'files', 'nx-core-agents.md.template'), 'utf-8');
15
+ }
16
+ function getWrappedReleaseDocs(content) {
17
+ const trimmedContent = content.trim();
18
+ if (!trimmedContent) {
19
+ return `${NX_CORE_START_MARKER}\n${NX_CORE_MARKER_DESCRIPTION}\n${NX_CORE_END_MARKER}`;
20
+ }
21
+ return `${NX_CORE_START_MARKER}\n${NX_CORE_MARKER_DESCRIPTION}\n\n${trimmedContent}\n\n${NX_CORE_END_MARKER}`;
22
+ }
23
+ function contentOnly(content) {
24
+ return content
25
+ .replace(NX_CORE_START_MARKER, '')
26
+ .replace(NX_CORE_MARKER_DESCRIPTION, '')
27
+ .replace(NX_CORE_END_MARKER, '')
28
+ .replace(/\s/g, '');
29
+ }
30
+ function buildReleaseDocsContent(hasArtifactProjects) {
31
+ if (!hasArtifactProjects) {
32
+ return '';
33
+ }
34
+ return getReleaseManagedArtifactsTemplate();
35
+ }
36
+ function syncReleaseDocsInAgents(tree, releaseDocsContent) {
37
+ const expectedRules = getWrappedReleaseDocs(releaseDocsContent);
38
+ if (!tree.exists(AGENTS_FILE_PATH)) {
39
+ tree.write(AGENTS_FILE_PATH, expectedRules);
40
+ return {
41
+ outOfSyncMessage: '/AGENTS.md file needs to be created',
42
+ };
43
+ }
44
+ const existingContent = tree.read(AGENTS_FILE_PATH, 'utf-8');
45
+ if (!existingContent) {
46
+ tree.write(AGENTS_FILE_PATH, expectedRules);
47
+ return {
48
+ outOfSyncMessage: '/AGENTS.md file needs to be updated',
49
+ };
50
+ }
51
+ const existingNxCoreBlock = existingContent.match(NX_CORE_RULES_REGEX);
52
+ if (existingNxCoreBlock) {
53
+ if (contentOnly(existingNxCoreBlock[0]) === contentOnly(expectedRules)) {
54
+ return;
55
+ }
56
+ const updatedContent = existingContent.replace(NX_CORE_RULES_REGEX, expectedRules);
57
+ tree.write(AGENTS_FILE_PATH, updatedContent);
58
+ return {
59
+ outOfSyncMessage: '/AGENTS.md file needs to be updated',
60
+ };
61
+ }
62
+ const updatedContent = `${existingContent}\n\n${expectedRules}`;
63
+ tree.write(AGENTS_FILE_PATH, updatedContent);
64
+ return {
65
+ outOfSyncMessage: '/AGENTS.md file needs to be updated',
66
+ };
67
+ }
68
+ async function syncAgents(tree) {
69
+ const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
70
+ let hasArtifactProjects = false;
71
+ for (const node of Object.values(projectGraph.nodes)) {
72
+ const projectConfiguration = node.data;
73
+ const artifactTypes = (0, nx_1.getProjectArtifactTypes)(projectConfiguration.root, projectConfiguration);
74
+ if (artifactTypes.length > 0) {
75
+ hasArtifactProjects = true;
76
+ break;
77
+ }
78
+ }
79
+ const releaseDocsContent = buildReleaseDocsContent(hasArtifactProjects);
80
+ return syncReleaseDocsInAgents(tree, releaseDocsContent);
81
+ }
82
+ exports.default = syncAgents;
83
+ //# sourceMappingURL=sync-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-agents.js","sourceRoot":"","sources":["../../../../src/generators/sync/sync-agents.ts"],"names":[],"mappings":"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"}
package/generators.json CHANGED
@@ -10,6 +10,11 @@
10
10
  "schema": "./dist/src/generators/sync/schema.json",
11
11
  "description": "sync-list-lambda-functions generator"
12
12
  },
13
+ "sync-agents": {
14
+ "factory": "./dist/src/generators/sync/sync-agents",
15
+ "schema": "./dist/src/generators/sync/schema.json",
16
+ "description": "sync-agents generator"
17
+ },
13
18
  "local-lambda-setup": {
14
19
  "factory": "./dist/src/generators/local-lambda-setup/local-lambda-setup",
15
20
  "schema": "./dist/src/generators/local-lambda-setup/schema.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payfit/nx-core",
3
- "version": "5.21.4",
3
+ "version": "5.21.5-ephemeral-featsync-agents-release-docs.1",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",