diff --git a/package.json b/package.json index a5266f9..dde2f27 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "private": true, "scripts": { "build": "lerna run build", + "clean": "rm -fR packages/*/dist", "format": "prettier --write .", "lint": "prettier --check . && eslint .", "start:otel-receiver": "lerna run --scope @traceloop/otel-receiver start", diff --git a/packages/jest-environment-otel/index.js b/packages/jest-environment-otel/index.js deleted file mode 100644 index b908684..0000000 --- a/packages/jest-environment-otel/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { teardown, setup } from './dist/global'; -import { OpenTelemetryEnvironment } from './dist/env'; - -export default OpenTelemetryEnvironment; -export { setup, teardown }; diff --git a/packages/jest-environment-otel/package.json b/packages/jest-environment-otel/package.json index c1f3fcc..95726ed 100644 --- a/packages/jest-environment-otel/package.json +++ b/packages/jest-environment-otel/package.json @@ -4,9 +4,14 @@ "version": "0.8.0", "license": "Apache-2.0", "type": "commonjs", - "main": "./index.js", + "main": "./dist/index.js", + "module": "./src/index.ts", + "types": "dist/index.d.ts", "exports": { - ".": "./index.js", + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, "./setup": "./setup.js", "./teardown": "./teardown.js", "./package.json": "./package.json" diff --git a/packages/jest-environment-otel/rollup.config.mjs b/packages/jest-environment-otel/rollup.config.mjs index c2e907c..27be5d7 100644 --- a/packages/jest-environment-otel/rollup.config.mjs +++ b/packages/jest-environment-otel/rollup.config.mjs @@ -25,7 +25,7 @@ export default [ plugins: [swcPlugin, typescript({ tsconfig: '../../tsconfig.json' })], }), bundle({ - input: 'src/env.js', + input: 'src/env.ts', output: { file: 'dist/env.js', format: 'cjs', @@ -33,4 +33,13 @@ export default [ }, plugins: [swcPlugin, typescript({ tsconfig: '../../tsconfig.json' })], }), + bundle({ + input: 'src/index.ts', + output: { + file: 'dist/index.js', + format: 'cjs', + interop: 'compat', + }, + plugins: [swcPlugin, typescript({ tsconfig: '../../tsconfig.json' })], + }), ]; diff --git a/packages/jest-environment-otel/src/env.js b/packages/jest-environment-otel/src/env.ts similarity index 94% rename from packages/jest-environment-otel/src/env.js rename to packages/jest-environment-otel/src/env.ts index 3d285a4..a914720 100644 --- a/packages/jest-environment-otel/src/env.js +++ b/packages/jest-environment-otel/src/env.ts @@ -1,7 +1,7 @@ import NodeEnvironment from 'jest-environment-node'; import { readConfig } from './readConfig'; -const handleError = (error) => { +const handleError = (error: Error) => { process.emit('uncaughtException', error); }; @@ -18,7 +18,7 @@ const getWorkerIndex = () => process.env.JEST_WORKER_ID - 1; class OpenTelemetryEnvironment extends NodeEnvironment { // Jest is not available here, so we have to reverse engineer // the setTimeout function, see https://github.com/facebook/jest/blob/v23.1.0/packages/jest-runtime/src/index.js#L823 - setTimeout(timeout) { + setTimeout(timeout: number) { if (this.global.jasmine) { // eslint-disable-next-line no-underscore-dangle this.global.jasmine.DEFAULT_TIMEOUT_INTERVAL = timeout; diff --git a/packages/jest-environment-otel/src/global.ts b/packages/jest-environment-otel/src/global.ts index e672d4e..2e34e75 100644 --- a/packages/jest-environment-otel/src/global.ts +++ b/packages/jest-environment-otel/src/global.ts @@ -19,10 +19,12 @@ export async function setup(jestConfig: JestConfig = {}) { } if (!config?.useLocalOtelReceiver) { + console.log('NOT USING LOCAL OTEL RECEIVER', config); return; } try { + console.log('OTEL setting up local test server'); await setupServer({ command: 'node ./node_modules/@traceloop/otel-receiver/dist/index.js', // debug: true, diff --git a/packages/jest-environment-otel/src/index.ts b/packages/jest-environment-otel/src/index.ts new file mode 100644 index 0000000..f41e86f --- /dev/null +++ b/packages/jest-environment-otel/src/index.ts @@ -0,0 +1,5 @@ +// import { teardown, setup } from './global'; +import { OpenTelemetryEnvironment } from './env'; + +export default OpenTelemetryEnvironment; +// export { setup, teardown }; diff --git a/packages/otel-receiver/src/index.ts b/packages/otel-receiver/src/index.ts index f26bf71..5467d39 100644 --- a/packages/otel-receiver/src/index.ts +++ b/packages/otel-receiver/src/index.ts @@ -30,7 +30,7 @@ const startServer = async () => { }); _server = app.listen(port, () => { - console.log(`otel-receiver listening at port ${port}`); + console.log(`otel-receiver listening at port ${port}`); }); };