circle-ir 3.16.8 → 3.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analysis/html/html-attribute-security-pass.d.ts +22 -0
- package/dist/analysis/html/html-attribute-security-pass.js +269 -0
- package/dist/analysis/html/html-attribute-security-pass.js.map +1 -0
- package/dist/analysis/html/html-extractor.d.ts +69 -0
- package/dist/analysis/html/html-extractor.js +169 -0
- package/dist/analysis/html/html-extractor.js.map +1 -0
- package/dist/analysis/html/html-merge.d.ts +22 -0
- package/dist/analysis/html/html-merge.js +164 -0
- package/dist/analysis/html/html-merge.js.map +1 -0
- package/dist/analysis/html/index.d.ts +11 -0
- package/dist/analysis/html/index.js +12 -0
- package/dist/analysis/html/index.js.map +1 -0
- package/dist/analyzer.js +84 -0
- package/dist/analyzer.js.map +1 -1
- package/dist/browser/circle-ir.js +627 -0
- package/dist/core/parser.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/languages/index.d.ts +1 -1
- package/dist/languages/index.js +1 -1
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/plugins/html.d.ts +33 -0
- package/dist/languages/plugins/html.js +84 -0
- package/dist/languages/plugins/html.js.map +1 -0
- package/dist/languages/plugins/index.d.ts +1 -0
- package/dist/languages/plugins/index.js +3 -0
- package/dist/languages/plugins/index.js.map +1 -1
- package/dist/languages/types.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/wasm/tree-sitter-html.wasm +0 -0
- package/package.json +2 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,GAEd,MAAM,eAAe,CAAC;AA6EvB,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,GAMhB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,iCAAiC,CAAC;AAExF,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAY9B,gCAAgC;AAChC,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,GAIZ,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,GAEd,MAAM,eAAe,CAAC;AA6EvB,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,GAMhB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,iCAAiC,CAAC;AAExF,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAY9B,gCAAgC;AAChC,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,GAIZ,MAAM,mBAAmB,CAAC"}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export type { SupportedLanguage, LanguageNodeTypes, LanguagePlugin, LanguageRegistry, ExtractionContext, FrameworkInfo, TaintSourcePattern, TaintSinkPattern, } from './types.js';
|
|
9
9
|
export { getLanguageRegistry, registerLanguage, getLanguagePlugin, getLanguageForFile, detectLanguage, isLanguageSupported, } from './registry.js';
|
|
10
|
-
export { JavaPlugin, JavaScriptPlugin, PythonPlugin, RustPlugin, registerBuiltinPlugins, } from './plugins/index.js';
|
|
10
|
+
export { JavaPlugin, JavaScriptPlugin, PythonPlugin, RustPlugin, HtmlPlugin, registerBuiltinPlugins, } from './plugins/index.js';
|
|
11
11
|
export { BaseLanguagePlugin } from './plugins/base.js';
|
package/dist/languages/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// Registry functions
|
|
9
9
|
export { getLanguageRegistry, registerLanguage, getLanguagePlugin, getLanguageForFile, detectLanguage, isLanguageSupported, } from './registry.js';
|
|
10
10
|
// Concrete plugins
|
|
11
|
-
export { JavaPlugin, JavaScriptPlugin, PythonPlugin, RustPlugin, registerBuiltinPlugins, } from './plugins/index.js';
|
|
11
|
+
export { JavaPlugin, JavaScriptPlugin, PythonPlugin, RustPlugin, HtmlPlugin, registerBuiltinPlugins, } from './plugins/index.js';
|
|
12
12
|
// Base class for custom plugins
|
|
13
13
|
export { BaseLanguagePlugin } from './plugins/base.js';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,qBAAqB;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,qBAAqB;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML Language Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides HTML-specific AST handling for the web extraction preprocessor.
|
|
5
|
+
* HTML is a preprocessor language — it does not produce full IR.
|
|
6
|
+
* Instead, <script> blocks are extracted and delegated to the JS analyzer,
|
|
7
|
+
* and attribute-level security checks are run directly on the HTML AST.
|
|
8
|
+
*/
|
|
9
|
+
import type { Node as SyntaxNode } from 'web-tree-sitter';
|
|
10
|
+
import type { TypeInfo, CallInfo, ImportInfo } from '../../types/index.js';
|
|
11
|
+
import type { LanguageNodeTypes, ExtractionContext, FrameworkInfo, TaintSourcePattern, TaintSinkPattern } from '../types.js';
|
|
12
|
+
import { BaseLanguagePlugin } from './base.js';
|
|
13
|
+
/**
|
|
14
|
+
* HTML language plugin implementation.
|
|
15
|
+
* Acts as a preprocessor — delegates script analysis to JS plugin.
|
|
16
|
+
*/
|
|
17
|
+
export declare class HtmlPlugin extends BaseLanguagePlugin {
|
|
18
|
+
readonly id: "html";
|
|
19
|
+
readonly name = "HTML";
|
|
20
|
+
readonly extensions: string[];
|
|
21
|
+
readonly wasmPath = "tree-sitter-html.wasm";
|
|
22
|
+
readonly nodeTypes: LanguageNodeTypes;
|
|
23
|
+
detectFramework(_context: ExtractionContext): FrameworkInfo | undefined;
|
|
24
|
+
getBuiltinSources(): TaintSourcePattern[];
|
|
25
|
+
getBuiltinSinks(): TaintSinkPattern[];
|
|
26
|
+
getReceiverType(_node: SyntaxNode, _context: ExtractionContext): string | undefined;
|
|
27
|
+
isStringLiteral(node: SyntaxNode): boolean;
|
|
28
|
+
getStringValue(node: SyntaxNode): string | undefined;
|
|
29
|
+
extractTypes(_context: ExtractionContext): TypeInfo[];
|
|
30
|
+
extractCalls(_context: ExtractionContext): CallInfo[];
|
|
31
|
+
extractImports(_context: ExtractionContext): ImportInfo[];
|
|
32
|
+
extractPackage(_context: ExtractionContext): string | undefined;
|
|
33
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML Language Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides HTML-specific AST handling for the web extraction preprocessor.
|
|
5
|
+
* HTML is a preprocessor language — it does not produce full IR.
|
|
6
|
+
* Instead, <script> blocks are extracted and delegated to the JS analyzer,
|
|
7
|
+
* and attribute-level security checks are run directly on the HTML AST.
|
|
8
|
+
*/
|
|
9
|
+
import { BaseLanguagePlugin } from './base.js';
|
|
10
|
+
/**
|
|
11
|
+
* HTML language plugin implementation.
|
|
12
|
+
* Acts as a preprocessor — delegates script analysis to JS plugin.
|
|
13
|
+
*/
|
|
14
|
+
export class HtmlPlugin extends BaseLanguagePlugin {
|
|
15
|
+
id = 'html';
|
|
16
|
+
name = 'HTML';
|
|
17
|
+
extensions = ['.html', '.htm', '.xhtml'];
|
|
18
|
+
wasmPath = 'tree-sitter-html.wasm';
|
|
19
|
+
nodeTypes = {
|
|
20
|
+
// HTML has no OOP constructs
|
|
21
|
+
classDeclaration: [],
|
|
22
|
+
interfaceDeclaration: [],
|
|
23
|
+
enumDeclaration: [],
|
|
24
|
+
functionDeclaration: [],
|
|
25
|
+
methodDeclaration: [],
|
|
26
|
+
// No expressions in HTML
|
|
27
|
+
methodCall: [],
|
|
28
|
+
functionCall: [],
|
|
29
|
+
assignment: [],
|
|
30
|
+
variableDeclaration: [],
|
|
31
|
+
// No parameters
|
|
32
|
+
parameter: [],
|
|
33
|
+
argument: [],
|
|
34
|
+
// No annotations
|
|
35
|
+
annotation: [],
|
|
36
|
+
decorator: [],
|
|
37
|
+
// No imports
|
|
38
|
+
importStatement: [],
|
|
39
|
+
// No control flow
|
|
40
|
+
ifStatement: [],
|
|
41
|
+
forStatement: [],
|
|
42
|
+
whileStatement: [],
|
|
43
|
+
tryStatement: [],
|
|
44
|
+
returnStatement: [],
|
|
45
|
+
};
|
|
46
|
+
detectFramework(_context) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
getBuiltinSources() {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
getBuiltinSinks() {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
getReceiverType(_node, _context) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
isStringLiteral(node) {
|
|
59
|
+
return node.type === 'attribute_value' || node.type === 'quoted_attribute_value';
|
|
60
|
+
}
|
|
61
|
+
getStringValue(node) {
|
|
62
|
+
if (!this.isStringLiteral(node))
|
|
63
|
+
return undefined;
|
|
64
|
+
const text = node.text;
|
|
65
|
+
if ((text.startsWith('"') && text.endsWith('"')) ||
|
|
66
|
+
(text.startsWith("'") && text.endsWith("'"))) {
|
|
67
|
+
return text.slice(1, -1);
|
|
68
|
+
}
|
|
69
|
+
return text;
|
|
70
|
+
}
|
|
71
|
+
extractTypes(_context) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
extractCalls(_context) {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
extractImports(_context) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
extractPackage(_context) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/languages/plugins/html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,kBAAkB;IACvC,EAAE,GAAG,MAAe,CAAC;IACrB,IAAI,GAAG,MAAM,CAAC;IACd,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,QAAQ,GAAG,uBAAuB,CAAC;IAEnC,SAAS,GAAsB;QACtC,6BAA6B;QAC7B,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,EAAE;QACxB,eAAe,EAAE,EAAE;QACnB,mBAAmB,EAAE,EAAE;QACvB,iBAAiB,EAAE,EAAE;QAErB,yBAAyB;QACzB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,mBAAmB,EAAE,EAAE;QAEvB,gBAAgB;QAChB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QAEZ,iBAAiB;QACjB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QAEb,aAAa;QACb,eAAe,EAAE,EAAE;QAEnB,kBAAkB;QAClB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,eAAe,CAAC,QAA2B;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,KAAiB,EAAE,QAA2B;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,IAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC;IACnF,CAAC;IAED,cAAc,CAAC,IAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5C,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAA2B;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,QAA2B;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA2B;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA2B;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -8,6 +8,7 @@ export { JavaScriptPlugin } from './javascript.js';
|
|
|
8
8
|
export { PythonPlugin } from './python.js';
|
|
9
9
|
export { RustPlugin } from './rust.js';
|
|
10
10
|
export { BashPlugin } from './bash.js';
|
|
11
|
+
export { HtmlPlugin } from './html.js';
|
|
11
12
|
/**
|
|
12
13
|
* Register all built-in language plugins with the global registry.
|
|
13
14
|
* Call this during analyzer initialization.
|
|
@@ -8,12 +8,14 @@ export { JavaScriptPlugin } from './javascript.js';
|
|
|
8
8
|
export { PythonPlugin } from './python.js';
|
|
9
9
|
export { RustPlugin } from './rust.js';
|
|
10
10
|
export { BashPlugin } from './bash.js';
|
|
11
|
+
export { HtmlPlugin } from './html.js';
|
|
11
12
|
import { registerLanguage } from '../registry.js';
|
|
12
13
|
import { JavaPlugin } from './java.js';
|
|
13
14
|
import { JavaScriptPlugin } from './javascript.js';
|
|
14
15
|
import { PythonPlugin } from './python.js';
|
|
15
16
|
import { RustPlugin } from './rust.js';
|
|
16
17
|
import { BashPlugin } from './bash.js';
|
|
18
|
+
import { HtmlPlugin } from './html.js';
|
|
17
19
|
/**
|
|
18
20
|
* Register all built-in language plugins with the global registry.
|
|
19
21
|
* Call this during analyzer initialization.
|
|
@@ -24,5 +26,6 @@ export function registerBuiltinPlugins() {
|
|
|
24
26
|
registerLanguage(new PythonPlugin());
|
|
25
27
|
registerLanguage(new RustPlugin());
|
|
26
28
|
registerLanguage(new BashPlugin());
|
|
29
|
+
registerLanguage(new HtmlPlugin());
|
|
27
30
|
}
|
|
28
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/languages/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACzC,gBAAgB,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;IACrC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/languages/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACzC,gBAAgB,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;IACrC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -9,7 +9,7 @@ import type { TypeInfo, CallInfo, ImportInfo } from '../types/index.js';
|
|
|
9
9
|
/**
|
|
10
10
|
* Supported languages for analysis
|
|
11
11
|
*/
|
|
12
|
-
export type SupportedLanguage = 'java' | 'c' | 'cpp' | 'javascript' | 'typescript' | 'python' | 'rust' | 'bash';
|
|
12
|
+
export type SupportedLanguage = 'java' | 'c' | 'cpp' | 'javascript' | 'typescript' | 'python' | 'rust' | 'bash' | 'html';
|
|
13
13
|
/**
|
|
14
14
|
* AST node type mappings for a language
|
|
15
15
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* These types conform to docs/SPEC.md
|
|
5
5
|
*/
|
|
6
|
-
export type SupportedLanguage = "java" | "c" | "cpp" | "javascript" | "typescript" | "python" | "rust" | "bash";
|
|
6
|
+
export type SupportedLanguage = "java" | "c" | "cpp" | "javascript" | "typescript" | "python" | "rust" | "bash" | "html";
|
|
7
7
|
export interface Meta {
|
|
8
8
|
circle_ir: "3.0";
|
|
9
9
|
file: string;
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "circle-ir",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.0",
|
|
4
4
|
"description": "High-performance Static Application Security Testing (SAST) library for detecting security vulnerabilities through taint analysis",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -97,6 +97,7 @@
|
|
|
97
97
|
"@vitest/coverage-v8": "^4.1.2",
|
|
98
98
|
"esbuild": "^0.28.0",
|
|
99
99
|
"tree-sitter-bash": "^0.25.1",
|
|
100
|
+
"tree-sitter-html": "^0.23.2",
|
|
100
101
|
"tree-sitter-java": "^0.23.5",
|
|
101
102
|
"tree-sitter-python": "^0.25.0",
|
|
102
103
|
"tree-sitter-rust": "^0.24.0",
|