Skip to content

Commit 56afcc3

Browse files
authored
Merge branch 'main' into dependabot/npm_and_yarn/esbuild-0.25.0
2 parents 75bdd68 + a73ed6f commit 56afcc3

File tree

4 files changed

+30
-3
lines changed

4 files changed

+30
-3
lines changed

.github/workflows/publish.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: Setup Node version
3838
uses: actions/setup-node@v4
3939
with:
40-
node-version: 16
40+
node-version: 22
4141
cache: 'npm'
4242

4343
- name: 📦 Install dependencies

src/extension.api.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { BazelProjectView } from './types';
2+
3+
export interface BazelVscodeExtensionAPI {
4+
readonly parseProjectFile: BazelProjectView;
5+
}

src/extension.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ import {
1414
BazelLanguageServerTerminal,
1515
getBazelTerminal,
1616
} from './bazelLangaugeServerTerminal';
17+
import { getBazelProjectFile } from './bazelprojectparser';
1718
import { BazelTaskManager } from './bazelTaskManager';
1819
import { registerBuildifierFormatter } from './buildifier';
1920
import { Commands, executeJavaLanguageServerCommand } from './commands';
21+
import { BazelVscodeExtensionAPI } from './extension.api';
2022
import { registerLSClient } from './loggingTCPServer';
2123
import { ProjectViewManager } from './projectViewManager';
2224
import { BazelRunTargetProvider } from './provider/bazelRunTargetProvider';
@@ -29,7 +31,9 @@ import {
2931

3032
const workspaceRoot = getWorkspaceRoot();
3133

32-
export async function activate(context: ExtensionContext) {
34+
export async function activate(
35+
context: ExtensionContext
36+
): Promise<BazelVscodeExtensionAPI> {
3337
// activates
3438
// LS processes current .eclipse/.bazelproject file
3539
// if it DNE create one
@@ -137,9 +141,13 @@ export async function activate(context: ExtensionContext) {
137141

138142
// always update the project view after the initial project load
139143
registerLSClient();
144+
145+
return Promise.resolve({
146+
parseProjectFile: await getBazelProjectFile(),
147+
});
140148
}
141149

142-
export function deactivate() { }
150+
export function deactivate() {}
143151

144152
function syncProjectView(): void {
145153
if (!isRedhatJavaReady()) {

test/suite/extension.test.ts

+14
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,24 @@ import * as assert from 'assert';
22
import { setTimeout } from 'node:timers/promises';
33
import { env } from 'process';
44
import * as vscode from 'vscode';
5+
import { extensions } from 'vscode';
56
import { Commands } from '../../src/commands';
7+
import { BazelVscodeExtensionAPI } from '../../src/extension.api';
68
import { Jdtls } from './Jdtls';
79

810
suite('Java Language Extension - Standard', () => {
11+
suiteSetup(async function () {
12+
await extensions.getExtension('sfdc.bazel-vscode-java')?.activate();
13+
});
14+
15+
test('version should be correct', async function () {
16+
const api: BazelVscodeExtensionAPI = extensions.getExtension(
17+
'sfdc.bazel-vscode-java'
18+
)?.exports;
19+
20+
assert.ok(api.parseProjectFile !== null);
21+
});
22+
923
test('RedHat Java Extension should be present', () => {
1024
assert.ok(vscode.extensions.getExtension('redhat.java'));
1125
});

0 commit comments

Comments
 (0)