Skip to content

Commit 0705a4b

Browse files
committed
feat: browser & edge build, fixes to capture serialization
1 parent c772294 commit 0705a4b

File tree

17 files changed

+862
-90
lines changed

17 files changed

+862
-90
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@ node_modules
33
coverage
44
.DS_Store
55
.env
6+
.flytrap/*
67
/test/transform/generated-*/
78
/test/transform/ecosystem-repos
89
/test-results/
910
# Transform
1011
transform/*
1112
!transform/package.json
13+
14+
# Browser
15+
browser/*
16+
!browser/package.json

examples/with-sveltekit/flytrap.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ export default defineFlytrapConfig({
1111
captureId: process?.env?.FLYTRAP_CAPTURE_ID ?? undefined,
1212
// ignore Svelte generated files
1313
excludeDirectories: ['./.svelte-kit'],
14-
logging: ['api-calls', 'capture', 'storage']
14+
logging: ['api-calls', 'capture', 'storage'],
15+
browser: true
1516
})

examples/with-sveltekit/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"@fontsource/fira-mono": "^4.5.10",
1616
"@neoconfetti/svelte": "^1.0.0",
1717
"@sveltejs/adapter-auto": "^2.0.0",
18+
"@sveltejs/adapter-cloudflare": "^2.3.2",
19+
"@sveltejs/adapter-vercel": "^3.0.3",
1820
"@sveltejs/kit": "^1.5.0",
1921
"@types/cookie": "^0.5.1",
2022
"svelte": "^3.54.0",

examples/with-sveltekit/svelte.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import adapter from '@sveltejs/adapter-auto'
2+
// import adapter from '@sveltejs/adapter-vercel'
3+
// import adapter from '@sveltejs/adapter-cloudflare'
24
import { vitePreprocess } from '@sveltejs/kit/vite'
35

46
/** @type {import('@sveltejs/kit').Config} */

package.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,20 @@
1515
"import": "./transform/index.mjs",
1616
"require": "./transform/index.cjs",
1717
"types": "./transform/index.d.ts"
18+
},
19+
"./browser": {
20+
"import": "./browser/index.mjs",
21+
"require": "./browser/index.cjs",
22+
"types": "./browser/index.d.ts"
1823
}
1924
},
2025
"main": "./dist/index.cjs",
2126
"module": "./dist/index.mjs",
2227
"types": "./dist/index.d.ts",
2328
"files": [
2429
"dist",
25-
"transform"
30+
"transform",
31+
"browser"
2632
],
2733
"type": "module",
2834
"scripts": {
@@ -62,9 +68,11 @@
6268
"@happy-dom/global-registrator": "^9.20.3",
6369
"@nuxtjs/eslint-config-typescript": "latest",
6470
"@playwright/test": "^1.36.2",
71+
"@rollup/plugin-alias": "^5.0.0",
6572
"@rollup/plugin-commonjs": "^25.0.0",
6673
"@rollup/plugin-json": "^6.0.0",
6774
"@rollup/plugin-node-resolve": "^15.1.0",
75+
"@rollup/plugin-replace": "^5.0.2",
6876
"@supabase/supabase-js": "^2.21.0",
6977
"@trpc/server": "^10.21.1",
7078
"@types/babel__traverse": "^7.18.3",

pnpm-lock.yaml

Lines changed: 93 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rollup.config.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import dts from 'rollup-plugin-dts'
33
import commonjs from '@rollup/plugin-commonjs'
44
import json from '@rollup/plugin-json'
55
import nodeResolve from '@rollup/plugin-node-resolve';
6+
import replace from '@rollup/plugin-replace';
7+
import alias from '@rollup/plugin-alias';
8+
69

710
/** @type {import('rollup').RollupOptions[]} */
811
export default [
@@ -40,6 +43,56 @@ export default [
4043
},
4144
],
4245
},
46+
// Build browser / edge version
47+
{
48+
input: ["src/index.ts"],
49+
plugins: [
50+
alias({
51+
entries: [
52+
{
53+
find: './core/encryption', replacement: './core/adapters/adapter-browser',
54+
},
55+
{
56+
find: './encryption', replacement: './adapters/adapter-browser',
57+
},
58+
{
59+
find: './persistence/isomorphic', replacement: './persistence/browser'
60+
}
61+
]
62+
}),
63+
nodeResolve({
64+
resolveOnly: ['serialize-error', 'pkg-dir', 'find-up', 'locate-path', 'p-locate', 'p-limit', 'path-exists', 'yocto-queue']
65+
}), json(), esbuild(), commonjs()],
66+
output: [
67+
{
68+
dir: "browser",
69+
entryFileNames: "index.mjs",
70+
format: "esm",
71+
exports: "named",
72+
sourcemap: true,
73+
},
74+
{
75+
dir: "browser",
76+
entryFileNames: "index.cjs",
77+
format: "cjs",
78+
exports: "named",
79+
sourcemap: true,
80+
},
81+
],
82+
},
83+
{
84+
input: ["src/index.ts"],
85+
plugins: [dts()],
86+
output: [
87+
{
88+
dir: "browser",
89+
entryFileNames: "index.d.ts",
90+
format: "esm",
91+
exports: "named",
92+
},
93+
],
94+
},
95+
// Build transform plugin
4396
{
4497
input: ["src/transform.ts"],
4598
plugins: [nodeResolve({

0 commit comments

Comments
 (0)