From 2002fe96d8205101641e59bef902586b9da488c6 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 10:12:13 +0100 Subject: [PATCH 01/16] move rollup.config.core to package level --- packages/replay/package.json | 2 +- packages/replay/{config => }/rollup.config.core.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename packages/replay/{config => }/rollup.config.core.ts (96%) diff --git a/packages/replay/package.json b/packages/replay/package.json index 2f8b3dee5189..2044f3f50bb7 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -12,7 +12,7 @@ "build:extras": "NODE_ENV=production yarn build:all", "build:dev": "NODE_ENV=development yarn build:all", "build:all": "run-s clean build:worker build:core", - "build:core": "yarn build:actualRollup --config config/rollup.config.core.ts", + "build:core": "yarn build:actualRollup --config rollup.config.core.ts", "build:worker": "yarn build:actualRollup --config config/rollup.config.worker.ts", "build:actualRollup": "rollup", "build:watch": "NODE_ENV=production yarn build:all:watch", diff --git a/packages/replay/config/rollup.config.core.ts b/packages/replay/rollup.config.core.ts similarity index 96% rename from packages/replay/config/rollup.config.core.ts rename to packages/replay/rollup.config.core.ts index b3de8258e626..bf091e069999 100644 --- a/packages/replay/config/rollup.config.core.ts +++ b/packages/replay/rollup.config.core.ts @@ -2,7 +2,7 @@ import replace from '@rollup/plugin-replace'; import typescript from '@rollup/plugin-typescript'; import { defineConfig } from 'rollup'; -import pkg from '../package.json'; +import pkg from './package.json'; const IS_PRODUCTION = process.env.NODE_ENV === 'production'; From f9ff61531abc4545d791329577fd28c520b31cbf Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 10:15:41 +0100 Subject: [PATCH 02/16] move rollup.config.worker.ts to package level --- packages/replay/package.json | 2 +- packages/replay/{config => }/rollup.config.worker.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename packages/replay/{config => }/rollup.config.worker.ts (100%) diff --git a/packages/replay/package.json b/packages/replay/package.json index 2044f3f50bb7..4ce882e9e0ec 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -13,7 +13,7 @@ "build:dev": "NODE_ENV=development yarn build:all", "build:all": "run-s clean build:worker build:core", "build:core": "yarn build:actualRollup --config rollup.config.core.ts", - "build:worker": "yarn build:actualRollup --config config/rollup.config.worker.ts", + "build:worker": "yarn build:actualRollup --config rollup.config.worker.ts", "build:actualRollup": "rollup", "build:watch": "NODE_ENV=production yarn build:all:watch", "build:dev:watch": "NODE_ENV=development yarn build:all:watch", diff --git a/packages/replay/config/rollup.config.worker.ts b/packages/replay/rollup.config.worker.ts similarity index 100% rename from packages/replay/config/rollup.config.worker.ts rename to packages/replay/rollup.config.worker.ts From 555b320a0719c43a4ddfdbfbd5267ac4e4b1d520 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 10:26:30 +0100 Subject: [PATCH 03/16] remove config directory && fix eslint cfg --- packages/replay/.eslintrc.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/replay/.eslintrc.js b/packages/replay/.eslintrc.js index 2662de004aca..cb602a9e63d6 100644 --- a/packages/replay/.eslintrc.js +++ b/packages/replay/.eslintrc.js @@ -16,9 +16,8 @@ module.exports = { 'types/**', // TODO: Remove these after migration 'scripts/**', - 'config/**', - 'config/**', '__mocks__/**', + 'rollup.config*.ts', ], overrides: [ { From 4c35d11376858adf04830ef0be9079c83230e0b5 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 10:28:56 +0100 Subject: [PATCH 04/16] ts -> js --- packages/replay/package.json | 4 ++-- .../replay/{rollup.config.core.ts => rollup.config.core.js} | 0 .../{rollup.config.worker.ts => rollup.config.worker.js} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/replay/{rollup.config.core.ts => rollup.config.core.js} (100%) rename packages/replay/{rollup.config.worker.ts => rollup.config.worker.js} (100%) diff --git a/packages/replay/package.json b/packages/replay/package.json index 4ce882e9e0ec..9ca078723cd3 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -12,8 +12,8 @@ "build:extras": "NODE_ENV=production yarn build:all", "build:dev": "NODE_ENV=development yarn build:all", "build:all": "run-s clean build:worker build:core", - "build:core": "yarn build:actualRollup --config rollup.config.core.ts", - "build:worker": "yarn build:actualRollup --config rollup.config.worker.ts", + "build:core": "yarn build:actualRollup --config rollup.config.core.js", + "build:worker": "yarn build:actualRollup --config rollup.config.worker.js", "build:actualRollup": "rollup", "build:watch": "NODE_ENV=production yarn build:all:watch", "build:dev:watch": "NODE_ENV=development yarn build:all:watch", diff --git a/packages/replay/rollup.config.core.ts b/packages/replay/rollup.config.core.js similarity index 100% rename from packages/replay/rollup.config.core.ts rename to packages/replay/rollup.config.core.js diff --git a/packages/replay/rollup.config.worker.ts b/packages/replay/rollup.config.worker.js similarity index 100% rename from packages/replay/rollup.config.worker.ts rename to packages/replay/rollup.config.worker.js From 1ced9f4e4b7741be0ccf765d0b2977329e09795a Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 10:36:25 +0100 Subject: [PATCH 05/16] add `build:types` script --- packages/replay/package.json | 1 + packages/replay/tsconfig.json | 1 - packages/replay/tsconfig.types.json | 10 ++++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 packages/replay/tsconfig.types.json diff --git a/packages/replay/package.json b/packages/replay/package.json index 9ca078723cd3..a28484087116 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -18,6 +18,7 @@ "build:watch": "NODE_ENV=production yarn build:all:watch", "build:dev:watch": "NODE_ENV=development yarn build:all:watch", "build:all:watch": "yarn clean && run-p \"build:worker --watch\" \"build:core --watch\"", + "build:types": "tsc -p tsconfig.types.json", "build:npm": "ts-node ../../scripts/prepack.ts --bundles && npm pack ./build/npm", "circularDepCheck": "#TODO comment in after migration: madge --circular src/index.ts", "clean": "rimraf build sentry-replay-*.tgz", diff --git a/packages/replay/tsconfig.json b/packages/replay/tsconfig.json index b40ac1d70bfd..aaa898601f14 100644 --- a/packages/replay/tsconfig.json +++ b/packages/replay/tsconfig.json @@ -16,7 +16,6 @@ "allowJs": true, "declaration": true, "declarationMap": true, - "declarationDir": "./types", "strictNullChecks": true, "outDir": "./build/npm/dist" }, diff --git a/packages/replay/tsconfig.types.json b/packages/replay/tsconfig.types.json new file mode 100644 index 000000000000..374fd9bc9364 --- /dev/null +++ b/packages/replay/tsconfig.types.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "emitDeclarationOnly": true, + "outDir": "build/npm/types" + } +} From 51ff8f10385b1ade21b3273e7ed3932065f4d06b Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 11:28:43 +0100 Subject: [PATCH 06/16] rename rollup core config --- packages/replay/package.json | 2 +- .../replay/{rollup.config.core.js => rollup.npm.config.js} | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) rename packages/replay/{rollup.config.core.js => rollup.npm.config.js} (79%) diff --git a/packages/replay/package.json b/packages/replay/package.json index a28484087116..4541af3c6a41 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -12,7 +12,7 @@ "build:extras": "NODE_ENV=production yarn build:all", "build:dev": "NODE_ENV=development yarn build:all", "build:all": "run-s clean build:worker build:core", - "build:core": "yarn build:actualRollup --config rollup.config.core.js", + "build:core": "yarn build:actualRollup --config rollup.npm.config.js", "build:worker": "yarn build:actualRollup --config rollup.config.worker.js", "build:actualRollup": "rollup", "build:watch": "NODE_ENV=production yarn build:all:watch", diff --git a/packages/replay/rollup.config.core.js b/packages/replay/rollup.npm.config.js similarity index 79% rename from packages/replay/rollup.config.core.js rename to packages/replay/rollup.npm.config.js index bf091e069999..a5966395fe97 100644 --- a/packages/replay/rollup.config.core.js +++ b/packages/replay/rollup.npm.config.js @@ -4,8 +4,6 @@ import { defineConfig } from 'rollup'; import pkg from './package.json'; -const IS_PRODUCTION = process.env.NODE_ENV === 'production'; - const config = defineConfig({ input: './src/index.ts', output: [ @@ -30,9 +28,8 @@ const config = defineConfig({ values: { __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), // @ts-ignore not gonna deal with types here - __SENTRY_DEBUG__: !IS_PRODUCTION, - // @ts-ignore __DEBUG_BUILD__ variable isn't yet replaced correctly at build time so - // we need to set this as true. + __SENTRY_DEBUG__: true, + // @ts-ignore not gonna deal with types here __DEBUG_BUILD__: true, }, }), From cb629453c71136e43238b38052dd44d141fdb80e Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:20:12 +0100 Subject: [PATCH 07/16] use monorepo's makeBaseNpmConfig --- packages/replay/package.json | 6 +-- packages/replay/rollup.npm.config.js | 61 ++++++++++++---------------- 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/packages/replay/package.json b/packages/replay/package.json index 4541af3c6a41..b8fd9b8a870f 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -2,9 +2,9 @@ "name": "@sentry/replay", "version": "7.22.0", "description": "User replays for Sentry", - "main": "build/npm/dist/index.js", - "module": "build/npm/dist/index.es.js", - "types": "build/npm/dist/src/index.d.ts", + "main": "build/npm/cjs/index.js", + "module": "build/npm/esm/index.js", + "types": "build/npm/types/src/index.d.ts", "sideEffects": false, "scripts": { "bootstrap": "yarn && cd demo && yarn #TODO: change after migration", diff --git a/packages/replay/rollup.npm.config.js b/packages/replay/rollup.npm.config.js index a5966395fe97..7710844d766d 100644 --- a/packages/replay/rollup.npm.config.js +++ b/packages/replay/rollup.npm.config.js @@ -1,39 +1,32 @@ import replace from '@rollup/plugin-replace'; -import typescript from '@rollup/plugin-typescript'; -import { defineConfig } from 'rollup'; + +import { makeBaseNPMConfig, makeNPMConfigVariants } from '../../rollup/index'; import pkg from './package.json'; -const config = defineConfig({ - input: './src/index.ts', - output: [ - { - file: pkg.main, - format: 'cjs', - sourcemap: true, - }, - { - file: pkg.module, - format: 'esm', - }, - ], - external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})], - plugins: [ - typescript({ - tsconfig: './tsconfig.json', - }), - replace({ - // __SENTRY_DEBUG__ should be save to replace in any case, so no checks for assignments necessary - preventAssignment: false, - values: { - __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), - // @ts-ignore not gonna deal with types here - __SENTRY_DEBUG__: true, - // @ts-ignore not gonna deal with types here - __DEBUG_BUILD__: true, +export default makeNPMConfigVariants( + makeBaseNPMConfig({ + hasBundles: true, + packageSpecificConfig: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})], + plugins: [ + replace({ + // __SENTRY_DEBUG__ should be save to replace in any case, so no checks for assignments necessary + preventAssignment: false, + values: { + __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), + // @ts-ignore not gonna deal with types here + __SENTRY_DEBUG__: true, + // @ts-ignore not gonna deal with types here + __DEBUG_BUILD__: true, + }, + }), + ], + output: { + // set exports to 'named' or 'auto' so that rollup doesn't warn about + // the default export in `worker/worker.js` + exports: 'named', }, - }), - ], -}); - -export default config; + }, + }), +); From 254e079116686ff4f06e9af6a002c1767b3cc115 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:21:17 +0100 Subject: [PATCH 08/16] fix `PerformancePaintTiming` type error --- packages/replay/src/createPerformanceEntry.ts | 2 +- packages/replay/src/types.ts | 8 ++++---- packages/replay/src/util/dedupePerformanceEntries.ts | 2 ++ packages/replay/test/fixtures/performanceEntry/lcp.ts | 2 ++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/replay/src/createPerformanceEntry.ts b/packages/replay/src/createPerformanceEntry.ts index 5cc8198fe600..e9b40a6c2cea 100644 --- a/packages/replay/src/createPerformanceEntry.ts +++ b/packages/replay/src/createPerformanceEntry.ts @@ -2,7 +2,7 @@ import { WINDOW } from '@sentry/browser'; import { browserPerformanceTimeOrigin } from '@sentry/utils'; import { record } from 'rrweb'; -import { AllPerformanceEntry } from './types'; +import { AllPerformanceEntry, PerformancePaintTiming } from './types'; import { isIngestHost } from './util/isIngestHost'; export interface ReplayPerformanceEntry { diff --git a/packages/replay/src/types.ts b/packages/replay/src/types.ts index b282894eaa33..2a0d98758367 100644 --- a/packages/replay/src/types.ts +++ b/packages/replay/src/types.ts @@ -35,14 +35,14 @@ export interface WorkerRequest { declare global { const __SENTRY_REPLAY_VERSION__: string; - - // PerformancePaintTiming is only available since TS 4.4, so for now we just define this here - // see: https://github.com/microsoft/TypeScript/blob/main/lib/lib.dom.d.ts#L10564 - type PerformancePaintTiming = PerformanceEntry; // @ts-ignore declare again, this _should_ be there but somehow is not available in worker context type PerformanceNavigationTiming = PerformanceEntry; } +// PerformancePaintTiming is only available with TS 4.4 and newer +// Therefore, we're exporting it here to make it available in older versions +export type PerformancePaintTiming = PerformanceEntry; + /** * The response from the worker */ diff --git a/packages/replay/src/util/dedupePerformanceEntries.ts b/packages/replay/src/util/dedupePerformanceEntries.ts index 22ac369e90a2..be1b181f1173 100644 --- a/packages/replay/src/util/dedupePerformanceEntries.ts +++ b/packages/replay/src/util/dedupePerformanceEntries.ts @@ -1,3 +1,5 @@ +import type { PerformancePaintTiming } from '../types'; + const NAVIGATION_ENTRY_KEYS: Array = [ 'name', 'type', diff --git a/packages/replay/test/fixtures/performanceEntry/lcp.ts b/packages/replay/test/fixtures/performanceEntry/lcp.ts index 2f14236d4268..761e75d56e8f 100644 --- a/packages/replay/test/fixtures/performanceEntry/lcp.ts +++ b/packages/replay/test/fixtures/performanceEntry/lcp.ts @@ -1,3 +1,5 @@ +import { PerformancePaintTiming } from '../../../src/types'; + export function PerformanceEntryLcp(obj?: Partial): PerformancePaintTiming { const entry = { name: '', From 6ac11e8f17a228a0c1b4fa7b66e719b246853162 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:41:37 +0100 Subject: [PATCH 09/16] fix `PerformanceNavigationTiming` type errors --- packages/replay/src/createPerformanceEntry.ts | 2 +- packages/replay/src/types.ts | 12 +++++++----- packages/replay/src/util/dedupePerformanceEntries.ts | 2 +- .../test/fixtures/performanceEntry/navigation.ts | 2 ++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/replay/src/createPerformanceEntry.ts b/packages/replay/src/createPerformanceEntry.ts index e9b40a6c2cea..4fbcdbf67699 100644 --- a/packages/replay/src/createPerformanceEntry.ts +++ b/packages/replay/src/createPerformanceEntry.ts @@ -2,7 +2,7 @@ import { WINDOW } from '@sentry/browser'; import { browserPerformanceTimeOrigin } from '@sentry/utils'; import { record } from 'rrweb'; -import { AllPerformanceEntry, PerformancePaintTiming } from './types'; +import { AllPerformanceEntry, PerformanceNavigationTiming, PerformancePaintTiming } from './types'; import { isIngestHost } from './util/isIngestHost'; export interface ReplayPerformanceEntry { diff --git a/packages/replay/src/types.ts b/packages/replay/src/types.ts index 2a0d98758367..ec9cda8db1c6 100644 --- a/packages/replay/src/types.ts +++ b/packages/replay/src/types.ts @@ -35,14 +35,16 @@ export interface WorkerRequest { declare global { const __SENTRY_REPLAY_VERSION__: string; - // @ts-ignore declare again, this _should_ be there but somehow is not available in worker context - type PerformanceNavigationTiming = PerformanceEntry; } -// PerformancePaintTiming is only available with TS 4.4 and newer -// Therefore, we're exporting it here to make it available in older versions +// PerformancePaintTiming and PerformanceNavigationTiming are only available with TS 4.4 and newer +// Therefore, we're exporting them here to make them available in older TS versions export type PerformancePaintTiming = PerformanceEntry; - +export type PerformanceNavigationTiming = PerformanceEntry & { + type: string; + transferSize: number; + domComplete: number; +}; /** * The response from the worker */ diff --git a/packages/replay/src/util/dedupePerformanceEntries.ts b/packages/replay/src/util/dedupePerformanceEntries.ts index be1b181f1173..17933710c91f 100644 --- a/packages/replay/src/util/dedupePerformanceEntries.ts +++ b/packages/replay/src/util/dedupePerformanceEntries.ts @@ -1,4 +1,4 @@ -import type { PerformancePaintTiming } from '../types'; +import type { PerformanceNavigationTiming, PerformancePaintTiming } from '../types'; const NAVIGATION_ENTRY_KEYS: Array = [ 'name', diff --git a/packages/replay/test/fixtures/performanceEntry/navigation.ts b/packages/replay/test/fixtures/performanceEntry/navigation.ts index 6cd4bec85dff..7de16e9aaf98 100644 --- a/packages/replay/test/fixtures/performanceEntry/navigation.ts +++ b/packages/replay/test/fixtures/performanceEntry/navigation.ts @@ -1,3 +1,5 @@ +import type { PerformanceNavigationTiming } from '../../../src/types'; + export function PerformanceEntryNavigation(obj?: Partial): PerformanceNavigationTiming { const entry = { name: 'https://sentry.io/organizations/sentry/discover/', From 0e38aa4182fd3cf81cebe1e67ca569dd488cd4eb Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:42:09 +0100 Subject: [PATCH 10/16] remove unnecessary replacements --- packages/replay/rollup.npm.config.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/replay/rollup.npm.config.js b/packages/replay/rollup.npm.config.js index 7710844d766d..023402f0f7b8 100644 --- a/packages/replay/rollup.npm.config.js +++ b/packages/replay/rollup.npm.config.js @@ -15,10 +15,10 @@ export default makeNPMConfigVariants( preventAssignment: false, values: { __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), - // @ts-ignore not gonna deal with types here - __SENTRY_DEBUG__: true, - // @ts-ignore not gonna deal with types here - __DEBUG_BUILD__: true, + // // @ts-ignore not gonna deal with types here + // __SENTRY_DEBUG__: true, + // // @ts-ignore not gonna deal with types here + // __DEBUG_BUILD__: true, }, }), ], From 337b436ec1beaad61416b3a61ffa4593578de496 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:42:19 +0100 Subject: [PATCH 11/16] cleanup esbuild and build nmm script --- packages/replay/.eslintrc.js | 2 +- packages/replay/package.json | 2 +- packages/replay/rollup.npm.config.js | 7 +------ 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/replay/.eslintrc.js b/packages/replay/.eslintrc.js index cb602a9e63d6..9f1f46d4ac0e 100644 --- a/packages/replay/.eslintrc.js +++ b/packages/replay/.eslintrc.js @@ -17,7 +17,7 @@ module.exports = { // TODO: Remove these after migration 'scripts/**', '__mocks__/**', - 'rollup.config*.ts', + 'rollup.config.worker.js', ], overrides: [ { diff --git a/packages/replay/package.json b/packages/replay/package.json index b8fd9b8a870f..9f804c4e4a83 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -8,7 +8,7 @@ "sideEffects": false, "scripts": { "bootstrap": "yarn && cd demo && yarn #TODO: change after migration", - "build": "yarn build:extras", + "build": "yarn build:worker && run-p build:core build:types", "build:extras": "NODE_ENV=production yarn build:all", "build:dev": "NODE_ENV=development yarn build:all", "build:all": "run-s clean build:worker build:core", diff --git a/packages/replay/rollup.npm.config.js b/packages/replay/rollup.npm.config.js index 023402f0f7b8..bbdf12bf8755 100644 --- a/packages/replay/rollup.npm.config.js +++ b/packages/replay/rollup.npm.config.js @@ -10,15 +10,10 @@ export default makeNPMConfigVariants( packageSpecificConfig: { external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})], plugins: [ + // TODO: Remove this - replay version will be in sync w/ SDK version replace({ - // __SENTRY_DEBUG__ should be save to replace in any case, so no checks for assignments necessary - preventAssignment: false, values: { __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), - // // @ts-ignore not gonna deal with types here - // __SENTRY_DEBUG__: true, - // // @ts-ignore not gonna deal with types here - // __DEBUG_BUILD__: true, }, }), ], From 813c22babdfd86154cd96e050e7e9de2ac3d2009 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:50:12 +0100 Subject: [PATCH 12/16] adjust size-limit paths --- .size-limit.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.size-limit.js b/.size-limit.js index f21b75dd6524..d872d8dad2f9 100644 --- a/.size-limit.js +++ b/.size-limit.js @@ -66,14 +66,14 @@ module.exports = [ // This entry is only here temporarily and will be replaced once we have proper CDN bundles { name: '@sentry/replay index.js', - path: 'packages/replay/build/npm/dist/index.js', + path: 'packages/replay/build/npm/esm/index.js', gzip: true, limit: '100 KB', ignore: ['@sentry/browser', '@sentry/utils', '@sentry/core', '@sentry/types'], }, { name: '@sentry/replay - Webpack (gzipped + minified)', - path: 'packages/replay/build/npm/dist/index.js', + path: 'packages/replay/build/npm/esm/index.js', import: '{ Replay }', gzip: true, limit: '100 KB', @@ -81,7 +81,7 @@ module.exports = [ }, { name: '@sentry/replay - Webpack (minified)', - path: 'packages/replay/build/npm/dist/index.js', + path: 'packages/replay/build/npm/esm/index.js', import: '{ Replay }', gzip: false, limit: '300 KB', From 9592699f480306478958f85c1b33314c4bfeb9d5 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:51:58 +0100 Subject: [PATCH 13/16] preventAssignment needs to stay --- packages/replay/rollup.npm.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/replay/rollup.npm.config.js b/packages/replay/rollup.npm.config.js index bbdf12bf8755..531ef96aeefa 100644 --- a/packages/replay/rollup.npm.config.js +++ b/packages/replay/rollup.npm.config.js @@ -12,6 +12,7 @@ export default makeNPMConfigVariants( plugins: [ // TODO: Remove this - replay version will be in sync w/ SDK version replace({ + preventAssignment: true, values: { __SENTRY_REPLAY_VERSION__: JSON.stringify(pkg.version), }, From 0b5583f8a3aa6468af9eef3cb005aa933dca65bd Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 12:54:53 +0100 Subject: [PATCH 14/16] cleanup eslint config, ignore, tsconfig --- packages/replay/.eslintrc.js | 15 +-------------- packages/replay/.gitignore | 1 - packages/replay/tsconfig.json | 3 +-- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/replay/.eslintrc.js b/packages/replay/.eslintrc.js index 9f1f46d4ac0e..513baaec7ce0 100644 --- a/packages/replay/.eslintrc.js +++ b/packages/replay/.eslintrc.js @@ -5,20 +5,7 @@ module.exports = { extends: ['../../.eslintrc.js'], - ignorePatterns: [ - 'coverage/**', - 'build/**', - 'dist/**', - 'cjs/**', - 'esm/**', - 'examples/**', - 'test/manual/**', - 'types/**', - // TODO: Remove these after migration - 'scripts/**', - '__mocks__/**', - 'rollup.config.worker.js', - ], + ignorePatterns: ['rollup.config.worker.js'], overrides: [ { files: ['worker/**/*.ts'], diff --git a/packages/replay/.gitignore b/packages/replay/.gitignore index daed51ab3651..363d3467c6fa 100644 --- a/packages/replay/.gitignore +++ b/packages/replay/.gitignore @@ -1,5 +1,4 @@ node_modules /*.tgz .eslintcache -dist build diff --git a/packages/replay/tsconfig.json b/packages/replay/tsconfig.json index aaa898601f14..7e05c4fa3aef 100644 --- a/packages/replay/tsconfig.json +++ b/packages/replay/tsconfig.json @@ -16,8 +16,7 @@ "allowJs": true, "declaration": true, "declarationMap": true, - "strictNullChecks": true, - "outDir": "./build/npm/dist" + "strictNullChecks": true }, "include": ["src/**/*.ts"], "exclude": ["node_modules"] From a93cd23ed5a1ca5bc672b5ab8aa1f7f17168092b Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 13:18:10 +0100 Subject: [PATCH 15/16] streamline and adjust `package.json` scripts --- packages/replay/package.json | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/replay/package.json b/packages/replay/package.json index 9f804c4e4a83..555a66757c54 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -8,17 +8,15 @@ "sideEffects": false, "scripts": { "bootstrap": "yarn && cd demo && yarn #TODO: change after migration", - "build": "yarn build:worker && run-p build:core build:types", - "build:extras": "NODE_ENV=production yarn build:all", - "build:dev": "NODE_ENV=development yarn build:all", - "build:all": "run-s clean build:worker build:core", - "build:core": "yarn build:actualRollup --config rollup.npm.config.js", - "build:worker": "yarn build:actualRollup --config rollup.config.worker.js", - "build:actualRollup": "rollup", - "build:watch": "NODE_ENV=production yarn build:all:watch", - "build:dev:watch": "NODE_ENV=development yarn build:all:watch", - "build:all:watch": "yarn clean && run-p \"build:worker --watch\" \"build:core --watch\"", + "build:extras": "yarn build #TODO rename to build:rollup once we're running in parallel", + "build": "run-s build:worker && run-p build:core build:types", + "build:dev": "run-s build #TODO adjust after adding CDN bundles", + "build:worker": "rollup -c rollup.config.worker.js", + "build:core": "rollup -c rollup.npm.config.js", "build:types": "tsc -p tsconfig.types.json", + "build:watch": "run-p \"build:worker --watch\" \"build:core --watch\" build:types:watch", + "build:dev:watch": "yarn build:watch #TODO adjust after adding CDN bundles", + "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:npm": "ts-node ../../scripts/prepack.ts --bundles && npm pack ./build/npm", "circularDepCheck": "#TODO comment in after migration: madge --circular src/index.ts", "clean": "rimraf build sentry-replay-*.tgz", From e7889eb71d3b911847aa188e4c261d1ad21c9dcd Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Wed, 30 Nov 2022 15:20:14 +0100 Subject: [PATCH 16/16] revert build:extras workaround after separating transpiling and type checking --- packages/replay/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/replay/package.json b/packages/replay/package.json index 555a66757c54..a17f23a7fd13 100644 --- a/packages/replay/package.json +++ b/packages/replay/package.json @@ -8,7 +8,7 @@ "sideEffects": false, "scripts": { "bootstrap": "yarn && cd demo && yarn #TODO: change after migration", - "build:extras": "yarn build #TODO rename to build:rollup once we're running in parallel", + "build:rollup": "run-s build:worker build:core", "build": "run-s build:worker && run-p build:core build:types", "build:dev": "run-s build #TODO adjust after adding CDN bundles", "build:worker": "rollup -c rollup.config.worker.js",