@openrewrite/rewrite 8.81.15 → 8.81.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/server.js +17 -4
- package/dist/rpc/server.js.map +1 -1
- package/package.json +1 -1
- package/src/rpc/server.ts +17 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
8.81.
|
|
1
|
+
8.81.16
|
package/dist/rpc/server.js
CHANGED
|
@@ -64,9 +64,12 @@ require("../javascript");
|
|
|
64
64
|
// Not possible to set the stack size when executing from npx for security reasons
|
|
65
65
|
require('v8').setFlagsFromString('--stack-size=8000');
|
|
66
66
|
function initPyroscope(logger) {
|
|
67
|
-
|
|
67
|
+
// Strip trailing slashes: the SDK builds the ingest URL as `${serverAddress}/ingest`,
|
|
68
|
+
// so a trailing slash produces `//ingest`, which the server normalizes via redirect —
|
|
69
|
+
// and undici downgrades the redirected POST to a GET, silently dropping all profiles.
|
|
70
|
+
const server = (process.env.PYROSCOPE_SERVER_ADDRESS || '').replace(/\/+$/, '');
|
|
68
71
|
if (!server) {
|
|
69
|
-
return;
|
|
72
|
+
return undefined;
|
|
70
73
|
}
|
|
71
74
|
let Pyroscope;
|
|
72
75
|
try {
|
|
@@ -74,7 +77,7 @@ function initPyroscope(logger) {
|
|
|
74
77
|
}
|
|
75
78
|
catch (_a) {
|
|
76
79
|
logger.warn('PYROSCOPE_SERVER_ADDRESS set but @pyroscope/nodejs not installed; profiling disabled');
|
|
77
|
-
return;
|
|
80
|
+
return undefined;
|
|
78
81
|
}
|
|
79
82
|
const tags = { runtime: 'node' };
|
|
80
83
|
for (const pair of (process.env.PYROSCOPE_TAGS || '').split(',')) {
|
|
@@ -89,6 +92,7 @@ function initPyroscope(logger) {
|
|
|
89
92
|
tags,
|
|
90
93
|
});
|
|
91
94
|
Pyroscope.start();
|
|
95
|
+
return Pyroscope;
|
|
92
96
|
}
|
|
93
97
|
async function main() {
|
|
94
98
|
const program = new commander_1.Command();
|
|
@@ -116,12 +120,21 @@ async function main() {
|
|
|
116
120
|
// the host JVM is killed, our stdin closes, vscode-jsonrpc fires onClose,
|
|
117
121
|
// and we exit. Without it, Pyroscope (or any other ref-holder) can keep
|
|
118
122
|
// the event loop alive and orphan this process.
|
|
123
|
+
let pyroscope;
|
|
119
124
|
let shuttingDown = false;
|
|
120
125
|
const shutdown = async () => {
|
|
121
126
|
if (shuttingDown)
|
|
122
127
|
return;
|
|
123
128
|
shuttingDown = true;
|
|
124
129
|
try {
|
|
130
|
+
if (pyroscope) {
|
|
131
|
+
try {
|
|
132
|
+
await pyroscope.stop();
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
// best-effort flush; nothing to do if it fails during shutdown
|
|
136
|
+
}
|
|
137
|
+
}
|
|
125
138
|
if (recipeCleanup) {
|
|
126
139
|
await recipeCleanup();
|
|
127
140
|
}
|
|
@@ -142,7 +155,7 @@ async function main() {
|
|
|
142
155
|
// because the Tracer type has a log method on it that matches this signature.
|
|
143
156
|
log: (msg) => log && options.traceRpcMessages && log.write(`[js trace] ${msg}\n`)
|
|
144
157
|
};
|
|
145
|
-
initPyroscope(logger);
|
|
158
|
+
pyroscope = initPyroscope(logger);
|
|
146
159
|
// Create the connection with the custom logger
|
|
147
160
|
const connection = rpc.createMessageConnection(new rpc.StreamMessageReader(process.stdin), new rpc.StreamMessageWriter(process.stdout), logger);
|
|
148
161
|
if (options.traceRpcMessages) {
|
package/dist/rpc/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,+CAAyC;AACzC,uCAAyB;AACzB,yCAAkC;AAClC,6CAAgC;AAChC,6EAAuE;AAEvE,yDAAyD;AACzD,mBAAiB;AACjB,mBAAiB;AACjB,mBAAiB;AACjB,mBAAiB;AACjB,yBAAuB;AAEvB,kFAAkF;AAClF,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAEtD,SAAS,aAAa,CAAC,MAAkB;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/rpc/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/rpc/server.ts
CHANGED
|
@@ -31,17 +31,20 @@ import "../javascript";
|
|
|
31
31
|
// Not possible to set the stack size when executing from npx for security reasons
|
|
32
32
|
require('v8').setFlagsFromString('--stack-size=8000');
|
|
33
33
|
|
|
34
|
-
function initPyroscope(logger: rpc.Logger):
|
|
35
|
-
|
|
34
|
+
function initPyroscope(logger: rpc.Logger): any {
|
|
35
|
+
// Strip trailing slashes: the SDK builds the ingest URL as `${serverAddress}/ingest`,
|
|
36
|
+
// so a trailing slash produces `//ingest`, which the server normalizes via redirect —
|
|
37
|
+
// and undici downgrades the redirected POST to a GET, silently dropping all profiles.
|
|
38
|
+
const server = (process.env.PYROSCOPE_SERVER_ADDRESS || '').replace(/\/+$/, '');
|
|
36
39
|
if (!server) {
|
|
37
|
-
return;
|
|
40
|
+
return undefined;
|
|
38
41
|
}
|
|
39
42
|
let Pyroscope: any;
|
|
40
43
|
try {
|
|
41
44
|
Pyroscope = require('@pyroscope/nodejs');
|
|
42
45
|
} catch {
|
|
43
46
|
logger.warn('PYROSCOPE_SERVER_ADDRESS set but @pyroscope/nodejs not installed; profiling disabled');
|
|
44
|
-
return;
|
|
47
|
+
return undefined;
|
|
45
48
|
}
|
|
46
49
|
const tags: Record<string, string> = {runtime: 'node'};
|
|
47
50
|
for (const pair of (process.env.PYROSCOPE_TAGS || '').split(',')) {
|
|
@@ -56,6 +59,7 @@ function initPyroscope(logger: rpc.Logger): void {
|
|
|
56
59
|
tags,
|
|
57
60
|
});
|
|
58
61
|
Pyroscope.start();
|
|
62
|
+
return Pyroscope;
|
|
59
63
|
}
|
|
60
64
|
|
|
61
65
|
interface ProgramOptions {
|
|
@@ -95,11 +99,19 @@ async function main() {
|
|
|
95
99
|
// the host JVM is killed, our stdin closes, vscode-jsonrpc fires onClose,
|
|
96
100
|
// and we exit. Without it, Pyroscope (or any other ref-holder) can keep
|
|
97
101
|
// the event loop alive and orphan this process.
|
|
102
|
+
let pyroscope: any;
|
|
98
103
|
let shuttingDown = false;
|
|
99
104
|
const shutdown = async () => {
|
|
100
105
|
if (shuttingDown) return;
|
|
101
106
|
shuttingDown = true;
|
|
102
107
|
try {
|
|
108
|
+
if (pyroscope) {
|
|
109
|
+
try {
|
|
110
|
+
await pyroscope.stop();
|
|
111
|
+
} catch (e: any) {
|
|
112
|
+
// best-effort flush; nothing to do if it fails during shutdown
|
|
113
|
+
}
|
|
114
|
+
}
|
|
103
115
|
if (recipeCleanup) {
|
|
104
116
|
await recipeCleanup();
|
|
105
117
|
}
|
|
@@ -122,7 +134,7 @@ async function main() {
|
|
|
122
134
|
log: (msg: string) => log && options.traceRpcMessages && log.write(`[js trace] ${msg}\n`)
|
|
123
135
|
};
|
|
124
136
|
|
|
125
|
-
initPyroscope(logger);
|
|
137
|
+
pyroscope = initPyroscope(logger);
|
|
126
138
|
|
|
127
139
|
// Create the connection with the custom logger
|
|
128
140
|
const connection = rpc.createMessageConnection(
|