diff --git a/app/javascript/.eslintrc.js b/app/javascript/.eslintrc.js index 53d5898fa..411f7f23f 100644 --- a/app/javascript/.eslintrc.js +++ b/app/javascript/.eslintrc.js @@ -54,6 +54,7 @@ module.exports = { ], 'react/jsx-no-target-blank': [2, { enforceDynamicLinks: 'always' }], 'jsx-a11y/no-onchange': 'off', + 'prefer-const': ['error'], }, overrides: [ { diff --git a/app/javascript/admin/controllers/ahoy_controller.js b/app/javascript/admin/controllers/ahoy_controller.js index ec246dbf5..4811cd4a4 100644 --- a/app/javascript/admin/controllers/ahoy_controller.js +++ b/app/javascript/admin/controllers/ahoy_controller.js @@ -9,7 +9,7 @@ ahoy.configure({ export default class AhoyController extends Controller { trackOverviewLink(event) { event.preventDefault(); - let properties = { + const properties = { action: event.type, target: event.target.toString(), }; diff --git a/app/javascript/admin/controllers/data_update_script_controller.js b/app/javascript/admin/controllers/data_update_script_controller.js index bb2e87229..5ff00f885 100644 --- a/app/javascript/admin/controllers/data_update_script_controller.js +++ b/app/javascript/admin/controllers/data_update_script_controller.js @@ -4,10 +4,10 @@ export default class DataUpdateScriptController extends Controller { forceRun(event) { event.preventDefault(); const id = event.target.dataset.value; - let statusColumn = document.getElementById( + const statusColumn = document.getElementById( `data_update_script_${id}_status`, ); - let runAtColumn = document.getElementById( + const runAtColumn = document.getElementById( `data_update_script_${id}_run_at`, ); @@ -47,7 +47,7 @@ export default class DataUpdateScriptController extends Controller { pollForScriptResponse(id, statusColumn, runAtColumn) { let counter = 0; - let pollForStatus = setInterval(() => { + const pollForStatus = setInterval(() => { counter++; this.checkForUpdatedDataScript(id, runAtColumn, statusColumn).then( (updatedDataScript) => { @@ -60,12 +60,12 @@ export default class DataUpdateScriptController extends Controller { if (updatedDataScript.error) { // we need to show the html as text instead of a parsed version, // hence we manipulate the DOM through this longer process. - let errorElem = document.createElement('div'); + const errorElem = document.createElement('div'); errorElem.setAttribute('class', 'fs-xs'); errorElem.setAttribute('id', `data_update_script_${id}_error`); statusColumn.appendChild(errorElem); - let completedErrorElem = document.getElementById( + const completedErrorElem = document.getElementById( `data_update_script_${id}_error`, ); completedErrorElem.innerText = updatedDataScript.error; @@ -114,7 +114,7 @@ export default class DataUpdateScriptController extends Controller { }).then((response) => { if (response.ok) { return response.json().then((json) => { - let script = json.response; + const script = json.response; if (script.status === 'succeeded' || script.status === 'failed') { return script; } @@ -134,7 +134,7 @@ export default class DataUpdateScriptController extends Controller { } setErrorBanner(runAtColumn, statusColumn, error, bannerClass) { - let classList = document.getElementsByClassName( + const classList = document.getElementsByClassName( 'data-update-script__alert', )[0].classList; diff --git a/app/javascript/admin/controllers/image_upload_controller.js b/app/javascript/admin/controllers/image_upload_controller.js index 4118aa75e..67fb2b025 100644 --- a/app/javascript/admin/controllers/image_upload_controller.js +++ b/app/javascript/admin/controllers/image_upload_controller.js @@ -9,7 +9,7 @@ export default class ImageUploadController extends Controller { const token = document.getElementsByName('authenticity_token')[0].value; const image = this.fileFieldTarget.files[0]; - let formData = new FormData(); + const formData = new FormData(); formData.append('authenticity_token', token); formData.append('image', image); diff --git a/app/javascript/chat/chat.jsx b/app/javascript/chat/chat.jsx index a083a1879..ebbc4cb29 100644 --- a/app/javascript/chat/chat.jsx +++ b/app/javascript/chat/chat.jsx @@ -194,7 +194,7 @@ export class Chat extends Component { getChannelRequestInfo().then((response) => { const { result } = response; const { user_joining_requests, channel_joining_memberships } = result; - let totalRequest = + const totalRequest = user_joining_requests?.length + channel_joining_memberships?.length; this.setState({ userRequestCount: totalRequest, @@ -811,7 +811,7 @@ export class Chat extends Component { newUnopenedChannelIds.splice(index, 1); } - let updatedActiveChannel = this.filterForActiveChannel( + const updatedActiveChannel = this.filterForActiveChannel( channelList, id, currentUserId, @@ -1251,8 +1251,8 @@ export class Chat extends Component { const { notificationsPermission } = state; const notificationsButton = ''; let notificationsState = ''; - let invitesButton = ''; - let joiningRequestButton = ''; + const invitesButton = ''; + const joiningRequestButton = ''; if (notificationsPermission === 'granted') { notificationsState = (