- nodeJS (https://nodejs.org/en/download/)
- git (https://git-scm.com/downloads)
- git gui (facultatif)
- tortoiseGit (facultatif)
- Visual Studio Code / VSCode (facultatif)
--Windows only!--
ouvrir une console :
git config core.autocrlf false
git rm --cached -r
git reset --hard
Note : Possibilité de le faire via l'editeur Visual Studio Code dans le menu Fichier > Préférences > Paramètres utilisateurs Pour plus d'information, cf. https://code.visualstudio.com/docs/getstarted/settings
ouvrir une console :
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
ou
sous Windows, modifier le fichier C:\Users< USER >\.npmrc (sous Linux, on utilise le fichier $HOME/.npmrc ) avec les lignes suivantes :
proxy=http://proxy.company.com:8080
https-proxy=http://proxy.company.com:8080
https_proxy=http://proxy.company.com:8080
--Windows only!--
Git et NodeJS fournissent leur propre console. L'utilisation de ces consoles permet d'avoir un environnement complet (ex. variables systèmes), mais il est tout à fait possible d'utiliser la console de Windows (CMD).
Note : Possibilité d'utiliser le terminal de Visual Studio Code dans le menu Afficahge > Integred Terminal Pour plus d'information, cf. https://code.visualstudio.com/docs/editor/integrated-terminal
Liste des targets disponibles :
npm run <target> <option>
target : (clean), build,
test, sample, (doc)
test:serve, sample:serve, doc:serve
option : --mode=production, --mode=development, --env.clean
ouvrir une console :
npm install
Si vous passez par les commandes du package.json, les dépendances sont installées via la target suivante :
ouvrir une console :
npm run setup
ouvrir une console :
npm run build
npm run build -- --mode=production
npm run build -- --mode=development
ou
npm run build
npm run build:prod
npm run build:dev
Les bundles sont disponibles dans le répertoire :
dist/GpServices.js
dist/GpServices-src.js
dist/GpServices-map.js
Les sources sont validées (jshint, jscs et/ou eslint). La jsoc, les tests et les exemples sont générés.
Si vous avez des erreurs de parsing tel que Invalid line break, vous devez modifier le paramètre du fichier .jshintrc :
validateLineBreaks : { character : "CRLF" }
La jsdoc est générée lors du build dans le répertoire jsdoc.
Sous Windows, il est possible que la JSDoc ne soit pas compilée correctement (problème de path du binaire), on peut l’exécuter manuellement :
ouvrir une console :
node_modules\.bin\jsdoc -c jsdoc.json
ouvrir une console :
npm run doc:serve
Le navigateur s'ouvre sur la page de la JSDOC sur l'URL suivante : http://localhost:9001/
Les exemples sont générées lors du build dans le répertoire samples.
ouvrir une console :
npm run sample
npm run sample -- --mode=production
npm run sample -- --mode=development
ou
npm run sample:serve
npm run sample:serve:prod
npm run sample:serve:dev
Le navigateur s'ouvre sur la page des exemples sur l'URL suivante : http://localhost:9001/
ouvrir une console :
npm run test
ouvrir une console :
npm run test:serve
Le navigateur s'ouvre sur la page des tests sur l'URL suivante : http://localhost:9001/
ouvrir une console :
npm run cover
Résultats :
-----------------------------|----------|----------|----------|----------|
File | % Stmts | % Branch | % Funcs | % Lines |
-----------------------------|----------|----------|----------|----------|
All files | 43.68 | 25.29 | 42.49 | 43.68 |
src | 100 | 100 | 100 | 100 |
Gp.js | 100 | 100 | 100 | 100 |
src/Exceptions | 25 | 0 | 0 | 25 |
ErrorService.js | 25 | 0 | 0 | 25 |
src/Formats | 78.21 | 63.76 | 83.87 | 78.21 |
WKT.js | 88.89 | 77.78 | 33.33 | 88.89 |
WPS.js | 83.61 | 71.05 | 77.78 | 83.61 |
XLS.js | 87.5 | 72.73 | 100 | 87.5 |
XML.js | 63.37 | 53.52 | 91.67 | 63.37 |
src/Formats/XLS | 84.07 | 70.37 | 72.22 | 84.07 |
AbstractService.js | 66.67 | 66.67 | 25 | 66.67 |
LocationUtilityService.js | 91.89 | 79.31 | 100 | 91.89 |
(...)
Possibilité d'ouvrir ensuite les résultats dans un navigateur :
(http|file)://{URL|PATH}/coverage/lcov-report/index.html
Explications :
statements coverage :
http://istqbexamcertification.com/what-is-statement-coverage-advantages-and-disadvantages/
branchs coverage :
http://istqbexamcertification.com/what-is-decision-coverage-its-advantages-and-disadvantages/
(...)
ouvrir une console :
npm run test:end-to-end:serve
npm run test:end-to-end:serve -- --env.mock
Le navigateur s'ouvre sur la page des tests sur l'URL suivante : http://localhost:9001/
cf. https://github.com/webpack-contrib/webpack-bundle-analyzer
ouvrir une console :
sudo npm install -g webpack-bundle-analyzer
webpack-bundle-analyzer map.json
Le navigateur s'ouvre sur l'URL suivante : http://localhost:8888/
Aller sur l'URL suivante : http://webpack.github.io/analyse/
puis, utiliser le fichier map.json