From 7d20e6291a596299077a5027e30a5231d2ad0361 Mon Sep 17 00:00:00 2001 From: Tyler Carson Date: Tue, 23 Jun 2026 08:51:51 -0700 Subject: [PATCH 1/2] Use preserveModules for browser dist to enable proto.js tree-shaking by downstream bundlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit proto.js is 16.1 MB unminified. With a monolithic ES bundle, any keeperapi import pulled in the full file. preserveModules outputs one file per source module so webpack can exclude proto.js entirely from bundles that don't use protobuf (e.g. tabWorker: 16 MB → 42 KB, browser action: eliminated as an async chunk). sideEffects lists configureProtobuf so it is never dropped. --- keeperapi/package-lock.json | 4 ++-- keeperapi/package.json | 5 +++-- keeperapi/rollup.config.js | 8 +++----- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/keeperapi/package-lock.json b/keeperapi/package-lock.json index b2ebc28a..d190d206 100644 --- a/keeperapi/package-lock.json +++ b/keeperapi/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keeper-security/keeperapi", - "version": "18.0.0", + "version": "18.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@keeper-security/keeperapi", - "version": "18.0.0", + "version": "18.0.1", "license": "ISC", "dependencies": { "@noble/post-quantum": "^0.5.2", diff --git a/keeperapi/package.json b/keeperapi/package.json index 3d3a3d6b..1e78f001 100644 --- a/keeperapi/package.json +++ b/keeperapi/package.json @@ -1,10 +1,11 @@ { "name": "@keeper-security/keeperapi", "description": "Keeper API Javascript SDK", - "version": "18.0.0", - "browser": "dist/index.es.js", + "version": "18.0.1", + "browser": "dist/browser/index.js", "main": "dist/index.cjs.js", "types": "dist/node/index.d.ts", + "sideEffects": ["**/configureProtobuf*"], "repository": "https://github.com/Keeper-Security/keeper-sdk-javascript", "license": "ISC", "engines": { diff --git a/keeperapi/rollup.config.js b/keeperapi/rollup.config.js index b1e68944..41dda6c3 100644 --- a/keeperapi/rollup.config.js +++ b/keeperapi/rollup.config.js @@ -8,14 +8,12 @@ export default [ input: 'src/browser/index.ts', output: [ { - file: pkg.browser, + dir: 'dist', format: 'es', + preserveModules: true, + preserveModulesRoot: 'src', sourcemap: true, }, - // { - // file: pkg.browsertest, - // format: 'cjs', - // }, ], external: [...Object.keys(pkg.dependencies || {}), 'protobufjs/minimal', '@noble/post-quantum/ml-kem.js'], plugins: [ From 56ff35cf8ba35e245e6d01e294a163cbc3f789a1 Mon Sep 17 00:00:00 2001 From: Tyler Carson Date: Tue, 23 Jun 2026 08:55:09 -0700 Subject: [PATCH 2/2] format --- keeperapi/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keeperapi/package.json b/keeperapi/package.json index 1e78f001..4013e5cd 100644 --- a/keeperapi/package.json +++ b/keeperapi/package.json @@ -5,7 +5,9 @@ "browser": "dist/browser/index.js", "main": "dist/index.cjs.js", "types": "dist/node/index.d.ts", - "sideEffects": ["**/configureProtobuf*"], + "sideEffects": [ + "**/configureProtobuf*" + ], "repository": "https://github.com/Keeper-Security/keeper-sdk-javascript", "license": "ISC", "engines": {