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
37 changes: 24 additions & 13 deletions package-lock.json

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

4 changes: 2 additions & 2 deletions packages/T-E-M-P-L-A-T-E/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/t-e-m-p-l-a-t-e",
"description": "T-E-M-P-L-A-T-E",
"version": "0.14.0",
"version": "0.15.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 @@ -14,7 +14,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@types/node": "^20.0.0",
"@salesforce/code-analyzer-engine-api": "0.14.0"
"@salesforce/code-analyzer-engine-api": "0.15.0-SNAPSHOT"
},
"devDependencies": {
"@eslint/js": "^8.57.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.14.0",
"version": "0.15.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
2 changes: 2 additions & 0 deletions packages/code-analyzer-engine-api/src/engines.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ export abstract class Engine {

abstract runRules(ruleNames: string[], runOptions: RunOptions): Promise<EngineRunResults>

abstract getEngineVersion(): Promise<string>;

public onEvent<T extends Event>(eventType: T["type"], callback: (event: T) => void): void {
this.eventEmitter.on(eventType, callback);
}
Expand Down
4 changes: 4 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 @@ -110,6 +110,10 @@ class DummyEngineV1 extends Engine {
return "dummy"
}

public getEngineVersion(): Promise<string> {
return Promise.resolve('0.0.1');
}

async runRules(_ruleNames: string[], _runOptions: RunOptions): Promise<EngineRunResults> {
this.emitRunRulesProgressEvent(5.0);
this.emitLogEvent(LogLevel.Fine, "runRules called");
Expand Down
110 changes: 55 additions & 55 deletions packages/code-analyzer-eslint-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,77 +1,77 @@
{
"name": "@salesforce/code-analyzer-eslint-engine",
"description": "Plugin package that adds 'eslint' as an engine into Salesforce Code Analyzer",
"version": "0.14.0",
"version": "0.15.0-SNAPSHOT",
"author": "The Salesforce Code Analyzer Team",
"license": "BSD-3-Clause",
"homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview",
"repository": {
"type": "git",
"url": "git+https://github.com/forcedotcom/code-analyzer-core.git",
"directory": "packages/code-analyzer-eslint-engine"
"type": "git",
"url": "git+https://github.com/forcedotcom/code-analyzer-core.git",
"directory": "packages/code-analyzer-eslint-engine"
},
"main": "dist/index.js",
"types": "dist/index.d.ts",
"dependencies": {
"@types/node": "^20.0.0",
"@salesforce/code-analyzer-engine-api": "0.14.0",
"eslint": "^8.57.0",
"@eslint/js": "^8.57.0",
"@types/eslint": "^8.56.10",
"@lwc/eslint-plugin-lwc": "^1.8.0",
"@babel/core": "^7.24.7",
"@babel/eslint-parser": "^7.24.7",
"@salesforce/eslint-config-lwc": "^3.5.3",
"@salesforce/eslint-plugin-lightning": "^1.0.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest": "^28.6.0",
"@typescript-eslint/parser": "^7.13.1",
"@typescript-eslint/eslint-plugin": "^7.13.1"
"@babel/core": "^7.24.7",
"@babel/eslint-parser": "^7.24.7",
"@eslint/js": "^8.57.0",
"@lwc/eslint-plugin-lwc": "^1.8.0",
"@salesforce/code-analyzer-engine-api": "0.15.0-SNAPSHOT",
"@salesforce/eslint-config-lwc": "^3.5.3",
"@salesforce/eslint-plugin-lightning": "^1.0.0",
"@types/eslint": "^8.56.10",
"@types/node": "^20.0.0",
"@typescript-eslint/eslint-plugin": "^7.13.1",
"@typescript-eslint/parser": "^7.13.1",
"eslint": "^8.57.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest": "^28.6.0"
},
"devDependencies": {
"@types/jest": "^29.0.0",
"jest": "^29.0.0",
"cross-env": "^7.0.3",
"rimraf": "*",
"ts-jest": "^29.0.0",
"typescript": "^5.4.5",
"typescript-eslint": "^7.8.0",
"unzipper": "^0.10.9",
"@types/unzipper": "^0.10.9"
"@types/jest": "^29.0.0",
"@types/unzipper": "^0.10.9",
"cross-env": "^7.0.3",
"jest": "^29.0.0",
"rimraf": "*",
"ts-jest": "^29.0.0",
"typescript": "^5.4.5",
"typescript-eslint": "^7.8.0",
"unzipper": "^0.10.9"
},
"engines": {
"node": ">=20.0.0"
"node": ">=20.0.0"
},
"files": [
"dist",
"LICENSE",
"package.json",
"worker-scripts"
"dist",
"LICENSE",
"package.json",
"worker-scripts"
],
"scripts": {
"build": "tsc --build tsconfig.build.json --verbose",
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage",
"lint": "eslint src/**/*.ts",
"package": "npm pack",
"all": "npm run build && npm run test && npm run lint && npm run package",
"clean": "tsc --build tsconfig.build.json --clean",
"postclean": "rimraf dist && rimraf coverage && rimraf ./*.tgz && rimraf vulnerabilities",
"scrub": "npm run clean && rimraf node_modules",
"showcoverage": "open ./coverage/lcov-report/index.html"
"build": "tsc --build tsconfig.build.json --verbose",
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage",
"lint": "eslint src/**/*.ts",
"package": "npm pack",
"all": "npm run build && npm run test && npm run lint && npm run package",
"clean": "tsc --build tsconfig.build.json --clean",
"postclean": "rimraf dist && rimraf coverage && rimraf ./*.tgz && rimraf vulnerabilities",
"scrub": "npm run clean && rimraf node_modules",
"showcoverage": "open ./coverage/lcov-report/index.html"
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"testMatch": [
"**/*.test.ts"
],
"testPathIgnorePatterns": [
"/node_modules/",
"/dist/"
],
"collectCoverageFrom": [
"src/**/*.ts",
"!src/index.ts"
]
"preset": "ts-jest",
"testEnvironment": "node",
"testMatch": [
"**/*.test.ts"
],
"testPathIgnorePatterns": [
"/node_modules/",
"/dist/"
],
"collectCoverageFrom": [
"src/**/*.ts",
"!src/index.ts"
]
}
}
}
8 changes: 8 additions & 0 deletions packages/code-analyzer-eslint-engine/src/engine.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import * as fs from 'node:fs/promises';
import path from 'node:path';
import {
DescribeOptions,
Engine,
Expand Down Expand Up @@ -30,6 +32,12 @@ export class ESLintEngine extends Engine {
return ESLintEngine.NAME;
}

public async getEngineVersion(): Promise<string> {
const pathToPackageJson: string = path.join(__dirname, '..', 'package.json');
const packageJson: {version: string} = JSON.parse(await fs.readFile(pathToPackageJson, 'utf-8'));
return packageJson.version;
}

async describeRules(describeOptions: DescribeOptions): Promise<RuleDescription[]> {
this.emitDescribeRulesProgressEvent(0);

Expand Down
9 changes: 9 additions & 0 deletions packages/code-analyzer-eslint-engine/test/engine.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,15 @@ describe('Typical tests for the runRules method of ESLintEngine', () => {
});
});

describe('Tests for the getEngineVersion method of ESLint Engine', () => {
it('getEngineVersion() outputs something resembling a Semantic Version', async () => {
const engine: ESLintEngine = new ESLintEngine(DEFAULT_CONFIG);
const version: string = await engine.getEngineVersion();

expect(version).toMatch(/\d+\.\d+\.\d+.*/);
});
});

describe('Tests for emitting events', () => {
let engine: ESLintEngine;
let logEvents: LogEvent[];
Expand Down
4 changes: 2 additions & 2 deletions packages/code-analyzer-flowtest-engine/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@salesforce/code-analyzer-flowtest-engine",
"description": "Plugin package that adds 'flowtest' as an engine into Salesforce Code Analyzer",
"version": "0.14.1",
"version": "0.15.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.14.0",
"@salesforce/code-analyzer-engine-api": "0.15.0-SNAPSHOT",
"@types/node": "^20.0.0",
"@types/semver": "^7.5.8",
"@types/tmp": "^0.2.6",
Expand Down
8 changes: 8 additions & 0 deletions packages/code-analyzer-flowtest-engine/src/engine.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import path from 'node:path';
import * as fs from 'node:fs/promises';
import {
CodeLocation,
DescribeOptions,
Expand Down Expand Up @@ -39,6 +41,12 @@ export class FlowTestEngine extends Engine {
return FlowTestEngine.NAME;
}

public async getEngineVersion(): Promise<string> {
const pathToPackageJson: string = path.join(__dirname, '..', 'package.json');
const packageJson: {version: string} = JSON.parse(await fs.readFile(pathToPackageJson, 'utf-8'));
return packageJson.version;
}

public async describeRules(describeOptions: DescribeOptions): Promise<RuleDescription[]> {
this.emitDescribeRulesProgressEvent(0);
if (describeOptions.workspace) {
Expand Down
9 changes: 9 additions & 0 deletions packages/code-analyzer-flowtest-engine/test/engine.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,15 @@ describe('Tests for the FlowTestEngine', () => {
expect(engineResults).toEqual(expectedResults);
});
});

describe('#getEngineVersion', () => {
it('Returns something resembling a Semantic Version', async () => {
const engine: FlowTestEngine = new FlowTestEngine(new StubCommandWrapper());
const version: string = await engine.getEngineVersion();

expect(version).toMatch(/\d+\.\d+\.\d+.*/);
});
});
});
});

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.14.1-SNAPSHOT",
"version": "0.15.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 @@ -14,7 +14,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@types/node": "^20.0.0",
"@salesforce/code-analyzer-engine-api": "0.14.0",
"@salesforce/code-analyzer-engine-api": "0.15.0-SNAPSHOT",
"@types/tmp": "^0.2.6",
"tmp": "^0.2.3",
"@types/semver": "^7.5.8",
Expand Down
Loading
Loading