npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-minimalist-ui

v0.0.6

Published

Minimalist UI components for React

Downloads

11

Readme

Comment publier un composant React sur NPM

0. Prérequis

Pour cet exemple, je vais partir du principe que l'on dispose d'un compte Github, que l'on connait les bases du terminal, de git et de React, enfin nodejs doit également être installé sur votre machine.

1. Créer un compte sur NPM

Se créer un compte nom sur npmjs et s'y connecter. Il est également possible de s'y connecter directement depuis le terminal avec la commande npm login

2. Créer un projet React

Créer un projet React avec la commande npx create-react-app nom-du-projet, se déplacer dans le dossier nouvellement créé avec cd nom-du-projet puis lancer le serveur avec npm start pour vérifier que tout fonctionne correctement.

3. Modification de la structure du projet

Pour publier un composant React sur NPM, il faut que le projet soit sous forme de librairie. Pour cela, il faut modifier la structure du projet et nous allons créer un premier composant modal.

Voici un exemple de structure modifiée :

```
├── .gitignore
├── package.json
├── README.md
├── src
│   ├── index.js
│   ├── app.js
│   ├── lib
│   │   ├── index.js
│   │   ├── components
│   │   │   ├── modal
│   │   │   │   ├── index.js
│   └── └── └── └── modal.css
├── public 
└── └── index.html
```

Note : Le dossier publicainsi que les fichiers src/index.js et src/app.js vont uniquement nous servir à tester notre composant pour le moment.

4. Création du composant

Dans le dossier src/lib/components/modal créer un fichier index.js et y ajouter le code suivant :

```javascript
import React from 'react';
import './modal.css';

const Modal = () => {
    return (
        <div className="modal">
            <h1>Modal</h1>
        </div>
    );
};

export default Modal;
```

Pour la partie design du composant, dans le dossier src/lib/components/modal créer un fichier modal.css et y ajouter le code suivant :

```javascript
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
}
```

5. Création du fichier d'entrée de la librairie

Dans le dossier src/lib créer un fichier index.js et y ajouter le code suivant :

```javascript
import Modal from './components/modal';

export { Modal };
```

Ce code nour permettra d'accéder au composant Modal depuis l'extérieur de la librairie dans les projets qui utiliserons cette librairie.

6. Installation des dépendances

Installer les dépendances suivantes pour nous permettre la compilation de notre librarie:

```javascript
    npm install --save-dev @babel/core @babel/cli @babel/preset-env
    npm install -save @babel/polyfill
```

7. Création du fichier babel.config.json

Créer un fichier babel.config.json et y ajouter le code suivant :

```javascript
{
    "presets": [
        [
            "@babel/env",
            {
                "targets": {
                    "edge": "17",
                    "firefox": "60",
                    "chrome": "67",
                    "safari": "11.1"
                },
                "useBuiltIns": "usage",
                "corejs": "3.6.5"
            }
        ],
        "@babel/preset-react"
    ]
}
```

Note : Cette configuration sera utilisée par babel pour permettre la compilation des fichiers sources

8. Modification du fichier package.json

Modifier la partie scripts pour y ajouter la commande de build :

```javascript
"scripts": {
    "start": "react-scripts start",
    "build": "rm -rf dist && NODE_ENV=production babel src/lib --out-dir dist --copy-files"
},
```

Note : Cette commande nous permettra de compiler notre librairie dans le dossier dist avec la commande npm run build.

Nous pouvons également modifier la partie description du projet dans ce même fichier :

```javascript
    "name": "nom-de-votre-librairie",
    "version": "0.0.1",
    "private": false,
    "description": "Description de que fera votre librarie ?",
    "author": "Votre nom",
    "keywords": ["react", "components", "ui"],
    "main": "dist/index.js",
    "module": "dist/index.js",
    "files": [ "dist", "README.md" ],
    "repository": {
        "type": "git",
        "url": "git+VOTRE_ADRESSE_GITHUB"
    },
```

Note : Exemple de format d'adresse Github : `git+https://github.com/wmalbos/react-minimalist-ui.git

9. Publication de la librairie

Avant toute publication, penser à recompiler les fichiers sources avec npm run build le dossier dist. Pour publier la librairie, il faut se connecter à son compte NPM avec la commande npm login puis publier la librairie avec la commande npm publish.

Important : Avant chaque publication, ne pas oublier de refaire la compilation avec npm run build et d'incrémenter le compteur de version dans le fichier package.json sinon npm ne prendra pas en compte les modifications.

10. Utilisation de la librairie

Pour utiliser la librairie dans un projet, il faut l'installer avec la commande npm install nom-de-votre-librairie (elle dépendra du nom de votre propre librarie que vous avez mis dans le fichier package.json) puis importer le composant Modal avec la commande import { Modal } from 'nom-de-votre-librairie'; et l'utiliser dans le code JSX avec <Modal />.

Informations : Si l'import du composant ne fonctionne, pas vous avez probablement oublié le fichier src/lib/index.jsqui permet l'export du composant en dehors de la librairie.