sol2uml 2.2.0 → 2.2.1
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/converterAST2Classes.js +17 -3
- package/lib/converterClass2Dot.js +3 -2
- package/lib/parserEtherscan.js +2 -0
- package/lib/sol2uml.js +1 -1
- package/lib/umlClass.d.ts +2 -1
- package/lib/umlClass.js +1 -0
- package/package.json +2 -1
|
@@ -158,9 +158,23 @@ function convertAST2UmlClasses(node, relativePath, filesystem = false) {
|
|
|
158
158
|
else {
|
|
159
159
|
throw new Error(`AST node not of type SourceUnit`);
|
|
160
160
|
}
|
|
161
|
-
umlClasses.
|
|
162
|
-
umlClass
|
|
163
|
-
|
|
161
|
+
if (umlClasses.length > 0) {
|
|
162
|
+
umlClasses.forEach((umlClass) => {
|
|
163
|
+
umlClass.imports = imports;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
const importUmlClass = new umlClass_1.UmlClass({
|
|
168
|
+
name: 'Import',
|
|
169
|
+
stereotype: umlClass_1.ClassStereotype.Import,
|
|
170
|
+
absolutePath: filesystem
|
|
171
|
+
? path.resolve(relativePath) // resolve the absolute path
|
|
172
|
+
: relativePath,
|
|
173
|
+
relativePath,
|
|
174
|
+
});
|
|
175
|
+
importUmlClass.imports = imports;
|
|
176
|
+
umlClasses = [importUmlClass];
|
|
177
|
+
}
|
|
164
178
|
return umlClasses;
|
|
165
179
|
}
|
|
166
180
|
exports.convertAST2UmlClasses = convertAST2UmlClasses;
|
|
@@ -6,8 +6,9 @@ const umlClass_1 = require("./umlClass");
|
|
|
6
6
|
const regEx_1 = require("./utils/regEx");
|
|
7
7
|
const convertClass2Dot = (umlClass, options = {}) => {
|
|
8
8
|
// do not include library, interface, abstracts, struct or enum classes if hidden
|
|
9
|
-
if (
|
|
10
|
-
|
|
9
|
+
if (umlClass.stereotype === umlClass_1.ClassStereotype.Import ||
|
|
10
|
+
(options.hideLibraries &&
|
|
11
|
+
umlClass.stereotype === umlClass_1.ClassStereotype.Library) ||
|
|
11
12
|
(options.hideInterfaces &&
|
|
12
13
|
umlClass.stereotype === umlClass_1.ClassStereotype.Interface) ||
|
|
13
14
|
(options.hideAbstracts &&
|
package/lib/parserEtherscan.js
CHANGED
|
@@ -8,6 +8,7 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
8
8
|
const parser_1 = require("@solidity-parser/parser");
|
|
9
9
|
const converterAST2Classes_1 = require("./converterAST2Classes");
|
|
10
10
|
const filterClasses_1 = require("./filterClasses");
|
|
11
|
+
require('axios-debug-log');
|
|
11
12
|
const debug = require('debug')('sol2uml');
|
|
12
13
|
exports.networks = [
|
|
13
14
|
'mainnet',
|
|
@@ -139,6 +140,7 @@ class EtherscanParser {
|
|
|
139
140
|
// find any files that didn't have dependencies found
|
|
140
141
|
const nonDependentFiles = files.filter((f) => !dependentFilenames.includes(f.filename));
|
|
141
142
|
const nonDependentFilenames = nonDependentFiles.map((f) => f.filename);
|
|
143
|
+
debug(`Failed to find dependencies to files: ${nonDependentFilenames}`);
|
|
142
144
|
let solidityCode = '';
|
|
143
145
|
// output non dependent code before the dependent files just in case sol2uml missed some dependencies
|
|
144
146
|
const filenames = [...nonDependentFilenames, ...dependentFilenames];
|
package/lib/sol2uml.js
CHANGED
|
@@ -179,7 +179,7 @@ In order for the merged code to compile, the following is done:
|
|
|
179
179
|
}
|
|
180
180
|
});
|
|
181
181
|
program.on('option:verbose', () => {
|
|
182
|
-
debugControl.enable('sol2uml');
|
|
182
|
+
debugControl.enable('sol2uml,axios');
|
|
183
183
|
debug('verbose on');
|
|
184
184
|
});
|
|
185
185
|
const main = async () => {
|
package/lib/umlClass.d.ts
CHANGED
package/lib/umlClass.js
CHANGED
|
@@ -19,6 +19,7 @@ var ClassStereotype;
|
|
|
19
19
|
ClassStereotype[ClassStereotype["Struct"] = 5] = "Struct";
|
|
20
20
|
ClassStereotype[ClassStereotype["Enum"] = 6] = "Enum";
|
|
21
21
|
ClassStereotype[ClassStereotype["Constant"] = 7] = "Constant";
|
|
22
|
+
ClassStereotype[ClassStereotype["Import"] = 8] = "Import";
|
|
22
23
|
})(ClassStereotype = exports.ClassStereotype || (exports.ClassStereotype = {}));
|
|
23
24
|
var OperatorStereotype;
|
|
24
25
|
(function (OperatorStereotype) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sol2uml",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "Solidity contract visualisation tool.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"@aduh95/viz.js": "^3.7.0",
|
|
23
23
|
"@solidity-parser/parser": "^0.14.3",
|
|
24
24
|
"axios": "^0.27.2",
|
|
25
|
+
"axios-debug-log": "^0.8.4",
|
|
25
26
|
"commander": "^9.4.0",
|
|
26
27
|
"convert-svg-to-png": "^0.6.4",
|
|
27
28
|
"debug": "^4.3.4",
|