@mouryaamit/nx-polystack 1.0.2 → 1.0.3

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/USER-MANUAL.md CHANGED
@@ -267,7 +267,8 @@ pstack update [--to=<version>] [--dry-run] [--allow-dirty] [--force]
267
267
  ```
268
268
 
269
269
  1. Reads the pinned version of `@mouryaamit/nx-polystack` from `package.json` (`1.2.0`, or the installed
270
- version for a range such as `^1.2.0`).
270
+ version for a range such as `^1.2.0`). Any other spec (a git tag, a tarball, `latest`) uses the installed
271
+ version, and is rewritten to a normal pin.
271
272
  2. Target is `--to`, else the global CLI's version. Downgrades need `--force`. If the global CLI is older than the
272
273
  workspace pin, `update` tells you to upgrade the global CLI first (or pass `--force`).
273
274
  3. Needs a clean git tree unless `--allow-dirty`. The check covers only the workspace folder.
@@ -35,10 +35,14 @@ async function runUpdate(ctx, deps = defaultDeps) {
35
35
  throw new types_1.CliError('--to requires a version, e.g. --to=0.3.0');
36
36
  }
37
37
  const pkgText = fs.readFileSync(pkgPath, 'utf8');
38
- const pin = (0, update_plan_1.findPluginPin)(JSON.parse(pkgText.replace(/^\uFEFF/, '')), ctx.selfVersion);
38
+ const installedVersion = (0, context_1.resolveLocalPlugin)(root)?.version;
39
+ const pin = (0, update_plan_1.findPluginPin)(JSON.parse(pkgText.replace(/^\uFEFF/, '')), ctx.selfVersion, installedVersion);
40
+ if (pin.fromInstalled) {
41
+ console.log(`${pin.field}: "${pin.spec}" is not a version pin; migrating from the installed v${pin.version}.`);
42
+ }
39
43
  if (pin.range) {
40
44
  // ^x.y.z may have installed a newer version: migrate from what is installed.
41
- const installed = (0, context_1.resolveLocalPlugin)(root)?.version;
45
+ const installed = installedVersion;
42
46
  if (installed &&
43
47
  /^\d+\.\d+\.\d+$/.test(installed) &&
44
48
  (0, versions_1.compareVersions)(installed, pin.version) > 0) {
@@ -46,7 +50,8 @@ async function runUpdate(ctx, deps = defaultDeps) {
46
50
  }
47
51
  }
48
52
  const target = (0, update_plan_1.resolveTarget)(pin.version, (0, args_1.flagString)(ctx.flags, 'to'), ctx.selfVersion, !!ctx.flags['force']);
49
- if (target.action === 'noop') {
53
+ // An unreadable pin on the current version is still rewritten to a normal pin.
54
+ if (target.action === 'noop' && !pin.fromInstalled) {
50
55
  console.log(`Already on nx-polystack v${target.to}.`);
51
56
  return 0;
52
57
  }
@@ -90,6 +95,10 @@ async function runUpdate(ctx, deps = defaultDeps) {
90
95
  `${local ? `v${local.version}` : 'nothing'}. package.json and package-lock.json were restored; ` +
91
96
  'node_modules may now hold another version — run npm install to resync.');
92
97
  }
98
+ if (target.action === 'noop') {
99
+ console.log(`\nPinned nx-polystack v${target.to}. Review with "git diff".`);
100
+ return 0;
101
+ }
93
102
  const code = deps.runLocalMigrate(local.cliPath, pin.version, target.to, root, ctx.verbose);
94
103
  if (code !== 0) {
95
104
  console.error(`\nThe plugin is already on v${target.to}, but migrations from v${pin.version} did not all apply.\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,20 @@ export interface PluginPin {
6
6
  spec: string;
7
7
  /** An npm range (^x.y.z, ~x.y.z): the installed version may be newer than `version`. */
8
8
  range: boolean;
9
+ /**
10
+ * The spec names no version pstack recognises (a git tag of another repo, a tarball, a tag such
11
+ * as "latest"); `version` is the installed plugin's version.
12
+ */
13
+ fromInstalled?: boolean;
9
14
  }
10
15
  export interface UpdateTarget {
11
16
  action: 'noop' | 'upgrade' | 'downgrade';
12
17
  to: string;
13
18
  }
14
- export declare function findPluginPin(pkg: any, example?: string): PluginPin;
19
+ /**
20
+ * The plugin entry of package.json. A spec pstack cannot read a version from falls back to
21
+ * `installed` (the version in node_modules), so `pstack update` can move such a workspace to a
22
+ * normal pin; without an installed copy it is an error.
23
+ */
24
+ export declare function findPluginPin(pkg: any, example?: string, installed?: string): PluginPin;
15
25
  export declare function resolveTarget(from: string, toFlag: string | undefined, selfVersion: string, force: boolean): UpdateTarget;
@@ -7,16 +7,25 @@ const versions_1 = require("./versions");
7
7
  function pinCommand(version) {
8
8
  return ['npm i -D', `${versions_1.PLUGIN_NAME}@${(0, versions_1.formatPluginSpec)(version)}`, ...(0, versions_1.pinInstallFlags)()].join(' ');
9
9
  }
