From 24f3bd99c2801016c782e553251a575e137067ff Mon Sep 17 00:00:00 2001 From: Mikael Korpela Date: Sat, 4 Jan 2020 18:50:33 +0200 Subject: [PATCH 1/2] Eslint: add comma-dangle always multi-line rule --- .eslintrc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 19367eb94b..496751dd5e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,7 +4,7 @@ const semver = require('semver'); const reactVersion = semver.coerce(require('./package.json').dependencies.react).version; const defaultRules = { - 'comma-dangle': [2, 'never'], + 'comma-dangle': [2, 'always-multiline'], 'comma-spacing': [2, { before: false, after: true }], curly: [2, 'multi-line'], eqeqeq: [2, 'smart'], From e1f4e508ca06fb377cb68daa83df3049c1e0564f Mon Sep 17 00:00:00 2001 From: Mikael Korpela Date: Sat, 4 Jan 2020 18:51:59 +0200 Subject: [PATCH 2/2] Apply Eslint `comma-dangle` fix Generated by running `npm run lint -- --fix` --- babel.config.js | 8 +- .../archive-done-agenda-jobs.js | 4 +- bin/fillTestData/Messages.js | 4 +- bin/fillTestData/Tribes.js | 4 +- bin/fillTestData/Users.js | 2 +- bin/install-deps.js | 4 +- config/assets/default.js | 14 +- config/assets/development.js | 8 +- config/assets/production.js | 10 +- config/assets/test.js | 8 +- config/client/i18n.js | 12 +- config/config.js | 10 +- config/env/default.js | 56 ++-- config/env/development.js | 16 +- config/env/local.docker.js | 10 +- config/env/production.js | 8 +- config/env/test.js | 22 +- config/languages/generate.js | 2 +- config/lib/agenda.js | 4 +- config/lib/exponent-notifications.js | 6 +- config/lib/express.js | 56 ++-- config/lib/firebase-messaging.js | 2 +- config/lib/mongoose.js | 24 +- config/lib/render.js | 2 +- config/lib/worker.js | 48 ++-- .../entries/pushMessagingServiceWorker.js | 2 +- config/webpack/webpack.config.js | 62 ++--- .../webpack.push-messaging-sw.config.js | 16 +- config/webpack/webpack.shims.js | 20 +- gulpfile.js | 44 +-- jest.config.js | 6 +- karma.conf.js | 12 +- .../1420751949-add-user-avatarUploaded.js | 4 +- .../1429124257492-add-user-displayUsername.js | 2 +- .../1479386133911-refactor-contacts.js | 16 +- .../1479386133912-refactor-messages.js | 12 +- .../archived/1526109429319-tags-to-tribes.js | 8 +- .../AdminAcquisitionStories.component.js | 2 +- .../components/AdminAuditLog.component.js | 2 +- .../components/AdminMessages.component.js | 4 +- .../components/AdminSearchUsers.component.js | 4 +- .../client/components/AdminUser.component.js | 2 +- .../admin/client/components/Json.component.js | 2 +- .../UserEmailConfirmLink.component.js | 2 +- .../client/components/UserLink.component.js | 2 +- .../client/components/UserState.component.js | 6 +- .../ZendeskInboxSearch.component.js | 2 +- .../client/config/admin.client.routes.js | 24 +- ...n.acquisition-stories.server.controller.js | 4 +- .../admin.audit-log.server.controller.js | 6 +- .../admin.messages.server.controller.js | 10 +- .../admin.users.server.controller.js | 44 +-- .../server/models/audit-log.server.model.js | 6 +- .../server/policies/admin.server.policy.js | 8 +- .../admin.messages.server.routes.tests.js | 14 +- .../server/admin.users.server.routes.tests.js | 8 +- modules/contacts/client/components/Contact.js | 4 +- .../components/ContactList.component.js | 4 +- .../components/ContactListPresentational.js | 6 +- .../components/ContactPresentational.js | 2 +- .../components/ContactsCommon.component.js | 6 +- .../client/components/RemoveContact.js | 2 +- .../components/RemoveContactContainer.js | 2 +- .../client/config/contacts.client.routes.js | 14 +- .../add-contact.client.controller.js | 4 +- .../confirm-contact.client.controller.js | 2 +- .../remove-contact.client.controller.js | 2 +- .../tr-contact-remove.client.directive.js | 6 +- .../directives/tr-contact.client.directive.js | 4 +- .../services/contact-by.client.service.js | 6 +- .../client/services/contact.client.service.js | 10 +- .../services/contacts-list.client.service.js | 2 +- .../controllers/contacts.server.controller.js | 84 +++--- .../server/models/contacts.server.model.js | 10 +- .../server/policies/contacts.server.policy.js | 30 +-- .../add-contact.client.controller.tests.js | 8 +- .../remove-contact.client.controller.tests.js | 6 +- .../server/contact.server.model.tests.js | 6 +- .../server/contact.server.routes.tests.js | 20 +- modules/core/client/app/config.js | 4 +- modules/core/client/app/init.js | 10 +- .../components/LanguageSwitch.component.js | 2 +- .../components/LanguageSwitchContainer.js | 4 +- .../LanguageSwitchPresentational.js | 2 +- .../core/client/config/core.client.config.js | 2 +- .../core/client/config/core.client.routes.js | 4 +- .../controllers/app.client.controller.js | 28 +- .../message-center.client.directive.js | 2 +- .../tr-board-credits.client.directive.js | 2 +- .../directives/tr-boards.client.directive.js | 6 +- .../tr-date-select.client.directive.js | 10 +- .../directives/tr-editor.client.directive.js | 4 +- .../tr-flashcards.client.directive.js | 12 +- .../tr-focustip.client.directive.js | 4 +- .../tr-highlight-on-focus.client.directive.js | 2 +- .../tr-languages.client.directive.js | 6 +- .../tr-location.client.directive.js | 4 +- .../tr-page-title.client.directive.js | 2 +- .../tr-placeholder.client.directive.js | 2 +- .../tr-share-fb.client.directive.js | 2 +- .../tr-share-twitter.client.directive.js | 2 +- .../directives/tr-spinner.client.directive.js | 2 +- .../directives/tr-switch.client.directive.js | 2 +- .../directives/tr-time.client.directive.js | 4 +- .../tr-window-blur.client.directive.js | 2 +- .../tr-window-focus.client.directive.js | 2 +- .../services/facebook.client.service.js | 6 +- .../firebase-messaging.client.service.js | 6 +- .../services/languages.client.service.js | 2 +- .../services/location.client.service.js | 16 +- .../services/maplayers.client.service.js | 26 +- .../services/mapmarkers.client.service.js | 10 +- .../services/message-center-client.service.js | 8 +- .../native-app-bridge.client.service.js | 8 +- .../core/client/services/photos.service.js | 44 +-- .../client/services/push.client.service.js | 10 +- .../services/settings.client.service.js | 6 +- .../analytics.server.controller.js | 2 +- .../controllers/core.server.controller.js | 8 +- .../core/server/jobs/send-email.server.job.js | 4 +- .../send-facebook-notification.server.job.js | 8 +- .../jobs/send-push-message.server.job.js | 20 +- .../server/services/email.server.service.js | 78 +++--- .../server/services/error.server.service.js | 6 +- .../facebook-notification.server.service.js | 4 +- .../server/services/file-upload.service.js | 10 +- .../server/services/push.server.service.js | 14 +- .../server/services/text.server.service.js | 18 +- .../client/app.client.controller.tests.js | 8 +- .../tests/client/push.client.service.tests.js | 28 +- .../tests/server/core.server.config.tests.js | 6 +- .../tests/server/core.server.routes.tests.js | 4 +- .../jobs/send-email.server.job.tests.js | 8 +- .../send-push-message.server.job.tests.js | 72 ++--- .../services/email.server.service.tests.js | 46 ++-- ...ebook-notification.server.service.tests.js | 76 +++--- .../services/push.server.service.tests.js | 36 +-- .../services/text.server.service.tests.js | 14 +- modules/core/tests/server/worker.tests.js | 18 +- .../client/config/messages.client.routes.js | 10 +- .../controllers/inbox.client.controller.js | 2 +- .../controllers/thread.client.controller.js | 14 +- .../thread-dimensions.client.directive.js | 6 +- .../directives/threads.client.directive.js | 2 +- .../unread-count.client.directive.js | 2 +- .../messages-count-poll.client.service.js | 2 +- .../services/messages-read.client.service.js | 6 +- .../services/messages.client.service.js | 8 +- .../controllers/messages.server.controller.js | 132 ++++----- .../server/jobs/message-unread.server.job.js | 28 +- .../models/message-stat.server.model.js | 16 +- .../server/models/message.server.model.js | 14 +- .../server/models/thread.server.model.js | 12 +- .../server/policies/messages.server.policy.js | 30 +-- .../services/message-stat.server.service.js | 40 +-- .../message-to-stats.server.service.js | 22 +- .../jobs/message-unread.server.job.tests.js | 12 +- ...e-stat-integration.server.service.tests.js | 10 +- .../server/message-stat.server.model.tests.js | 10 +- .../message-stat.server.routes.tests.js | 6 +- .../message-stat.server.service.tests.js | 84 +++--- ...-stats-integration.server.service.tests.js | 12 +- .../message-to-stats.server.service.tests.js | 14 +- .../server/message.server.model.tests.js | 6 +- .../server/message.server.routes.tests.js | 32 +-- .../components/OfferLocation.component.js | 4 +- .../components/OfferLocationPresentational.js | 4 +- .../client/config/offers.client.routes.js | 36 +-- .../offer-host-edit.client.controller.js | 4 +- .../offer-host-view.client.controller.js | 2 +- .../offer-meet-add.client.controller.js | 4 +- .../offer-meet-edit.client.controller.js | 2 +- .../offer-meet-list.client.controller.js | 4 +- .../controllers/offer.client.controller.js | 10 +- .../tr-offer-host-view.client.directive.js | 6 +- .../tr-offer-valid-until.client.directive.js | 8 +- .../services/offers-by.client.service.js | 6 +- .../client/services/offers.client.service.js | 14 +- .../controllers/offers.server.controller.js | 138 +++++----- .../jobs/reactivate-hosts.server.job.js | 14 +- .../server/models/offer.server.model.js | 26 +- .../server/policies/offers.server.policy.js | 22 +- .../jobs/reactivate-hosts.server.job.tests.js | 6 +- .../offer-search.server.routes.tests.js | 68 ++--- .../tests/server/offer.server.model.tests.js | 6 +- .../tests/server/offer.server.routes.tests.js | 62 ++--- .../client/config/pages.client.routes.js | 68 ++--- .../controllers/home.client.controller.js | 8 +- .../reference-thread.client.directive.js | 10 +- .../reference-thread.client.service.js | 6 +- .../reference-thread.server.controller.js | 46 ++-- .../models/reference-thread.server.model.js | 12 +- .../reference-thread.server.policy.js | 18 +- .../reference-thread.server.model.tests.js | 10 +- .../reference-thread.server.routes.tests.js | 18 +- .../references/client/api/references.api.js | 2 +- .../components/CreateReference.component.js | 12 +- .../components/create-reference/Info.js | 6 +- .../create-reference/Interaction.js | 2 +- .../components/create-reference/Navigation.js | 2 +- .../components/create-reference/Recommend.js | 4 +- .../components/create-reference/Report.js | 2 +- .../reference.server.controller.js | 28 +- .../jobs/references-publish.server.job.js | 2 +- .../server/models/reference.server.model.js | 20 +- .../policies/references.server.policy.js | 8 +- .../CreateReference.client.component.test.js | 18 +- .../Navigation.client.component.test.js | 10 +- .../reference-create.server.routes.tests.js | 148 +++++----- ...reference-read-many.server.routes.tests.js | 14 +- .../reference-read-one.server.routes.tests.js | 22 +- .../server/reference.server.jobs.tests.js | 4 +- .../server/reference.server.model.tests.js | 28 +- .../components/SearchUsers.component.js | 4 +- modules/search/client/components/UsersList.js | 6 +- .../client/config/search.client.routes.js | 30 +-- .../search-map.client.controller.js | 46 ++-- .../search-signup.client.controller.js | 8 +- .../controllers/search.client.controller.js | 2 +- .../tr-my-tribes-toggle.client.directive.js | 4 +- .../tr-tribes-toggle.client.directive.js | 4 +- .../tr-types-toggle.client.directive.js | 10 +- .../client/services/filters.client.service.js | 8 +- .../services/search-map.client.service.js | 4 +- .../sparkpost-webhooks.server.controller.js | 18 +- ...rkpost-webhooks.server.controller.tests.js | 14 +- .../server/sparkpost.server.routes.tests.js | 8 +- .../client/config/statistics.client.routes.js | 6 +- .../statistics.client.controller.js | 2 +- .../statistics.server.controller.js | 46 ++-- .../jobs/daily-statistics.server.job.js | 40 +-- .../jobs/daily-statistics.server.job.tests.js | 12 +- .../server/statistics.server.routes.tests.js | 30 +-- .../server/services/influx.server.service.js | 12 +- .../server/services/stats.server.service.js | 10 +- .../services/influx.server.service.tests.js | 22 +- .../services/stathat.server.service.tests.js | 30 +-- .../services/stats.server.service.tests.js | 12 +- .../stats-api-integration.server.tests.js | 62 ++--- .../components/ReportMemberLink.component.js | 2 +- .../client/config/support.client.routes.js | 8 +- .../controllers/support.client.controller.js | 2 +- .../controllers/support.server.controller.js | 20 +- .../server/models/support.server.model.js | 16 +- .../tests/server/model.server.model.tests.js | 6 +- .../server/support.server.routes.tests.js | 8 +- .../client/config/tribes.client.config.js | 16 +- .../tr-tribe-badge.client.directive.js | 4 +- .../tr-tribe-join-button.client.directive.js | 18 +- .../tr-tribe-styles.client.directive.js | 4 +- .../tr-tribes-in-common.client.directive.js | 4 +- .../client/services/tribe.client.service.js | 10 +- .../client/services/tribes.client.service.js | 6 +- .../controllers/tribes.server.controller.js | 22 +- .../server/models/tribe.server.model.js | 36 +-- .../server/policies/tribes.server.policy.js | 22 +- .../tests/server/tribes.server.model.tests.js | 6 +- .../tests/server/tribes.server.routes.test.js | 8 +- .../client/components/AboutMe.component.js | 6 +- .../client/components/Avatar.component.js | 2 +- .../components/AvatarNameMobile.component.js | 2 +- .../BottomNavigationSmall.component.js | 12 +- .../InterfaceLanguagePanel.component.js | 2 +- .../components/ProfileOverview.component.js | 2 +- .../client/components/ProfileViewBasics.js | 6 +- .../client/config/users.client.config.js | 4 +- .../client/config/users.client.routes.js | 124 ++++----- .../authentication.client.controller.js | 6 +- .../avatar-editor.client.controller.js | 6 +- .../confirm-email.client.controller.js | 2 +- .../password-forgot.client.controller.js | 4 +- .../password-reset.client.controller.js | 2 +- .../profile-edit-account.client.controller.js | 6 +- ...profile-edit-networks.client.controller.js | 2 +- .../profile-edit-photo.client.controller.js | 6 +- .../profile-edit.client.controller.js | 2 +- .../controllers/remove.client.controller.js | 2 +- .../controllers/signup.client.controller.js | 28 +- .../directives/tr-avatar.client.directive.js | 6 +- .../tr-confirm-password.client.directive.js | 4 +- .../tr-memberships-list.client.directive.js | 4 +- .../tr-monkeybox.client.directive.js | 4 +- .../tr-validate-username.client.directive.js | 2 +- .../services/authentication.client.service.js | 2 +- .../services/invitation.client.service.js | 8 +- .../signup-validation.client.service.js | 4 +- .../users-memberships.client.service.js | 10 +- .../services/users-mini.client.service.js | 6 +- .../services/users-profile.client.service.js | 6 +- .../client/services/users.client.service.js | 16 +- .../server/config/strategies/facebook.js | 8 +- .../users/server/config/strategies/github.js | 4 +- .../users/server/config/strategies/local.js | 8 +- .../users/server/config/strategies/twitter.js | 4 +- .../server/config/users.config.server.js | 2 +- .../users.authentication.server.controller.js | 98 +++---- .../users.password.server.controller.js | 60 ++--- .../users.profile.server.controller.js | 252 +++++++++--------- .../users.suspended.server.controller.js | 6 +- .../jobs/user-finish-signup.server.job.js | 30 +-- .../user-welcome-sequence-first.server.job.js | 18 +- ...user-welcome-sequence-second.server.job.js | 18 +- .../user-welcome-sequence-third.server.job.js | 18 +- .../users/server/models/user.server.model.js | 108 ++++---- .../server/policies/users.server.policy.js | 70 ++--- .../users/server/routes/auth.server.routes.js | 8 +- .../authentication.client.controller.tests.js | 16 +- ...password-forgot.client.controller.tests.js | 14 +- .../password-reset.client.controller.tests.js | 14 +- ...le-edit-account.client.controller.tests.js | 18 +- .../user-finish-signup.server.job.tests.js | 6 +- ...welcome-sequence-first.server.job.tests.js | 4 +- ...elcome-sequence-second.server.job.tests.js | 4 +- ...welcome-sequence-third.server.job.tests.js | 4 +- .../search-users.server.routes.tests.js | 40 +-- .../server/user-invite.server.routes.tests.js | 4 +- .../server/user-lastseen.server.tests.js | 2 +- .../user-password.server.routes.tests.js | 30 +-- .../user-profile.server.routes.tests.js | 22 +- .../user-removal.server.routes.tests.js | 36 +-- ...ser-signup-validate.server.routes.tests.js | 22 +- .../server/user-signup.server.routes.tests.js | 10 +- .../server/user-tribe.server.routes.tests.js | 12 +- .../tests/server/user.server.model.tests.js | 6 +- testutils/server/data.server.testutil.js | 10 +- testutils/server/server.testutil.js | 2 +- worker.js | 4 +- 327 files changed, 2581 insertions(+), 2581 deletions(-) diff --git a/babel.config.js b/babel.config.js index 58cc97d8ee..ce6357bd44 100644 --- a/babel.config.js +++ b/babel.config.js @@ -7,15 +7,15 @@ module.exports = { ['@babel/preset-env', { corejs: 2, modules: 'commonjs', - useBuiltIns: 'usage' + useBuiltIns: 'usage', }], - ['@babel/preset-react'] + ['@babel/preset-react'], ], plugins: compact([ '@babel/plugin-proposal-nullish-coalescing-operator', '@babel/plugin-proposal-object-rest-spread', '@babel/plugin-proposal-optional-chaining', 'angularjs-annotate', - isDevelopment && 'react-refresh/babel' - ]) + isDevelopment && 'react-refresh/babel', + ]), }; diff --git a/bin/db-maintenance/archive-done-agenda-jobs.js b/bin/db-maintenance/archive-done-agenda-jobs.js index 4534a3ddf1..9393192ea0 100644 --- a/bin/db-maintenance/archive-done-agenda-jobs.js +++ b/bin/db-maintenance/archive-done-agenda-jobs.js @@ -173,7 +173,7 @@ async.waterfall([ process.stdout.clearLine(); process.stdout.cursorTo(0); process.stdout.write( - '~' + progressPercent + '% (' + progress + '/' + total + ')' + '~' + progressPercent + '% (' + progress + '/' + total + ')', ); } ++progress; @@ -239,7 +239,7 @@ async.waterfall([ countTotals(function () { done(null, progress); }); - } + }, ], function (err, totalProcessed) { if (err) { diff --git a/bin/fillTestData/Messages.js b/bin/fillTestData/Messages.js index 2d182267b6..4803475804 100644 --- a/bin/fillTestData/Messages.js +++ b/bin/fillTestData/Messages.js @@ -20,11 +20,11 @@ const argv = yargs.usage('$0 ', return yargs .positional('numberOfThreads', { describe: 'Number of threads to add', - type: 'number' + type: 'number', }) .positional('maxMessages', { describe: 'Maximum number of messages per thread to add', - type: 'number' + type: 'number', }) .boolean('debug') .boolean('limit') diff --git a/bin/fillTestData/Tribes.js b/bin/fillTestData/Tribes.js index 178b131c92..e8b8262a78 100644 --- a/bin/fillTestData/Tribes.js +++ b/bin/fillTestData/Tribes.js @@ -17,7 +17,7 @@ const argv = yargs.usage('$0 ', 'Seed database with number of tr return yargs .positional('numberOfTribes', { describe: 'Number of tribes to add', - type: 'number' + type: 'number', }) .boolean('debug') .boolean('limit') @@ -66,7 +66,7 @@ const tribeImageUUIDs = [ '0ce0abdf-6898-4191-9a86-4f03807291b5', '0ebcabec-2bc5-4eee-ab17-991b9dd52eae', '4f7805e7-b5e6-4b40-bb32-3aafbe1bbc74', - '69a500a4-a16e-4c4d-9981-84fbe310d531' + '69a500a4-a16e-4c4d-9981-84fbe310d531', ]; /** diff --git a/bin/fillTestData/Users.js b/bin/fillTestData/Users.js index 1e9ea61f36..4aedac3240 100644 --- a/bin/fillTestData/Users.js +++ b/bin/fillTestData/Users.js @@ -22,7 +22,7 @@ const argv = yargs.usage('$0 ', 'Seed database with number of tri return yargs .positional('numberOfUsers', { describe: 'Number of users to add', - type: 'number' + type: 'number', }) .array('userNames') .boolean('debug') diff --git a/bin/install-deps.js b/bin/install-deps.js index 85cddaf609..7955093bd9 100644 --- a/bin/install-deps.js +++ b/bin/install-deps.js @@ -16,7 +16,7 @@ if (!fs.existsSync('node_modules')) { console.log('No "node_modules" present, installing NPM dependencies...'); const installResult = spawnSync('npm', [ 'ci' ], { shell: true, - stdio: 'inherit' + stdio: 'inherit', }).status; if (installResult) { process.exit(installResult); @@ -45,7 +45,7 @@ if (!fs.existsSync('node_modules')) { console.log('NPM dependencies out of date. Updating...'); const installResult = spawnSync('npm', [ 'ci' ], { shell: true, - stdio: 'inherit' + stdio: 'inherit', }).status; if (installResult) { process.exit(installResult); diff --git a/config/assets/default.js b/config/assets/default.js index 600ea8deac..eada77f981 100644 --- a/config/assets/default.js +++ b/config/assets/default.js @@ -9,7 +9,7 @@ module.exports = { 'progressbar', 'tabs', 'tooltip', - 'typeahead' + 'typeahead', ], js: [ // Non minified versions @@ -56,18 +56,18 @@ module.exports = { 'node_modules/angular-mailcheck/angular-mailcheck.js', 'node_modules/angular-locker/dist/angular-locker.js', 'node_modules/angular-confirm/angular-confirm.js', - 'node_modules/angulargrid/angulargrid.js' + 'node_modules/angulargrid/angulargrid.js', ], - tests: ['node_modules/angular-mocks/angular-mocks.js'] + tests: ['node_modules/angular-mocks/angular-mocks.js'], }, js: [ 'modules/core/client/app/config.js', 'modules/core/client/app/init.js', 'modules/*/client/*.js', 'modules/*/client/controllers/*.js', - 'modules/*/client/**/*.js' + 'modules/*/client/**/*.js', ], - views: ['modules/*/client/views/**/*.html'] + views: ['modules/*/client/views/**/*.html'], }, server: { fontelloConfig: 'modules/core/client/fonts/fontello/config.json', @@ -79,6 +79,6 @@ module.exports = { config: 'modules/*/server/config/*.js', policies: 'modules/*/server/policies/*.js', views: 'modules/*/server/views/*.html', - migrations: 'migrations/*.js' - } + migrations: 'migrations/*.js', + }, }; diff --git a/config/assets/development.js b/config/assets/development.js index 6e1b4d89fc..df9e5af92e 100644 --- a/config/assets/development.js +++ b/config/assets/development.js @@ -8,11 +8,11 @@ module.exports = { lib: { uibModuleTemplates: defaultAssets.client.lib.uibModuleTemplates, js: _.union(defaultAssets.client.lib.js, [ - 'node_modules/angulartics/src/angulartics-debug.js' + 'node_modules/angulartics/src/angulartics-debug.js', ]), - tests: defaultAssets.client.lib.tests + tests: defaultAssets.client.lib.tests, }, js: defaultAssets.client.js, - views: defaultAssets.client.views - } + views: defaultAssets.client.views, + }, }; diff --git a/config/assets/production.js b/config/assets/production.js index 43f622ec68..ff8bcfeddd 100644 --- a/config/assets/production.js +++ b/config/assets/production.js @@ -8,14 +8,14 @@ module.exports = { lib: { uibModuleTemplates: defaultAssets.client.lib.uibModuleTemplates, js: _.union(defaultAssets.client.lib.js, [ - 'node_modules/angulartics-google-analytics/lib/angulartics-ga.js' + 'node_modules/angulartics-google-analytics/lib/angulartics-ga.js', ]), - tests: defaultAssets.client.lib.tests + tests: defaultAssets.client.lib.tests, }, js: _.union(defaultAssets.client.js, [ 'public/dist/uib-templates.js', - 'public/dist/templates.js' + 'public/dist/templates.js', ]), - views: defaultAssets.client.views - } + views: defaultAssets.client.views, + }, }; diff --git a/config/assets/test.js b/config/assets/test.js index 7d9cff6745..d37364c1a5 100644 --- a/config/assets/test.js +++ b/config/assets/test.js @@ -9,13 +9,13 @@ module.exports = { uibModuleTemplates: defaultAssets.client.lib.uibModuleTemplates, css: defaultAssets.client.lib.css, js: _.union(defaultAssets.client.lib.js, [ - 'testutils/client/angulartics-null.testutil.js' + 'testutils/client/angulartics-null.testutil.js', ]), less: defaultAssets.client.lib.less, - tests: defaultAssets.client.lib.tests + tests: defaultAssets.client.lib.tests, }, less: defaultAssets.client.less, js: defaultAssets.client.js, - views: defaultAssets.client.views - } + views: defaultAssets.client.views, + }, }; diff --git a/config/client/i18n.js b/config/client/i18n.js index eb6f631595..72c454e3e4 100644 --- a/config/client/i18n.js +++ b/config/client/i18n.js @@ -64,8 +64,8 @@ i18n .init({ ...(isTest ? { resources: { - en: {} - } + en: {}, + }, } : {}), fallbackLng: 'en', // a default app locale // allow keys to be phrases having `:`, `.` @@ -74,16 +74,16 @@ i18n // saveMissing: true, // @TODO send not translated keys to endpoint interpolation: { escapeValue: false, // react already safes from xss - format + format, }, detection: { lookupCookie: 'i18n', order: ['cookie'], - caches: ['cookie'] + caches: ['cookie'], }, react: { - useSuspense: false - } + useSuspense: false, + }, // saveMissingPlurals: true, // debug: true // show missing translation keys in console.log }); diff --git a/config/config.js b/config/config.js index 52278fb21d..d77d7956d2 100644 --- a/config/config.js +++ b/config/config.js @@ -76,7 +76,7 @@ const initGlobalConfigFolders = function (config) { // Appending files config.folders = { server: {}, - client: {} + client: {}, }; // Setting globbed client paths @@ -91,9 +91,9 @@ const initGlobalConfigFiles = function (config, assets) { config.files = { server: {}, client: { - lib: {} + lib: {}, }, - webpack: {} + webpack: {}, }; // Setting Globbed model files @@ -154,7 +154,7 @@ const initGlobalConfig = function () { */ let config = _.extend( require(path.join(process.cwd(), 'config/env/default')), - require(path.join(process.cwd(), 'config/env/', process.env.NODE_ENV)) || {} + require(path.join(process.cwd(), 'config/env/', process.env.NODE_ENV)) || {}, ); config = _.merge(config, (fs.existsSync('./config/env/local.js') && require('./env/local.js')) || {}); @@ -166,7 +166,7 @@ const initGlobalConfig = function () { // Expose configuration utilities config.utils = { - getGlobbedPaths: getGlobbedPaths + getGlobbedPaths: getGlobbedPaths, }; return config; diff --git a/config/env/default.js b/config/env/default.js index a41f762e5c..50bfbd3d58 100644 --- a/config/env/default.js +++ b/config/env/default.js @@ -13,11 +13,11 @@ module.exports = { featureFlags: { reference: false, - i18n: false + i18n: false, }, app: { title: 'Trustroots', - description: 'Travellers community for sharing, hosting and getting people together. We want a world that encourages trust and adventure.' + description: 'Travellers community for sharing, hosting and getting people together. We want a world that encourages trust and adventure.', }, // Is site invitation only? invitations: { @@ -29,7 +29,7 @@ module.exports = { maitreId: 'MF930c37aeb3', // These codes are always valid // ONLY lower case - alwaysValidCodes: ['trustroots'] + alwaysValidCodes: ['trustroots'], }, // Appears on top of every page for authenticated users. @@ -39,7 +39,7 @@ module.exports = { enabled: false, // Can contain HTML // You can access user object like this: `{{app.user.displayName}}` - message: '' + message: '', }, maxUploadSize: 10 * 1024 * 1024, // 10MB. Remember to change this to Nginx configs as well imageProcessor: 'graphicsmagick', // graphicsmagick|imagemagick @@ -59,13 +59,13 @@ module.exports = { illegalStrings: ['trustroots', 'trust', 'roots', 're', 're:', 'fwd', 'fwd:', 'reply', 'admin', 'administrator', 'password', 'username', 'unknown', 'anonymous', 'null', 'undefined', 'home', 'signup', 'signin', 'login', 'user', 'edit', 'settings', 'username', 'user', 'demo', 'test', 'support', 'networks', 'profile', 'avatar', 'mini', - 'photo', 'account', 'api', 'modify', 'feedback', 'security', 'accounts', 'tribe', 'tag', 'community', 'remove' + 'photo', 'account', 'api', 'modify', 'feedback', 'security', 'accounts', 'tribe', 'tag', 'community', 'remove', ], // SparkPost webhook API endpoint configuration (`/api/sparkpost/webhook`) sparkpostWebhook: { enabled: true, username: 'sparkpost', - password: 'sparkpost' + password: 'sparkpost', }, influxdb: { enabled: false, @@ -75,14 +75,14 @@ module.exports = { protocol: 'http', // default 'http' // username: '', // password: '', - database: 'trustroots' - } + database: 'trustroots', + }, }, // Configuration of stathat. // www.stathat.com is a tool/service for tracking statistics stathat: { enabled: false, - key: '' + key: '', }, limits: { // Messages shorter than this will be tagged 'short' in influxdb, @@ -110,10 +110,10 @@ module.exports = { welcomeSequence: { first: { minutes: 0 }, second: { hours: 24 }, - third: { days: 14 } + third: { days: 14 }, }, // Up to how many days in future can meet offers be visible - maxOfferValidFromNow: { days: 30 } + maxOfferValidFromNow: { days: 30 }, }, mailer: { from: 'trustroots@localhost', @@ -121,9 +121,9 @@ module.exports = { service: false, auth: { user: false, - pass: false - } - } + pass: false, + }, + }, }, // Mapbox is publicly exposed to the frontend mapbox: { @@ -131,21 +131,21 @@ module.exports = { streets: { map: 'streets-v9', user: 'mapbox', - legacy: false + legacy: false, }, satellite: { map: 'satellite-streets-v9', user: 'mapbox', - legacy: false + legacy: false, }, outdoors: { map: 'outdoors-v9', user: 'mapbox', - legacy: false - } + legacy: false, + }, }, user: '', - publicKey: '' + publicKey: '', }, facebook: { page: '', @@ -153,29 +153,29 @@ module.exports = { clientSecret: false, clientAccessToken: false, callbackURL: '/api/auth/facebook/callback', - notificationsEnabled: false + notificationsEnabled: false, }, twitter: { username: '', clientID: '', clientSecret: '', - callbackURL: '/api/auth/twitter/callback' + callbackURL: '/api/auth/twitter/callback', }, google: { - page: '' + page: '', }, fcm: { senderId: '', - serviceAccount: false + serviceAccount: false, }, github: { clientID: '', clientSecret: '', - callbackURL: '/api/auth/github/callback' + callbackURL: '/api/auth/github/callback', }, googleAnalytics: { enabled: false, - code: '' + code: '', }, log: { papertrail: { @@ -184,7 +184,7 @@ module.exports = { port: false, level: 'debug', program: 'production', - inlineMeta: true - } - } + inlineMeta: true, + }, + }, }; diff --git a/config/env/development.js b/config/env/development.js index 88f4936291..dd2ff4d663 100644 --- a/config/env/development.js +++ b/config/env/development.js @@ -11,7 +11,7 @@ module.exports = { featureFlags: { reference: true, - i18n: false + i18n: false, }, // in dev we have webpack-dev-server on 3000, and the real server on 3001 port: 3001, @@ -19,8 +19,8 @@ module.exports = { uri: 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/trustroots-dev', options: { auth: { - authMechanism: '' - } + authMechanism: '', + }, // user: '', // pass: '' }, @@ -30,11 +30,11 @@ module.exports = { // Mongoose calls createIndex on each Model's index when staring the app autoIndex: true, // Check for MongoDB version compatibility on start - checkCompatibility: true + checkCompatibility: true, }, app: { title: 'Trustroots Development version', - description: 'Trustroots development version.' + description: 'Trustroots development version.', }, // Configuration to work with default MailDev dev setup // https://github.com/djfarrelly/MailDev @@ -45,7 +45,7 @@ module.exports = { port: 1025, ignoreTLS: true, auth: false, - pool: true - } - } + pool: true, + }, + }, }; diff --git a/config/env/local.docker.js b/config/env/local.docker.js index e96f56865d..1f60e11cba 100644 --- a/config/env/local.docker.js +++ b/config/env/local.docker.js @@ -27,8 +27,8 @@ module.exports = { host: 'maildev', port: 25, ignoreTLS: true, - auth: false - } + auth: false, + }, }, /** @@ -42,9 +42,9 @@ module.exports = { protocol: 'http', username: 'root', password: 'root', - database: 'trustroots' - } - } + database: 'trustroots', + }, + }, // See config/env/local.sample.js for how to configure mapbox layers, sending emails via Gmail etc diff --git a/config/env/production.js b/config/env/production.js index 9db6dd85bf..1fd2b774e9 100644 --- a/config/env/production.js +++ b/config/env/production.js @@ -13,8 +13,8 @@ module.exports = { uri: 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/trustroots', options: { auth: { - authMechanism: '' - } + authMechanism: '', + }, // user: '', // pass: '' }, @@ -24,6 +24,6 @@ module.exports = { // Mongoose calls createIndex on each Model's index when staring the app autoIndex: false, // Check for MongoDB version compatibility on start - checkCompatibility: false - } + checkCompatibility: false, + }, }; diff --git a/config/env/test.js b/config/env/test.js index ec385277e1..99cc09d437 100644 --- a/config/env/test.js +++ b/config/env/test.js @@ -11,14 +11,14 @@ module.exports = { featureFlags: { reference: true, - i18n: true + i18n: true, }, db: { uri: 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/trustroots-test', options: { auth: { - authMechanism: '' - } + authMechanism: '', + }, // user: '', // pass: '' }, @@ -28,14 +28,14 @@ module.exports = { // Mongoose calls createIndex on each Model's index when staring the app autoIndex: true, // Check for MongoDB version compatibility on start - checkCompatibility: false + checkCompatibility: false, }, maxUploadSize: 10000, // =10kb in bytes. Set ridiculously small just for tests port: 3001, illegalStrings: ['trustroots', 'trust', 'roots'], app: { title: 'Trustroots test environment.', - description: 'Trustroots test environment.' + description: 'Trustroots test environment.', }, influxdb: { enabled: false, @@ -43,14 +43,14 @@ module.exports = { host: 'localhost', port: 8086, protocol: 'http', - database: 'trustroots-test' - } + database: 'trustroots-test', + }, }, // Configuration of stathat. // www.stathat.com is a tool/service for tracking statistics stathat: { enabled: false, - key: '' + key: '', }, mapbox: { // Mapbox is publicly exposed to the frontend @@ -58,8 +58,8 @@ module.exports = { map: { default: false, satellite: false, - hitchmap: false + hitchmap: false, }, - publicKey: 'pk.eyJ1IjoidHJ1c3Ryb290cyIsImEiOiJVWFFGa19BIn0.4e59q4-7e8yvgvcd1jzF4g' - } + publicKey: 'pk.eyJ1IjoidHJ1c3Ryb290cyIsImEiOiJVWFFGa19BIn0.4e59q4-7e8yvgvcd1jzF4g', + }, }; diff --git a/config/languages/generate.js b/config/languages/generate.js index 386f7deda1..e00fd74da5 100644 --- a/config/languages/generate.js +++ b/config/languages/generate.js @@ -43,7 +43,7 @@ function includeLanguage(language) { // significant "hobbyist" community around them if ([ 'grc', // Ancient Greek - 'lat' // Latin + 'lat', // Latin ].indexOf(language.iso_639_2b) > -1) { return true; } diff --git a/config/lib/agenda.js b/config/lib/agenda.js index 31fe3c8b42..e1e41528ac 100644 --- a/config/lib/agenda.js +++ b/config/lib/agenda.js @@ -4,6 +4,6 @@ const config = require('../config'); module.exports = new Agenda({ db: { address: config.db.uri, - collection: 'agendaJobs' - } + collection: 'agendaJobs', + }, }); diff --git a/config/lib/exponent-notifications.js b/config/lib/exponent-notifications.js index 21f6cd7073..d5b86156dd 100644 --- a/config/lib/exponent-notifications.js +++ b/config/lib/exponent-notifications.js @@ -22,7 +22,7 @@ exports.sendToDevice = function sendToDevice(tokens, notification) { if (!token || !Expo.isExpoPushToken(token)) { log('error', 'Invalid or missing Expo push notification token #mg9hwf', { - token: token + token: token, }); return; } @@ -78,8 +78,8 @@ exports.sendToDevice = function sendToDevice(tokens, notification) { */ data: { // Action URL - url: notification.click_action - } + url: notification.click_action, + }, }); }); diff --git a/config/lib/express.js b/config/lib/express.js index 26aa3b5d8b..225ed8c932 100644 --- a/config/lib/express.js +++ b/config/lib/express.js @@ -49,7 +49,7 @@ module.exports.initLocalVariables = function (app) { app.locals.appSettings.maitreId = config.invitations.enabled ? config.invitations.maitreId : false; app.locals.appSettings.fcmSenderId = config.fcm.senderId; app.locals.appSettings.limits = { - maxOfferValidFromNow: config.limits.maxOfferValidFromNow + maxOfferValidFromNow: config.limits.maxOfferValidFromNow, }; app.locals.siteAnnouncement = config.siteAnnouncement || { enabled: false }; @@ -106,7 +106,7 @@ module.exports.initMiddleware = function (app) { filter: function (req, res) { return (/json|text|javascript|css|font|svg/).test(res.getHeader('Content-Type')); }, - level: 9 + level: 9, })); // Initialize pagination middleware @@ -129,7 +129,7 @@ module.exports.initMiddleware = function (app) { // Request body parsing middleware should be above methodOverride app.use(bodyParser.urlencoded({ - extended: true + extended: true, })); app.use(bodyParser.json({ type: [ @@ -138,8 +138,8 @@ module.exports.initMiddleware = function (app) { // - Chrome sends application/csp-report // - Firefox sends application/json // - it seems chrome is doing it well: https://w3c.github.io/webappsec/specs/content-security-policy/ - 'application/csp-report' - ] + 'application/csp-report', + ], })); app.use(methodOverride()); @@ -159,7 +159,7 @@ module.exports.initViewEngine = function (app) { nunjucks.configure('./modules/core/server/views', { express: app, watch: false, - noCache: true + noCache: true, }); // app.engine('nunjucks', nunjucks); @@ -188,12 +188,12 @@ module.exports.initSession = function (app, connection) { // By default cookie.maxAge is null, meaning no "expires" parameter is // set so the cookie becomes a browser-session cookie. When the user // closes the browser the cookie (and session) will be removed. - maxAge: 2419200000 // (in milliseconds) 28 days + maxAge: 2419200000, // (in milliseconds) 28 days }, store: new MongoStore({ mongooseConnection: connection, - collection: config.sessionCollection - }) + collection: config.sessionCollection, + }), })); }; @@ -230,7 +230,7 @@ module.exports.initHelmetHeaders = function (app) { // put your own pages in iframes, but nobody else can. // // action `deny` will prevent anyone from putting this page in an iframe. - action: 'sameorigin' + action: 'sameorigin', }; /** @@ -238,7 +238,7 @@ module.exports.initHelmetHeaders = function (app) { * @link https://helmetjs.github.io/docs/csp/ */ let cspFrameAncestors = [ - '\'none\'' + '\'none\'', ]; /** @@ -262,10 +262,10 @@ module.exports.initHelmetHeaders = function (app) { if (facebookNotificationService.isNotificationsEnabled()) { frameguardOptions = { action: 'allow-from', - domain: 'https://apps.facebook.com' + domain: 'https://apps.facebook.com', }; cspFrameAncestors = [ - 'apps.facebook.com' + 'apps.facebook.com', ]; } @@ -284,7 +284,7 @@ module.exports.initHelmetHeaders = function (app) { app.use(helmet.contentSecurityPolicy({ directives: { defaultSrc: [ - '\'self\'' + '\'self\'', ], // Defines the origins from which scripts can be loaded. @@ -308,19 +308,19 @@ module.exports.initHelmetHeaders = function (app) { // @link https://helmetjs.github.io/docs/csp/#generating-nonces function (req, res) { return '\'nonce-' + res.locals.nonce + '\''; // 'nonce-614d9122-d5b0-4760-aecf-3a5d17cf0ac9' - } + }, ], // Specifies the origins that can serve web fonts. fontSrc: [ '\'self\'', - 'data:' // Inline fonts (`src: url('data:...')`) + 'data:', // Inline fonts (`src: url('data:...')`) ], // Defines the origins from which stylesheets can be loaded. styleSrc: [ '\'self\'', - '\'unsafe-inline\'' + '\'unsafe-inline\'', ], // Defines the origins from which images can be loaded. @@ -344,7 +344,7 @@ module.exports.initHelmetHeaders = function (app) { 'i1.wp.com', // Gravatar (WordPress.com) 'i2.wp.com', // Gravatar (WordPress.com) 'ucarecdn.com', // Our Tribe image CDN "Uploadcare.com" - 'data:' // Inline images (``) + 'data:', // Inline images (``) ], // Limits the origins that you can connect to @@ -355,23 +355,23 @@ module.exports.initHelmetHeaders = function (app) { 'api.mapbox.com', 'fcm.googleapis.com', 'maitreapp.co', // Signup waiting list feature - 'www.facebook.com' + 'www.facebook.com', ], // Allows control over Flash and other plugins. objectSrc: [ - '\'self\'' + '\'self\'', ], // Allows control of media elements, e.g. HTML5 `