diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 45f2b650373fd5fd9f423e9fa838d9f479520766..90c3ea3b5754b79953b2bc40aa87dd831dfce4af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -148,15 +148,18 @@ Le standard moderne permet d'importer des dépendances en utilisant le mot-clé ### ESLint -On utilisera ESLint pour standardiser le code : un ensemble de règles de style pour le code sont appliquées, elles sont configurables dans le fichier `.eslintrc.json`. Par exemple, pour l'instant, la config ESLint impose d'utiliser quatre espaces pour les indentations et d'utiliser des points-virgule en fin de ligne. +On utilise ESLint pour standardiser le style du code. +Il est ~~préférable~~ nécessaire de l'installer **globalement** avec `npm install -g eslint`. -Il est préférable de l'installer **globalement** avec `npm install -g eslint`. Pour faire valider les fichiers source par ESLint, utiliser `npm run lint` [^lint-script]. L'option `--fix` permet de corriger les fichiers. +Lors d'une validation ESLint, un ensemble de règles de style sont appliquées, elles sont configurables dans le fichier `.eslintrc.json`. Par exemple, actuellement, la config ESLint impose d'utiliser quatre espaces pour les indentations et d'utiliser des points-virgule en fin de ligne. +Les options de configuration sont bien expliquées dans la [doc dédiée](https://eslint.org/docs/rules/). -[^lint-script]: qui fait appel au script `eslint src/` défini dans le [`package.json`](./package.json) + Pour faire valider les fichiers source par ESLint, utiliser `npm run lint` [^lint-script]. L'option `--fix` permet de corriger les fichiers. +Les différentes façon d'exécuter une validation sont bien expliquées dans la [doc dédiée](https://eslint.org/docs/user-guide/command-line-interface). -Sinon, si vous utilisez Atom ou Visual Studio Code pour éditer votre code, il existe des plugins qui font tourner ESLint en _live_ sur le code et vérifient que tout est en ordre. +[^lint-script]: qui fait appel au script `eslint --ext .js --ext .ts src/ `, comme défini dans le [`package.json`](./package.json) -Pour mieux comprendre ESLint, se référer à sa [doc](https://eslint.org/docs/user-guide/getting-started). +Sinon, si vous utilisez Atom ou Visual Studio Code pour éditer votre code, il existe des plugins qui font tourner ESLint en _live_ sur le code et vérifient que tout est en ordre. ### nodemon diff --git a/package.json b/package.json index a99aefd15831e6dcca385b2684a422799e5b8292..8ad228be141383ec8234b77a04b0ef9b7e32008e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "watch": "webpack --watch --mode development", "start": "nodemon --watch build ./build/bundle.js", "doc": "jsdoc --configure configfile_doc.json", - "lint": "eslint src/" + "lint": "eslint --ext .js --ext .ts src/ " }, "repository": { "type": "git", diff --git a/src/adminview/admin_router.ts b/src/adminview/admin_router.ts index 62a0666f2ca2e8ec00bcf22716d0527ac99aec27..cf0f44cc0122c42ab41aef93b8e67934a0357f92 100644 --- a/src/adminview/admin_router.ts +++ b/src/adminview/admin_router.ts @@ -39,7 +39,7 @@ const whitelist = [ "mew.two", "lippou.tou", "guillaume.wang", -] +]; /** * @desc Création du Express router et setup de middlewares basiques diff --git a/src/app.ts b/src/app.ts index 2d4fe46cfffcb0f524499f26653d45575753c07d..b00bad015525a4ce72001ec51373e54447029afe 100644 --- a/src/app.ts +++ b/src/app.ts @@ -83,7 +83,7 @@ app.use(favicon(path.resolve(__dirname, 'assets', 'favicon.ico'))); * https://blog.apollographql.com/a-guide-to-authentication-in-graphql-e002a4039d1 */ - /** +/** * it is also here that we define parameters for *session store*. https://redislabs.com/blog/cache-vs-session-store/ * configure this right, as express-session docs warns that the default config is not good for prod!! * @todo [critical] configure express-session (session store and other options) @@ -92,7 +92,7 @@ app.use(favicon(path.resolve(__dirname, 'assets', 'favicon.ico'))); */ // load data from the session identified by the cookie (if one exists), into req.session // on ne manipulera pas req.session directement, on laisser toujours passport le faire pour nous - app.use(expressSession({ +app.use(expressSession({ //secret: ldapConfig.sessionSecret, <-- wtf? nothing to do with ldap! secret: "asdfjklkjfdsasdfjklkljfdsa", @@ -208,7 +208,7 @@ const context = async ({ req }) => { request: req, user: { uid, password } }; -} +}; const server = new ApolloServer({ ...schema, diff --git a/src/graphql/resolvers.ts b/src/graphql/resolvers.ts index 0663d777eb31d24bcb9d7729dc7eaae74f4c5bbd..033ad4c2c8fdd45a20cf760b6e08630840948955 100644 --- a/src/graphql/resolvers.ts +++ b/src/graphql/resolvers.ts @@ -30,7 +30,7 @@ class ChevalierError { } toString(): String { - return this.message + return this.message; } } diff --git a/src/ldap/config.ts b/src/ldap/config.ts index 422e6b59865d187f63d9faad7b68d636647f156f..a05c02d720f3d5bb5188d273d76fd53df4a34034 100644 --- a/src/ldap/config.ts +++ b/src/ldap/config.ts @@ -7,8 +7,8 @@ import fs from 'fs'; import path from 'path'; import colors from 'colors'; // Point central ; tous les champs de la BDD sont 'cachés' dans config.json et pas visibles directement -let path_config = path.resolve('ldap_config.json') -let path_credentials = path.resolve('ldap_credentials.json') +let path_config = path.resolve('ldap_config.json'); +let path_credentials = path.resolve('ldap_credentials.json'); console.log(colors.cyan("Loading LDAP config file from "+path_config)); console.log(colors.cyan("Loading LDAP credentials from "+path_credentials)); export const ldapConfig = JSON.parse(fs.readFileSync(path_config).toString()); diff --git a/src/ldap/users.ts b/src/ldap/users.ts index 67c4a24b61b19653b322974cd60ea9aa1d0fa5d3..f8fbab0e313d736e688dbd26b15a059c4619096e 100644 --- a/src/ldap/users.ts +++ b/src/ldap/users.ts @@ -17,7 +17,7 @@ import ldap from 'ldapjs'; * @var {string[]} members - Liste des membres du groupe * @var {string[]} admins - Liste des admins du groupe ; supposée être une sous-liste de la précédente */ -let groupDataTemplate = {} +let groupDataTemplate = {}; for (let key in ldapConfig.group.single) { groupDataTemplate[key] = ""; } for (let key in ldapConfig.group.multiple) { groupDataTemplate[key] = [""]; } @@ -47,7 +47,7 @@ export type groupData = typeof groupDataTemplate; * @var {string[]} forlifes - Alias BR (attention le filtre .fkz n'est plus fonctionnel) * @var {string[]} groupsIsAdmin - Liste des gid dont le pax est admin ; supposé sous-liste de groups */ -let userDataTemplate = {} +let userDataTemplate = {}; for (let key in ldapConfig.user.single) { userDataTemplate[key] = ""; } for (let key in ldapConfig.user.multiple) { userDataTemplate[key] = [""]; }