opentelemetry-js: NodeSDK fails in strict mode with `Legacy octal escape is not permitted in strict mode`
What happened?
Steps to Reproduce
Import NodeSDK
in strict mode.
Expected Result
It should not fail.
Actual Result
When I run pnpm build
, it fails. Logs below.
Additional Details
Reproduction: https://github.com/jankaifer/next-repro-otel-node-sdk-repro
OpenTelemetry Setup Code
import { NodeSDK } from "@opentelemetry/sdk-node";
import { SimpleSpanProcessor } from "@opentelemetry/sdk-trace-node";
import { ConsoleSpanExporter } from "@opentelemetry/sdk-trace-base";
const exporter = new ConsoleSpanExporter();
const sdk = new NodeSDK({
spanProcessor: new SimpleSpanProcessor(exporter),
});
sdk.start();
package.json
{
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"@opentelemetry/sdk-node": "^0.38.0",
"@opentelemetry/sdk-trace-base": "^1.12.0",
"@opentelemetry/sdk-trace-node": "^1.12.0",
"next": "canary",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@types/node": "^18.11.13",
"@types/react": "^18.0.26",
"typescript": "^4.9.4"
}
}
Relevant log output
./node_modules/.pnpm/ansi-color@0.2.1/node_modules/ansi-color/lib/ansi-color.js
Error:
× Legacy octal escape is not permitted in strict mode
╭─[/home/pearman/dev/playground/otel-node-sdk-repro/node_modules/.pnpm/ansi-color@0.2.1/node_modules/ansi-color/lib/ansi-color.js:32:1]
32 │ var color_attrs = color.split("+");
33 │ var ansi_str = "";
34 │ for(var i=0, attr; attr = color_attrs[i]; i++) {
35 │ ansi_str += "\033[" + ANSI_CODES[attr] + "m";
· ──
36 │ }
37 │ ansi_str += str + "\033[" + ANSI_CODES["off"] + "m";
38 │ return ansi_str;
╰────
× Legacy octal escape is not permitted in strict mode
╭─[/home/pearman/dev/playground/otel-node-sdk-repro/node_modules/.pnpm/ansi-color@0.2.1/node_modules/ansi-color/lib/ansi-color.js:34:1]
34 │ for(var i=0, attr; attr = color_attrs[i]; i++) {
35 │ ansi_str += "\033[" + ANSI_CODES[attr] + "m";
36 │ }
37 │ ansi_str += str + "\033[" + ANSI_CODES["off"] + "m";
· ──
38 │ return ansi_str;
39 │ };
╰────
Caused by:
Syntax Error
Import trace for requested module:
./node_modules/.pnpm/ansi-color@0.2.1/node_modules/ansi-color/lib/ansi-color.js
./node_modules/.pnpm/bufrw@1.3.0/node_modules/bufrw/annotated_buffer.js
./node_modules/.pnpm/bufrw@1.3.0/node_modules/bufrw/interface.js
./node_modules/.pnpm/bufrw@1.3.0/node_modules/bufrw/index.js
./node_modules/.pnpm/thriftrw@3.12.0/node_modules/thriftrw/index.js
./node_modules/.pnpm/jaeger-client@3.19.0/node_modules/jaeger-client/dist/src/reporters/udp_sender.js
./node_modules/.pnpm/@opentelemetry+exporter-jaeger@1.12.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/exporter-jaeger/build/src/types.js
./node_modules/.pnpm/@opentelemetry+exporter-jaeger@1.12.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/exporter-jaeger/build/src/jaeger.js
./node_modules/.pnpm/@opentelemetry+exporter-jaeger@1.12.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/exporter-jaeger/build/src/index.js
./node_modules/.pnpm/@opentelemetry+sdk-node@0.38.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/sdk-node/build/src/TracerProviderWithEnvExporter.js
./node_modules/.pnpm/@opentelemetry+sdk-node@0.38.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/sdk-node/build/src/sdk.js
./node_modules/.pnpm/@opentelemetry+sdk-node@0.38.0_@opentelemetry+api@1.4.1/node_modules/@opentelemetry/sdk-node/build/src/index.js
./app/page.tsx
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 15 (4 by maintainers)
This is still happening to me with
"@opentelemetry/sdk-node": "^0.44.0"
(Update: should be fixed with #4214)