@tomflow/proflow-platform-cli 0.1.12 → 0.1.13

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @tomflow/proflow-platform-cli
2
2
 
3
+ ## 0.1.13
4
+
5
+ ### Patch Changes
6
+
7
+ - Fully clean Workspace uninstall artifacts by removing empty ProFlow layout directories and stale pnpm release-age entries across prior managed versions.
8
+
3
9
  ## 0.1.12
4
10
 
5
11
  ### Patch Changes
@@ -5,7 +5,7 @@ export declare const behaviorAdapter: {
5
5
  ok: boolean;
6
6
  status: "SUCCEEDED";
7
7
  moduleRef: "platform-cli";
8
- moduleVersion: "0.1.12";
8
+ moduleVersion: "0.1.13";
9
9
  data?: {} | null;
10
10
  };
11
11
  observedEffects: never[];
@@ -16,7 +16,7 @@ export declare const behaviorAdapter: {
16
16
  ok: boolean;
17
17
  status: "SUCCEEDED";
18
18
  moduleRef: "platform-cli";
19
- moduleVersion: "0.1.12";
19
+ moduleVersion: "0.1.13";
20
20
  data?: {} | null;
21
21
  };
22
22
  observedEffects: never[];
@@ -27,7 +27,7 @@ export declare const behaviorAdapter: {
27
27
  ok: boolean;
28
28
  status: "SUCCEEDED";
29
29
  moduleRef: "platform-cli";
30
- moduleVersion: "0.1.12";
30
+ moduleVersion: "0.1.13";
31
31
  data?: {} | null;
32
32
  };
33
33
  observedEffects: never[];
@@ -38,7 +38,7 @@ export declare const behaviorAdapter: {
38
38
  ok: boolean;
39
39
  status: "SUCCEEDED";
40
40
  moduleRef: "platform-cli";
41
- moduleVersion: "0.1.12";
41
+ moduleVersion: "0.1.13";
42
42
  data?: {} | null;
43
43
  };
44
44
  observedEffects: never[];
@@ -49,7 +49,7 @@ export declare const behaviorAdapter: {
49
49
  ok: boolean;
50
50
  status: "SUCCEEDED";
51
51
  moduleRef: "platform-cli";
52
- moduleVersion: "0.1.12";
52
+ moduleVersion: "0.1.13";
53
53
  data?: {} | null;
54
54
  };
55
55
  observedEffects: never[];
