@auto-engineer/narrative 1.5.0 → 1.5.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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +5 -5
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +30 -0
- package/dist/src/loader/fs-path.d.ts +3 -0
- package/dist/src/loader/fs-path.d.ts.map +1 -1
- package/dist/src/loader/fs-path.js +27 -1
- package/dist/src/loader/fs-path.js.map +1 -1
- package/dist/src/transformers/model-to-narrative/ast/emit-helpers.d.ts.map +1 -1
- package/dist/src/transformers/model-to-narrative/ast/emit-helpers.js +1 -8
- package/dist/src/transformers/model-to-narrative/ast/emit-helpers.js.map +1 -1
- package/dist/src/transformers/model-to-narrative/cross-module-imports.d.ts +12 -0
- package/dist/src/transformers/model-to-narrative/cross-module-imports.d.ts.map +1 -1
- package/dist/src/transformers/model-to-narrative/cross-module-imports.js +70 -22
- package/dist/src/transformers/model-to-narrative/cross-module-imports.js.map +1 -1
- package/dist/src/transformers/model-to-narrative/generators/module-code.d.ts.map +1 -1
- package/dist/src/transformers/model-to-narrative/generators/module-code.js +10 -7
- package/dist/src/transformers/model-to-narrative/generators/module-code.js.map +1 -1
- package/dist/src/transformers/model-to-narrative/generators/types.d.ts +1 -1
- package/dist/src/transformers/model-to-narrative/generators/types.d.ts.map +1 -1
- package/dist/src/transformers/model-to-narrative/generators/types.js +4 -3
- package/dist/src/transformers/model-to-narrative/generators/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/loader/fs-path.ts +28 -1
- package/src/transformers/model-to-narrative/ast/emit-helpers.ts +1 -9
- package/src/transformers/model-to-narrative/cross-module-imports.specs.ts +191 -13
- package/src/transformers/model-to-narrative/cross-module-imports.ts +88 -25
- package/src/transformers/model-to-narrative/generators/module-code.ts +11 -4
- package/src/transformers/model-to-narrative/generators/types.ts +5 -7
- package/src/transformers/model-to-narrative/modules.specs.ts +3 -2
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/narrative@1.5.
|
|
2
|
+
> @auto-engineer/narrative@1.5.2 test /home/runner/work/auto-engineer/auto-engineer/packages/narrative
|
|
3
3
|
> vitest run --reporter=dot
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/auto-engineer/auto-engineer/packages/narrative[39m
|
|
7
7
|
|
|
8
|
-
[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m
|
|
8
|
+
[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m
|
|
9
9
|
|
|
10
10
|
[2m Test Files [22m [1m[32m15 passed[39m[22m[90m (15)[39m
|
|
11
|
-
[2m Tests [22m [1m[
|
|
12
|
-
[2m Start at [22m
|
|
13
|
-
[2m Duration [22m
|
|
11
|
+
[2m Tests [22m [1m[32m224 passed[39m[22m[90m (224)[39m
|
|
12
|
+
[2m Start at [22m 19:50:29
|
|
13
|
+
[2m Duration [22m 13.76s[2m (transform 3.96s, setup 0ms, collect 17.34s, tests 11.62s, environment 4ms, prepare 4.30s)[22m
|
|
14
14
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @auto-engineer/flow
|
|
2
2
|
|
|
3
|
+
## 1.5.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`02f70b8`](https://github.com/BeOnAuto/auto-engineer/commit/02f70b8e3be0655ab340c53e2ac2082a3ddc10ef) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **narrative**: use browser-compatible path utilities in cross-module-imports
|
|
8
|
+
- **global**: version packages
|
|
9
|
+
- **global**: add changeset
|
|
10
|
+
|
|
11
|
+
- [`e5883d0`](https://github.com/BeOnAuto/auto-engineer/commit/e5883d0db038d1f95645a46ce528cbd153bde277) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Exported cross-module types for better integration between modules
|
|
12
|
+
- Improved Date field handling in the narrative package
|
|
13
|
+
- Updated dependencies [[`02f70b8`](https://github.com/BeOnAuto/auto-engineer/commit/02f70b8e3be0655ab340c53e2ac2082a3ddc10ef), [`e5883d0`](https://github.com/BeOnAuto/auto-engineer/commit/e5883d0db038d1f95645a46ce528cbd153bde277)]:
|
|
14
|
+
- @auto-engineer/file-store@1.5.2
|
|
15
|
+
- @auto-engineer/id@1.5.2
|
|
16
|
+
- @auto-engineer/message-bus@1.5.2
|
|
17
|
+
|
|
18
|
+
## 1.5.1
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [`6afefa3`](https://github.com/BeOnAuto/auto-engineer/commit/6afefa3cd483930b2cea1933f6b0d3e84a546a9b) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **narrative**: add query support to isMessageKind type guard
|
|
23
|
+
- **global**: version packages
|
|
24
|
+
- **global**: add changeset
|
|
25
|
+
|
|
26
|
+
- [`6edb039`](https://github.com/BeOnAuto/auto-engineer/commit/6edb0394444edcab597b6d149b3928debe9824c8) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed browser compatibility issues with path utilities in cross-module imports
|
|
27
|
+
|
|
28
|
+
- Updated dependencies [[`6afefa3`](https://github.com/BeOnAuto/auto-engineer/commit/6afefa3cd483930b2cea1933f6b0d3e84a546a9b), [`6edb039`](https://github.com/BeOnAuto/auto-engineer/commit/6edb0394444edcab597b6d149b3928debe9824c8)]:
|
|
29
|
+
- @auto-engineer/file-store@1.5.1
|
|
30
|
+
- @auto-engineer/id@1.5.1
|
|
31
|
+
- @auto-engineer/message-bus@1.5.1
|
|
32
|
+
|
|
3
33
|
## 1.5.0
|
|
4
34
|
|
|
5
35
|
### Minor Changes
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export declare const toPosix: (p: string) => string;
|
|
2
2
|
export declare function dirname(p: string): string;
|
|
3
|
+
export declare function basename(p: string, ext?: string): string;
|
|
4
|
+
export declare function extname(p: string): string;
|
|
5
|
+
export declare function relative(from: string, to: string): string;
|
|
3
6
|
export declare function join(a: string, b: string): string;
|
|
4
7
|
export declare function normalize(path: string): string;
|
|
5
8
|
export declare const CANDIDATE_EXTS: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-path.d.ts","sourceRoot":"","sources":["../../../src/loader/fs-path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,WAA0B,CAAC;AAE5D,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fs-path.d.ts","sourceRoot":"","sources":["../../../src/loader/fs-path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,WAA0B,CAAC;AAE5D,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,UAMhC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAIxC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9C;AAED,eAAO,MAAM,cAAc,UAAiD,CAAC"}
|
|
@@ -2,7 +2,33 @@ export const toPosix = (p) => p.replace(/\\/g, '/');
|
|
|
2
2
|
export function dirname(p) {
|
|
3
3
|
const posix = toPosix(p);
|
|
4
4
|
const idx = posix.lastIndexOf('/');
|
|
5
|
-
|
|
5
|
+
if (idx === -1)
|
|
6
|
+
return '';
|
|
7
|
+
if (idx === 0)
|
|
8
|
+
return '/';
|
|
9
|
+
return posix.slice(0, idx);
|
|
10
|
+
}
|
|
11
|
+
export function basename(p, ext) {
|
|
12
|
+
const posix = toPosix(p);
|
|
13
|
+
const name = posix.split('/').pop() || '';
|
|
14
|
+
return ext && name.endsWith(ext) ? name.slice(0, -ext.length) : name;
|
|
15
|
+
}
|
|
16
|
+
export function extname(p) {
|
|
17
|
+
const name = toPosix(p).split('/').pop() || '';
|
|
18
|
+
const lastDot = name.lastIndexOf('.');
|
|
19
|
+
return lastDot > 0 ? name.slice(lastDot) : '';
|
|
20
|
+
}
|
|
21
|
+
export function relative(from, to) {
|
|
22
|
+
const fromParts = toPosix(from).split('/').filter(Boolean);
|
|
23
|
+
const toParts = toPosix(to).split('/').filter(Boolean);
|
|
24
|
+
let i = 0;
|
|
25
|
+
while (i < fromParts.length && i < toParts.length && fromParts[i] === toParts[i]) {
|
|
26
|
+
i++;
|
|
27
|
+
}
|
|
28
|
+
const ups = fromParts.length - i;
|
|
29
|
+
const downs = toParts.slice(i);
|
|
30
|
+
const parts = Array(ups).fill('..').concat(downs);
|
|
31
|
+
return parts.join('/') || '';
|
|
6
32
|
}
|
|
7
33
|
export function join(a, b) {
|
|
8
34
|
const aa = toPosix(a).replace(/\/+$/, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-path.js","sourceRoot":"","sources":["../../../src/loader/fs-path.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE5D,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"fs-path.js","sourceRoot":"","sources":["../../../src/loader/fs-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/ast/emit-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"emit-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/ast/emit-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,cAAc,YAAY,CAAC,EAC/B,CAAC,EAAE,IAAI,CAAC,WAAW,EACnB,CAAC,EAAE,OAAO,EACV,QAAQ,CAAC,EAAE,aAAa,GACvB,IAAI,CAAC,UAAU,CAmDjB;AAgFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,CAiB7G"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if a string is a valid ISO date string
|
|
3
|
-
*/
|
|
4
|
-
function isISODateString(str) {
|
|
5
|
-
const isoDateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})?$/;
|
|
6
|
-
return isoDateRegex.test(str);
|
|
7
|
-
}
|
|
8
1
|
/**
|
|
9
2
|
* Emit a TS expression from a plain JSON-like value with optional type information for Date handling.
|
|
10
3
|
*/
|
|
@@ -34,7 +27,7 @@ export function jsonToExpr(ts, f, v, typeInfo) {
|
|
|
34
27
|
// Check if this field should be a Date
|
|
35
28
|
const fieldType = typeInfo?.[k];
|
|
36
29
|
let valueExpr;
|
|
37
|
-
if (fieldType === 'Date' && typeof x === 'string'
|
|
30
|
+
if (fieldType === 'Date' && typeof x === 'string') {
|
|
38
31
|
// Generate new Date('...') for Date fields
|
|
39
32
|
valueExpr = f.createNewExpression(f.createIdentifier('Date'), undefined, [f.createStringLiteral(x)]);
|
|
40
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-helpers.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/ast/emit-helpers.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"emit-helpers.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/ast/emit-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { Model, Module } from '../../index';
|
|
2
2
|
import type { CrossModuleImport } from './types';
|
|
3
3
|
export type { CrossModuleImport };
|
|
4
|
+
/**
|
|
5
|
+
* Computes cross-module imports for a single module.
|
|
6
|
+
* Returns the list of imports needed (with relative paths).
|
|
7
|
+
*/
|
|
4
8
|
export declare function computeCrossModuleImports(module: Module, allModules: Module[], model: Model): CrossModuleImport[];
|
|
9
|
+
/**
|
|
10
|
+
* Computes cross-module imports for all modules and derives which types need to be exported.
|
|
11
|
+
* Returns both the imports per module and the exports per module in a single pass.
|
|
12
|
+
*/
|
|
13
|
+
export declare function computeAllCrossModuleDependencies(modules: Module[], model: Model): {
|
|
14
|
+
importsPerModule: Map<string, CrossModuleImport[]>;
|
|
15
|
+
exportsPerModule: Map<string, Set<string>>;
|
|
16
|
+
};
|
|
5
17
|
export declare function resolveRelativeImport(fromPath: string, toPath: string): string;
|
|
6
18
|
//# sourceMappingURL=cross-module-imports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-module-imports.d.ts","sourceRoot":"","sources":["../../../../src/transformers/model-to-narrative/cross-module-imports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cross-module-imports.d.ts","sourceRoot":"","sources":["../../../../src/transformers/model-to-narrative/cross-module-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,iBAAiB,EAAE,CAMjH;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,KAAK,GACX;IACD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5C,CA2BA;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAc9E"}
|
|
@@ -1,48 +1,96 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { basename, dirname, extname, join, relative } from '../../loader/fs-path.js';
|
|
2
2
|
import { parseMessageKey, sortImportsBySource, toMessageKey } from './ordering.js';
|
|
3
3
|
import { collectMessageKeysFromNarratives } from './spec-traversal.js';
|
|
4
|
+
/**
|
|
5
|
+
* Computes cross-module imports for a single module.
|
|
6
|
+
* Returns the list of imports needed (with relative paths).
|
|
7
|
+
*/
|
|
4
8
|
export function computeCrossModuleImports(module, allModules, model) {
|
|
5
|
-
|
|
9
|
+
const dependencyMap = computeModuleDependencies(module, allModules, model);
|
|
10
|
+
if (!dependencyMap) {
|
|
6
11
|
return [];
|
|
7
12
|
}
|
|
13
|
+
return convertToImports(module.sourceFile, dependencyMap);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Computes cross-module imports for all modules and derives which types need to be exported.
|
|
17
|
+
* Returns both the imports per module and the exports per module in a single pass.
|
|
18
|
+
*/
|
|
19
|
+
export function computeAllCrossModuleDependencies(modules, model) {
|
|
20
|
+
const importsPerModule = new Map();
|
|
21
|
+
const exportsPerModule = new Map();
|
|
22
|
+
for (const module of modules) {
|
|
23
|
+
const dependencyMap = computeModuleDependencies(module, modules, model);
|
|
24
|
+
if (!dependencyMap) {
|
|
25
|
+
importsPerModule.set(module.sourceFile, []);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
// Convert to imports with relative paths
|
|
29
|
+
importsPerModule.set(module.sourceFile, convertToImports(module.sourceFile, dependencyMap));
|
|
30
|
+
// Track which types need to be exported from each declaring module
|
|
31
|
+
for (const [declaringSourceFile, typeNames] of dependencyMap) {
|
|
32
|
+
if (!exportsPerModule.has(declaringSourceFile)) {
|
|
33
|
+
exportsPerModule.set(declaringSourceFile, new Set());
|
|
34
|
+
}
|
|
35
|
+
for (const typeName of typeNames) {
|
|
36
|
+
exportsPerModule.get(declaringSourceFile).add(typeName);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return { importsPerModule, exportsPerModule };
|
|
41
|
+
}
|
|
42
|
+
export function resolveRelativeImport(fromPath, toPath) {
|
|
43
|
+
const fromDir = dirname(fromPath);
|
|
44
|
+
const toDir = dirname(toPath);
|
|
45
|
+
const toFile = basename(toPath, extname(toPath));
|
|
46
|
+
const relativePath = relative(fromDir, toDir);
|
|
47
|
+
if (relativePath === '') {
|
|
48
|
+
return `./${toFile}`;
|
|
49
|
+
}
|
|
50
|
+
if (!relativePath.startsWith('.')) {
|
|
51
|
+
return `./${relativePath}/${toFile}`;
|
|
52
|
+
}
|
|
53
|
+
return join(relativePath, toFile);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Core logic: computes which types a module needs from other modules.
|
|
57
|
+
* Returns a map of declaringModuleSourceFile -> typeNames[], or null if no dependencies.
|
|
58
|
+
*/
|
|
59
|
+
function computeModuleDependencies(module, allModules, model) {
|
|
60
|
+
if (module.isDerived) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
8
63
|
const declaredKeys = new Set(module.declares.messages.map((m) => toMessageKey(m.kind, m.name)));
|
|
9
64
|
const usedKeys = collectUsedMessageKeysForModule(module, model);
|
|
10
65
|
const neededKeys = new Set([...usedKeys].filter((k) => !declaredKeys.has(k)));
|
|
11
66
|
if (neededKeys.size === 0) {
|
|
12
|
-
return
|
|
67
|
+
return null;
|
|
13
68
|
}
|
|
14
|
-
const
|
|
69
|
+
const dependencyMap = new Map();
|
|
15
70
|
for (const msgKey of neededKeys) {
|
|
16
71
|
const { name } = parseMessageKey(msgKey);
|
|
17
72
|
const declaringModule = findDeclaringModule(msgKey, allModules, module);
|
|
18
73
|
if (declaringModule) {
|
|
19
74
|
const modulePath = declaringModule.sourceFile;
|
|
20
|
-
if (!
|
|
21
|
-
|
|
75
|
+
if (!dependencyMap.has(modulePath)) {
|
|
76
|
+
dependencyMap.set(modulePath, []);
|
|
22
77
|
}
|
|
23
|
-
|
|
78
|
+
dependencyMap.get(modulePath).push(name);
|
|
24
79
|
}
|
|
25
80
|
}
|
|
81
|
+
return dependencyMap.size > 0 ? dependencyMap : null;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Converts a dependency map (absolute paths) to CrossModuleImport[] (relative paths).
|
|
85
|
+
*/
|
|
86
|
+
function convertToImports(fromSourceFile, dependencyMap) {
|
|
26
87
|
const imports = [];
|
|
27
|
-
for (const [modulePath, typeNames] of
|
|
28
|
-
const relativePath = resolveRelativeImport(
|
|
88
|
+
for (const [modulePath, typeNames] of dependencyMap) {
|
|
89
|
+
const relativePath = resolveRelativeImport(fromSourceFile, modulePath);
|
|
29
90
|
imports.push({ fromPath: relativePath, typeNames });
|
|
30
91
|
}
|
|
31
92
|
return sortImportsBySource(imports);
|
|
32
93
|
}
|
|
33
|
-
export function resolveRelativeImport(fromPath, toPath) {
|
|
34
|
-
const fromDir = path.dirname(fromPath);
|
|
35
|
-
const toDir = path.dirname(toPath);
|
|
36
|
-
const toFile = path.basename(toPath, path.extname(toPath));
|
|
37
|
-
const relativePath = path.relative(fromDir, toDir);
|
|
38
|
-
if (relativePath === '') {
|
|
39
|
-
return `./${toFile}`;
|
|
40
|
-
}
|
|
41
|
-
if (!relativePath.startsWith('.')) {
|
|
42
|
-
return `./${relativePath}/${toFile}`.replace(/\\/g, '/');
|
|
43
|
-
}
|
|
44
|
-
return path.join(relativePath, toFile).replace(/\\/g, '/');
|
|
45
|
-
}
|
|
46
94
|
function collectUsedMessageKeysForModule(module, model) {
|
|
47
95
|
const narrativeIds = new Set(module.contains.narrativeIds);
|
|
48
96
|
const narratives = model.narratives.filter((n) => n.id && narrativeIds.has(n.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-module-imports.js","sourceRoot":"","sources":["../../../../src/transformers/model-to-narrative/cross-module-imports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cross-module-imports.js","sourceRoot":"","sources":["../../../../src/transformers/model-to-narrative/cross-module-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-code.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/module-code.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAU,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,UAAU,CAAC;AAOjE,UAAU,yBAAyB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,GAAG,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"module-code.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/module-code.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAU,MAAM,gBAAgB,CAAC;AAKpD,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,UAAU,CAAC;AAOjE,UAAU,yBAAyB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,GAAG,aAAa,EAAE,CAoBrG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import { deriveModules } from '../../narrative-to-model/derive-modules.js';
|
|
3
3
|
import { analyzeCodeUsage } from '../analysis/usage.js';
|
|
4
|
-
import {
|
|
4
|
+
import { computeAllCrossModuleDependencies } from '../cross-module-imports.js';
|
|
5
5
|
import { sortFilesByPath } from '../ordering.js';
|
|
6
6
|
import { extractTypeIntegrationNames } from '../utils/integration-extractor.js';
|
|
7
7
|
import { integrationNameToPascalCase } from '../utils/strings.js';
|
|
@@ -10,10 +10,13 @@ import { ALL_FLOW_FUNCTION_NAMES, buildImports } from './imports.js';
|
|
|
10
10
|
import { buildTypeAliases } from './types.js';
|
|
11
11
|
export function generateAllModulesCode(model, opts) {
|
|
12
12
|
const modules = model.modules && model.modules.length > 0 ? model.modules : deriveModules(model.narratives, model.messages);
|
|
13
|
+
// Compute all cross-module dependencies in a single pass
|
|
14
|
+
const { importsPerModule, exportsPerModule } = computeAllCrossModuleDependencies(modules, model);
|
|
13
15
|
const files = [];
|
|
14
16
|
for (const module of modules) {
|
|
15
|
-
const crossModuleImports =
|
|
16
|
-
const
|
|
17
|
+
const crossModuleImports = importsPerModule.get(module.sourceFile) ?? [];
|
|
18
|
+
const exportedTypes = exportsPerModule.get(module.sourceFile);
|
|
19
|
+
const code = generateModuleCode(module, model, opts, crossModuleImports, exportedTypes);
|
|
17
20
|
files.push({
|
|
18
21
|
path: module.sourceFile,
|
|
19
22
|
code,
|
|
@@ -31,7 +34,7 @@ function getNarrativesForModule(module, model) {
|
|
|
31
34
|
const narrativeIds = new Set(module.contains.narrativeIds);
|
|
32
35
|
return model.narratives.filter((n) => n.id && narrativeIds.has(n.id));
|
|
33
36
|
}
|
|
34
|
-
function generateModuleCode(module, model, opts, crossModuleImports) {
|
|
37
|
+
function generateModuleCode(module, model, opts, crossModuleImports, exportedTypes) {
|
|
35
38
|
const f = ts.factory;
|
|
36
39
|
const narratives = getNarrativesForModule(module, model);
|
|
37
40
|
const declaredMessageKeys = new Set(module.declares.messages.map((m) => `${m.kind}:${m.name}`));
|
|
@@ -70,11 +73,11 @@ function generateModuleCode(module, model, opts, crossModuleImports) {
|
|
|
70
73
|
const hasEmptyFlowSlices = narratives.length === 0 || narratives.every((flow) => flow.slices.length === 0);
|
|
71
74
|
return isUsedInFlow || hasEmptyFlowSlices;
|
|
72
75
|
});
|
|
73
|
-
const statements = buildStatements(ts, opts, usedMessages, usedTypeIntegrationNames, usedValueIntegrationNames, usedFlowFunctionNames, narratives, crossModuleImports);
|
|
76
|
+
const statements = buildStatements(ts, opts, usedMessages, usedTypeIntegrationNames, usedValueIntegrationNames, usedFlowFunctionNames, narratives, crossModuleImports, exportedTypes);
|
|
74
77
|
const file = f.createSourceFile(statements, f.createToken(ts.SyntaxKind.EndOfFileToken), ts.NodeFlags.None);
|
|
75
78
|
return printer.printFile(file);
|
|
76
79
|
}
|
|
77
|
-
function buildStatements(tsModule, opts, messages, typeIntegrationNames, valueIntegrationNames, usedFlowFunctionNames, flows, crossModuleImports) {
|
|
80
|
+
function buildStatements(tsModule, opts, messages, typeIntegrationNames, valueIntegrationNames, usedFlowFunctionNames, flows, crossModuleImports, exportedTypes) {
|
|
78
81
|
const f = tsModule.factory;
|
|
79
82
|
const statements = [];
|
|
80
83
|
const imports = buildImports(tsModule, opts, messages, typeIntegrationNames, valueIntegrationNames, usedFlowFunctionNames);
|
|
@@ -101,7 +104,7 @@ function buildStatements(tsModule, opts, messages, typeIntegrationNames, valueIn
|
|
|
101
104
|
required: field.required,
|
|
102
105
|
})),
|
|
103
106
|
}));
|
|
104
|
-
statements.push(...buildTypeAliases(tsModule, adaptedMessages));
|
|
107
|
+
statements.push(...buildTypeAliases(tsModule, adaptedMessages, exportedTypes));
|
|
105
108
|
for (const flow of flows) {
|
|
106
109
|
statements.push(...buildFlowStatements(tsModule, flow, messages));
|
|
107
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-code.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/module-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"module-code.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/module-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,6 @@ type Message = {
|
|
|
8
8
|
required: boolean;
|
|
9
9
|
}[];
|
|
10
10
|
};
|
|
11
|
-
export declare function buildTypeAliases(ts: typeof tsNS, messages: Message[]): tsNS.Statement[];
|
|
11
|
+
export declare function buildTypeAliases(ts: typeof tsNS, messages: Message[], exportedTypes?: Set<string>): tsNS.Statement[];
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7D,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAmCpH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { typeFromString } from '../ast/emit-helpers.js';
|
|
2
|
-
export function buildTypeAliases(ts, messages) {
|
|
2
|
+
export function buildTypeAliases(ts, messages, exportedTypes) {
|
|
3
3
|
const f = ts.factory;
|
|
4
4
|
const mkK = (s) => f.createLiteralTypeNode(f.createStringLiteral(s, true));
|
|
5
5
|
return messages.map((m) => {
|
|
@@ -16,8 +16,9 @@ export function buildTypeAliases(ts, messages) {
|
|
|
16
16
|
const name = f.createIdentifier(m.name);
|
|
17
17
|
const baseTypeName = m.type === 'event' ? 'Event' : m.type === 'command' ? 'Command' : m.type === 'query' ? 'Query' : 'State';
|
|
18
18
|
const rhs = f.createTypeReferenceNode(baseTypeName, typeArgs);
|
|
19
|
-
|
|
20
|
-
name
|
|
19
|
+
// Add export modifier if this type is imported by other modules
|
|
20
|
+
const modifiers = exportedTypes?.has(m.name) ? [f.createModifier(ts.SyntaxKind.ExportKeyword)] : undefined;
|
|
21
|
+
return f.createTypeAliasDeclaration(modifiers, name, [], rhs);
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQrD,MAAM,UAAU,gBAAgB,CAAC,EAAe,EAAE,QAAmB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/transformers/model-to-narrative/generators/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQrD,MAAM,UAAU,gBAAgB,CAAC,EAAe,EAAE,QAAmB,EAAE,aAA2B;IAChG,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAErB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAoB;YAChC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACX,sBAAsB;YACtB,CAAC,GAAG,EAAE;gBACJ,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnC,CAAC,CAAC,uBAAuB,CACvB,SAAS,EACT,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EACtG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EACrE,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAChC,CACF,CAAC;gBACF,MAAM,GAAG,GAAG,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBAC7C,6BAA6B;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,EAAE;SACL,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,YAAY,GAChB,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3G,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE9D,gEAAgE;QAChE,MAAM,SAAS,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3G,OAAO,CAAC,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC"}
|