@nodesecure/js-x-ray
Version:
JavaScript AST XRay analysis
93 lines • 2.65 kB
TypeScript
import type { ESTree } from "meriyah";
import { type SourceArrayLocation } from "./utils/toArrayLocation.js";
export type OptionalWarningName = "synchronous-io";
export type WarningName = "parsing-error" | "encoded-literal" | "unsafe-regex" | "unsafe-stmt" | "short-identifiers" | "suspicious-literal" | "suspicious-file" | "obfuscated-code" | "weak-crypto" | "shady-link" | "unsafe-command" | "unsafe-import" | "serialize-environment" | "data-exfiltration" | OptionalWarningName;
export interface Warning<T = WarningName> {
kind: T | (string & {});
file?: string;
value: string | null;
source: string;
location: null | SourceArrayLocation | SourceArrayLocation[];
i18n: string;
severity: "Information" | "Warning" | "Critical";
experimental?: boolean;
}
export declare const warnings: Readonly<{
"parsing-error": {
i18n: string;
severity: "Information";
};
"unsafe-import": {
i18n: string;
severity: "Warning";
};
"unsafe-regex": {
i18n: string;
severity: "Warning";
};
"unsafe-stmt": {
code: string;
i18n: string;
severity: "Warning";
};
"encoded-literal": {
i18n: string;
severity: "Information";
};
"short-identifiers": {
i18n: string;
severity: "Warning";
};
"suspicious-literal": {
i18n: string;
severity: "Warning";
};
"suspicious-file": {
i18n: string;
severity: "Critical";
experimental: false;
};
"obfuscated-code": {
i18n: string;
severity: "Critical";
experimental: true;
};
"weak-crypto": {
i18n: string;
severity: "Information";
experimental: false;
};
"shady-link": {
i18n: string;
severity: "Warning";
experimental: false;
};
"unsafe-command": {
i18n: string;
severity: "Warning";
experimental: true;
};
"synchronous-io": {
i18n: string;
severity: "Warning";
experimental: true;
};
"serialize-environment": {
i18n: string;
severity: "Warning";
experimental: false;
};
"data-exfiltration": {
i18n: string;
severity: "Warning";
experimental: false;
};
}>;
export interface GenerateWarningOptions {
location?: ESTree.SourceLocation | null;
file?: string | null;
value: string | null;
source?: string;
}
export declare function generateWarning<T extends WarningName>(kind: T, options: GenerateWarningOptions): Warning<T>;
//# sourceMappingURL=warnings.d.ts.map