mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-28 05:11:31 +00:00
Compare commits
1 Commits
fixed-ts-s
...
fixed-ts-s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a227941b9 |
@@ -1,5 +1,7 @@
|
|||||||
jest.mock("./MessageHandler");
|
jest.mock("./MessageHandler");
|
||||||
|
import { LogEntryLevel } from "../Contracts/Diagnostics";
|
||||||
import * as Logger from "./Logger";
|
import * as Logger from "./Logger";
|
||||||
|
import { MessageTypes } from "../Contracts/ExplorerContracts";
|
||||||
import { sendMessage } from "./MessageHandler";
|
import { sendMessage } from "./MessageHandler";
|
||||||
|
|
||||||
describe("Logger", () => {
|
describe("Logger", () => {
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export interface TableEntityProps {
|
|||||||
onDeleteEntity?: () => void;
|
onDeleteEntity?: () => void;
|
||||||
onEditEntity?: () => void;
|
onEditEntity?: () => void;
|
||||||
onEntityPropertyChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
onEntityPropertyChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
||||||
onEntityTypeChange: (event: React.FormEvent<HTMLElement>, selectedParam: IDropdownOption) => void;
|
onEntityTypeChange: (event: React.FormEvent<HTMLElement>, selectedParam: IDropdownOption | undefined) => void;
|
||||||
onEntityValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
onEntityValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
||||||
onSelectDate: (date: Date | null | undefined) => void;
|
onSelectDate: (date: Date | null | undefined) => void;
|
||||||
onEntityTimeValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
onEntityTimeValueChange: (event: React.FormEvent<HTMLElement>, newInput?: string) => void;
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export interface TreeNode {
|
|||||||
isLeavesParentsSeparate?: boolean; // Display parents together first, then leaves
|
isLeavesParentsSeparate?: boolean; // Display parents together first, then leaves
|
||||||
isLoading?: boolean;
|
isLoading?: boolean;
|
||||||
isSelected?: () => boolean;
|
isSelected?: () => boolean;
|
||||||
onClick?: (isExpanded: boolean) => void; // Only if a leaf, other click will expand/collapse
|
onClick?: (isExpanded?: boolean) => void; // Only if a leaf, other click will expand/collapse
|
||||||
onExpanded?: () => void;
|
onExpanded?: () => void;
|
||||||
onCollapsed?: () => void;
|
onCollapsed?: () => void;
|
||||||
onContextMenuOpen?: () => void;
|
onContextMenuOpen?: () => void;
|
||||||
@@ -73,7 +73,7 @@ interface TreeNodeComponentProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface TreeNodeComponentState {
|
interface TreeNodeComponentState {
|
||||||
isExpanded: boolean;
|
isExpanded?: boolean;
|
||||||
isMenuShowing: boolean;
|
isMenuShowing: boolean;
|
||||||
}
|
}
|
||||||
export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, TreeNodeComponentState> {
|
export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, TreeNodeComponentState> {
|
||||||
@@ -82,7 +82,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
private static readonly transitionDurationMS = 200;
|
private static readonly transitionDurationMS = 200;
|
||||||
private static readonly callbackDelayMS = 100; // avoid calling at the same time as transition to make it smoother
|
private static readonly callbackDelayMS = 100; // avoid calling at the same time as transition to make it smoother
|
||||||
private contextMenuRef = React.createRef<HTMLDivElement>();
|
private contextMenuRef = React.createRef<HTMLDivElement>();
|
||||||
private isExpanded: boolean;
|
private isExpanded?: boolean;
|
||||||
|
|
||||||
constructor(props: TreeNodeComponentProps) {
|
constructor(props: TreeNodeComponentProps) {
|
||||||
super(props);
|
super(props);
|
||||||
@@ -93,7 +93,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidUpdate(prevProps: TreeNodeComponentProps, prevState: TreeNodeComponentState) {
|
componentDidUpdate(_prevProps: TreeNodeComponentProps, prevState: TreeNodeComponentState) {
|
||||||
// Only call when expand has actually changed
|
// Only call when expand has actually changed
|
||||||
if (this.state.isExpanded !== prevState.isExpanded) {
|
if (this.state.isExpanded !== prevState.isExpanded) {
|
||||||
if (this.state.isExpanded) {
|
if (this.state.isExpanded) {
|
||||||
@@ -103,7 +103,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.props.node.isExpanded !== this.isExpanded) {
|
if (this.props.node.isExpanded !== this.isExpanded) {
|
||||||
this.isExpanded = this.props.node.isExpanded;
|
this.isExpanded = this.props.node && this.props.node.isExpanded;
|
||||||
this.setState({
|
this.setState({
|
||||||
isExpanded: this.props.node.isExpanded,
|
isExpanded: this.props.node.isExpanded,
|
||||||
});
|
});
|
||||||
@@ -114,7 +114,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
return this.renderNode(this.props.node, this.props.generation);
|
return this.renderNode(this.props.node, this.props.generation);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static getSortedChildren(treeNode: TreeNode): TreeNode[] {
|
private static getSortedChildren(treeNode: TreeNode): TreeNode[] | undefined {
|
||||||
if (!treeNode || !treeNode.children) {
|
if (!treeNode || !treeNode.children) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
{node.children && (
|
{node.children && (
|
||||||
<AnimateHeight duration={TreeNodeComponent.transitionDurationMS} height={this.state.isExpanded ? "auto" : 0}>
|
<AnimateHeight duration={TreeNodeComponent.transitionDurationMS} height={this.state.isExpanded ? "auto" : 0}>
|
||||||
<div className="nodeChildren" data-test={node.label}>
|
<div className="nodeChildren" data-test={node.label}>
|
||||||
{TreeNodeComponent.getSortedChildren(node).map((childNode: TreeNode) => (
|
{TreeNodeComponent?.getSortedChildren(node)?.map((childNode: TreeNode) => (
|
||||||
<TreeNodeComponent
|
<TreeNodeComponent
|
||||||
key={`${childNode.label}-${generation + 1}-${childNode.timestamp}`}
|
key={`${childNode.label}-${generation + 1}-${childNode.timestamp}`}
|
||||||
node={childNode}
|
node={childNode}
|
||||||
@@ -214,15 +214,15 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
* Recursive: is the node or any descendant selected
|
* Recursive: is the node or any descendant selected
|
||||||
* @param node
|
* @param node
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private static isAnyDescendantSelected(node: TreeNode): boolean {
|
private static isAnyDescendantSelected(node: TreeNode): boolean {
|
||||||
return (
|
return node.children
|
||||||
node.children &&
|
? node.children.reduce(
|
||||||
node.children.reduce(
|
(previous: boolean, child: TreeNode) =>
|
||||||
(previous: boolean, child: TreeNode) =>
|
previous || (child.isSelected && child.isSelected()) || TreeNodeComponent.isAnyDescendantSelected(child),
|
||||||
previous || (child.isSelected && child.isSelected()) || TreeNodeComponent.isAnyDescendantSelected(child),
|
false
|
||||||
false
|
)
|
||||||
)
|
: false;
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static createClickEvent(): MouseEvent {
|
private static createClickEvent(): MouseEvent {
|
||||||
@@ -230,7 +230,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
}
|
}
|
||||||
|
|
||||||
private onRightClick = (): void => {
|
private onRightClick = (): void => {
|
||||||
this.contextMenuRef.current.firstChild.dispatchEvent(TreeNodeComponent.createClickEvent());
|
this.contextMenuRef?.current?.firstChild?.dispatchEvent(TreeNodeComponent.createClickEvent());
|
||||||
};
|
};
|
||||||
|
|
||||||
private renderContextMenuButton(node: TreeNode): JSX.Element {
|
private renderContextMenuButton(node: TreeNode): JSX.Element {
|
||||||
@@ -253,18 +253,18 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
coverTarget: true,
|
coverTarget: true,
|
||||||
isBeakVisible: false,
|
isBeakVisible: false,
|
||||||
directionalHint: DirectionalHint.topAutoEdge,
|
directionalHint: DirectionalHint.topAutoEdge,
|
||||||
onMenuOpened: (contextualMenu?: IContextualMenuProps) => {
|
onMenuOpened: (_contextualMenu?: IContextualMenuProps) => {
|
||||||
this.setState({ isMenuShowing: true });
|
this.setState({ isMenuShowing: true });
|
||||||
node.onContextMenuOpen && node.onContextMenuOpen();
|
node.onContextMenuOpen && node.onContextMenuOpen();
|
||||||
},
|
},
|
||||||
onMenuDismissed: (contextualMenu?: IContextualMenuProps) => this.setState({ isMenuShowing: false }),
|
onMenuDismissed: (_contextualMenu?: IContextualMenuProps) => this.setState({ isMenuShowing: false }),
|
||||||
contextualMenuItemAs: (props: IContextualMenuItemProps) => (
|
contextualMenuItemAs: (props: IContextualMenuItemProps) => (
|
||||||
<div
|
<div
|
||||||
data-test={`treeComponentMenuItemContainer`}
|
data-test={`treeComponentMenuItemContainer`}
|
||||||
className="treeComponentMenuItemContainer"
|
className="treeComponentMenuItemContainer"
|
||||||
onContextMenu={(e) => e.target.dispatchEvent(TreeNodeComponent.createClickEvent())}
|
onContextMenu={(e) => e.target.dispatchEvent(TreeNodeComponent.createClickEvent())}
|
||||||
>
|
>
|
||||||
{props.item.onRenderIcon()}
|
{props.item.onRenderIcon && props.item.onRenderIcon()}
|
||||||
<span
|
<span
|
||||||
className={
|
className={
|
||||||
"treeComponentMenuItemLabel" + (props.item.className ? ` ${props.item.className}Label` : "")
|
"treeComponentMenuItemLabel" + (props.item.className ? ` ${props.item.className}Label` : "")
|
||||||
@@ -274,19 +274,21 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
items: node.contextMenu.map((menuItem: TreeNodeMenuItem) => ({
|
items: node.contextMenu
|
||||||
key: menuItem.label,
|
? node.contextMenu.map((menuItem: TreeNodeMenuItem) => ({
|
||||||
text: menuItem.label,
|
key: menuItem.label,
|
||||||
disabled: menuItem.isDisabled,
|
text: menuItem.label,
|
||||||
className: menuItem.styleClass,
|
disabled: menuItem.isDisabled,
|
||||||
onClick: () => {
|
className: menuItem.styleClass,
|
||||||
menuItem.onClick();
|
onClick: () => {
|
||||||
TelemetryProcessor.trace(Action.ClickResourceTreeNodeContextMenuItem, ActionModifiers.Mark, {
|
menuItem.onClick();
|
||||||
label: menuItem.label,
|
TelemetryProcessor.trace(Action.ClickResourceTreeNodeContextMenuItem, ActionModifiers.Mark, {
|
||||||
});
|
label: menuItem.label,
|
||||||
},
|
});
|
||||||
onRenderIcon: (props: any) => <img src={menuItem.iconSrc} alt="" />,
|
},
|
||||||
})),
|
onRenderIcon: (_props: any) => <img src={menuItem.iconSrc} alt="" />,
|
||||||
|
}))
|
||||||
|
: [],
|
||||||
}}
|
}}
|
||||||
styles={buttonStyles}
|
styles={buttonStyles}
|
||||||
/>
|
/>
|
||||||
@@ -324,7 +326,7 @@ export class TreeNodeComponent extends React.Component<TreeNodeComponentProps, T
|
|||||||
this.props.node.onClick && this.props.node.onClick(this.state.isExpanded);
|
this.props.node.onClick && this.props.node.onClick(this.state.isExpanded);
|
||||||
};
|
};
|
||||||
|
|
||||||
private onNodeKeyPress = (event: React.KeyboardEvent<HTMLDivElement>, node: TreeNode): void => {
|
private onNodeKeyPress = (event: React.KeyboardEvent<HTMLDivElement>, _node: TreeNode): void => {
|
||||||
if (event.charCode === Constants.KeyCodes.Space || event.charCode === Constants.KeyCodes.Enter) {
|
if (event.charCode === Constants.KeyCodes.Space || event.charCode === Constants.KeyCodes.Enter) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.props.node.onClick && this.props.node.onClick(this.state.isExpanded);
|
this.props.node.onClick && this.props.node.onClick(this.state.isExpanded);
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { GraphData, GremlinEdge, GremlinVertex } from "./GraphData";
|
import { GraphData, GremlinVertex, GremlinEdge } from "./GraphData";
|
||||||
|
|
||||||
describe("Graph Data", () => {
|
describe("Graph Data", () => {
|
||||||
it("should set only one node as root", () => {
|
it("should set only one node as root", () => {
|
||||||
const graphData = new GraphData<GremlinVertex, GremlinEdge>();
|
const graphData = new GraphData<GremlinVertex, GremlinEdge>();
|
||||||
const v1: GremlinVertex = { id: "1", label: undefined };
|
const v1: GremlinVertex = { id: "1", label: null };
|
||||||
const v2: GremlinVertex = { id: "2", label: undefined };
|
const v2: GremlinVertex = { id: "2", label: null };
|
||||||
const v3: GremlinVertex = { id: "3", label: undefined };
|
const v3: GremlinVertex = { id: "3", label: null };
|
||||||
v3._isRoot = true;
|
v3._isRoot = true;
|
||||||
|
|
||||||
graphData.addVertex(v1);
|
graphData.addVertex(v1);
|
||||||
@@ -28,9 +28,9 @@ describe("Graph Data", () => {
|
|||||||
|
|
||||||
it("should properly find root id", () => {
|
it("should properly find root id", () => {
|
||||||
const graphData = new GraphData();
|
const graphData = new GraphData();
|
||||||
const v1: GremlinVertex = { id: "1", label: undefined };
|
const v1: GremlinVertex = { id: "1", label: null };
|
||||||
const v2: GremlinVertex = { id: "2", label: undefined };
|
const v2: GremlinVertex = { id: "2", label: null };
|
||||||
const v3: GremlinVertex = { id: "3", label: undefined };
|
const v3: GremlinVertex = { id: "3", label: null };
|
||||||
|
|
||||||
graphData.addVertex(v1);
|
graphData.addVertex(v1);
|
||||||
graphData.addVertex(v2);
|
graphData.addVertex(v2);
|
||||||
@@ -44,12 +44,12 @@ describe("Graph Data", () => {
|
|||||||
it("should remove edge from graph", () => {
|
it("should remove edge from graph", () => {
|
||||||
const graphData = new GraphData();
|
const graphData = new GraphData();
|
||||||
|
|
||||||
graphData.addVertex({ id: "v1", label: undefined });
|
graphData.addVertex({ id: "v1", label: null });
|
||||||
graphData.addVertex({ id: "v2", label: undefined });
|
graphData.addVertex({ id: "v2", label: null });
|
||||||
graphData.addVertex({ id: "v3", label: undefined });
|
graphData.addVertex({ id: "v3", label: null });
|
||||||
|
|
||||||
graphData.addEdge({ id: "e1", inV: "v1", outV: "v2", label: "" });
|
graphData.addEdge({ id: "e1", inV: "v1", outV: "v2", label: null });
|
||||||
graphData.addEdge({ id: "e2", inV: "v1", outV: "v3", label: "" });
|
graphData.addEdge({ id: "e2", inV: "v1", outV: "v3", label: null });
|
||||||
|
|
||||||
// in edge
|
// in edge
|
||||||
graphData.removeEdge("e1", false);
|
graphData.removeEdge("e1", false);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { SimulationLinkDatum, SimulationNodeDatum } from "d3";
|
|
||||||
import _ from "underscore";
|
import _ from "underscore";
|
||||||
|
import { SimulationNodeDatum, SimulationLinkDatum } from "d3";
|
||||||
|
|
||||||
export interface PaginationInfo {
|
export interface PaginationInfo {
|
||||||
total: number;
|
total: number;
|
||||||
@@ -10,7 +10,7 @@ export interface PaginationInfo {
|
|||||||
|
|
||||||
export interface GremlinVertex {
|
export interface GremlinVertex {
|
||||||
id: string;
|
id: string;
|
||||||
label?: string;
|
label: string;
|
||||||
inE?: { [label: string]: GremlinShortInEdge[] };
|
inE?: { [label: string]: GremlinShortInEdge[] };
|
||||||
outE?: { [label: string]: GremlinShortOutEdge[] };
|
outE?: { [label: string]: GremlinShortOutEdge[] };
|
||||||
properties?: { [propName: string]: GremlinProperty[] };
|
properties?: { [propName: string]: GremlinProperty[] };
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ interface InitialProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Redux
|
// Redux
|
||||||
const makeMapStateToProps = (_state: AppState, initialProps: InitialProps) => {
|
const makeMapStateToProps = (state: AppState, initialProps: InitialProps) => {
|
||||||
const mapStateToProps = (state: AppState): StateProps => ({
|
const mapStateToProps = (state: AppState): StateProps => ({
|
||||||
isNotebookUntrusted: NotebookUtil.isNotebookUntrusted(state, initialProps.contentRef),
|
isNotebookUntrusted: NotebookUtil.isNotebookUntrusted(state, initialProps.contentRef),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ import * as DataModels from "../Contracts/DataModels";
|
|||||||
import { userContext } from "../UserContext";
|
import { userContext } from "../UserContext";
|
||||||
|
|
||||||
export class DefaultExperienceUtility {
|
export class DefaultExperienceUtility {
|
||||||
public static getApiKindFromDefaultExperience(defaultExperience: typeof userContext.apiType): DataModels.ApiKind {
|
public static getApiKindFromDefaultExperience(
|
||||||
|
defaultExperience: typeof userContext.apiType | null
|
||||||
|
): DataModels.ApiKind {
|
||||||
if (!defaultExperience) {
|
if (!defaultExperience) {
|
||||||
return DataModels.ApiKind.SQL;
|
return DataModels.ApiKind.SQL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,7 @@
|
|||||||
"noUnusedParameters": true
|
"noUnusedParameters": true
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"./src/Explorer/Graph/GraphExplorerComponent/GraphData.test.ts",
|
"./src/Explorer/Controls/TreeComponent/TreeComponent.tsx",
|
||||||
"./src/Common/Logger.test.ts",
|
|
||||||
"./src/AuthType.ts",
|
"./src/AuthType.ts",
|
||||||
"./src/Bindings/ReactBindingHandler.ts",
|
"./src/Bindings/ReactBindingHandler.ts",
|
||||||
"./src/Common/ArrayHashMap.ts",
|
"./src/Common/ArrayHashMap.ts",
|
||||||
@@ -65,7 +64,6 @@
|
|||||||
"./src/Explorer/Notebook/NotebookUtil.ts",
|
"./src/Explorer/Notebook/NotebookUtil.ts",
|
||||||
"./src/Explorer/Notebook/SchemaAnalyzer/SchemaAnalyzerSplashScreen.tsx",
|
"./src/Explorer/Notebook/SchemaAnalyzer/SchemaAnalyzerSplashScreen.tsx",
|
||||||
"./src/Explorer/Notebook/SchemaAnalyzer/SchemaAnalyzerUtils.ts",
|
"./src/Explorer/Notebook/SchemaAnalyzer/SchemaAnalyzerUtils.ts",
|
||||||
"./src/Explorer/Notebook/SecurityWarningBar/SecurityWarningBar.tsx",
|
|
||||||
"./src/Explorer/OpenFullScreen.test.tsx",
|
"./src/Explorer/OpenFullScreen.test.tsx",
|
||||||
"./src/Explorer/OpenFullScreen.tsx",
|
"./src/Explorer/OpenFullScreen.tsx",
|
||||||
"./src/Explorer/Panes/PanelContainerComponent.test.tsx",
|
"./src/Explorer/Panes/PanelContainerComponent.test.tsx",
|
||||||
@@ -101,17 +99,6 @@
|
|||||||
"./src/SelfServe/Example/SelfServeExample.types.ts",
|
"./src/SelfServe/Example/SelfServeExample.types.ts",
|
||||||
"./src/SelfServe/SelfServeStyles.tsx",
|
"./src/SelfServe/SelfServeStyles.tsx",
|
||||||
"./src/SelfServe/SqlX/SqlxTypes.ts",
|
"./src/SelfServe/SqlX/SqlxTypes.ts",
|
||||||
"./src/Shared/Constants.ts",
|
|
||||||
"./src/Shared/DefaultExperienceUtility.ts",
|
|
||||||
"./src/Shared/ExplorerSettings.ts",
|
|
||||||
"./src/Shared/LocalStorageUtility.ts",
|
|
||||||
"./src/Shared/PriceEstimateCalculator.ts",
|
|
||||||
"./src/Shared/SessionStorageUtility.ts",
|
|
||||||
"./src/Shared/StorageUtility.test.ts",
|
|
||||||
"./src/Shared/StorageUtility.ts",
|
|
||||||
"./src/Shared/StringUtility.test.ts",
|
|
||||||
"./src/Shared/StringUtility.ts",
|
|
||||||
"./src/Shared/appInsights.ts",
|
|
||||||
"./src/UserContext.ts",
|
"./src/UserContext.ts",
|
||||||
"./src/Utils/APITypeUtils.ts",
|
"./src/Utils/APITypeUtils.ts",
|
||||||
"./src/Utils/AutoPilotUtils.ts",
|
"./src/Utils/AutoPilotUtils.ts",
|
||||||
@@ -144,7 +131,8 @@
|
|||||||
"./src/quickstart.ts",
|
"./src/quickstart.ts",
|
||||||
"./src/setupTests.ts",
|
"./src/setupTests.ts",
|
||||||
"./src/userContext.test.ts",
|
"./src/userContext.test.ts",
|
||||||
"src/Common/EntityValue.tsx"
|
"src/Common/EntityValue.tsx",
|
||||||
|
"src/Common/TableEntity.tsx"
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"src/CellOutputViewer/transforms/**/*",
|
"src/CellOutputViewer/transforms/**/*",
|
||||||
@@ -166,7 +154,7 @@
|
|||||||
"src/Localization/**/*",
|
"src/Localization/**/*",
|
||||||
"src/Platform/Emulator/**/*",
|
"src/Platform/Emulator/**/*",
|
||||||
"src/SelfServe/Documentation/**/*",
|
"src/SelfServe/Documentation/**/*",
|
||||||
"src/Shared/Telemetry/**/*",
|
"src/Shared/**/*",
|
||||||
"src/Terminal/**/*",
|
"src/Terminal/**/*",
|
||||||
"src/Utils/arm/**/*"
|
"src/Utils/arm/**/*"
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user