@lionweb/cli 0.5.0-beta.9 → 0.6.0-beta.2
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 +6 -0
- package/dist/lionweb-cli.js +26 -3
- package/dist/lionweb-cli.js.map +1 -1
- package/dist/m3/diagram-generator.js.map +1 -1
- package/dist/m3/ts-types-generator.js.map +1 -1
- package/dist/{serialization-extractor.d.ts → serialization/extractor.d.ts} +1 -1
- package/dist/serialization/extractor.d.ts.map +1 -0
- package/dist/serialization/extractor.js +16 -0
- package/dist/serialization/extractor.js.map +1 -0
- package/dist/serialization/repairer.d.ts +2 -0
- package/dist/serialization/repairer.d.ts.map +1 -0
- package/dist/serialization/repairer.js +7 -0
- package/dist/serialization/repairer.js.map +1 -0
- package/dist/serialization/textualizor.d.ts +2 -0
- package/dist/serialization/textualizor.d.ts.map +1 -0
- package/dist/serialization/textualizor.js +10 -0
- package/dist/serialization/textualizor.js.map +1 -0
- package/package.json +5 -5
- package/dist/serialization-extractor.d.ts.map +0 -1
- package/dist/serialization-extractor.js +0 -22
- package/dist/serialization-extractor.js.map +0 -1
package/README.md
CHANGED
|
@@ -40,6 +40,12 @@ It does some implicit validation as it can error out on incorrect serializations
|
|
|
40
40
|
|
|
41
41
|
## Changelog
|
|
42
42
|
|
|
43
|
+
### 0.6.0
|
|
44
|
+
|
|
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.
|
|
47
|
+
|
|
48
|
+
|
|
43
49
|
### 0.5.0
|
|
44
50
|
|
|
45
51
|
This is the first version corresponding to a release of LionWeb (version: 2023.1) as a whole.
|
package/dist/lionweb-cli.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { argv } from "process";
|
|
3
|
-
import { extractFromSerialization } from "./serialization-extractor.js";
|
|
4
3
|
import { diagramFromSerialization } from "./m3/diagram-generator.js";
|
|
5
4
|
import { generateTsTypesWith } from "./m3/ts-types-generator.js";
|
|
5
|
+
import { extractFromSerialization } from "./serialization/extractor.js";
|
|
6
|
+
import { repairSerializationChunk } from "./serialization/repairer.js";
|
|
7
|
+
import { textualizeSerializationChunk } from "./serialization/textualizor.js";
|
|
6
8
|
const main = (args) => {
|
|
7
9
|
const DIAGRAM_COMMAND = "diagram";
|
|
8
10
|
const EXTRACT_COMMAND = "extract";
|
|
9
11
|
const GENERATE_TS_TYPES_COMMAND = "generate-ts-types";
|
|
10
|
-
const
|
|
12
|
+
const REPAIR_COMMAND = "repair";
|
|
13
|
+
const TEXTUALIZE_COMMAND = "textualize";
|
|
14
|
+
const commands = [DIAGRAM_COMMAND, EXTRACT_COMMAND, GENERATE_TS_TYPES_COMMAND, REPAIR_COMMAND, TEXTUALIZE_COMMAND].sort();
|
|
11
15
|
if (args.length <= 2) {
|
|
12
16
|
console.log(`lionweb-cli is a LionWeb utility around LionWeb-TypeScript
|
|
13
17
|
|
|
@@ -34,7 +38,7 @@ ${commands.map((command) => ` ${command}\n`).join(``)}
|
|
|
34
38
|
case EXTRACT_COMMAND: {
|
|
35
39
|
if (commandArgs.length === 0) {
|
|
36
40
|
console.log(`The ${EXTRACT_COMMAND} command extracts the following from a serialization chunk in the form of files: a sorted JSON, and a shortened JSON.
|
|
37
|
-
If the chunk is the serialization of a LionCore Language/M2, then a textual rendering is
|
|
41
|
+
If the chunk is the serialization of a LionCore Language/M2, then a textual rendering is also output.
|
|
38
42
|
(See the README.md for more information.)`);
|
|
39
43
|
}
|
|
40
44
|
else {
|
|
@@ -51,6 +55,25 @@ If the chunk is the serialization of a LionCore Language/M2, then a textual rend
|
|
|
51
55
|
}
|
|
52
56
|
return;
|
|
53
57
|
}
|
|
58
|
+
case REPAIR_COMMAND: {
|
|
59
|
+
if (commandArgs.length === 0) {
|
|
60
|
+
console.log(`The ${REPAIR_COMMAND} command "repairs" the given JSON files that represent serialization chunks.
|
|
61
|
+
Right now, that means that the ordering of the key-value pairs is precisely aligned with the specification.`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
commandArgs.forEach(repairSerializationChunk);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
case TEXTUALIZE_COMMAND: {
|
|
69
|
+
if (commandArgs.length === 0) {
|
|
70
|
+
console.log(`The ${TEXTUALIZE_COMMAND} command produces purely textual renderings of the given serialization chunks.`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
commandArgs.forEach(textualizeSerializationChunk);
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
54
77
|
// TODO generate schema, import Ecore
|
|
55
78
|
default: {
|
|
56
79
|
console.error(`command "${command}" is not recognized`);
|
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,8BAA8B,CAAA;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"lionweb-cli.js","sourceRoot":"","sources":["../src/lionweb-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,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;
|
|
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,CAAC;QACD,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;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,8DAA8D,CAAC,CAAA;IACzF,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -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,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAA;AAGnF,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAY,EAAE,iBAAsC,EAAE,EAAE;IACpG,IAAI;
|
|
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,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAA;AAGnF,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAY,EAAE,iBAAsC,EAAE,EAAE;IACpG,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;QACzE,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA;QAC5C,sCAAsC;QACtC,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;IACnE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,8DAA8D,CAAC,CAAA;QACrF,MAAM,CAAC,CAAA;IACX,CAAC;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,2 +1,2 @@
|
|
|
1
1
|
export declare const extractFromSerialization: (path: string) => Promise<void>;
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/serialization/extractor.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,kBAU1D,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { writeFileSync } from "fs";
|
|
2
|
+
import { extname } from "path";
|
|
3
|
+
import { deserializeLanguages } from "@lionweb/core";
|
|
4
|
+
import { isSerializedLanguages, languagesAsText, readChunk, shortenedSerializationChunk, sortedSerializationChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
5
|
+
export const extractFromSerialization = async (path) => {
|
|
6
|
+
const chunk = await readChunk(path);
|
|
7
|
+
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
8
|
+
const sortedJson = sortedSerializationChunk(chunk);
|
|
9
|
+
writeJsonAsFile(extLessPath + ".sorted.json", sortedJson);
|
|
10
|
+
writeJsonAsFile(extLessPath + ".shortened.json", shortenedSerializationChunk(chunk)); // (could also sort)
|
|
11
|
+
if (isSerializedLanguages(chunk)) {
|
|
12
|
+
writeFileSync(extLessPath + ".txt", languagesAsText(deserializeLanguages(chunk)));
|
|
13
|
+
}
|
|
14
|
+
console.log(`extracted: "${path}" -> ${extLessPath}`);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=extractor.js.map
|
|
@@ -0,0 +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,qBAAqB,EACrB,eAAe,EACf,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,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,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":"repairer.d.ts","sourceRoot":"","sources":["../../src/serialization/repairer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,kBAI1D,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { orderedSerializationChunk, readChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
2
|
+
export const repairSerializationChunk = async (path) => {
|
|
3
|
+
const chunk = await readChunk(path);
|
|
4
|
+
writeJsonAsFile(path, orderedSerializationChunk(chunk));
|
|
5
|
+
console.log(`ordered(/"repaired"): ${path}`);
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=repairer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repairer.js","sourceRoot":"","sources":["../../src/serialization/repairer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,SAAS,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAGxF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACnC,eAAe,CAAC,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textualizor.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizor.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,SAAgB,MAAM,kBAK9D,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0-beta.2",
|
|
4
4
|
"description": "LionWeb CLI for {Java|Type}Script",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lionweb-cli": "./dist/lionweb-cli.js"
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@lionweb/core": "0.
|
|
22
|
-
"@lionweb/utilities": "0.
|
|
21
|
+
"@lionweb/core": "0.6.0-beta.2",
|
|
22
|
+
"@lionweb/utilities": "0.6.0-beta.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@types/node": "20.
|
|
26
|
-
"typescript": "5.
|
|
25
|
+
"@types/node": "20.10.4",
|
|
26
|
+
"typescript": "5.3.3"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialization-extractor.d.ts","sourceRoot":"","sources":["../src/serialization-extractor.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,kBAU1D,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { writeFileSync } from "fs";
|
|
2
|
-
import { extname } from "path";
|
|
3
|
-
import { currentSerializationFormatVersion, deserializeLanguages, lioncoreKey } from "@lionweb/core";
|
|
4
|
-
import { languagesAsText, readChunk, shortenedSerialization, sortedSerialization, writeJsonAsFile } from "@lionweb/utilities";
|
|
5
|
-
const isRecord = (json) => typeof json === "object" && !Array.isArray(json);
|
|
6
|
-
const isSerializedLanguages = (json) => isRecord(json)
|
|
7
|
-
&& json["serializationFormatVersion"] === currentSerializationFormatVersion
|
|
8
|
-
&& "languages" in json
|
|
9
|
-
&& Array.isArray(json["languages"])
|
|
10
|
-
&& json["languages"].some((language) => isRecord(language) && language["key"] === lioncoreKey);
|
|
11
|
-
export const extractFromSerialization = async (path) => {
|
|
12
|
-
const chunk = await readChunk(path);
|
|
13
|
-
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
14
|
-
const sortedJson = sortedSerialization(chunk);
|
|
15
|
-
writeJsonAsFile(extLessPath + ".sorted.json", sortedJson);
|
|
16
|
-
writeJsonAsFile(extLessPath + ".shortened.json", shortenedSerialization(chunk)); // (could also sort)
|
|
17
|
-
if (isSerializedLanguages(chunk)) {
|
|
18
|
-
writeFileSync(extLessPath + ".txt", languagesAsText(deserializeLanguages(chunk)));
|
|
19
|
-
}
|
|
20
|
-
console.log(`extracted: "${path}" -> "${extLessPath}"`);
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=serialization-extractor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,EAAC,MAAM,eAAe,CAAA;AAClG,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAG3H,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,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,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7C,eAAe,CAAC,WAAW,GAAG,cAAc,EAAE,UAAU,CAAC,CAAA;IACzD,eAAe,CAAC,WAAW,GAAG,iBAAiB,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA,CAAG,oBAAoB;IACtG,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;QAC9B,aAAa,CAAC,WAAW,GAAG,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACpF;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,WAAW,GAAG,CAAC,CAAA;AAC3D,CAAC,CAAA"}
|