@lionweb/cli 0.5.0-beta.6 → 0.5.0-beta.8
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/CHANGELOG.md +2 -0
- package/dist/m3/diagram-generator.js +4 -4
- package/dist/m3/diagram-generator.js.map +1 -1
- package/dist/m3/ts-types-generator.js +3 -3
- package/dist/m3/ts-types-generator.js.map +1 -1
- package/dist/serialization-extractor.d.ts.map +1 -1
- package/dist/serialization-extractor.js +18 -14
- package/dist/serialization-extractor.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { writeFileSync } from "fs";
|
|
2
2
|
import { extname } from "path";
|
|
3
|
-
import {
|
|
3
|
+
import { deserializeLanguages } from "@lionweb/core";
|
|
4
4
|
import { generateMermaidForLanguage, generatePlantUmlForLanguage, readFileAsJson } from "@lionweb/utilities";
|
|
5
5
|
export const diagramFromSerialization = async (path) => {
|
|
6
6
|
try {
|
|
7
7
|
const json = readFileAsJson(path);
|
|
8
8
|
const extlessPath = path.substring(0, path.length - extname(path).length);
|
|
9
|
-
const
|
|
10
|
-
writeFileSync(extlessPath + ".puml", generatePlantUmlForLanguage(
|
|
11
|
-
writeFileSync(extlessPath + ".md", generateMermaidForLanguage(
|
|
9
|
+
const languages = deserializeLanguages(json);
|
|
10
|
+
writeFileSync(extlessPath + ".puml", languages.map(generatePlantUmlForLanguage).join("\n\n"));
|
|
11
|
+
writeFileSync(extlessPath + ".md", languages.map(generateMermaidForLanguage).join("\n\n"));
|
|
12
12
|
console.log(`generated diagrams: "${path}" -> "${extlessPath}"`);
|
|
13
13
|
}
|
|
14
14
|
catch (_) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-generator.js","sourceRoot":"","sources":["../../src/m3/diagram-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAChC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"diagram-generator.js","sourceRoot":"","sources":["../../src/m3/diagram-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAChC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,oBAAoB,EAAqB,MAAM,eAAe,CAAA;AACtE,OAAO,EAAC,0BAA0B,EAAE,2BAA2B,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAA;AAG1G,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC3D,IAAI;QACA,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAuB,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;QACzE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5C,aAAa,CAAC,WAAW,GAAG,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7F,aAAa,CAAC,WAAW,GAAG,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1F,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,SAAS,WAAW,GAAG,CAAC,CAAA;KACnE;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,8DAA8D,CAAC,CAAA;KACxF;AACL,CAAC,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { extname } from "path";
|
|
2
2
|
import { writeFileSync } from "fs";
|
|
3
3
|
import { GenerationOptions, readFileAsJson, tsTypesForLanguage } from "@lionweb/utilities";
|
|
4
|
-
import {
|
|
4
|
+
import { deserializeLanguages } from "@lionweb/core";
|
|
5
5
|
const generateTsTypesFromSerialization = async (path, generationOptions) => {
|
|
6
6
|
try {
|
|
7
7
|
const json = readFileAsJson(path);
|
|
8
8
|
const extlessPath = path.substring(0, path.length - extname(path).length);
|
|
9
|
-
const
|
|
9
|
+
const languages = deserializeLanguages(json);
|
|
10
10
|
const tsFilePath = extlessPath + "-types.ts";
|
|
11
|
-
writeFileSync(tsFilePath, tsTypesForLanguage(language, ...generationOptions));
|
|
11
|
+
writeFileSync(tsFilePath, languages.map((language) => tsTypesForLanguage(language, ...generationOptions)).join("\n\n"));
|
|
12
12
|
console.log(`generated TS types: "${path}" -> "${tsFilePath}"`);
|
|
13
13
|
}
|
|
14
14
|
catch (_) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../src/m3/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAEhC,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"ts-types-generator.js","sourceRoot":"","sources":["../../src/m3/ts-types-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAEhC,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAC,oBAAoB,EAAqB,MAAM,eAAe,CAAA;AAGtE,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAY,EAAE,iBAAsC,EAAE,EAAE;IACpG,IAAI;QACA,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAuB,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;QACzE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA;QAC5C,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACvH,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,SAAS,UAAU,GAAG,CAAC,CAAA;KAClE;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,8DAA8D,CAAC,CAAA;KACxF;AACL,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACxD,MAAM,iBAAiB,GAAG,IAAI;SACzB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACxD,8DAA8D;SACrD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAE,iBAAyB,CAAC,MAAM,CAAC,CAAC,CAAA,CAAI,wDAAwD;IAEpH,IAAI;SACC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACtC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAA;AACrF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization-extractor.d.ts","sourceRoot":"","sources":["../src/serialization-extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialization-extractor.d.ts","sourceRoot":"","sources":["../src/serialization-extractor.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,kBAU1D,CAAA"}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
import { writeFileSync } from "fs";
|
|
2
2
|
import { extname } from "path";
|
|
3
|
-
import { currentSerializationFormatVersion,
|
|
3
|
+
import { currentSerializationFormatVersion, deserializeLanguages, lioncoreKey } from "@lionweb/core";
|
|
4
4
|
import { asText, readFileAsJson, shortenedSerialization, sortedSerialization, writeJsonAsFile } from "@lionweb/utilities";
|
|
5
5
|
const isRecord = (json) => typeof json === "object" && !Array.isArray(json);
|
|
6
|
-
const
|
|
6
|
+
const isSerializedLanguages = (json) => isRecord(json)
|
|
7
7
|
&& json["serializationFormatVersion"] === currentSerializationFormatVersion
|
|
8
8
|
&& "languages" in json
|
|
9
9
|
&& Array.isArray(json["languages"])
|
|
10
|
-
&& json["languages"].some((language) => isRecord(language) && language["key"] ===
|
|
11
|
-
|
|
10
|
+
&& json["languages"].some((language) => isRecord(language) && language["key"] === lioncoreKey);
|
|
11
|
+
const readChunk = async (path) => {
|
|
12
12
|
try {
|
|
13
|
-
|
|
14
|
-
const extlessPath = path.substring(0, path.length - extname(path).length);
|
|
15
|
-
const sortedJson = sortedSerialization(json);
|
|
16
|
-
writeJsonAsFile(extlessPath + ".sorted.json", sortedJson);
|
|
17
|
-
writeJsonAsFile(extlessPath + ".shortened.json", shortenedSerialization(json)); // (could also sort)
|
|
18
|
-
if (isSerializedLanguage(json)) {
|
|
19
|
-
writeFileSync(extlessPath + ".txt", asText(deserializeLanguage(json)));
|
|
20
|
-
}
|
|
21
|
-
console.log(`extracted: "${path}" -> "${extlessPath}"`);
|
|
13
|
+
return readFileAsJson(path);
|
|
22
14
|
}
|
|
23
|
-
catch (
|
|
15
|
+
catch (e) {
|
|
24
16
|
console.error(`"${path}" is not a valid JSON file`);
|
|
17
|
+
throw e;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const extractFromSerialization = async (path) => {
|
|
21
|
+
const json = await readChunk(path);
|
|
22
|
+
const extlessPath = path.substring(0, path.length - extname(path).length);
|
|
23
|
+
const sortedJson = sortedSerialization(json);
|
|
24
|
+
writeJsonAsFile(extlessPath + ".sorted.json", sortedJson);
|
|
25
|
+
writeJsonAsFile(extlessPath + ".shortened.json", shortenedSerialization(json)); // (could also sort)
|
|
26
|
+
if (isSerializedLanguages(json)) {
|
|
27
|
+
writeFileSync(extlessPath + ".txt", deserializeLanguages(json).map(asText).join("\n\n"));
|
|
25
28
|
}
|
|
29
|
+
console.log(`extracted: "${path}" -> "${extlessPath}"`);
|
|
26
30
|
};
|
|
27
31
|
//# sourceMappingURL=serialization-extractor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization-extractor.js","sourceRoot":"","sources":["../src/serialization-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAChC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,iCAAiC,EAAE,
|
|
1
|
+
{"version":3,"file":"serialization-extractor.js","sourceRoot":"","sources":["../src/serialization-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAA;AAChC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,iCAAiC,EAAE,oBAAoB,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAA;AACtH,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAGvH,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAmC,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,qBAAqB,GAAG,CAAC,IAAa,EAAW,EAAE,CAClD,QAAQ,CAAC,IAAI,CAAC;OACd,IAAI,CAAC,4BAA4B,CAAC,KAAK,iCAAiC;OACxE,WAAW,IAAI,IAAI;OACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAChC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAA;AAGlG,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACrC,IAAI;QACA,OAAO,cAAc,CAAC,IAAI,CAAuB,CAAA;KACpD;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,4BAA4B,CAAC,CAAA;QACnD,MAAM,CAAC,CAAA;KACV;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC5C,eAAe,CAAC,WAAW,GAAG,cAAc,EAAE,UAAU,CAAC,CAAA;IACzD,eAAe,CAAC,WAAW,GAAG,iBAAiB,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAA,CAAG,oBAAoB;IACrG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;QAC7B,aAAa,CAAC,WAAW,GAAG,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;KAC3F;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,WAAW,GAAG,CAAC,CAAA;AAC3D,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/cli",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.8",
|
|
4
4
|
"description": "LionWeb CLI for {Java|Type}Script",
|
|
5
5
|
"bin": "./dist/lionweb-cli.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@lionweb/core": "0.5.0-beta.
|
|
20
|
-
"@lionweb/utilities": "0.5.0-beta.
|
|
19
|
+
"@lionweb/core": "0.5.0-beta.8",
|
|
20
|
+
"@lionweb/utilities": "0.5.0-beta.8"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/node": "20.6.3",
|