pnpm-ws-link 0.0.1 → 0.0.2

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/dist/index.js CHANGED
@@ -9,6 +9,37 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
9
9
  /* helpers */
10
10
  /* ------------------------------------------------------------------ */
11
11
  const readJSON = (p) => JSON.parse(readFileSync(p, 'utf8'));
12
+ /**
13
+ * Detects the indentation used in a package.json file
14
+ * @param filePath Path to the package.json file
15
+ * @returns The detected indentation (spaces or tabs)
16
+ */
17
+ function detectIndentation(filePath) {
18
+ const content = readFileSync(filePath, 'utf8');
19
+ const lines = content.split('\n');
20
+ // Find the first line that starts with indentation (after the opening brace)
21
+ for (const line of lines) {
22
+ if (line.trim().startsWith('"') && (line.startsWith(' ') || line.startsWith('\t'))) {
23
+ // Count the number of spaces or tabs at the beginning
24
+ const match = line.match(/^(\s+)/);
25
+ if (match) {
26
+ return match[1]; // Return the detected indentation
27
+ }
28
+ }
29
+ }
30
+ // Default to 2 spaces if no indentation is detected
31
+ return ' ';
32
+ }
33
+ /**
34
+ * Stringifies JSON with the same formatting as the original file
35
+ * @param data The data to stringify
36
+ * @param originalContent The original file content for indentation detection
37
+ * @returns Formatted JSON string
38
+ */
39
+ function stringifyWithOriginalFormatting(data, originalContent) {
40
+ const detectedIndentation = detectIndentation(originalContent);
41
+ return JSON.stringify(data, null, detectedIndentation);
42
+ }
12
43
  /* ------------------------------------------------------------------ */
13
44
  /* main logic */
14
45
  /* ------------------------------------------------------------------ */
@@ -86,7 +117,9 @@ else {
86
117
  if (!currentPkg.pnpm.overrides)
87
118
  currentPkg.pnpm.overrides = {};
88
119
  Object.assign(currentPkg.pnpm.overrides, overrides);
89
- writeFileSync(currentPkgPath, JSON.stringify(currentPkg, null, 2));
120
+ // Preserve the original formatting by reading the file content first
121
+ const originalContent = readFileSync(currentPkgPath, 'utf8');
122
+ writeFileSync(currentPkgPath, stringifyWithOriginalFormatting(currentPkg, originalContent));
90
123
  console.log('Overrides added to package.json');
91
124
  }
92
125
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pnpm-ws-link",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "CLI tool to generate pnpm overrides for linking external workspace packages",
5
5
  "keywords": ["pnpm", "workspace", "link", "overrides", "monorepo"],
6
6
  "author": "wighawag",