Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/ENGINE-TEMPLATE/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@types/node": "^20.0.0",
"@salesforce/code-analyzer-engine-api": "0.29.0"
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT"
},
"devDependencies": {
"@eslint/js": "^9.35.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-core",
"description": "Core Package for the Salesforce Code Analyzer",
"version": "0.35.0",
"version": "0.36.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -16,7 +16,7 @@
},
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"csv-stringify": "^6.6.0",
"js-yaml": "^4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/code-analyzer-engine-api/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-engine-api",
"description": "Engine API Package for the Salesforce Code Analyzer",
"version": "0.29.0",
"version": "0.30.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand Down
9 changes: 9 additions & 0 deletions packages/code-analyzer-engine-api/src/engines.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@ export abstract class EngineEventEmitter {
this.eventEmitter.on(eventType, callback);
}

/**
* Remove a listener callback from one of the events that the engine may directly emit
* @param eventType The {@link EventType} that you would like to add a callback for
* @param callback The callback function that should be invoked when an associated event is emitted
*/
public removeEventListener<T extends Event>(eventType: T["type"], callback: (event: T) => void): void {
this.eventEmitter.off(eventType, callback);
}

/**
* Method that subclasses can use to emit any {@link Event}.
* @param event the {@link Event} instance
Expand Down
26 changes: 26 additions & 0 deletions packages/code-analyzer-engine-api/test/api-v1.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,32 @@ describe('Tests for v1', () => {
percentComplete: 100.0
});
});

it('Engine removeEventListener should properly remove an event listener that was previously added by onEvent', async () => {
const dummyPlugin: EnginePluginV1 = new DummyEnginePluginV1();
const dummyEngine: Engine = await dummyPlugin.createEngine('dummy', {});
const workspace: Workspace = new Workspace('id', []);

const sampleEventListener = (event: LogEvent): void => {
logEvents.push(event);
};

const logEvents: LogEvent[] = [];
dummyEngine.onEvent(EventType.LogEvent, sampleEventListener);

// First confirm that each call to describeRules emits an event
await dummyEngine.describeRules(createDescribeOptions(workspace));
expect(logEvents).toHaveLength(1);
await dummyEngine.describeRules(createDescribeOptions(workspace));
expect(logEvents).toHaveLength(2);

// Now confirm that after we remove the listener, the event no longer is listened to
dummyEngine.removeEventListener(EventType.LogEvent, sampleEventListener);
await dummyEngine.describeRules(createDescribeOptions(workspace));
expect(logEvents).toHaveLength(2); // Should still be at 2
await dummyEngine.describeRules(createDescribeOptions(workspace));
expect(logEvents).toHaveLength(2); // Sanity check, and yet it is still at 2
});
});


Expand Down
6 changes: 3 additions & 3 deletions packages/code-analyzer-eslint-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-eslint-engine",
"description": "Plugin package that adds 'eslint' as an engine into Salesforce Code Analyzer",
"version": "0.31.0",
"version": "0.32.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -17,8 +17,8 @@
"@lwc/eslint-plugin-lwc": "^3.2.0",
"@lwc/eslint-plugin-lwc-platform": "^6.1.0",
"@salesforce-ux/eslint-plugin-slds": "^0.5.3",
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-eslint8-engine": "0.6.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@salesforce/code-analyzer-eslint8-engine": "0.7.0-SNAPSHOT",
"@salesforce/eslint-config-lwc": "^4.0.0",
"@salesforce/eslint-plugin-lightning": "^2.0.0",
"@types/node": "^20.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-eslint8-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-eslint8-engine",
"description": "Plugin package that adds 'eslint' (version 8) as an engine into Salesforce Code Analyzer",
"version": "0.6.0",
"version": "0.7.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -18,7 +18,7 @@
"@eslint/js": "8.57.1",
"@lwc/eslint-plugin-lwc": "2.2.0",
"@lwc/eslint-plugin-lwc-platform": "5.2.0",
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@salesforce/eslint-config-lwc": "3.7.2",
"@salesforce/eslint-plugin-lightning": "1.0.1",
"@types/node": "^20.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-flow-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-flow-engine",
"description": "Plugin package that adds 'Flow Scanner' as an engine into Salesforce Code Analyzer",
"version": "0.26.0",
"version": "0.27.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"@types/semver": "^7.7.1",
"semver": "^7.7.2"
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-pmd-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-pmd-engine",
"description": "Plugin package that adds 'pmd' and 'cpd' as engines into Salesforce Code Analyzer",
"version": "0.30.0",
"version": "0.31.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"@types/semver": "^7.7.1",
"semver": "^7.7.2"
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-regex-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-regex-engine",
"description": "Plugin package that adds 'regex' as an engine into Salesforce Code Analyzer",
"version": "0.27.0",
"version": "0.28.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"isbinaryfile": "^5.0.4",
"p-limit": "^3.1.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-retirejs-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-retirejs-engine",
"description": "Plugin package that adds 'retire-js' as an engine into Salesforce Code Analyzer",
"version": "0.26.0",
"version": "0.27.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"isbinaryfile": "^5.0.6",
"node-stream-zip": "^1.15.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-sfge-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-sfge-engine",
"description": "Plugin package that adds 'Salesforce Graph Engine' as an engine into Salesforce Code Analyzer",
"version": "0.12.0",
"version": "0.13.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
Expand All @@ -13,7 +13,7 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@salesforce/code-analyzer-engine-api": "0.29.0",
"@salesforce/code-analyzer-engine-api": "0.30.0-SNAPSHOT",
"@types/node": "^20.0.0",
"semver": "^7.7.2"
},
Expand Down
Loading