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:
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,
@emotion/reactshould 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.