@openrewrite/rewrite 8.72.2 → 8.72.4

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 (197) hide show
  1. package/dist/execution.js +3 -16
  2. package/dist/execution.js.map +1 -1
  3. package/dist/index.js +34 -49
  4. package/dist/index.js.map +1 -1
  5. package/dist/java/markers.js +12 -29
  6. package/dist/java/markers.js.map +1 -1
  7. package/dist/java/print.js +2 -13
  8. package/dist/java/print.js.map +1 -1
  9. package/dist/java/rpc.js +1344 -1725
  10. package/dist/java/rpc.js.map +1 -1
  11. package/dist/java/type-visitor.js +143 -184
  12. package/dist/java/type-visitor.js.map +1 -1
  13. package/dist/java/visitor.js +1072 -1249
  14. package/dist/java/visitor.js.map +1 -1
  15. package/dist/javascript/add-import.js +495 -534
  16. package/dist/javascript/add-import.js.map +1 -1
  17. package/dist/javascript/autodetect.js +116 -159
  18. package/dist/javascript/autodetect.js.map +1 -1
  19. package/dist/javascript/cleanup/add-parse-int-radix.js +41 -57
  20. package/dist/javascript/cleanup/add-parse-int-radix.js.map +1 -1
  21. package/dist/javascript/cleanup/prefer-optional-chain.js +89 -105
  22. package/dist/javascript/cleanup/prefer-optional-chain.js.map +1 -1
  23. package/dist/javascript/cleanup/use-object-property-shorthand.js +74 -95
  24. package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -1
  25. package/dist/javascript/comparator.js +815 -1167
  26. package/dist/javascript/comparator.js.map +1 -1
  27. package/dist/javascript/dependency-workspace.js +206 -219
  28. package/dist/javascript/dependency-workspace.js.map +1 -1
  29. package/dist/javascript/format/format.js +682 -908
  30. package/dist/javascript/format/format.js.map +1 -1
  31. package/dist/javascript/format/minimum-viable-spacing-visitor.js +152 -231
  32. package/dist/javascript/format/minimum-viable-spacing-visitor.js.map +1 -1
  33. package/dist/javascript/format/normalize-whitespace-visitor.js +12 -31
  34. package/dist/javascript/format/normalize-whitespace-visitor.js.map +1 -1
  35. package/dist/javascript/format/prettier-config-loader.js +134 -153
  36. package/dist/javascript/format/prettier-config-loader.js.map +1 -1
  37. package/dist/javascript/format/prettier-format.js +112 -129
  38. package/dist/javascript/format/prettier-format.js.map +1 -1
  39. package/dist/javascript/format/tabs-and-indents-visitor.js +112 -136
  40. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  41. package/dist/javascript/markers.js +59 -92
  42. package/dist/javascript/markers.js.map +1 -1
  43. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js +39 -52
  44. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js.map +1 -1
  45. package/dist/javascript/migrate/es6/modernize-octal-literals.js +25 -38
  46. package/dist/javascript/migrate/es6/modernize-octal-literals.js.map +1 -1
  47. package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js +66 -82
  48. package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js.map +1 -1
  49. package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js +10 -23
  50. package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js.map +1 -1
  51. package/dist/javascript/node-resolution-result.js +137 -166
  52. package/dist/javascript/node-resolution-result.js.map +1 -1
  53. package/dist/javascript/package-json-parser.js +312 -343
  54. package/dist/javascript/package-json-parser.js.map +1 -1
  55. package/dist/javascript/package-manager.js +145 -170
  56. package/dist/javascript/package-manager.js.map +1 -1
  57. package/dist/javascript/parser.d.ts.map +1 -1
  58. package/dist/javascript/parser.js +94 -68
  59. package/dist/javascript/parser.js.map +1 -1
  60. package/dist/javascript/print.js +1572 -1835
  61. package/dist/javascript/print.js.map +1 -1
  62. package/dist/javascript/project-parser.js +151 -172
  63. package/dist/javascript/project-parser.js.map +1 -1
  64. package/dist/javascript/recipes/add-dependency.js +140 -175
  65. package/dist/javascript/recipes/add-dependency.js.map +1 -1
  66. package/dist/javascript/recipes/async-callback-in-sync-array-method.js +20 -36
  67. package/dist/javascript/recipes/async-callback-in-sync-array-method.js.map +1 -1
  68. package/dist/javascript/recipes/auto-format.js +3 -14
  69. package/dist/javascript/recipes/auto-format.js.map +1 -1
  70. package/dist/javascript/recipes/change-import.js +447 -495
  71. package/dist/javascript/recipes/change-import.js.map +1 -1
  72. package/dist/javascript/recipes/order-imports.js +162 -175
  73. package/dist/javascript/recipes/order-imports.js.map +1 -1
  74. package/dist/javascript/recipes/upgrade-dependency-version.js +167 -197
  75. package/dist/javascript/recipes/upgrade-dependency-version.js.map +1 -1
  76. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +166 -193
  77. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +1 -1
  78. package/dist/javascript/remove-import.js +689 -724
  79. package/dist/javascript/remove-import.js.map +1 -1
  80. package/dist/javascript/rpc.js +1007 -1332
  81. package/dist/javascript/rpc.js.map +1 -1
  82. package/dist/javascript/search/find-dependency.js +84 -110
  83. package/dist/javascript/search/find-dependency.js.map +1 -1
  84. package/dist/javascript/search/uses-method.js +5 -19
  85. package/dist/javascript/search/uses-method.js.map +1 -1
  86. package/dist/javascript/search/uses-type.js +9 -20
  87. package/dist/javascript/search/uses-type.js.map +1 -1
  88. package/dist/javascript/templating/comparator.js +737 -822
  89. package/dist/javascript/templating/comparator.js.map +1 -1
  90. package/dist/javascript/templating/engine.js +211 -245
  91. package/dist/javascript/templating/engine.js.map +1 -1
  92. package/dist/javascript/templating/pattern.js +169 -190
  93. package/dist/javascript/templating/pattern.js.map +1 -1
  94. package/dist/javascript/templating/placeholder-replacement.js +172 -210
  95. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  96. package/dist/javascript/templating/rewrite.js +75 -97
  97. package/dist/javascript/templating/rewrite.js.map +1 -1
  98. package/dist/javascript/templating/template.js +69 -82
  99. package/dist/javascript/templating/template.js.map +1 -1
  100. package/dist/javascript/tree-debug.js +109 -137
  101. package/dist/javascript/tree-debug.js.map +1 -1
  102. package/dist/javascript/visitor.js +1090 -1254
  103. package/dist/javascript/visitor.js.map +1 -1
  104. package/dist/json/print.js +72 -103
  105. package/dist/json/print.js.map +1 -1
  106. package/dist/json/rpc.js +120 -181
  107. package/dist/json/rpc.js.map +1 -1
  108. package/dist/json/visitor.js +69 -100
  109. package/dist/json/visitor.js.map +1 -1
  110. package/dist/marketplace.js +20 -33
  111. package/dist/marketplace.js.map +1 -1
  112. package/dist/parse-error.js +41 -62
  113. package/dist/parse-error.js.map +1 -1
  114. package/dist/parser.js +7 -18
  115. package/dist/parser.js.map +1 -1
  116. package/dist/path-utils.js +46 -59
  117. package/dist/path-utils.js.map +1 -1
  118. package/dist/preconditions.js +30 -47
  119. package/dist/preconditions.js.map +1 -1
  120. package/dist/print.js +6 -19
  121. package/dist/print.js.map +1 -1
  122. package/dist/recipe.js +42 -73
  123. package/dist/recipe.js.map +1 -1
  124. package/dist/rpc/index.js +74 -115
  125. package/dist/rpc/index.js.map +1 -1
  126. package/dist/rpc/queue.js +71 -90
  127. package/dist/rpc/queue.js.map +1 -1
  128. package/dist/rpc/recipe.js +32 -57
  129. package/dist/rpc/recipe.js.map +1 -1
  130. package/dist/rpc/request/generate.js +4 -13
  131. package/dist/rpc/request/generate.js.map +1 -1
  132. package/dist/rpc/request/get-languages.js +2 -11
  133. package/dist/rpc/request/get-languages.js.map +1 -1
  134. package/dist/rpc/request/get-marketplace.js +9 -20
  135. package/dist/rpc/request/get-marketplace.js.map +1 -1
  136. package/dist/rpc/request/get-object.js +4 -13
  137. package/dist/rpc/request/get-object.js.map +1 -1
  138. package/dist/rpc/request/install-recipes.js +25 -36
  139. package/dist/rpc/request/install-recipes.js.map +1 -1
  140. package/dist/rpc/request/metrics.js +8 -17
  141. package/dist/rpc/request/metrics.js.map +1 -1
  142. package/dist/rpc/request/parse-project.js +36 -45
  143. package/dist/rpc/request/parse-project.js.map +1 -1
  144. package/dist/rpc/request/parse.js +5 -14
  145. package/dist/rpc/request/parse.js.map +1 -1
  146. package/dist/rpc/request/prepare-recipe.js +37 -52
  147. package/dist/rpc/request/prepare-recipe.js.map +1 -1
  148. package/dist/rpc/request/print.js +5 -14
  149. package/dist/rpc/request/print.js.map +1 -1
  150. package/dist/rpc/request/visit.js +56 -71
  151. package/dist/rpc/request/visit.js.map +1 -1
  152. package/dist/rpc/rewrite-rpc.js +70 -97
  153. package/dist/rpc/rewrite-rpc.js.map +1 -1
  154. package/dist/rpc/server.js +76 -89
  155. package/dist/rpc/server.js.map +1 -1
  156. package/dist/run.js +47 -66
  157. package/dist/run.js.map +1 -1
  158. package/dist/search/is-source-file.js +8 -19
  159. package/dist/search/is-source-file.js.map +1 -1
  160. package/dist/test/rewrite-test.js +154 -188
  161. package/dist/test/rewrite-test.js.map +1 -1
  162. package/dist/text/print.js +23 -38
  163. package/dist/text/print.js.map +1 -1
  164. package/dist/text/rpc.js +29 -44
  165. package/dist/text/rpc.js.map +1 -1
  166. package/dist/text/visitor.js +16 -33
  167. package/dist/text/visitor.js.map +1 -1
  168. package/dist/util.js +13 -24
  169. package/dist/util.js.map +1 -1
  170. package/dist/version.txt +1 -1
  171. package/dist/visitor.js +84 -115
  172. package/dist/visitor.js.map +1 -1
  173. package/dist/yaml/index.d.ts +2 -0
  174. package/dist/yaml/index.d.ts.map +1 -1
  175. package/dist/yaml/index.js +2 -0
  176. package/dist/yaml/index.js.map +1 -1
  177. package/dist/yaml/markers.d.ts +21 -0
  178. package/dist/yaml/markers.d.ts.map +1 -0
  179. package/dist/yaml/markers.js +37 -0
  180. package/dist/yaml/markers.js.map +1 -0
  181. package/dist/yaml/parser.d.ts.map +1 -1
  182. package/dist/yaml/parser.js +4 -1
  183. package/dist/yaml/parser.js.map +1 -1
  184. package/dist/yaml/print.d.ts +1 -1
  185. package/dist/yaml/print.d.ts.map +1 -1
  186. package/dist/yaml/print.js +175 -208
  187. package/dist/yaml/print.js.map +1 -1
  188. package/dist/yaml/rpc.js +154 -219
  189. package/dist/yaml/rpc.js.map +1 -1
  190. package/dist/yaml/visitor.js +78 -113
  191. package/dist/yaml/visitor.js.map +1 -1
  192. package/package.json +1 -1
  193. package/src/javascript/parser.ts +56 -14
  194. package/src/yaml/index.ts +2 -0
  195. package/src/yaml/markers.ts +70 -0
  196. package/src/yaml/parser.ts +5 -1
  197. package/src/yaml/print.ts +5 -2
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.DependencyWorkspace = void 0;
46
37
  /*
@@ -76,253 +67,249 @@ class DependencyWorkspace {
76
67
  * @param options Workspace options including dependencies or package.json content
77
68
  * @returns Path to the workspace directory
78
69
  */
