rman 0.35.0 → 0.36.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.
@@ -7,6 +7,7 @@ const npmlog_1 = tslib_1.__importDefault(require("npmlog"));
7
7
  const path_1 = tslib_1.__importDefault(require("path"));
8
8
  const command_js_1 = require("../core/command.js");
9
9
  const npm_utils_js_1 = require("../utils/npm-utils.js");
10
+ const package_not_found_error_js_1 = require("../utils/package-not-found-error.js");
10
11
  const run_command_js_1 = require("./run-command.js");
11
12
  class PublishCommand extends run_command_js_1.RunCommand {
12
13
  constructor(repository, options) {
@@ -28,31 +29,28 @@ class PublishCommand extends run_command_js_1.RunCommand {
28
29
  continue;
29
30
  }
30
31
  npmlog_1.default.info(this.commandName, logPkgName, npmlog_1.default.separator, `Fetching package information from repository`);
31
- const npmHelper = new npm_utils_js_1.NpmHelper({ cwd: p.dirname });
32
+ const npmHelper = new npm_utils_js_1.NpmHelper({ cwd: p.dirname, userconfig: this.options.userconfig });
32
33
  promises.push(npmHelper
33
- .getPackageInfo(p.json.name, { userconfig: this.options.userconfig })
34
+ .getPackageInfo(p.json.name)
34
35
  .then(r => {
35
- const sameVersion = !!(r && r.version === p.version);
36
- if (this.options.checkOnly) {
37
- npmlog_1.default.info(this.commandName, logPkgName, npmlog_1.default.separator, !r.version
38
- ? ansi_colors_1.default.yellow('No package information found in repository')
39
- : sameVersion
40
- ? `No publish needed. Version (${ansi_colors_1.default.magenta(p.version)}) same in repository`
41
- : `Publishing is possible.` +
42
- ` Version "${ansi_colors_1.default.magenta(p.version)}" differs from version in repository (${ansi_colors_1.default.magenta(r.version)})`);
36
+ const fetchedVersion = r.version;
37
+ const sameVersion = fetchedVersion === p.version;
38
+ npmlog_1.default.info(this.commandName, logPkgName, npmlog_1.default.separator, sameVersion
39
+ ? `No publish needed. Version (${ansi_colors_1.default.magenta(p.version)}) same in repository`
40
+ : `Publishing is possible.` +
41
+ ` Version "${ansi_colors_1.default.magenta(p.version)}" differs from version in repository (${ansi_colors_1.default.magenta(fetchedVersion)})`);
42
+ if (this.options.checkOnly)
43
43
  return;
44
- }
45
- if (r && r.version === p.version) {
46
- npmlog_1.default.info(this.commandName, logPkgName, npmlog_1.default.separator, `No publish needed. Version (${ansi_colors_1.default.magenta(p.version)}) same in repository`);
47
- }
48
- else {
49
- npmlog_1.default.verbose(this.commandName, logPkgName, npmlog_1.default.separator, `Publishing is possible.` +
50
- ` Version "${ansi_colors_1.default.magenta(p.version)}" differs from version in repository (${ansi_colors_1.default.magenta(r.version)})`);
44
+ if (fetchedVersion === p.version) {
51
45
  selectedPackages.push(p);
52
46
  }
53
47
  })
54
48
  .catch(e => {
55
- if (e.name !== 'PackageNotFoundError')
49
+ if (e instanceof package_not_found_error_js_1.PackageNotFoundError) {
50
+ npmlog_1.default.info(this.commandName, logPkgName, npmlog_1.default.separator, 'Publishing is possible. No package information found in repository');
51
+ selectedPackages.push(p);
52
+ }
53
+ else
56
54
  throw e;
57
55
  }));
58
56
  }
@@ -71,9 +69,10 @@ class PublishCommand extends run_command_js_1.RunCommand {
71
69
  else
72
70
  cwd = path_1.default.join(pkg.dirname, contents);
73
71
  }
72
+ const npmHelper = new npm_utils_js_1.NpmHelper({ cwd: pkg.dirname, userconfig: this.options.userconfig });
74
73
  return super._exec(pkg, 'npm publish' +
75
74
  (this.options.access ? ' --access=' + this.options.access : '') +
76
- (this.options.userconfig ? ` --userconfig="${this.options.userconfig}"` : ''), {
75
+ (npmHelper.userconfig ? ` --userconfig="${npmHelper.userconfig}"` : ''), {
77
76
  ...args,
78
77
  cwd,
79
78
  stdio: npmlog_1.default.levelIndex < 1000 ? 'inherit' : 'pipe',
@@ -18,19 +18,20 @@ class RunCommand extends multi_task_command_js_1.MultiTaskCommand {
18
18
  _prepareTasks(packages, options) {
19
19
  const packageTasks = [];
20
20
  for (const p of packages) {
21
- if (p.json.scripts) {
22
- const childTask = this._prepareScriptTask(p, options);
23
- if (childTask) {
24
- packageTasks.push(childTask);
25
- }
21
+ // if (p.json.scripts) {
22
+ const childTask = this._prepareScriptTask(p, options);
23
+ if (childTask) {
24
+ packageTasks.push(childTask);
26
25
  }
26
+ // }
27
27
  }
28
28
  const rootTask = this._prepareScriptTask(this.repository.rootPackage);
29
- if (!rootTask?.children)
29
+ const children = rootTask?.options.children;
30
+ if (!children)
30
31
  return packageTasks;
31
32
  const tasks = [];
32
- const pre = rootTask.children.filter(t => t.name?.endsWith(':pre' + this.script));
33
- const post = rootTask.children.filter(t => t.name?.endsWith(':post' + this.script));
33
+ const pre = children.filter(t => t.name?.endsWith(':pre' + this.script));
34
+ const post = children.filter(t => t.name?.endsWith(':post' + this.script));
34
35
  pre.forEach(t => (t.options.exclusive = true));
35
36
  post.forEach(t => (t.options.exclusive = true));
36
37
  tasks.push(...pre);
@@ -1 +1 @@
1
- {"root":["../../src/cli.ts","../../src/index.ts","../../src/commands/build-command.ts","../../src/commands/changed-command.ts","../../src/commands/ci-command.ts","../../src/commands/execute-command.ts","../../src/commands/info-command.ts","../../src/commands/list-command.ts","../../src/commands/multi-task-command.ts","../../src/commands/publish-command.ts","../../src/commands/run-command.ts","../../src/commands/version-command.ts","../../src/core/command.ts","../../src/core/constants.ts","../../src/core/logger.ts","../../src/core/package.ts","../../src/core/repository.ts","../../src/utils/exec.ts","../../src/utils/file-utils.ts","../../src/utils/get-dirname.ts","../../src/utils/git-utils.ts","../../src/utils/npm-run-path.ts","../../src/utils/npm-utils.ts"],"version":"5.7.3"}
1
+ {"root":["../../src/cli.ts","../../src/index.ts","../../src/commands/build-command.ts","../../src/commands/changed-command.ts","../../src/commands/ci-command.ts","../../src/commands/execute-command.ts","../../src/commands/info-command.ts","../../src/commands/list-command.ts","../../src/commands/multi-task-command.ts","../../src/commands/publish-command.ts","../../src/commands/run-command.ts","../../src/commands/version-command.ts","../../src/core/command.ts","../../src/core/constants.ts","../../src/core/logger.ts","../../src/core/package.ts","../../src/core/repository.ts","../../src/utils/exec.ts","../../src/utils/file-utils.ts","../../src/utils/get-dirname.ts","../../src/utils/git-utils.ts","../../src/utils/npm-run-path.ts","../../src/utils/npm-utils.ts","../../src/utils/package-not-found-error.ts"],"version":"5.7.3"}
@@ -1,22 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NpmHelper = exports.PackageNotFoundError = void 0;
3
+ exports.NpmHelper = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
4
6
  const exec_js_1 = require("./exec.js");
5
- class PackageNotFoundError extends Error {
6
- }
7
- exports.PackageNotFoundError = PackageNotFoundError;
7
+ const package_not_found_error_js_1 = require("./package-not-found-error.js");
8
8
  class NpmHelper {
9
9
  constructor(options) {
10
10
  this.cwd = options?.cwd || process.cwd();
11
+ this.userconfig = options?.userconfig ? path_1.default.resolve(this.cwd, options.userconfig) : undefined;
11
12
  }
12
- async getPackageInfo(packageName, options) {
13
+ async getPackageInfo(packageName) {
13
14
  const argv = ['view', packageName, '--json'];
14
- if (options?.userconfig)
15
- argv.push('--userconfig', options.userconfig);
15
+ if (this.userconfig)
16
+ argv.push('--userconfig', this.userconfig);
16
17
  const x = await (0, exec_js_1.exec)('npm', { cwd: this.cwd, argv });
17
18
  if (x && x.stdout) {
18
19
  if (x.code && x.stdout.includes('404')) {
19
- return new PackageNotFoundError('Package ' + packageName + ' not found in repository');
20
+ throw new package_not_found_error_js_1.PackageNotFoundError('Package ' + packageName + ' not found in repository');
20
21
  }
21
22
  const b = x.stdout.indexOf('{');
22
23
  const e = x.stdout.lastIndexOf('}');
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageNotFoundError = void 0;
4
+ class PackageNotFoundError extends Error {
5
+ }
6
+ exports.PackageNotFoundError = PackageNotFoundError;
@@ -3,6 +3,7 @@ import logger from 'npmlog';
3
3
  import path from 'path';
4
4
  import { Command } from '../core/command.js';
5
5
  import { NpmHelper } from '../utils/npm-utils.js';
6
+ import { PackageNotFoundError } from '../utils/package-not-found-error.js';
6
7
  import { RunCommand } from './run-command.js';
7
8
  export class PublishCommand extends RunCommand {
8
9
  constructor(repository, options) {
@@ -24,31 +25,28 @@ export class PublishCommand extends RunCommand {
24
25
  continue;
25
26
  }
26
27
  logger.info(this.commandName, logPkgName, logger.separator, `Fetching package information from repository`);
27
- const npmHelper = new NpmHelper({ cwd: p.dirname });
28
+ const npmHelper = new NpmHelper({ cwd: p.dirname, userconfig: this.options.userconfig });
28
29
  promises.push(npmHelper
29
- .getPackageInfo(p.json.name, { userconfig: this.options.userconfig })
30
+ .getPackageInfo(p.json.name)
30
31
  .then(r => {
31
- const sameVersion = !!(r && r.version === p.version);
32
- if (this.options.checkOnly) {
33
- logger.info(this.commandName, logPkgName, logger.separator, !r.version
34
- ? colors.yellow('No package information found in repository')
35
- : sameVersion
36
- ? `No publish needed. Version (${colors.magenta(p.version)}) same in repository`
37
- : `Publishing is possible.` +
38
- ` Version "${colors.magenta(p.version)}" differs from version in repository (${colors.magenta(r.version)})`);
32
+ const fetchedVersion = r.version;
33
+ const sameVersion = fetchedVersion === p.version;
34
+ logger.info(this.commandName, logPkgName, logger.separator, sameVersion
35
+ ? `No publish needed. Version (${colors.magenta(p.version)}) same in repository`
36
+ : `Publishing is possible.` +
37
+ ` Version "${colors.magenta(p.version)}" differs from version in repository (${colors.magenta(fetchedVersion)})`);
38
+ if (this.options.checkOnly)
39
39
  return;
40
- }
41
- if (r && r.version === p.version) {
42
- logger.info(this.commandName, logPkgName, logger.separator, `No publish needed. Version (${colors.magenta(p.version)}) same in repository`);
43
- }
44
- else {
45
- logger.verbose(this.commandName, logPkgName, logger.separator, `Publishing is possible.` +
46
- ` Version "${colors.magenta(p.version)}" differs from version in repository (${colors.magenta(r.version)})`);
40
+ if (fetchedVersion === p.version) {
47
41
  selectedPackages.push(p);
48
42
  }
49
43
  })
50
44
  .catch(e => {
51
- if (e.name !== 'PackageNotFoundError')
45
+ if (e instanceof PackageNotFoundError) {
46
+ logger.info(this.commandName, logPkgName, logger.separator, 'Publishing is possible. No package information found in repository');
47
+ selectedPackages.push(p);
48
+ }
49
+ else
52
50
  throw e;
53
51
  }));
54
52
  }
@@ -67,9 +65,10 @@ export class PublishCommand extends RunCommand {
67
65
  else
68
66
  cwd = path.join(pkg.dirname, contents);
69
67
  }
68
+ const npmHelper = new NpmHelper({ cwd: pkg.dirname, userconfig: this.options.userconfig });
70
69
  return super._exec(pkg, 'npm publish' +
71
70
  (this.options.access ? ' --access=' + this.options.access : '') +
72
- (this.options.userconfig ? ` --userconfig="${this.options.userconfig}"` : ''), {
71
+ (npmHelper.userconfig ? ` --userconfig="${npmHelper.userconfig}"` : ''), {
73
72
  ...args,
74
73
  cwd,
75
74
  stdio: logger.levelIndex < 1000 ? 'inherit' : 'pipe',
@@ -14,19 +14,20 @@ export class RunCommand extends MultiTaskCommand {
14
14
  _prepareTasks(packages, options) {
15
15
  const packageTasks = [];
16
16
  for (const p of packages) {
17
- if (p.json.scripts) {
18
- const childTask = this._prepareScriptTask(p, options);
19
- if (childTask) {
20
- packageTasks.push(childTask);
21
- }
17
+ // if (p.json.scripts) {
18
+ const childTask = this._prepareScriptTask(p, options);
19
+ if (childTask) {
20
+ packageTasks.push(childTask);
22
21
  }
22
+ // }
23
23
  }
24
24
  const rootTask = this._prepareScriptTask(this.repository.rootPackage);
25
- if (!rootTask?.children)
25
+ const children = rootTask?.options.children;
26
+ if (!children)
26
27
  return packageTasks;
27
28
  const tasks = [];
28
- const pre = rootTask.children.filter(t => t.name?.endsWith(':pre' + this.script));
29
- const post = rootTask.children.filter(t => t.name?.endsWith(':post' + this.script));
29
+ const pre = children.filter(t => t.name?.endsWith(':pre' + this.script));
30
+ const post = children.filter(t => t.name?.endsWith(':post' + this.script));
30
31
  pre.forEach(t => (t.options.exclusive = true));
31
32
  post.forEach(t => (t.options.exclusive = true));
32
33
  tasks.push(...pre);
@@ -1 +1 @@
1
- {"root":["../../src/cli.ts","../../src/index.ts","../../src/commands/build-command.ts","../../src/commands/changed-command.ts","../../src/commands/ci-command.ts","../../src/commands/execute-command.ts","../../src/commands/info-command.ts","../../src/commands/list-command.ts","../../src/commands/multi-task-command.ts","../../src/commands/publish-command.ts","../../src/commands/run-command.ts","../../src/commands/version-command.ts","../../src/core/command.ts","../../src/core/constants.ts","../../src/core/logger.ts","../../src/core/package.ts","../../src/core/repository.ts","../../src/utils/exec.ts","../../src/utils/file-utils.ts","../../src/utils/get-dirname.ts","../../src/utils/git-utils.ts","../../src/utils/npm-run-path.ts","../../src/utils/npm-utils.ts"],"version":"5.7.3"}
1
+ {"root":["../../src/cli.ts","../../src/index.ts","../../src/commands/build-command.ts","../../src/commands/changed-command.ts","../../src/commands/ci-command.ts","../../src/commands/execute-command.ts","../../src/commands/info-command.ts","../../src/commands/list-command.ts","../../src/commands/multi-task-command.ts","../../src/commands/publish-command.ts","../../src/commands/run-command.ts","../../src/commands/version-command.ts","../../src/core/command.ts","../../src/core/constants.ts","../../src/core/logger.ts","../../src/core/package.ts","../../src/core/repository.ts","../../src/utils/exec.ts","../../src/utils/file-utils.ts","../../src/utils/get-dirname.ts","../../src/utils/git-utils.ts","../../src/utils/npm-run-path.ts","../../src/utils/npm-utils.ts","../../src/utils/package-not-found-error.ts"],"version":"5.7.3"}
@@ -1,18 +1,19 @@
1
+ import path from 'path';
1
2
  import { exec } from './exec.js';
2
- export class PackageNotFoundError extends Error {
3
- }
3
+ import { PackageNotFoundError } from './package-not-found-error.js';
4
4
  export class NpmHelper {
5
5
  constructor(options) {
6
6
  this.cwd = options?.cwd || process.cwd();
7
+ this.userconfig = options?.userconfig ? path.resolve(this.cwd, options.userconfig) : undefined;
7
8
  }
8
- async getPackageInfo(packageName, options) {
9
+ async getPackageInfo(packageName) {
9
10
  const argv = ['view', packageName, '--json'];
10
- if (options?.userconfig)
11
- argv.push('--userconfig', options.userconfig);
11
+ if (this.userconfig)
12
+ argv.push('--userconfig', this.userconfig);
12
13
  const x = await exec('npm', { cwd: this.cwd, argv });
13
14
  if (x && x.stdout) {
14
15
  if (x.code && x.stdout.includes('404')) {
15
- return new PackageNotFoundError('Package ' + packageName + ' not found in repository');
16
+ throw new PackageNotFoundError('Package ' + packageName + ' not found in repository');
16
17
  }
17
18
  const b = x.stdout.indexOf('{');
18
19
  const e = x.stdout.lastIndexOf('}');
@@ -0,0 +1,2 @@
1
+ export class PackageNotFoundError extends Error {
2
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rman",
3
3
  "description": "Monorepo repository manager",
4
- "version": "0.35.0",
4
+ "version": "0.36.0",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
7
7
  "dependencies": {
@@ -1,13 +1,11 @@
1
- export declare class PackageNotFoundError extends Error {
2
- }
3
1
  export declare namespace NpmHelper { }
4
2
  export interface NpmOptions {
5
3
  cwd?: string;
4
+ userconfig?: string;
6
5
  }
7
6
  export declare class NpmHelper {
8
7
  cwd: string;
8
+ userconfig?: string;
9
9
  constructor(options?: NpmOptions);
10
- getPackageInfo(packageName: string, options?: {
11
- userconfig?: string;
12
- }): Promise<any>;
10
+ getPackageInfo(packageName: string): Promise<any>;
13
11
  }
@@ -0,0 +1,2 @@
1
+ export declare class PackageNotFoundError extends Error {
2
+ }