Skip to content

Commit

Permalink
Merge branch 'master' into remove-vendor
Browse files Browse the repository at this point in the history
  • Loading branch information
101arrowz authored Jul 26, 2023
2 parents e6e87ae + 9e3a9ea commit 0491c29
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 12 deletions.
35 changes: 33 additions & 2 deletions package-lock.json

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

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
"devDependencies": {
"@types/ini": "^1.3.31",
"@types/json-to-ast": "^2.1.2",
"@types/micromatch": "^4.0.2",
"@types/node": "^16.11.7",
"@types/vscode": "^1.26.0",
"@typescript-eslint/eslint-plugin": "^5.42.0",
Expand Down
6 changes: 4 additions & 2 deletions src/data/socket-api-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export type IssueRules = Record<string, boolean | {

export type APIConfig = {
apiKey: string;
enforcedRules: IssueRules;
defaultRules: IssueRules;
orgRules: { id: string; name: string; issueRules: IssueRules }[]
}
Expand Down Expand Up @@ -168,12 +169,13 @@ function getConfigFromSettings(apiKey: string, settings: KeyInfo, enforcedOrgs:

return {
apiKey,
defaultRules: mergeDefaults(enforcedRules, settings.defaultIssueRules),
enforcedRules,
defaultRules: settings.defaultIssueRules,
orgRules: Object.values(settings.organizations).map(({ id, name, issueRules }) => {
return {
id,
name,
issueRules: mergeDefaults(mergeRules(issueRules, enforcedRules), settings.defaultIssueRules)
issueRules: mergeDefaults(issueRules, settings.defaultIssueRules)
}
})
}
Expand Down
2 changes: 1 addition & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ export async function activate(context: ExtensionContext) {
if (relevantIssues && relevantIssues.length) {
const diagnosticsToShow = (await Promise.all(relevantIssues.map(
async (issue) => {
const severity = getDiagnosticSeverity(issue.type, issue.severity, baseRules, socketYamlConfig)
const severity = getDiagnosticSeverity(issue.type, issue.severity, apiConf.enforcedRules, baseRules, socketYamlConfig)
if (severity == null) return null
const diag = new vscode.Diagnostic(
issue.range,
Expand Down
2 changes: 1 addition & 1 deletion src/ui/file.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ export function activate(
for (const [severity, types] of pkgIssues) {
for (const [type, descriptions] of types) {
for (const description of descriptions) {
if (getDiagnosticSeverity(type, severity, issueRules, socketYamlConfig) != null) {
if (getDiagnosticSeverity(type, severity, apiConf.enforcedRules, issueRules, socketYamlConfig) != null) {
relevantIssues.push({
type,
severity,
Expand Down
12 changes: 6 additions & 6 deletions src/util.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import type { SocketYml } from '@socketsecurity/config';
import * as toml from 'toml-eslint-parser';
import * as vscode from 'vscode';
import { IssueRules, ruleStrength } from './data/socket-api-config';
import { IssueRules, mergeDefaults, mergeRules, ruleStrength } from './data/socket-api-config';

export const DIAGNOSTIC_SOURCE_STR = 'SocketSecurity'
export const EXTENSION_PREFIX = 'socket-security'

const SEVERITY_LEVELS = ['low', 'middle', 'high', 'critical'];

export function getDiagnosticSeverity(type: string, severity: string, issueRules: IssueRules, socketYamlConfig: SocketYml): vscode.DiagnosticSeverity | null {
const fullRules: IssueRules = { ...socketYamlConfig.issueRules }
for (const rule in issueRules) {
if (!(rule in fullRules)) fullRules[rule] = issueRules[rule]
}
export function getDiagnosticSeverity(type: string, severity: string, enforcedRules: IssueRules, issueRules: IssueRules, socketYamlConfig: SocketYml): vscode.DiagnosticSeverity | null {
const fullRules: IssueRules = mergeDefaults(
mergeRules(enforcedRules, socketYamlConfig.issueRules),
issueRules
)
const editorConfig = vscode.workspace.getConfiguration(EXTENSION_PREFIX)
const handling = ruleStrength(fullRules[type])
if (handling < 2) return null
Expand Down

0 comments on commit 0491c29

Please sign in to comment.