pipework 0.193.0 → 0.194.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/REFERENCE.md +13 -322
  3. package/dist/cli/commands/add.d.ts.map +1 -1
  4. package/dist/cli/commands/add.js +2 -0
  5. package/dist/cli/commands/add.js.map +1 -1
  6. package/dist/cli/commands/install.d.ts.map +1 -1
  7. package/dist/cli/commands/install.js +2 -0
  8. package/dist/cli/commands/install.js.map +1 -1
  9. package/dist/cli/commands/remove.d.ts.map +1 -1
  10. package/dist/cli/commands/remove.js +2 -0
  11. package/dist/cli/commands/remove.js.map +1 -1
  12. package/dist/cli/commands/shared/report-removed.d.ts +3 -0
  13. package/dist/cli/commands/shared/report-removed.d.ts.map +1 -0
  14. package/dist/cli/commands/shared/report-removed.js +7 -0
  15. package/dist/cli/commands/shared/report-removed.js.map +1 -0
  16. package/dist/cli/commands/sync.d.ts.map +1 -1
  17. package/dist/cli/commands/sync.js +2 -0
  18. package/dist/cli/commands/sync.js.map +1 -1
  19. package/dist/core/config/namespace.d.ts +1 -0
  20. package/dist/core/config/namespace.d.ts.map +1 -1
  21. package/dist/core/config/schema.d.ts +2 -0
  22. package/dist/core/config/schema.d.ts.map +1 -1
  23. package/dist/core/config/schema.js +17 -0
  24. package/dist/core/config/schema.js.map +1 -1
  25. package/dist/infra/email/sigv4.d.ts +24 -0
  26. package/dist/infra/email/sigv4.d.ts.map +1 -0
  27. package/dist/infra/email/sigv4.js +55 -0
  28. package/dist/infra/email/sigv4.js.map +1 -0
  29. package/dist/workspace/discover.d.ts +1 -0
  30. package/dist/workspace/discover.d.ts.map +1 -1
  31. package/dist/workspace/discover.js +22 -1
  32. package/dist/workspace/discover.js.map +1 -1
  33. package/dist/workspace/generate.d.ts.map +1 -1
  34. package/dist/workspace/generate.js +2 -0
  35. package/dist/workspace/generate.js.map +1 -1
  36. package/dist/workspace/module-package-name.d.ts.map +1 -1
  37. package/dist/workspace/module-package-name.js +6 -0
  38. package/dist/workspace/module-package-name.js.map +1 -1
  39. package/dist/workspace/sync.d.ts +6 -0
  40. package/dist/workspace/sync.d.ts.map +1 -1
  41. package/dist/workspace/sync.js +65 -1
  42. package/dist/workspace/sync.js.map +1 -1
  43. package/package.json +1 -1
@@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { resolveModules } from './discover.js';
5
5
  import { moduleImportsPipework } from './module-imports-pipework.js';
6
6
  import { generateWorkspace } from './generate.js';
7
+ const DEPENDENCY_FIELDS = ['dependencies', 'devDependencies', 'peerDependencies'];
7
8
  export function sync(input) {
8
9
  const pipeworkVersion = input.pipeworkVersion ?? readPipeworkVersionFromConfig(input.config) ?? readPipeworkVersion();
9
10
  const modules = resolveModules(input.config.modules, input.cwd).map((mod) => ({
@@ -21,8 +22,10 @@ export function sync(input) {
21
22
  hasVitest: input.config.vitest !== undefined,
22
23
  };
23
24
  const files = generateWorkspace(workspaceConfig);
25
+ refuseHandWrittenManifests(files, modules, input.cwd);
24
26
  let written = 0;
25
27
  let skipped = 0;
28
+ const removed = [];
26
29
  for (const file of files) {
27
30
  const fullPath = join(input.cwd, file.relativePath);
28
31
  const dir = dirname(fullPath);
@@ -32,11 +35,72 @@ export function sync(input) {
32
35
  skipped++;
33
36
  }
34
37
  else {
38
+ if (existing !== undefined && isPackageJson(file.relativePath)) {
39
+ removed.push(...removedDependencies(file.relativePath, existing, file.content));
40
+ }
35
41
  writeFileSync(fullPath, file.content, 'utf-8');
36
42
  written++;
37
43
  }
38
44
  }
39
- return { files, written, skipped, pipeworkVersion };
45
+ return { files, written, skipped, removed, pipeworkVersion };
46
+ }
47
+ function isPackageJson(relativePath) {
48
+ return relativePath === 'package.json' || relativePath.endsWith('/package.json');
49
+ }
50
+ function parseObject(raw) {
51
+ try {
52
+ const parsed = JSON.parse(raw);
53
+ return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)
54
+ ? parsed
55
+ : undefined;
56
+ }
57
+ catch {
58
+ return undefined;
59
+ }
60
+ }
61
+ // Nothing is written until every module package.json sync is about to write is known to be
62
+ // either absent or one pipework generated (`_generated`). A hand-written module manifest is
63
+ // the user's; overwriting it would drop what it declares. The root package.json is exempt:
64
+ // `pnpm add pipework` writes it by hand before the first `pipework install`.
65
+ function refuseHandWrittenManifests(files, modules, cwd) {
66
+ const lines = [];
67
+ for (const file of files) {
68
+ const mod = modules.find(m => m.relativePath + '/package.json' === file.relativePath);
69
+ if (mod === undefined)
70
+ continue;
71
+ const raw = readFileSafe(join(cwd, file.relativePath));
72
+ if (raw === undefined)
73
+ continue;
74
+ if (typeof parseObject(raw)?.['_generated'] === 'string')
75
+ continue;
76
+ lines.push(` ${file.relativePath}: if the module owns its manifest, set modules['${mod.key}'].managed = false; otherwise delete the file to let pipework generate it.`);
77
+ }
78
+ if (lines.length === 0)
79
+ return;
80
+ throw new Error(`[pipework] sync would overwrite ${String(lines.length)} package.json file(s) that pipework did not generate (no "_generated" field). Nothing was written.\n\n` +
81
+ lines.join('\n') + '\n');
82
+ }
83
+ function removedDependencies(file, oldRaw, newRaw) {
84
+ const before = parseObject(oldRaw);
85
+ const after = parseObject(newRaw);
86
+ if (before === undefined || after === undefined)
87
+ return [];
88
+ const out = [];
89
+ for (const field of DEPENDENCY_FIELDS) {
90
+ const oldDeps = before[field];
91
+ if (typeof oldDeps !== 'object' || oldDeps === null)
92
+ continue;
93
+ for (const name of Object.keys(oldDeps)) {
94
+ // Moving a name between the three fields is not a removal.
95
+ const stillDeclared = DEPENDENCY_FIELDS.some(f => {
96
+ const deps = after[f];
97
+ return typeof deps === 'object' && deps !== null && name in deps;
98
+ });
99
+ if (!stillDeclared)
100
+ out.push({ file, field, name });
101
+ }
102
+ }
103
+ return out;
40
104
  }
41
105
  function readFileSafe(path) {
42
106
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/workspace/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/workspace/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipework",
3
- "version": "0.193.0",
3
+ "version": "0.194.0",
4
4
  "description": "TypeScript framework for multi-tenant SaaS applications. PostgreSQL-only.",
5
5
  "type": "module",
6
6
  "license": "MIT",