UNPKG

2.25 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const path_1 = require("@stoplight/path");
4const fs = require("fs");
5const filesystem_1 = require("./backends/filesystem");
6const nodes_1 = require("./graph/nodes");
7const graphite_1 = require("./graphite");
8const json_1 = require("./plugins/json");
9const json_schema_1 = require("./plugins/json-schema");
10const oas2_1 = require("./plugins/oas2");
11const oas3_1 = require("./plugins/oas3");
12const yaml_1 = require("./plugins/yaml");
13const cwdOptions = {
14 fixtures: path_1.resolve(__dirname, '..', '..', 'graphite-simple', 'fixtures'),
15 dev: path_1.resolve(__dirname, '..', '..'),
16};
17const 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};
25const cwd = cwdOptions.fixtures;
26const target = demos.huge;
27const mirror = false;
28const dir = path_1.join(cwd, target);
29const graphite = graphite_1.createGraphite();
30graphite.registerPlugins(json_1.createJsonPlugin(), yaml_1.createYamlPlugin(), oas2_1.createOas2Plugin(), json_schema_1.createJsonSchemaPlugin(), oas3_1.createOas3Plugin());
31const 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};
49run();
50//# sourceMappingURL=benchmark.js.map
\No newline at end of file