Add lint rule for as any and bulk ignore all existing breaks

For #269213

This adds a new eslint rule for `as any` and `<any>({... })`. We'd like to remove almost all of these, however right now the first goal is to prevent them in new code. That's why with this first PR I simply add `eslint-disable` comments for all breaks

Trying to get this change in soon after branching off for release to hopefully minimize disruption during debt week work
This commit is contained in:
Matt Bierner
2025-10-02 23:38:33 -07:00
parent 96aa43fe7a
commit 360c9fd134
465 changed files with 1188 additions and 0 deletions

View File

@@ -2381,8 +2381,10 @@ export class CommandCenter {
let promptToSaveFilesBeforeCommit = config.get<'always' | 'staged' | 'never'>('promptToSaveFilesBeforeCommit');
// migration
// eslint-disable-next-line local/code-no-any-casts
if (promptToSaveFilesBeforeCommit as any === true) {
promptToSaveFilesBeforeCommit = 'always';
// eslint-disable-next-line local/code-no-any-casts
} else if (promptToSaveFilesBeforeCommit as any === false) {
promptToSaveFilesBeforeCommit = 'never';
}
@@ -5368,6 +5370,7 @@ export class CommandCenter {
};
// patch this object, so people can call methods directly
// eslint-disable-next-line local/code-no-any-casts
(this as any)[key] = result;
return result;

View File

@@ -24,6 +24,7 @@ export async function ensureEmojis() {
async function loadEmojiMap() {
const context = getExtensionContext();
// eslint-disable-next-line local/code-no-any-casts
const uri = (Uri as any).joinPath(context.extensionUri, 'resources', 'emojis.json');
emojiMap = JSON.parse(new TextDecoder('utf8').decode(await workspace.fs.readFile(uri)));
}

View File

@@ -308,6 +308,7 @@ export class GitError extends Error {
}, null, 2);
if (this.error) {
// eslint-disable-next-line local/code-no-any-casts
result += (<any>this.error).stack;
}
@@ -2972,7 +2973,9 @@ export class Repository {
const result = await this.exec(['rev-list', '--left-right', '--count', `${branch.name}...${branch.upstream.remote}/${branch.upstream.name}`]);
const [ahead, behind] = result.stdout.trim().split('\t');
// eslint-disable-next-line local/code-no-any-casts
(branch as any).ahead = Number(ahead) || 0;
// eslint-disable-next-line local/code-no-any-casts
(branch as any).behind = Number(behind) || 0;
} catch { }
}

View File

@@ -84,6 +84,7 @@ async function createModel(context: ExtensionContext, logger: LogOutputChannel,
const git = new Git({
gitPath: info.path,
// eslint-disable-next-line local/code-no-any-casts
userAgent: `git/${info.version} (${(os as any).version?.() ?? os.type()} ${os.release()}; ${os.platform()} ${os.arch()}) vscode/${vscodeVersion} (${env.appName})`,
version: info.version,
env: environment,

View File

@@ -39,6 +39,7 @@ export function combinedDisposable(disposables: IDisposable[]): IDisposable {
export const EmptyDisposable = toDisposable(() => null);
export function fireEvent<T>(event: Event<T>): Event<T> {
// eslint-disable-next-line local/code-no-any-casts
return (listener: (e: T) => any, thisArgs?: any, disposables?: Disposable[]) => event(_ => (listener as any).call(thisArgs), null, disposables);
}
@@ -110,6 +111,7 @@ export function once(fn: (...args: any[]) => any): (...args: any[]) => any {
export function assign<T>(destination: T, ...sources: any[]): T {
for (const source of sources) {
// eslint-disable-next-line local/code-no-any-casts
Object.keys(source).forEach(key => (destination as any)[key] = source[key]);
}
@@ -236,6 +238,7 @@ export function readBytes(stream: Readable, bytes: number): Promise<Buffer> {
bytesRead += bytesToRead;
if (bytesRead === bytes) {
// eslint-disable-next-line local/code-no-any-casts
(stream as any).destroy(); // Will trigger the close event eventually
}
});