@lionweb/cli 0.10.0-alpha.2 → 0.10.0-alpha.4
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 +6 -1
- package/README.md +6 -5
- package/dist/lionweb-cli.js +2 -2
- package/dist/lionweb-cli.js.map +1 -1
- package/dist/serialization/sort-command.d.ts +3 -1
- package/dist/serialization/sort-command.d.ts.map +1 -1
- package/dist/serialization/sort-command.js +8 -2
- package/dist/serialization/sort-command.js.map +1 -1
- package/package.json +8 -8
- package/src/lionweb-cli.ts +2 -2
- package/src/serialization/sort-command.ts +14 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.0 — not yet released
|
|
4
|
+
|
|
5
|
+
* Add a `--sort-connections` flag to the `sort` command — see [`README.md`](README.md) for more information.
|
|
6
|
+
|
|
7
|
+
|
|
3
8
|
## 0.9.0
|
|
4
9
|
|
|
5
|
-
* Add a
|
|
10
|
+
* Add a `generate-class-core-types` command to invoke the `@lionweb/class-core-generator`.
|
|
6
11
|
|
|
7
12
|
|
|
8
13
|
## 0.8.0, 0.7.2
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ It does some implicit validation as it can error out on incorrect serializations
|
|
|
28
28
|
|
|
29
29
|
## Sorting a serialization chunk
|
|
30
30
|
|
|
31
|
-
Run the following command to sort
|
|
31
|
+
Run the following command to sort one or more serialization chunks (e.g.):
|
|
32
32
|
|
|
33
33
|
```shell
|
|
34
34
|
npx @lionweb/cli sort ../build/artifacts/core/v2023_1/lioncore.json
|
|
@@ -37,11 +37,12 @@ npx @lionweb/cli sort ../build/artifacts/core/v2023_1/lioncore.json
|
|
|
37
37
|
Sorting a serialization chunk means the following:
|
|
38
38
|
|
|
39
39
|
* All nodes sorted by ID.
|
|
40
|
-
* For all nodes, their properties, containments, and references sorted by
|
|
41
|
-
*
|
|
40
|
+
* For all nodes, their properties, containments, and references are sorted lexicographically by the tuple (language-key, feature-key, language-version) — essentially, by the meta-pointer.
|
|
41
|
+
* If the `--sort-connections` flag is given as one (or more) of the arguments, then for every node, all containments, references, and contained annotations are sorted by ID.
|
|
42
|
+
* All key-value pairs in the objects in the JSON produced, appear according to the specification of the LionWeb serialization format, with missing key-value pairs put in with their default values.
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
Sorted serialization chunks lean themselves well to being compared as text files.
|
|
45
|
+
Setting the `--sort-connections` flag usually changes the meaning of the serialization chunk, but makes it easy to find out whether a list of items appearing in a containment, a reference, or the annotations of a node merely appear in a different order, or really differ.
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
## Development
|
package/dist/lionweb-cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { generateTsTypesWith } from "./m2/generate-ts-types-command.js";
|
|
|
7
7
|
import { diffSerializationChunks } from "./serialization/diff-command.js";
|
|
8
8
|
import { executeMeasureCommand } from "./serialization/measure-command.js";
|
|
9
9
|
import { repairSerializationChunkAt } from "./serialization/repair-command.js";
|
|
10
|
-
import {
|
|
10
|
+
import { executeSortCommand } from "./serialization/sort-command.js";
|
|
11
11
|
import { executeTextualizeCommand } from "./serialization/textualize-command.js";
|
|
12
12
|
import { runValidationOnSerializationChunkAt } from "./validate-command.js";
|
|
13
13
|
const main = async (args) => {
|
|
@@ -107,7 +107,7 @@ Missing key-value pairs are put in and get their default values.`);
|
|
|
107
107
|
(See the README.md for more information.)`);
|
|
108
108
|
}
|
|
109
109
|
else {
|
|
110
|
-
commandArgs
|
|
110
|
+
await executeSortCommand(commandArgs);
|
|
111
111
|
}
|
|
112
112
|
break;
|
|
113
113
|
}
|
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,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lionweb-cli.js","sourceRoot":"","sources":["../src/lionweb-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const sortFlag = "--sort-connections";
|
|
2
|
+
export declare const executeSortCommand: (args: string[]) => Promise<void>;
|
|
3
|
+
export declare const sortSerializationChunkAt: (path: string, sortConnections: boolean) => Promise<void>;
|
|
2
4
|
//# sourceMappingURL=sort-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-command.d.ts","sourceRoot":"","sources":["../../src/serialization/sort-command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-command.d.ts","sourceRoot":"","sources":["../../src/serialization/sort-command.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,uBAAuB,CAAA;AAE5C,eAAO,MAAM,kBAAkB,GAAU,MAAM,MAAM,EAAE,kBAMtD,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,MAAM,MAAM,EAAE,iBAAiB,OAAO,kBAMpF,CAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { writeJsonAsFileSync } from "@lionweb/node-utils";
|
|
2
2
|
import { readSerializationChunk, sortedSerializationChunk } from "@lionweb/utilities";
|
|
3
3
|
import { extname } from "path";
|
|
4
|
-
export const
|
|
4
|
+
export const sortFlag = "--sort-connections";
|
|
5
|
+
export const executeSortCommand = async (args) => {
|
|
6
|
+
const chunkPaths = args.filter((arg) => arg !== sortFlag);
|
|
7
|
+
const sortConnections = chunkPaths.length < args.length;
|
|
8
|
+
await Promise.all(chunkPaths.map((chunkPath) => sortSerializationChunkAt(chunkPath, sortConnections)));
|
|
9
|
+
};
|
|
10
|
+
export const sortSerializationChunkAt = async (path, sortConnections) => {
|
|
5
11
|
const chunk = await readSerializationChunk(path);
|
|
6
12
|
const extLessPath = path.substring(0, path.length - extname(path).length);
|
|
7
|
-
const sortedJson = sortedSerializationChunk(chunk);
|
|
13
|
+
const sortedJson = sortedSerializationChunk(chunk, sortConnections);
|
|
8
14
|
writeJsonAsFileSync(extLessPath + ".sorted.json", sortedJson);
|
|
9
15
|
console.log(`sorted: "${path}" -> ${extLessPath}`);
|
|
10
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-command.js","sourceRoot":"","sources":["../../src/serialization/sort-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"sort-command.js","sourceRoot":"","sources":["../../src/serialization/sort-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAG9B,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAA;IACzD,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACvD,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CACtF,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAAY,EAAE,eAAwB,EAAE,EAAE;IACrF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAChD,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,EAAE,eAAe,CAAC,CAAA;IACnE,mBAAmB,CAAC,WAAW,GAAG,cAAc,EAAE,UAAU,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,QAAQ,WAAW,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/cli",
|
|
3
|
-
"version": "0.10.0-alpha.
|
|
3
|
+
"version": "0.10.0-alpha.4",
|
|
4
4
|
"description": "LionWeb CLI for {Java|Type}Script",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lionweb-cli": "./dist/lionweb-cli.js"
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"release": "npm publish"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@lionweb/class-core-generator": "0.10.0-alpha.
|
|
33
|
-
"@lionweb/core": "0.10.0-alpha.
|
|
34
|
-
"@lionweb/json-diff": "0.10.0-alpha.
|
|
35
|
-
"@lionweb/node-utils": "0.10.0-alpha.
|
|
36
|
-
"@lionweb/ts-utils": "0.10.0-alpha.
|
|
37
|
-
"@lionweb/utilities": "0.10.0-alpha.
|
|
38
|
-
"@lionweb/validation": "0.10.0-alpha.
|
|
32
|
+
"@lionweb/class-core-generator": "0.10.0-alpha.4",
|
|
33
|
+
"@lionweb/core": "0.10.0-alpha.4",
|
|
34
|
+
"@lionweb/json-diff": "0.10.0-alpha.4",
|
|
35
|
+
"@lionweb/node-utils": "0.10.0-alpha.4",
|
|
36
|
+
"@lionweb/ts-utils": "0.10.0-alpha.4",
|
|
37
|
+
"@lionweb/utilities": "0.10.0-alpha.4",
|
|
38
|
+
"@lionweb/validation": "0.10.0-alpha.4"
|
|
39
39
|
}
|
|
40
40
|
}
|
package/src/lionweb-cli.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { generateTsTypesWith } from "./m2/generate-ts-types-command.js"
|
|
|
10
10
|
import { diffSerializationChunks } from "./serialization/diff-command.js"
|
|
11
11
|
import { executeMeasureCommand } from "./serialization/measure-command.js"
|
|
12
12
|
import { repairSerializationChunkAt } from "./serialization/repair-command.js"
|
|
13
|
-
import {
|
|
13
|
+
import { executeSortCommand } from "./serialization/sort-command.js"
|
|
14
14
|
import { executeTextualizeCommand } from "./serialization/textualize-command.js"
|
|
15
15
|
import { runValidationOnSerializationChunkAt } from "./validate-command.js"
|
|
16
16
|
|
|
@@ -126,7 +126,7 @@ Missing key-value pairs are put in and get their default values.`
|
|
|
126
126
|
(See the README.md for more information.)`
|
|
127
127
|
)
|
|
128
128
|
} else {
|
|
129
|
-
commandArgs
|
|
129
|
+
await executeSortCommand(commandArgs)
|
|
130
130
|
}
|
|
131
131
|
break
|
|
132
132
|
}
|
|
@@ -2,10 +2,22 @@ import { writeJsonAsFileSync } from "@lionweb/node-utils"
|
|
|
2
2
|
import { readSerializationChunk, sortedSerializationChunk } from "@lionweb/utilities"
|
|
3
3
|
import { extname } from "path"
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
export const sortFlag = "--sort-connections"
|
|
7
|
+
|
|
8
|
+
export const executeSortCommand = async (args: string[]) => {
|
|
9
|
+
const chunkPaths = args.filter((arg) => arg !== sortFlag)
|
|
10
|
+
const sortConnections = chunkPaths.length < args.length
|
|
11
|
+
await Promise.all(
|
|
12
|
+
chunkPaths.map((chunkPath) => sortSerializationChunkAt(chunkPath, sortConnections))
|
|
13
|
+
)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const sortSerializationChunkAt = async (path: string, sortConnections: boolean) => {
|
|
6
17
|
const chunk = await readSerializationChunk(path)
|
|
7
18
|
const extLessPath = path.substring(0, path.length - extname(path).length)
|
|
8
|
-
const sortedJson = sortedSerializationChunk(chunk)
|
|
19
|
+
const sortedJson = sortedSerializationChunk(chunk, sortConnections)
|
|
9
20
|
writeJsonAsFileSync(extLessPath + ".sorted.json", sortedJson)
|
|
10
21
|
console.log(`sorted: "${path}" -> ${extLessPath}`)
|
|
11
22
|
}
|
|
23
|
+
|