trix-ui 0.2.14 → 0.3.0
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/dist/commands/add/analysis.d.ts +4 -4
- package/dist/commands/add/analysis.js +56 -56
- package/dist/commands/add/command.d.ts +2 -2
- package/dist/commands/add/command.js +205 -202
- package/dist/commands/add/command.js.map +1 -1
- package/dist/commands/add/config.d.ts +2 -2
- package/dist/commands/add/config.js +11 -11
- package/dist/commands/add/install.d.ts +27 -27
- package/dist/commands/add/install.js +80 -80
- package/dist/commands/add/package-manager.d.ts +1 -1
- package/dist/commands/add/package-manager.js +4 -4
- package/dist/commands/add/project-files.d.ts +2 -2
- package/dist/commands/add/project-files.js +17 -17
- package/dist/commands/add/prompts.d.ts +3 -3
- package/dist/commands/add/prompts.js +28 -28
- package/dist/commands/add/registry.d.ts +4 -4
- package/dist/commands/add/registry.js +6 -6
- package/dist/commands/add/types.d.ts +33 -33
- package/dist/commands/add/types.js +1 -1
- package/dist/commands/add/ui.d.ts +4 -4
- package/dist/commands/add/ui.js +55 -55
- package/dist/commands/add/validation.d.ts +3 -3
- package/dist/commands/add/validation.js +30 -30
- package/dist/commands/add-collection.d.ts +1 -1
- package/dist/commands/add-collection.js +1 -1
- package/dist/commands/add-composite.d.ts +2 -2
- package/dist/commands/add-composite.js +205 -201
- package/dist/commands/add-composite.js.map +1 -1
- package/dist/commands/add-section.d.ts +2 -2
- package/dist/commands/add-section.js +205 -201
- package/dist/commands/add-section.js.map +1 -1
- package/dist/commands/add-wrapper.d.ts +2 -2
- package/dist/commands/add-wrapper.js +205 -201
- package/dist/commands/add-wrapper.js.map +1 -1
- package/dist/commands/add.d.ts +1 -1
- package/dist/commands/add.js +1 -1
- package/dist/commands/build.d.ts +2 -2
- package/dist/commands/build.js +104 -104
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/doctor.d.ts +2 -2
- package/dist/commands/doctor.js +67 -67
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init/command.d.ts +8 -2
- package/dist/commands/init/command.js +186 -114
- package/dist/commands/init/command.js.map +1 -1
- package/dist/commands/init/config.d.ts +9 -2
- package/dist/commands/init/config.js +45 -25
- package/dist/commands/init/config.js.map +1 -1
- package/dist/commands/init/constants.d.ts +3 -3
- package/dist/commands/init/constants.js +105 -105
- package/dist/commands/init/dependencies.d.ts +22 -5
- package/dist/commands/init/dependencies.js +86 -52
- package/dist/commands/init/dependencies.js.map +1 -1
- package/dist/commands/init/filesystem.d.ts +7 -1
- package/dist/commands/init/filesystem.js +16 -10
- package/dist/commands/init/filesystem.js.map +1 -1
- package/dist/commands/init/lockfile.d.ts +1 -1
- package/dist/commands/init/lockfile.js +1 -1
- package/dist/commands/init/package-json.d.ts +17 -6
- package/dist/commands/init/package-json.js +28 -18
- package/dist/commands/init/package-json.js.map +1 -1
- package/dist/commands/init/project.d.ts +15 -3
- package/dist/commands/init/project.js +120 -97
- package/dist/commands/init/project.js.map +1 -1
- package/dist/commands/init/tailwind.d.ts +14 -3
- package/dist/commands/init/tailwind.js +141 -33
- package/dist/commands/init/tailwind.js.map +1 -1
- package/dist/commands/init/templates.d.ts +15 -3
- package/dist/commands/init/templates.js +27 -15
- package/dist/commands/init/templates.js.map +1 -1
- package/dist/commands/init/tsconfig.d.ts +14 -2
- package/dist/commands/init/tsconfig.js +561 -273
- package/dist/commands/init/tsconfig.js.map +1 -1
- package/dist/commands/init/types.d.ts +34 -33
- package/dist/commands/init/types.js +1 -1
- package/dist/commands/init/ui.d.ts +12 -3
- package/dist/commands/init/ui.js +45 -33
- package/dist/commands/init/ui.js.map +1 -1
- package/dist/commands/init/vite.d.ts +1 -1
- package/dist/commands/init/vite.js +17 -27
- package/dist/commands/init/vite.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/list.d.ts +2 -2
- package/dist/commands/list.js +69 -62
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/remove.d.ts +2 -2
- package/dist/commands/remove.js +95 -93
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/shared/add-collection.d.ts +50 -50
- package/dist/commands/shared/add-collection.js +206 -206
- package/dist/commands/shared/list-entries.d.ts +6 -6
- package/dist/commands/shared/list-entries.js +12 -12
- package/dist/commands/shared/name-utils.d.ts +1 -1
- package/dist/commands/shared/name-utils.js +13 -13
- package/dist/commands/shared/remove-entries.d.ts +16 -16
- package/dist/commands/shared/remove-entries.js +41 -41
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/icons/libraries.d.ts +37 -37
- package/dist/icons/libraries.js +34 -34
- package/dist/index.d.ts +1 -2
- package/dist/index.js +29 -30
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +45 -45
- package/dist/lib/config.js +97 -97
- package/dist/lib/fs.d.ts +82 -76
- package/dist/lib/fs.js +299 -302
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/highlighter.d.ts +6 -6
- package/dist/lib/highlighter.js +7 -7
- package/dist/lib/install.d.ts +19 -19
- package/dist/lib/install.js +101 -55
- package/dist/lib/install.js.map +1 -1
- package/dist/lib/lockfile.d.ts +63 -63
- package/dist/lib/lockfile.js +179 -173
- package/dist/lib/lockfile.js.map +1 -1
- package/dist/lib/logger.d.ts +8 -8
- package/dist/lib/logger.js +41 -41
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/paths.d.ts +14 -14
- package/dist/lib/paths.js +41 -31
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/registry.d.ts +35 -35
- package/dist/lib/registry.js +180 -180
- package/dist/schema/index.d.ts +1128 -1128
- package/dist/schema/index.js +237 -238
- package/dist/schema/index.js.map +1 -1
- package/dist/styles/create-style-map.d.ts +4 -4
- package/dist/styles/create-style-map.js +68 -68
- package/dist/styles/transform-style-map.d.ts +3 -3
- package/dist/styles/transform-style-map.js +428 -428
- package/dist/styles/transform.d.ts +10 -10
- package/dist/styles/transform.js +15 -15
- package/dist/utils/index.d.ts +6 -6
- package/dist/utils/index.js +5 -5
- package/dist/utils/transformers/transform-icons.d.ts +2 -2
- package/dist/utils/transformers/transform-icons.js +164 -164
- package/dist/utils/transformers/transform-menu.d.ts +2 -2
- package/dist/utils/transformers/transform-menu.js +39 -39
- package/dist/utils/transformers/transform-render.d.ts +2 -2
- package/dist/utils/transformers/transform-render.js +97 -97
- package/dist/utils/transformers/types.d.ts +14 -14
- package/dist/utils/transformers/types.js +1 -1
- package/package.json +69 -69
- package/dist/__tests__/contracts/registry.test.d.ts +0 -1
- package/dist/__tests__/contracts/registry.test.js +0 -42
- package/dist/__tests__/contracts/registry.test.js.map +0 -1
- package/dist/__tests__/e2e/cli.test.d.ts +0 -1
- package/dist/__tests__/e2e/cli.test.js +0 -67
- package/dist/__tests__/e2e/cli.test.js.map +0 -1
- package/dist/__tests__/helpers/fs.d.ts +0 -5
- package/dist/__tests__/helpers/fs.js +0 -26
- package/dist/__tests__/helpers/fs.js.map +0 -1
- package/dist/__tests__/integration/commands.integration.test.d.ts +0 -1
- package/dist/__tests__/integration/commands.integration.test.js +0 -184
- package/dist/__tests__/integration/commands.integration.test.js.map +0 -1
- package/dist/commands/__tests__/add-composite.test.d.ts +0 -2
- package/dist/commands/__tests__/add-composite.test.js +0 -171
- package/dist/commands/__tests__/add-composite.test.js.map +0 -1
- package/dist/commands/__tests__/add-entry.mocks.d.ts +0 -23
- package/dist/commands/__tests__/add-entry.mocks.js +0 -64
- package/dist/commands/__tests__/add-entry.mocks.js.map +0 -1
- package/dist/commands/__tests__/add-section.test.d.ts +0 -2
- package/dist/commands/__tests__/add-section.test.js +0 -191
- package/dist/commands/__tests__/add-section.test.js.map +0 -1
- package/dist/commands/__tests__/add-wrapper.test.d.ts +0 -2
- package/dist/commands/__tests__/add-wrapper.test.js +0 -171
- package/dist/commands/__tests__/add-wrapper.test.js.map +0 -1
- package/dist/commands/__tests__/cli-mocks.d.ts +0 -1
- package/dist/commands/__tests__/cli-mocks.js +0 -24
- package/dist/commands/__tests__/cli-mocks.js.map +0 -1
- package/dist/commands/__tests__/doctor.mocks.d.ts +0 -6
- package/dist/commands/__tests__/doctor.mocks.js +0 -20
- package/dist/commands/__tests__/doctor.mocks.js.map +0 -1
- package/dist/commands/__tests__/doctor.test.d.ts +0 -2
- package/dist/commands/__tests__/doctor.test.js +0 -80
- package/dist/commands/__tests__/doctor.test.js.map +0 -1
- package/dist/commands/__tests__/list.mocks.d.ts +0 -8
- package/dist/commands/__tests__/list.mocks.js +0 -20
- package/dist/commands/__tests__/list.mocks.js.map +0 -1
- package/dist/commands/__tests__/list.test.d.ts +0 -2
- package/dist/commands/__tests__/list.test.js +0 -60
- package/dist/commands/__tests__/list.test.js.map +0 -1
- package/dist/commands/__tests__/remove.mocks.d.ts +0 -9
- package/dist/commands/__tests__/remove.mocks.js +0 -26
- package/dist/commands/__tests__/remove.mocks.js.map +0 -1
- package/dist/commands/__tests__/remove.test.d.ts +0 -2
- package/dist/commands/__tests__/remove.test.js +0 -116
- package/dist/commands/__tests__/remove.test.js.map +0 -1
- package/dist/commands/add/__tests__/__mocks__/cli-mocks.d.ts +0 -1
- package/dist/commands/add/__tests__/__mocks__/cli-mocks.js +0 -21
- package/dist/commands/add/__tests__/__mocks__/cli-mocks.js.map +0 -1
- package/dist/commands/add/__tests__/add.mocks.d.ts +0 -19
- package/dist/commands/add/__tests__/add.mocks.js +0 -60
- package/dist/commands/add/__tests__/add.mocks.js.map +0 -1
- package/dist/commands/add/__tests__/add.test.d.ts +0 -2
- package/dist/commands/add/__tests__/add.test.js +0 -141
- package/dist/commands/add/__tests__/add.test.js.map +0 -1
- package/dist/commands/init/__tests__/init.mocks.d.ts +0 -24
- package/dist/commands/init/__tests__/init.mocks.js +0 -84
- package/dist/commands/init/__tests__/init.mocks.js.map +0 -1
- package/dist/commands/init/__tests__/init.test.d.ts +0 -2
- package/dist/commands/init/__tests__/init.test.js +0 -283
- package/dist/commands/init/__tests__/init.test.js.map +0 -1
- package/dist/commands/init/__tests__/tailwind.test.d.ts +0 -1
- package/dist/commands/init/__tests__/tailwind.test.js +0 -56
- package/dist/commands/init/__tests__/tailwind.test.js.map +0 -1
- package/dist/commands/init/__tests__/tsconfig.test.d.ts +0 -1
- package/dist/commands/init/__tests__/tsconfig.test.js +0 -108
- package/dist/commands/init/__tests__/tsconfig.test.js.map +0 -1
- package/dist/commands/init/__tests__/vite.test.d.ts +0 -1
- package/dist/commands/init/__tests__/vite.test.js +0 -66
- package/dist/commands/init/__tests__/vite.test.js.map +0 -1
- package/dist/commands/list-sections.d.ts +0 -2
- package/dist/commands/list-sections.js +0 -20
- package/dist/commands/list-sections.js.map +0 -1
- package/dist/commands/list-wrappers.d.ts +0 -2
- package/dist/commands/list-wrappers.js +0 -20
- package/dist/commands/list-wrappers.js.map +0 -1
- package/dist/commands/remove-section.d.ts +0 -2
- package/dist/commands/remove-section.js +0 -37
- package/dist/commands/remove-section.js.map +0 -1
- package/dist/commands/remove-wrapper.d.ts +0 -2
- package/dist/commands/remove-wrapper.js +0 -37
- package/dist/commands/remove-wrapper.js.map +0 -1
- package/dist/lib/__tests__/config.test.d.ts +0 -1
- package/dist/lib/__tests__/config.test.js +0 -49
- package/dist/lib/__tests__/config.test.js.map +0 -1
- package/dist/lib/__tests__/install.test.d.ts +0 -1
- package/dist/lib/__tests__/install.test.js +0 -149
- package/dist/lib/__tests__/install.test.js.map +0 -1
- package/dist/lib/__tests__/lockfile.test.d.ts +0 -1
- package/dist/lib/__tests__/lockfile.test.js +0 -89
- package/dist/lib/__tests__/lockfile.test.js.map +0 -1
- package/dist/lib/__tests__/paths.test.d.ts +0 -1
- package/dist/lib/__tests__/paths.test.js +0 -39
- package/dist/lib/__tests__/paths.test.js.map +0 -1
- package/dist/lib/__tests__/registry.test.d.ts +0 -1
- package/dist/lib/__tests__/registry.test.js +0 -76
- package/dist/lib/__tests__/registry.test.js.map +0 -1
package/dist/lib/lockfile.js
CHANGED
|
@@ -1,174 +1,180 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { fileExists, readJsonFile, writeJsonFile } from "./fs.js";
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
lockfile
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
...lockfile.
|
|
139
|
-
...lockfile.
|
|
140
|
-
...lockfile.
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
for (const
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileExists, readJsonFile, writeJsonFile } from "./fs.js";
|
|
3
|
+
import { fromPosix } from "./paths.js";
|
|
4
|
+
const LOCKFILE_VERSION = 1;
|
|
5
|
+
const LOCKFILE_DIRNAME = ".ui";
|
|
6
|
+
const LOCKFILE_FILENAME = "lock.json";
|
|
7
|
+
const LEGACY_LOCKFILE_FILENAME = "trix-ui.lock.json";
|
|
8
|
+
/**
|
|
9
|
+
* Get the lockfile path
|
|
10
|
+
*/
|
|
11
|
+
export function resolveLockfilePath(cwd) {
|
|
12
|
+
return path.join(cwd, LOCKFILE_DIRNAME, LOCKFILE_FILENAME);
|
|
13
|
+
}
|
|
14
|
+
function resolveLegacyLockfilePath(cwd) {
|
|
15
|
+
return path.join(cwd, LEGACY_LOCKFILE_FILENAME);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if lockfile exists
|
|
19
|
+
*/
|
|
20
|
+
export async function lockfileExists(cwd) {
|
|
21
|
+
const currentPath = resolveLockfilePath(cwd);
|
|
22
|
+
if (await fileExists(currentPath)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return fileExists(resolveLegacyLockfilePath(cwd));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create an empty lockfile
|
|
29
|
+
*/
|
|
30
|
+
export function createEmptyLockfile() {
|
|
31
|
+
return {
|
|
32
|
+
version: LOCKFILE_VERSION,
|
|
33
|
+
components: {},
|
|
34
|
+
sections: {},
|
|
35
|
+
wrappers: {},
|
|
36
|
+
composites: {},
|
|
37
|
+
updatedAt: new Date().toISOString(),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load lockfile from disk
|
|
42
|
+
*/
|
|
43
|
+
export async function loadLockfile(cwd) {
|
|
44
|
+
const lockfilePath = resolveLockfilePath(cwd);
|
|
45
|
+
let resolvedPath = lockfilePath;
|
|
46
|
+
if (!(await fileExists(lockfilePath))) {
|
|
47
|
+
const legacyPath = resolveLegacyLockfilePath(cwd);
|
|
48
|
+
if (await fileExists(legacyPath)) {
|
|
49
|
+
resolvedPath = legacyPath;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Return empty lockfile if it doesn't exist
|
|
53
|
+
return createEmptyLockfile();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const lockfile = await readJsonFile(resolvedPath);
|
|
58
|
+
// Validate lockfile structure
|
|
59
|
+
if (typeof lockfile.version !== "number") {
|
|
60
|
+
throw new Error("Invalid lockfile: missing or invalid 'version' field");
|
|
61
|
+
}
|
|
62
|
+
if (lockfile.version > LOCKFILE_VERSION) {
|
|
63
|
+
throw new Error(`Lockfile version ${lockfile.version} is not supported. ` +
|
|
64
|
+
`Please update trix-ui to the latest version.`);
|
|
65
|
+
}
|
|
66
|
+
// Ensure all required fields exist
|
|
67
|
+
return {
|
|
68
|
+
version: lockfile.version,
|
|
69
|
+
components: lockfile.components || {},
|
|
70
|
+
sections: lockfile.sections || {},
|
|
71
|
+
wrappers: lockfile.wrappers || {},
|
|
72
|
+
composites: lockfile.composites || {},
|
|
73
|
+
updatedAt: lockfile.updatedAt,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
throw new Error(`Failed to load lockfile: ${error.message}\n` +
|
|
78
|
+
`The lockfile may be corrupted. Try deleting ${LOCKFILE_DIRNAME}/${LOCKFILE_FILENAME} and running 'trix-ui init' again.`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Save lockfile to disk
|
|
83
|
+
*/
|
|
84
|
+
export async function saveLockfile(cwd, lockfile) {
|
|
85
|
+
const lockfilePath = resolveLockfilePath(cwd);
|
|
86
|
+
// Update timestamp
|
|
87
|
+
lockfile.updatedAt = new Date().toISOString();
|
|
88
|
+
try {
|
|
89
|
+
await writeJsonFile(lockfilePath, lockfile, true);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
throw new Error(`Failed to save lockfile: ${error.message}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add component to lockfile
|
|
97
|
+
*/
|
|
98
|
+
export async function addComponentToLockfile(cwd, type, name, component) {
|
|
99
|
+
const lockfile = await loadLockfile(cwd);
|
|
100
|
+
lockfile[type][name] = {
|
|
101
|
+
...component,
|
|
102
|
+
installedAt: new Date().toISOString(),
|
|
103
|
+
};
|
|
104
|
+
await saveLockfile(cwd, lockfile);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Remove component from lockfile
|
|
108
|
+
*/
|
|
109
|
+
export async function removeComponentFromLockfile(cwd, type, name) {
|
|
110
|
+
const lockfile = await loadLockfile(cwd);
|
|
111
|
+
delete lockfile[type][name];
|
|
112
|
+
await saveLockfile(cwd, lockfile);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if component is installed
|
|
116
|
+
*/
|
|
117
|
+
export async function isComponentInstalled(cwd, type, name) {
|
|
118
|
+
const lockfile = await loadLockfile(cwd);
|
|
119
|
+
return name in lockfile[type];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get installed component info
|
|
123
|
+
*/
|
|
124
|
+
export async function getInstalledComponent(cwd, type, name) {
|
|
125
|
+
const lockfile = await loadLockfile(cwd);
|
|
126
|
+
return lockfile[type][name] || null;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* List all installed components
|
|
130
|
+
*/
|
|
131
|
+
export async function listInstalledComponents(cwd, type) {
|
|
132
|
+
const lockfile = await loadLockfile(cwd);
|
|
133
|
+
if (type) {
|
|
134
|
+
return lockfile[type];
|
|
135
|
+
}
|
|
136
|
+
// Return all types combined
|
|
137
|
+
return {
|
|
138
|
+
...lockfile.components,
|
|
139
|
+
...lockfile.sections,
|
|
140
|
+
...lockfile.wrappers,
|
|
141
|
+
...lockfile.composites,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Validate lockfile integrity
|
|
146
|
+
*/
|
|
147
|
+
export async function validateLockfile(cwd, _config) {
|
|
148
|
+
const errors = [];
|
|
149
|
+
const warnings = [];
|
|
150
|
+
try {
|
|
151
|
+
const lockfile = await loadLockfile(cwd);
|
|
152
|
+
// Check version compatibility
|
|
153
|
+
if (lockfile.version > LOCKFILE_VERSION) {
|
|
154
|
+
errors.push(`Lockfile version ${lockfile.version} is newer than supported version ${LOCKFILE_VERSION}`);
|
|
155
|
+
}
|
|
156
|
+
const validateEntries = async (label, entries) => {
|
|
157
|
+
for (const [name, entry] of Object.entries(entries)) {
|
|
158
|
+
for (const file of entry.files || []) {
|
|
159
|
+
const filePath = path.resolve(cwd, fromPosix(file));
|
|
160
|
+
if (!(await fileExists(filePath))) {
|
|
161
|
+
warnings.push(`${label} '${name}' file missing: ${file}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
await validateEntries("Component", lockfile.components);
|
|
167
|
+
await validateEntries("Section", lockfile.sections);
|
|
168
|
+
await validateEntries("Wrapper", lockfile.wrappers);
|
|
169
|
+
await validateEntries("Composite", lockfile.composites);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
errors.push(error.message);
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
valid: errors.length === 0,
|
|
176
|
+
errors,
|
|
177
|
+
warnings,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
174
180
|
//# sourceMappingURL=lockfile.js.map
|
package/dist/lib/lockfile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare const logger: {
|
|
2
|
-
error(...args: unknown[]): void;
|
|
3
|
-
warn(...args: unknown[]): void;
|
|
4
|
-
info(...args: unknown[]): void;
|
|
5
|
-
success(...args: unknown[]): void;
|
|
6
|
-
log(...args: unknown[]): void;
|
|
7
|
-
break(): void;
|
|
8
|
-
};
|
|
1
|
+
export declare const logger: {
|
|
2
|
+
error(...args: unknown[]): void;
|
|
3
|
+
warn(...args: unknown[]): void;
|
|
4
|
+
info(...args: unknown[]): void;
|
|
5
|
+
success(...args: unknown[]): void;
|
|
6
|
+
log(...args: unknown[]): void;
|
|
7
|
+
break(): void;
|
|
8
|
+
};
|
package/dist/lib/logger.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { highlighter } from "./highlighter.js";
|
|
2
|
-
function formatArgs(args) {
|
|
3
|
-
return args
|
|
4
|
-
.map((arg) => {
|
|
5
|
-
if (typeof arg === "string")
|
|
6
|
-
return arg;
|
|
7
|
-
if (arg instanceof Error) {
|
|
8
|
-
return arg.stack ?? arg.message;
|
|
9
|
-
}
|
|
10
|
-
if (typeof arg === "object" && arg !== null) {
|
|
11
|
-
try {
|
|
12
|
-
return JSON.stringify(arg, null, 2);
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return "[Unserializable Object]";
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return String(arg);
|
|
19
|
-
})
|
|
20
|
-
.join(" ");
|
|
21
|
-
}
|
|
22
|
-
export const logger = {
|
|
23
|
-
error(...args) {
|
|
24
|
-
console.
|
|
25
|
-
},
|
|
26
|
-
warn(...args) {
|
|
27
|
-
console.
|
|
28
|
-
},
|
|
29
|
-
info(...args) {
|
|
30
|
-
console.log(highlighter.info(formatArgs(args)));
|
|
31
|
-
},
|
|
32
|
-
success(...args) {
|
|
33
|
-
console.log(highlighter.success(formatArgs(args)));
|
|
34
|
-
},
|
|
35
|
-
log(...args) {
|
|
36
|
-
console.log(formatArgs(args));
|
|
37
|
-
},
|
|
38
|
-
break() {
|
|
39
|
-
console.log("");
|
|
40
|
-
},
|
|
41
|
-
};
|
|
1
|
+
import { highlighter } from "./highlighter.js";
|
|
2
|
+
function formatArgs(args) {
|
|
3
|
+
return args
|
|
4
|
+
.map((arg) => {
|
|
5
|
+
if (typeof arg === "string")
|
|
6
|
+
return arg;
|
|
7
|
+
if (arg instanceof Error) {
|
|
8
|
+
return arg.stack ?? arg.message;
|
|
9
|
+
}
|
|
10
|
+
if (typeof arg === "object" && arg !== null) {
|
|
11
|
+
try {
|
|
12
|
+
return JSON.stringify(arg, null, 2);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return "[Unserializable Object]";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return String(arg);
|
|
19
|
+
})
|
|
20
|
+
.join(" ");
|
|
21
|
+
}
|
|
22
|
+
export const logger = {
|
|
23
|
+
error(...args) {
|
|
24
|
+
console.error(highlighter.error(formatArgs(args)));
|
|
25
|
+
},
|
|
26
|
+
warn(...args) {
|
|
27
|
+
console.warn(highlighter.warn(formatArgs(args)));
|
|
28
|
+
},
|
|
29
|
+
info(...args) {
|
|
30
|
+
console.log(highlighter.info(formatArgs(args)));
|
|
31
|
+
},
|
|
32
|
+
success(...args) {
|
|
33
|
+
console.log(highlighter.success(formatArgs(args)));
|
|
34
|
+
},
|
|
35
|
+
log(...args) {
|
|
36
|
+
console.log(formatArgs(args));
|
|
37
|
+
},
|
|
38
|
+
break() {
|
|
39
|
+
console.log("");
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
42
|
//# sourceMappingURL=logger.js.map
|
package/dist/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,SAAS,UAAU,CAAC,IAAe;IACjC,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAA;QAEvC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAA;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,yBAAyB,CAAA;YAClC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,SAAS,UAAU,CAAC,IAAe;IACjC,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAA;QAEvC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAA;QACjC,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,yBAAyB,CAAA;YAClC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,CAAC,GAAG,IAAe;QACxB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,GAAG,CAAC,GAAG,IAAe;QACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;CACF,CAAA"}
|
package/dist/lib/paths.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export declare function toPosix(filePath: string): string;
|
|
2
|
-
export declare function fromPosix(posixPath: string): string;
|
|
3
|
-
export declare function getBundledRegistryPath(): string;
|
|
4
|
-
export declare function getBundledTemplatesPath(): string;
|
|
5
|
-
export declare function resolveTemplatePath(relativePath: string, templateRoot: string): string;
|
|
6
|
-
export declare function getTemplatePath(relativePath: string): string;
|
|
7
|
-
export declare function resolveTargetPath(cwd: string, target: string, paths: {
|
|
8
|
-
components: string;
|
|
9
|
-
sections: string;
|
|
10
|
-
wrappers: string;
|
|
11
|
-
composites: string;
|
|
12
|
-
utils: string;
|
|
13
|
-
styles: string;
|
|
14
|
-
}): string;
|
|
1
|
+
export declare function toPosix(filePath: string): string;
|
|
2
|
+
export declare function fromPosix(posixPath: string): string;
|
|
3
|
+
export declare function getBundledRegistryPath(): string;
|
|
4
|
+
export declare function getBundledTemplatesPath(): string;
|
|
5
|
+
export declare function resolveTemplatePath(relativePath: string, templateRoot: string): string;
|
|
6
|
+
export declare function getTemplatePath(relativePath: string): string;
|
|
7
|
+
export declare function resolveTargetPath(cwd: string, target: string, paths: {
|
|
8
|
+
components: string;
|
|
9
|
+
sections: string;
|
|
10
|
+
wrappers: string;
|
|
11
|
+
composites: string;
|
|
12
|
+
utils: string;
|
|
13
|
+
styles: string;
|
|
14
|
+
}): string;
|
package/dist/lib/paths.js
CHANGED
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
export function
|
|
10
|
-
return
|
|
11
|
-
}
|
|
12
|
-
export function
|
|
13
|
-
return
|
|
14
|
-
}
|
|
15
|
-
export function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const resolved =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
function assertWithinRoot(resolvedPath, rootPath, label) {
|
|
4
|
+
const relative = path.relative(rootPath, resolvedPath);
|
|
5
|
+
if (relative.startsWith("..") || path.isAbsolute(relative)) {
|
|
6
|
+
throw new Error(`${label} resolves outside of the root directory: ${resolvedPath}`);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function toPosix(filePath) {
|
|
10
|
+
return filePath.split(path.sep).join("/");
|
|
11
|
+
}
|
|
12
|
+
export function fromPosix(posixPath) {
|
|
13
|
+
return posixPath.split("/").join(path.sep);
|
|
14
|
+
}
|
|
15
|
+
export function getBundledRegistryPath() {
|
|
16
|
+
return fileURLToPath(new URL("../../registry/index.json", import.meta.url));
|
|
17
|
+
}
|
|
18
|
+
export function getBundledTemplatesPath() {
|
|
19
|
+
return fileURLToPath(new URL("../../templates", import.meta.url));
|
|
20
|
+
}
|
|
21
|
+
export function resolveTemplatePath(relativePath, templateRoot) {
|
|
22
|
+
const normalized = relativePath.replace(/^[\\/]+/, "");
|
|
23
|
+
const resolved = path.resolve(templateRoot, normalized);
|
|
24
|
+
assertWithinRoot(resolved, templateRoot, "Template path");
|
|
25
|
+
return resolved;
|
|
26
|
+
}
|
|
27
|
+
export function getTemplatePath(relativePath) {
|
|
28
|
+
return resolveTemplatePath(relativePath, getBundledTemplatesPath());
|
|
29
|
+
}
|
|
30
|
+
export function resolveTargetPath(cwd, target, paths) {
|
|
31
|
+
const resolved = target
|
|
32
|
+
.replace("{{components}}", paths.components)
|
|
33
|
+
.replace("{{sections}}", paths.sections)
|
|
34
|
+
.replace("{{wrappers}}", paths.wrappers)
|
|
35
|
+
.replace("{{composites}}", paths.composites)
|
|
36
|
+
.replace("{{lib}}", paths.utils)
|
|
37
|
+
.replace("{{styles}}", paths.styles);
|
|
38
|
+
const resolvedPath = path.resolve(cwd, resolved);
|
|
39
|
+
assertWithinRoot(resolvedPath, cwd, "Target path");
|
|
40
|
+
return resolvedPath;
|
|
41
|
+
}
|
|
32
42
|
//# sourceMappingURL=paths.js.map
|
package/dist/lib/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,YAAoB;IAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACtD,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,SAAS,gBAAgB,CACvB,YAAoB,EACpB,QAAgB,EAChB,KAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEtD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,4CAA4C,YAAY,EAAE,CACnE,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAoB,EACpB,YAAoB;IAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvD,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;IACzD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,OAAO,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,MAAc,EACd,KAOC;IAED,MAAM,QAAQ,GAAG,MAAM;SACpB,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC;SAC3C,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;SACvC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;SACvC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC;SAC3C,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;SAC/B,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAChD,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAAA;IAClD,OAAO,YAAY,CAAA;AACrB,CAAC"}
|