mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-04-27 16:55:44 +08:00
Update all of our samples to target VSCode 1.100 or newer
This makes sure that if folks get a relatively recent `vscode.d.ts`. It also lets us safely bump up the target to es2024 so you can use all the latest lib additions
This commit is contained in:
19
tree-view-sample/package-lock.json
generated
19
tree-view-sample/package-lock.json
generated
@ -22,13 +22,13 @@
|
||||
"@types/mkdirp": "^0.5.2",
|
||||
"@types/node": "^22",
|
||||
"@types/rimraf": "^2.0.2",
|
||||
"@types/vscode": "^1.73.0",
|
||||
"@types/vscode": "^1.100.0",
|
||||
"eslint": "^9.13.0",
|
||||
"typescript": "^5.9.2",
|
||||
"typescript-eslint": "^8.39.0"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.74.0"
|
||||
"vscode": "^1.100.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
@ -379,10 +379,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/vscode": {
|
||||
"version": "1.73.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.73.1.tgz",
|
||||
"integrity": "sha512-eArfOrAoZVV+Ao9zQOCaFNaeXj4kTCD+bGS2gyNgIFZH9xVMuLMlRrEkhb22NyxycFWKV1UyTh03vhaVHmqVMg==",
|
||||
"dev": true
|
||||
"version": "1.102.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.102.0.tgz",
|
||||
"integrity": "sha512-V9sFXmcXz03FtYTSUsYsu5K0Q9wH9w9V25slddcxrh5JgORD14LpnOA7ov0L9ALi+6HrTjskLJ/tY5zeRF3TFA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.39.0",
|
||||
@ -2143,9 +2144,9 @@
|
||||
}
|
||||
},
|
||||
"@types/vscode": {
|
||||
"version": "1.73.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.73.1.tgz",
|
||||
"integrity": "sha512-eArfOrAoZVV+Ao9zQOCaFNaeXj4kTCD+bGS2gyNgIFZH9xVMuLMlRrEkhb22NyxycFWKV1UyTh03vhaVHmqVMg==",
|
||||
"version": "1.102.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.102.0.tgz",
|
||||
"integrity": "sha512-V9sFXmcXz03FtYTSUsYsu5K0Q9wH9w9V25slddcxrh5JgORD14LpnOA7ov0L9ALi+6HrTjskLJ/tY5zeRF3TFA==",
|
||||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/eslint-plugin": {
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"url": "https://github.com/Microsoft/vscode-extension-samples"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.74.0"
|
||||
"vscode": "^1.100.0"
|
||||
},
|
||||
"categories": [
|
||||
"Other"
|
||||
@ -229,7 +229,7 @@
|
||||
"@types/mkdirp": "^0.5.2",
|
||||
"@types/node": "^22",
|
||||
"@types/rimraf": "^2.0.2",
|
||||
"@types/vscode": "^1.73.0",
|
||||
"@types/vscode": "^1.100.0",
|
||||
"eslint": "^9.13.0",
|
||||
"typescript": "^5.9.2",
|
||||
"typescript-eslint": "^8.39.0"
|
||||
|
||||
@ -12,7 +12,7 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
? vscode.workspace.workspaceFolders[0].uri.fsPath : undefined;
|
||||
|
||||
// Samples of `window.registerTreeDataProvider`
|
||||
const nodeDependenciesProvider = new DepNodeProvider(rootPath);
|
||||
const nodeDependenciesProvider = new DepNodeProvider(context, rootPath);
|
||||
vscode.window.registerTreeDataProvider('nodeDependencies', nodeDependenciesProvider);
|
||||
vscode.commands.registerCommand('nodeDependencies.refreshEntry', () => nodeDependenciesProvider.refresh());
|
||||
vscode.commands.registerCommand('extension.openPackageOnNpm', moduleName => vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(`https://www.npmjs.com/package/${moduleName}`)));
|
||||
|
||||
@ -12,7 +12,9 @@ export class JsonOutlineProvider implements vscode.TreeDataProvider<number> {
|
||||
private editor: vscode.TextEditor | undefined;
|
||||
private autoRefresh = true;
|
||||
|
||||
constructor(private context: vscode.ExtensionContext) {
|
||||
constructor(
|
||||
private readonly context: vscode.ExtensionContext
|
||||
) {
|
||||
vscode.window.onDidChangeActiveTextEditor(() => this.onActiveEditorChanged());
|
||||
vscode.workspace.onDidChangeTextDocument(e => this.onDocumentChanged(e));
|
||||
this.autoRefresh = vscode.workspace.getConfiguration('jsonOutline').get('autorefresh', false);
|
||||
|
||||
@ -7,8 +7,10 @@ export class DepNodeProvider implements vscode.TreeDataProvider<Dependency> {
|
||||
private _onDidChangeTreeData: vscode.EventEmitter<Dependency | undefined | void> = new vscode.EventEmitter<Dependency | undefined | void>();
|
||||
readonly onDidChangeTreeData: vscode.Event<Dependency | undefined | void> = this._onDidChangeTreeData.event;
|
||||
|
||||
constructor(private workspaceRoot: string | undefined) {
|
||||
}
|
||||
constructor(
|
||||
private readonly context: vscode.ExtensionContext,
|
||||
private readonly workspaceRoot: string | undefined
|
||||
) { }
|
||||
|
||||
refresh(): void {
|
||||
this._onDidChangeTreeData.fire();
|
||||
@ -48,9 +50,9 @@ export class DepNodeProvider implements vscode.TreeDataProvider<Dependency> {
|
||||
|
||||
const toDep = (moduleName: string, version: string): Dependency => {
|
||||
if (this.pathExists(path.join(workspaceRoot, 'node_modules', moduleName))) {
|
||||
return new Dependency(moduleName, version, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
return new Dependency(this.context.extensionUri, moduleName, version, vscode.TreeItemCollapsibleState.Collapsed);
|
||||
} else {
|
||||
return new Dependency(moduleName, version, vscode.TreeItemCollapsibleState.None, {
|
||||
return new Dependency(this.context.extensionUri, moduleName, version, vscode.TreeItemCollapsibleState.None, {
|
||||
command: 'extension.openPackageOnNpm',
|
||||
title: '',
|
||||
arguments: [moduleName]
|
||||
@ -84,6 +86,7 @@ export class DepNodeProvider implements vscode.TreeDataProvider<Dependency> {
|
||||
export class Dependency extends vscode.TreeItem {
|
||||
|
||||
constructor(
|
||||
extensionRoot: vscode.Uri,
|
||||
public readonly label: string,
|
||||
private readonly version: string,
|
||||
public readonly collapsibleState: vscode.TreeItemCollapsibleState,
|
||||
@ -93,12 +96,12 @@ export class Dependency extends vscode.TreeItem {
|
||||
|
||||
this.tooltip = `${this.label}-${this.version}`;
|
||||
this.description = this.version;
|
||||
}
|
||||
|
||||
iconPath = {
|
||||
light: path.join(__filename, '..', '..', 'resources', 'light', 'dependency.svg'),
|
||||
dark: path.join(__filename, '..', '..', 'resources', 'dark', 'dependency.svg')
|
||||
};
|
||||
this.iconPath = {
|
||||
light: vscode.Uri.joinPath(extensionRoot, 'resources', 'light', 'dependency.svg'),
|
||||
dark: vscode.Uri.joinPath(extensionRoot, 'resources', 'dark', 'dependency.svg')
|
||||
};
|
||||
}
|
||||
|
||||
contextValue = 'dependency';
|
||||
}
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es2020",
|
||||
"lib": ["es2020"],
|
||||
"target": "ES2024",
|
||||
"lib": [
|
||||
"ES2024"
|
||||
],
|
||||
"outDir": "out",
|
||||
"sourceMap": true,
|
||||
"rootDir": "src",
|
||||
|
||||
Reference in New Issue
Block a user