79
- static getOrCreateWorkspace(options) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- // Extract dependencies from package.json content if provided
82
- let dependencies = options.dependencies;
83
- let parsedPackageJson;
84
- let workspacePackages;
85
- if (options.packageJsonContent) {
86
- parsedPackageJson = JSON.parse(options.packageJsonContent);
87
- dependencies = Object.assign(Object.assign({}, parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.dependencies), parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.devDependencies);
88
- workspacePackages = options.workspacePackages;
89
- // For workspaces, also collect dependencies from workspace members
90
- if (workspacePackages) {
91
- for (const content of Object.values(workspacePackages)) {
92
- const memberPkg = JSON.parse(content);
93
- dependencies = Object.assign(Object.assign(Object.assign({}, dependencies), memberPkg === null || memberPkg === void 0 ? void 0 : memberPkg.dependencies), memberPkg === null || memberPkg === void 0 ? void 0 : memberPkg.devDependencies);
94
- }
70
+ static async getOrCreateWorkspace(options) {
71
+ // Extract dependencies from package.json content if provided
72
+ let dependencies = options.dependencies;
73
+ let parsedPackageJson;
74
+ let workspacePackages;
75
+ if (options.packageJsonContent) {
76
+ parsedPackageJson = JSON.parse(options.packageJsonContent);
77
+ dependencies = Object.assign(Object.assign({}, parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.dependencies), parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.devDependencies);
78
+ workspacePackages = options.workspacePackages;
79
+ // For workspaces, also collect dependencies from workspace members
80
+ if (workspacePackages) {
81
+ for (const content of Object.values(workspacePackages)) {
82
+ const memberPkg = JSON.parse(content);
83
+ dependencies = Object.assign(Object.assign(Object.assign({}, dependencies), memberPkg === null || memberPkg === void 0 ? void 0 : memberPkg.dependencies), memberPkg === null || memberPkg === void 0 ? void 0 : memberPkg.devDependencies);
95
84
  }
96
85
  }
97
- // For workspaces without explicit dependencies in root, we still need to run install
98
- const hasWorkspaces = (parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.workspaces) && Array.isArray(parsedPackageJson.workspaces);
99
- if ((!dependencies || Object.keys(dependencies).length === 0) && !hasWorkspaces) {
100
- throw new Error('No dependencies provided');
101
- }
102
- // Use the refactored internal method
103
- return this.createWorkspace(dependencies || {}, parsedPackageJson, options.packageJsonContent, options.packageLockContent, options.targetDir, workspacePackages);
104
- });
86
+ }
87
+ // For workspaces without explicit dependencies in root, we still need to run install
88
+ const hasWorkspaces = (parsedPackageJson === null || parsedPackageJson === void 0 ? void 0 : parsedPackageJson.workspaces) && Array.isArray(parsedPackageJson.workspaces);
89
+ if ((!dependencies || Object.keys(dependencies).length === 0) && !hasWorkspaces) {
90
+ throw new Error('No dependencies provided');
91
+ }
92
+ // Use the refactored internal method
93
+ return this.createWorkspace(dependencies || {}, parsedPackageJson, options.packageJsonContent, options.packageLockContent, options.targetDir, workspacePackages);
105
94
  }
