@lionweb/cli 0.6.2-beta.0 → 0.6.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 +15 -0
- package/dist/language-aware-args.d.ts +6 -0
- package/dist/language-aware-args.d.ts.map +1 -0
- package/dist/language-aware-args.js +7 -0
- package/dist/language-aware-args.js.map +1 -0
- package/dist/lionweb-cli.js +50 -20
- package/dist/lionweb-cli.js.map +1 -1
- package/dist/m3/diagram-generator.d.ts +1 -1
- package/dist/m3/diagram-generator.d.ts.map +1 -1
- package/dist/m3/diagram-generator.js +3 -3
- package/dist/m3/diagram-generator.js.map +1 -1
- package/dist/m3/language-differ.d.ts +4 -0
- package/dist/m3/language-differ.d.ts.map +1 -0
- package/dist/m3/language-differ.js +26 -0
- package/dist/m3/language-differ.js.map +1 -0
- package/dist/process.d.ts +2 -0
- package/dist/process.d.ts.map +1 -0
- package/dist/process.js +17 -0
- package/dist/process.js.map +1 -0
- package/dist/serialization/differ.d.ts +2 -0
- package/dist/serialization/differ.d.ts.map +1 -0
- package/dist/serialization/differ.js +9 -0
- package/dist/serialization/differ.js.map +1 -0
- package/dist/serialization/measurer.d.ts +2 -0
- package/dist/serialization/measurer.d.ts.map +1 -0
- package/dist/serialization/measurer.js +18 -0
- package/dist/serialization/measurer.js.map +1 -0
- package/dist/serialization/repairer.d.ts +1 -1
- package/dist/serialization/repairer.d.ts.map +1 -1
- package/dist/serialization/repairer.js +1 -1
- package/dist/serialization/repairer.js.map +1 -1
- package/dist/serialization/sorter.d.ts +1 -1
- package/dist/serialization/sorter.d.ts.map +1 -1
- package/dist/serialization/sorter.js +1 -1
- package/dist/serialization/sorter.js.map +1 -1
- package/dist/serialization/textualizer.d.ts.map +1 -1
- package/dist/serialization/textualizer.js +3 -5
- package/dist/serialization/textualizer.js.map +1 -1
- package/dist/validator.d.ts +1 -1
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +3 -3
- package/dist/validator.js.map +1 -1
- package/package.json +5 -7
package/README.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# The `cli` package
|
|
2
2
|
|
|
3
|
+
[
|
|
4
|
+
](./LICENSE)
|
|
5
|
+
[
|
|
6
|
+
](https://github.com/LionWeb-io/lionweb-typescript/actions/workflows/test.yaml)
|
|
7
|
+
[
|
|
8
|
+
](https://www.npmjs.com/package/@lionweb/cli)
|
|
9
|
+
|
|
3
10
|
This package exposes an executable for use with a CLI.
|
|
4
11
|
It can be used as follows:
|
|
5
12
|
|
|
@@ -39,6 +46,14 @@ That means that key-value pairs appear in precisely the same order as they do in
|
|
|
39
46
|
|
|
40
47
|
## Changelog
|
|
41
48
|
|
|
49
|
+
### 0.6.3
|
|
50
|
+
|
|
51
|
+
* Add a command `measure` that computes metrics.
|
|
52
|
+
|
|
53
|
+
### 0.6.2
|
|
54
|
+
|
|
55
|
+
* Expose diffing functionality from `@lionweb/validation`
|
|
56
|
+
|
|
42
57
|
### 0.6.1
|
|
43
58
|
|
|
44
59
|
* Fix that `@lionweb/validation` was not specified as a (non-dev) dependency.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-aware-args.d.ts","sourceRoot":"","sources":["../src/language-aware-args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,QAAQ,SAAU,MAAM,EAAE,KAAG,kBAKzC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const separate = (args) => {
|
|
2
|
+
const indexLanguageArg = args.findIndex((arg) => arg === "--language" || arg === "--languages");
|
|
3
|
+
return indexLanguageArg > -1
|
|
4
|
+
? { chunkPaths: args.slice(0, indexLanguageArg), languagePaths: args.slice(indexLanguageArg + 1) }
|
|
5
|
+
: { chunkPaths: args, languagePaths: [] };
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=language-aware-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-aware-args.js","sourceRoot":"","sources":["../src/language-aware-args.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAsB,EAAE;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,aAAa,CAAC,CAAA;IAC/F,OAAO,gBAAgB,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE;QAClG,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAA;AACjD,CAAC,CAAA"}
|
package/dist/lionweb-cli.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { argv } from "process";
|
|
3
|
-
import {
|
|
3
|
+
import { diagramFromSerializationChunkAt } from "./m3/diagram-generator.js";
|
|
4
4
|
import { generateTsTypesWith } from "./m3/ts-types-generator.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { diffSerializationChunks } from "./serialization/differ.js";
|
|
6
|
+
import { executeMeasureCommand } from "./serialization/measurer.js";
|
|
7
|
+
import { repairSerializationChunkAt } from "./serialization/repairer.js";
|
|
8
|
+
import { sortSerializationChunkAt } from "./serialization/sorter.js";
|
|
7
9
|
import { executeTextualizeCommand } from "./serialization/textualizer.js";
|
|
8
|
-
import {
|
|
10
|
+
import { runValidationOnSerializationChunkAt } from "./validator.js";
|
|
9
11
|
const main = async (args) => {
|
|
10
12
|
const DIAGRAM_COMMAND = "diagram";
|
|
11
|
-
const
|
|
13
|
+
const DIFF_COMMAND = "diff";
|
|
12
14
|
const GENERATE_TS_TYPES_COMMAND = "generate-ts-types";
|
|
15
|
+
const MEASURE_COMMAND = "measure";
|
|
13
16
|
const REPAIR_COMMAND = "repair";
|
|
17
|
+
const SORT_COMMAND = "sort";
|
|
14
18
|
const TEXTUALIZE_COMMAND = "textualize";
|
|
15
19
|
const VALIDATE_COMMAND = "validate";
|
|
16
|
-
const commands = [DIAGRAM_COMMAND,
|
|
20
|
+
const commands = [DIAGRAM_COMMAND, DIFF_COMMAND, GENERATE_TS_TYPES_COMMAND, MEASURE_COMMAND, REPAIR_COMMAND, SORT_COMMAND, TEXTUALIZE_COMMAND, VALIDATE_COMMAND].sort();
|
|
17
21
|
if (args.length <= 2) {
|
|
18
22
|
console.log(`lionweb-cli is a LionWeb utility around LionWeb-TypeScript
|
|
19
23
|
|
|
@@ -33,19 +37,19 @@ ${commands.map((command) => ` ${command}\n`).join(``)}
|
|
|
33
37
|
console.log(`The ${DIAGRAM_COMMAND} command generates a PlantUML and Mermaid diagram for the language that the given paths point to.`);
|
|
34
38
|
}
|
|
35
39
|
else {
|
|
36
|
-
commandArgs.forEach(
|
|
40
|
+
commandArgs.forEach(diagramFromSerializationChunkAt);
|
|
37
41
|
}
|
|
38
|
-
|
|
42
|
+
break;
|
|
39
43
|
}
|
|
40
|
-
case
|
|
41
|
-
if (commandArgs.length
|
|
42
|
-
console.log(`The ${
|
|
43
|
-
|
|
44
|
+
case DIFF_COMMAND: {
|
|
45
|
+
if (commandArgs.length !== 3) {
|
|
46
|
+
console.log(`The ${DIFF_COMMAND} command generates the difference between two serialization chunks, in a JSON format.
|
|
47
|
+
The chunks to diff are given as the first two paths, and the path for the diff JSON file as the third.`);
|
|
44
48
|
}
|
|
45
49
|
else {
|
|
46
|
-
commandArgs
|
|
50
|
+
await diffSerializationChunks(commandArgs[0], commandArgs[1], commandArgs[2]);
|
|
47
51
|
}
|
|
48
|
-
|
|
52
|
+
break;
|
|
49
53
|
}
|
|
50
54
|
case GENERATE_TS_TYPES_COMMAND: {
|
|
51
55
|
if (commandArgs.length === 0) {
|
|
@@ -54,7 +58,7 @@ ${commands.map((command) => ` ${command}\n`).join(``)}
|
|
|
54
58
|
else {
|
|
55
59
|
await generateTsTypesWith(commandArgs);
|
|
56
60
|
}
|
|
57
|
-
|
|
61
|
+
break;
|
|
58
62
|
}
|
|
59
63
|
case REPAIR_COMMAND: {
|
|
60
64
|
if (commandArgs.length === 0) {
|
|
@@ -63,10 +67,20 @@ Right now, that means that key-value pairs appear in precisely the same order as
|
|
|
63
67
|
Missing key-value pairs are put in and get their default values.`);
|
|
64
68
|
}
|
|
65
69
|
else {
|
|
66
|
-
commandArgs.forEach(
|
|
70
|
+
commandArgs.forEach(repairSerializationChunkAt);
|
|
67
71
|
}
|
|
68
72
|
return;
|
|
69
73
|
}
|
|
74
|
+
case SORT_COMMAND: {
|
|
75
|
+
if (commandArgs.length === 0) {
|
|
76
|
+
console.log(`The ${SORT_COMMAND} command sorts JSON files that are serialization chunk – sorted serialization chunks can be easily compared.
|
|
77
|
+
(See the README.md for more information.)`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
commandArgs.forEach(sortSerializationChunkAt);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
70
84
|
case TEXTUALIZE_COMMAND: {
|
|
71
85
|
if (commandArgs.length === 0) {
|
|
72
86
|
console.log(`The ${TEXTUALIZE_COMMAND} command produces purely textual renderings of the given serialization chunks.
|
|
@@ -79,16 +93,32 @@ textual syntax is used, unless a flag '--asRegular' is provided.
|
|
|
79
93
|
else {
|
|
80
94
|
await executeTextualizeCommand(commandArgs);
|
|
81
95
|
}
|
|
82
|
-
|
|
96
|
+
break;
|
|
83
97
|
}
|
|
84
98
|
case VALIDATE_COMMAND: {
|
|
85
99
|
if (commandArgs.length === 0) {
|
|
86
|
-
console.log(`The ${VALIDATE_COMMAND} command validates a serialization chunk.
|
|
100
|
+
console.log(`The ${VALIDATE_COMMAND} command validates a serialization chunk.
|
|
101
|
+
Usage: npx @lionweb/cli ${VALIDATE_COMMAND} <path_to_chunk>`);
|
|
87
102
|
}
|
|
88
103
|
else {
|
|
89
|
-
commandArgs.forEach(
|
|
104
|
+
commandArgs.forEach(runValidationOnSerializationChunkAt);
|
|
90
105
|
}
|
|
91
|
-
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case MEASURE_COMMAND: {
|
|
109
|
+
if (commandArgs.length === 0) {
|
|
110
|
+
console.log(`The ${MEASURE_COMMAND} command computes statistics on the given serialization chunks,
|
|
111
|
+
such as which concepts are instantiated how often.
|
|
112
|
+
|
|
113
|
+
Usage: npx @lionweb/cli ${MEASURE_COMMAND} <paths_to_chunks> --language[s] <path_to_chunks_of_languages>
|
|
114
|
+
|
|
115
|
+
Chunks given after a '--language' or '--languages' flag (which are synonyms) are assumed to be serializations of languages.
|
|
116
|
+
These languages are then used to try and resolve the keys of languages' entities and their features to names.`);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
await executeMeasureCommand(commandArgs);
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
92
122
|
}
|
|
93
123
|
default: {
|
|
94
124
|
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,
|
|
1
|
+
{"version":3,"file":"lionweb-cli.js","sourceRoot":"","sources":["../src/lionweb-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const diagramFromSerializationChunkAt: (path: string) => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=diagram-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-generator.d.ts","sourceRoot":"","sources":["../../src/m3/diagram-generator.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"diagram-generator.d.ts","sourceRoot":"","sources":["../../src/m3/diagram-generator.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,+BAA+B,SAAgB,MAAM,kBAcjE,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { writeFileSync } from "fs";
|
|
2
2
|
import { dirname } from "path";
|
|
3
3
|
import { deserializeLanguages } from "@lionweb/core";
|
|
4
|
-
import { generateMermaidForLanguage, generatePlantUmlForLanguage,
|
|
5
|
-
export const
|
|
4
|
+
import { generateMermaidForLanguage, generatePlantUmlForLanguage, readChunk } from "@lionweb/utilities";
|
|
5
|
+
export const diagramFromSerializationChunkAt = async (path) => {
|
|
6
6
|
try {
|
|
7
|
-
const json =
|
|
7
|
+
const json = await readChunk(path);
|
|
8
8
|
const dir = dirname(path);
|
|
9
9
|
const languages = deserializeLanguages(json);
|
|
10
10
|
languages.forEach((language) => {
|
|
@@ -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,
|
|
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,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,0BAA0B,EAAE,2BAA2B,EAAE,SAAS,EAAC,MAAM,oBAAoB,CAAA;AAGrG,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAClE,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC5C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,aAAa,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,OAAO,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAA;YACpF,aAAa,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAA;QAErF,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,SAAS,GAAG,IAAI,CAAC,CAAA;IAC7D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,8DAA8D,CAAC,CAAA;IACzF,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Language } from "@lionweb/core";
|
|
2
|
+
import { Change } from "@lionweb/validation";
|
|
3
|
+
export declare const languageDiff: (changes: Change[], prevVersionLanguages: Language[], headVersionLanguages: Language[]) => unknown[];
|
|
4
|
+
//# sourceMappingURL=language-differ.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-differ.d.ts","sourceRoot":"","sources":["../../src/m3/language-differ.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,QAAQ,EAAkB,MAAM,eAAe,CAAA;AACnF,OAAO,EAAC,MAAM,EAAuD,MAAM,qBAAqB,CAAA;AAGhG,eAAO,MAAM,YAAY,YAAa,MAAM,EAAE,wBAAwB,QAAQ,EAAE,wBAAwB,QAAQ,EAAE,KAAG,OAAO,EAsB3H,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { allContaineds, asMap, idOf, qualifiedNameOf } from "@lionweb/core";
|
|
2
|
+
import { LION_CORE_BUILTINS_INAMED_NAME } from "@lionweb/validation";
|
|
3
|
+
export const languageDiff = (changes, prevVersionLanguages, headVersionLanguages) => {
|
|
4
|
+
const prevVersionNodesPerId = asMap(prevVersionLanguages.flatMap(allContaineds), idOf);
|
|
5
|
+
const mapChange = (change) => {
|
|
6
|
+
switch (change.changeType) {
|
|
7
|
+
case "PropertyValueChanged": {
|
|
8
|
+
const propertyValueChanged = change;
|
|
9
|
+
if (propertyValueChanged.property.key === LION_CORE_BUILTINS_INAMED_NAME) {
|
|
10
|
+
const node = prevVersionNodesPerId[propertyValueChanged.nodeId];
|
|
11
|
+
return {
|
|
12
|
+
kind: "Renamed",
|
|
13
|
+
qualifiedNameParent: node.parent === undefined ? "<root>" : qualifiedNameOf(node.parent),
|
|
14
|
+
what: node.constructor.name,
|
|
15
|
+
oldName: propertyValueChanged.oldValue,
|
|
16
|
+
newName: propertyValueChanged.newValue
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// sentinel:
|
|
21
|
+
default: return undefined;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return changes.map(mapChange).filter((languageDelta) => languageDelta !== undefined);
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=language-differ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-differ.js","sourceRoot":"","sources":["../../src/m3/language-differ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAY,eAAe,EAAC,MAAM,eAAe,CAAA;AACnF,OAAO,EAAS,8BAA8B,EAAuB,MAAM,qBAAqB,CAAA;AAGhG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAiB,EAAE,oBAAgC,EAAE,oBAAgC,EAAa,EAAE;IAC7H,MAAM,qBAAqB,GAAG,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAA;IACtF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;QAC1C,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC1B,MAAM,oBAAoB,GAAG,MAA8B,CAAA;gBAC3D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,KAAK,8BAA8B,EAAE,CAAC;oBACvE,MAAM,IAAI,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;oBAC/D,OAAO;wBACH,IAAI,EAAE,SAAS;wBACf,mBAAmB,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;wBACxF,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;wBAC3B,OAAO,EAAE,oBAAoB,CAAC,QAAQ;wBACtC,OAAO,EAAE,oBAAoB,CAAC,QAAQ;qBACzC,CAAA;gBACL,CAAC;YACL,CAAC;YACD,YAAY;YACZ,OAAO,CAAC,CAAC,OAAO,SAAS,CAAA;QAC7B,CAAC;IACL,CAAC,CAAA;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAA;AACxF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":""}
|
package/dist/process.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { deserializeLanguages } from "@lionweb/core";
|
|
2
|
+
import { readChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
3
|
+
import { LionWebJsonDiff } from "@lionweb/validation";
|
|
4
|
+
import { languageDiff } from "./m3/language-differ.js";
|
|
5
|
+
const headVersionChunk = await readChunk("chunks/DSL-0_1_17.json");
|
|
6
|
+
const prevVersionChunk = await readChunk("chunks/DSL-0_1_16.json");
|
|
7
|
+
const differ = new LionWebJsonDiff();
|
|
8
|
+
differ.diffLwChunk(prevVersionChunk, headVersionChunk);
|
|
9
|
+
const changes = differ.diffResult.changes;
|
|
10
|
+
writeJsonAsFile("chunks/DSL-chunky-diff.json", changes);
|
|
11
|
+
const languageChanges = languageDiff(changes, deserializeLanguages(prevVersionChunk), deserializeLanguages(headVersionChunk));
|
|
12
|
+
writeJsonAsFile("chunks/DSL-language-diff.json", languageChanges);
|
|
13
|
+
for (const change of languageChanges) {
|
|
14
|
+
const { what, qualifiedNameParent, oldName, newName } = change;
|
|
15
|
+
console.log(`${what} in ${qualifiedNameParent} renamed from ${oldName} to ${newName}`);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAA;AAGpD,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,CAAA;AAClE,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,CAAA;AAElE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;AACpC,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;AACtD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAA;AAEzC,eAAe,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;AAEvD,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAE7H,eAAe,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAA;AAEjE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,EAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAa,CAAA;IACpE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,mBAAmB,iBAAiB,OAAO,OAAO,OAAO,EAAE,CAAC,CAAA;AAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"differ.d.ts","sourceRoot":"","sources":["../../src/serialization/differ.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,aAAoB,MAAM,aAAa,MAAM,YAAY,MAAM,kBAIlG,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { readChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
2
|
+
import { LionWebJsonDiff } from "@lionweb/validation";
|
|
3
|
+
export const diffSerializationChunks = async (leftPath, rightPath, diffPath) => {
|
|
4
|
+
const differ = new LionWebJsonDiff();
|
|
5
|
+
differ.diffLwChunk(await readChunk(leftPath), await readChunk(rightPath));
|
|
6
|
+
writeJsonAsFile(diffPath, differ.diffResult.changes);
|
|
7
|
+
};
|
|
8
|
+
// TODO re-interpret diff of two languages in a LionCore/M3-specific way, i.e. in terms of domain-specific ∂s
|
|
9
|
+
//# sourceMappingURL=differ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"differ.js","sourceRoot":"","sources":["../../src/serialization/differ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;IACnG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,MAAM,CAAC,WAAW,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IACzE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,8GAA8G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurer.d.ts","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,SAAgB,MAAM,EAAE,kBAMzD,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { extname } from "path";
|
|
2
|
+
import { measure, readChunk, tryLoadAllAsLanguages, writeJsonAsFile } from "@lionweb/utilities";
|
|
3
|
+
import { separate } from "../language-aware-args.js";
|
|
4
|
+
export const executeMeasureCommand = async (args) => {
|
|
5
|
+
const { chunkPaths, languagePaths } = separate(args);
|
|
6
|
+
const languages = await tryLoadAllAsLanguages(languagePaths);
|
|
7
|
+
chunkPaths.forEach(chunkPath => {
|
|
8
|
+
measureSerializationChunk(chunkPath, languages);
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
const measureSerializationChunk = async (path, languages) => {
|
|
12
|
+
const chunk = await readChunk(path);
|
|
13
|
+
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
14
|
+
const metricsPath = extLessPath + ".metrics.json";
|
|
15
|
+
writeJsonAsFile(metricsPath, measure(chunk, languages));
|
|
16
|
+
console.log(`Wrote metrics for ${path} --> ${metricsPath}`);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=measurer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurer.js","sourceRoot":"","sources":["../../src/serialization/measurer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IAC1D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAC5D,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC3B,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,KAAK,EAAE,IAAY,EAAE,SAAqB,EAAE,EAAE;IAC5E,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,WAAW,GAAG,WAAW,GAAG,eAAe,CAAA;IACjD,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,WAAW,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const repairSerializationChunkAt: (path: string) => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=repairer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repairer.d.ts","sourceRoot":"","sources":["../../src/serialization/repairer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"repairer.d.ts","sourceRoot":"","sources":["../../src/serialization/repairer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,SAAgB,MAAM,kBAI5D,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { orderedSerializationChunk, readChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
2
|
-
export const
|
|
2
|
+
export const repairSerializationChunkAt = async (path) => {
|
|
3
3
|
const chunk = await readChunk(path);
|
|
4
4
|
writeJsonAsFile(path, orderedSerializationChunk(chunk));
|
|
5
5
|
console.log(`ordered(/"repaired"): ${path}`);
|
|
@@ -1 +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,
|
|
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,0BAA0B,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7D,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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const sortSerializationChunkAt: (path: string) => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=sorter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorter.d.ts","sourceRoot":"","sources":["../../src/serialization/sorter.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"sorter.d.ts","sourceRoot":"","sources":["../../src/serialization/sorter.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,kBAM1D,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extname } from "path";
|
|
2
2
|
import { readChunk, sortedSerializationChunk, writeJsonAsFile } from "@lionweb/utilities";
|
|
3
|
-
export const
|
|
3
|
+
export const sortSerializationChunkAt = async (path) => {
|
|
4
4
|
const chunk = await readChunk(path);
|
|
5
5
|
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
6
6
|
const sortedJson = sortedSerializationChunk(chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sorter.js","sourceRoot":"","sources":["../../src/serialization/sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,SAAS,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAGvF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"sorter.js","sourceRoot":"","sources":["../../src/serialization/sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,SAAS,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAGvF,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,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,QAAQ,WAAW,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"textualizer.d.ts","sourceRoot":"","sources":["../../src/serialization/textualizer.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,wBAAwB,SAAgB,MAAM,EAAE,kBAQ5D,CAAA"}
|
|
@@ -2,15 +2,13 @@ import { writeFile } from "fs/promises";
|
|
|
2
2
|
import { extname } from "path";
|
|
3
3
|
import { genericAsTreeText, languagesAsText, looksLikeSerializedLanguages, readChunk, tryLoadAllAsLanguages } from "@lionweb/utilities";
|
|
4
4
|
import { deserializeLanguages } from "@lionweb/core";
|
|
5
|
+
import { separate } from "../language-aware-args.js";
|
|
5
6
|
const languagesAsRegularFlag = "--languagesAsRegular";
|
|
6
7
|
export const executeTextualizeCommand = async (args) => {
|
|
7
8
|
const languagesAsRegular = args.some((arg) => arg === languagesAsRegularFlag);
|
|
8
9
|
const otherArgs = args.filter((arg) => arg !== languagesAsRegularFlag);
|
|
9
|
-
const
|
|
10
|
-
const languages =
|
|
11
|
-
? await tryLoadAllAsLanguages(otherArgs.slice(indexLanguageArg + 1))
|
|
12
|
-
: [];
|
|
13
|
-
const chunkPaths = otherArgs.slice(0, indexLanguageArg > -1 ? indexLanguageArg : undefined);
|
|
10
|
+
const { chunkPaths, languagePaths } = separate(otherArgs);
|
|
11
|
+
const languages = await tryLoadAllAsLanguages(languagePaths);
|
|
14
12
|
chunkPaths.forEach((chunkPath) => {
|
|
15
13
|
textualizeSerializationChunk(chunkPath, languagesAsRegular, languages);
|
|
16
14
|
});
|
|
@@ -1 +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,EACH,iBAAiB,EACjB,eAAe,EACf,4BAA4B,EAC5B,SAAS,EACT,qBAAqB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAC,oBAAoB,EAAW,MAAM,eAAe,CAAA;
|
|
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,EACH,iBAAiB,EACjB,eAAe,EACf,4BAA4B,EAC5B,SAAS,EACT,qBAAqB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAC,oBAAoB,EAAW,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAGlD,MAAM,sBAAsB,GAAG,sBAAsB,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAA;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAA;IACtE,MAAM,EAAC,UAAU,EAAE,aAAa,EAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAC5D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7B,4BAA4B,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAGD,MAAM,4BAA4B,GAAG,KAAK,EAAE,IAAY,EAAE,kBAA2B,EAAE,YAAwB,EAAE,EAAE,EAAE;IACjH,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,CACX,WAAW,GAAG,MAAM,EACpB,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB;QACtD,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAC5C,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
package/dist/validator.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function runValidationOnSerializationChunkAt(path: string): void;
|
|
2
2
|
//# sourceMappingURL=validator.d.ts.map
|
package/dist/validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAGA,wBAAgB,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAGA,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQtE"}
|
package/dist/validator.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LanguageRegistry, validateFileResult } from "@lionweb/validation";
|
|
2
|
-
export function
|
|
3
|
-
console.log(`Validating ${
|
|
4
|
-
const validationResult = validateFileResult(
|
|
2
|
+
export function runValidationOnSerializationChunkAt(path) {
|
|
3
|
+
console.log(`Validating ${path}`);
|
|
4
|
+
const validationResult = validateFileResult(path, false, new LanguageRegistry());
|
|
5
5
|
console.log(validationResult.hasErrors()
|
|
6
6
|
? validationResult.issues.map(issue => issue.errorMsg()).join("\n")
|
|
7
7
|
: "No errors found");
|
package/dist/validator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG1E,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG1E,MAAM,UAAU,mCAAmC,CAAC,IAAY;IAC5D,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;IACjC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAA;IAChF,OAAO,CAAC,GAAG,CACP,gBAAgB,CAAC,SAAS,EAAE;QACxB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnE,CAAC,CAAC,iBAAiB,CAC1B,CAAA;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "LionWeb CLI for {Java|Type}Script",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lionweb-cli": "./dist/lionweb-cli.js"
|
|
7
7
|
},
|
|
8
|
-
"main": "dist/
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
10
|
-
"typings": "dist/index.d.ts",
|
|
8
|
+
"main": "dist/lionweb-cli.js",
|
|
11
9
|
"type": "module",
|
|
12
10
|
"license": "Apache-2.0",
|
|
13
11
|
"repository": {
|
|
@@ -18,9 +16,9 @@
|
|
|
18
16
|
"url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
|
|
19
17
|
},
|
|
20
18
|
"dependencies": {
|
|
21
|
-
"@lionweb/core": "0.6.
|
|
22
|
-
"@lionweb/utilities": "0.6.
|
|
23
|
-
"@lionweb/validation": "0.6.
|
|
19
|
+
"@lionweb/core": "0.6.2",
|
|
20
|
+
"@lionweb/utilities": "0.6.2",
|
|
21
|
+
"@lionweb/validation": "0.6.2"
|
|
24
22
|
},
|
|
25
23
|
"scripts": {
|
|
26
24
|
"clean": "rm -rf dist/ lionweb-cli-*.tgz",
|