@villedemontreal/general-utils 5.15.6 → 5.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -48
- package/package.json +3 -5
package/README.md
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @villedemontreal/general-utils
|
|
2
2
|
|
|
3
3
|
Ensemble d'utilitaires généraux.
|
|
4
4
|
|
|
5
5
|
Fournie également des constantes globales, par exemple les noms d'environnements
|
|
6
6
|
standardisés pour nos projets.
|
|
7
7
|
|
|
8
|
-
## Availabililty
|
|
9
|
-
|
|
10
|
-
https://bitbucket.org/villemontreal/core-utils-general-nodejs-lib
|
|
11
|
-
|
|
12
8
|
## Installation
|
|
13
9
|
|
|
14
10
|
Install it:
|
|
15
11
|
|
|
16
12
|
```shell
|
|
17
|
-
npm install @
|
|
18
|
-
yarn add @
|
|
13
|
+
npm install @villedemontreal/general-utils
|
|
14
|
+
yarn add @villedemontreal/general-utils
|
|
19
15
|
```
|
|
20
16
|
|
|
21
17
|
## Usage
|
|
@@ -23,7 +19,7 @@ Install it:
|
|
|
23
19
|
Exemple :
|
|
24
20
|
|
|
25
21
|
```typescript
|
|
26
|
-
import { utils } from '@
|
|
22
|
+
import { utils } from '@villedemontreal/general-utils';
|
|
27
23
|
```
|
|
28
24
|
|
|
29
25
|
# Builder le projet
|
|
@@ -64,10 +60,10 @@ Trois "_launch configurations_" sont founies pour déboguer le projet dans VSCod
|
|
|
64
60
|
- "`Debug current tests file - fast`". Lance le fichier de tests _présentement ouvert_ dans VSCode en mode debug. Aucune compilation
|
|
65
61
|
n'est effectuée au préalable. Cette launch configuration doit être utilisée lorsque la compilation incrémentale roule (voir la section "`Mode Watch`" plus haut)
|
|
66
62
|
|
|
67
|
-
# Notes sur la dépendance "@
|
|
63
|
+
# Notes sur la dépendance "@villedemontreal/scripting"
|
|
68
64
|
|
|
69
65
|
Pour éviter d'avoir une hiérarchie trop profonde dans `node_modules`, nous incluons la librarie de scripting
|
|
70
|
-
"`@
|
|
66
|
+
"`@villedemontreal/scripting`" en spécifiant uniquement _sa version majeure_
|
|
71
67
|
(par exemple: "`^1`" ou "`^2`"). La raison est que cette librairie de scripting, ainsi que la librairie présente,
|
|
72
68
|
s'utilisent chacune mutuellement. En spécifiant uniquement la version majeure de la librairie
|
|
73
69
|
de scripting, seul _le plus récent artifact_ à cette version majeure sera ajouté ici au `node_modules`.
|
|
@@ -76,44 +72,6 @@ de scripting, seul _le plus récent artifact_ à cette version majeure sera ajou
|
|
|
76
72
|
de ne pas provoquer de dépendances circulaires en important des composants de la librairie de scripting qui eux-mêmes importeraient en ce faisant des composants de la librairie présente! D'hériter de la classe `ScriptBase` serait,
|
|
77
73
|
cela dit, sans problème car cet import ne génère aucune dépendance circulaire.
|
|
78
74
|
|
|
79
|
-
# Test et publication de la librairie sur Nexus
|
|
80
|
-
|
|
81
|
-
En mergant une pull request dans la branche `develop`, un artifact "`-pre.build`" sera créé automatiquement dans Nexus. Vous
|
|
82
|
-
pouvez utiliser cette version temporaire de la librairie pour bien la tester dans un réel projet.
|
|
83
|
-
|
|
84
|
-
Une fois mergée dans `master`, la librairie est définitiement publiée dans Nexus, en utilisant la version spécifiée dans
|
|
85
|
-
le `package.json`.
|
|
86
|
-
|
|
87
|
-
## Artifact Nexus privé, lors du développement
|
|
88
|
-
|
|
89
|
-
Lors du développement d'une nouvelle fonctionnalité, sur une branche `feature`, il peut parfois être
|
|
90
|
-
utile de déployer une version temporaire de la librairie dans Nexus. Ceci permet de bien tester
|
|
91
|
-
l'utilisation de la librairie modifiée dans un vrai projet, ou même dans une autre librairie
|
|
92
|
-
elle-même par la suite utilisée dans un vrai projet.
|
|
93
|
-
|
|
94
|
-
Si le code à tester est terminé et prêt à être mis en commun avec d'autres développeurs, la solution
|
|
95
|
-
de base, comme spécifiée à la section précédante, est de merger sur `develop`: ceci créera
|
|
96
|
-
automatiquement un artifact "`-pre-build`" dans Nexus. Cependant, si le code est encore en développement
|
|
97
|
-
et vous désirez éviter de polluer la branche commune `develop` avec du code temporaire, il y a une
|
|
98
|
-
solution permettant de générer un artifact "`[votre prénom]-pre-build`" temporaire dans Nexus,
|
|
99
|
-
à partir d'une branche `feature` directement:
|
|
100
|
-
|
|
101
|
-
1. Checkoutez votre branche `feature` dans une branche nommée "`nexus`". Ce nom est
|
|
102
|
-
important et correspond à une entrée dans le `Jenkinsfile`.
|
|
103
|
-
2. Une fois sur la branche `nexus`, ajoutez un suffixe "`-[votre prénom]`" à
|
|
104
|
-
la version dans le `package.json`, par exemple: "`5.15.0-roger`".
|
|
105
|
-
Ceci permet d'éviter tout conflit dans Nexus et exprime clairement qu'il
|
|
106
|
-
s'agit d'une version temporaire pour votre développement privé.
|
|
107
|
-
3. Commitez et poussez la branche `nexus`.
|
|
108
|
-
4. Une fois le build Jenkins terminé, un artifact pour votre version aura été
|
|
109
|
-
déployé dans Nexus.
|
|
110
|
-
|
|
111
|
-
**Notez** que, lors du développement dans une branche `feature`, l'utilisation d'un simple
|
|
112
|
-
`npm link` local peut souvent être suffisant! Mais cette solution a ses limites, par exemple si
|
|
113
|
-
vous désirez tester la librairie modifiée _dans un container Docker_.
|
|
114
|
-
|
|
115
75
|
# Aide / Contributions
|
|
116
76
|
|
|
117
|
-
Pour obtenir de l'aide avec ce gabarit, vous pouvez poster sur la salle Google Chat [dev-discussions](https://chat.google.com/room/AAAASmiQveI).
|
|
118
|
-
|
|
119
77
|
Notez que les contributions sous forme de pull requests sont bienvenues.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@villedemontreal/general-utils",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.16.2",
|
|
4
4
|
"description": "General utilities library",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"typings": "dist/src",
|
|
@@ -38,17 +38,15 @@
|
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@types/app-root-path": "1.2.4",
|
|
41
|
-
"@types/lodash": "4.14.
|
|
41
|
+
"@types/lodash": "4.14.171",
|
|
42
42
|
"@types/luxon": "1.25.0",
|
|
43
|
-
"@types/marked": "1.1.0",
|
|
44
43
|
"@types/rimraf": "3.0.0",
|
|
45
44
|
"app-root-path": "3.0.0",
|
|
46
45
|
"get-port": "5.1.1",
|
|
47
46
|
"globby": "11.0.1",
|
|
48
|
-
"http-status-codes": "1.4
|
|
47
|
+
"http-status-codes": "2.1.4",
|
|
49
48
|
"lodash": "4.17.21",
|
|
50
49
|
"luxon": "1.25.0",
|
|
51
|
-
"marked": "1.1.0",
|
|
52
50
|
"moment": "2.27.0",
|
|
53
51
|
"rimraf": "3.0.2",
|
|
54
52
|
"tsconfig-extends": "1.0.1"
|