@lionweb/cli 0.6.0-beta.2 → 0.6.0-beta.3
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/README.md +1 -1
- package/dist/lionweb-cli.js +6 -3
- package/dist/lionweb-cli.js.map +1 -1
- package/dist/serialization/extractor.js +2 -2
- package/dist/serialization/extractor.js.map +1 -1
- package/dist/serialization/textualizer.d.ts +2 -0
- package/dist/serialization/textualizer.d.ts.map +1 -0
- package/dist/serialization/textualizer.js +20 -0
- package/dist/serialization/textualizer.js.map +1 -0
- package/package.json +3 -3
- package/dist/serialization/textualizor.d.ts +0 -2
- package/dist/serialization/textualizor.d.ts.map +0 -1
- package/dist/serialization/textualizor.js +0 -10
- package/dist/serialization/textualizor.js.map +0 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ It does some implicit validation as it can error out on incorrect serializations
|
|
|
43
43
|
### 0.6.0
|
|
44
44
|
|
|
45
45
|
* Add a `repair` command that aligns a JSON serialization chunk with the specification.
|
|
46
|
-
* Add a `textualize` command to render a JSON serialization chunk as pure text.
|
|
46
|
+
* Add a `textualize` command – that's optionally language-aware – to render a JSON serialization chunk as pure text.
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
### 0.5.0
|
package/dist/lionweb-cli.js
CHANGED
|
@@ -4,7 +4,7 @@ import { diagramFromSerialization } from "./m3/diagram-generator.js";
|
|
|
4
4
|
import { generateTsTypesWith } from "./m3/ts-types-generator.js";
|
|
5
5
|
import { extractFromSerialization } from "./serialization/extractor.js";
|
|
6
6
|
import { repairSerializationChunk } from "./serialization/repairer.js";
|
|
7
|
-
import {
|
|
7
|
+
import { executeTextualizeCommand } from "./serialization/textualizer.js";
|
|
8
8
|
const main = (args) => {
|
|
9
9
|
const DIAGRAM_COMMAND = "diagram";
|
|
10
10
|
const EXTRACT_COMMAND = "extract";
|
|
@@ -67,10 +67,13 @@ Right now, that means that the ordering of the key-value pairs is precisely alig
|
|
|
67
67
|
}
|
|
68
68
|
case TEXTUALIZE_COMMAND: {
|
|
69
69
|
if (commandArgs.length === 0) {
|
|
70
|
-
console.log(`The ${TEXTUALIZE_COMMAND} command produces purely textual renderings of the given serialization chunks
|
|
70
|
+
console.log(`The ${TEXTUALIZE_COMMAND} command produces purely textual renderings of the given serialization chunks.
|
|
71
|
+
Chunks given after a '--language' or '--languages' flag (which are synonyms) are assumed to be serializations of languages.
|
|
72
|
+
These languages are then used to try and resolve the keys of languages' entities and their features to names.
|
|
73
|
+
`);
|
|
71
74
|
}
|
|
72
75
|
else {
|
|
73
|
-
commandArgs
|
|
76
|
+
executeTextualizeCommand(commandArgs);
|
|
74
77
|
}
|
|
75
78
|
return;
|
|
76
79
|
}
|
package/dist/lionweb-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lionweb-cli.js","sourceRoot":"","sources":["../src/lionweb-cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAC,wBAAwB,EAAC,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"lionweb-cli.js","sourceRoot":"","sources":["../src/lionweb-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { writeFileSync } from "fs";
|
|
2
2
|
import { extname } from "path";
|
|
3
3
|
import { deserializeLanguages } from "@lionweb/core";
|
|
4
|
-
import {
|
|
4
|
+
import { languagesAsText, looksLikeSerializedLanguages, readChunk, shortenedSerializationChunk, sortedSerializationChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
5
5
|
export const extractFromSerialization = async (path) => {
|
|
6
6
|
const chunk = await readChunk(path);
|
|
7
7
|
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
8
8
|
const sortedJson = sortedSerializationChunk(chunk);
|
|
9
9
|
writeJsonAsFile(extLessPath + ".sorted.json", sortedJson);
|
|
10
10
|
writeJsonAsFile(extLessPath + ".shortened.json", shortenedSerializationChunk(chunk)); // (could also sort)
|
|
11
|
-
if (
|
|
11
|
+
if (looksLikeSerializedLanguages(chunk)) {
|
|
12
12
|
writeFileSync(extLessPath + ".txt", languagesAsText(deserializeLanguages(chunk)));
|
|
13
13
|
}
|
|
14
14
|
console.log(`extracted: "${path}" -> ${extLessPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"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,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EACH,eAAe,EACf,4BAA4B,EAC5B,SAAS,EACT,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,EAClB,MAAM,oBAAoB,CAAA;AAG3B,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACnC,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,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAClD,eAAe,CAAC,WAAW,GAAG,cAAc,EAAE,UAAU,CAAC,CAAA;IACzD,eAAe,CAAC,WAAW,GAAG,iBAAiB,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAA,CAAG,oBAAoB;IAC3G,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,aAAa,CAAC,WAAW,GAAG,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,WAAW,EAAE,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,EAAE,kBAS5D,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { writeFile } from "fs/promises";
|
|
2
|
+
import { extname } from "path";
|
|
3
|
+
import { genericAsTreeText, readChunk, tryLoadAllAsLanguages } from "@lionweb/utilities";
|
|
4
|
+
export const executeTextualizeCommand = async (args) => {
|
|
5
|
+
const indexLanguageArg = args.findIndex((arg) => arg === "--language" || arg === "--languages");
|
|
6
|
+
const languages = indexLanguageArg > -1
|
|
7
|
+
? await tryLoadAllAsLanguages(args.slice(indexLanguageArg + 1))
|
|
8
|
+
: [];
|
|
9
|
+
const chunkPaths = args.slice(0, indexLanguageArg > -1 ? indexLanguageArg : undefined);
|
|
10
|
+
chunkPaths.forEach((chunkPath) => {
|
|
11
|
+
textualizeSerializationChunk(chunkPath, languages);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
const textualizeSerializationChunk = async (path, languages = []) => {
|
|
15
|
+
const chunk = await readChunk(path);
|
|
16
|
+
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
17
|
+
await writeFile(extLessPath + ".txt", genericAsTreeText(chunk, languages));
|
|
18
|
+
console.log(`textualized: ${path}`);
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=textualizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textualizer.js","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAE,qBAAqB,EAAC,MAAM,oBAAoB,CAAA;AAItF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,aAAa,CAAC,CAAA;IAC/F,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtF,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7B,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAGD,MAAM,4BAA4B,GAAG,KAAK,EAAE,IAAY,EAAE,YAAwB,EAAE,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,SAAS,CAAC,WAAW,GAAG,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/cli",
|
|
3
|
-
"version": "0.6.0-beta.
|
|
3
|
+
"version": "0.6.0-beta.3",
|
|
4
4
|
"description": "LionWeb CLI for {Java|Type}Script",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lionweb-cli": "./dist/lionweb-cli.js"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@lionweb/core": "0.6.0-beta.
|
|
22
|
-
"@lionweb/utilities": "0.6.0-beta.
|
|
21
|
+
"@lionweb/core": "0.6.0-beta.3",
|
|
22
|
+
"@lionweb/utilities": "0.6.0-beta.3"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "20.10.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textualizor.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizor.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,SAAgB,MAAM,kBAK9D,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { writeFile } from "fs/promises";
|
|
2
|
-
import { extname } from "path";
|
|
3
|
-
import { genericAsTreeText, readChunk } from "@lionweb/utilities";
|
|
4
|
-
export const textualizeSerializationChunk = async (path) => {
|
|
5
|
-
const chunk = await readChunk(path);
|
|
6
|
-
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
7
|
-
await writeFile(extLessPath + ".txt", genericAsTreeText(chunk));
|
|
8
|
-
console.log(`textualized: ${path}`);
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=textualizor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textualizor.js","sourceRoot":"","sources":["../../src/serialization/textualizor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAG/D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACzE,MAAM,SAAS,CAAC,WAAW,GAAG,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;AACvC,CAAC,CAAA"}
|