@astryxdesign/cli 0.6.3-canary.3e8c2f1 → 0.6.3-canary.3ee796c
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/api/build/build.type.d.mts +2 -2
- package/api/build/build.type.mjs +2 -2
- package/api/component/component.type.d.mts +6 -6
- package/api/component/component.type.mjs +19 -19
- package/api/discover/discover.type.d.mts +4 -4
- package/api/discover/discover.type.mjs +10 -10
- package/api/docs/docs.type.d.mts +4 -4
- package/api/docs/docs.type.mjs +10 -10
- package/api/hook/hook.type.d.mts +3 -3
- package/api/hook/hook.type.mjs +11 -11
- package/api/search/search.type.d.mts +1 -1
- package/api/search/search.type.mjs +1 -1
- package/api/swizzle/swizzle.type.d.mts +2 -2
- package/api/swizzle/swizzle.type.mjs +2 -2
- package/api/template/template.type.d.mts +5 -5
- package/api/template/template.type.mjs +12 -12
- package/api/theme/build/build.mjs +6 -20
- package/api/theme/build/build.test.mjs +0 -127
- package/api/theme/palette/generate/generate.mjs +1 -1
- package/api/theme/palette/generate/generator.d.mts +13 -10
- package/api/theme/palette/generate/generator.mjs +3 -7
- package/api/theme/theme.type.d.mts +11 -170
- package/api/theme/theme.type.mjs +27 -94
- package/api/upgrade/upgrade.type.d.mts +4 -4
- package/api/upgrade/upgrade.type.mjs +10 -10
- package/assets/docs/styling-libraries.doc.mjs +1 -1
- package/assets/docs/working-with-ai.doc.mjs +1 -1
- package/package.json +9 -9
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json build (no query) — the "how to build a page" playbook signal.
|
|
6
6
|
*/
|
|
7
7
|
export type BuildHelpResponse = {
|
|
8
8
|
type: "build.help";
|
|
@@ -11,7 +11,7 @@ export type BuildHelpResponse = {
|
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* xds --json build "<idea>" — the composition kit for what you're building.
|
|
15
15
|
*
|
|
16
16
|
* Entries are raw `SearchResultEntry` objects (no package-manager-prefixed
|
|
17
17
|
* command strings — the CLI adds those); `frame`/`foundation` are static
|
package/api/build/build.type.mjs
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* xds --json build (no query) — the "how to build a page" playbook signal.
|
|
11
11
|
*
|
|
12
12
|
* @typedef {object} BuildHelpResponse
|
|
13
13
|
* @property {'build.help'} type
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* xds --json build "<idea>" — the composition kit for what you're building.
|
|
20
20
|
*
|
|
21
21
|
* Entries are raw `SearchResultEntry` objects (no package-manager-prefixed
|
|
22
22
|
* command strings — the CLI adds those); `frame`/`foundation` are static
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json component [--list] [--category X] [--detail names|compact|full]
|
|
6
6
|
*
|
|
7
7
|
* The list view emits ONE `component.list` type across all three detail levels;
|
|
8
8
|
* the depth is carried in `data.detail` and `data.components` holds the grouped
|
|
@@ -55,7 +55,7 @@ export type ComponentBriefEntry = {
|
|
|
55
55
|
import: string;
|
|
56
56
|
};
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* xds --json component <name>
|
|
59
59
|
*/
|
|
60
60
|
export type ComponentDetailResponse = {
|
|
61
61
|
type: "component.detail";
|
|
@@ -81,14 +81,14 @@ export type ComponentOwnership = {
|
|
|
81
81
|
sourceAvailable: boolean;
|
|
82
82
|
};
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* xds --json component <name> --props
|
|
85
85
|
*/
|
|
86
86
|
export type ComponentDetailPropsResponse = {
|
|
87
87
|
type: "component.detail.props";
|
|
88
88
|
data: import("@astryxdesign/cli/authoring").ComponentPropDoc[];
|
|
89
89
|
};
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
91
|
+
* xds --json component <name> --source
|
|
92
92
|
*/
|
|
93
93
|
export type ComponentDetailSourceResponse = {
|
|
94
94
|
type: "component.detail.source";
|
|
@@ -98,7 +98,7 @@ export type ComponentDetailSourceResponse = {
|
|
|
98
98
|
};
|
|
99
99
|
};
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
101
|
+
* xds --json component <name> --showcase
|
|
102
102
|
*/
|
|
103
103
|
export type ComponentDetailShowcaseResponse = {
|
|
104
104
|
type: "component.detail.showcase";
|
|
@@ -109,7 +109,7 @@ export type ComponentDetailShowcaseResponse = {
|
|
|
109
109
|
};
|
|
110
110
|
};
|
|
111
111
|
/**
|
|
112
|
-
*
|
|
112
|
+
* xds --json component <name> --blocks
|
|
113
113
|
*/
|
|
114
114
|
export type ComponentDetailBlocksResponse = {
|
|
115
115
|
type: "component.detail.blocks";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* @file Colocated types for the `component` command — source of truth for the
|
|
5
5
|
* component command's JSON responses. These typedefs describe the `{type, data}`
|
|
6
|
-
* envelopes emitted by `
|
|
6
|
+
* envelopes emitted by `xds --json component` and returned by the `component()`
|
|
7
7
|
* API; the `types/component.d.ts` barrel re-exports them for consumers.
|
|
8
8
|
*
|
|
9
9
|
* Detail-level contract for list views (brief < compact < full):
|
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
* --detail compact Names + 1-line description + import path.
|
|
12
12
|
* --detail full Full ComponentDoc per entry (props, theming, examples, etc.).
|
|
13
13
|
*
|
|
14
|
-
* Invocation
|
|
14
|
+
* Invocation -> type discriminator
|
|
15
15
|
* ------------------------------------------------------------------
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* (not found)
|
|
16
|
+
* xds --json component -> component.list (data.detail='names')
|
|
17
|
+
* xds --json component --list -> component.list (data.detail='names')
|
|
18
|
+
* xds --json component --category Form -> component.list (filtered)
|
|
19
|
+
* xds --json component --list --detail compact -> component.list (data.detail='compact')
|
|
20
|
+
* xds --json component --list --detail full -> component.list (data.detail='full')
|
|
21
|
+
* xds --json component Button -> component.detail
|
|
22
|
+
* xds --json component Button --props -> component.detail.props
|
|
23
|
+
* xds --json component Button --source -> component.detail.source
|
|
24
|
+
* xds --json component Button --showcase -> component.detail.showcase
|
|
25
|
+
* xds --json component Button --blocks -> component.detail.blocks
|
|
26
|
+
* (not found) -> CLIError
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* xds --json component [--list] [--category X] [--detail names|compact|full]
|
|
31
31
|
*
|
|
32
32
|
* The list view emits ONE `component.list` type across all three detail levels;
|
|
33
33
|
* the depth is carried in `data.detail` and `data.components` holds the grouped
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
*/
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
73
|
+
* xds --json component <name>
|
|
74
74
|
* @typedef {object} ComponentDetailResponse
|
|
75
75
|
* @property {'component.detail'} type
|
|
76
76
|
* @property {import('@astryxdesign/cli/authoring').ComponentDoc & ComponentOwnership} data
|
|
@@ -87,28 +87,28 @@
|
|
|
87
87
|
*/
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
*
|
|
90
|
+
* xds --json component <name> --props
|
|
91
91
|
* @typedef {object} ComponentDetailPropsResponse
|
|
92
92
|
* @property {'component.detail.props'} type
|
|
93
93
|
* @property {import('@astryxdesign/cli/authoring').ComponentPropDoc[]} data
|
|
94
94
|
*/
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* xds --json component <name> --source
|
|
98
98
|
* @typedef {object} ComponentDetailSourceResponse
|
|
99
99
|
* @property {'component.detail.source'} type
|
|
100
100
|
* @property {{component: string; source: string}} data
|
|
101
101
|
*/
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
*
|
|
104
|
+
* xds --json component <name> --showcase
|
|
105
105
|
* @typedef {object} ComponentDetailShowcaseResponse
|
|
106
106
|
* @property {'component.detail.showcase'} type
|
|
107
107
|
* @property {{component: string; aspectRatio: number; source: string}} data
|
|
108
108
|
*/
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
|
-
*
|
|
111
|
+
* xds --json component <name> --blocks
|
|
112
112
|
* @typedef {object} ComponentDetailBlocksResponse
|
|
113
113
|
* @property {'component.detail.blocks'} type
|
|
114
114
|
* @property {{component: string; showcase: BlockEntry | null; examples: BlockEntry[]; related: BlockEntry[]}} data
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json discover
|
|
6
6
|
*/
|
|
7
7
|
export type DiscoverListResponse = {
|
|
8
8
|
type: "discover.list";
|
|
@@ -25,21 +25,21 @@ export type DiscoverListEntry = {
|
|
|
25
25
|
displayName?: string | undefined;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* xds --json discover
|
|
29
29
|
*/
|
|
30
30
|
export type DiscoverDetailResponse = {
|
|
31
31
|
type: "discover.detail";
|
|
32
32
|
data: DiscoverListEntry;
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* xds --json discover
|
|
36
36
|
*/
|
|
37
37
|
export type DiscoverDetailDocResponse = {
|
|
38
38
|
type: "discover.detail.doc";
|
|
39
39
|
data: import("@astryxdesign/cli/authoring").ComponentDoc;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* xds --json discover <searchterm> (multiple matches)
|
|
43
43
|
*/
|
|
44
44
|
export type DiscoverSearchResponse = {
|
|
45
45
|
type: "discover.search";
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Invocation -> type discriminator
|
|
8
8
|
* ------------------------------------------------------------------
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* (not found)
|
|
9
|
+
* xds --json discover -> discover.list
|
|
10
|
+
* xds --json discover @scope/name -> discover.detail
|
|
11
|
+
* xds --json discover @scope/name/Component -> discover.detail.doc
|
|
12
|
+
* xds --json discover <searchterm> (1 match) -> discover.detail.doc
|
|
13
|
+
* xds --json discover <searchterm> (N matches) -> discover.search
|
|
14
|
+
* (not found) -> CLIError
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* xds --json discover
|
|
19
19
|
* @typedef {object} DiscoverListResponse
|
|
20
20
|
* @property {'discover.list'} type
|
|
21
21
|
* @property {DiscoverListEntry[]} data
|
|
@@ -35,21 +35,21 @@
|
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* xds --json discover @scope/name
|
|
39
39
|
* @typedef {object} DiscoverDetailResponse
|
|
40
40
|
* @property {'discover.detail'} type
|
|
41
41
|
* @property {DiscoverListEntry} data
|
|
42
42
|
*/
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* xds --json discover @scope/name/Component
|
|
46
46
|
* @typedef {object} DiscoverDetailDocResponse
|
|
47
47
|
* @property {'discover.detail.doc'} type
|
|
48
48
|
* @property {import('@astryxdesign/cli/authoring').ComponentDoc} data
|
|
49
49
|
*/
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* xds --json discover <searchterm> (multiple matches)
|
|
53
53
|
* @typedef {object} DiscoverSearchResponse
|
|
54
54
|
* @property {'discover.search'} type
|
|
55
55
|
* @property {{query: string, matches: DiscoverSearchEntry[]}} data
|
package/api/docs/docs.type.d.mts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json docs
|
|
6
6
|
*/
|
|
7
7
|
export type DocsListResponse = {
|
|
8
8
|
type: "docs.list";
|
|
@@ -23,14 +23,14 @@ export type DocsListEntry = {
|
|
|
23
23
|
replaces?: string | undefined;
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* xds --json docs <topic> --index
|
|
27
27
|
*/
|
|
28
28
|
export type DocsIndexResponse = {
|
|
29
29
|
type: "docs.index";
|
|
30
30
|
data: DocsIndex;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* xds --json docs <topic>
|
|
34
34
|
*/
|
|
35
35
|
export type DocsDetailResponse = {
|
|
36
36
|
type: "docs.detail";
|
|
@@ -62,7 +62,7 @@ export type DocsIndexSection = {
|
|
|
62
62
|
summary: string;
|
|
63
63
|
};
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* xds --json docs <topic> <section>
|
|
66
66
|
*/
|
|
67
67
|
export type DocsDetailSectionResponse = {
|
|
68
68
|
type: "docs.detail.section";
|
package/api/docs/docs.type.mjs
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
* @file Colocated types for the `docs` command — source of truth for the docs
|
|
5
5
|
* command JSON responses. `types/docs.d.ts` re-exports these.
|
|
6
6
|
*
|
|
7
|
-
* Invocation
|
|
7
|
+
* Invocation -> type discriminator
|
|
8
8
|
* ------------------------------------------------------------
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* (unknown topic/section)
|
|
9
|
+
* xds --json docs -> docs.list
|
|
10
|
+
* xds --json docs <topic> -> docs.detail
|
|
11
|
+
* xds --json docs <topic> --index -> docs.index
|
|
12
|
+
* xds --json docs <topic> <section> -> docs.detail.section
|
|
13
|
+
* (unknown topic/section) -> CLIError
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* xds --json docs
|
|
18
18
|
* @typedef {object} DocsListResponse
|
|
19
19
|
* @property {'docs.list'} type
|
|
20
20
|
* @property {DocsListEntry[]} data
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
*/
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* xds --json docs <topic> --index
|
|
35
35
|
* @typedef {object} DocsIndexResponse
|
|
36
36
|
* @property {'docs.index'} type
|
|
37
37
|
* @property {DocsIndex} data
|
|
38
38
|
*/
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* xds --json docs <topic>
|
|
42
42
|
* @typedef {object} DocsDetailResponse
|
|
43
43
|
* @property {'docs.detail'} type
|
|
44
44
|
* @property {import('@astryxdesign/cli/authoring').ReferenceDoc} data
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* xds --json docs <topic> <section>
|
|
67
67
|
* @typedef {object} DocsDetailSectionResponse
|
|
68
68
|
* @property {'docs.detail.section'} type
|
|
69
69
|
* @property {import('@astryxdesign/cli/authoring').ReferenceSection} data
|
package/api/hook/hook.type.d.mts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export type HookDoc = import("@astryxdesign/cli/authoring").HookDoc;
|
|
5
5
|
export type HookParamDoc = import("@astryxdesign/cli/authoring").HookParamDoc;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* xds --json hook [--list] [--category X] [--detail names|compact|full]
|
|
8
8
|
*
|
|
9
9
|
* The list view emits ONE `hook.list` type across all three detail levels; the
|
|
10
10
|
* depth is carried in `data.detail` and `data.components` holds the grouped map
|
|
@@ -39,14 +39,14 @@ export type HookBriefEntry = {
|
|
|
39
39
|
import: string;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* xds --json hook <name>
|
|
43
43
|
*/
|
|
44
44
|
export type HookDetailResponse = {
|
|
45
45
|
type: "hook.detail";
|
|
46
46
|
data: HookDoc;
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* xds --json hook <name> --params
|
|
50
50
|
*/
|
|
51
51
|
export type HookDetailParamsResponse = {
|
|
52
52
|
type: "hook.detail.params";
|
package/api/hook/hook.type.mjs
CHANGED
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Invocation -> type discriminator
|
|
13
13
|
* ------------------------------------------------------------------
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* (not found)
|
|
14
|
+
* xds --json hook -> hook.list (data.detail='names')
|
|
15
|
+
* xds --json hook --list -> hook.list (data.detail='names')
|
|
16
|
+
* xds --json hook --category State -> hook.list (filtered)
|
|
17
|
+
* xds --json hook --list --detail compact -> hook.list (data.detail='compact')
|
|
18
|
+
* xds --json hook --list --detail full -> hook.list (data.detail='full')
|
|
19
|
+
* xds --json hook useMediaQuery -> hook.detail
|
|
20
|
+
* xds --json hook useMediaQuery --params -> hook.detail.params
|
|
21
|
+
* (not found) -> CLIError
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
// Re-export the authored-doc types from core so the hook leaves reference these
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
/** @typedef {import('@astryxdesign/cli/authoring').HookParamDoc} HookParamDoc */
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* xds --json hook [--list] [--category X] [--detail names|compact|full]
|
|
32
32
|
*
|
|
33
33
|
* The list view emits ONE `hook.list` type across all three detail levels; the
|
|
34
34
|
* depth is carried in `data.detail` and `data.components` holds the grouped map
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
*
|
|
59
|
+
* xds --json hook <name>
|
|
60
60
|
* @typedef {object} HookDetailResponse
|
|
61
61
|
* @property {'hook.detail'} type
|
|
62
62
|
* @property {HookDoc} data
|
|
63
63
|
*/
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* xds --json hook <name> --params
|
|
67
67
|
* @typedef {object} HookDetailParamsResponse
|
|
68
68
|
* @property {'hook.detail.params'} type
|
|
69
69
|
* @property {HookParamDoc[]} data
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json swizzle [--list]
|
|
6
6
|
*/
|
|
7
7
|
export type SwizzleListResponse = {
|
|
8
8
|
type: "swizzle.list";
|
|
@@ -22,7 +22,7 @@ export type SwizzleFeedback = {
|
|
|
22
22
|
ghCommand?: string | undefined;
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* xds --json swizzle <component>
|
|
26
26
|
*/
|
|
27
27
|
export type SwizzleCopyResponse = {
|
|
28
28
|
type: "swizzle.copy";
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* xds --json swizzle [--list]
|
|
11
11
|
*
|
|
12
12
|
* @typedef {object} SwizzleListResponse
|
|
13
13
|
* @property {'swizzle.list'} type
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* xds --json swizzle <component>
|
|
27
27
|
*
|
|
28
28
|
* @typedef {object} SwizzleCopyResponse
|
|
29
29
|
* @property {'swizzle.copy'} type
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* xds --json template [--list]
|
|
6
6
|
*/
|
|
7
7
|
export type TemplateListResponse = {
|
|
8
8
|
type: "template.list";
|
|
@@ -53,7 +53,7 @@ export type TemplateListEntry = {
|
|
|
53
53
|
scaffold?: boolean | undefined;
|
|
54
54
|
};
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* xds --json template <name>
|
|
57
57
|
*/
|
|
58
58
|
export type TemplateShowResponse = {
|
|
59
59
|
type: "template.show";
|
|
@@ -66,7 +66,7 @@ export type TemplateShowResponse = {
|
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* xds --json template <name> --skeleton
|
|
70
70
|
*/
|
|
71
71
|
export type TemplateSkeletonResponse = {
|
|
72
72
|
type: "template.skeleton";
|
|
@@ -78,7 +78,7 @@ export type TemplateSkeletonResponse = {
|
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* xds --json template <name> [path]
|
|
82
82
|
*/
|
|
83
83
|
export type TemplateCopyResponse = {
|
|
84
84
|
type: "template.copy";
|
|
@@ -90,7 +90,7 @@ export type TemplateCopyResponse = {
|
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* xds --json template --cdn [path]
|
|
94
94
|
* `written: false` with `reason: 'exists'` is a success: the command is safe to
|
|
95
95
|
* re-run, and an edited page is the consumer's file to keep. `version` is the
|
|
96
96
|
* Astryx version every CDN URL in the file was pinned to.
|
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Each template is exactly two files: page.tsx (code) + template.doc.mjs (metadata).
|
|
8
8
|
*
|
|
9
|
-
* Invocation
|
|
9
|
+
* Invocation -> type discriminator
|
|
10
10
|
* ------------------------------------------------------------------
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* (unknown template)
|
|
11
|
+
* xds --json template [--list] -> template.list
|
|
12
|
+
* xds --json template <name> -> template.show
|
|
13
|
+
* xds --json template <name> --skeleton -> template.skeleton
|
|
14
|
+
* xds --json template <name> [path] -> template.copy
|
|
15
|
+
* xds --json template --cdn [path] -> template.cdn
|
|
16
|
+
* (unknown template) -> CLIError
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* xds --json template [--list]
|
|
21
21
|
* @typedef {object} TemplateListResponse
|
|
22
22
|
* @property {'template.list'} type
|
|
23
23
|
* @property {TemplateListEntry[]} data
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* xds --json template <name>
|
|
47
47
|
* @typedef {object} TemplateShowResponse
|
|
48
48
|
* @property {'template.show'} type
|
|
49
49
|
* @property {object} data
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
*/
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* xds --json template <name> --skeleton
|
|
59
59
|
* @typedef {object} TemplateSkeletonResponse
|
|
60
60
|
* @property {'template.skeleton'} type
|
|
61
61
|
* @property {object} data
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
*/
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* xds --json template <name> [path]
|
|
70
70
|
* @typedef {object} TemplateCopyResponse
|
|
71
71
|
* @property {'template.copy'} type
|
|
72
72
|
* @property {object} data
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
*/
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* xds --json template --cdn [path]
|
|
81
81
|
* `written: false` with `reason: 'exists'` is a success: the command is safe to
|
|
82
82
|
* re-run, and an edited page is the consumer's file to keep. `version` is the
|
|
83
83
|
* Astryx version every CDN URL in the file was pinned to.
|
|
@@ -12,10 +12,9 @@
|
|
|
12
12
|
* - A .d.ts (plus an optional .variants.d.ts for custom prop values)
|
|
13
13
|
*
|
|
14
14
|
* It performs the writes and returns a `theme.build` receipt — its `warnings`
|
|
15
|
-
* carry override problems
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* CSS (nothing to build). Errors throw AstryxError (with
|
|
15
|
+
* carry override problems and any fonts the theme names but does not load
|
|
16
|
+
* (font-warning.mjs) — or `null` when the theme produced no CSS (nothing to
|
|
17
|
+
* build). Errors throw AstryxError (with
|
|
19
18
|
* a stable code). Human progress is emitted through the shared `logger`
|
|
20
19
|
* (silent by default), so the CLI keeps its exact output while a programmatic
|
|
21
20
|
* caller stays quiet.
|
|
@@ -2304,15 +2303,7 @@ async function themeBuildInternal(
|
|
|
2304
2303
|
const scopeSelector = themeScopeStart(themeDef.name);
|
|
2305
2304
|
const scopeTo = THEME_SCOPE_TO;
|
|
2306
2305
|
|
|
2307
|
-
|
|
2308
|
-
// warning text here that runtime callers receive on the console.
|
|
2309
|
-
/** @type {string[]} */
|
|
2310
|
-
const droppedDeclarations = [];
|
|
2311
|
-
|
|
2312
|
-
const {component, prose} = _generateThemeRulesSplit(
|
|
2313
|
-
resolvedTheme,
|
|
2314
|
-
droppedDeclarations,
|
|
2315
|
-
);
|
|
2306
|
+
const {component, prose} = _generateThemeRulesSplit(resolvedTheme);
|
|
2316
2307
|
const cssParts = [];
|
|
2317
2308
|
// Prose element defaults always ship — the `<Theme>` runtime
|
|
2318
2309
|
// (generateThemeCSS) always emits them, so the build must too, or the
|
|
@@ -2331,7 +2322,7 @@ async function themeBuildInternal(
|
|
|
2331
2322
|
let adaptationCss;
|
|
2332
2323
|
try {
|
|
2333
2324
|
adaptationCss = _generateAdaptationCSS
|
|
2334
|
-
? _generateAdaptationCSS(resolvedTheme
|
|
2325
|
+
? _generateAdaptationCSS(resolvedTheme)
|
|
2335
2326
|
: {component: '', prose: ''};
|
|
2336
2327
|
} catch (error) {
|
|
2337
2328
|
const message =
|
|
@@ -2377,16 +2368,11 @@ async function themeBuildInternal(
|
|
|
2377
2368
|
// adaptations on the same resolved leaf.
|
|
2378
2369
|
let onMediaCss = '';
|
|
2379
2370
|
if (_generateOnMediaCSS) {
|
|
2380
|
-
onMediaCss = _generateOnMediaCSS(resolvedTheme
|
|
2371
|
+
onMediaCss = _generateOnMediaCSS(resolvedTheme);
|
|
2381
2372
|
if (onMediaCss) {
|
|
2382
2373
|
cssParts.push(`@layer astryx-theme {\n${onMediaCss}\n}`);
|
|
2383
2374
|
}
|
|
2384
2375
|
}
|
|
2385
|
-
for (const message of droppedDeclarations) {
|
|
2386
|
-
const w = `Declaration ${message}. The generated CSS omits it; fix the value in the theme source.`;
|
|
2387
|
-
warningMessages.push(w);
|
|
2388
|
-
logger.warn(` ⚠ ${w}`);
|
|
2389
|
-
}
|
|
2390
2376
|
if (cssParts.length === 0) {
|
|
2391
2377
|
logger.log('No overrides found — nothing to build.');
|
|
2392
2378
|
return null;
|