diff --git a/.changeset/brave-months-shop.md b/.changeset/brave-months-shop.md new file mode 100644 index 0000000000..361671c21c --- /dev/null +++ b/.changeset/brave-months-shop.md @@ -0,0 +1,5 @@ +--- +'@digdir/designsystemet-react': patch +--- + +Correctly mark dependencies as external. This ensures Accordion works when consumers have enabled tree-shaking. diff --git a/packages/react/package.json b/packages/react/package.json index 895b86f47d..e65c161b6a 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -56,7 +56,6 @@ "react-dom": "^18.3.1", "rimraf": "^6.0.1", "rollup": "^4.20.0", - "rollup-plugin-peer-deps-external": "^2.2.4", "typescript": "^5.5.4" } } diff --git a/packages/react/rollup.config.js b/packages/react/rollup.config.js index 473aaf373c..4e700e7ff7 100644 --- a/packages/react/rollup.config.js +++ b/packages/react/rollup.config.js @@ -1,6 +1,26 @@ import commonjs from '@rollup/plugin-commonjs'; import resolve from '@rollup/plugin-node-resolve'; -import peerDepsExternal from 'rollup-plugin-peer-deps-external'; +import pkg from './package.json'; + +// These are dependencies, but are not in our package.json +const implicitDependencies = [ + '@digdir/designsystemet-theme', + '@digdir/designsystemet-css', + '@digdir/design-system-tokens', +]; + +const dependencies = Object.keys({ + ...implicitDependencies, + ...pkg.dependencies, + ...pkg.peerDependencies, +}); + +/* +Regexes to correctly mark submodules from dependencies as being external +*/ +const dependenciesSubmodules = dependencies.map( + (dep) => new RegExp(`^${dep}/`), +); export default [ { @@ -21,12 +41,7 @@ export default [ preserveModulesRoot: 'tsc-build', }, ], - external: [ - /@digdir\/designsystemet-theme/, - /@digdir\/designsystemet-css/, - /@digdir\/design-system-tokens/, - /@navikt\/aksel-icons/, - ], - plugins: [peerDepsExternal(), resolve(), commonjs()], + external: [...dependencies, ...dependenciesSubmodules], + plugins: [resolve(), commonjs()], }, ]; diff --git a/yarn.lock b/yarn.lock index 6a3bf11a61..6b4fe6baee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2983,7 +2983,6 @@ __metadata: react-dom: "npm:^18.3.1" rimraf: "npm:^6.0.1" rollup: "npm:^4.20.0" - rollup-plugin-peer-deps-external: "npm:^2.2.4" typescript: "npm:^5.5.4" peerDependencies: react: ">=18.3.1" @@ -14984,15 +14983,6 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-peer-deps-external@npm:^2.2.4": - version: 2.2.4 - resolution: "rollup-plugin-peer-deps-external@npm:2.2.4" - peerDependencies: - rollup: "*" - checksum: 10/49b7b3f5ca14550146249b5fd86043bffb82a2c40750c80a1845c3b694fadde58435bae0c912ad8cb1c1ef6c1f8ad64914153793391cb13d52e2bc3aa2ac61e2 - languageName: node - linkType: hard - "rollup@npm:^4.13.0": version: 4.14.0 resolution: "rollup@npm:4.14.0"