add strict nulls for contrib/extensions (#11916)

This commit is contained in:
Anthony Dresser
2020-08-21 17:17:59 -07:00
committed by GitHub
parent f4f4271115
commit 9d680be37a
20 changed files with 125 additions and 112 deletions

View File

@@ -15,22 +15,9 @@ import { NAV_SECTION, validateNavSectionContributionAndRegisterIcon } from 'sql/
import { WIDGETS_CONTAINER, validateWidgetContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardWidgetContainer.contribution';
import { GRID_CONTAINER, validateGridContainerContribution } from 'sql/workbench/contrib/dashboard/browser/containers/dashboardGridContainer.contribution';
import { values } from 'vs/base/common/collections';
import { IUserFriendlyIcon } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
import { isValidIcon, createCSSRuleForIcon } from 'sql/workbench/contrib/dashboard/browser/dashboardIconUtil';
import { IDashboardTabGroup, IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
export interface IDashboardTabContrib {
id: string;
title: string;
container: { [key: string]: any };
provider: string | string[];
when?: string;
description?: string;
alwaysShow?: boolean;
isHomeTab?: boolean;
group?: string;
icon?: IUserFriendlyIcon;
}
import { IDashboardTabContrib } from 'sql/platform/extensions/common/extensions';
export interface IDashboardTabGroupContrib {
id: string;

View File

@@ -9,6 +9,7 @@ import { Action } from 'vs/base/common/actions';
import { Disposable } from 'vs/base/common/lifecycle';
import { TabType } from 'sql/base/browser/ui/panel/tab.component';
import { IDashboardTab } from 'sql/workbench/services/dashboard/browser/common/interfaces';
import { IUserFriendlyIcon } from 'sql/platform/extensions/common/extensions';
export interface IDashboardWidget {
actions: Array<Action>;
@@ -47,7 +48,6 @@ export interface TabConfig extends IDashboardTab {
}
export type IUserFriendlyIcon = string | { light: string; dark: string; };
export interface NavSectionConfig {
id: string;

View File

@@ -3,12 +3,12 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IUserFriendlyIcon } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
import { asCSSUrl, createCSSRule } from 'vs/base/browser/dom';
import { IdGenerator } from 'vs/base/common/idGenerator';
import * as resources from 'vs/base/common/resources';
import * as nls from 'vs/nls';
import { IExtensionPointUser } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import { IUserFriendlyIcon } from 'sql/platform/extensions/common/extensions';
const ids = new IdGenerator('contrib-dashboard-icon-');
export function createCSSRuleForIcon(icon: IUserFriendlyIcon, extension: IExtensionPointUser<any>): string {

View File

@@ -15,7 +15,7 @@ import { DashboardWidget, IDashboardWidget, WIDGET_CONFIG, WidgetConfig } from '
import { CommonServiceInterface } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service';
import { ComponentHostDirective } from 'sql/base/browser/componentHost.directive';
import { InsightAction, InsightActionContext } from 'sql/workbench/browser/actions';
import { Extensions, IInsightRegistry, IInsightsConfig, IInsightsView, getWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
import { Extensions, IInsightRegistry, IInsightsView, getWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
import { resolveQueryFilePath } from 'sql/workbench/services/insights/common/insightsUtils';
import { RunInsightQueryAction } from './actions';
@@ -35,6 +35,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import { IFileService } from 'vs/platform/files/common/files';
import { URI } from 'vs/base/common/uri';
import { subscriptionToDisposable } from 'sql/base/browser/lifecycle';
import { IInsightsConfig } from 'sql/platform/extensions/common/extensions';
const insightRegistry = Registry.as<IInsightRegistry>(Extensions.InsightContribution);

View File

@@ -7,13 +7,13 @@ import { join } from 'vs/base/common/path';
import { registerDashboardWidget, registerNonCustomDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry';
import { Extensions as InsightExtensions, IInsightRegistry, setWidgetAutoRefreshState } from 'sql/platform/dashboard/browser/insightRegistry';
import { IInsightTypeContrib } from './interfaces';
import { insightsContribution, insightsSchema } from 'sql/workbench/contrib/dashboard/browser/widgets/insights/insightsWidgetSchemas';
import { IExtensionPointUser, ExtensionsRegistry } from 'vs/workbench/services/extensions/common/extensionsRegistry';
import { Registry } from 'vs/platform/registry/common/platform';
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';
import { IInsightTypeContrib } from 'sql/platform/extensions/common/extensions';
const insightRegistry = Registry.as<IInsightRegistry>(InsightExtensions.InsightContribution);

View File

@@ -1,11 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IInsightsConfig } from 'sql/platform/dashboard/browser/insightRegistry';
export interface IInsightTypeContrib {
id: string;
contrib: IInsightsConfig;
}