@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.PrettierConfigLoader = void 0;
46
37
  exports.clearPrettierModuleCache = clearPrettierModuleCache;
@@ -119,41 +110,39 @@ function isPrettierCached(version) {
119
110
  /**
120
111
  * Installs a specific Prettier version to the cache directory.
121
112
  */
122
- function installPrettierToCache(version) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- var _a;
125
- const cacheDir = getPrettierCacheDir(version);
126
- // Create directory structure
127
- yield fsp.mkdir(cacheDir, { recursive: true });
128
- // Create minimal package.json
129
- const packageJson = {
130
- name: `prettier-cache-${version}`,
131
- version: '1.0.0',
132
- private: true,
133
- dependencies: {
134
- prettier: version
135
- }
136
- };
137
- yield fsp.writeFile(path.join(cacheDir, 'package.json'), JSON.stringify(packageJson, null, 2));
138
- // Run npm install
139
- const result = (0, child_process_1.spawnSync)((0, shell_utils_1.getPlatformCommand)('npm'), ['install', '--silent'], {
140
- cwd: cacheDir,
141
- encoding: 'utf-8',
142
- stdio: ['pipe', 'pipe', 'pipe'],
143
- timeout: 120000 // 2 minutes
144
- });
145
- if (result.error) {
146
- throw new Error(`Failed to install Prettier ${version}: ${result.error.message}`);
147
- }
148
- if (result.status !== 0) {
149
- const stderr = ((_a = result.stderr) === null || _a === void 0 ? void 0 : _a.trim()) || '';
150
- throw new Error(`Failed to install Prettier ${version}: npm exited with code ${result.status}${stderr ? '\n' + stderr : ''}`);
151
- }
152
- // Verify installation
153
- if (!isPrettierCached(version)) {
154
- throw new Error(`Prettier ${version} installation verification failed`);
113
+ async function installPrettierToCache(version) {
114
+ var _a;
115
+ const cacheDir = getPrettierCacheDir(version);
116
+ // Create directory structure
117
+ await fsp.mkdir(cacheDir, { recursive: true });
118
+ // Create minimal package.json
119
+ const packageJson = {
120
+ name: `prettier-cache-${version}`,
121
+ version: '1.0.0',
122
+ private: true,
123
+ dependencies: {
124
+ prettier: version
155
125
  }
126
+ };
127
+ await fsp.writeFile(path.join(cacheDir, 'package.json'), JSON.stringify(packageJson, null, 2));
128
+ // Run npm install
129
+ const result = (0, child_process_1.spawnSync)((0, shell_utils_1.getPlatformCommand)('npm'), ['install', '--silent'], {
130
+ cwd: cacheDir,
131
+ encoding: 'utf-8',
132
+ stdio: ['pipe', 'pipe', 'pipe'],
133
+ timeout: 120000 // 2 minutes
156
134
  });
135
+ if (result.error) {
136
+ throw new Error(`Failed to install Prettier ${version}: ${result.error.message}`);
137
+ }
138
+ if (result.status !== 0) {
139
+ const stderr = ((_a = result.stderr) === null || _a === void 0 ? void 0 : _a.trim()) || '';
140
+ throw new Error(`Failed to install Prettier ${version}: npm exited with code ${result.status}${stderr ? '\n' + stderr : ''}`);
141
+ }
142
+ // Verify installation
143
+ if (!isPrettierCached(version)) {
144
+ throw new Error(`Prettier ${version} installation verification failed`);
145
+ }
157
146
  }
158
147
  /**
159
148
  * Loads Prettier from the cache directory for a specific version.
@@ -194,42 +183,40 @@ class PrettierConfigLoader {
194
183
  * Detects Prettier in the project and loads our bundled version for config resolution.
195
184
  * Call this once at the start of parsing.
196
185
  */
197
- detectPrettier() {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- if (this.detection) {
186
+ async detectPrettier() {
187
+ if (this.detection) {
188
+ return this.detection;
189
+ }
190
+ this.detection = { available: false };
191
+ try {
192
+ // Get the project's Prettier version from package.json or node_modules
193
+ const version = this.getPrettierVersionFromProject();
194
+ if (!version) {
200
195
  return this.detection;
201
196
  }
202
- this.detection = { available: false };
197
+ // Load our bundled Prettier for config resolution
198
+ // We use dynamic require to handle cases where Prettier isn't installed
199
+ let bundledPrettier;
203
200
  try {
204
- // Get the project's Prettier version from package.json or node_modules
205
- const version = this.getPrettierVersionFromProject();
206
- if (!version) {
207
- return this.detection;
208
- }
209
- // Load our bundled Prettier for config resolution
210
- // We use dynamic require to handle cases where Prettier isn't installed
211
- let bundledPrettier;
212
- try {
213
- // eslint-disable-next-line @typescript-eslint/no-require-imports
214
- bundledPrettier = require('prettier');
215
- }
216
- catch (e) {
217
- // Our bundled Prettier isn't available
218
- console.warn('PrettierConfigLoader: Failed to load bundled Prettier:', e);
219
- return this.detection;
220
- }
221
- this.detection = {
222
- available: true,
223
- version,
224
- bundledPrettier
225
- };
201
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
202
+ bundledPrettier = require('prettier');
226
203
  }
227
- catch (_a) {
228
- // Any error means Prettier isn't properly set up
229
- this.detection = { available: false };
204
+ catch (e) {
205
+ // Our bundled Prettier isn't available
206
+ console.warn('PrettierConfigLoader: Failed to load bundled Prettier:', e);
207
+ return this.detection;
230
208
  }
231
- return this.detection;
232
- });
209
+ this.detection = {
210
+ available: true,
211
+ version,
212
+ bundledPrettier
213
+ };
214
+ }
215
+ catch (_a) {
216
+ // Any error means Prettier isn't properly set up
217
+ this.detection = { available: false };
218
+ }
219
+ return this.detection;
233
220
  }
234
221
  /**
235
222
  * Gets the Prettier version from the project's package.json or node_modules.
@@ -304,46 +291,44 @@ class PrettierConfigLoader {
304
291
  *
305
292
  * @param filePath Absolute path to the source file
306
293
  */
307
- getConfigMarker(filePath) {
308
- return __awaiter(this, void 0, void 0, function* () {
309
- var _a, _b;
310
- if (!((_a = this.detection) === null || _a === void 0 ? void 0 : _a.available) || !this.detection.bundledPrettier) {
311
- return undefined;
294
+ async getConfigMarker(filePath) {
295
+ var _a, _b;
296
+ if (!((_a = this.detection) === null || _a === void 0 ? void 0 : _a.available) || !this.detection.bundledPrettier) {
297
+ return undefined;
298
+ }
299
+ try {
300
+ // Resolve path against projectRoot if not absolute
301
+ const absolutePath = path.isAbsolute(filePath)
302
+ ? filePath
303
+ : path.join(this.projectRoot, filePath);
304
+ // Check if file is ignored by .prettierignore
305
+ const ignorePath = this.findPrettierIgnore();
306
+ let ignored = false;
307
+ if (ignorePath) {
308
+ const fileInfo = await this.detection.bundledPrettier.getFileInfo(absolutePath, { ignorePath });
309
+ ignored = fileInfo.ignored;
312
310
  }
313
- try {
314
- // Resolve path against projectRoot if not absolute
315
- const absolutePath = path.isAbsolute(filePath)
316
- ? filePath
317
- : path.join(this.projectRoot, filePath);
318
- // Check if file is ignored by .prettierignore
319
- const ignorePath = this.findPrettierIgnore();
320
- let ignored = false;
321
- if (ignorePath) {
322
- const fileInfo = yield this.detection.bundledPrettier.getFileInfo(absolutePath, { ignorePath });
323
- ignored = fileInfo.ignored;
324
- }
325
- // Resolve config for this specific file (applies overrides)
326
- // If no config file exists, use empty config (Prettier defaults)
327
- const config = (_b = yield this.detection.bundledPrettier.resolveConfig(absolutePath)) !== null && _b !== void 0 ? _b : {};
328
- // Create a cache key from the resolved config + version + ignored status
329
- const configKey = JSON.stringify({ config, version: this.detection.version, ignored });
330
- // Check cache for existing marker with same config
331
- let marker = this.configCache.get(configKey);
332
- if (marker) {
333
- return marker;
334
- }
335
- // Create new PrettierStyle instance
336
- marker = (0, style_1.prettierStyle)((0, uuid_1.randomId)(), config, this.detection.version, ignored);
337
- // Cache and return
338
- this.configCache.set(configKey, marker);
311
+ // Resolve config for this specific file (applies overrides)
312
+ // If no config file exists, use empty config (Prettier defaults)
313
+ const config = (_b = await this.detection.bundledPrettier.resolveConfig(absolutePath)) !== null && _b !== void 0 ? _b : {};
314
+ // Create a cache key from the resolved config + version + ignored status
315
+ const configKey = JSON.stringify({ config, version: this.detection.version, ignored });
316
+ // Check cache for existing marker with same config
317
+ let marker = this.configCache.get(configKey);
318
+ if (marker) {
339
319
  return marker;
340
320
  }
341
- catch (e) {
342
- // Config resolution failed for this file
343
- console.warn(`PrettierConfigLoader: Failed to resolve config for ${filePath}:`, e);
344
- return undefined;
345
- }
346
- });
321
+ // Create new PrettierStyle instance
322
+ marker = (0, style_1.prettierStyle)((0, uuid_1.randomId)(), config, this.detection.version, ignored);
323
+ // Cache and return
324
+ this.configCache.set(configKey, marker);
325
+ return marker;
326
+ }
327
+ catch (e) {
328
+ // Config resolution failed for this file
329
+ console.warn(`PrettierConfigLoader: Failed to resolve config for ${filePath}:`, e);
330
+ return undefined;
331
+ }
347
332
  }
348
333
  /**
349
334
  * Clears the config cache. Call this between parse batches if needed.
@@ -367,54 +352,50 @@ exports.PrettierConfigLoader = PrettierConfigLoader;
367
352
  * @param version The Prettier version to load (e.g., "3.4.2")
368
353
  * @returns The loaded Prettier module
369
354
  */
370
- function loadPrettierVersion(version) {
371
- return __awaiter(this, void 0, void 0, function* () {
372
- // Check in-memory cache first
373
- const cached = prettierModuleCache.get(version);
374
- if (cached) {
375
- return cached;
376
- }
377
- // Check if there's already a pending load for this version
378
- const pending = pendingLoads.get(version);
379
- if (pending) {
380
- return pending;
381
- }
382
- // Create and cache the load promise to prevent concurrent duplicate loads
383
- const loadPromise = loadPrettierVersionInternal(version);
384
- pendingLoads.set(version, loadPromise);
385
- try {
386
- const prettier = yield loadPromise;
387
- prettierModuleCache.set(version, prettier);
388
- return prettier;
389
- }
390
- finally {
391
- pendingLoads.delete(version);
392
- }
393
- });
355
+ async function loadPrettierVersion(version) {
356
+ // Check in-memory cache first
357
+ const cached = prettierModuleCache.get(version);
358
+ if (cached) {
359
+ return cached;
360
+ }
361
+ // Check if there's already a pending load for this version
362
+ const pending = pendingLoads.get(version);
363
+ if (pending) {
364
+ return pending;
365
+ }
366
+ // Create and cache the load promise to prevent concurrent duplicate loads
367
+ const loadPromise = loadPrettierVersionInternal(version);
368
+ pendingLoads.set(version, loadPromise);
369
+ try {
370
+ const prettier = await loadPromise;
371
+ prettierModuleCache.set(version, prettier);
372
+ return prettier;
373
+ }
374
+ finally {
375
+ pendingLoads.delete(version);
376
+ }
394
377
  }
395
378
  /**
396
379
  * Internal implementation of Prettier version loading.
397
380
  */
398
- function loadPrettierVersionInternal(version) {
399
- return __awaiter(this, void 0, void 0, function* () {
400
- // Try to load from local node_modules if version matches
401
- try {
402
- // eslint-disable-next-line @typescript-eslint/no-require-imports
403
- const localPrettier = require('prettier');
404
- if (localPrettier.version === version) {
405
- return localPrettier;
406
- }
407
- }
408
- catch (_a) {
409
- // Local prettier not available
410
- }
411
- // Check if version is cached on disk
412
- if (isPrettierCached(version)) {
413
- return loadPrettierFromCache(version);
381
+ async function loadPrettierVersionInternal(version) {
382
+ // Try to load from local node_modules if version matches
383
+ try {
384
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
385
+ const localPrettier = require('prettier');
386
+ if (localPrettier.version === version) {
387
+ return localPrettier;
414
388
  }
415
- // Install to cache and load
416
- yield installPrettierToCache(version);
389
+ }
390
+ catch (_a) {
391
+ // Local prettier not available
392
+ }
393
+ // Check if version is cached on disk
394
+ if (isPrettierCached(version)) {
417
395
  return loadPrettierFromCache(version);
418
- });
396
+ }
397
+ // Install to cache and load
398
+ await installPrettierToCache(version);
399
+ return loadPrettierFromCache(version);
419
400
  }
420
401
  //# sourceMappingURL=prettier-config-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prettier-config-loader.js","sourceRoot":"","sources":["../../../src/javascript/format/prettier-config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prettier-config-loader.js","sourceRoot":"","sources":["../../../src/javascript/format/prettier-config-loader.ts"],"names":[],"mappings":"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"}