Skip to content

Commit 29df6cb

Browse files
committed
Pull forward the lint changes from #275
1 parent 44f009f commit 29df6cb

4 files changed

Lines changed: 36 additions & 30 deletions

File tree

addon/.eslintrc.cjs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,21 @@ module.exports = {
77
{
88
files: ['src/**/*.{js,ts}'],
99
parser: '@typescript-eslint/parser',
10-
plugins: ['ember'],
10+
plugins: ['ember', '@typescript-eslint'],
1111
extends: [
1212
'eslint:recommended',
13+
'plugin:@typescript-eslint/recommended',
1314
'plugin:ember/recommended',
1415
'plugin:prettier/recommended',
1516
],
1617
env: {
1718
browser: true,
1819
},
20+
rules: {
21+
// temp, remove these in #275
22+
'@typescript-eslint/ban-ts-comment': 'off',
23+
'prefer-rest-params': 'off',
24+
},
1925
},
2026
// node files
2127
{

addon/src/helpers/page-title.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export default class PageTitle extends Helper<Signature> {
4444
}
4545

4646
compute(params, _hash) {
47-
let hash = {
47+
const hash = {
4848
..._hash,
4949
id: this.tokenId,
5050
title: params.join(''),

addon/src/services/page-title.ts

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { isEmpty } from '@ember/utils';
66
import { assert } from '@ember/debug';
77
import type RouterService from '@ember/routing/router-service';
88

9-
let isFastBoot = typeof FastBoot !== 'undefined';
9+
const isFastBoot = typeof FastBoot !== 'undefined';
1010

1111
const RouterEvent = {
1212
ROUTE_DID_CHANGE: 'routeDidChange',
@@ -62,7 +62,7 @@ export default class PageTitleService extends Service {
6262
super(...arguments);
6363
this._validateExistingTitleElement();
6464

65-
let config = getOwner(this).resolveRegistration('config:environment');
65+
const config = getOwner(this).resolveRegistration('config:environment');
6666
if (config.pageTitle) {
6767
['separator', 'prepend', 'replace'].forEach((key) => {
6868
if (!isEmpty(config.pageTitle[key])) {
@@ -74,9 +74,9 @@ export default class PageTitleService extends Service {
7474
}
7575

7676
applyTokenDefaults(token) {
77-
let defaultSeparator = this._defaultConfig.separator;
78-
let defaultPrepend = this._defaultConfig.prepend;
79-
let defaultReplace = this._defaultConfig.replace;
77+
const defaultSeparator = this._defaultConfig.separator;
78+
const defaultPrepend = this._defaultConfig.prepend;
79+
const defaultReplace = this._defaultConfig.replace;
8080

8181
token.previous ??= null;
8282
token.next ??= null;
@@ -95,7 +95,7 @@ export default class PageTitleService extends Service {
9595
}
9696

9797
inheritFromPrevious(token) {
98-
let previous = token.previous;
98+
const previous = token.previous;
9999
if (previous) {
100100
if (token.separator == null) {
101101
token.separator = previous.separator;
@@ -108,11 +108,11 @@ export default class PageTitleService extends Service {
108108
}
109109

110110
push(token) {
111-
let tokenForId = this._findTokenById(token.id);
111+
const tokenForId = this._findTokenById(token.id);
112112
if (tokenForId) {
113-
let index = this.tokens.indexOf(tokenForId);
114-
let tokens = [...this.tokens];
115-
let previous = tokenForId.previous;
113+
const index = this.tokens.indexOf(tokenForId);
114+
const tokens = [...this.tokens];
115+
const previous = tokenForId.previous;
116116
token.previous = previous;
117117
token.next = tokenForId.next;
118118
this.inheritFromPrevious(token);
@@ -123,7 +123,7 @@ export default class PageTitleService extends Service {
123123
return;
124124
}
125125

126-
let previous = this.tokens.slice(-1)[0];
126+
const previous = this.tokens.slice(-1)[0];
127127
if (previous) {
128128
token.previous = previous ?? null;
129129
previous.next = token;
@@ -135,8 +135,8 @@ export default class PageTitleService extends Service {
135135
}
136136

137137
remove(id) {
138-
let token = this._findTokenById(id);
139-
let { next, previous } = token;
138+
const token = this._findTokenById(id);
139+
const { next, previous } = token;
140140
if (next) {
141141
next.previous = previous;
142142
}
@@ -147,17 +147,17 @@ export default class PageTitleService extends Service {
147147

148148
token.previous = token.next = null;
149149

150-
let tokens = [...this.tokens];
150+
const tokens = [...this.tokens];
151151
tokens.splice(tokens.indexOf(token), 1);
152152
this.tokens = tokens;
153153
}
154154

155155
get visibleTokens() {
156-
let tokens = this.tokens;
156+
const tokens = this.tokens;
157157
let i = tokens ? tokens.length : 0;
158-
let visible = [];
158+
const visible = [];
159159
while (i--) {
160-
let token = tokens[i];
160+
const token = tokens[i];
161161
if (token.replace) {
162162
visible.unshift(token);
163163
break;
@@ -169,11 +169,11 @@ export default class PageTitleService extends Service {
169169
}
170170

171171
get sortedTokens() {
172-
let visible = this.visibleTokens;
172+
const visible = this.visibleTokens;
173173
let appending = true;
174174
let group = [];
175-
let groups = [group];
176-
let frontGroups = [];
175+
const groups = [group];
176+
const frontGroups = [];
177177
visible.forEach((token) => {
178178
if (token.front) {
179179
frontGroups.unshift(token);
@@ -183,7 +183,7 @@ export default class PageTitleService extends Service {
183183
group = [];
184184
groups.push(group);
185185
}
186-
let lastToken = group[0];
186+
const lastToken = group[0];
187187
if (lastToken) {
188188
token = { ...token };
189189
token.separator = lastToken.separator;
@@ -207,10 +207,10 @@ export default class PageTitleService extends Service {
207207
};
208208

209209
toString() {
210-
let tokens = this.sortedTokens;
211-
let title = [];
210+
const tokens = this.sortedTokens;
211+
const title = [];
212212
for (let i = 0, len = tokens.length; i < len; i++) {
213-
let token = tokens[i];
213+
const token = tokens[i];
214214
if (token.title) {
215215
title.push(token.title);
216216
if (i + 1 < len) {
@@ -282,15 +282,15 @@ export default class PageTitleService extends Service {
282282

283283
// Remove existing title elements from previous render cycle
284284
for (let i = 0; i < headChildNodes.length; i++) {
285-
let node = headChildNodes[i];
285+
const node = headChildNodes[i];
286286
if (node.nodeName.toLowerCase() === 'title') {
287287
headElement.removeChild(node);
288288
}
289289
}
290290

291291
// Add title element with latest value
292-
let titleEl = this.document.createElement('title');
293-
let titleContents = this.document.createTextNode(toBeTitle);
292+
const titleEl = this.document.createElement('title');
293+
const titleContents = this.document.createTextNode(toBeTitle);
294294
titleEl.appendChild(titleContents);
295295
headElement.appendChild(titleEl);
296296
}

addon/src/test-support/get-page-title.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export function getPageTitle(doc: Document) {
55
// In Fastboot context we get 2 title elements if we don't remove one from app/index.html
66
// In real world applications, it is mandatory to remove <title> from app/index.html
77
// We are keeping both for sake for testing browser and fastboot scenarios
8-
let element = [
8+
const element = [
99
...(doc || window.document).querySelectorAll('head title'),
1010
].pop();
1111

0 commit comments

Comments
 (0)