106
95
  /**
107
96
  * Internal method that handles workspace creation.
108
97
  */
109
- static createWorkspace(dependencies, parsedPackageJson, packageJsonContent, packageLockContent, targetDir, workspacePackages) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- var _a, _b, _c, _d;
112
- // Determine hash based on lock file (most precise) or dependencies
113
- // Note: We always hash dependencies (not packageJsonContent) because whitespace/formatting
114
- // differences in package.json shouldn't create different workspaces
115
- // For workspaces, include workspace package paths in the hash
116
- let hash;
117
- if (packageLockContent) {
118
- hash = this.hashContent(packageLockContent);
98
+ static async createWorkspace(dependencies, parsedPackageJson, packageJsonContent, packageLockContent, targetDir, workspacePackages) {
99
+ var _a, _b, _c, _d;
100
+ // Determine hash based on lock file (most precise) or dependencies
101
+ // Note: We always hash dependencies (not packageJsonContent) because whitespace/formatting
102
+ // differences in package.json shouldn't create different workspaces
103
+ // For workspaces, include workspace package paths in the hash
104
+ let hash;
105
+ if (packageLockContent) {
106
+ hash = this.hashContent(packageLockContent);
107
+ }
108
+ else if (workspacePackages) {
109
+ // Include workspace package paths in hash for workspace setups
110
+ const workspacePaths = Object.keys(workspacePackages).sort().join(',');
111
+ hash = this.hashContent(this.hashDependencies(dependencies) + ':' + workspacePaths);
112
+ }
113
+ else {
114
+ hash = this.hashDependencies(dependencies);
115
+ }
116
+ // Determine npm command: use `npm ci` when lock file is provided (faster, deterministic)
117
+ // Use --loglevel=error to suppress normal output but still capture errors in stderr
118
+ const npmCommand = packageLockContent ? 'npm ci --loglevel=error' : 'npm install --loglevel=error';
119
+ // Helper to write package files to a directory
120
+ const writePackageFiles = (dir) => {
121
+ // Write package.json (use provided content or generate from parsed/dependencies)
122
+ if (packageJsonContent) {
123
+ fs.writeFileSync(path.join(dir, 'package.json'), packageJsonContent);
119
124
  }
120
- else if (workspacePackages) {
121
- // Include workspace package paths in hash for workspace setups
122
- const workspacePaths = Object.keys(workspacePackages).sort().join(',');
123
- hash = this.hashContent(this.hashDependencies(dependencies) + ':' + workspacePaths);
125
+ else if (parsedPackageJson) {
126
+ fs.writeFileSync(path.join(dir, 'package.json'), JSON.stringify(parsedPackageJson, null, 2));
124
127
  }
125
128
  else {
126
- hash = this.hashDependencies(dependencies);
129
+ const packageJson = {
130
+ name: "openrewrite-template-workspace",
131
+ version: "1.0.0",
132
+ private: true,
133
+ dependencies: dependencies
134
+ };
135
+ fs.writeFileSync(path.join(dir, 'package.json'), JSON.stringify(packageJson, null, 2));
127
136
  }
128
- // Determine npm command: use `npm ci` when lock file is provided (faster, deterministic)
129
- // Use --loglevel=error to suppress normal output but still capture errors in stderr
130
- const npmCommand = packageLockContent ? 'npm ci --loglevel=error' : 'npm install --loglevel=error';
131
- // Helper to write package files to a directory
132
- const writePackageFiles = (dir) => {
133
- // Write package.json (use provided content or generate from parsed/dependencies)
134
- if (packageJsonContent) {
135
- fs.writeFileSync(path.join(dir, 'package.json'), packageJsonContent);
136
- }
137
- else if (parsedPackageJson) {
138
- fs.writeFileSync(path.join(dir, 'package.json'), JSON.stringify(parsedPackageJson, null, 2));
139
- }
140
- else {
141
- const packageJson = {
142
- name: "openrewrite-template-workspace",
143
- version: "1.0.0",
144
- private: true,
145
- dependencies: dependencies
146
- };
147
- fs.writeFileSync(path.join(dir, 'package.json'), JSON.stringify(packageJson, null, 2));
148
- }
149
- // Write package-lock.json if provided
150
- if (packageLockContent) {
151
- fs.writeFileSync(path.join(dir, 'package-lock.json'), packageLockContent);
152
- }
153
- // Write workspace member package.json files
154
- if (workspacePackages) {
155
- for (const [relativePath, content] of Object.entries(workspacePackages)) {
156
- const fullPath = path.join(dir, relativePath);
157
- const memberDir = path.dirname(fullPath);
158
- if (!fs.existsSync(memberDir)) {
159
- fs.mkdirSync(memberDir, { recursive: true });
160
- }
161
- fs.writeFileSync(fullPath, content);
162
- }
163
- }
164
- };
165
- // For workspaces, skip dependency validation (combined deps don't match root package.json)
166
- const depsForValidation = workspacePackages ? undefined : dependencies;
167
- if (targetDir) {
168
- // Use provided directory - check if it's already valid
169
- if (this.isWorkspaceValid(targetDir, depsForValidation)) {
170
- return targetDir;
171
- }
172
- // Create/update workspace in target directory
173
- fs.mkdirSync(targetDir, { recursive: true });
174
- // Check if we can reuse a cached workspace by symlinking node_modules
175
- const cachedWorkspaceDir = path.join(this.WORKSPACE_BASE, hash);
176
- const cachedNodeModules = path.join(cachedWorkspaceDir, 'node_modules');
177
- if (fs.existsSync(cachedNodeModules) && this.isWorkspaceValid(cachedWorkspaceDir, depsForValidation)) {
178
- // Symlink node_modules from cached workspace
179
- try {
180
- const targetNodeModules = path.join(targetDir, 'node_modules');
181
- // Remove existing node_modules if present (might be invalid)
182
- if (fs.existsSync(targetNodeModules)) {
183
- fs.rmSync(targetNodeModules, { recursive: true, force: true });
184
- }
185
- // Create symlink to cached node_modules
186
- fs.symlinkSync(cachedNodeModules, targetNodeModules, 'dir');
187
- // Write package files
188
- writePackageFiles(targetDir);
189
- return targetDir;
190
- }
191
- catch (symlinkError) {
192
- // Symlink failed (e.g., cross-device, permissions) - fall through to npm install
137
+ // Write package-lock.json if provided
138
+ if (packageLockContent) {
139
+ fs.writeFileSync(path.join(dir, 'package-lock.json'), packageLockContent);
140
+ }
141
+ // Write workspace member package.json files
142
+ if (workspacePackages) {
143
+ for (const [relativePath, content] of Object.entries(workspacePackages)) {
144
+ const fullPath = path.join(dir, relativePath);
145
+ const memberDir = path.dirname(fullPath);
146
+ if (!fs.existsSync(memberDir)) {
147
+ fs.mkdirSync(memberDir, { recursive: true });
193
148
  }
149
+ fs.writeFileSync(fullPath, content);
194
150
  }
151
+ }
152
+ };
153
+ // For workspaces, skip dependency validation (combined deps don't match root package.json)
154
+ const depsForValidation = workspacePackages ? undefined : dependencies;
155
+ if (targetDir) {
156
+ // Use provided directory - check if it's already valid
157
+ if (this.isWorkspaceValid(targetDir, depsForValidation)) {
158
+ return targetDir;
159
+ }
160
+ // Create/update workspace in target directory
161
+ fs.mkdirSync(targetDir, { recursive: true });
162
+ // Check if we can reuse a cached workspace by symlinking node_modules
163
+ const cachedWorkspaceDir = path.join(this.WORKSPACE_BASE, hash);
164
+ const cachedNodeModules = path.join(cachedWorkspaceDir, 'node_modules');
165
+ if (fs.existsSync(cachedNodeModules) && this.isWorkspaceValid(cachedWorkspaceDir, depsForValidation)) {
166
+ // Symlink node_modules from cached workspace
195
167
  try {
168
+ const targetNodeModules = path.join(targetDir, 'node_modules');
169
+ // Remove existing node_modules if present (might be invalid)
170
+ if (fs.existsSync(targetNodeModules)) {
171
+ fs.rmSync(targetNodeModules, { recursive: true, force: true });
172
+ }
173
+ // Create symlink to cached node_modules
174
+ fs.symlinkSync(cachedNodeModules, targetNodeModules, 'dir');
175
+ // Write package files
196
176
  writePackageFiles(targetDir);
197
- // Run npm install or npm ci
198
- (0, child_process_1.execSync)(npmCommand, {
199
- cwd: targetDir,
200
- stdio: 'pipe' // Suppress output
201
- });
202
177
  return targetDir;
203
178
  }
204
- catch (error) {
205
- const stderr = (_b = (_a = error === null || error === void 0 ? void 0 : error.stderr) === null || _a === void 0 ? void 0 : _a.toString()) === null || _b === void 0 ? void 0 : _b.trim();
206
- const errorMsg = stderr || (error === null || error === void 0 ? void 0 : error.message) || String(error);
207
- throw new Error(`Failed to create dependency workspace: ${errorMsg}`);
179
+ catch (symlinkError) {
180
+ // Symlink failed (e.g., cross-device, permissions) - fall through to npm install
208
181
  }
209
182
  }
210
- // Use hash-based cached workspace
211
- // Check cache
212
- const cached = this.cache.get(hash);
213
- if (cached && fs.existsSync(cached) && this.isWorkspaceValid(cached, depsForValidation)) {
214
- return cached;
215
- }
216
- // Final workspace location
217
- const workspaceDir = path.join(this.WORKSPACE_BASE, hash);
218
- // Check if valid workspace already exists on disk (cross-VM reuse)
219
- if (fs.existsSync(workspaceDir) && this.isWorkspaceValid(workspaceDir, depsForValidation)) {
220
- this.cache.set(hash, workspaceDir);
221
- return workspaceDir;
222
- }
223
- // Ensure base directory exists
224
- if (!fs.existsSync(this.WORKSPACE_BASE)) {
225
- fs.mkdirSync(this.WORKSPACE_BASE, { recursive: true });
226
- }
227
- // Create workspace in temporary location to ensure atomicity
228
- // This prevents reusing partially created workspaces from crashes
229
- // and handles concurrency with other Node processes
230
- const tempSuffix = `.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
231
- const tempWorkspaceDir = path.join(this.WORKSPACE_BASE, hash + tempSuffix);
232
183
  try {
233
- // Create temporary workspace directory
234
- fs.mkdirSync(tempWorkspaceDir, { recursive: true });
235
- // Write package files
236
- writePackageFiles(tempWorkspaceDir);
184
+ writePackageFiles(targetDir);
237
185
  // Run npm install or npm ci
238
186
  (0, child_process_1.execSync)(npmCommand, {
239
- cwd: tempWorkspaceDir,
187
+ cwd: targetDir,
240
188
  stdio: 'pipe' // Suppress output
241
189
  });
242
- // Atomically move to final location with retry logic for concurrency
243
- let moved = false;
244
- let retries = 3;
245
- while (!moved && retries > 0) {
246
- try {
247
- // Attempt atomic rename (works on POSIX, fails on Windows if target exists)
248
- fs.renameSync(tempWorkspaceDir, workspaceDir);
249
- moved = true;
250
- }
251
- catch (error) {
252
- // Handle concurrent creation by another process
253
- if (error.code === 'EEXIST' || error.code === 'ENOTEMPTY' || error.code === 'EISDIR' ||
254
- (error.code === 'EPERM' && fs.existsSync(workspaceDir))) {
255
- // Target exists - check if it's valid
256
- if (this.isWorkspaceValid(workspaceDir, depsForValidation)) {
257
- // Another process created a valid workspace - use theirs
258
- moved = true; // Don't try again
190
+ return targetDir;
191
+ }
192
+ catch (error) {
193
+ const stderr = (_b = (_a = error === null || error === void 0 ? void 0 : error.stderr) === null || _a === void 0 ? void 0 : _a.toString()) === null || _b === void 0 ? void 0 : _b.trim();
194
+ const errorMsg = stderr || (error === null || error === void 0 ? void 0 : error.message) || String(error);
195
+ throw new Error(`Failed to create dependency workspace: ${errorMsg}`);
196
+ }
197
+ }
198
+ // Use hash-based cached workspace
199
+ // Check cache
200
+ const cached = this.cache.get(hash);
201
+ if (cached && fs.existsSync(cached) && this.isWorkspaceValid(cached, depsForValidation)) {
202
+ return cached;
203
+ }
204
+ // Final workspace location
205
+ const workspaceDir = path.join(this.WORKSPACE_BASE, hash);
206
+ // Check if valid workspace already exists on disk (cross-VM reuse)
207
+ if (fs.existsSync(workspaceDir) && this.isWorkspaceValid(workspaceDir, depsForValidation)) {
208
+ this.cache.set(hash, workspaceDir);
209
+ return workspaceDir;
210
+ }
211
+ // Ensure base directory exists
212
+ if (!fs.existsSync(this.WORKSPACE_BASE)) {
213
+ fs.mkdirSync(this.WORKSPACE_BASE, { recursive: true });
214
+ }
215
+ // Create workspace in temporary location to ensure atomicity
216
+ // This prevents reusing partially created workspaces from crashes
217
+ // and handles concurrency with other Node processes
218
+ const tempSuffix = `.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
219
+ const tempWorkspaceDir = path.join(this.WORKSPACE_BASE, hash + tempSuffix);
220
+ try {
221
+ // Create temporary workspace directory
222
+ fs.mkdirSync(tempWorkspaceDir, { recursive: true });
223
+ // Write package files
224
+ writePackageFiles(tempWorkspaceDir);
225
+ // Run npm install or npm ci
226
+ (0, child_process_1.execSync)(npmCommand, {
227
+ cwd: tempWorkspaceDir,
228
+ stdio: 'pipe' // Suppress output
229
+ });
230
+ // Atomically move to final location with retry logic for concurrency
231
+ let moved = false;
232
+ let retries = 3;
233
+ while (!moved && retries > 0) {
234
+ try {
235
+ // Attempt atomic rename (works on POSIX, fails on Windows if target exists)
236
+ fs.renameSync(tempWorkspaceDir, workspaceDir);
237
+ moved = true;
238
+ }
239
+ catch (error) {
240
+ // Handle concurrent creation by another process
241
+ if (error.code === 'EEXIST' || error.code === 'ENOTEMPTY' || error.code === 'EISDIR' ||
242
+ (error.code === 'EPERM' && fs.existsSync(workspaceDir))) {
243
+ // Target exists - check if it's valid
244
+ if (this.isWorkspaceValid(workspaceDir, depsForValidation)) {
245
+ // Another process created a valid workspace - use theirs
246
+ moved = true; // Don't try again
247
+ }
248
+ else {
249
+ // Invalid workspace exists - try to remove and retry
250
+ try {
251
+ fs.rmSync(workspaceDir, { recursive: true, force: true });
252
+ retries--;
259
253
  }
260
- else {
261
- // Invalid workspace exists - try to remove and retry
262
- try {
263
- fs.rmSync(workspaceDir, { recursive: true, force: true });
264
- retries--;
265
- }
266
- catch (removeError) {
267
- // Another process might be using it, give up
268
- retries = 0;
269
- }
254
+ catch (removeError) {
255
+ // Another process might be using it, give up
256
+ retries = 0;
270
257
  }
271
258
  }
272
- else if (error.code === 'EXDEV') {
273
- // Cross-device link - fallback to copy+remove (not atomic, but rare)
274
- try {
275
- fs.cpSync(tempWorkspaceDir, workspaceDir, { recursive: true });
259
+ }
260
+ else if (error.code === 'EXDEV') {
261
+ // Cross-device link - fallback to copy+remove (not atomic, but rare)
262
+ try {
263
+ fs.cpSync(tempWorkspaceDir, workspaceDir, { recursive: true });
264
+ moved = true;
265
+ }
266
+ catch (copyError) {
267
+ // Check if another process created it while we were copying
268
+ if (this.isWorkspaceValid(workspaceDir, depsForValidation)) {
276
269
  moved = true;
277
270
  }
278
- catch (copyError) {
279
- // Check if another process created it while we were copying
280
- if (this.isWorkspaceValid(workspaceDir, depsForValidation)) {
281
- moved = true;
282
- }
283
- else {
284
- throw error;
285
- }
271
+ else {
272
+ throw error;
286
273
  }
287
274
  }
288
- else {
289
- // Unexpected error
290
- throw error;
291
- }
292
275
  }
293
- }
294
- // Clean up temp directory
295
- try {
296
- if (fs.existsSync(tempWorkspaceDir)) {
297
- fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
276
+ else {
277
+ // Unexpected error
278
+ throw error;
298
279
  }
299
280
  }
300
- catch (_e) {
301
- // Ignore cleanup errors
302
- }
303
- // Verify final workspace is valid (might be from another process)
304
- if (!this.isWorkspaceValid(workspaceDir, depsForValidation)) {
305
- throw new Error('Failed to create valid workspace due to concurrent modifications');
306
- }
307
- // Cache the workspace
308
- this.cache.set(hash, workspaceDir);
309
- return workspaceDir;
310
281
  }
311
- catch (error) {
312
- // Clean up temporary workspace on failure
313
- try {
314
- if (fs.existsSync(tempWorkspaceDir)) {
315
- fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
316
- }
282
+ // Clean up temp directory
283
+ try {
284
+ if (fs.existsSync(tempWorkspaceDir)) {
285
+ fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
317
286
  }
318
- catch (_f) {
319
- // Ignore cleanup errors
287
+ }
288
+ catch (_e) {
289
+ // Ignore cleanup errors
290
+ }
291
+ // Verify final workspace is valid (might be from another process)
292
+ if (!this.isWorkspaceValid(workspaceDir, depsForValidation)) {
293
+ throw new Error('Failed to create valid workspace due to concurrent modifications');
294
+ }
295
+ // Cache the workspace
296
+ this.cache.set(hash, workspaceDir);
297
+ return workspaceDir;
298
+ }
299
+ catch (error) {
300
+ // Clean up temporary workspace on failure
301
+ try {
302
+ if (fs.existsSync(tempWorkspaceDir)) {
303
+ fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
320
304
  }
321
- const stderr = (_d = (_c = error === null || error === void 0 ? void 0 : error.stderr) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.trim();
322
- const errorMsg = stderr || (error === null || error === void 0 ? void 0 : error.message) || String(error);
323
- throw new Error(`Failed to create dependency workspace: ${errorMsg}`);
324
305
  }
325
- });
306
+ catch (_f) {
307
+ // Ignore cleanup errors
308
+ }
309
+ const stderr = (_d = (_c = error === null || error === void 0 ? void 0 : error.stderr) === null || _c === void 0 ? void 0 : _c.toString()) === null || _d === void 0 ? void 0 : _d.trim();
310
+ const errorMsg = stderr || (error === null || error === void 0 ? void 0 : error.message) || String(error);
311
+ throw new Error(`Failed to create dependency workspace: ${errorMsg}`);
312
+ }
326
313
  }
327
314
  /**
328
315
  * Generates a hash from dependencies for caching.
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-workspace.js","sourceRoot":"","sources":["../../src/javascript/dependency-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-workspace.js","sourceRoot":"","sources":["../../src/javascript/dependency-workspace.ts"],"names":[],"mappings":"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"}