π¦Publishing a NPM modules that depends on react-dsfr
Last updated
Last updated
2022-2023 PΓ΄le logiciel libre d'Etalab - MIT license
You want to publish your own library of components that depends on react-dsfr?
Here is an example:
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.