Skip to content

Commit 4effaa3

Browse files
authored
feat(lint): lint ts types using CI
This PR improves #2822, the Typescript is now tested if compiles and linted againts our coding style.
1 parent 314613a commit 4effaa3

28 files changed

+294
-277
lines changed

.eslintrc.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,20 @@ module.exports = {
120120
globals: {
121121
jQuery: true,
122122
},
123+
overrides: [{
124+
files: ['**/*.ts'],
125+
parser: '@typescript-eslint/parser',
126+
extends: [
127+
'plugin:@typescript-eslint/recommended',
128+
],
129+
rules: {
130+
// https://typescript-eslint.io/rules/no-use-before-define#how-to-use
131+
'no-use-before-define': 'off',
132+
133+
// TODO rules with a lot of errors to be fixed manually, fix in a separate PR
134+
'@typescript-eslint/ban-types': 'off', // 16 eslint errors only, help wanted!
135+
'@typescript-eslint/no-explicit-any': 'off',
136+
'@typescript-eslint/triple-slash-reference': 'off',
137+
},
138+
}],
123139
};

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
"scripts": {
2828
"build": "gulp build",
2929
"changelog": "auto-changelog -p",
30-
"lint": "eslint --ext .js . && stylelint \"**/*.{css,less,overrides,variables}\"",
31-
"lint-fix": "eslint --ext .js . --fix && stylelint \"**/*.{css,less,overrides,variables}\" --fix"
30+
"lint": "eslint --ext .js,.ts . && stylelint \"**/*.{css,less,overrides,variables}\"",
31+
"lint-fix": "eslint --ext .js,.ts . --fix && stylelint \"**/*.{css,less,overrides,variables}\" --fix"
3232
},
3333
"dependencies": {
3434
"@actions/core": "^1.6.0",

types/fomantic-ui-accordion.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ declare namespace FomanticUI {
2828
(behavior: 'toggle', index: number): JQuery;
2929

3030
(behavior: 'destroy'): JQuery;
31-
<K extends keyof AccordionSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<AccordionSettings, keyof AccordionSettings>>;
31+
<K extends keyof AccordionSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<AccordionSettings, keyof AccordionSettings>>;
3232
<K extends keyof AccordionSettings>(behavior: 'setting', name: K, value: AccordionSettings[K]): JQuery;
3333
(behavior: 'setting', value: Partial<Pick<AccordionSettings, keyof AccordionSettings>>): JQuery;
3434
(settings?: Partial<Pick<AccordionSettings, keyof AccordionSettings>>): JQuery;

types/fomantic-ui-api.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ declare namespace FomanticUI {
107107
*/
108108
(behavior: 'destroy'): JQuery;
109109

110-
<K extends keyof APISettings | JQueryAjaxSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<APISettings, keyof APISettings>> | Partial<Pick<JQueryAjaxSettings, keyof JQueryAjaxSettings>>;
110+
<K extends keyof APISettings | JQueryAjaxSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<APISettings, keyof APISettings>> | Partial<Pick<JQueryAjaxSettings, keyof JQueryAjaxSettings>>;
111111
<K extends keyof APISettings>(behavior: 'setting', name: K, value: APISettings[K]): JQuery;
112112
(behavior: 'setting', value: Partial<Pick<APISettings, keyof APISettings>> | Partial<Pick<JQueryAjaxSettings, keyof JQueryAjaxSettings>>): JQuery;
113113
(settings?: Partial<Pick<APISettings, keyof APISettings>> | Partial<Pick<JQueryAjaxSettings, keyof JQueryAjaxSettings>>): JQuery;

types/fomantic-ui-calendar.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ declare namespace FomanticUI {
522522

523523
interface Formatters {
524524
/**
525-
*
525+
*
526526
*/
527527
yearHeader(date: Date, settings?: CalendarSettings): string;
528528

@@ -580,14 +580,14 @@ declare namespace FomanticUI {
580580
* @default 'YYYY'
581581
*/
582582
year: string;
583-
583+
584584
/**
585-
*
585+
*
586586
*/
587587
today(settings: CalendarSettings): string;
588588

589589
/**
590-
*
590+
*
591591
*/
592592
cell(cell: string, date: Date, cellOptions: any): any
593593
}

types/fomantic-ui-dimmer.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ declare namespace FomanticUI {
113113
(behavior: 'set disabled'): JQuery;
114114

115115
(behavior: 'destroy'): JQuery;
116-
<K extends keyof DimmerSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<DimmerSettings, keyof DimmerSettings>>;
116+
<K extends keyof DimmerSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<DimmerSettings, keyof DimmerSettings>>;
117117
<K extends keyof DimmerSettings>(behavior: 'setting', name: K, value: DimmerSettings[K]): JQuery;
118118
(behavior: 'setting', value: Partial<Pick<DimmerSettings, keyof DimmerSettings>>): JQuery;
119119
(settings?: Partial<Pick<DimmerSettings, keyof DimmerSettings>>): JQuery;

types/fomantic-ui-dropdown.d.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ declare namespace FomanticUI {
210210
(behavior: 'get placeholder text'): string;
211211

212212
(behavior: 'destroy'): JQuery;
213-
<K extends keyof DropdownSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<DropdownSettings, keyof DropdownSettings>>;
213+
<K extends keyof DropdownSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<DropdownSettings, keyof DropdownSettings>>;
214214
<K extends keyof DropdownSettings>(behavior: 'setting', name: K, value: DropdownSettings[K]): JQuery;
215215
(behavior: 'setting', value: Partial<Pick<DropdownSettings, keyof DropdownSettings>>): JQuery;
216216
(settings?: Partial<Pick<DropdownSettings, keyof DropdownSettings>>): JQuery;
@@ -345,7 +345,7 @@ declare namespace FomanticUI {
345345
*
346346
* @default 'auto'
347347
*/
348-
placeholder: 'auto' | String | false;
348+
placeholder: 'auto' | string | false;
349349

350350
/**
351351
* Whether HTML included in dropdown values should be preserved.
@@ -577,22 +577,22 @@ declare namespace FomanticUI {
577577
message: Dropdown.MessageSettings;
578578

579579
/**
580-
*
580+
*
581581
*/
582582
regExp: Dropdown.RegExpSettings;
583583

584584
/**
585-
*
585+
*
586586
*/
587587
metadata: Dropdown.MetadataSettings;
588588

589589
/**
590-
*
590+
*
591591
*/
592592
fields: Dropdown.FieldsSettings;
593593

594594
/**
595-
*
595+
*
596596
*/
597597
keys: Dropdown.KeysSettings;
598598

@@ -738,7 +738,7 @@ declare namespace FomanticUI {
738738
*/
739739
clearIcon: string;
740740
}
741-
741+
742742
interface ClassNames {
743743
/**
744744
* @default 'active'
@@ -915,7 +915,7 @@ declare namespace FomanticUI {
915915
*/
916916
actionable: string;
917917
}
918-
918+
919919
interface Messages {
920920
/**
921921
* @default 'Add <b>{term}</b>'
@@ -947,9 +947,9 @@ declare namespace FomanticUI {
947947
/**
948948
* @default '/[-[\]{}()*+?.,\\^$|#\s]/g'
949949
*/
950-
escape: string;
950+
escape: string;
951951
}
952-
952+
953953
interface Metadatas {
954954
/**
955955
* @default 'defaultText'
@@ -959,24 +959,24 @@ declare namespace FomanticUI {
959959
/**
960960
* @default 'defaultValue'
961961
*/
962-
defaultValue: string;
962+
defaultValue: string;
963963

964964
/**
965965
* @default 'placeholderText'
966966
*/
967-
placeholderText: string;
967+
placeholderText: string;
968968

969969
/**
970970
* @default 'text'
971971
*/
972-
text: string;
972+
text: string;
973973

974974
/**
975975
* @default 'value'
976976
*/
977-
value: string;
977+
value: string;
978978
}
979-
979+
980980
interface Fields {
981981
/**
982982
* Grouping for api results
@@ -988,13 +988,13 @@ declare namespace FomanticUI {
988988
* Grouping for all dropdown values
989989
* @default 'values'
990990
*/
991-
values: string;
991+
values: string;
992992

993993
/**
994994
* Whether value should be disabled
995995
* @default 'disabled'
996996
*/
997-
disabled: string;
997+
disabled: string;
998998

999999
/**
10001000
* Displayed dropdown text
@@ -1074,7 +1074,7 @@ declare namespace FomanticUI {
10741074
*/
10751075
actionable: string;
10761076
}
1077-
1077+
10781078
interface Keys {
10791079
/**
10801080
* @default 8

types/fomantic-ui-embed.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ declare namespace FomanticUI {
5757
*/
5858
(behavior: 'destroy'): JQuery;
5959

60-
<K extends keyof EmbedSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<EmbedSettings, keyof EmbedSettings>>;
60+
<K extends keyof EmbedSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<EmbedSettings, keyof EmbedSettings>>;
6161
<K extends keyof EmbedSettings>(behavior: 'setting', name: K, value: EmbedSettings[K]): JQuery;
6262
(behavior: 'setting', value: Partial<Pick<EmbedSettings, keyof EmbedSettings>>): JQuery;
6363
(settings?: Partial<Pick<EmbedSettings, keyof EmbedSettings>>): JQuery;

types/fomantic-ui-flyout.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ declare namespace FomanticUI {
5454
(behavior: keyof Flyout.TemplatesSettings, ...args: any): Partial<Pick<FlyoutSettings, keyof FlyoutSettings>>;
5555

5656
(behavior: 'destroy'): JQuery;
57-
<K extends keyof FlyoutSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<FlyoutSettings, keyof FlyoutSettings>>;
57+
<K extends keyof FlyoutSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<FlyoutSettings, keyof FlyoutSettings>>;
5858
<K extends keyof FlyoutSettings>(behavior: 'setting', name: K, value: FlyoutSettings[K]): JQuery;
5959
(behavior: 'setting', value: Partial<Pick<FlyoutSettings, keyof FlyoutSettings>>): JQuery;
6060
(settings?: Partial<Pick<FlyoutSettings, keyof FlyoutSettings>>): JQuery;
@@ -372,7 +372,7 @@ declare namespace FomanticUI {
372372
*/
373373
deny: string;
374374
}
375-
375+
376376
interface ClassNames {
377377
/**
378378
* @default 'ui flyout'
@@ -489,7 +489,7 @@ declare namespace FomanticUI {
489489
*/
490490
prompt: string;
491491
}
492-
492+
493493
interface RegExps {
494494
/**
495495
* @default /(iPad|iPhone|iPod)/g

types/fomantic-ui-form.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ declare namespace FomanticUI {
158158
* Destroys instance and removes all events.
159159
*/
160160
(behavior: 'destroy'): JQuery;
161-
<K extends keyof FormSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<FormSettings, keyof FormSettings>>;
161+
<K extends keyof FormSettings>(behavior: 'setting', name: K, value?: undefined,): Partial<Pick<FormSettings, keyof FormSettings>>;
162162
<K extends keyof FormSettings>(behavior: 'setting', name: K, value: FormSettings[K]): JQuery;
163163
(behavior: 'setting', value: Partial<Pick<FormSettings, keyof FormSettings>>): JQuery;
164164
(settings?: Partial<Pick<FormSettings, keyof FormSettings>>): JQuery;

0 commit comments

Comments
 (0)