📦
Publishing a NPM modules that depends on react-dsfr
You want to publish your own library of components that depends on react-dsfr?
Here is an example:

GitHub - EIG6-Geocommuns/geocommuns-core: Set of shared utilities (hooks and Components) for the geocomuns project
GitHub
A module that depend on react-dsfr and MUI
I recommend starting from ts-ci for any project meant to be published on NPM
The main takeway:
- @codegouv/react-dsfr must be a peer dependency of your project. Any app that would use your library would need to explicitely install react-dsfr. For devloppement purpose, you want to add @codegouvfr/react-dsfr as devDependencies of your project.
- Do not add
"postinstall": "copy-dsfr-to-public"
in your library's package.json. It's the responsability of the host app to do so. - If you rely on MUI,
@mui/material
@emotion/styled
and@emotion/react
should be peer dependencies as well. You should add those modules as devDependencies. - If you use TSS: react-dsfr dosen't need to be a peerDependencies but @emotion/react does, you do not configure the emotion cache in your lib, that's the the responsability of the host app.
Last modified 1mo ago