jsxpression 0.1.22 → 0.1.24
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/lib/analyze/security/analyze.js +3 -2
- package/lib/analyze/security/analyze.js.map +1 -1
- package/lib/codegen/schema/data-types.js +3 -3
- package/lib/codegen/schema/data-types.js.map +1 -1
- package/package.json +2 -2
- package/src/analyze/security/analyze.ts +1 -1
- package/src/codegen/schema/data-types.ts +3 -3
|
@@ -3,10 +3,11 @@ import { ValidationContext } from "../validation-context.js";
|
|
|
3
3
|
import { analyzeCallExpressions } from "./call-expressions.js";
|
|
4
4
|
import { analyzeDeclarations } from "./declarations.js";
|
|
5
5
|
import { analyzeExpressions } from "./expressions.js";
|
|
6
|
-
import { analyzeIdentifiers } from "./identifiers.js";
|
|
7
6
|
import { analyzeMemberAccess } from "./member-access.js";
|
|
8
7
|
export function analyzeSecurity(ast, schema) {
|
|
9
8
|
const validationContext = new ValidationContext();
|
|
10
|
-
return new AnalysisReport().merge(analyzeDeclarations(ast, schema, validationContext),
|
|
9
|
+
return new AnalysisReport().merge(analyzeDeclarations(ast, schema, validationContext),
|
|
10
|
+
//analyzeIdentifiers(ast, schema, validationContext),
|
|
11
|
+
analyzeExpressions(ast, schema, validationContext), analyzeMemberAccess(ast, schema, validationContext), analyzeCallExpressions(ast, schema, validationContext));
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=analyze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analyze/security/analyze.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analyze/security/analyze.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,MAAc;IAC1D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAElD,OAAO,IAAI,cAAc,EAAE,CAAC,KAAK,CAC/B,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC;IACnD,qDAAqD;IACrD,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAClD,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACnD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CACvD,CAAC;AACJ,CAAC"}
|
|
@@ -3,16 +3,16 @@ export function declareDataTypes(schema) {
|
|
|
3
3
|
let output = `declare global {\n`;
|
|
4
4
|
if (schema.data) {
|
|
5
5
|
output += generateDataObjectComment(schema.data, " ");
|
|
6
|
-
output += ` const data: {\n`;
|
|
6
|
+
//output += ` const data: {\n`;
|
|
7
7
|
Object.entries(schema.data).forEach(([dataKey, dataSchema]) => {
|
|
8
8
|
output += generateNestedPropertyJSDoc(dataKey, dataSchema, " ");
|
|
9
9
|
const type = mapSchemaTypeToTypeScript(dataSchema);
|
|
10
10
|
const indentedType = type.includes("\n") ? type.replace(/\n/g, "\n ").replace(/\n {4}$/, "\n ") : type;
|
|
11
|
-
output += `
|
|
11
|
+
output += ` ${dataKey}: ${indentedType};\n`;
|
|
12
12
|
});
|
|
13
13
|
output += ` };\n`;
|
|
14
14
|
}
|
|
15
|
-
output += `}\n\n`;
|
|
15
|
+
//output += `}\n\n`;
|
|
16
16
|
output += `export {};\n`;
|
|
17
17
|
return output;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../src/codegen/schema/data-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,MAAM,GAAG,oBAAoB,CAAC;IAElC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,
|
|
1
|
+
{"version":3,"file":"data-types.js","sourceRoot":"","sources":["../../../src/codegen/schema/data-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsxpression",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.24",
|
|
4
4
|
"description": "Validate and safely render JSX expressions",
|
|
5
5
|
"author": "Divid AB <info@divid.se>",
|
|
6
6
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/jsxpression",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"acorn-jsx": "5.3.2",
|
|
27
27
|
"acorn-walk": "8.3.4"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "7c9d1be7f3e34f46834fbee120e841ee971a3b34"
|
|
30
30
|
}
|
|
@@ -13,7 +13,7 @@ export function analyzeSecurity(ast: Program, schema: Schema): AnalysisReport {
|
|
|
13
13
|
|
|
14
14
|
return new AnalysisReport().merge(
|
|
15
15
|
analyzeDeclarations(ast, schema, validationContext),
|
|
16
|
-
analyzeIdentifiers(ast, schema, validationContext),
|
|
16
|
+
//analyzeIdentifiers(ast, schema, validationContext),
|
|
17
17
|
analyzeExpressions(ast, schema, validationContext),
|
|
18
18
|
analyzeMemberAccess(ast, schema, validationContext),
|
|
19
19
|
analyzeCallExpressions(ast, schema, validationContext)
|
|
@@ -6,19 +6,19 @@ export function declareDataTypes(schema: Schema): string {
|
|
|
6
6
|
|
|
7
7
|
if (schema.data) {
|
|
8
8
|
output += generateDataObjectComment(schema.data, " ");
|
|
9
|
-
output += ` const data: {\n`;
|
|
9
|
+
//output += ` const data: {\n`;
|
|
10
10
|
Object.entries(schema.data).forEach(([dataKey, dataSchema]) => {
|
|
11
11
|
output += generateNestedPropertyJSDoc(dataKey, dataSchema, " ");
|
|
12
12
|
|
|
13
13
|
const type = mapSchemaTypeToTypeScript(dataSchema);
|
|
14
14
|
|
|
15
15
|
const indentedType = type.includes("\n") ? type.replace(/\n/g, "\n ").replace(/\n {4}$/, "\n ") : type;
|
|
16
|
-
output += `
|
|
16
|
+
output += ` ${dataKey}: ${indentedType};\n`;
|
|
17
17
|
});
|
|
18
18
|
output += ` };\n`;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
output += `}\n\n`;
|
|
21
|
+
//output += `}\n\n`;
|
|
22
22
|
output += `export {};\n`;
|
|
23
23
|
|
|
24
24
|
return output;
|