@@ -3,7 +3,7 @@ export declare const descriptor: {
3
3
  readonly contractVersion: "1.0.0";
4
4
  readonly moduleRef: "platform-cli";
5
5
  readonly packageName: "@tomflow/proflow-platform-cli";
6
- readonly moduleVersion: "0.1.12";
6
+ readonly moduleVersion: "0.1.13";
7
7
  readonly kind: "cli";
8
8
  readonly templateVersion: "1.0.0";
9
9
  readonly platformCompatibility: ">=1.0.0 <2.0.0";
@@ -3,7 +3,7 @@ export const descriptor = {
3
3
  contractVersion: "1.0.0",
4
4
  moduleRef: "platform-cli",
5
5
  packageName: "@tomflow/proflow-platform-cli",
6
- moduleVersion: "0.1.12",
6
+ moduleVersion: "0.1.13",
7
7
  kind: "cli",
8
8
  templateVersion: "1.0.0",
9
9
  platformCompatibility: ">=1.0.0 <2.0.0",
@@ -22,8 +22,8 @@ export async function cleanupWorkspacePackageManagerArtifacts(options) {
22
22
  const manager = await readWorkspacePackageManagerSelection(options.workspaceRoot);
23
23
  if (manager.name !== "pnpm")
24
24
  return;
25
- const removedPackageSpecs = new Set(options.removedModules.map((module) => `${module.packageName}@${module.moduleVersion}`));
26
- await cleanupPnpmReleaseAgeExcludes(options.workspaceRoot, removedPackageSpecs);
25
+ const removedPackageNames = new Set(options.removedModules.map((module) => module.packageName));
26
+ await cleanupPnpmReleaseAgeExcludes(options.workspaceRoot, removedPackageNames);
27
27
  await normalizeEmptyPnpmRootImporter(options.workspaceRoot);
28
28
  }
29
29
  export function createWorkspacePackageManagerDriver(options) {
@@ -156,7 +156,7 @@ async function readWorkspaceManifest(workspaceRoot) {
156
156
  return undefined;
157
157
  }
158
158
  }
159
- async function cleanupPnpmReleaseAgeExcludes(workspaceRoot, removedPackageSpecs) {
159
+ async function cleanupPnpmReleaseAgeExcludes(workspaceRoot, removedPackageNames) {
160
160
  const path = join(workspaceRoot, "pnpm-workspace.yaml");
161
161
  let raw;
162
162
  try {
@@ -181,7 +181,11 @@ async function cleanupPnpmReleaseAgeExcludes(workspaceRoot, removedPackageSpecs)
181
181
  if (match === null)
182
182
  return true;
183
183
  const value = stripYamlQuotes(match[1] ?? "");
184
- return !removedPackageSpecs.has(value);
184
+ for (const packageName of removedPackageNames) {
185
+ if (value === packageName || value.startsWith(`${packageName}@`))
186
+ return false;
187
+ }
188
+ return true;
185
189
  });
186
190
  const hasListItem = retained.some((line) => /^\s*-\s+/.test(line));
187
191
  const replacement = hasListItem ? [lines[keyIndex] ?? "", ...retained] : [];
package/dist/src/cli.js CHANGED
@@ -855,15 +855,26 @@ async function handlePlatformInstanceUninstall(args, runtime) {
855
855
  // into a future install of the same directory. Business/domain data outside
856
856
  // `.proflow/deployment` is intentionally preserved.
857
857
  await rm(ctx.paths.deployment, { recursive: true, force: true });
858
- try {
859
- await rmdir(ctx.paths.proflow);
860
- }
861
- catch (error) {
862
- const code = typeof error === "object" && error !== null
863
- ? Reflect.get(error, "code")
864
- : undefined;
865
- if (code !== "ENOENT" && code !== "ENOTEMPTY")
866
- throw error;
858
+ for (const path of [
859
+ ctx.paths.logsDeployment,
860
+ ctx.paths.logs,
861
+ ctx.paths.config,
862
+ ctx.paths.data,
863
+ ctx.paths.runtime,
864
+ ctx.paths.cache,
865
+ ctx.paths.tmp,
866
+ ctx.paths.proflow,
867
+ ]) {
868
+ try {
869
+ await rmdir(path);
870
+ }
871
+ catch (error) {
872
+ const code = typeof error === "object" && error !== null
873
+ ? Reflect.get(error, "code")
874
+ : undefined;
875
+ if (code !== "ENOENT" && code !== "ENOTEMPTY")
876
+ throw error;
877
+ }
867
878
  }
868
879
  const completed = binding;
869
880
  await clearGlobalBinding({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomflow/proflow-platform-cli",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -24,8 +24,8 @@
24
24
  "@tomflow/proflow-module-contract": "^0.1.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@tomflow/proflow-module-template": "^0.1.2",
28
- "@tomflow/proflow-deployment-conformance": "^0.1.2"
27
+ "@tomflow/proflow-deployment-conformance": "^0.1.2",
28
+ "@tomflow/proflow-module-template": "^0.1.2"
29
29
  },
30
30
  "description": "Deterministic platform-level deployment discovery, planning, lifecycle and verification CLI.",
31
31
  "keywords": [
@@ -3,7 +3,7 @@
3
3
  "contractVersion": "1.0.0",
4
4
  "moduleRef": "platform-cli",
5
5
  "packageName": "@tomflow/proflow-platform-cli",
6
- "moduleVersion": "0.1.12",
6
+ "moduleVersion": "0.1.13",
7
7
  "kind": "cli",
8
8
  "templateVersion": "1.0.0",
9
9
  "platformCompatibility": ">=1.0.0 <2.0.0",