From 8b6d65614ddc42518660da0e0fda49eb54eff5a6 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Sat, 22 Aug 2020 20:01:25 +0200 Subject: [PATCH] Improvements. --- playground/package.json | 3 +- playground/scripts/build-docs.ts | 34 +++++++++++++++++ playground/src/demo.editable.json | 38 +++++++++---------- playground/src/visualizations.ts | 4 +- ...tractTSDeclarationsForVisualizationData.ts | 15 -------- 5 files changed, 58 insertions(+), 36 deletions(-) create mode 100644 playground/scripts/build-docs.ts delete mode 100644 visualization-bundle/extractTSDeclarationsForVisualizationData.ts diff --git a/playground/package.json b/playground/package.json index e202f33..ad368fe 100644 --- a/playground/package.json +++ b/playground/package.json @@ -4,7 +4,8 @@ "license": "MIT", "scripts": { "dev": "webpack-dev-server --hot", - "build": "webpack", + "build": "node --max_old_space_size=4096 ../node_modules/webpack/bin/webpack.js --mode production", + "build-docs": "ts-node ./scripts/build-docs", "pub": "gh-pages -d dist" }, "dependencies": { diff --git a/playground/scripts/build-docs.ts b/playground/scripts/build-docs.ts new file mode 100644 index 0000000..cf3202b --- /dev/null +++ b/playground/scripts/build-docs.ts @@ -0,0 +1,34 @@ +import { + JsonSchemaGenerator, + TypeScriptTypeGenerator, +} from "@hediet/semantic-json"; +import { writeFileSync, mkdirSync } from "fs"; +import { join } from "path"; +import { globalVisualizationFactory } from "@hediet/visualization-core"; +import "../src/visualizations"; + +const tsGen = new TypeScriptTypeGenerator(); +const tp = tsGen.getType(globalVisualizationFactory.getSerializer()); + +const tsSrc = `export type KnownVisualizationData = ${tp};\n\n\n${[ + ...tsGen.definitions.values(), +] + .map(v => v.getDefinitionSource({ exported: true }) + `\n\n`) + .join("")}`; + +const targetDir = join(__dirname, "../dist/docs"); + +mkdirSync(targetDir, { recursive: true }); + +writeFileSync(join(targetDir, "visualization-data.ts"), tsSrc, { + encoding: "utf-8", +}); + +const schema = new JsonSchemaGenerator().getJsonSchemaWithDefinitions( + globalVisualizationFactory.getSerializer() +); +const jsonSchema = JSON.stringify(schema, undefined, 4); + +writeFileSync(join(targetDir, "visualization-data-schema.json"), jsonSchema, { + encoding: "utf-8", +}); diff --git a/playground/src/demo.editable.json b/playground/src/demo.editable.json index e1c9ae2..7f7de30 100644 --- a/playground/src/demo.editable.json +++ b/playground/src/demo.editable.json @@ -1,27 +1,9 @@ { "visualizations": [ - { - "dataSrc": "{\r\n \"kind\": { \"text\": true },\r\n \"text\": \"class Test {\\n}\",\r\n \"fileName\": \"foo.ts\"\r\n}", - "name": "Simple Text Visualizer", - "preferredVisualizationId": "simple-text" - }, - { - "dataSrc": "{\r\n \"kind\": { \"text\": true },\r\n \"text\": \"class Test {\\n}\",\r\n \"fileName\": \"foo.ts\"\r\n}", - "name": "Monaco Text Visualizer", - "preferredVisualizationId": "monaco-text" - }, - { - "dataSrc": "{\r\n \"root\": {\r\n \"items\": [\r\n {\r\n \"text\": \"CompilationUnit\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 0,\r\n \"length\": 511\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 0,\r\n \"length\": 13\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 6,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 15,\r\n \"length\": 25\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": QualifiedName\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 21,\r\n \"length\": 18\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Left\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 21,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Right\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"Collections\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": true,\r\n \"data\": {\r\n \"position\": 28,\r\n \"length\": 11\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 42,\r\n \"length\": 18\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": QualifiedName\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 48,\r\n \"length\": 11\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Left\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 48,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Right\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"Linq\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 55,\r\n \"length\": 4\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"kind\": {\r\n \"tree\": true\r\n }\r\n}", - "name": "Tree Visualizer" - }, { "dataSrc": "{\r\n \"kind\":{ \"plotly\": true },\r\n \"data\":[\r\n { \"y\": [1, 2, 4, 8, 16] },\r\n { \"y\": [14, 3, 0, 15, 10] }\r\n ]\r\n}", "name": "Plotly Visualizer" }, - { - "dataSrc": "{\r\n \"kind\": { \"array\": true },\r\n \"text\": \"test\",\r\n \"columnLabels\": [\r\n {\r\n \"label\": \"test\"\r\n }\r\n ],\r\n \"rows\": [\r\n {\r\n \"label\": \"foo\",\r\n \"columns\": [\r\n {\r\n \"content\": \"a\",\r\n \"tag\": \"a\"\r\n },\r\n {\r\n \"content\": \"b\",\r\n \"tag\": \"b\"\r\n }\r\n ]\r\n }\r\n ]\r\n}", - "name": "Field Visualizer" - }, { "dataSrc": "{\r\n \"kind\": { \"graph\": true },\r\n \"nodes\": [\r\n { \"id\": \"1\", \"label\": \"1\" },\r\n { \"id\": \"2\", \"label\": \"2\", \"color\": \"orange\" },\r\n { \"id\": \"3\", \"label\": \"3\" }\r\n ],\r\n \"edges\": [\r\n { \"from\": \"1\", \"to\": \"2\", \"color\": \"red\" },\r\n { \"from\": \"1\", \"to\": \"3\" }\r\n ]\r\n}", "name": "VisJS Graph Visualizer" @@ -37,6 +19,14 @@ }, { "dataSrc": "{\r\n \"kind\": { \"table\": true },\r\n \"rows\": [\r\n { \"userId\": 1, \"country\": \"us\", \"amount\": 2 },\r\n { \"userId\": 2, \"amount\": 1 },\r\n { \"userId\": 2, \"country\": \"de\", \"amount\": 1 },\r\n { \"userId\": 1, \"country\": \"us\" }\r\n ]\r\n}", + "name": "Table Visualizer" + }, + { + "dataSrc": "{\r\n \"root\": {\r\n \"items\": [\r\n {\r\n \"text\": \"CompilationUnit\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 0,\r\n \"length\": 511\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 0,\r\n \"length\": 13\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 6,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 15,\r\n \"length\": 25\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": QualifiedName\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 21,\r\n \"length\": 18\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Left\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 21,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Right\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"Collections\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": true,\r\n \"data\": {\r\n \"position\": 28,\r\n \"length\": 11\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"UsingDirective\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 42,\r\n \"length\": 18\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"StaticKeyword\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": QualifiedName\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 48,\r\n \"length\": 11\r\n },\r\n \"children\": [\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Left\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"System\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 48,\r\n \"length\": 6\r\n },\r\n \"children\": []\r\n },\r\n {\r\n \"items\": [\r\n {\r\n \"text\": \"Right\",\r\n \"emphasis\": \"style1\"\r\n },\r\n {\r\n \"text\": \": IdentifierName\"\r\n },\r\n {\r\n \"text\": \"Linq\",\r\n \"emphasis\": \"style2\"\r\n }\r\n ],\r\n \"isMarked\": false,\r\n \"data\": {\r\n \"position\": 55,\r\n \"length\": 4\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"kind\": {\r\n \"tree\": true\r\n }\r\n}", + "name": "Tree Visualizer" + }, + { + "dataSrc": "{\r\n \"kind\": { \"grid\": true },\r\n \"text\": \"test\",\r\n \"columnLabels\": [\r\n {\r\n \"label\": \"test\"\r\n }\r\n ],\r\n \"rows\": [\r\n {\r\n \"label\": \"foo\",\r\n \"columns\": [\r\n {\r\n \"content\": \"a\",\r\n \"tag\": \"a\"\r\n },\r\n {\r\n \"content\": \"b\",\r\n \"tag\": \"b\"\r\n }\r\n ]\r\n }\r\n ]\r\n}", "name": "Grid Visualizer" }, { @@ -45,7 +35,17 @@ }, { "dataSrc": "{\r\n \"base64Data\": \"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\",\r\n \"kind\": {\r\n \"imagePng\": true\r\n }\r\n}", - "name": "Image" + "name": "Png Image" + }, + { + "dataSrc": "{\r\n \"kind\": { \"text\": true },\r\n \"text\": \"class Test {\\n}\",\r\n \"fileName\": \"foo.ts\"\r\n}", + "name": "Monaco Text Visualizer", + "preferredVisualizationId": "monaco-text" + }, + { + "dataSrc": "{\r\n \"kind\": { \"text\": true },\r\n \"text\": \"class Test {\\n}\",\r\n \"fileName\": \"foo.ts\"\r\n}", + "name": "Simple Text Visualizer", + "preferredVisualizationId": "simple-text" } ], "x-editable": { diff --git a/playground/src/visualizations.ts b/playground/src/visualizations.ts index fb4a910..fa65fbe 100644 --- a/playground/src/visualizations.ts +++ b/playground/src/visualizations.ts @@ -16,6 +16,8 @@ // This bundles the monaco editor. Uncomment it to load monaco dynamically. // Dynamic loading increases webpack build speed significantly. -import "monaco-editor"; +if (typeof process === undefined) { + require("monaco-editor"); +} import "@hediet/visualization-bundle"; // */ diff --git a/visualization-bundle/extractTSDeclarationsForVisualizationData.ts b/visualization-bundle/extractTSDeclarationsForVisualizationData.ts deleted file mode 100644 index b83e442..0000000 --- a/visualization-bundle/extractTSDeclarationsForVisualizationData.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { TypeScriptTypeGenerator } from "@hediet/semantic-json"; -import { writeFileSync } from "fs"; -import { globalVisualizationFactory } from "@hediet/visualization-core"; -import "./src/index"; - -const t = new TypeScriptTypeGenerator(); -const tp = t.getType(globalVisualizationFactory.getSerializer()); - -const src = `export type KnownVisualizationData = ${tp};\n\n\n${[ - ...t.definitions.values(), -] - .map(v => v.getDefinitionSource({ exported: true }) + `\n\n`) - .join("")}`; - -writeFileSync("./out.ts", src, { encoding: "utf-8" });