1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const path_1 = require("@stoplight/path");
|
4 | const fs = require("fs");
|
5 | const filesystem_1 = require("./backends/filesystem");
|
6 | const nodes_1 = require("./graph/nodes");
|
7 | const graphite_1 = require("./graphite");
|
8 | const json_1 = require("./plugins/json");
|
9 | const json_schema_1 = require("./plugins/json-schema");
|
10 | const oas2_1 = require("./plugins/oas2");
|
11 | const oas3_1 = require("./plugins/oas3");
|
12 | const yaml_1 = require("./plugins/yaml");
|
13 | const cwdOptions = {
|
14 | fixtures: path_1.resolve(__dirname, '..', '..', 'graphite-simple', 'fixtures'),
|
15 | dev: path_1.resolve(__dirname, '..', '..'),
|
16 | };
|
17 | const demos = {
|
18 | file: path_1.join('example', 'api.oas2.json'),
|
19 | small: path_1.join('example'),
|
20 | crux: path_1.join('crux'),
|
21 | huge: path_1.join('openapi-directory', 'APIs', 'azure.com'),
|
22 | insane: path_1.join('openapi-directory'),
|
23 | stoplight_workspace: path_1.join('.'),
|
24 | };
|
25 | const cwd = cwdOptions.fixtures;
|
26 | const target = demos.huge;
|
27 | const mirror = false;
|
28 | const dir = path_1.join(cwd, target);
|
29 | const graphite = graphite_1.createGraphite();
|
30 | graphite.registerPlugins(json_1.createJsonPlugin(), yaml_1.createYamlPlugin(), oas2_1.createOas2Plugin(), json_schema_1.createJsonSchemaPlugin(), oas3_1.createOas3Plugin());
|
31 | const run = async () => {
|
32 | console.log('start!');
|
33 | graphite.graph.addNode({
|
34 | category: nodes_1.NodeCategory.Source,
|
35 | type: filesystem_1.FilesystemNodeType.Directory,
|
36 | path: dir,
|
37 | });
|
38 | filesystem_1.createFileSystemBackend(graphite, fs).readdir(dir);
|
39 | await graphite.scheduler.drain();
|
40 | console.log(`resulting graph:
|
41 | - ${graphite.graph.sourceNodes.filter(n => n.type === filesystem_1.FilesystemNodeType.Directory).length} directory nodes
|
42 | - ${graphite.graph.sourceNodes.filter(n => n.type === filesystem_1.FilesystemNodeType.File).length} document nodes
|
43 | - ${graphite.graph.nodeValues.filter(n => n.category === nodes_1.NodeCategory.SourceMap || n.category === nodes_1.NodeCategory.Virtual)
|
44 | .length} symbol nodes
|
45 | `);
|
46 | const used = process.memoryUsage().heapUsed / 1024 / 1024;
|
47 | console.log(`The script used approximately ${Math.round(used)} MB of memory`);
|
48 | };
|
49 | run();
|
50 |
|
\ | No newline at end of file |