@openrewrite/rewrite 8.86.1 → 8.86.3

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.
@@ -0,0 +1,27 @@
1
+ import type { MessageWriterOptions } from "vscode-jsonrpc/node";
2
+ /**
3
+ * The content-type encoder shape vscode-jsonrpc's {@link MessageWriterOptions} accepts. Derived
4
+ * from the writer options rather than deep-imported, because the concrete `ContentTypeEncoder`
5
+ * type is not re-exported from the package entrypoint.
6
+ */
7
+ export type JsonRpcContentTypeEncoder = NonNullable<MessageWriterOptions["contentTypeEncoder"]>;
8
+ /**
9
+ * Yields a value as the sequence of JSON text fragments that concatenate to exactly
10
+ * {@code JSON.stringify(value)}, without ever building the whole document as one string. Every
11
+ * scalar and every object key is serialized by the engine's {@code JSON.stringify} — so escaping,
12
+ * number formatting, {@code undefined}/function/symbol handling, and {@code toJSON} all match it
13
+ * exactly — and only the structural punctuation is emitted here.
14
+ */
15
+ export declare function jsonFragments(value: unknown): Generator<string>;
16
+ /**
17
+ * A drop-in replacement for vscode-jsonrpc's default `application/json` content-type encoder that
18
+ * serializes a message to UTF-8 bytes without ever materializing the whole document as a single JS
19
+ * string. The default encoder does {@code Buffer.from(JSON.stringify(msg))}; a large enough
20
+ * PrepareRecipe response (a deep recipe tree) overflows V8's single-string limit and throws
21
+ * "Cannot create a string longer than 0x1fffffe8 characters", hanging the RPC call. Streaming the
22
+ * fragments into a Buffer raises the ceiling to Node's Buffer.MAX_LENGTH (multiple GB) while
23
+ * producing byte-identical output. (True unbounded streaming needs chunked framing — Content-Length
24
+ * still requires the whole body up front — so this is a ceiling raise, not a removal.)
25
+ */
26
+ export declare const chunkedJsonEncoder: JsonRpcContentTypeEncoder;
27
+ //# sourceMappingURL=message-encoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-encoder.d.ts","sourceRoot":"","sources":["../../src/rpc/message-encoder.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAU,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAgBhG;;;;;;GAMG;AACH,wBAAiB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CA8ChE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,yBAiBhC,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chunkedJsonEncoder = void 0;
4
+ exports.jsonFragments = jsonFragments;
5
+ // Flush the accumulated JSON text to a Buffer once it reaches this many UTF-16 code units. This
6
+ // keeps the transient string far below V8's ~512 MB String.kMaxLength while bounding how many
7
+ // intermediate Buffers we concatenate. A single scalar/key fragment is never split, so the pending
8
+ // string only ever exceeds the threshold by one whole fragment.
9
+ const FLUSH_THRESHOLD = 1 << 20; // 1 MiB
10
+ /**
11
+ * True for values that {@code JSON.stringify} drops: an object property with such a value is
12
+ * omitted, and such an array element serializes as {@code null}.
13
+ */
14
+ function isJsonIgnored(value) {
15
+ return value === undefined || typeof value === "function" || typeof value === "symbol";
16
+ }
17
+ /**
18
+ * Yields a value as the sequence of JSON text fragments that concatenate to exactly
19
+ * {@code JSON.stringify(value)}, without ever building the whole document as one string. Every
20
+ * scalar and every object key is serialized by the engine's {@code JSON.stringify} — so escaping,
21
+ * number formatting, {@code undefined}/function/symbol handling, and {@code toJSON} all match it
22
+ * exactly — and only the structural punctuation is emitted here.
23
+ */
24
+ function* jsonFragments(value) {
25
+ // Mirror JSON.stringify's toJSON step before deciding container vs. scalar, so e.g. a Date
26
+ // collapses to its string form rather than being walked as an object.
27
+ if (value !== null && typeof value === "object" && typeof value.toJSON === "function") {
28
+ yield* jsonFragments(value.toJSON());
29
+ return;
30
+ }
31
+ if (Array.isArray(value)) {
32
+ yield "[";
33
+ for (let i = 0; i < value.length; i++) {
34
+ if (i > 0) {
35
+ yield ",";
36
+ }
37
+ if (isJsonIgnored(value[i])) {
38
+ yield "null";
39
+ }
40
+ else {
41
+ yield* jsonFragments(value[i]);
42
+ }
43
+ }
44
+ yield "]";
45
+ return;
46
+ }
47
+ if (value !== null && typeof value === "object") {
48
+ yield "{";
49
+ let first = true;
50
+ for (const key of Object.keys(value)) {
51
+ const propValue = value[key];
52
+ if (isJsonIgnored(propValue)) {
53
+ continue;
54
+ }
55
+ if (!first) {
56
+ yield ",";
57
+ }
58
+ first = false;
59
+ yield JSON.stringify(key);
60
+ yield ":";
61
+ yield* jsonFragments(propValue);
62
+ }
63
+ yield "}";
64
+ return;
65
+ }
66
+ // Scalar: string, number, boolean, or null (a bigint throws here, exactly as JSON.stringify does).
67
+ yield JSON.stringify(value);
68
+ }
69
+ /**
70
+ * A drop-in replacement for vscode-jsonrpc's default `application/json` content-type encoder that
71
+ * serializes a message to UTF-8 bytes without ever materializing the whole document as a single JS
72
+ * string. The default encoder does {@code Buffer.from(JSON.stringify(msg))}; a large enough
73
+ * PrepareRecipe response (a deep recipe tree) overflows V8's single-string limit and throws
74
+ * "Cannot create a string longer than 0x1fffffe8 characters", hanging the RPC call. Streaming the
75
+ * fragments into a Buffer raises the ceiling to Node's Buffer.MAX_LENGTH (multiple GB) while
76
+ * producing byte-identical output. (True unbounded streaming needs chunked framing — Content-Length
77
+ * still requires the whole body up front — so this is a ceiling raise, not a removal.)
78
+ */
79
+ exports.chunkedJsonEncoder = {
80
+ name: "application/json",
81
+ encode(msg, options) {
82
+ const buffers = [];
83
+ let pending = "";
84
+ for (const fragment of jsonFragments(msg)) {
85
+ pending += fragment;
86
+ if (pending.length >= FLUSH_THRESHOLD) {
87
+ buffers.push(Buffer.from(pending, options.charset));
88
+ pending = "";
89
+ }
90
+ }
91
+ if (pending.length > 0) {
92
+ buffers.push(Buffer.from(pending, options.charset));
93
+ }
94
+ return Promise.resolve(Buffer.concat(buffers));
95
+ }
96
+ };
97
+ //# sourceMappingURL=message-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-encoder.js","sourceRoot":"","sources":["../../src/rpc/message-encoder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install-recipes.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/install-recipes.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAM3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAqCD,qBAAa,cAAc;IAMX,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC;;;;OAIG;gBAC0B,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAGxF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EACrF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAmGnG"}
1
+ {"version":3,"file":"install-recipes.d.ts","sourceRoot":"","sources":["../../../src/rpc/request/install-recipes.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAM3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAqCD,qBAAa,cAAc;IAMX,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC;;;;OAIG;gBAC0B,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAGxF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EACrF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CA+FnG"}
@@ -159,16 +159,12 @@ class InstallRecipes {
159
159
  else {
160
160
  throw new Error(`${recipesName} does not export an 'activate' function`);
161
161
  }
162
- // Attribute the recipes this install contributed to their package, so GetMarketplace
163
- // can tag each row with its origin and the host can bind it to the right bundle.
164
- // Local-path installs have no package identity, so they stay unattributed and fall
165
- // back to the requested bundle on the host.
166
- if (typeof request.recipes === "object") {
167
- const packageName = request.recipes.packageName;
168
- for (const recipe of marketplace.allRecipes()) {
169
- if (!beforeNames.has(recipe.name)) {
170
- recipeOrigin.set(recipe.name, packageName);
171
- }
162
+ const origin = typeof request.recipes === "object"
163
+ ? request.recipes.packageName
164
+ : request.recipes;
165
+ for (const recipe of marketplace.allRecipes()) {
166
+ if (!beforeNames.has(recipe.name)) {
167
+ recipeOrigin.set(recipe.name, origin);
172
168
  }
173
169
  }
174
170
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"install-recipes.js","sourceRoot":"","sources":["../../../src/rpc/request/install-recipes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAyB;AACzB,iDAAoC;AACpC,uCAAsC;AAEtC,mDAAqD;AAOrD;;GAEG;AACH,KAAK,UAAU,eAAe,CAC1B,OAAe,EACf,IAAc,EACd,GAAW,EACX,MAAmB,EACnB,SAAkB;IAElB,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,IAAA,gCAAkB,EAAC,OAAO,CAAC,EAAE,IAAI,kBAAG,GAAG,IAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAErH,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE;YACnC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,UAAU,qBAAqB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAa,cAAc;IACvB;;;;OAIG;IACH,YAA6B,OAA2D;QAA3D,YAAO,GAAP,OAAO,CAAoD;IACxF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EAAE,UAAkB,EAAE,WAA8B,EACrF,YAAiC,EAAE,MAAmB,EAAE,UAAmB;QACrF,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAgD,gBAAgB,CAAC,EACpF,IAAA,qBAAW,EACP,gBAAgB,EAChB,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACrG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,YAAY,CAAC;YACjB,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAElC,IAAI,gBAAoC,CAAC;YACzC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;gBACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;gBAE3G,0BAA0B;gBAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACrC,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;gBACxD,CAAC;gBAED,kDAAkD;gBAClD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBACtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBAClC,mDAAmD;oBACnD,MAAM,WAAW,GAAG;wBAChB,IAAI,EAAE,qBAAqB;wBAC3B,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,gCAAgC;wBAC7C,OAAO,EAAE,IAAI;qBAChB,CAAC;oBACF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxE,IAAI,MAAM,EAAE,CAAC;wBACT,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBAED,oDAAoD;gBACpD,8GAA8G;gBAC9G,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAClH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAChG,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;gBACzG,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAE1C,6DAA6D;gBAC7D,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC1H,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;oBAC1C,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC3F,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC;gBACpD,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YACnC,CAAC;YAED,IAAI,YAAY,CAAC;YACjB,IAAI,CAAC;gBACD,mEAAmE;gBACnE,4EAA4E;gBAC5E,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAE3B,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC9C,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,IAAI,OAAO,YAAY,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC9C,6CAA6C;gBAC7C,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC3D,qCAAqC;gBACrC,IAAI,eAAe,YAAY,OAAO,EAAE,CAAC;oBACrC,MAAM,eAAe,CAAC;gBAC1B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,yCAAyC,CAAC,CAAC;YAC7E,CAAC;YAED,qFAAqF;YACrF,iFAAiF;YACjF,mFAAmF;YACnF,4CAA4C;YAC5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAChD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC/C,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO;gBACH,gBAAgB,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI;gBACpE,OAAO,EAAE,gBAAgB;aAC5B,CAAC;QACN,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AA7GD,wCA6GC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAmB;IAC3C,MAAM,gBAAgB,GAAG;QACrB,OAAO;QACP,YAAY;QACZ,kBAAkB;QAClB,YAAY;QACZ,WAAW;QACX,cAAc;QACd,YAAY;KACf,CAAC;IAEF,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAClC,IAAI,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,CAAC;YACpB,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,gBAAwB,EAAE,MAAmB;IAC1E,MAAM,UAAU,GAAG,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC1E,uEAAuE;IACvE,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACD,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE;YACnD,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAAC,WAAM,CAAC;QACL,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,CAAC;YACD,kEAAkE;YAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAElD,4DAA4D;YAC5D,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACrD,OAAO,eAAe,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBACnE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;wBACjE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACvB,MAAM,CAAC,yBAAyB;wBACpC,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,qCAAqC;oBACzC,CAAC;gBACL,CAAC;gBACD,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,mDAAmD,OAAO,KAAK,eAAe,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,gEAAgE;YAChE,iFAAiF;YACjF,IAAI,iBAAqC,CAAC;YAE1C,0EAA0E;YAC1E,IAAI,SAAS,GAAG,SAAS,CAAC;YAC1B,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpF,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;oBACnE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;4BACjE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCACvB,iBAAiB,GAAG,eAAe,CAAC;gCACpC,MAAM;4BACV,CAAC;wBACL,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACT,qCAAqC;wBACzC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,2BAA2B,CAAC,CAAC;gBAChG,CAAC;gBACD,OAAO,CAAC,yBAAyB;YACrC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,qDAAqD,OAAO,KAAK,iBAAiB,EAAE,CAAC,CAAC;YACtG,CAAC;YAED,yCAAyC;YACzC,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,sEAAsE,OAAO,EAAE,CAAC,CAAC;gBACjG,CAAC;gBACD,OAAO;YACX,CAAC;YAED,qEAAqE;YACrE,MAAM,UAAU,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC;YAE9C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,0CAA0C;oBAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;oBAE9D,sDAAsD;oBACtD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtD,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,oCAAoC,WAAW,gBAAgB,OAAO,EAAE,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,KAAK,CAAC,6CAA6C,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"install-recipes.js","sourceRoot":"","sources":["../../../src/rpc/request/install-recipes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":";AAwBA,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":";AAyBA,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,SAAS,CAAC;AACjB,OAAO,eAAe,CAAC"}
@@ -51,6 +51,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
51
51
  */
52
52
  const rpc = __importStar(require("vscode-jsonrpc/node"));
53
53
  const rewrite_rpc_1 = require("./rewrite-rpc");
54
+ const message_encoder_1 = require("./message-encoder");
54
55
  const fs = __importStar(require("fs"));
55
56
  const commander_1 = require("commander");
56
57
  const tmp_promise_1 = require("tmp-promise");
@@ -160,7 +161,11 @@ async function main() {
160
161
  };
161
162
  pyroscope = initPyroscope(logger);
162
163
  // Create the connection with the custom logger
163
- const connection = rpc.createMessageConnection(new rpc.StreamMessageReader(process.stdin), new rpc.StreamMessageWriter(process.stdout), logger);
164
+ const connection = rpc.createMessageConnection(new rpc.StreamMessageReader(process.stdin),
165
+ // Serialize outgoing messages without materializing the whole document as one JS string:
166
+ // a large PrepareRecipe response (a deep recipe tree) overflows V8's ~512 MB string limit
167
+ // in the default `Buffer.from(JSON.stringify(msg))` encoder and hangs the call.
168
+ new rpc.StreamMessageWriter(process.stdout, { contentTypeEncoder: message_encoder_1.chunkedJsonEncoder }), logger);
164
169
  if (options.traceRpcMessages) {
165
170
  await connection.trace(rpc.Trace.Verbose, logger).catch((err) => {
166
171
  // Handle any unexpected errors during trace configuration
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.86.1",
3
+ "version": "8.86.3",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "repository": {
@@ -15,6 +15,10 @@
15
15
  "dist/**",
16
16
  "src/**"
17
17
  ],
18
+ "allowScripts": {
19
+ "bun": true,
20
+ "@datadog/pprof": true
21
+ },
18
22
  "exports": {
19
23
  ".": {
20
24
  "types": "./dist/index.d.ts",
package/src/java/s.js~ ADDED
@@ -0,0 +1,48 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+
4
+ const VISITOR_FILE = path.join(__dirname, "visitor.ts");
5
+
6
+ function addMiddleArgToVisitContainer(content) {
7
+ const lines = content.split("\n");
8
+ const updatedLines = [];
9
+
10
+ let currentMethod = null;
11
+
12
+ for (let i = 0; i < lines.length; i++) {
13
+ let line = lines[i];
14
+
15
+ const methodMatch = line.match(/^\s*(?:public\s+|private\s+|protected\s+)?(?:async\s+)?(\w+)\s*\(.*\)\s*{/);
16
+ if (methodMatch) {
17
+ currentMethod = methodMatch[1];
18
+ }
19
+
20
+ const callMatch = line.match(/(\bvisitContainer\s*\()\s*([^,]+)\s*,\s*([^)\n]+)\)/);
21
+ if (callMatch) {
22
+ // Derive context from variable name or some keyword around
23
+ const arg1 = callMatch[2].trim();
24
+ let context = "UNKNOWN";
25
+ if (/case/i.test(line)) context = "CASE_LABEL";
26
+ else if (/block/i.test(arg1)) context = "BLOCK";
27
+ else if (/param/i.test(arg1)) context = "PARAM";
28
+ else if (/arg/i.test(arg1)) context = "ARGUMENT";
29
+ else context = arg1.toUpperCase().replace(/[^A-Z0-9]+/g, "_").replace(/^_+|_+$/g, "");
30
+
31
+ const locationString = `"${currentMethod ? currentMethod.toUpperCase() + "_" + context : context}"`;
32
+ line = line.replace(callMatch[0], `${callMatch[1]}${callMatch[2]}, ${locationString}, ${callMatch[3]})`);
33
+ }
34
+
35
+ updatedLines.push(line);
36
+ }
37
+
38
+ return updatedLines.join("\n");
39
+ }
40
+
41
+ function main() {
42
+ const original = fs.readFileSync(VISITOR_FILE, "utf8");
43
+ const updated = addMiddleArgToVisitContainer(original);
44
+ fs.writeFileSync(VISITOR_FILE, updated, "utf8");
45
+ console.log("✅ visitContainer calls amended.");
46
+ }
47
+
48
+ main();
@@ -0,0 +1,48 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+
4
+ const VISITOR_FILE = path.join(__dirname, "visitor.ts");
5
+
6
+ function addMiddleArgToVisitContainer(content) {
7
+ const lines = content.split("\n");
8
+ const updatedLines = [];
9
+
10
+ let currentMethod = null;
11
+
12
+ for (let i = 0; i < lines.length; i++) {
13
+ let line = lines[i];
14
+
15
+ const methodMatch = line.match(/^\s*(?:public\s+|private\s+|protected\s+)?(?:async\s+)?(\w+)\s*\(.*\)\s*{/);
16
+ if (methodMatch) {
17
+ currentMethod = methodMatch[1];
18
+ }
19
+
20
+ const callMatch = line.match(/(\bvisitContainer\s*\()\s*([^,]+)\s*,\s*([^)\n]+)\)/);
21
+ if (callMatch) {
22
+ // Derive context from variable name or some keyword around
23
+ const arg1 = callMatch[2].trim();
24
+ let context = "UNKNOWN";
25
+ if (/case/i.test(line)) context = "CASE_LABEL";
26
+ else if (/block/i.test(arg1)) context = "BLOCK";
27
+ else if (/param/i.test(arg1)) context = "PARAM";
28
+ else if (/arg/i.test(arg1)) context = "ARGUMENT";
29
+ else context = arg1.toUpperCase().replace(/[^A-Z0-9]+/g, "_").replace(/^_+|_+$/g, "");
30
+
31
+ const locationString = `"${currentMethod ? currentMethod.toUpperCase() + "_" + context : context}"`;
32
+ line = line.replace(callMatch[0], `${callMatch[1]}${callMatch[2]}, ${locationString}, ${callMatch[3]})`);
33
+ }
34
+
35
+ updatedLines.push(line);
36
+ }
37
+
38
+ return updatedLines.join("\n");
39
+ }
40
+
41
+ function main() {
42
+ const original = fs.readFileSync(VISITOR_FILE, "utf8");
43
+ const updated = addMiddleArgToVisitContainer(original);
44
+ fs.writeFileSync(VISITOR_FILE, updated, "utf8");
45
+ console.log("✅ visitContainer calls amended.");
46
+ }
47
+
48
+ main();
@@ -0,0 +1,68 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+
4
+ const VISITOR_FILE = path.join(__dirname, "visitor.ts");
5
+
6
+ function toUpperUnderscore(name) {
7
+ return name
8
+ .replace(/([a-z])([A-Z])/g, "$1_$2")
9
+ .replace(/[\W]+/g, "_")
10
+ .replace(/^_+|_+$/g, "")
11
+ .toUpperCase();
12
+ }
13
+
14
+ function extractPropertyFromLine(line) {
15
+ // Case 1: match property from lambda: el => el.property
16
+ let match = line.match(/el\s*=>\s*el\.([a-zA-Z0-9_]+)/);
17
+ if (match) return match[1];
18
+
19
+ // Case 2: match assignment target like: draft.valueType = await ...
20
+ match = line.match(/\b([a-zA-Z0-9_]+)\.([a-zA-Z0-9_]+)\s*=.*\s*await\b/);
21
+ if (match) return match[2];
22
+
23
+ return "UNKNOWN";
24
+ }
25
+
26
+ function addMiddleArgToVisitContainer(content) {
27
+ const lines = content.split("\n");
28
+ const updatedLines = [];
29
+
30
+ let currentMethod = null;
31
+
32
+ for (let i = 0; i < lines.length; i++) {
33
+ let line = lines[i];
34
+
35
+ const methodMatch = line.match(/^ +(?:public|protected|private)?\s*(?:override\s+)?(?:async\s+)?(visit[A-Z][A-Za-z0-9_]*)\s*\(/);
36
+ if (methodMatch) {
37
+ const fullMethod = methodMatch[1]; // e.g. visitExpressionWithTypeArguments
38
+ // Strip the "visit" prefix and convert to UPPER_UNDERSCORE
39
+ currentMethod = fullMethod.startsWith("visit") ? fullMethod.slice(5) : fullMethod;
40
+ }
41
+
42
+ const visitCallMatch = line.match(/(\bvisitContainer\s*\()\s*([^,]+)\s*,\s*([^)\n]+)\)/);
43
+ if (visitCallMatch) {
44
+ const objectArg = visitCallMatch[2].trim();
45
+ const restArg = visitCallMatch[3].trim();
46
+
47
+ const property = extractPropertyFromLine(line);
48
+ const method = currentMethod || "UNKNOWN";
49
+
50
+ const locationValue = `"${toUpperUnderscore(method)}_${toUpperUnderscore(property)}"`;
51
+
52
+ line = line.replace(visitCallMatch[0], `${visitCallMatch[1]}${objectArg}, ${locationValue}, ${restArg})`);
53
+ }
54
+
55
+ updatedLines.push(line);
56
+ }
57
+
58
+ return updatedLines.join("\n");
59
+ }
60
+
61
+ function main() {
62
+ const original = fs.readFileSync(VISITOR_FILE, "utf8");
63
+ const updated = addMiddleArgToVisitContainer(original);
64
+ fs.writeFileSync(VISITOR_FILE, updated, "utf8");
65
+ console.log("✅ visitContainer calls amended with location strings.");
66
+ }
67
+
68
+ main();
@@ -0,0 +1,121 @@
1
+ /*
2
+ * Copyright 2025 the original author or authors.
3
+ * <p>
4
+ * Licensed under the Moderne Source Available License (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ * <p>
8
+ * https://docs.moderne.io/licensing/moderne-source-available-license
9
+ * <p>
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type {Message, MessageWriterOptions} from "vscode-jsonrpc/node";
17
+
18
+ /**
19
+ * The content-type encoder shape vscode-jsonrpc's {@link MessageWriterOptions} accepts. Derived
20
+ * from the writer options rather than deep-imported, because the concrete `ContentTypeEncoder`
21
+ * type is not re-exported from the package entrypoint.
22
+ */
23
+ export type JsonRpcContentTypeEncoder = NonNullable<MessageWriterOptions["contentTypeEncoder"]>;
24
+
25
+ // Flush the accumulated JSON text to a Buffer once it reaches this many UTF-16 code units. This
26
+ // keeps the transient string far below V8's ~512 MB String.kMaxLength while bounding how many
27
+ // intermediate Buffers we concatenate. A single scalar/key fragment is never split, so the pending
28
+ // string only ever exceeds the threshold by one whole fragment.
29
+ const FLUSH_THRESHOLD = 1 << 20; // 1 MiB
30
+
31
+ /**
32
+ * True for values that {@code JSON.stringify} drops: an object property with such a value is
33
+ * omitted, and such an array element serializes as {@code null}.
34
+ */
35
+ function isJsonIgnored(value: unknown): boolean {
36
+ return value === undefined || typeof value === "function" || typeof value === "symbol";
37
+ }
38
+
39
+ /**
40
+ * Yields a value as the sequence of JSON text fragments that concatenate to exactly
41
+ * {@code JSON.stringify(value)}, without ever building the whole document as one string. Every
42
+ * scalar and every object key is serialized by the engine's {@code JSON.stringify} — so escaping,
43
+ * number formatting, {@code undefined}/function/symbol handling, and {@code toJSON} all match it
44
+ * exactly — and only the structural punctuation is emitted here.
45
+ */
46
+ export function* jsonFragments(value: unknown): Generator<string> {
47
+ // Mirror JSON.stringify's toJSON step before deciding container vs. scalar, so e.g. a Date
48
+ // collapses to its string form rather than being walked as an object.
49
+ if (value !== null && typeof value === "object" && typeof (value as { toJSON?: unknown }).toJSON === "function") {
50
+ yield* jsonFragments((value as { toJSON(): unknown }).toJSON());
51
+ return;
52
+ }
53
+
54
+ if (Array.isArray(value)) {
55
+ yield "[";
56
+ for (let i = 0; i < value.length; i++) {
57
+ if (i > 0) {
58
+ yield ",";
59
+ }
60
+ if (isJsonIgnored(value[i])) {
61
+ yield "null";
62
+ } else {
63
+ yield* jsonFragments(value[i]);
64
+ }
65
+ }
66
+ yield "]";
67
+ return;
68
+ }
69
+
70
+ if (value !== null && typeof value === "object") {
71
+ yield "{";
72
+ let first = true;
73
+ for (const key of Object.keys(value as object)) {
74
+ const propValue = (value as Record<string, unknown>)[key];
75
+ if (isJsonIgnored(propValue)) {
76
+ continue;
77
+ }
78
+ if (!first) {
79
+ yield ",";
80
+ }
81
+ first = false;
82
+ yield JSON.stringify(key);
83
+ yield ":";
84
+ yield* jsonFragments(propValue);
85
+ }
86
+ yield "}";
87
+ return;
88
+ }
89
+
90
+ // Scalar: string, number, boolean, or null (a bigint throws here, exactly as JSON.stringify does).
91
+ yield JSON.stringify(value) as string;
92
+ }
93
+
94
+ /**
95
+ * A drop-in replacement for vscode-jsonrpc's default `application/json` content-type encoder that
96
+ * serializes a message to UTF-8 bytes without ever materializing the whole document as a single JS
97
+ * string. The default encoder does {@code Buffer.from(JSON.stringify(msg))}; a large enough
98
+ * PrepareRecipe response (a deep recipe tree) overflows V8's single-string limit and throws
99
+ * "Cannot create a string longer than 0x1fffffe8 characters", hanging the RPC call. Streaming the
100
+ * fragments into a Buffer raises the ceiling to Node's Buffer.MAX_LENGTH (multiple GB) while
101
+ * producing byte-identical output. (True unbounded streaming needs chunked framing — Content-Length
102
+ * still requires the whole body up front — so this is a ceiling raise, not a removal.)
103
+ */
104
+ export const chunkedJsonEncoder: JsonRpcContentTypeEncoder = {
105
+ name: "application/json",
106
+ encode(msg: Message, options: { charset: BufferEncoding }): Promise<Uint8Array> {
107
+ const buffers: Buffer[] = [];
108
+ let pending = "";
109
+ for (const fragment of jsonFragments(msg)) {
110
+ pending += fragment;
111
+ if (pending.length >= FLUSH_THRESHOLD) {
112
+ buffers.push(Buffer.from(pending, options.charset));
113
+ pending = "";
114
+ }
115
+ }
116
+ if (pending.length > 0) {
117
+ buffers.push(Buffer.from(pending, options.charset));
118
+ }
119
+ return Promise.resolve(Buffer.concat(buffers));
120
+ }
121
+ };
@@ -150,16 +150,12 @@ export class InstallRecipes {
150
150
  throw new Error(`${recipesName} does not export an 'activate' function`);
151
151
  }
152
152
 
153
- // Attribute the recipes this install contributed to their package, so GetMarketplace
154
- // can tag each row with its origin and the host can bind it to the right bundle.
155
- // Local-path installs have no package identity, so they stay unattributed and fall
156
- // back to the requested bundle on the host.
157
- if (typeof request.recipes === "object") {
158
- const packageName = request.recipes.packageName;
159
- for (const recipe of marketplace.allRecipes()) {
160
- if (!beforeNames.has(recipe.name)) {
161
- recipeOrigin.set(recipe.name, packageName);
162
- }
153
+ const origin = typeof request.recipes === "object"
154
+ ? request.recipes.packageName
155
+ : request.recipes;
156
+ for (const recipe of marketplace.allRecipes()) {
157
+ if (!beforeNames.has(recipe.name)) {
158
+ recipeOrigin.set(recipe.name, origin);
163
159
  }
164
160
  }
165
161
 
package/src/rpc/server.ts CHANGED
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import * as rpc from "vscode-jsonrpc/node";
18
18
  import {RewriteRpc} from "./rewrite-rpc";
19
+ import {chunkedJsonEncoder} from "./message-encoder";
19
20
  import * as fs from "fs";
20
21
  import {Command} from 'commander';
21
22
  import {dir} from 'tmp-promise';
@@ -142,7 +143,10 @@ async function main() {
142
143
  // Create the connection with the custom logger
143
144
  const connection = rpc.createMessageConnection(
144
145
  new rpc.StreamMessageReader(process.stdin),
145
- new rpc.StreamMessageWriter(process.stdout),
146
+ // Serialize outgoing messages without materializing the whole document as one JS string:
147
+ // a large PrepareRecipe response (a deep recipe tree) overflows V8's ~512 MB string limit
148
+ // in the default `Buffer.from(JSON.stringify(msg))` encoder and hangs the call.
149
+ new rpc.StreamMessageWriter(process.stdout, {contentTypeEncoder: chunkedJsonEncoder}),
146
150
  logger
147
151
  );
148
152
 
@@ -1 +0,0 @@
1
- 8.86.1