mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-26 03:29:00 +01:00
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:
@@ -7,5 +7,6 @@ import * as vscode from 'vscode';
|
||||
|
||||
export function activate(_context: vscode.ExtensionContext) {
|
||||
// Set context as a global as some tests depend on it
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
(global as any).testExtensionContext = _context;
|
||||
}
|
||||
|
||||
@@ -178,6 +178,7 @@ suite('chat', () => {
|
||||
|
||||
await commands.executeCommand('workbench.action.chat.newChat');
|
||||
const result = await commands.executeCommand('workbench.action.chat.open', { query: 'hello', blockOnResponse: true });
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.strictEqual((result as any).errorDetails.code, 'rate_limited');
|
||||
});
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ suite('vscode API - configuration', () => {
|
||||
assert.strictEqual(config['config0'], true);
|
||||
assert.strictEqual(config['config4'], '');
|
||||
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (<any>config)['config4'] = 'valuevalue');
|
||||
|
||||
assert.ok(config.has('nested.config1'));
|
||||
@@ -44,6 +45,7 @@ suite('vscode API - configuration', () => {
|
||||
assert.ok(config.has('get'));
|
||||
assert.strictEqual(config.get('get'), 'get-prop');
|
||||
assert.deepStrictEqual(config['get'], config.get);
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => config['get'] = <any>'get-prop');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -21,11 +21,17 @@ suite('vscode API - env', () => {
|
||||
});
|
||||
|
||||
test('env is readonly', function () {
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).language = '234');
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).appRoot = '234');
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).appName = '234');
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).machineId = '234');
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).sessionId = '234');
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (env as any).shell = '234');
|
||||
});
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ import assert from 'assert';
|
||||
});
|
||||
|
||||
// Using https.globalAgent because it is shared with proxyResolver.ts and mutable.
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
(https.globalAgent as any).testCertificates = [certPEM];
|
||||
resetCaches();
|
||||
|
||||
@@ -72,6 +73,7 @@ import assert from 'assert';
|
||||
.on('error', reject);
|
||||
});
|
||||
} finally {
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
delete (https.globalAgent as any).testCertificates;
|
||||
resetCaches();
|
||||
server.close();
|
||||
|
||||
@@ -13,6 +13,7 @@ suite('vscode API - globalState / workspaceState', () => {
|
||||
suiteSetup(async () => {
|
||||
// Trigger extension activation and grab the context as some tests depend on it
|
||||
await extensions.getExtension('vscode.vscode-api-tests')?.activate();
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
extensionContext = (global as any).testExtensionContext;
|
||||
});
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import { assertNoRpc, poll } from '../utils';
|
||||
suiteSetup(async () => {
|
||||
// Trigger extension activation and grab the context as some tests depend on it
|
||||
await extensions.getExtension('vscode.vscode-api-tests')?.activate();
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
extensionContext = (global as any).testExtensionContext;
|
||||
|
||||
const config = workspace.getConfiguration('terminal.integrated');
|
||||
|
||||
@@ -41,11 +41,13 @@ suite('vscode API - workspace', () => {
|
||||
|
||||
test('textDocuments', () => {
|
||||
assert.ok(Array.isArray(vscode.workspace.textDocuments));
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (<any>vscode.workspace).textDocuments = null);
|
||||
});
|
||||
|
||||
test('rootPath', () => {
|
||||
assert.ok(pathEquals(vscode.workspace.rootPath!, join(__dirname, '../../testWorkspace')));
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
assert.throws(() => (vscode.workspace as any).rootPath = 'farboo');
|
||||
});
|
||||
|
||||
@@ -458,6 +460,7 @@ suite('vscode API - workspace', () => {
|
||||
|
||||
const registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
|
||||
provideTextDocumentContent(_uri) {
|
||||
// eslint-disable-next-line local/code-no-any-casts
|
||||
return <any>123;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user