Skip to content

Commit

Permalink
Rewrite References api in ES9 (#813)
Browse files Browse the repository at this point in the history
* rewrite references api with es9 and Promises
- es9 .eslintrc which extends the default .eslintrc
- start rewriting tests/server/reference-create.server.routes.tests.js
- fix eslint var/let/const errors in remaining reference server tests

* further es7ifying of reference-create.server.routes.tests

* organize .eslintrc files, keep moving reference tests to es7+

* tests/server/reference-read-one.server.routes.tests to es7+

* reference.server.jobs.tests to es7+
- small fix in reference-read-many tests

* reference.server.model.tests to es7+

* migrate modules/references/server to es7+

* use .eslintrc.js with overrides for es9 configuration

* make eslint rules for es2018 more consistent and strict
- fix eslint rules and add exceptions to eslint rules
  • Loading branch information
mrkvon authored Dec 8, 2018
1 parent da33fd2 commit 515618a
Show file tree
Hide file tree
Showing 15 changed files with 1,110 additions and 1,530 deletions.
49 changes: 44 additions & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
const es2018rules = {
'no-var': 2,
'prefer-const': 2,
'arrow-spacing': [2, { before: true, after: true }]
};

module.exports = {
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
/*
* this would ideally belong to the react overrides, but overrides can't include extends
* https://github.com/eslint/eslint/issues/8813
*/
extends: [
'plugin:react/recommended'
],
Expand Down Expand Up @@ -86,5 +92,38 @@ module.exports = {
__TESTING__: true,
_: false,
AppConfig: true
}
},
/*
eventually, after the migration, these overrides will become the main rules

it would be nice to keep the rules for client and server separate,
because eventually, they want to become independent codebases.
*/
overrides: [{
// overrides for server code
// ES 2018 - specify migrated files and folders here
files: [
'testutils/data.server.testutils.js',
'modules/references/server/**',
'modules/references/tests/server/**'
],
parserOptions: {
ecmaVersion: 2018
},
rules: es2018rules
}, {
// overrides for client/react code
files: [
'config/webpack/**',
'modules/core/client/app/config.js',
'modules/**/client/components/**',
'modules/core/client/directives/tr-boards.client.directive.js',
'modules/core/client/services/photos.service.js'
],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
rules: es2018rules
}]
};
2 changes: 1 addition & 1 deletion config/webpack/entries/pushMessagingServiceWorker.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ firebase.initializeApp({
'messagingSenderId': FCM_SENDER_ID
});

var messaging = firebase.messaging();
const messaging = firebase.messaging();

messaging.setBackgroundMessageHandler(function (payload) {
// not actually used, but without it here firefox does not receive messages...
Expand Down
1 change: 1 addition & 0 deletions modules/core/client/app/config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
'use strict';
/* eslint no-var: 0 */

import ngreact from 'ngreact';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint no-var: 0 */
import photos from '@/modules/core/client/services/photos.service';

(function () {
Expand Down
Loading

0 comments on commit 515618a

Please sign in to comment.