@neurodevs/meta-node 0.19.10 → 0.19.12

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.
@@ -2,7 +2,7 @@ import { exec as execSync } from 'node:child_process';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { promisify } from 'node:util';
5
- import { parse, minVersion, gte } from 'semver';
5
+ import semver from 'semver';
6
6
  import GitAutocommit from './GitAutocommit.js';
7
7
  export default class NpmReleasePropagator {
8
8
  static Class;
@@ -12,8 +12,6 @@ export default class NpmReleasePropagator {
12
12
  packageVersion;
13
13
  repoPaths;
14
14
  shouldGitCommit;
15
- currentRepoPath;
16
- currentPackageJson;
17
15
  metaNodeVersion;
18
16
  constructor(options) {
19
17
  const { packageName, packageVersion, repoPaths, shouldGitCommit = true, } = options;
@@ -27,27 +25,9 @@ export default class NpmReleasePropagator {
27
25
  }
28
26
  async run() {
29
27
  await this.throwIfUncommittedGitChanges();
28
+ await this.setCurrentMetaNodeVersion();
30
29
  console.info('Starting propagation...\n');
31
- for (const repoPath of this.repoPaths) {
32
- this.currentRepoPath = repoPath;
33
- await this.loadCurrentPackageJson();
34
- this.throwIfPreviousReleaseNotFound();
35
- if (this.isUpToDate) {
36
- console.info(`Already up to date, skipping ${repoPath}...`);
37
- continue;
38
- }
39
- console.info(`Propagating to ${repoPath}...`);
40
- await this.installReleaseForCurrentRepo();
41
- const hasTypeErrors = await this.checkForTypeErrors();
42
- if (hasTypeErrors) {
43
- console.warn(`TypeScript compilation errors detected! Rolling back for ${repoPath}...`);
44
- await this.rollbackInstallation();
45
- continue;
46
- }
47
- if (this.shouldGitCommit) {
48
- await this.gitCommitChanges();
49
- }
50
- }
30
+ await Promise.all(this.repoPaths.map((repoPath) => this.runFor(repoPath)));
51
31
  console.info('\nPropagation complete!\n');
52
32
  }
53
33
  async throwIfUncommittedGitChanges() {
@@ -73,43 +53,61 @@ export default class NpmReleasePropagator {
73
53
  Please commit or stash these changes before running propagation!
74
54
  `;
75
55
  }
76
- async loadCurrentPackageJson() {
77
- const raw = await this.readFile(this.currentPackageJsonPath, 'utf-8');
78
- this.currentPackageJson = JSON.parse(raw);
79
- }
80
- get currentPackageJsonPath() {
81
- return `${this.currentRepoPath}/package.json`;
56
+ async setCurrentMetaNodeVersion() {
57
+ const globalRoot = await this.exec('yarn global dir');
58
+ const pkgPath = path.join(globalRoot.stdout.trim(), 'node_modules', '@neurodevs', 'meta-node', 'package.json');
59
+ const raw = await this.readFile(pkgPath, { encoding: 'utf-8' });
60
+ const pkg = JSON.parse(raw);
61
+ this.metaNodeVersion = pkg.version;
82
62
  }
83
- throwIfPreviousReleaseNotFound() {
84
- if (!(this.dependencyRange || this.devDependencyRange)) {
85
- throw new Error(`Cannot propagate release for ${this.packageName} because it is not listed in either dependencies or devDependencies! Please install it in the target repository before running propagation.`);
63
+ async runFor(repoPath) {
64
+ const pkg = await this.loadPackageJsonFor(repoPath);
65
+ this.throwIfNoPreviousReleaseFor(pkg);
66
+ const isUpToDate = this.isUpToDateFor(pkg);
67
+ if (isUpToDate) {
68
+ console.info(`Already up to date, skipping ${repoPath}...`);
69
+ return;
70
+ }
71
+ console.info(`Propagating to ${repoPath}...`);
72
+ await this.installReleaseFor(repoPath, pkg);
73
+ const hasTypeErrors = await this.checkTypeErrorsFor(repoPath);
74
+ if (hasTypeErrors) {
75
+ console.warn(`Type errors detected! Rolling back ${repoPath}...`);
76
+ await this.rollbackInstallationFor(repoPath);
77
+ return;
78
+ }
79
+ if (this.shouldGitCommit) {
80
+ await this.gitCommitChangesFor(repoPath);
86
81
  }
87
82
  }
88
- get dependencyRange() {
89
- return this.currentPackageJson?.dependencies?.[this.packageName] ?? '';
90
- }
91
- get devDependencyRange() {
92
- return (this.currentPackageJson?.devDependencies?.[this.packageName] ?? '');
83
+ async loadPackageJsonFor(repoPath) {
84
+ const raw = await this.readFile(`${repoPath}/package.json`, 'utf-8');
85
+ return JSON.parse(raw);
93
86
  }
94
- get isUpToDate() {
95
- const target = parse(this.packageVersion);
96
- if (!target) {
97
- return false;
87
+ throwIfNoPreviousReleaseFor(pkg) {
88
+ const isDependency = Boolean(pkg.dependencies?.[this.packageName]);
89
+ const isDevDependency = Boolean(pkg.devDependencies?.[this.packageName]);
90
+ if (!(isDependency || isDevDependency)) {
91
+ throw new Error(`Cannot propagate release for ${this.packageName} because it is not listed in either dependencies or devDependencies! Please install it in the target repository before running propagation.`);
98
92
  }
99
- const depMin = minVersion(this.dependencyRange ?? '');
100
- const devDepMin = minVersion(this.devDependencyRange ?? '');
101
- return ((depMin && gte(depMin, target)) ||
102
- (devDepMin && gte(devDepMin, target)));
103
- }
104
- async installReleaseForCurrentRepo() {
105
- await this.exec(`yarn add ${this.devDependencyRange ? '-D ' : ''}${this.packageName}@${this.packageVersion}`, {
106
- cwd: this.currentRepoPath,
93
+ }
94
+ isUpToDateFor(pkg) {
95
+ const target = semver.parse(this.packageVersion);
96
+ const dependencyMin = semver.minVersion(pkg.dependencies?.[this.packageName] ?? '');
97
+ const devDependencyMin = semver.minVersion(pkg.devDependencies?.[this.packageName] ?? '');
98
+ return ((dependencyMin && semver.gte(dependencyMin, target)) ||
99
+ (devDependencyMin && semver.gte(devDependencyMin, target)));
100
+ }
101
+ async installReleaseFor(repoPath, pkg) {
102
+ const isDevDependency = Boolean(pkg.devDependencies?.[this.packageName]);
103
+ await this.exec(`yarn add ${isDevDependency ? '-D ' : ''}${this.packageName}@${this.packageVersion}`, {
104
+ cwd: repoPath,
107
105
  });
108
106
  }
109
- async checkForTypeErrors() {
107
+ async checkTypeErrorsFor(repoPath) {
110
108
  try {
111
109
  await this.exec(`npx tsc --noEmit`, {
112
- cwd: this.currentRepoPath,
110
+ cwd: repoPath,
113
111
  });
114
112
  return false;
115
113
  }
@@ -117,21 +115,13 @@ Please commit or stash these changes before running propagation!
117
115
  return true;
118
116
  }
119
117
  }
120
- async rollbackInstallation() {
118
+ async rollbackInstallationFor(repoPath) {
121
119
  await this.exec(`git reset --hard && git clean -fd`, {
122
- cwd: this.currentRepoPath,
120
+ cwd: repoPath,
123
121
  });
124
122
  }
125
- async gitCommitChanges() {
126
- await this.setCurrentMetaNodeVersion();
127
- await this.GitAutocommit(`patch: propagate ${this.packageName}@${this.packageVersion} (@neurodevs/meta-node: ${this.metaNodeVersion})`);
128
- }
129
- async setCurrentMetaNodeVersion() {
130
- const globalRoot = await this.exec('yarn global dir');
131
- const pkgPath = path.join(globalRoot.stdout.trim(), 'node_modules', '@neurodevs', 'meta-node', 'package.json');
132
- const raw = await this.readFile(pkgPath, { encoding: 'utf-8' });
133
- const pkg = JSON.parse(raw);
134
- this.metaNodeVersion = pkg.version;
123
+ async gitCommitChangesFor(repoPath) {
124
+ await this.GitAutocommit(`patch: propagate ${this.packageName}@${this.packageVersion} (@neurodevs/meta-node: ${this.metaNodeVersion})`, repoPath);
135
125
  }
136
126
  get exec() {
137
127
  return NpmReleasePropagator.exec;
@@ -139,8 +129,8 @@ Please commit or stash these changes before running propagation!
139
129
  get readFile() {
140
130
  return NpmReleasePropagator.readFile;
141
131
  }
142
- GitAutocommit(commitMessage) {
143
- return GitAutocommit.Create(commitMessage, this.currentRepoPath);
132
+ GitAutocommit(commitMessage, repoPath) {
133
+ return GitAutocommit.Create(commitMessage, repoPath);
144
134
  }
145
135
  }
146
136
  //# sourceMappingURL=NpmReleasePropagator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NpmReleasePropagator.js","sourceRoot":"","sources":["../../src/impl/NpmReleasePropagator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NpmReleasePropagator.js","sourceRoot":"","sources":["../../src/impl/NpmReleasePropagator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/meta-node",
3
- "version": "0.19.10",
3
+ "version": "0.19.12",
4
4
  "description": "Meta-layer utilities for maintaining Node.js package ecosystems.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -55,8 +55,8 @@
55
55
  },
56
56
  "devDependencies": {
57
57
  "@neurodevs/fake-node-core": "^0.10.0",
58
- "@neurodevs/generate-id": "^1.0.9",
59
- "@neurodevs/node-tdd": "0.2.3",
58
+ "@neurodevs/generate-id": "1.1.2",
59
+ "@neurodevs/node-tdd": "0.2.5",
60
60
  "@types/fs-extra": "^11.0.4",
61
61
  "@types/node": "^24.6.2",
62
62
  "@types/node-fetch": "^2.6.13",
@@ -4,6 +4,7 @@ import {
4
4
  setFakeExecResult,
5
5
  setFakeReadFileResult,
6
6
  } from '@neurodevs/fake-node-core'
7
+ import { generateShortId } from '@neurodevs/generate-id'
7
8
  import AbstractModuleTest from '@neurodevs/node-tdd'
8
9
 
9
10
  import expandHomeDir from '../functions/expandHomeDir.js'
@@ -101,4 +102,8 @@ export default class AbstractPackageTest extends AbstractModuleTest {
101
102
  protected static setFakeSnippetsFile() {
102
103
  setFakeReadFileResult(this.snippetsPath, this.originalSnippetsFile)
103
104
  }
105
+
106
+ protected static generateId() {
107
+ return generateShortId()
108
+ }
104
109
  }