Skip to content

Commit 3318877

Browse files
authored
build: add lint rule for unused Sass imports (#22454)
Since all the imports are namespaced now, it's trivial to figure out whether they're being used. These changes add a custom lint rule and fix all of the failures.
1 parent 55a2a6c commit 3318877

File tree

67 files changed

+93
-85
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+93
-85
lines changed

.stylelintrc.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"./tools/stylelint/no-top-level-ampersand-in-mixin.ts",
1111
"./tools/stylelint/theme-mixin-api.ts",
1212
"./tools/stylelint/no-import.ts",
13-
"./tools/stylelint/single-line-comment-only.ts"
13+
"./tools/stylelint/single-line-comment-only.ts",
14+
"./tools/stylelint/no-unused-import.ts"
1415
],
1516
"rules": {
1617
"material/no-prefixes": [true, {
@@ -20,6 +21,7 @@
2021
"material/theme-mixin-api": true,
2122
"material/selector-no-deep": true,
2223
"material/no-nested-mixin": true,
24+
"material/no-unused-import": true,
2325
"material/single-line-comment-only": [true, {
2426
"filePattern": "\\.scss$"
2527
}],

src/material-experimental/column-resize/_column-resize-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@use 'sass:map';
22
@use '../../material/core/style/variables';
33
@use '../../material/core/style/vendor-prefixes';
4-
@use '../../material/core/theming/palette';
54
@use '../../material/core/theming/theming';
65

76
@mixin color($config-or-theme) {

src/material-experimental/mdc-autocomplete/autocomplete.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@use '@material/menu-surface/mixins' as mdc-menu-surface;
22
@use '@material/list/mixins' as mdc-list;
33
@use '../../cdk/a11y';
4-
@use '../mdc-helpers/mdc-helpers';
54

65
@include mdc-menu-surface.core-styles($query: structure);
76

src/material-experimental/mdc-checkbox/checkbox.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '@material/checkbox' as mdc-checkbox;
2-
@use '@material/checkbox/checkbox-theme' as mdc-checkbox-theme;
32
@use '@material/form-field' as mdc-form-field;
43
@use '@material/ripple' as mdc-ripple;
54
@use 'sass:map';

src/material-experimental/mdc-form-field/_form-field-native-select.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use 'sass:map';
22
@use '../mdc-helpers/mdc-helpers';
3-
@use '../../material/core/theming/theming';
43
@use '../../cdk/a11y';
54
@use '../../material/core/theming/palette';
65
@use '@material/theme/theme-color' as mdc-theme-color;

src/material-experimental/mdc-form-field/_form-field-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '@material/ripple/mixins' as mdc-ripple;
21
@use '@material/textfield' as mdc-textfield;
32
@use '@material/floating-label' as mdc-floating-label;
43
@use '@material/notched-outline' as mdc-notched-outline;

src/material-experimental/mdc-form-field/_mdc-text-field-textarea-overrides.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
@use 'form-field-sizing';
2-
31
// MDCs default textarea styles cannot be used because they only apply if a special
42
// class is applied to the "mdc-text-field" wrapper. Since we cannot know whether the
53
// registered form-field control is a textarea and MDC by default does not have styles

src/material-experimental/mdc-helpers/_focus-indicators.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use 'sass:map';
22
@use '../../material/core/style/layout-common';
3-
@use '../../material/core/focus-indicators/focus-indicators';
43

54
/// Mixin that turns on strong focus indicators.
65
///

src/material-experimental/mdc-helpers/_mdc-helpers.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44

55
@use '@material/feature-targeting' as mdc-feature-targeting;
66
@use '@material/typography' as mdc-typography;
7-
@use '@material/theme/functions' as mdc-theme-functions;
87
@use '@material/theme/theme-color' as mdc-theme-color;
98
@use 'sass:map';
10-
@use '../../material/core/style/layout-common';
119
@use '../../material/core/theming/theming';
1210
@use '../../material/core/typography/typography';
1311
@use '../../material/core/typography/typography-utils';

src/material-experimental/mdc-list/_interactive-list-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use '@material/ripple' as mdc-ripple;
22
@use 'sass:map';
3-
@use '../mdc-helpers/mdc-helpers';
43
@use '../../material/core/theming/theming';
54

65
// Mixin that provides colors for the various states of an interactive list-item. MDC

src/material-experimental/mdc-sidenav/_sidenav-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../mdc-helpers/mdc-helpers';
21
@use '../../material/core/theming/theming';
32

43
@mixin color($config-or-theme) {}

src/material-experimental/mdc-slider/slider.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// TODO: disabled until we implement the new MDC slider.
22
// @use '@material/slider' as mdc-slider;
3-
@use '../mdc-helpers/mdc-helpers';
43
@use '../../cdk/a11y';
54

65
$mat-slider-min-size: 128px !default;

src/material-experimental/mdc-tabs/_tabs-common.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
@use '@material/ripple' as mdc-ripple;
22
@use '@material/tab' as mdc-tab;
33
@use 'sass:map';
4-
@use '../../material/core/style/variables';
5-
@use '../../material/core/style/private';
64
@use '../../material/core/style/vendor-prefixes';
75
@use '../../cdk/a11y';
86
@use '../mdc-helpers/mdc-helpers';

src/material-experimental/mdc-tabs/tab-body.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../../material/core/style/vendor-prefixes';
21
@use '../../material/core/style/layout-common';
32

43
// Wraps each tab body. We need to add these styles ourselves,

src/material-experimental/mdc-tabs/tab-header.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '@material/tab-indicator' as mdc-tab-indicator;
2-
@use '../../material/core/style/private';
32
@use '../mdc-helpers/mdc-helpers';
43
@use './tabs-common';
54

src/material-experimental/mdc-tabs/tab-nav-bar/tab-nav-bar.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
@use '../tabs-common';
2-
@use '../../../material/core/style/variables';
3-
@use '../../mdc-helpers/mdc-helpers';
42

53
@include tabs-common.paginated-tab-header;
64

src/material-experimental/mdc-theming/_all-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
@use '../mdc-progress-spinner/progress-spinner-theme';
2020
@use '../mdc-input/input-theme';
2121
@use '../mdc-form-field/form-field-theme';
22-
@use '../../material/core/core';
2322
@use '../../material/core/theming/theming';
2423

2524
@mixin all-mdc-component-themes($theme-or-color-config) {

src/material-experimental/popover-edit/_popover-edit-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
@use '../../cdk/a11y';
33
@use '../../material/core/style/variables';
44
@use '../../material/core/style/private';
5-
@use '../../material/core/theming/palette';
65
@use '../../material/core/theming/theming';
76
@use '../../material/core/typography/typography';
87
@use '../../material/core/typography/typography-utils';

src/material/badge/_badge-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
@use 'sass:color';
55
@use 'sass:map';
66
@use 'sass:meta';
7-
@use '../core/theming/palette';
87
@use '../core/theming/theming';
98
@use '../core/typography/typography';
109
@use '../core/typography/typography-utils';

src/material/bottom-sheet/_bottom-sheet-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
@use '../core/style/private';
33
@use '../core/typography/typography';
44
@use '../core/typography/typography-utils';
5-
@use '../core/theming/palette';
65
@use '../core/theming/theming';
76

87
@mixin color($config-or-theme) {

src/material/button-toggle/_button-toggle-theme.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
@use 'sass:map';
2-
@use '../../cdk/a11y';
32
@use '../core/style/private';
4-
@use '../core/theming/palette';
53
@use '../core/theming/theming';
64
@use '../core/typography/typography';
75
@use '../core/typography/typography-utils';

src/material/card/_card-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/style/private';
54
@use '../core/typography/typography';

src/material/checkbox/checkbox.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
@use 'sass:math';
2-
@use '../core/theming/theming';
32
@use '../core/style/elevation';
43
@use '../core/style/checkbox-common';
5-
@use '../core/ripple/ripple';
64
@use '../core/style/layout-common';
75
@use '../core/style/vendor-prefixes';
86
@use '../core/style/private';

src/material/chips/_chips-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@use 'sass:map';
22
@use 'sass:meta';
33
@use '../core/style/private';
4-
@use '../core/theming/palette';
54
@use '../core/theming/theming';
65
@use '../core/typography/typography';
76
@use '../core/typography/typography-utils';

src/material/core/option/_optgroup-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../theming/palette';
32
@use '../theming/theming';
43
@use '../typography/typography';
54
@use '../typography/typography-utils';

src/material/core/option/_option-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../theming/palette';
32
@use '../theming/theming';
43
@use '../typography/typography';
54
@use '../typography/typography-utils';

src/material/core/style/_checkbox-common.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
@use './variables';
2-
31
// The width/height of the checkbox element.
42
$size: 16px !default;
53

src/material/core/style/_menu-common.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
@use './variables';
21
@use './list-common';
32
@use './layout-common';
4-
@use './vendor-prefixes';
53

64
// The mixins below are shared between mat-menu and mat-select
75

src/material/datepicker/_datepicker-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
@use 'sass:math';
44
@use 'sass:meta';
55
@use '../core/style/private';
6-
@use '../core/theming/palette';
76
@use '../core/theming/theming';
87
@use '../core/typography/typography';
98
@use '../core/typography/typography-utils';

src/material/dialog/_dialog-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use 'sass:map';
22
@use '../core/style/private';
3-
@use '../core/theming/palette';
43
@use '../core/theming/theming';
54
@use '../core/typography/typography';
65
@use '../core/typography/typography-utils';

src/material/dialog/dialog.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../core/style/vendor-prefixes';
21
@use '../../cdk/a11y';
32

43

src/material/divider/_divider-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43

54
@mixin color($config-or-theme) {

src/material/expansion/_expansion-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use 'sass:map';
22
@use '../core/density/private/compatibility';
3-
@use '../core/theming/palette';
43
@use '../core/theming/theming';
54
@use '../core/style/private';
65
@use '../core/typography/typography';

src/material/form-field/_form-field-fill-theme.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
4-
@use '../core/style/form-common';
53
@use '../core/typography/typography';
64
@use '../core/typography/typography-utils';
75

src/material/form-field/_form-field-legacy-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/style/form-common';
54
@use '../core/typography/typography';

src/material/form-field/_form-field-outline-theme.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
4-
@use '../core/style/form-common';
53
@use '../core/typography/typography';
64
@use '../core/typography/typography-utils';
75

src/material/form-field/_form-field-standard-theme.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/style/form-common';
5-
@use '../core/typography/typography-utils';
64

75

86
// Theme styles that only apply to the standard appearance of the form-field.

src/material/form-field/_form-field-theme.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
4-
@use '../core/style/form-common';
53
@use '../core/typography/typography';
64
@use '../core/typography/typography-utils';
75

src/material/form-field/form-field-fill.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '../core/style/variables';
2-
@use '../core/style/vendor-prefixes';
32
@use '../../cdk/a11y';
43

54
// Styles that only apply to the fill appearance of the form-field.

src/material/form-field/form-field-legacy.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
@use '../core/style/variables';
2-
@use '../core/style/vendor-prefixes';
31
@use '../../cdk/a11y';
42

53

src/material/form-field/form-field-outline.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '../core/style/variables';
2-
@use '../core/style/vendor-prefixes';
32

43
// Styles that only apply to the outline appearance of the form-field.
54

src/material/form-field/form-field-standard.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '../core/style/variables';
2-
@use '../core/style/vendor-prefixes';
32
@use '../../cdk/a11y';
43

54

src/material/form-field/form-field.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '../core/style/variables';
2-
@use '../core/style/vendor-prefixes';
32
@use '../../cdk/a11y';
43

54

src/material/grid-list/_grid-list-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../core/theming/palette';
21
@use '../core/theming/theming';
32
@use '../core/typography/typography';
43
@use '../core/typography/typography-utils';

src/material/icon/icon.scss

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
@use '../core/style/variables';
2-
3-
41
// The width/height of the icon element.
52
$size: 24px !default;
63

src/material/list/_list-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/typography/typography';
54
@use '../core/typography/typography-utils';

src/material/list/list.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../core/style/variables';
21
@use '../core/style/list-common';
32
@use '../core/style/layout-common';
43
@use '../divider/divider-offset';

src/material/menu/_menu-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use 'sass:map';
22
@use '../core/style/private';
3-
@use '../core/theming/palette';
43
@use '../core/theming/theming';
54
@use '../core/typography/typography';
65
@use '../core/typography/typography-utils';

src/material/paginator/_paginator-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/typography/typography';
54
@use '../core/typography/typography-utils';

src/material/progress-bar/_progress-bar-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@use 'sass:map';
22
@use 'sass:meta';
33
@use 'sass:color';
4-
@use '../core/theming/palette';
54
@use '../core/theming/theming';
65

76
// Approximates the correct buffer color by using a mix between the theme color

src/material/progress-bar/progress-bar.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@use '../core/style/variables';
21
@use '../core/style/vendor-prefixes';
32
@use '../core/style/private';
43
@use '../../cdk/a11y';

src/material/progress-spinner/_progress-spinner-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43

54
@mixin color($config-or-theme) {

src/material/radio/_radio-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/typography/typography';
54
@use '../core/typography/typography-utils';

src/material/select/_select-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use '../core/theming/palette';
32
@use '../core/theming/theming';
43
@use '../core/style/private';
54
@use '../core/style/form-common';

src/material/sidenav/_sidenav-theme.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
@use 'sass:map';
33
@use 'sass:meta';
44
@use '../core/style/private';
5-
@use '../core/theming/palette';
65
@use '../core/theming/theming';
76

87
@mixin color($config-or-theme) {

src/material/sidenav/drawer.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@use '../core/style/variables';
22
@use '../core/style/layout-common';
3-
@use '../core/style/vendor-prefixes';
43
@use '../../cdk/a11y';
54

65
$drawer-content-z-index: 1;

0 commit comments

Comments
 (0)