You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2022/01/05 05:39:45 UTC
[superset] 01/03: Initial commit
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch tech-debt-metrics
in repository https://gitbox.apache.org/repos/asf/superset.git
commit c9dd1fc4a1d645378afef3d02d1abd74b2bc3dbe
Author: Evan Rusackas <ev...@preset.io>
AuthorDate: Thu Nov 11 12:18:54 2021 -0700
Initial commit
---
superset-frontend/eslint-stats.json | 338 ++++++++++++++++++++++++++++++++++++
superset-frontend/eslint_metrics.js | 31 ++++
superset-frontend/package.json | 1 +
3 files changed, 370 insertions(+)
diff --git a/superset-frontend/eslint-stats.json b/superset-frontend/eslint-stats.json
new file mode 100644
index 0000000..c8ca7e5
--- /dev/null
+++ b/superset-frontend/eslint-stats.json
@@ -0,0 +1,338 @@
+{
+ "metrics": [
+
+ {
+ "rule": "@typescript-eslint/no-non-null-assertion",
+ "count": 8,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts:77:22",
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/dashboard.helper.ts:79:15",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListViewCard/index.tsx:190:23",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListViewCard/index.tsx:252:29",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/menu/WithPopoverMenu.tsx:66:18",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx:61:30",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopoverTrigger.tsx:62:29",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/VizTypeControl/VizTypeGallery.tsx:567:5"
+ ]
+ },
+
+ {
+ "rule": "@typescript-eslint/no-explicit-any",
+ "count": 2,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts:24:35",
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/utils/vizPlugins.ts:50:44"
+ ]
+ },
+
+ {
+ "rule": "@typescript-eslint/no-unused-vars",
+ "count": 13,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts:27:10",
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/save.test.js:37:25",
+ "/Users/evan/GitHub/superset/superset-frontend/cypress-base/cypress/integration/dashboard/save.test.js:58:34",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/TableSelector/index.tsx:216:16",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTitleContainer.tsx:165:20",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeColumn/buildQuery.ts:36:38",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:231:31",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:237:32",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:249:32",
+ "/Users/evan/GitHub/superset/superset-frontend/src/utils/downloadAsImage.ts:53:3",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx:31:3",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/query/QueryList.tsx:83:38",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:93:3"
+ ]
+ },
+
+ {
+ "rule": "prettier/prettier",
+ "count": 22,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:2:35",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:4:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:5:7",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:6:9",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:7:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:9:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:10:7",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:11:5",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:12:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:13:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:17:10",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:24:7",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:27:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:29:1",
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:31:43",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:387:47",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:388:38",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:389:16",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:390:9",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:391:1",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:392:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:393:1"
+ ]
+ },
+
+ {
+ "rule": "no-param-reassign",
+ "count": 1,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/eslint_metrics.js:6:11"
+ ]
+ },
+
+ {
+ "rule": "no-restricted-imports",
+ "count": 26,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/spec/helpers/testing-library.tsx:22:25",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/dashboard/components/FiltersBadge_spec.tsx:21:10",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/dashboard/components/FiltersBadge_spec.tsx:24:8",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/dashboard/components/RefreshIntervalModal_spec.tsx:29:10",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/components/CheckboxControl_spec.tsx:22:25",
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx:20:21",
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx:28:25",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/CertifiedIcon/index.tsx:20:13",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Collapse/Collapse.test.tsx:22:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx:23:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Datasource/ChangeDatasourceModal.test.jsx:26:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Datasource/DatasourceModal.test.jsx:27:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ErrorMessage/BasicErrorAlert.test.tsx:22:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx:23:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Icons/Icons.stories.tsx:20:18",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/ListView.test.jsx:23:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/MessageToasts/Toast.test.jsx:21:25",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ModalTrigger/ModalTrigger.test.tsx:22:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Popover/Popover.test.tsx:22:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/Tooltip/Tooltip.test.tsx:22:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/PropertiesModal/PropertiesModal.test.tsx:25:8",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/filterscope/FilterScope.test.tsx:20:10",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterBar.test.tsx:24:8",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx:24:35",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/exploreUtils/shouldUseLegacyApi.test.ts:19:8",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/components/AlertStatusIcon.tsx:19:13"
+ ]
+ },
+
+ {
+ "rule": "jest/no-disabled-tests",
+ "count": 8,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/components/ExploreViewContainer_spec.jsx:35:1",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/components/MetricsControl_spec.jsx:71:1",
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/actions/sqlLab.test.js:147:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/actions/sqlLab.test.js:215:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterBar.test.tsx:319:3",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterBar.test.tsx:361:3",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.test.tsx:197:1",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/components/AlertReportCronScheduler.test.tsx:43:3"
+ ]
+ },
+
+ {
+ "rule": "jest/expect-expect",
+ "count": 9,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:57:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:66:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:78:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:90:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:104:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:116:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:195:5",
+ "/Users/evan/GitHub/superset/superset-frontend/spec/javascripts/explore/utils_spec.jsx:202:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/reducers/sqlLab.test.js:247:5"
+ ]
+ },
+
+ {
+ "rule": "react-hooks/exhaustive-deps",
+ "count": 134,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/src/SqlLab/components/QueryTable/index.jsx:292:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/DatabaseSelector/index.tsx:232:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/EditableTitle/index.tsx:68:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/utils.ts:217:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/utils.ts:240:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/utils.ts:292:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/utils.ts:330:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ListView/utils.ts:336:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/ReportModal/index.tsx:206:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/TableView/TableView.tsx:168:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/components/TableView/TableView.tsx:177:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.tsx:68:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.tsx:68:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.tsx:102:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.tsx:102:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/DashboardBuilder/state.ts:82:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/CascadeFilters/CascadePopover/index.tsx:156:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx:98:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.tsx:100:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx:185:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx:190:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:187:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:240:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:240:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:240:32",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:244:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx:244:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/state.ts:147:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/state.ts:75:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:508:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:694:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:712:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:713:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:715:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FiltersConfigForm.tsx:723:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/state.ts:45:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/state.ts:76:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/state.ts:84:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/DataTableControl/index.tsx:153:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/DataTablesPane/index.tsx:218:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/DataTablesPane/index.tsx:244:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:156:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:289:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:296:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:306:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:346:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:373:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/ConditionalFormattingControl/ConditionalFormattingControl.tsx:100:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/ConditionalFormattingControl/ConditionalFormattingControl.tsx:100:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DateFilterControl/DateFilterLabel.tsx:233:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndFilterSelect.tsx:384:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndMetricSelect.tsx:165:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndMetricSelect.tsx:165:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DndColumnSelectControl/DndMetricSelect.tsx:186:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx:358:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx:220:74",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx:268:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/ViewQueryModal.tsx:92:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/ViewQueryModal.tsx:92:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/VizTypeControl/VizTypeGallery.tsx:424:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/GroupBy/GroupByFilterPlugin.tsx:57:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/GroupBy/GroupByFilterPlugin.tsx:57:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/GroupBy/GroupByFilterPlugin.tsx:63:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/GroupBy/GroupByFilterPlugin.tsx:63:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx:168:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx:168:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Range/RangeFilterPlugin.tsx:168:42",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:153:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:160:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:160:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:165:33",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:234:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:243:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:248:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Select/SelectFilterPlugin.tsx:248:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/Time/TimeFilterPlugin.tsx:93:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeColumn/TimeColumnFilterPlugin.tsx:69:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeColumn/TimeColumnFilterPlugin.tsx:69:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeColumn/TimeColumnFilterPlugin.tsx:73:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeColumn/TimeColumnFilterPlugin.tsx:73:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:57:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:57:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:83:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:83:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:87:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx:87:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertList.tsx:147:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertList.tsx:336:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertList.tsx:413:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:914:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:990:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:996:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/alert/ExecutionLog.tsx:80:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:98:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:199:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:199:12",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:253:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:264:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:265:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:266:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:267:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:202:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:213:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:214:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:215:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:262:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:317:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/chart/ChartList.tsx:412:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/chart/ChartList.tsx:416:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:196:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:207:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:208:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:209:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:241:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:303:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:401:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:405:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx:818:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx:836:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:486:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/query/QueryList.tsx:327:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:111:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:183:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:271:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:315:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:360:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:467:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/hooks.ts:548:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/ActivityTable.tsx:174:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:110:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:100:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/Welcome.tsx:236:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/Welcome.tsx:255:6",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/Welcome.tsx:261:6"
+ ]
+ },
+
+ {
+ "rule": "no-console",
+ "count": 17,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/actions/sliceEntities.js:107:13",
+ "/Users/evan/GitHub/superset/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/utils.ts:99:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:378:3",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:388:9",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:692:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/datasource/DatasourceEditor.jsx:766:13",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:85:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:94:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:135:11",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:174:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:185:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:213:9",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:232:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:243:9",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:260:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/utils/downloadAsImage.ts:92:9",
+ "/Users/evan/GitHub/superset/superset-frontend/src/utils/testUtils.ts:38:5"
+ ]
+ },
+
+ {
+ "rule": "react/forbid-foreign-prop-types",
+ "count": 1,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/ExploreViewContainer.jsx:60:24"
+ ]
+ },
+
+ {
+ "rule": "@typescript-eslint/no-use-before-define",
+ "count": 9,
+ "files": [
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DateFilterControl/components/AdvancedFrame.tsx:28:25",
+ "/Users/evan/GitHub/superset/superset-frontend/src/explore/components/controls/DateFilterControl/components/AdvancedFrame.tsx:31:20",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:98:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:101:5",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:120:40",
+ "/Users/evan/GitHub/superset/superset-frontend/src/middleware/asyncEvent.ts:183:42",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:351:38",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:107:7",
+ "/Users/evan/GitHub/superset/superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:97:7"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/superset-frontend/eslint_metrics.js b/superset-frontend/eslint_metrics.js
new file mode 100644
index 0000000..69b2f33
--- /dev/null
+++ b/superset-frontend/eslint_metrics.js
@@ -0,0 +1,31 @@
+module.exports = results => {
+ const byRuleId = results.reduce(
+ (map, current) => {
+ current.messages.forEach(({ ruleId, line, column }) => {
+ if (!map[ruleId]) {
+ map[ruleId] = [];
+ }
+
+ const occurrence = `${current.filePath}:${line}:${column}`;
+ map[ruleId].push(occurrence);
+ });
+ return map;
+ }, {}
+ );
+
+ const metricsByRule = Object.entries(byRuleId)
+ .map(([ruleId, occurrences]) => `
+ {
+ "rule": "${ruleId}",
+ "count": ${occurrences.length},
+ "files": [
+ \t"${occurrences.join('",\n\t\t"')}"
+ ]
+ }`)
+ .join(',\n');
+
+ return `{\n\t"metrics": [\n\t\t\t${metricsByRule}\n\t]\n}`;
+};
+
+
+// use via `eslint -f ./eslint_metrics.js`
\ No newline at end of file
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index 76a832e..3b5110b 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -47,6 +47,7 @@
"format": "npm run _prettier -- --write",
"lint": "npm run _lint && npm run type",
"lint-fix": "npm run _lint -- --fix && npm run type",
+ "lint-stats": "eslint -f ./eslint_metrics.js -o eslint-stats.json --ignore-path=.eslintignore --ext .js,.jsx,.ts,.tsx .",
"plugins:build": "node ./scripts/build.js",
"plugins:build-assets": "node ./scripts/copyAssets.js",
"plugins:build-storybook": "cd packages/superset-ui-demo && npm run build-storybook",