diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/.gitignore b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.gitignore similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/.gitignore rename to dev-packages/e2e-tests/test-applications/node-profiling-cjs/.gitignore diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/.npmrc b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/.npmrc rename to dev-packages/e2e-tests/test-applications/node-profiling-cjs/.npmrc diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/build-cjs.mjs b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/build-cjs.mjs similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/build-cjs.mjs rename to dev-packages/e2e-tests/test-applications/node-profiling-cjs/build-cjs.mjs diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/index.ts b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/index.ts similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/index.ts rename to dev-packages/e2e-tests/test-applications/node-profiling-cjs/index.ts diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json new file mode 100644 index 000000000000..aa729a030a5d --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json @@ -0,0 +1,22 @@ +{ + "name": "node-profiling-cjs", + "version": "1.0.0", + "private": true, + "scripts": { + "typecheck": "tsc --noEmit", + "test": "node dist/cjs/index.js", + "clean": "npx rimraf node_modules dist", + "test:build": "pnpm install && node build-cjs.mjs", + "test:assert": "pnpm run typecheck && pnpm run test" + }, + "dependencies": { + "@playwright/test": "~1.50.0", + "@sentry/node": "latest || *", + "@sentry/profiling-node": "latest || *", + "esbuild": "0.20.0", + "typescript": "^5.7.3" + }, + "volta": { + "extends": "../../package.json" + } +} diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/tsconfig.json b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/tsconfig.json similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/tsconfig.json rename to dev-packages/e2e-tests/test-applications/node-profiling-cjs/tsconfig.json diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-electron/.gitignore b/dev-packages/e2e-tests/test-applications/node-profiling-electron/.gitignore new file mode 100644 index 000000000000..1521c8b7652b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/.gitignore @@ -0,0 +1 @@ +dist diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-electron/.npmrc b/dev-packages/e2e-tests/test-applications/node-profiling-electron/.npmrc new file mode 100644 index 000000000000..949fbddc2343 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/.npmrc @@ -0,0 +1,2 @@ +# @sentry:registry=http://127.0.0.1:4873 +# @sentry-internal:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/__tests__/electron.spec.js b/dev-packages/e2e-tests/test-applications/node-profiling-electron/__tests__/electron.spec.js similarity index 95% rename from dev-packages/e2e-tests/test-applications/node-profiling/__tests__/electron.spec.js rename to dev-packages/e2e-tests/test-applications/node-profiling-electron/__tests__/electron.spec.js index 4519220008d1..49c0666fc1f7 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling/__tests__/electron.spec.js +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/__tests__/electron.spec.js @@ -7,6 +7,7 @@ test('an h1 contains hello world"', async () => { process: { env: { ...process.env, + NODE_ENV: 'development', }, }, }); diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/index.electron.js b/dev-packages/e2e-tests/test-applications/node-profiling-electron/index.electron.js similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/index.electron.js rename to dev-packages/e2e-tests/test-applications/node-profiling-electron/index.electron.js diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/index.html b/dev-packages/e2e-tests/test-applications/node-profiling-electron/index.html similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/index.html rename to dev-packages/e2e-tests/test-applications/node-profiling-electron/index.html diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json new file mode 100644 index 000000000000..dc176c847538 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json @@ -0,0 +1,24 @@ +{ + "name": "node-profiling-electron", + "version": "1.0.0", + "private": true, + "scripts": { + "clean": "npx rimraf node_modules dist", + "test:build": "pnpm install", + "test:assert": "$(pnpm bin)/electron-rebuild && pnpm playwright test" + }, + "dependencies": { + "@electron/rebuild": "^3.7.0", + "@playwright/test": "~1.50.0", + "@sentry/electron": "latest || *", + "@sentry/node": "latest || *", + "@sentry/profiling-node": "latest || *", + "electron": "^33.2.0" + }, + "volta": { + "extends": "../../package.json" + }, + "sentryTest": { + "skip": true + } +} diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/.gitignore b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.gitignore new file mode 100644 index 000000000000..1521c8b7652b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.gitignore @@ -0,0 +1 @@ +dist diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc new file mode 100644 index 000000000000..949fbddc2343 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/.npmrc @@ -0,0 +1,2 @@ +# @sentry:registry=http://127.0.0.1:4873 +# @sentry-internal:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/build-esm.mjs b/dev-packages/e2e-tests/test-applications/node-profiling-esm/build-esm.mjs similarity index 100% rename from dev-packages/e2e-tests/test-applications/node-profiling/build-esm.mjs rename to dev-packages/e2e-tests/test-applications/node-profiling-esm/build-esm.mjs diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/index.ts b/dev-packages/e2e-tests/test-applications/node-profiling-esm/index.ts new file mode 100644 index 000000000000..e956a1d9de33 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/index.ts @@ -0,0 +1,15 @@ +import * as Sentry from '@sentry/node'; +import { nodeProfilingIntegration } from '@sentry/profiling-node'; + +const wait = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); + +Sentry.init({ + dsn: 'https://7fa19397baaf433f919fbe02228d5470@o1137848.ingest.sentry.io/6625302', + integrations: [nodeProfilingIntegration()], + tracesSampleRate: 1.0, + profilesSampleRate: 1.0, +}); + +Sentry.startSpan({ name: 'Precompile test' }, async () => { + await wait(500); +}); diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json new file mode 100644 index 000000000000..b633df2df172 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json @@ -0,0 +1,22 @@ +{ + "name": "node-profiling-esm", + "version": "1.0.0", + "private": true, + "scripts": { + "typecheck": "tsc --noEmit", + "test": "node dist/esm/index.mjs", + "clean": "npx rimraf node_modules dist", + "test:build": "pnpm install && node build-esm.mjs", + "test:assert": "pnpm run typecheck && pnpm run test" + }, + "dependencies": { + "@playwright/test": "~1.50.0", + "@sentry/node": "latest || *", + "@sentry/profiling-node": "latest || *", + "esbuild": "0.20.0", + "typescript": "^5.7.3" + }, + "volta": { + "extends": "../../package.json" + } +} diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/tsconfig.json b/dev-packages/e2e-tests/test-applications/node-profiling-esm/tsconfig.json new file mode 100644 index 000000000000..1308ed76609c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "types": ["node"], + "esModuleInterop": true, + "lib": ["es2018"], + "strict": true, + "outDir": "dist", + "target": "ESNext", + "moduleResolution": "node", + "skipLibCheck": true + }, + "include": ["index.ts"] +} diff --git a/dev-packages/e2e-tests/test-applications/node-profiling/package.json b/dev-packages/e2e-tests/test-applications/node-profiling/package.json deleted file mode 100644 index c48ab9c3d42d..000000000000 --- a/dev-packages/e2e-tests/test-applications/node-profiling/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "node-profiling", - "version": "1.0.0", - "private": true, - "scripts": { - "typecheck": "tsc --noEmit", - "build": "node build-cjs.mjs && node build-esm.mjs", - "test": "node dist/cjs/index.js && node --experimental-require-module dist/cjs/index.js && node dist/esm/index.mjs", - "clean": "npx rimraf node_modules dist", - "test:electron": "$(pnpm bin)/electron-rebuild && playwright test", - "test:build": "pnpm run typecheck && pnpm run build", - "test:assert": "pnpm run test && pnpm run test:electron" - }, - "dependencies": { - "@electron/rebuild": "^3.7.0", - "@playwright/test": "~1.50.0", - "@sentry/electron": "latest || *", - "@sentry/node": "latest || *", - "@sentry/profiling-node": "latest || *", - "electron": "^33.2.0", - "esbuild": "0.20.0" - }, - "volta": { - "extends": "../../package.json" - }, - "sentryTest": { - "skip": true - } -}