升级dev下的typescript-5.3.0、@types/wicg-file-system-access,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,以及修改相关的适配.

This commit is contained in:
wangpenglong 2023-11-01 16:38:29 +08:00 committed by chriswang521
parent 6fb0f62d4d
commit 6f3405ef1c
37 changed files with 235 additions and 176 deletions

View File

@ -4,7 +4,7 @@
"license": "MIT", "license": "MIT",
"description": "Dependencies shared by all extensions", "description": "Dependencies shared by all extensions",
"dependencies": { "dependencies": {
"typescript": "4.7.3" "typescript": "^5.2.2"
}, },
"scripts": { "scripts": {
"postinstall": "node ./postinstall.mjs" "postinstall": "node ./postinstall.mjs"

View File

@ -270,7 +270,7 @@ class TreeInputHistory implements vscode.TreeDataProvider<HistoryItem>{
vscode.commands.registerCommand('_references-view.showHistoryItem', async (item) => { vscode.commands.registerCommand('_references-view.showHistoryItem', async (item) => {
if (item instanceof HistoryItem) { if (item instanceof HistoryItem) {
const position = item.anchor.guessedTrackedPosition() ?? item.input.location.range.start; const position = item.anchor.guessedTrackedPosition() ?? item.input.location.range.start;
return vscode.commands.executeCommand('vscode.open', item.input.location.uri, { selection: new vscode.Range(position, position) }); await vscode.commands.executeCommand('vscode.open', item.input.location.uri, { selection: new vscode.Range(position, position) });
} }
}), }),
vscode.commands.registerCommand('references-view.pickFromHistory', async () => { vscode.commands.registerCommand('references-view.pickFromHistory', async () => {

View File

@ -521,7 +521,7 @@ class MyCompletionItem extends vscode.CompletionItem {
} }
} }
function getScriptKindDetails(tsEntry: protocol.CompletionEntry,): string | undefined { function getScriptKindDetails(tsEntry: Proto.CompletionEntry,): string | undefined {
if (!tsEntry.kindModifiers || tsEntry.kind !== PConst.Kind.script) { if (!tsEntry.kindModifiers || tsEntry.kind !== PConst.Kind.script) {
return; return;
} }

View File

@ -1,13 +1,18 @@
import * as Proto from 'typescript/lib/protocol'; import * as ts from 'typescript/lib/tsserverlibrary';
export = Proto; export = ts.server.protocol;
declare enum ServerType { declare enum ServerType {
Syntax = 'syntax', Syntax = 'syntax',
Semantic = 'semantic', Semantic = 'semantic',
} }
declare module 'typescript/lib/protocol' { declare module 'typescript/lib/tsserverlibrary' {
namespace server.protocol {
type TextInsertion = ts.TextInsertion;
type ScriptElementKind = ts.ScriptElementKind;
interface Response { interface Response {
readonly _serverType?: ServerType; readonly _serverType?: ServerType;
} }
}
} }

View File

@ -5,7 +5,7 @@
import * as assert from 'assert'; import * as assert from 'assert';
import 'mocha'; import 'mocha';
import { SymbolDisplayPart } from 'typescript/lib/protocol'; import { SymbolDisplayPart } from '../../protocol';
import { Uri } from 'vscode'; import { Uri } from 'vscode';
import { IFilePathToResourceConverter, markdownDocumentation, plainWithLinks, tagsMarkdownPreview } from '../../utils/previewer'; import { IFilePathToResourceConverter, markdownDocumentation, plainWithLinks, tagsMarkdownPreview } from '../../utils/previewer';

View File

@ -5,6 +5,7 @@
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import * as objects from '../utils/objects'; import * as objects from '../utils/objects';
import type * as Proto from '../protocol';
export enum TsServerLogLevel { export enum TsServerLogLevel {
Off, Off,
@ -112,7 +113,7 @@ export interface TypeScriptServiceConfiguration {
readonly enableProjectDiagnostics: boolean; readonly enableProjectDiagnostics: boolean;
readonly maxTsServerMemory: number; readonly maxTsServerMemory: number;
readonly enablePromptUseWorkspaceTsdk: boolean; readonly enablePromptUseWorkspaceTsdk: boolean;
readonly watchOptions: protocol.WatchOptions | undefined; readonly watchOptions: Proto.WatchOptions | undefined;
readonly includePackageJsonAutoImports: 'auto' | 'on' | 'off' | undefined; readonly includePackageJsonAutoImports: 'auto' | 'on' | 'off' | undefined;
readonly enableTsServerTracing: boolean; readonly enableTsServerTracing: boolean;
} }
@ -196,8 +197,8 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
return configuration.get<boolean>('typescript.tsserver.experimental.enableProjectDiagnostics', false); return configuration.get<boolean>('typescript.tsserver.experimental.enableProjectDiagnostics', false);
} }
protected readWatchOptions(configuration: vscode.WorkspaceConfiguration): protocol.WatchOptions | undefined { protected readWatchOptions(configuration: vscode.WorkspaceConfiguration): Proto.WatchOptions | undefined {
return configuration.get<protocol.WatchOptions>('typescript.tsserver.watchOptions'); return configuration.get<Proto.WatchOptions>('typescript.tsserver.watchOptions');
} }
protected readIncludePackageJsonAutoImports(configuration: vscode.WorkspaceConfiguration): 'auto' | 'on' | 'off' | undefined { protected readIncludePackageJsonAutoImports(configuration: vscode.WorkspaceConfiguration): 'auto' | 'on' | 'off' | undefined {

View File

@ -163,7 +163,7 @@ export async function openProjectConfigForFile(
return; return;
} }
let res: ServerResponse.Response<protocol.ProjectInfoResponse> | undefined; let res: ServerResponse.Response<Proto.ProjectInfoResponse> | undefined;
try { try {
res = await client.execute('projectInfo', { file, needFileNameList: false }, nulToken); res = await client.execute('projectInfo', { file, needFileNameList: false }, nulToken);
} catch { } catch {

View File

@ -42,10 +42,10 @@ node-gyp-build@^4.3.0:
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3"
integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==
typescript@4.7.3: typescript@^5.2.2:
version "4.7.3" version "5.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
vscode-grammar-updater@^1.1.0: vscode-grammar-updater@^1.1.0:
version "1.1.0" version "1.1.0"

View File

@ -116,15 +116,15 @@
"@types/trusted-types": "^1.0.6", "@types/trusted-types": "^1.0.6",
"@types/vscode-notebook-renderer": "^1.60.0", "@types/vscode-notebook-renderer": "^1.60.0",
"@types/webpack": "^5.28.1", "@types/webpack": "^5.28.1",
"@types/wicg-file-system-access": "^2020.9.5", "@types/wicg-file-system-access": "^2020.9.6",
"@types/windows-foreground-love": "^0.3.0", "@types/windows-foreground-love": "^0.3.0",
"@types/windows-mutex": "^0.4.0", "@types/windows-mutex": "^0.4.0",
"@types/windows-process-tree": "^0.2.0", "@types/windows-process-tree": "^0.2.0",
"@types/winreg": "^1.2.30", "@types/winreg": "^1.2.30",
"@types/yauzl": "^2.9.1", "@types/yauzl": "^2.9.1",
"@types/yazl": "^2.4.2", "@types/yazl": "^2.4.2",
"@typescript-eslint/eslint-plugin": "^5.10.0", "@typescript-eslint/eslint-plugin": "^5.57.0",
"@typescript-eslint/parser": "^5.10.0", "@typescript-eslint/parser": "^5.57.0",
"@vscode/telemetry-extractor": "^1.9.6", "@vscode/telemetry-extractor": "^1.9.6",
"@vscode/test-web": "^0.0.22", "@vscode/test-web": "^0.0.22",
"ansi-colors": "^3.2.3", "ansi-colors": "^3.2.3",
@ -201,7 +201,7 @@
"style-loader": "^3.3.2", "style-loader": "^3.3.2",
"ts-loader": "^9.4.2", "ts-loader": "^9.4.2",
"tsec": "0.1.4", "tsec": "0.1.4",
"typescript": "^4.8.0-dev.20220518", "typescript": "^5.3.0-dev.20230919",
"typescript-formatter": "7.1.0", "typescript-formatter": "7.1.0",
"underscore": "^1.12.1", "underscore": "^1.12.1",
"util": "^0.12.4", "util": "^0.12.4",

View File

@ -31,7 +31,7 @@ export interface IAction extends IDisposable {
class: string | undefined; class: string | undefined;
enabled: boolean; enabled: boolean;
checked?: boolean; checked?: boolean;
run(event?: unknown): unknown; run(...args: unknown[]): unknown;
} }
export interface IActionRunner extends IDisposable { export interface IActionRunner extends IDisposable {

View File

@ -336,7 +336,7 @@ suite('Splitview', () => {
const viewContainers = container.querySelectorAll('.split-view-view'); const viewContainers = container.querySelectorAll('.split-view-view');
assert.strictEqual(viewContainers.length, 2, 'there are two view containers'); assert.strictEqual(viewContainers.length, 2, 'there are two view containers');
assert.strictEqual((viewContainers.item(0) as HTMLElement).style.height, '66px', 'second view container is 66px'); assert.strictEqual((viewContainers.item(0) as HTMLElement).style.height, '66px', 'second view container is 66px');
assert.strictEqual((viewContainers.item(1) as HTMLElement).style.height, `${986 - 66}px`, 'first view container is 66px'); assert.strictEqual<string>((viewContainers.item(1) as HTMLElement).style.height, `${986 - 66}px`, 'first view container is 66px');
splitview.dispose(); splitview.dispose();
view2.dispose(); view2.dispose();

View File

@ -207,7 +207,7 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
const bracketGuidesInLine = bracketGuides ? bracketGuides[lineNumber - visibleStartLineNumber] : []; const bracketGuidesInLine = bracketGuides ? bracketGuides[lineNumber - visibleStartLineNumber] : [];
const bracketGuidesInLineQueue = new ArrayQueue(bracketGuidesInLine); const bracketGuidesInLineQueue = new ArrayQueue(bracketGuidesInLine);
const indentGuidesInLine = indentGuides ? indentGuides[lineNumber - visibleStartLineNumber] : []; const indentGuidesInLine = indentGuides ? indentGuides[lineNumber - visibleStartLineNumber] : 0;
for (let indentLvl = 1; indentLvl <= indentGuidesInLine; indentLvl++) { for (let indentLvl = 1; indentLvl <= indentGuidesInLine; indentLvl++) {
const indentGuide = (indentLvl - 1) * indentSize + 1; const indentGuide = (indentLvl - 1) * indentSize + 1;

View File

@ -385,6 +385,8 @@ export const enum CompletionItemTag {
} }
export const enum CompletionItemInsertTextRule { export const enum CompletionItemInsertTextRule {
None = 0,
/** /**
* Adjust whitespace/indentation of multiline insert texts to * Adjust whitespace/indentation of multiline insert texts to
* match the current line indentation. * match the current line indentation.

View File

@ -200,10 +200,7 @@ export class ModelService extends Disposable implements IModelService {
if (config.editor && typeof config.editor.indentSize !== 'undefined' && config.editor.indentSize !== 'tabSize') { if (config.editor && typeof config.editor.indentSize !== 'undefined' && config.editor.indentSize !== 'tabSize') {
const parsedIndentSize = parseInt(config.editor.indentSize, 10); const parsedIndentSize = parseInt(config.editor.indentSize, 10);
if (!isNaN(parsedIndentSize)) { if (!isNaN(parsedIndentSize)) {
indentSize = parsedIndentSize; indentSize = Math.max(parsedIndentSize, 1);
}
if (indentSize < 1) {
indentSize = 1;
} }
} }

View File

@ -16,6 +16,7 @@ export enum AccessibilitySupport {
} }
export enum CompletionItemInsertTextRule { export enum CompletionItemInsertTextRule {
None = 0,
/** /**
* Adjust whitespace/indentation of multiline insert texts to * Adjust whitespace/indentation of multiline insert texts to
* match the current line indentation. * match the current line indentation.
@ -539,28 +540,28 @@ export enum KeyCode {
* Either the angle bracket key or the backslash key on the RT 102-key keyboard. * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
*/ */
IntlBackslash = 92, IntlBackslash = 92,
Numpad0 = 93, Numpad0 = 93,// VK_NUMPAD0, 0x60, Numeric keypad 0 key
Numpad1 = 94, Numpad1 = 94,// VK_NUMPAD1, 0x61, Numeric keypad 1 key
Numpad2 = 95, Numpad2 = 95,// VK_NUMPAD2, 0x62, Numeric keypad 2 key
Numpad3 = 96, Numpad3 = 96,// VK_NUMPAD3, 0x63, Numeric keypad 3 key
Numpad4 = 97, Numpad4 = 97,// VK_NUMPAD4, 0x64, Numeric keypad 4 key
Numpad5 = 98, Numpad5 = 98,// VK_NUMPAD5, 0x65, Numeric keypad 5 key
Numpad6 = 99, Numpad6 = 99,// VK_NUMPAD6, 0x66, Numeric keypad 6 key
Numpad7 = 100, Numpad7 = 100,// VK_NUMPAD7, 0x67, Numeric keypad 7 key
Numpad8 = 101, Numpad8 = 101,// VK_NUMPAD8, 0x68, Numeric keypad 8 key
Numpad9 = 102, Numpad9 = 102,// VK_NUMPAD9, 0x69, Numeric keypad 9 key
NumpadMultiply = 103, NumpadMultiply = 103,// VK_MULTIPLY, 0x6A, Multiply key
NumpadAdd = 104, NumpadAdd = 104,// VK_ADD, 0x6B, Add key
NUMPAD_SEPARATOR = 105, NUMPAD_SEPARATOR = 105,// VK_SEPARATOR, 0x6C, Separator key
NumpadSubtract = 106, NumpadSubtract = 106,// VK_SUBTRACT, 0x6D, Subtract key
NumpadDecimal = 107, NumpadDecimal = 107,// VK_DECIMAL, 0x6E, Decimal key
NumpadDivide = 108, NumpadDivide = 108,// VK_DIVIDE, 0x6F,
/** /**
* Cover all key codes when IME is processing input. * Cover all key codes when IME is processing input.
*/ */
KEY_IN_COMPOSITION = 109, KEY_IN_COMPOSITION = 109,
ABNT_C1 = 110, ABNT_C1 = 110,// Brazilian (ABNT) Keyboard
ABNT_C2 = 111, ABNT_C2 = 111,// Brazilian (ABNT) Keyboard
AudioVolumeMute = 112, AudioVolumeMute = 112,
AudioVolumeUp = 113, AudioVolumeUp = 113,
AudioVolumeDown = 114, AudioVolumeDown = 114,

View File

@ -93,6 +93,7 @@ class LineSuffix {
} }
const enum InsertFlags { const enum InsertFlags {
None = 0,
NoBeforeUndoStop = 1, NoBeforeUndoStop = 1,
NoAfterUndoStop = 2, NoAfterUndoStop = 2,
KeepAlternativeSuggestions = 4, KeepAlternativeSuggestions = 4,
@ -139,7 +140,7 @@ export class SuggestController implements IEditorContribution {
const widget = this._instantiationService.createInstance(SuggestWidget, this.editor); const widget = this._instantiationService.createInstance(SuggestWidget, this.editor);
this._toDispose.add(widget); this._toDispose.add(widget);
this._toDispose.add(widget.onDidSelect(item => this._insertSuggestion(item, 0), this)); this._toDispose.add(widget.onDidSelect(item => this._insertSuggestion(item, InsertFlags.None), this));
// Wire up logic to accept a suggestion on certain characters // Wire up logic to accept a suggestion on certain characters
const commitCharacterController = new CommitCharacterController(this.editor, widget, item => this._insertSuggestion(item, InsertFlags.NoAfterUndoStop)); const commitCharacterController = new CommitCharacterController(this.editor, widget, item => this._insertSuggestion(item, InsertFlags.NoAfterUndoStop));

View File

@ -21,7 +21,7 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
suite('TokensStore', () => { suite('TokensStore', () => {
const SEMANTIC_COLOR: ColorId = 5; const SEMANTIC_COLOR = 5 as ColorId;
function parseTokensState(state: string[]): { text: string; tokens: SparseMultilineTokens } { function parseTokensState(state: string[]): { text: string; tokens: SparseMultilineTokens } {
let text: string[] = []; let text: string[] = [];

View File

@ -305,7 +305,7 @@ class Mode extends Disposable {
tokenize: undefined!, tokenize: undefined!,
tokenizeEncoded: (line: string, hasEOL: boolean, state: IState): EncodedTokenizationResult => { tokenizeEncoded: (line: string, hasEOL: boolean, state: IState): EncodedTokenizationResult => {
let tokensArr: number[] = []; let tokensArr: number[] = [];
let prevColor: ColorId = -1; let prevColor = -1 as ColorId;
for (let i = 0; i < line.length; i++) { for (let i = 0; i < line.length; i++) {
let colorId = line.charAt(i) === '.' ? 7 : 9; let colorId = line.charAt(i) === '.' ? 7 : 9;
if (prevColor !== colorId) { if (prevColor !== colorId) {

37
src/vs/monaco.d.ts vendored
View File

@ -368,28 +368,28 @@ declare namespace monaco {
* Either the angle bracket key or the backslash key on the RT 102-key keyboard. * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
*/ */
IntlBackslash = 92, IntlBackslash = 92,
Numpad0 = 93, Numpad0 = 93,// VK_NUMPAD0, 0x60, Numeric keypad 0 key
Numpad1 = 94, Numpad1 = 94,// VK_NUMPAD1, 0x61, Numeric keypad 1 key
Numpad2 = 95, Numpad2 = 95,// VK_NUMPAD2, 0x62, Numeric keypad 2 key
Numpad3 = 96, Numpad3 = 96,// VK_NUMPAD3, 0x63, Numeric keypad 3 key
Numpad4 = 97, Numpad4 = 97,// VK_NUMPAD4, 0x64, Numeric keypad 4 key
Numpad5 = 98, Numpad5 = 98,// VK_NUMPAD5, 0x65, Numeric keypad 5 key
Numpad6 = 99, Numpad6 = 99,// VK_NUMPAD6, 0x66, Numeric keypad 6 key
Numpad7 = 100, Numpad7 = 100,// VK_NUMPAD7, 0x67, Numeric keypad 7 key
Numpad8 = 101, Numpad8 = 101,// VK_NUMPAD8, 0x68, Numeric keypad 8 key
Numpad9 = 102, Numpad9 = 102,// VK_NUMPAD9, 0x69, Numeric keypad 9 key
NumpadMultiply = 103, NumpadMultiply = 103,// VK_MULTIPLY, 0x6A, Multiply key
NumpadAdd = 104, NumpadAdd = 104,// VK_ADD, 0x6B, Add key
NUMPAD_SEPARATOR = 105, NUMPAD_SEPARATOR = 105,// VK_SEPARATOR, 0x6C, Separator key
NumpadSubtract = 106, NumpadSubtract = 106,// VK_SUBTRACT, 0x6D, Subtract key
NumpadDecimal = 107, NumpadDecimal = 107,// VK_DECIMAL, 0x6E, Decimal key
NumpadDivide = 108, NumpadDivide = 108,// VK_DIVIDE, 0x6F,
/** /**
* Cover all key codes when IME is processing input. * Cover all key codes when IME is processing input.
*/ */
KEY_IN_COMPOSITION = 109, KEY_IN_COMPOSITION = 109,
ABNT_C1 = 110, ABNT_C1 = 110,// Brazilian (ABNT) Keyboard
ABNT_C2 = 111, ABNT_C2 = 111,// Brazilian (ABNT) Keyboard
AudioVolumeMute = 112, AudioVolumeMute = 112,
AudioVolumeUp = 113, AudioVolumeUp = 113,
AudioVolumeDown = 114, AudioVolumeDown = 114,
@ -6159,6 +6159,7 @@ declare namespace monaco.languages {
} }
export enum CompletionItemInsertTextRule { export enum CompletionItemInsertTextRule {
None = 0,
/** /**
* Adjust whitespace/indentation of multiline insert texts to * Adjust whitespace/indentation of multiline insert texts to
* match the current line indentation. * match the current line indentation.

View File

@ -131,7 +131,7 @@ export class ExtensionManagementChannelClient extends Disposable implements IExt
} }
unzip(zipLocation: URI): Promise<IExtensionIdentifier> { unzip(zipLocation: URI): Promise<IExtensionIdentifier> {
return Promise.resolve(this.channel.call('unzip', [zipLocation])); return Promise.resolve(this.channel.call<IExtensionIdentifier>('unzip', [zipLocation]));
} }
install(vsix: URI, options?: InstallVSIXOptions): Promise<ILocalExtension> { install(vsix: URI, options?: InstallVSIXOptions): Promise<ILocalExtension> {
@ -147,11 +147,11 @@ export class ExtensionManagementChannelClient extends Disposable implements IExt
} }
uninstall(extension: ILocalExtension, options?: UninstallOptions): Promise<void> { uninstall(extension: ILocalExtension, options?: UninstallOptions): Promise<void> {
return Promise.resolve(this.channel.call('uninstall', [extension!, options])); return Promise.resolve(this.channel.call<void>('uninstall', [extension!, options]));
} }
reinstallFromGallery(extension: ILocalExtension): Promise<void> { reinstallFromGallery(extension: ILocalExtension): Promise<void> {
return Promise.resolve(this.channel.call('reinstallFromGallery', [extension])); return Promise.resolve(this.channel.call<void>('reinstallFromGallery', [extension]));
} }
getInstalled(type: ExtensionType | null = null): Promise<ILocalExtension[]> { getInstalled(type: ExtensionType | null = null): Promise<ILocalExtension[]> {
@ -170,7 +170,7 @@ export class ExtensionManagementChannelClient extends Disposable implements IExt
} }
getExtensionsControlManifest(): Promise<IExtensionsControlManifest> { getExtensionsControlManifest(): Promise<IExtensionsControlManifest> {
return Promise.resolve(this.channel.call('getExtensionsControlManifest')); return Promise.resolve(this.channel.call<IExtensionsControlManifest>('getExtensionsControlManifest'));
} }
registerParticipant() { throw new Error('Not Supported'); } registerParticipant() { throw new Error('Not Supported'); }

View File

@ -441,6 +441,10 @@ export interface IWatchOptions {
} }
export const enum FileSystemProviderCapabilities { export const enum FileSystemProviderCapabilities {
/**
* No capabilities.
*/
None = 0,
/** /**
* Provider supports unbuffered read/write. * Provider supports unbuffered read/write.

View File

@ -269,13 +269,16 @@ export class InstantiationService implements IInstantiationService {
//#region -- tracing --- //#region -- tracing ---
const enum TraceType { const enum TraceType {
Creation, Invocation, Branch None = 0,
Creation = 1,
Invocation = 2,
Branch = 3,
} }
export class Trace { export class Trace {
private static readonly _None = new class extends Trace { private static readonly _None = new class extends Trace {
constructor() { super(-1, null); } constructor() { super(TraceType.None, null); }
override stop() { } override stop() { }
override branch() { return this; } override branch() { return this; }
}; };

View File

@ -34,7 +34,7 @@ suite('URI Identity', function () {
setup(function () { setup(function () {
_service = new UriIdentityService(new FakeFileService(new Map([ _service = new UriIdentityService(new FakeFileService(new Map([
['bar', FileSystemProviderCapabilities.PathCaseSensitive], ['bar', FileSystemProviderCapabilities.PathCaseSensitive],
['foo', 0] ['foo', FileSystemProviderCapabilities.None]
]))); ])));
}); });

View File

@ -1023,7 +1023,7 @@ class CompletionsAdapter {
[extHostProtocol.ISuggestDataDtoField.sortText]: item.sortText !== item.label ? item.sortText : undefined, [extHostProtocol.ISuggestDataDtoField.sortText]: item.sortText !== item.label ? item.sortText : undefined,
[extHostProtocol.ISuggestDataDtoField.filterText]: item.filterText !== item.label ? item.filterText : undefined, [extHostProtocol.ISuggestDataDtoField.filterText]: item.filterText !== item.label ? item.filterText : undefined,
[extHostProtocol.ISuggestDataDtoField.preselect]: item.preselect || undefined, [extHostProtocol.ISuggestDataDtoField.preselect]: item.preselect || undefined,
[extHostProtocol.ISuggestDataDtoField.insertTextRules]: item.keepWhitespace ? languages.CompletionItemInsertTextRule.KeepWhitespace : 0, [extHostProtocol.ISuggestDataDtoField.insertTextRules]: item.keepWhitespace ? languages.CompletionItemInsertTextRule.KeepWhitespace : languages.CompletionItemInsertTextRule.None,
[extHostProtocol.ISuggestDataDtoField.commitCharacters]: item.commitCharacters, [extHostProtocol.ISuggestDataDtoField.commitCharacters]: item.commitCharacters,
[extHostProtocol.ISuggestDataDtoField.additionalTextEdits]: item.additionalTextEdits && item.additionalTextEdits.map(typeConvert.TextEdit.from), [extHostProtocol.ISuggestDataDtoField.additionalTextEdits]: item.additionalTextEdits && item.additionalTextEdits.map(typeConvert.TextEdit.from),
[extHostProtocol.ISuggestDataDtoField.command]: this._commands.toInternal(item.command, disposables), [extHostProtocol.ISuggestDataDtoField.command]: this._commands.toInternal(item.command, disposables),

View File

@ -782,7 +782,7 @@ export class MirroredTestCollection extends AbstractIncrementalTestCollection<Mi
* Gets a list of root test items. * Gets a list of root test items.
*/ */
public get rootTests() { public get rootTests() {
return super.roots; return this.roots;
} }
/** /**

View File

@ -463,7 +463,7 @@ suite('ExtHostDiagnostics', () => {
startColumn: 1, startColumn: 1,
endLineNumber: 1, endLineNumber: 1,
endColumn: 1, endColumn: 1,
severity: 3 severity: MarkerSeverity.Info
}]; }];
const p1 = Event.toPromise(diags.onDidChangeDiagnostics); const p1 = Event.toPromise(diags.onDidChangeDiagnostics);

View File

@ -21,7 +21,7 @@ suite('ExtHostTextEditor', () => {
], '\n', 1, 'text', false); ], '\n', 1, 'text', false);
setup(() => { setup(() => {
editor = new ExtHostTextEditor('fake', null!, new NullLogService(), new Lazy(() => doc.document), [], { cursorStyle: 0, insertSpaces: true, lineNumbers: 1, tabSize: 4 }, [], 1); editor = new ExtHostTextEditor('fake', null!, new NullLogService(), new Lazy(() => doc.document), [], { cursorStyle: TextEditorCursorStyle.Line, insertSpaces: true, lineNumbers: 1, tabSize: 4 }, [], 1);
}); });
test('disposed editor', () => { test('disposed editor', () => {
@ -48,7 +48,7 @@ suite('ExtHostTextEditor', () => {
applyCount += 1; applyCount += 1;
return Promise.resolve(true); return Promise.resolve(true);
} }
}, new NullLogService(), new Lazy(() => doc.document), [], { cursorStyle: 0, insertSpaces: true, lineNumbers: 1, tabSize: 4 }, [], 1); }, new NullLogService(), new Lazy(() => doc.document), [], { cursorStyle: TextEditorCursorStyle.Line, insertSpaces: true, lineNumbers: 1, tabSize: 4 }, [], 1);
await editor.value.edit(edit => { }); await editor.value.edit(edit => { });
assert.strictEqual(applyCount, 0); assert.strictEqual(applyCount, 0);

View File

@ -1207,7 +1207,7 @@ class MultipleSelectionActionRunner extends ActionRunner {
selectionHandleArgs = undefined; selectionHandleArgs = undefined;
} }
await action.run(...[context, selectionHandleArgs]); await action.run(context, selectionHandleArgs);
} }
} }

View File

@ -82,7 +82,7 @@ export const enum BulkFileOperationType {
export class BulkFileOperation { export class BulkFileOperation {
type: BulkFileOperationType = 0; type = 0;
textEdits: BulkTextEdit[] = []; textEdits: BulkTextEdit[] = [];
originalEdits = new Map<number, ResourceTextEdit | ResourceFileEdit>(); originalEdits = new Map<number, ResourceTextEdit | ResourceFileEdit>();
newUri?: URI; newUri?: URI;

View File

@ -13,7 +13,7 @@ import { ModelService } from 'vs/editor/common/services/modelService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock'; import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
import { IFileMatch, IFileSearchStats, IFolderQuery, ISearchComplete, ISearchProgressItem, ISearchQuery, ISearchService, ITextSearchMatch, OneLineRange, TextSearchMatch } from 'vs/workbench/services/search/common/search'; import { IFileMatch, IFileSearchStats, IFolderQuery, ISearchComplete, ISearchProgressItem, ISearchQuery, ISearchService, ITextSearchMatch, OneLineRange, QueryType, TextSearchMatch } from 'vs/workbench/services/search/common/search';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils'; import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils';
import { SearchModel } from 'vs/workbench/contrib/search/common/searchModel'; import { SearchModel } from 'vs/workbench/contrib/search/common/searchModel';
@ -135,7 +135,7 @@ suite('SearchModel', () => {
instantiationService.stub(ISearchService, searchServiceWithResults(results)); instantiationService.stub(ISearchService, searchServiceWithResults(results));
const testObject: SearchModel = instantiationService.createInstance(SearchModel); const testObject: SearchModel = instantiationService.createInstance(SearchModel);
await testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
const actual = testObject.searchResult.matches(); const actual = testObject.searchResult.matches();
@ -166,7 +166,7 @@ suite('SearchModel', () => {
instantiationService.stub(ISearchService, searchServiceWithResults(results)); instantiationService.stub(ISearchService, searchServiceWithResults(results));
const testObject: SearchModel = instantiationService.createInstance(SearchModel); const testObject: SearchModel = instantiationService.createInstance(SearchModel);
await testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
assert.ok(target.calledThrice); assert.ok(target.calledThrice);
const data = target.args[2]; const data = target.args[2];
@ -269,12 +269,12 @@ suite('SearchModel', () => {
new TextSearchMatch('preview 2', lineOneRange))]; new TextSearchMatch('preview 2', lineOneRange))];
instantiationService.stub(ISearchService, searchServiceWithResults(results)); instantiationService.stub(ISearchService, searchServiceWithResults(results));
const testObject: SearchModel = instantiationService.createInstance(SearchModel); const testObject: SearchModel = instantiationService.createInstance(SearchModel);
await testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
assert.ok(!testObject.searchResult.isEmpty()); assert.ok(!testObject.searchResult.isEmpty());
instantiationService.stub(ISearchService, searchServiceWithResults([])); instantiationService.stub(ISearchService, searchServiceWithResults([]));
testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
assert.ok(testObject.searchResult.isEmpty()); assert.ok(testObject.searchResult.isEmpty());
}); });
@ -283,9 +283,9 @@ suite('SearchModel', () => {
instantiationService.stub(ISearchService, canceleableSearchService(tokenSource)); instantiationService.stub(ISearchService, canceleableSearchService(tokenSource));
const testObject: SearchModel = instantiationService.createInstance(SearchModel); const testObject: SearchModel = instantiationService.createInstance(SearchModel);
testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
instantiationService.stub(ISearchService, searchServiceWithResults([])); instantiationService.stub(ISearchService, searchServiceWithResults([]));
testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries }); testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
assert.ok(tokenSource.token.isCancellationRequested); assert.ok(tokenSource.token.isCancellationRequested);
}); });
@ -298,24 +298,24 @@ suite('SearchModel', () => {
instantiationService.stub(ISearchService, searchServiceWithResults(results)); instantiationService.stub(ISearchService, searchServiceWithResults(results));
const testObject: SearchModel = instantiationService.createInstance(SearchModel); const testObject: SearchModel = instantiationService.createInstance(SearchModel);
await testObject.search({ contentPattern: { pattern: 're' }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 're' }, type: QueryType.Text, folderQueries });
testObject.replaceString = 'hello'; testObject.replaceString = 'hello';
let match = testObject.searchResult.matches()[0].matches()[0]; let match = testObject.searchResult.matches()[0].matches()[0];
assert.strictEqual('hello', match.replaceString); assert.strictEqual('hello', match.replaceString);
await testObject.search({ contentPattern: { pattern: 're', isRegExp: true }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 're', isRegExp: true }, type: QueryType.Text, folderQueries });
match = testObject.searchResult.matches()[0].matches()[0]; match = testObject.searchResult.matches()[0].matches()[0];
assert.strictEqual('hello', match.replaceString); assert.strictEqual('hello', match.replaceString);
await testObject.search({ contentPattern: { pattern: 're(?:vi)', isRegExp: true }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 're(?:vi)', isRegExp: true }, type: QueryType.Text, folderQueries });
match = testObject.searchResult.matches()[0].matches()[0]; match = testObject.searchResult.matches()[0].matches()[0];
assert.strictEqual('hello', match.replaceString); assert.strictEqual('hello', match.replaceString);
await testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: QueryType.Text, folderQueries });
match = testObject.searchResult.matches()[0].matches()[0]; match = testObject.searchResult.matches()[0].matches()[0];
assert.strictEqual('hello', match.replaceString); assert.strictEqual('hello', match.replaceString);
await testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: 1, folderQueries }); await testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: QueryType.Text, folderQueries });
testObject.replaceString = 'hello$1'; testObject.replaceString = 'hello$1';
match = testObject.searchResult.matches()[0].matches()[0]; match = testObject.searchResult.matches()[0].matches()[0];
assert.strictEqual('helloe', match.replaceString); assert.strictEqual('helloe', match.replaceString);

View File

@ -46,7 +46,7 @@ export const labelForTestInState = (label: string, state: TestResultState) => lo
comment: ['label then the unit tests state, for example "Addition Tests (Running)"'], comment: ['label then the unit tests state, for example "Addition Tests (Running)"'],
}, '{0} ({1})', label, testStateNames[state]); }, '{0} ({1})', label, testStateNames[state]);
export const testConfigurationGroupNames: { [K in TestRunProfileBitset]: string } = { export const testConfigurationGroupNames: Partial<Record<TestRunProfileBitset, string | undefined>> = {
[TestRunProfileBitset.Debug]: localize('testGroup.debug', 'Debug'), [TestRunProfileBitset.Debug]: localize('testGroup.debug', 'Debug'),
[TestRunProfileBitset.Run]: localize('testGroup.run', 'Run'), [TestRunProfileBitset.Run]: localize('testGroup.run', 'Run'),
[TestRunProfileBitset.Coverage]: localize('testGroup.coverage', 'Coverage'), [TestRunProfileBitset.Coverage]: localize('testGroup.coverage', 'Coverage'),

View File

@ -498,7 +498,7 @@ export class TestItemCollection<T extends ITestItemLike> extends Disposable {
console.error(`Unhandled error in resolveHandler of test controller "${this.options.controllerId}"`, err); console.error(`Unhandled error in resolveHandler of test controller "${this.options.controllerId}"`, err);
}; };
let r: Thenable<void> | void; let r: Thenable<void> | undefined | void;
try { try {
r = this._resolveHandler(internal.actual === this.root ? undefined : internal.actual); r = this._resolveHandler(internal.actual === this.root ? undefined : internal.actual);
} catch (err) { } catch (err) {

View File

@ -1075,7 +1075,7 @@ class TimelineActionRunner extends ActionRunner {
return; return;
} }
await action.run(...[ await action.run(
{ {
$mid: MarshalledId.TimelineActionContext, $mid: MarshalledId.TimelineActionContext,
handle: item.handle, handle: item.handle,
@ -1084,7 +1084,7 @@ class TimelineActionRunner extends ActionRunner {
}, },
uri, uri,
item.source, item.source,
]); );
} }
} }

View File

@ -508,7 +508,7 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
let sourceTextModel: ITextModel | undefined = undefined; let sourceTextModel: ITextModel | undefined = undefined;
if (sourceModel instanceof BaseTextEditorModel) { if (sourceModel instanceof BaseTextEditorModel) {
if (sourceModel.isResolved()) { if (sourceModel.isResolved()) {
sourceTextModel = sourceModel.textEditorModel; sourceTextModel = withNullAsUndefined(sourceModel.textEditorModel);
} }
} else { } else {
sourceTextModel = sourceModel as ITextModel; sourceTextModel = sourceModel as ITextModel;

View File

@ -73,7 +73,7 @@ flakySuite('WorkingCopyBackupTracker (native)', function () {
} }
waitForReady(): Promise<void> { waitForReady(): Promise<void> {
return super.whenReady; return this.whenReady;
} }
get pendingBackupOperationCount(): number { return this.pendingBackupOperations.size; } get pendingBackupOperationCount(): number { return this.pendingBackupOperations.size; }

View File

@ -4,13 +4,14 @@
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import * as assert from 'assert'; import * as assert from 'assert';
import { DisposableStore } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { isEditorInput, isResourceDiffEditorInput, isResourceEditorInput, isResourceSideBySideEditorInput, isUntitledResourceEditorInput } from 'vs/workbench/common/editor'; import { isEditorInput, isResourceDiffEditorInput, isResourceEditorInput, isResourceSideBySideEditorInput, isUntitledResourceEditorInput } from 'vs/workbench/common/editor';
import { EditorInput } from 'vs/workbench/common/editor/editorInput'; import { EditorInput } from 'vs/workbench/common/editor/editorInput';
import { TestEditorInput } from 'vs/workbench/test/browser/workbenchTestServices'; import { TestEditorInput } from 'vs/workbench/test/browser/workbenchTestServices';
suite('EditorInput', () => { suite('EditorInput', () => {
const disposables = new DisposableStore();
class MyEditorInput extends EditorInput { class MyEditorInput extends EditorInput {
readonly resource = undefined; readonly resource = undefined;
@ -20,8 +21,8 @@ suite('EditorInput', () => {
test('basics', () => { test('basics', () => {
let counter = 0; let counter = 0;
let input = new MyEditorInput(); const input = disposables.add(new MyEditorInput());
let otherInput = new MyEditorInput(); const otherInput = disposables.add(new MyEditorInput());
assert.ok(isEditorInput(input)); assert.ok(isEditorInput(input));
assert.ok(!isEditorInput(undefined)); assert.ok(!isEditorInput(undefined));
@ -29,7 +30,7 @@ suite('EditorInput', () => {
assert.ok(!isEditorInput({})); assert.ok(!isEditorInput({}));
assert.ok(!isResourceEditorInput(input)); assert.ok(!isResourceEditorInput(input));
assert.ok(!isUntitledResourceEditorInput(input)); assert.ok(!isUntitledResourceEditorInput(input as any));
assert.ok(!isResourceDiffEditorInput(input)); assert.ok(!isResourceDiffEditorInput(input));
assert.ok(!isResourceSideBySideEditorInput(input)); assert.ok(!isResourceSideBySideEditorInput(input));
@ -37,10 +38,10 @@ suite('EditorInput', () => {
assert(!input.matches(otherInput)); assert(!input.matches(otherInput));
assert(input.getName()); assert(input.getName());
input.onWillDispose(() => { disposables.add(input.onWillDispose(() => {
assert(true); assert(true);
counter++; counter++;
}); }));
input.dispose(); input.dispose();
assert.strictEqual(counter, 1); assert.strictEqual(counter, 1);

185
yarn.lock
View File

@ -747,6 +747,18 @@
optionalDependencies: optionalDependencies:
global-agent "^3.0.0" global-agent "^3.0.0"
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.4.0":
version "4.10.0"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
"@eslint/eslintrc@^1.0.5": "@eslint/eslintrc@^1.0.5":
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
@ -1422,6 +1434,11 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==
"@types/semver@^7.3.12":
version "7.5.4"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff"
integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==
"@types/sinon-test@^2.4.2": "@types/sinon-test@^2.4.2":
version "2.4.2" version "2.4.2"
resolved "https://registry.yarnpkg.com/@types/sinon-test/-/sinon-test-2.4.2.tgz#f55bdf5486e7b7a4dd7257789fcc2b7b125c4164" resolved "https://registry.yarnpkg.com/@types/sinon-test/-/sinon-test-2.4.2.tgz#f55bdf5486e7b7a4dd7257789fcc2b7b125c4164"
@ -1480,10 +1497,10 @@
tapable "^2.2.0" tapable "^2.2.0"
webpack "^5" webpack "^5"
"@types/wicg-file-system-access@^2020.9.5": "@types/wicg-file-system-access@^2020.9.6":
version "2020.9.5" version "2020.9.8"
resolved "https://registry.yarnpkg.com/@types/wicg-file-system-access/-/wicg-file-system-access-2020.9.5.tgz#4a0c8f3d1ed101525f329e86c978f7735404474f" resolved "https://registry.yarnpkg.com/@types/wicg-file-system-access/-/wicg-file-system-access-2020.9.8.tgz#a8b739854ccb74b8048ef607d3701e9d506830e7"
integrity sha512-UYK244awtmcUYQfs7FR8710MJcefL2WvkyHMjA8yJzxd1mo0Gfn88sRZ1Bls7hiUhA2w7ne1gpJ9T5g3G0wOyA== integrity sha512-ggMz8nOygG7d/stpH40WVaNvBwuyYLnrg5Mbyf6bmsj/8+gb6Ei4ZZ9/4PNpcPNTT8th9Q8sM8wYmWGjMWLX/A==
"@types/windows-foreground-love@^0.3.0": "@types/windows-foreground-love@^0.3.0":
version "0.3.0" version "0.3.0"
@ -1531,85 +1548,89 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@typescript-eslint/eslint-plugin@^5.10.0": "@typescript-eslint/eslint-plugin@^5.57.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db"
integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==
dependencies: dependencies:
"@typescript-eslint/scope-manager" "5.10.0" "@eslint-community/regexpp" "^4.4.0"
"@typescript-eslint/type-utils" "5.10.0" "@typescript-eslint/scope-manager" "5.62.0"
"@typescript-eslint/utils" "5.10.0" "@typescript-eslint/type-utils" "5.62.0"
debug "^4.3.2" "@typescript-eslint/utils" "5.62.0"
functional-red-black-tree "^1.0.1" debug "^4.3.4"
ignore "^5.1.8" graphemer "^1.4.0"
regexpp "^3.2.0" ignore "^5.2.0"
semver "^7.3.5" natural-compare-lite "^1.4.0"
semver "^7.3.7"
tsutils "^3.21.0" tsutils "^3.21.0"
"@typescript-eslint/parser@^5.10.0": "@typescript-eslint/parser@^5.57.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz#8f59e036f5f1cffc178cacbd5ccdd02aeb96c91c" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
integrity sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw== integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
dependencies: dependencies:
"@typescript-eslint/scope-manager" "5.10.0" "@typescript-eslint/scope-manager" "5.62.0"
"@typescript-eslint/types" "5.10.0" "@typescript-eslint/types" "5.62.0"
"@typescript-eslint/typescript-estree" "5.10.0" "@typescript-eslint/typescript-estree" "5.62.0"
debug "^4.3.2" debug "^4.3.4"
"@typescript-eslint/scope-manager@5.10.0": "@typescript-eslint/scope-manager@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
dependencies: dependencies:
"@typescript-eslint/types" "5.10.0" "@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.10.0" "@typescript-eslint/visitor-keys" "5.62.0"
"@typescript-eslint/type-utils@5.10.0": "@typescript-eslint/type-utils@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a"
integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==
dependencies: dependencies:
"@typescript-eslint/utils" "5.10.0" "@typescript-eslint/typescript-estree" "5.62.0"
debug "^4.3.2" "@typescript-eslint/utils" "5.62.0"
debug "^4.3.4"
tsutils "^3.21.0" tsutils "^3.21.0"
"@typescript-eslint/types@5.10.0": "@typescript-eslint/types@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
"@typescript-eslint/typescript-estree@5.10.0": "@typescript-eslint/typescript-estree@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
dependencies: dependencies:
"@typescript-eslint/types" "5.10.0" "@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.10.0" "@typescript-eslint/visitor-keys" "5.62.0"
debug "^4.3.2" debug "^4.3.4"
globby "^11.0.4" globby "^11.1.0"
is-glob "^4.0.3" is-glob "^4.0.3"
semver "^7.3.5" semver "^7.3.7"
tsutils "^3.21.0" tsutils "^3.21.0"
"@typescript-eslint/utils@5.10.0": "@typescript-eslint/utils@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
dependencies: dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@types/json-schema" "^7.0.9" "@types/json-schema" "^7.0.9"
"@typescript-eslint/scope-manager" "5.10.0" "@types/semver" "^7.3.12"
"@typescript-eslint/types" "5.10.0" "@typescript-eslint/scope-manager" "5.62.0"
"@typescript-eslint/typescript-estree" "5.10.0" "@typescript-eslint/types" "5.62.0"
"@typescript-eslint/typescript-estree" "5.62.0"
eslint-scope "^5.1.1" eslint-scope "^5.1.1"
eslint-utils "^3.0.0" semver "^7.3.7"
"@typescript-eslint/visitor-keys@5.10.0": "@typescript-eslint/visitor-keys@5.62.0":
version "5.10.0" version "5.62.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
dependencies: dependencies:
"@typescript-eslint/types" "5.10.0" "@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.0.0" eslint-visitor-keys "^3.3.0"
"@ungap/promise-all-settled@1.1.2": "@ungap/promise-all-settled@1.1.2":
version "1.1.2" version "1.1.2"
@ -3512,6 +3533,13 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
dependencies: dependencies:
ms "2.1.2" ms "2.1.2"
debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
decamelize@^1.1.1, decamelize@^1.2.0: decamelize@^1.1.1, decamelize@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@ -4234,11 +4262,16 @@ eslint-visitor-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1"
integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==
eslint-visitor-keys@^3.3.0:
version "3.4.3"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@8.7.0: eslint@8.7.0:
version "8.7.0" version "8.7.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c"
@ -5218,7 +5251,7 @@ globalthis@^1.0.1:
dependencies: dependencies:
define-properties "^1.1.3" define-properties "^1.1.3"
globby@^11.0.4: globby@^11.1.0:
version "11.1.0" version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@ -5307,6 +5340,11 @@ graceful-fs@^4.2.9:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
graphemer@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
growl@1.10.5: growl@1.10.5:
version "1.10.5" version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
@ -5857,7 +5895,7 @@ ignore@^4.0.6:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^5.1.8, ignore@^5.2.0: ignore@^5.2.0:
version "5.2.0" version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
@ -7511,6 +7549,11 @@ native-watchdog@1.4.0:
resolved "https://registry.yarnpkg.com/native-watchdog/-/native-watchdog-1.4.0.tgz#547a1f9f88754c38089c622d405ed1e324c7a545" resolved "https://registry.yarnpkg.com/native-watchdog/-/native-watchdog-1.4.0.tgz#547a1f9f88754c38089c622d405ed1e324c7a545"
integrity sha512-4FynAeGtTpoQ2+5AxVJXGEGsOzPsNYDh8Xmawjgs7YWJe+bbbgt7CYlA/Qx6X+kwtN5Ey1aNSm9MqZa0iNKkGw== integrity sha512-4FynAeGtTpoQ2+5AxVJXGEGsOzPsNYDh8Xmawjgs7YWJe+bbbgt7CYlA/Qx6X+kwtN5Ey1aNSm9MqZa0iNKkGw==
natural-compare-lite@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
natural-compare@^1.4.0: natural-compare@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@ -9448,7 +9491,7 @@ semver@^7.3.4, semver@^7.3.5:
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
semver@^7.3.8: semver@^7.3.7, semver@^7.3.8:
version "7.5.4" version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@ -10585,10 +10628,10 @@ typescript@^2.6.2:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
integrity sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q= integrity sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=
typescript@^4.8.0-dev.20220518: typescript@^5.3.0-dev.20230919:
version "4.8.0-dev.20220518" version "5.3.0-dev.20231030"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.0-dev.20220518.tgz#3082c89c764daece904480552b9f2c3f5ce79c56" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.0-dev.20231030.tgz#679edb7a1fc0411bb741b8b02fe03e48204e1749"
integrity sha512-yczRLiowXD4THxpe2DrClYXsmIRt9VPDft1dat4Le50mQwuUcmvdqD43o4hmlbNP7HpyeEYX51KXozGq1s7zlw== integrity sha512-azWrF0lAiu8cBHNr6yq3RDkU/DtQScvT48ea3Ngq6oXJ/GPO0n96wCFSRQA5UbZlVVf3fAAqsUfvOdohRbrPVg==
typical@^4.0.0: typical@^4.0.0:
version "4.0.0" version "4.0.0"