zard-cli 1.0.0-beta.13 → 1.0.0-beta.131
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 +39 -167
- package/commands/add/component-installer.d.ts +5 -1
- package/commands/add/component-installer.d.ts.map +1 -1
- package/commands/add/component-installer.js +34 -5
- package/commands/add/component-installer.js.map +1 -1
- package/commands/add/component-selector.d.ts +6 -0
- package/commands/add/component-selector.d.ts.map +1 -1
- package/commands/add/component-selector.js +9 -27
- package/commands/add/component-selector.js.map +1 -1
- package/commands/add/dark-mode-setup.d.ts +2 -0
- package/commands/add/dark-mode-setup.d.ts.map +1 -1
- package/commands/add/dark-mode-setup.js +5 -11
- package/commands/add/dark-mode-setup.js.map +1 -1
- package/commands/add/dependency-resolver.d.ts +9 -2
- package/commands/add/dependency-resolver.d.ts.map +1 -1
- package/commands/add/dependency-resolver.js +91 -21
- package/commands/add/dependency-resolver.js.map +1 -1
- package/commands/add/index.d.ts.map +1 -1
- package/commands/add/index.js +140 -86
- package/commands/add/index.js.map +1 -1
- package/commands/add/stylesheet-setup.d.ts +3 -0
- package/commands/add/stylesheet-setup.d.ts.map +1 -0
- package/commands/add/stylesheet-setup.js +92 -0
- package/commands/add/stylesheet-setup.js.map +1 -0
- package/commands/add/wizard.d.ts +35 -0
- package/commands/add/wizard.d.ts.map +1 -0
- package/commands/add/wizard.js +299 -0
- package/commands/add/wizard.js.map +1 -0
- package/commands/init/config-prompter.d.ts +67 -56
- package/commands/init/config-prompter.d.ts.map +1 -1
- package/commands/init/config-prompter.js +92 -74
- package/commands/init/config-prompter.js.map +1 -1
- package/commands/init/dependencies.d.ts +1 -8
- package/commands/init/dependencies.d.ts.map +1 -1
- package/commands/init/dependencies.js +51 -23
- package/commands/init/dependencies.js.map +1 -1
- package/commands/init/index.d.ts.map +1 -1
- package/commands/init/index.js +150 -86
- package/commands/init/index.js.map +1 -1
- package/commands/init/project-kind.d.ts +82 -0
- package/commands/init/project-kind.d.ts.map +1 -0
- package/commands/init/project-kind.js +166 -0
- package/commands/init/project-kind.js.map +1 -0
- package/commands/init/steps.d.ts +15 -0
- package/commands/init/steps.d.ts.map +1 -0
- package/commands/init/steps.js +154 -0
- package/commands/init/steps.js.map +1 -0
- package/commands/init/tailwind-setup.d.ts +9 -2
- package/commands/init/tailwind-setup.d.ts.map +1 -1
- package/commands/init/tailwind-setup.js +33 -9
- package/commands/init/tailwind-setup.js.map +1 -1
- package/commands/init/theme-loader.d.ts.map +1 -1
- package/commands/init/theme-loader.js +1 -3
- package/commands/init/theme-loader.js.map +1 -1
- package/commands/init/tsconfig-updater.d.ts +8 -1
- package/commands/init/tsconfig-updater.d.ts.map +1 -1
- package/commands/init/tsconfig-updater.js +30 -11
- package/commands/init/tsconfig-updater.js.map +1 -1
- package/commands/init/update-angular-config.d.ts.map +1 -1
- package/commands/init/update-angular-config.js +28 -47
- package/commands/init/update-angular-config.js.map +1 -1
- package/commands/init/vite-setup.d.ts +11 -0
- package/commands/init/vite-setup.d.ts.map +1 -0
- package/commands/init/vite-setup.js +61 -0
- package/commands/init/vite-setup.js.map +1 -0
- package/commands/init/wizard.d.ts +30 -0
- package/commands/init/wizard.d.ts.map +1 -0
- package/commands/init/wizard.js +560 -0
- package/commands/init/wizard.js.map +1 -0
- package/constants/app.constants.d.ts +17 -0
- package/constants/app.constants.d.ts.map +1 -1
- package/constants/app.constants.js +39 -16
- package/constants/app.constants.js.map +1 -1
- package/core/icons/families.d.ts +38 -0
- package/core/icons/families.d.ts.map +1 -0
- package/core/icons/families.js +26 -0
- package/core/icons/families.js.map +1 -0
- package/core/icons/icon-map.d.ts +24 -0
- package/core/icons/icon-map.d.ts.map +1 -0
- package/core/icons/icon-map.js +141 -0
- package/core/icons/icon-map.js.map +1 -0
- package/core/icons/index.d.ts +107 -0
- package/core/icons/index.d.ts.map +1 -0
- package/core/icons/index.js +183 -0
- package/core/icons/index.js.map +1 -0
- package/core/registry/registry-data.d.ts.map +1 -1
- package/core/registry/registry-data.js +869 -106
- package/core/registry/registry-data.js.map +1 -1
- package/core/themes/theme-definitions.d.ts +5 -5
- package/core/themes/theme-definitions.d.ts.map +1 -1
- package/core/themes/theme-definitions.js +75 -82
- package/core/themes/theme-definitions.js.map +1 -1
- package/index.js +41 -4
- package/index.js.map +1 -1
- package/package.json +9 -14
- package/ui/blocks.d.ts +71 -0
- package/ui/blocks.d.ts.map +1 -0
- package/ui/blocks.js +116 -0
- package/ui/blocks.js.map +1 -0
- package/ui/brand.d.ts +14 -0
- package/ui/brand.d.ts.map +1 -0
- package/ui/brand.js +35 -0
- package/ui/brand.js.map +1 -0
- package/ui/engine/animation/index.d.ts +38 -0
- package/ui/engine/animation/index.d.ts.map +1 -0
- package/ui/engine/animation/index.js +102 -0
- package/ui/engine/animation/index.js.map +1 -0
- package/ui/engine/ansi/index.d.ts +51 -0
- package/ui/engine/ansi/index.d.ts.map +1 -0
- package/ui/engine/ansi/index.js +116 -0
- package/ui/engine/ansi/index.js.map +1 -0
- package/ui/engine/components/index.d.ts +211 -0
- package/ui/engine/components/index.d.ts.map +1 -0
- package/ui/engine/components/index.js +109 -0
- package/ui/engine/components/index.js.map +1 -0
- package/ui/engine/cursor/index.d.ts +16 -0
- package/ui/engine/cursor/index.d.ts.map +1 -0
- package/ui/engine/cursor/index.js +40 -0
- package/ui/engine/cursor/index.js.map +1 -0
- package/ui/engine/diff/index.d.ts +26 -0
- package/ui/engine/diff/index.d.ts.map +1 -0
- package/ui/engine/diff/index.js +56 -0
- package/ui/engine/diff/index.js.map +1 -0
- package/ui/engine/events/index.d.ts +24 -0
- package/ui/engine/events/index.d.ts.map +1 -0
- package/ui/engine/events/index.js +60 -0
- package/ui/engine/events/index.js.map +1 -0
- package/ui/engine/focus/index.d.ts +25 -0
- package/ui/engine/focus/index.d.ts.map +1 -0
- package/ui/engine/focus/index.js +77 -0
- package/ui/engine/focus/index.js.map +1 -0
- package/ui/engine/frame/index.d.ts +48 -0
- package/ui/engine/frame/index.d.ts.map +1 -0
- package/ui/engine/frame/index.js +0 -0
- package/ui/engine/frame/index.js.map +1 -0
- package/ui/engine/index.d.ts +28 -0
- package/ui/engine/index.d.ts.map +1 -0
- package/ui/engine/index.js +28 -0
- package/ui/engine/index.js.map +1 -0
- package/ui/engine/input/index.d.ts +36 -0
- package/ui/engine/input/index.d.ts.map +1 -0
- package/ui/engine/input/index.js +224 -0
- package/ui/engine/input/index.js.map +1 -0
- package/ui/engine/layout/index.d.ts +42 -0
- package/ui/engine/layout/index.d.ts.map +1 -0
- package/ui/engine/layout/index.js +241 -0
- package/ui/engine/layout/index.js.map +1 -0
- package/ui/engine/renderer/index.d.ts +43 -0
- package/ui/engine/renderer/index.d.ts.map +1 -0
- package/ui/engine/renderer/index.js +619 -0
- package/ui/engine/renderer/index.js.map +1 -0
- package/ui/engine/scheduler/index.d.ts +22 -0
- package/ui/engine/scheduler/index.d.ts.map +1 -0
- package/ui/engine/scheduler/index.js +77 -0
- package/ui/engine/scheduler/index.js.map +1 -0
- package/ui/engine/screen/index.d.ts +39 -0
- package/ui/engine/screen/index.d.ts.map +1 -0
- package/ui/engine/screen/index.js +255 -0
- package/ui/engine/screen/index.js.map +1 -0
- package/ui/engine/terminal/index.d.ts +84 -0
- package/ui/engine/terminal/index.d.ts.map +1 -0
- package/ui/engine/terminal/index.js +235 -0
- package/ui/engine/terminal/index.js.map +1 -0
- package/ui/engine/testing/index.d.ts +27 -0
- package/ui/engine/testing/index.d.ts.map +1 -0
- package/ui/engine/testing/index.js +63 -0
- package/ui/engine/testing/index.js.map +1 -0
- package/ui/engine/theme/index.d.ts +26 -0
- package/ui/engine/theme/index.d.ts.map +1 -0
- package/ui/engine/theme/index.js +128 -0
- package/ui/engine/theme/index.js.map +1 -0
- package/ui/engine/utils/index.d.ts +12 -0
- package/ui/engine/utils/index.d.ts.map +1 -0
- package/ui/engine/utils/index.js +143 -0
- package/ui/engine/utils/index.js.map +1 -0
- package/ui/gate.d.ts +19 -0
- package/ui/gate.d.ts.map +1 -0
- package/ui/gate.js +36 -0
- package/ui/gate.js.map +1 -0
- package/ui/index.d.ts +18 -0
- package/ui/index.d.ts.map +1 -0
- package/ui/index.js +18 -0
- package/ui/index.js.map +1 -0
- package/ui/log-sink.d.ts +24 -0
- package/ui/log-sink.d.ts.map +1 -0
- package/ui/log-sink.js +35 -0
- package/ui/log-sink.js.map +1 -0
- package/ui/output.d.ts +14 -0
- package/ui/output.d.ts.map +1 -0
- package/ui/output.js +28 -0
- package/ui/output.js.map +1 -0
- package/ui/report.d.ts +30 -0
- package/ui/report.d.ts.map +1 -0
- package/ui/report.js +45 -0
- package/ui/report.js.map +1 -0
- package/ui/runner.d.ts +66 -0
- package/ui/runner.d.ts.map +1 -0
- package/ui/runner.js +135 -0
- package/ui/runner.js.map +1 -0
- package/ui/style.d.ts +24 -0
- package/ui/style.d.ts.map +1 -0
- package/ui/style.js +44 -0
- package/ui/style.js.map +1 -0
- package/ui/testing/fake-tty.d.ts +26 -0
- package/ui/testing/fake-tty.d.ts.map +1 -0
- package/ui/testing/fake-tty.js +61 -0
- package/ui/testing/fake-tty.js.map +1 -0
- package/ui/text-input.d.ts +31 -0
- package/ui/text-input.d.ts.map +1 -0
- package/ui/text-input.js +89 -0
- package/ui/text-input.js.map +1 -0
- package/ui/theme.d.ts +10 -0
- package/ui/theme.d.ts.map +1 -0
- package/ui/theme.js +20 -0
- package/ui/theme.js.map +1 -0
- package/utils/angular-compat.d.ts +21 -0
- package/utils/angular-compat.d.ts.map +1 -0
- package/utils/angular-compat.js +52 -0
- package/utils/angular-compat.js.map +1 -0
- package/utils/config.d.ts +55 -69
- package/utils/config.d.ts.map +1 -1
- package/utils/config.js +66 -9
- package/utils/config.js.map +1 -1
- package/utils/errors.d.ts +27 -0
- package/utils/errors.d.ts.map +1 -0
- package/utils/errors.js +45 -0
- package/utils/errors.js.map +1 -0
- package/utils/get-package-info.js +4 -4
- package/utils/get-package-info.js.map +1 -1
- package/utils/get-project-info.d.ts +30 -0
- package/utils/get-project-info.d.ts.map +1 -1
- package/utils/get-project-info.js +195 -6
- package/utils/get-project-info.js.map +1 -1
- package/utils/http-client.d.ts +8 -0
- package/utils/http-client.d.ts.map +1 -0
- package/utils/http-client.js +83 -0
- package/utils/http-client.js.map +1 -0
- package/utils/icon-catalog.d.ts +34 -0
- package/utils/icon-catalog.d.ts.map +1 -0
- package/utils/icon-catalog.js +63 -0
- package/utils/icon-catalog.js.map +1 -0
- package/utils/logger.d.ts +16 -1
- package/utils/logger.d.ts.map +1 -1
- package/utils/logger.js +104 -12
- package/utils/logger.js.map +1 -1
- package/utils/package-manager.d.ts +44 -1
- package/utils/package-manager.d.ts.map +1 -1
- package/utils/package-manager.js +210 -14
- package/utils/package-manager.js.map +1 -1
- package/utils/registry.d.ts +86 -2
- package/utils/registry.d.ts.map +1 -1
- package/utils/registry.js +147 -31
- package/utils/registry.js.map +1 -1
- package/utils/schema-version.d.ts +21 -0
- package/utils/schema-version.d.ts.map +1 -0
- package/utils/schema-version.js +28 -0
- package/utils/schema-version.js.map +1 -0
- package/utils/source-file.d.ts +40 -0
- package/utils/source-file.d.ts.map +1 -0
- package/utils/source-file.js +104 -0
- package/utils/source-file.js.map +1 -0
- package/utils/theme-selector.d.ts +1 -1
- package/utils/theme-selector.d.ts.map +1 -1
- package/utils/theme-selector.js +6 -6
- package/utils/theme-selector.js.map +1 -1
- package/utils/fetch-component.d.ts +0 -3
- package/utils/fetch-component.d.ts.map +0 -1
- package/utils/fetch-component.js +0 -75
- package/utils/fetch-component.js.map +0 -1
package/utils/config.d.ts
CHANGED
|
@@ -2,74 +2,55 @@ import { z } from 'zod';
|
|
|
2
2
|
declare const configSchema: z.ZodObject<{
|
|
3
3
|
$schema: z.ZodOptional<z.ZodString>;
|
|
4
4
|
appConfigFile: z.ZodDefault<z.ZodString>;
|
|
5
|
-
style: z.ZodDefault<z.ZodEnum<
|
|
6
|
-
|
|
5
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
6
|
+
css: "css";
|
|
7
|
+
}>>;
|
|
8
|
+
icons: z.ZodDefault<z.ZodString>;
|
|
9
|
+
rtl: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
projectType: z.ZodDefault<z.ZodEnum<{
|
|
11
|
+
angular: "angular";
|
|
12
|
+
"angular-library": "angular-library";
|
|
13
|
+
nx: "nx";
|
|
14
|
+
"nx-library": "nx-library";
|
|
15
|
+
analog: "analog";
|
|
16
|
+
}>>;
|
|
17
|
+
packageManager: z.ZodDefault<z.ZodEnum<{
|
|
18
|
+
npm: "npm";
|
|
19
|
+
yarn: "yarn";
|
|
20
|
+
pnpm: "pnpm";
|
|
21
|
+
bun: "bun";
|
|
22
|
+
}>>;
|
|
7
23
|
registryUrl: z.ZodOptional<z.ZodString>;
|
|
8
24
|
tailwind: z.ZodDefault<z.ZodObject<{
|
|
9
25
|
css: z.ZodDefault<z.ZodString>;
|
|
10
26
|
baseColor: z.ZodDefault<z.ZodString>;
|
|
11
|
-
},
|
|
12
|
-
css?: string;
|
|
13
|
-
baseColor?: string;
|
|
14
|
-
}, {
|
|
15
|
-
css?: string;
|
|
16
|
-
baseColor?: string;
|
|
17
|
-
}>>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
18
28
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
19
29
|
aliases: z.ZodDefault<z.ZodObject<{
|
|
20
30
|
components: z.ZodDefault<z.ZodString>;
|
|
21
31
|
utils: z.ZodDefault<z.ZodString>;
|
|
22
32
|
core: z.ZodDefault<z.ZodString>;
|
|
23
33
|
services: z.ZodDefault<z.ZodString>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
core?: string;
|
|
28
|
-
services?: string;
|
|
29
|
-
}, {
|
|
30
|
-
components?: string;
|
|
31
|
-
utils?: string;
|
|
32
|
-
core?: string;
|
|
33
|
-
services?: string;
|
|
34
|
-
}>>;
|
|
35
|
-
}, "strip", z.ZodTypeAny, {
|
|
36
|
-
$schema?: string;
|
|
37
|
-
appConfigFile?: string;
|
|
38
|
-
style?: "css";
|
|
39
|
-
packageManager?: "npm" | "yarn" | "pnpm" | "bun";
|
|
40
|
-
registryUrl?: string;
|
|
41
|
-
tailwind?: {
|
|
42
|
-
css?: string;
|
|
43
|
-
baseColor?: string;
|
|
44
|
-
};
|
|
45
|
-
baseUrl?: string;
|
|
46
|
-
aliases?: {
|
|
47
|
-
components?: string;
|
|
48
|
-
utils?: string;
|
|
49
|
-
core?: string;
|
|
50
|
-
services?: string;
|
|
51
|
-
};
|
|
52
|
-
}, {
|
|
53
|
-
$schema?: string;
|
|
54
|
-
appConfigFile?: string;
|
|
55
|
-
style?: "css";
|
|
56
|
-
packageManager?: "npm" | "yarn" | "pnpm" | "bun";
|
|
57
|
-
registryUrl?: string;
|
|
58
|
-
tailwind?: {
|
|
59
|
-
css?: string;
|
|
60
|
-
baseColor?: string;
|
|
61
|
-
};
|
|
62
|
-
baseUrl?: string;
|
|
63
|
-
aliases?: {
|
|
64
|
-
components?: string;
|
|
65
|
-
utils?: string;
|
|
66
|
-
core?: string;
|
|
67
|
-
services?: string;
|
|
68
|
-
};
|
|
69
|
-
}>;
|
|
34
|
+
blocks: z.ZodDefault<z.ZodString>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
70
37
|
export type Config = z.infer<typeof configSchema>;
|
|
71
38
|
export declare const DEFAULT_CONFIG: Config;
|
|
72
39
|
export declare function getConfig(cwd: string): Promise<Config | null>;
|
|
40
|
+
/**
|
|
41
|
+
* Splits an alias prefix from the path that follows it.
|
|
42
|
+
*
|
|
43
|
+
* `@`, `@app`, `~` — the name does not matter: the prefix is a nickname for
|
|
44
|
+
* `baseUrl`, and the rest is the path inside the project. Handling only `@/`
|
|
45
|
+
* let an alias like `@app/components` escape the substitution and become a
|
|
46
|
+
* literal folder named `@app` at the root, outside anything the tsconfig maps.
|
|
47
|
+
*/
|
|
48
|
+
export declare function splitAlias(alias: string): {
|
|
49
|
+
prefix: string;
|
|
50
|
+
rest: string;
|
|
51
|
+
};
|
|
52
|
+
/** The alias prefix, with `/*` — the key the tsconfig has to map. */
|
|
53
|
+
export declare function aliasPattern(alias: string): string;
|
|
73
54
|
export declare function resolveAliasToPath(alias: string, baseUrl: string): string;
|
|
74
55
|
export declare function resolveConfigPaths(cwd: string, config: Config): Promise<{
|
|
75
56
|
resolvedPaths: {
|
|
@@ -79,23 +60,28 @@ export declare function resolveConfigPaths(cwd: string, config: Config): Promise
|
|
|
79
60
|
utils: string;
|
|
80
61
|
core: string;
|
|
81
62
|
services: string;
|
|
63
|
+
blocks: string;
|
|
82
64
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
65
|
+
appConfigFile: string;
|
|
66
|
+
style: "css";
|
|
67
|
+
icons: string;
|
|
68
|
+
rtl: boolean;
|
|
69
|
+
projectType: "angular" | "angular-library" | "nx" | "nx-library" | "analog";
|
|
70
|
+
packageManager: "npm" | "yarn" | "pnpm" | "bun";
|
|
71
|
+
tailwind: {
|
|
72
|
+
css: string;
|
|
73
|
+
baseColor: string;
|
|
91
74
|
};
|
|
92
|
-
baseUrl
|
|
93
|
-
aliases
|
|
94
|
-
components
|
|
95
|
-
utils
|
|
96
|
-
core
|
|
97
|
-
services
|
|
75
|
+
baseUrl: string;
|
|
76
|
+
aliases: {
|
|
77
|
+
components: string;
|
|
78
|
+
utils: string;
|
|
79
|
+
core: string;
|
|
80
|
+
services: string;
|
|
81
|
+
blocks: string;
|
|
98
82
|
};
|
|
83
|
+
$schema?: string;
|
|
84
|
+
registryUrl?: string;
|
|
99
85
|
}>;
|
|
100
86
|
export {};
|
|
101
87
|
//# sourceMappingURL=config.d.ts.map
|
package/utils/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6ChB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAmB5B,CAAC;AAEF,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBnE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO1E;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAenE"}
|
package/utils/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SOURCE_ICON_FAMILY } from '../core/icons/index.js';
|
|
2
|
+
import { ConfigError } from '../utils/errors.js';
|
|
2
3
|
import { access, readFile } from 'node:fs/promises';
|
|
3
4
|
import * as path from 'node:path';
|
|
4
5
|
import { z } from 'zod';
|
|
@@ -19,14 +20,29 @@ const configSchema = z.object({
|
|
|
19
20
|
$schema: z.string().optional(),
|
|
20
21
|
appConfigFile: z.string().default('src/app/app.config.ts'),
|
|
21
22
|
style: z.enum(['css']).default('css'),
|
|
23
|
+
// The icon family the components are written in. Absent from files written
|
|
24
|
+
// before the property existed — and lucide is what those use.
|
|
25
|
+
//
|
|
26
|
+
// Not an enum: the valid families are the ones the registry publishes at run
|
|
27
|
+
// time, not the ones that existed when this CLI was compiled. Closing the list
|
|
28
|
+
// here would make an old CLI reject a new family, which is exactly what the
|
|
29
|
+
// remote catalog exists to avoid. `assertIconFamily` validates the value
|
|
30
|
+
// against the catalog, with a message that names the options.
|
|
31
|
+
icons: z.string().default(SOURCE_ICON_FAMILY),
|
|
32
|
+
// Layout direction. It does not change what gets installed yet: it exists so
|
|
33
|
+
// the project can declare the intent, and so a reader knows the field is ours.
|
|
34
|
+
rtl: z.boolean().default(false),
|
|
35
|
+
// Absent from components.json files written before the project-type menu; an
|
|
36
|
+
// Angular application is what those describe.
|
|
37
|
+
projectType: z.enum(['angular', 'angular-library', 'nx', 'nx-library', 'analog']).default('angular'),
|
|
22
38
|
packageManager: z.enum(['npm', 'yarn', 'pnpm', 'bun']).default('npm'),
|
|
23
39
|
registryUrl: z.string().optional(),
|
|
24
40
|
tailwind: z
|
|
25
41
|
.object({
|
|
26
42
|
css: z.string().default('src/styles.css'),
|
|
27
|
-
baseColor: z.string().default('
|
|
43
|
+
baseColor: z.string().default('neutral'),
|
|
28
44
|
})
|
|
29
|
-
.default({}),
|
|
45
|
+
.default({ css: 'src/styles.css', baseColor: 'neutral' }),
|
|
30
46
|
baseUrl: z.string().default('src/app'),
|
|
31
47
|
aliases: z
|
|
32
48
|
.object({
|
|
@@ -34,16 +50,28 @@ const configSchema = z.object({
|
|
|
34
50
|
utils: z.string().default('@/shared/utils'),
|
|
35
51
|
core: z.string().default('@/shared/core'),
|
|
36
52
|
services: z.string().default('@/shared/services'),
|
|
53
|
+
// Absent from files written before blocks were installable; those get the
|
|
54
|
+
// default, which is where `init` would have put it anyway.
|
|
55
|
+
blocks: z.string().default('@/shared/blocks'),
|
|
37
56
|
})
|
|
38
|
-
.default({
|
|
57
|
+
.default({
|
|
58
|
+
components: '@/shared/components',
|
|
59
|
+
utils: '@/shared/utils',
|
|
60
|
+
core: '@/shared/core',
|
|
61
|
+
services: '@/shared/services',
|
|
62
|
+
blocks: '@/shared/blocks',
|
|
63
|
+
}),
|
|
39
64
|
});
|
|
40
65
|
export const DEFAULT_CONFIG = {
|
|
41
66
|
style: 'css',
|
|
67
|
+
icons: SOURCE_ICON_FAMILY,
|
|
68
|
+
rtl: false,
|
|
69
|
+
projectType: 'angular',
|
|
42
70
|
appConfigFile: 'src/app/app.config.ts',
|
|
43
71
|
packageManager: 'npm',
|
|
44
72
|
tailwind: {
|
|
45
73
|
css: 'src/styles.css',
|
|
46
|
-
baseColor: '
|
|
74
|
+
baseColor: 'neutral',
|
|
47
75
|
},
|
|
48
76
|
baseUrl: 'src/app',
|
|
49
77
|
aliases: {
|
|
@@ -51,6 +79,7 @@ export const DEFAULT_CONFIG = {
|
|
|
51
79
|
utils: '@/shared/utils',
|
|
52
80
|
core: '@/shared/core',
|
|
53
81
|
services: '@/shared/services',
|
|
82
|
+
blocks: '@/shared/blocks',
|
|
54
83
|
},
|
|
55
84
|
};
|
|
56
85
|
export async function getConfig(cwd) {
|
|
@@ -60,15 +89,42 @@ export async function getConfig(cwd) {
|
|
|
60
89
|
}
|
|
61
90
|
try {
|
|
62
91
|
const configJson = await readJson(configPath);
|
|
63
|
-
|
|
92
|
+
const config = configSchema.parse(configJson);
|
|
93
|
+
if (config.registryUrl) {
|
|
94
|
+
const { validateRegistryUrl } = await import('../utils/registry.js');
|
|
95
|
+
validateRegistryUrl(config.registryUrl);
|
|
96
|
+
}
|
|
97
|
+
return config;
|
|
64
98
|
}
|
|
65
99
|
catch (error) {
|
|
66
|
-
|
|
67
|
-
|
|
100
|
+
if (error instanceof ConfigError)
|
|
101
|
+
throw error;
|
|
102
|
+
throw new ConfigError('Invalid configuration file: components.json');
|
|
68
103
|
}
|
|
69
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Splits an alias prefix from the path that follows it.
|
|
107
|
+
*
|
|
108
|
+
* `@`, `@app`, `~` — the name does not matter: the prefix is a nickname for
|
|
109
|
+
* `baseUrl`, and the rest is the path inside the project. Handling only `@/`
|
|
110
|
+
* let an alias like `@app/components` escape the substitution and become a
|
|
111
|
+
* literal folder named `@app` at the root, outside anything the tsconfig maps.
|
|
112
|
+
*/
|
|
113
|
+
export function splitAlias(alias) {
|
|
114
|
+
const clean = alias.replace(/\/+$/, '');
|
|
115
|
+
const separator = clean.indexOf('/');
|
|
116
|
+
if (separator === -1)
|
|
117
|
+
return { prefix: clean, rest: '' };
|
|
118
|
+
return { prefix: clean.slice(0, separator), rest: clean.slice(separator + 1) };
|
|
119
|
+
}
|
|
120
|
+
/** The alias prefix, with `/*` — the key the tsconfig has to map. */
|
|
121
|
+
export function aliasPattern(alias) {
|
|
122
|
+
return `${splitAlias(alias).prefix}/*`;
|
|
123
|
+
}
|
|
70
124
|
export function resolveAliasToPath(alias, baseUrl) {
|
|
71
|
-
|
|
125
|
+
const { rest } = splitAlias(alias);
|
|
126
|
+
const base = baseUrl.replace(/\/+$/, '');
|
|
127
|
+
return rest ? `${base}/${rest}` : base;
|
|
72
128
|
}
|
|
73
129
|
export async function resolveConfigPaths(cwd, config) {
|
|
74
130
|
const { baseUrl, aliases } = config;
|
|
@@ -81,6 +137,7 @@ export async function resolveConfigPaths(cwd, config) {
|
|
|
81
137
|
utils: path.resolve(cwd, resolveAliasToPath(aliases.utils, baseUrl)),
|
|
82
138
|
core: path.resolve(cwd, resolveAliasToPath(aliases.core, baseUrl)),
|
|
83
139
|
services: path.resolve(cwd, resolveAliasToPath(aliases.services, baseUrl)),
|
|
140
|
+
blocks: path.resolve(cwd, resolveAliasToPath(aliases.blocks, baseUrl)),
|
|
84
141
|
},
|
|
85
142
|
};
|
|
86
143
|
}
|
package/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class CliError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
constructor(message: string, code: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class NetworkError extends CliError {
|
|
6
|
+
readonly url: string;
|
|
7
|
+
constructor(message: string, url: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class ConfigError extends CliError {
|
|
10
|
+
constructor(message: string);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The registry publishes a newer format than this CLI knows how to read.
|
|
14
|
+
*
|
|
15
|
+
* It has its own class because it is the one registry read error that must NOT
|
|
16
|
+
* become a fallback: a missing file or a response that is not JSON are reasons
|
|
17
|
+
* to carry on with the local copy, but a format we do not understand is a reason
|
|
18
|
+
* to stop — carrying on would mean reading the wrong content and believing it.
|
|
19
|
+
*/
|
|
20
|
+
export declare class SchemaVersionError extends CliError {
|
|
21
|
+
constructor(message: string);
|
|
22
|
+
}
|
|
23
|
+
export declare class InstallError extends CliError {
|
|
24
|
+
readonly component: string;
|
|
25
|
+
constructor(message: string, component: string);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;aAGf,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B;AAED,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,GAAG,EAAE,MAAM;gBAD3B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM;CAK9B;AAED,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,SAAS,EAAE,MAAM;gBADjC,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,MAAM;CAKpC"}
|
package/utils/errors.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export class CliError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
constructor(message, code) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.code = code;
|
|
6
|
+
this.name = 'CliError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class NetworkError extends CliError {
|
|
10
|
+
url;
|
|
11
|
+
constructor(message, url) {
|
|
12
|
+
super(message, 'NETWORK_ERROR');
|
|
13
|
+
this.url = url;
|
|
14
|
+
this.name = 'NetworkError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class ConfigError extends CliError {
|
|
18
|
+
constructor(message) {
|
|
19
|
+
super(message, 'CONFIG_ERROR');
|
|
20
|
+
this.name = 'ConfigError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The registry publishes a newer format than this CLI knows how to read.
|
|
25
|
+
*
|
|
26
|
+
* It has its own class because it is the one registry read error that must NOT
|
|
27
|
+
* become a fallback: a missing file or a response that is not JSON are reasons
|
|
28
|
+
* to carry on with the local copy, but a format we do not understand is a reason
|
|
29
|
+
* to stop — carrying on would mean reading the wrong content and believing it.
|
|
30
|
+
*/
|
|
31
|
+
export class SchemaVersionError extends CliError {
|
|
32
|
+
constructor(message) {
|
|
33
|
+
super(message, 'UNSUPPORTED_SCHEMA_VERSION');
|
|
34
|
+
this.name = 'SchemaVersionError';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class InstallError extends CliError {
|
|
38
|
+
component;
|
|
39
|
+
constructor(message, component) {
|
|
40
|
+
super(message, 'INSTALL_ERROR');
|
|
41
|
+
this.component = component;
|
|
42
|
+
this.name = 'InstallError';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGf;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAGtB;IAFlB,YACE,OAAe,EACC,GAAW;QAE3B,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAFhB,QAAG,GAAH,GAAG,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAGtB;IAFlB,YACE,OAAe,EACC,SAAiB;QAEjC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAFhB,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { APP_VERSION } from '../constants/app.constants.js';
|
|
2
|
-
import { fileURLToPath } from 'url';
|
|
3
2
|
import { access, readFile } from 'node:fs/promises';
|
|
4
3
|
import * as path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
5
|
async function pathExists(filePath) {
|
|
6
6
|
try {
|
|
7
7
|
await access(filePath);
|
|
@@ -23,7 +23,7 @@ export async function getPackageInfo() {
|
|
|
23
23
|
path.resolve(__dirname, '../../../package.json'),
|
|
24
24
|
path.resolve(__dirname, '../../package.json'),
|
|
25
25
|
path.resolve(__dirname, '../../../../package.json'),
|
|
26
|
-
path.resolve(__dirname, '../node_modules
|
|
26
|
+
path.resolve(__dirname, '../node_modules/zard-cli/package.json'),
|
|
27
27
|
];
|
|
28
28
|
for (const packageJsonPath of possiblePaths) {
|
|
29
29
|
try {
|
|
@@ -37,14 +37,14 @@ export async function getPackageInfo() {
|
|
|
37
37
|
}
|
|
38
38
|
// Fallback to hardcoded info if package.json is not found
|
|
39
39
|
return {
|
|
40
|
-
name: '
|
|
40
|
+
name: 'zard-cli',
|
|
41
41
|
version: APP_VERSION,
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
catch (error) {
|
|
45
45
|
// Ultimate fallback
|
|
46
46
|
return {
|
|
47
|
-
name: '
|
|
47
|
+
name: 'zard-cli',
|
|
48
48
|
version: APP_VERSION,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-package-info.js","sourceRoot":"","sources":["../../src/utils/get-package-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-package-info.js","sourceRoot":"","sources":["../../src/utils/get-package-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uCAAuC,CAAC;SACjE,CAAC;QAEF,KAAK,MAAM,eAAe,IAAI,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtC,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB;QACpB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which toolchain compiles the project.
|
|
3
|
+
*
|
|
4
|
+
* Analog swaps Angular's build for Vite, and with it where Tailwind is
|
|
5
|
+
* configured: a plugin in `vite.config.ts` instead of `.postcssrc.json`.
|
|
6
|
+
*/
|
|
7
|
+
export type ProjectFlavor = 'angular' | 'analog';
|
|
8
|
+
/** Um projeto declarado no workspace — `angular.json` ou `project.json` do Nx. */
|
|
9
|
+
export type WorkspaceProject = {
|
|
10
|
+
name: string;
|
|
11
|
+
projectType: 'application' | 'library';
|
|
12
|
+
/** Project root, relative to the workspace (`apps/web`, or `''` for a single app). */
|
|
13
|
+
root: string;
|
|
14
|
+
sourceRoot: string;
|
|
15
|
+
flavor: ProjectFlavor;
|
|
16
|
+
/** Os `styles` do target de build, relativos ao workspace. */
|
|
17
|
+
styles: string[];
|
|
18
|
+
/** The build target's `index`, when declared. */
|
|
19
|
+
index: string | null;
|
|
20
|
+
};
|
|
1
21
|
export type ProjectInfo = {
|
|
2
22
|
framework: 'angular' | 'unknown';
|
|
23
|
+
/** Onde o package.json foi encontrado — a raiz do workspace. */
|
|
24
|
+
root: string;
|
|
25
|
+
/** Quem gerencia o workspace: define onde os projetos e os paths do TS vivem. */
|
|
26
|
+
workspace: 'angular' | 'nx';
|
|
3
27
|
hasTypeScript: boolean;
|
|
4
28
|
hasTailwind: boolean;
|
|
5
29
|
hasNx: boolean;
|
|
30
|
+
hasAnalog: boolean;
|
|
31
|
+
/** O tsconfig que guarda `compilerOptions.paths` — `tsconfig.base.json` no Nx. */
|
|
32
|
+
tsconfigFile: string;
|
|
6
33
|
angularVersion: string | null;
|
|
34
|
+
angularVersionRaw: string | null;
|
|
35
|
+
/** What the workspace declares, in the order it appears. Empty when there is none. */
|
|
36
|
+
projects: WorkspaceProject[];
|
|
7
37
|
};
|
|
8
38
|
export declare function getProjectInfo(cwd: string): Promise<ProjectInfo>;
|
|
9
39
|
//# sourceMappingURL=get-project-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-project-info.d.ts","sourceRoot":"","sources":["../../src/utils/get-project-info.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"get-project-info.d.ts","sourceRoot":"","sources":["../../src/utils/get-project-info.ts"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjD,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,sFAAsF;IACtF,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AAuMF,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA4CtE"}
|