0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-01-20 22:52:46 -05:00

Merge branch 'master' into 4.x

This commit is contained in:
Juan Picado @jotadeveloper 2018-11-09 07:12:28 +01:00 committed by GitHub
commit bb6377c54d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 114 additions and 114 deletions

View file

@ -2,13 +2,13 @@
id: chef
title: "Chef Cookbook"
---
Using Chef Cookbook for Verdaccio
Utilisation du Chef Cookbook pour Verdaccio
For further information:
Pour plus dinformations:
* <https://github.com/verdaccio/verdaccio-cookbook>
* <https://supermarket.chef.io/cookbooks/verdaccio>
> We are looking for contributors for this repository, if you are interested please notify the author via tickets.
> Nous sommes à la recherche de collaborateurs pour ce référentiel. Si vous êtes intéressés, veuillez en informer l'auteur par ticket.
Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont.
Auteur: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont.

View file

@ -1,9 +1,9 @@
---
id: ci
title: "Continuous Integration"
title: "Intégration Continue"
---
You may use verdaccio with continuous integration while login or publish. When using NPM to install a private module in a continuous integration environment for the first time, a brick wall is quickly hit. The NPM login command is designed to be used interactively. This causes an issue in CI, scripts, etc. Heres how to use NPM login different continuous integration platforms.
Vous pouvez utiliser verdaccio avec une intégration continue lors de la connexion ou de la publication. Lorsque vous utilisez NPM pour installer un module privé dans un environnement d'intégration continue pour la première fois, vous rencontrez immédiatement un problème. La commande de connexion NPM est conçue pour être utilisée de manière interactive. Cela pose un problème dans les CI, les scripts, etc. Ici, vous trouverez comment utiliser NPM pour accéder à différentes plates-formes d'intégration continue.
- [Travis CI](https://remysharp.com/2015/10/26/using-travis-with-private-npm-deps)
- [Circle CI 1.0](https://circleci.com/docs/1.0/npm-login/) or [Circle CI 2.0](https://circleci.com/docs/2.0/deployment-integrations/#npm)
- [Circle CI 1.0](https://circleci.com/docs/1.0/npm-login/) ou [Circle CI 2.0](https://circleci.com/docs/2.0/deployment-integrations/#npm)
- [Gitlab CI](https://www.exclamationlabs.com/blog/continuous-deployment-to-npm-using-gitlab-ci/)

View file

@ -1,55 +1,55 @@
---
id: logo
title: "Verdaccio Logotype"
title: "Logo de Verdaccio"
---
The logotype was designed by **[Breno Rodrigues](https://github.com/rodriguesbreno)** which won the [contest](https://github.com/verdaccio/verdaccio/issues/237) ([last stage](https://github.com/verdaccio/verdaccio/issues/328)) and donated his work to this project.
Le logo a été conçu par [Breno Rodrigues](https://github.com/rodriguesbreno)</strong> qui a gagné la [compétition](https://github.com/verdaccio/verdaccio/issues/237) ([dernière étape](https://github.com/verdaccio/verdaccio/issues/328)) et a fait de son travail un don pour ce projet.
> All logos are licensed under [Creative Commons](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
> Tous les logos sont enregistrés sous la licence [Creative Commons](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her contribution with multiple image formats and sizes.
Un merci spécial à [@Lisapressmar](https://github.com/Lisapressmar)</em> pour sa contribution avec différents formats et tailles dimages.
## Symbols
## Symboles
**With text**
**Avec texte**
![symbol tiny with text](/img/logo/symbol/png/logo-small-header-bottom.png)
![petit symbole avec texte](/img/logo/symbol/png/logo-small-header-bottom.png)
![symbol medium with text](/img/logo/symbol/png/logo-small-header-bottom@2x.png)
![symbole moyen avec texte](/img/logo/symbol/png/logo-small-header-bottom@2x.png)
![symbol big with text](/img/logo/symbol/png/logo-small-header-bottom@3x.png)
![grand symbole avec texte](/img/logo/symbol/png/logo-small-header-bottom@3x.png)
**SVG**
![symbol svg](/img/logo/symbol/svg/logo-small-header-bottom.svg)
![symbole svg](/img/logo/symbol/svg/logo-small-header-bottom.svg)
**No text**
**Aucun texte**
![symbol tiny](/img/logo/symbol/png/verdaccio-tiny.png)
![petit symbole](/img/logo/symbol/png/verdaccio-tiny.png)
![symbol medium](/img/logo/symbol/png/verdaccio-tiny@2x.png)
![symbole moyen](/img/logo/symbol/png/verdaccio-tiny@2x.png)
![symbol big](/img/logo/symbol/png/verdaccio-tiny@3x.png)
![grand symbole](/img/logo/symbol/png/verdaccio-tiny@3x.png)
**SVG**
![svg format symbol no text](/img/logo/symbol/svg/verdaccio-tiny.svg)
![symbole de format svg sans texte](/img/logo/symbol/svg/verdaccio-tiny.svg)
### Black&White
### Noir &Blanc
![symbol bw small](/img/logo/symbol/png/verdaccio-blackwhite.png)
![symbole noir et blanc petit](/img/logo/symbol/png/verdaccio-blackwhite.png)
![symbol bw medium](/img/logo/symbol/png/verdaccio-blackwhite@2x.png)
![symbole noir et blanc moyen](/img/logo/symbol/png/verdaccio-blackwhite@2x.png)
![symbol bw big](/img/logo/symbol/png/verdaccio-blackwhite@3x.png)
![symbole noir et blanc grand](/img/logo/symbol/png/verdaccio-blackwhite@3x.png)
**SVG**
![symbol bw svg](/img/logo/symbol/svg/verdaccio-blackwhite.svg)
![symbole noir et blanc svg](/img/logo/symbol/svg/verdaccio-blackwhite.svg)
## Banner
## Bannière
![banner small](/img/logo/banner/png/verdaccio-banner.png)
![petite bannière](/img/logo/banner/png/verdaccio-banner.png)
![banner medium](/img/logo/banner/png/verdaccio-banner@2x.png)
![bannière moyenne](/img/logo/banner/png/verdaccio-banner@2x.png)
![banner big](/img/logo/banner/png/verdaccio-banner@3x.png)
![grande bannière](/img/logo/banner/png/verdaccio-banner@3x.png)

View file

@ -2,14 +2,14 @@
id: node-api
title: "Node API"
---
Verdaccio can be invoqued programmatically. The node API was introduced after version `verdaccio@3.0.0-alpha.10`.
Verdaccio peut être invoqué par programme. Le node API a été introduit à partir de la version `verdaccio@3.0.0-alpha.10`.
## Usage
## Utilisation
#### Programmatically
#### Par programme
```js
import startServer from 'verdaccio';
mport startServer from 'verdaccio';
startServer(configJsonFormat, 6000, store, '1.0.0', 'verdaccio',
(webServer, addrs, pkgName, pkgVersion) => {
@ -19,23 +19,23 @@ Verdaccio can be invoqued programmatically. The node API was introduced after ve
});
```
## Other implementations
## Autres implémentations
* [verdaccio-server](https://github.com/boringame/verdaccio-server) local npm registry proxy server
* [verdaccio-server](https://github.com/boringame/verdaccio-server) registre local npm, serveur proxy
```js
// js
import * as verdaccioServer from "verdaccio-server";
verdaccioServer.start();
verdaccioServer.stop();
verdaccioServer.list();
verdaccioServer.stopAll();
verdaccioServer.show();
verdaccioServer.cli();
// windows .net2
verdaccioServer.serviceInstall();
verdaccioServer.serviceUninstall();
verdaccioServer.serviceStart();
verdaccioServer.serviceStop();
verdaccioServer.serviceRestart();
js
import * comme verdaccioServer de « verdaccio-serveur » ;
verdaccioServer.start() ;
verdaccioServer.stop() ;
verdaccioServer.list() ;
verdaccioServer.stopAll() ;
verdaccioServer.show() ;
verdaccioServer.cli() ;
/ / windows .net2
verdaccioServer.serviceInstall() ;
verdaccioServer.serviceUninstall() ;
verdaccioServer.serviceStart() ;
verdaccioServer.serviceStop() ;
verdaccioServer.serviceRestart() ;
```

View file

@ -2,19 +2,19 @@
id: puppet
title: "Puppet"
---
Install verdaccio for Debian, Ubuntu, Fedora, and RedHat.
Installez verdaccio pour Debian, Ubuntu, Fedora, et RedHat.
# Usage
# Utilisation
There are two variants to install verdaccio using this Puppet module:
Deux variantes sont disponibles pour installer verdaccio à laide de ce module Puppet:
* Apply-mode (with puppet-apply and no puppetmaster setup needed)
* Master-Agent-mode (with puppet-agent accessing your configuration through the puppetmaster).
* Mode d'application (avec puppet-apply et aucune configuration puppetmaster n'est demandée)
* Mode Master-Agent (avec accès à la configuration de puppet-agent via puppetmaster).
In both variants you have to explicitely call "class nodejs {}" in your puppet script because the puppet-verdaccio module only defines this as a requirement, so you have all the flexibility you want when installing nodejs. Scroll down for details about Master-Agent-mode variant.
Dans les deux variantes, il est nécessaire d'appeler explicitement la "classe nodejs {}" dans le script puppet car le module puppet-verdaccio le définit uniquement en tant qu'exigence. Vous disposez ainsi de toute la flexibilité que vous souhaitez pour l'installation de nodejs. Faites défiler la liste pour plus de détails sur la variante de la méthode Master-Agent.
For further information:
Pour plus d'informations:
<https://github.com/verdaccio/puppet-verdaccio>
> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11).
> Nous sommes à la recherche de collaborateurs actifs pour cette intégration. Si vous êtes intéressé, [référez-vous à ce ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11).

View file

@ -52,20 +52,20 @@ $ forever start `which verdaccio`
Vous pouvez consulter la documentation pour plus d'informations sur l'utilisation forever.
## Surviving server restarts
## Durée de redémarrage du serveur
We can use crontab and forever together to restart verdaccio after a server reboot. When you're logged in as the verdaccio user do the following:
Vous pouvez utiliser crontab et forever en même temps pour redémarrer Verdaccio après une réinitialisation du serveur. Lorsque vous êtes connectés en tant qu'utilisateur verdaccio, procédez comme suit:
```bash
$ crontab -e
```
This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file:
Cela peut vous demander de choisir un éditeur. Sélectionnez votre préféré et continuez. Ajoutez l'annotation suivante au fichier:
@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio
The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command:
Les emplacements peuvent varier en fonction de la configuration du serveur. Si vous voulez savoir où sont les fichiers, vous pouvez utiliser la commande 'which':
```bash
$ which forever

View file

@ -1,45 +1,45 @@
---
id: ssl
title: "Set up the SSL Certificates"
title: "Configurez les Certificats SSL"
---
Follow this instructions to configure a SSL certificate to serve NPM registry under HTTPS.
Suivez ces instructions pour configurer un certificat SSL servant le registre NPM sous HTTPS.
* Update the listen property in your `~/.config/verdaccio/config.yaml`:
* Mettez à jour la propriété listen dans `~/.config/verdaccio/config.yaml`:
listen: 'https://your.domain.com/'
Once you update the listen and try to run verdaccio again will ask for certificates.
Une fois que vous avez mis à jour le programme d'écoute et que vous avez essayé d'exécuter à nouveau verdaccio, des certificats vous seront demandés.
* Generate your certificates
* Générer votres certificats
$ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048
$ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem
$ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem
````
* Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section
* Editez votre dossier de configuration `/Users/user/.config/verdaccio/config.yaml` and add the following section
https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem
<br />Alternatively, if you have a certificate as `server.pfx` format, you can add the following configuration section. The passphrase is optional and only needed, if your certificate is encrypted.
<br />Comme alternative,si vous avez un certificat de format `server.pfx`, vous pouvez ajouter la section de configuration suivante. La phrase secrète est facultative et nécessaire uniquement si le certificat est crypté.
https: pfx: /Users/user/.config/verdaccio/server.pfx passphrase: 'secret' ````
More info on the `key`, `cert`, `ca`, `pfx` and `passphrase` arguments on the [Node documentation](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options)
Pour plus d'informations sur `key`, `cert`, `ca`, `pfx` et `passphrase`, veuillez vous référer à la [documentation sur les nœuds](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options)
* Run `verdaccio` in your command line.
* Exécutez `verdaccio` dans votre ligne de commande.
* Open the browser and load `https://your.domain.com:port/`
* Ouvrez le navigateur et chargez `https://your.domain.com:port/`
This instructions are mostly valid under OSX and Linux, on Windows the paths will vary but, the steps are the same.
Les instructions sont largement valables pour OSX et Linux. Pour Windows, les chemins peuvent varier, mais les étapes à suivre sont les mêmes.
## Docker
If you are using the Docker image, you have to set the `PROTOCOL` environment variable to `https` as the `listen` argument is provided on the [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43), and thus ignored from your config file.
Si vous utilisez l'image Docker, vous devez définir la variable d'environnement `PROTOCOL` sur `https` car l'argument `listen` est fourni sur [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43), et est donc ignoré par le fichier de configuration.
You can also set the `PORT` environment variable if you are using a different port than `4873`.
Vous pouvez également définir la variable d'environnement `PORT` si vous utilisez un port autre que `4873`.

View file

@ -1,31 +1,31 @@
---
id: unit-testing
title: "Unit Testing"
title: "Test unitaire"
---
All tests are split in three folders:
Tous les tests sont divisés en trois dossiers:
- `test/unit` - Tests that cover functions that transform data in an non-trivial way. These tests simply `require()` a few files and run code in there, so they are very fast.
- `test/functional` - Tests that launch a verdaccio instance and perform a series of requests to it over http. They are slower than unit tests.
- `test/integration` - Tests that launch a verdaccio instance and do requests to it using npm. They are really slow and can hit a real npm registry. **unmaintained test**
- `test/unit` - Tests couvrant les fonctions transformant les données de manière non triviale. Ces tests `demandent()` simplement peu de fichiers et exécutent le code qu'ils contiennent, ils sont donc très rapides.
- `test/fonctionnel` - Tests qui lancent une instance verdaccio et effectuent une série de requêtes via http. Ils sont plus lents que les tests unitaires.
- `test/integration` - Tests qui lancent une instance de verdaccio et lui adressent des requêtes à l'aide de npm. Ils sont considérablement lents et peuvent atteindre un registre npm réel. **test non maintenu**
Unit and functional tests are executed automatically by running `npm test` from the project's root directory. Integration tests are supposed to be executed manually from time to time.
Les tests unitaires et fonctionnels sont effectués automatiquement lorsque vous démarrez `npm test` à partir du dossier racine du projet. Les tests d'intégration doivent être effectués manuellement de temps à autre.
We use `jest` for all test.
L'on utilise `jest` pour tous les tests.
## The npm Script
## Le Script npm
To run the test script you can use either `npm` or `yarn`.
Pour exécuter le script de test, vous pouvez utiliser soit `npm` ou `yarn`.
yarn run test
That will trigger only two first groups of test, unit and functional.
Cela activera uniquement les deux premiers groupes de test, unité et fonctionnel.
### Using test/unit
### Utilisation de test/unit
The following is just an example how a unit test should looks like. Basically follow the `jest` standard.
Ce qui suit est juste un exemple de ce à quoi un test unitaire devrait ressembler. Suivez fondamentalement la norme `jest`.
Try to describe what exactly does the unit test in a single sentence in the header of the `test` section.
Essayez de décrire ce que fait exactement le test unitaire en une seule phrase dans l'en-tête de la section `test`.
```javacript
const verdaccio = require('../../src/api/index');
@ -48,11 +48,11 @@ describe('basic system test', () => {
});
```
### Using test/functional
### Utilisation de test/functional
Funtional testing in verdaccio has a bit more of complextity that needs a deep explanation in order to success in your experience.
Le test fonctionnel de verdaccio présente un niveau de complexité supérieur, qui nécessite une explication détaillée pour garantir une expérience positive.
All starts in the `index.js` file. Let's dive in into it.
Tout commence dans le fichier de`index.js`. Plongeons-nous dedans.
```javascript
// we create 3 server instances
@ -107,7 +107,7 @@ All starts in the `index.js` file. Let's dive in into it.
```
### Usage
### Utilisation
Ici nous allons décrire à quoi devrait ressembler un test fonctionnel typique. Vérifiez inline pour plus d'informations détaillées.

View file

@ -25,22 +25,22 @@ uplinks:
Vous pouvez définir de mutiple uplinks et chacun deux doit avoir un nom unique (clé). Ils peuvent avoir deux propriétés:
| Propriété | Type | Obligatoire | Exemple | Soutien | Description | Par défaut |
| ------------ | -------------------- | ----------- | --------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | -------------- |
| url | chaîne de caractères | Oui | https://registry.npmjs.org/ | tous | Lurl du registre | npmjs |
| ca | chaîne de caractères | Non | ~./ssl/client.crt' | tous | Certificat de chemin SSL | Pas par défaut |
| timeout | chaîne de caractères | Non | 100ms | tous | définir le nouveau délai dattente pour la demande | 30s |
| maxage | chaîne de caractères | Non | 10m | tous | limit maximun failure request | 2m |
| fail_timeout | string | No | 10m | all | defines max time when a request becomes a failure | 5m |
| max_fails | number | No | 2 | all | limit maximun failure request | 2 |
| cache | boolean | No | [true,false] | >= 2.1 | cache all remote tarballs in storage | true |
| auth | list | No | [see below](uplinks.md#auth-property) | >= 2.5 | assigns the header 'Authorization' [more info](http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) | disabled |
| headers | list | No | authorization: "Bearer SecretJWToken==" | all | list of custom headers for the uplink | disabled |
| strict_ssl | boolean | No | [true,false] | >= 3.0 | If true, requires SSL certificates be valid. | true |
| Propriété | Type | Obligatoire | Exemple | Soutien | Description | Par défaut |
| ------------ | -------------------- | ----------- | ------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
| url | chaîne de caractères | Oui | https://registry.npmjs.org/ | tous | Lurl du registre | npmjs |
| ca | chaîne de caractères | Non | ~./ssl/client.crt' | tous | Certificat de chemin SSL | Pas par défaut |
| timeout | chaîne de caractères | Non | 100ms | tous | définir le nouveau délai dattente pour la demande | 30s |
| maxage | chaîne de caractères | Non | 10m | tous | limite maximale d'échecs à chaque demande | 2m |
| fail_timeout | chaîne de caractères | Non | 10m | tous | définit le temps maximal pour qu'une demande devienne un échec | 5m |
| max_fails | numéro | Non | 2 | tous | limite maximale d'échecs à chaque demande | 2 |
| cache | booléenne | Non | [vrai,faux] | >= 2.1 | mettre en cache tous les tarballs éloignés dans l'archive | vrai |
| auth | liste | Non | [voir ci-dessous](uplinks.md#auth-property) | >= 2.5 | attribuer l'en-tête "Autorisation" [plus d'informations](http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) | désactivé |
| en-têtes | liste | Non | autorisation: "Bearer SecretJWToken==" | tous | liste des en-têtes personnalisés pour l'uplink | désactivé |
| strict_ssl | booléenne | Non | [vrai,faux] | >= 3.0 | Si vrai, nécessite que les certificats SSL soient valides. | vrai |
#### Auth property
#### Propriété de l'auth
The `auth` property allows you to use an auth token with an uplink. Using the default environment variable:
La propriété `auth` vous permet d'utiliser un jeton d'authentification avec un uplink. Utilisez la variable environnementale par défaut:
```yaml
uplinks:
@ -51,7 +51,7 @@ uplinks:
token_env: true # defaults to `process.env['NPM_TOKEN']`
```
or via a specified environment variable:
ou par une variable environnementale spécifique:
```yaml
uplinks:
@ -62,7 +62,7 @@ uplinks:
token_env: FOO_TOKEN
```
`token_env: FOO_TOKEN`internally will use `process.env['FOO_TOKEN']`
`token_env: FOO_TOKEN` utilisera en interne `process.env['FOO_TOKEN']`
ou en spécifiant directement un jeton:

View file

@ -20,12 +20,12 @@ Si vous souhaitez utiliser une version modifiée d'un paquet public`foo`, vous n
Il y a deux options ici:
1. You want to create a separate fork and stop synchronizing with public version.
1. Vous souhaitez créer un fork distinct et arrêter la synchronisation avec la version publique.
If you want to do that, you should modify your configuration file so verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to *config.yaml* and remove `npmjs` from `proxy` list and restart the server.
Si vous voulez faire cela, vous devriez modifier votre fichier de configuration pour que verdaccio ne fasse plus de demande à propos de ce paquet pour npjms. Ajoutez une entrée distincte pour ce paquet à *config.yaml* et supprimez `npmjs` de la liste `proxy`, puis redémarrez le serveur.
When you publish your package locally, you should probably start with version string higher than existing one, so it won't conflict with existing package in the cache.
Lorsque vous publiez votre paquet localement, vous devez probablement commencer par un format de chaîne de caractère supérieur à celui existant, afin d'éviter toute confusion avec le paquet existant dans le cache.
2. You want to temporarily use your version, but return to public one as soon as it's updated.
2. Vous souhaitez utiliser temporairement votre propre version, mais revenir à la version public dès sa mise à jour.
In order to avoid version conflicts, you should use a custom pre-release suffix of the next patch version. For example, if a public package has version 0.1.2, you can upload 0.1.3-my-temp-fix. This way your package will be used until its original maintainer updates his public package to 0.1.3.
Pour éviter toute confusion entre les versions, vous devez utiliser un suffixe personnalisé publié avant la prochaine version du patch. Par exemple, si un paquet public a la version 0.1.2, vous pouvez charger 0.1.3-my-temp-fix. De cette manière, le paquet sera utilisé jusqu'à ce que son responsable d'origine mette à jour son paquet public vers la version 0.1.3.