diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 0e864b14..9f801dfe 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -8,6 +8,9 @@ on: concurrency: ${{ github.workflow }}-${{ github.ref }} +permissions: + pull-requests: write + jobs: release: name: Tests @@ -47,6 +50,7 @@ jobs: build-script: "build:all" compression: "none" pattern: "**/dist/*.{js,cjs,mjs,css}" + strip-hash: "-[A-Za-z0-9_]{8}(?=\\.)" - name: Upload diff images to GitHub uses: actions/upload-artifact@v4 diff --git a/packages/record/vite.config.ts b/packages/record/vite.config.ts index cf4366a0..f158699e 100644 --- a/packages/record/vite.config.ts +++ b/packages/record/vite.config.ts @@ -1,4 +1,25 @@ import path from 'path'; import config from '../../vite.config.default'; -export default config(path.resolve(__dirname, 'src/index.ts'), 'rrweb'); +const workspacePackages: Record = { + '@posthog/rrweb': path.resolve(__dirname, '../rrweb/src/entries/record.ts'), + '@posthog/rrweb-snapshot': path.resolve( + __dirname, + '../rrweb-snapshot/src/record.ts', + ), + '@posthog/rrdom': path.resolve(__dirname, '../rrdom/src/index.ts'), +}; + +export default config(path.resolve(__dirname, 'src/index.ts'), 'rrweb', { + plugins: [ + { + name: 'resolve-workspace-sources', + enforce: 'pre' as const, + resolveId(source: string) { + if (workspacePackages[source]) { + return workspacePackages[source]; + } + }, + }, + ], +}); diff --git a/packages/rrweb-snapshot/src/record.ts b/packages/rrweb-snapshot/src/record.ts index f95abb53..cabfa430 100644 --- a/packages/rrweb-snapshot/src/record.ts +++ b/packages/rrweb-snapshot/src/record.ts @@ -6,9 +6,11 @@ import snapshot, { cleanupSnapshot, needMaskingText, classMatchesRegex, + slimDOMDefaults, IGNORED_NODE, DEFAULT_MAX_DEPTH, wasMaxDepthReached, + resetMaxDepthState, genId, } from './snapshot'; export * from './types'; @@ -23,8 +25,10 @@ export { cleanupSnapshot, needMaskingText, classMatchesRegex, + slimDOMDefaults, IGNORED_NODE, DEFAULT_MAX_DEPTH, wasMaxDepthReached, + resetMaxDepthState, genId, }; diff --git a/packages/rrweb/src/entries/record.ts b/packages/rrweb/src/entries/record.ts index 0655b7af..138c5a0a 100644 --- a/packages/rrweb/src/entries/record.ts +++ b/packages/rrweb/src/entries/record.ts @@ -1,3 +1,7 @@ import record from '../record'; +export { + wasMaxDepthReached, + resetMaxDepthState, +} from '@posthog/rrweb-snapshot'; export { record };