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
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,
@emotion/reactshould be peer dependencies as well. You should add thoses 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.