10
+ /**
11
+ * The plugin entry of package.json. A spec pstack cannot read a version from falls back to
12
+ * `installed` (the version in node_modules), so `pstack update` can move such a workspace to a
13
+ * normal pin; without an installed copy it is an error.
14
+ */
15
+ function findPluginPin(
10
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- function findPluginPin(pkg, example = '0.3.0') {
17
+ pkg, example = '0.3.0', installed) {
12
18
  for (const field of ['devDependencies', 'dependencies']) {
13
19
  const spec = pkg?.[field]?.[versions_1.PLUGIN_NAME];
14
20
  if (spec === undefined)
15
21
  continue;
16
22
  const version = (0, versions_1.parsePluginSpec)(spec);
23
+ if (!version && installed && /^\d+\.\d+\.\d+$/.test(installed)) {
24
+ return { field, version: installed, spec, range: false, fromInstalled: true };
25
+ }
17
26
  if (!version) {
18
- throw new types_1.CliError(`${versions_1.PLUGIN_NAME} is "${spec}" in ${field}. pstack update needs a pinned version — ` +
19
- `pin one first: ${pinCommand(example)}`);
27
+ throw new types_1.CliError(`${versions_1.PLUGIN_NAME} is "${spec}" in ${field} and no installed copy was found. ` +
28
+ `pstack update needs a pinned version — pin one first: ${pinCommand(example)}`);
20
29
  }
21
30
  return { field, version, spec, range: /^\s*[\^~]/.test(spec) };
22
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-plan.js","sourceRoot":"","sources":["../../../src/cli/update-plan.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,yCAQoB;AAEpB,yFAAyF;AACzF,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,UAAU,EAAE,GAAG,sBAAW,IAAI,IAAA,2BAAgB,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAA,0BAAe,GAAE,CAAC,CAAC,IAAI,CAC3F,GAAG,CACJ,CAAC;AACJ,CAAC;AAkBD,8DAA8D;AAC9D,SAAgB,aAAa,CAAC,GAAQ,EAAE,OAAO,GAAG,OAAO;IACvD,KAAK,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAe,EAAE;QACrE,MAAM,IAAI,GAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAW,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,QAAQ,IAAI,QAAQ,KAAK,2CAA2C;gBAChF,kBAAkB,UAAU,CAAC,OAAO,CAAC,EAAE,CAC1C,CAAC;SACH;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KAChE;IACD,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,iDAAiD,UAAU,CAAC,OAAO,CAAC,EAAE,CACrF,CAAC;AACJ,CAAC;AAhBD,sCAgBC;AAED,SAAgB,aAAa,CAC3B,IAAY,EACZ,MAA0B,EAC1B,WAAmB,EACnB,KAAc;IAEd,MAAM,EAAE,GAAG,IAAA,2BAAgB,EAAC,MAAM,IAAI,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,gBAAQ,CAChB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,mBAAmB,EAAE,mCAAmC,IAAI,mBAAmB;gBAC/E,IAAI,IAAA,+BAAoB,EAAC,IAAI,CAAC,2DAA2D;YAC3F,CAAC,CAAC,IAAI,EAAE,iCAAiC,IAAI,8BAA8B,CAC9E,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"update-plan.js","sourceRoot":"","sources":["../../../src/cli/update-plan.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,yCAQoB;AAEpB,yFAAyF;AACzF,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,UAAU,EAAE,GAAG,sBAAW,IAAI,IAAA,2BAAgB,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAA,0BAAe,GAAE,CAAC,CAAC,IAAI,CAC3F,GAAG,CACJ,CAAC;AACJ,CAAC;AAuBD;;;;GAIG;AACH,SAAgB,aAAa;AAC3B,8DAA8D;AAC9D,GAAQ,EACR,OAAO,GAAG,OAAO,EACjB,SAAkB;IAElB,KAAK,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAe,EAAE;QACrE,MAAM,IAAI,GAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAW,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC/E;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,QAAQ,IAAI,QAAQ,KAAK,oCAAoC;gBACzE,yDAAyD,UAAU,CAAC,OAAO,CAAC,EAAE,CACjF,CAAC;SACH;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KAChE;IACD,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,iDAAiD,UAAU,CAAC,OAAO,CAAC,EAAE,CACrF,CAAC;AACJ,CAAC;AAxBD,sCAwBC;AAED,SAAgB,aAAa,CAC3B,IAAY,EACZ,MAA0B,EAC1B,WAAmB,EACnB,KAAc;IAEd,MAAM,EAAE,GAAG,IAAA,2BAAgB,EAAC,MAAM,IAAI,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,gBAAQ,CAChB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,mBAAmB,EAAE,mCAAmC,IAAI,mBAAmB;gBAC/E,IAAI,IAAA,+BAAoB,EAAC,IAAI,CAAC,2DAA2D;YAC3F,CAAC,CAAC,IAAI,EAAE,iCAAiC,IAAI,8BAA8B,CAC9E,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC;AAlBD,sCAkBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mouryaamit/nx-polystack",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Nx plugin and pstack CLI that scaffold and build multi-tech monorepos (Angular, Ionic, Flutter) with a hardened release pipeline.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",