@axis-ds/cli 1.1.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/LICENSE +21 -0
- package/README.md +32 -0
- package/dist/chunk-CGFESSCW.js +24 -0
- package/dist/chunk-D26GW2HO.js +873 -0
- package/dist/chunk-DYIVW3T5.js +873 -0
- package/dist/chunk-GCOWKKXG.js +202 -0
- package/dist/chunk-WRDOGNSG.js +173 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2501 -0
- package/dist/monet.d.ts +90 -0
- package/dist/monet.js +12 -0
- package/dist/registry-client-TPWFZ4HE.js +8 -0
- package/dist/sync/index.d.ts +339 -0
- package/dist/sync/index.js +24 -0
- package/dist/v0.d.ts +26 -0
- package/dist/v0.js +10 -0
- package/package.json +54 -0
package/dist/monet.d.ts
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monet Registry 클라이언트
|
|
3
|
+
*
|
|
4
|
+
* Monet (https://monet.design) 컴포넌트를 검색하고 AXIS 프로젝트에 가져옵니다.
|
|
5
|
+
*
|
|
6
|
+
* 사용법:
|
|
7
|
+
* axis-cli monet list # 카테고리 목록
|
|
8
|
+
* axis-cli monet search <query> # 컴포넌트 검색
|
|
9
|
+
* axis-cli monet add <id> # 컴포넌트 추가
|
|
10
|
+
*/
|
|
11
|
+
declare const MONET_CATEGORIES: readonly [{
|
|
12
|
+
readonly id: "hero";
|
|
13
|
+
readonly name: "Hero Sections";
|
|
14
|
+
readonly count: 120;
|
|
15
|
+
}, {
|
|
16
|
+
readonly id: "feature";
|
|
17
|
+
readonly name: "Feature Sections";
|
|
18
|
+
readonly count: 191;
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: "testimonial";
|
|
21
|
+
readonly name: "Testimonials";
|
|
22
|
+
readonly count: 47;
|
|
23
|
+
}, {
|
|
24
|
+
readonly id: "pricing";
|
|
25
|
+
readonly name: "Pricing Tables";
|
|
26
|
+
readonly count: 35;
|
|
27
|
+
}, {
|
|
28
|
+
readonly id: "cta";
|
|
29
|
+
readonly name: "Call to Action";
|
|
30
|
+
readonly count: 42;
|
|
31
|
+
}, {
|
|
32
|
+
readonly id: "stats";
|
|
33
|
+
readonly name: "Statistics";
|
|
34
|
+
readonly count: 28;
|
|
35
|
+
}, {
|
|
36
|
+
readonly id: "footer";
|
|
37
|
+
readonly name: "Footers";
|
|
38
|
+
readonly count: 38;
|
|
39
|
+
}, {
|
|
40
|
+
readonly id: "header";
|
|
41
|
+
readonly name: "Headers/Navigation";
|
|
42
|
+
readonly count: 45;
|
|
43
|
+
}, {
|
|
44
|
+
readonly id: "logo-cloud";
|
|
45
|
+
readonly name: "Logo Clouds";
|
|
46
|
+
readonly count: 22;
|
|
47
|
+
}, {
|
|
48
|
+
readonly id: "team";
|
|
49
|
+
readonly name: "Team Sections";
|
|
50
|
+
readonly count: 31;
|
|
51
|
+
}, {
|
|
52
|
+
readonly id: "faq";
|
|
53
|
+
readonly name: "FAQ Sections";
|
|
54
|
+
readonly count: 24;
|
|
55
|
+
}, {
|
|
56
|
+
readonly id: "contact";
|
|
57
|
+
readonly name: "Contact Forms";
|
|
58
|
+
readonly count: 29;
|
|
59
|
+
}, {
|
|
60
|
+
readonly id: "newsletter";
|
|
61
|
+
readonly name: "Newsletter";
|
|
62
|
+
readonly count: 18;
|
|
63
|
+
}, {
|
|
64
|
+
readonly id: "landing";
|
|
65
|
+
readonly name: "Full Landing Pages";
|
|
66
|
+
readonly count: 28;
|
|
67
|
+
}];
|
|
68
|
+
interface MonetComponent {
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
category: string;
|
|
72
|
+
description: string;
|
|
73
|
+
preview: string;
|
|
74
|
+
tags: string[];
|
|
75
|
+
code?: string;
|
|
76
|
+
}
|
|
77
|
+
declare class MonetClient {
|
|
78
|
+
private apiKey;
|
|
79
|
+
private baseUrl;
|
|
80
|
+
constructor(apiKey?: string);
|
|
81
|
+
listCategories(): Promise<void>;
|
|
82
|
+
searchComponents(query: string): Promise<void>;
|
|
83
|
+
browseCategory(category: string): Promise<void>;
|
|
84
|
+
private getCategoryExamples;
|
|
85
|
+
importFromClipboard(): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
declare function getMonetUrl(path: string): string;
|
|
88
|
+
declare function getMonetMcpConfig(): object;
|
|
89
|
+
|
|
90
|
+
export { MONET_CATEGORIES, MonetClient, type MonetComponent, getMonetMcpConfig, getMonetUrl };
|
package/dist/monet.js
ADDED
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GitHub Project 동기화 - 타입 정의
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 로컬 상태 (project-todo.md)
|
|
8
|
+
*/
|
|
9
|
+
type LocalStatus = '✅' | '🔄' | '⏳';
|
|
10
|
+
/**
|
|
11
|
+
* Work Item 정보 (project-todo.md에서 파싱)
|
|
12
|
+
*/
|
|
13
|
+
interface WorkItem {
|
|
14
|
+
/** 순번 */
|
|
15
|
+
index: number;
|
|
16
|
+
/** 항목명 */
|
|
17
|
+
title: string;
|
|
18
|
+
/** WI ID (예: WI-0001) */
|
|
19
|
+
wiId: string;
|
|
20
|
+
/** Phase (예: P3) */
|
|
21
|
+
phase: string;
|
|
22
|
+
/** 우선순위 (예: P1) */
|
|
23
|
+
priority: string;
|
|
24
|
+
/** 상태 */
|
|
25
|
+
status: LocalStatus;
|
|
26
|
+
/** WI 폴더 링크 (있을 경우) */
|
|
27
|
+
link?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 파싱 결과
|
|
31
|
+
*/
|
|
32
|
+
interface ParseResult {
|
|
33
|
+
/** 진행 중 작업 */
|
|
34
|
+
inProgress: WorkItem[];
|
|
35
|
+
/** 완료된 작업 (WI ID가 있는 것만) */
|
|
36
|
+
completed: WorkItem[];
|
|
37
|
+
/** 파싱 오류 */
|
|
38
|
+
errors: ParseError[];
|
|
39
|
+
}
|
|
40
|
+
interface ParseError {
|
|
41
|
+
line: number;
|
|
42
|
+
content: string;
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* GitHub Project 상태
|
|
47
|
+
*/
|
|
48
|
+
type GitHubProjectStatus = 'Todo' | 'In Progress' | 'Done';
|
|
49
|
+
/**
|
|
50
|
+
* 상태 매핑
|
|
51
|
+
*/
|
|
52
|
+
declare const STATUS_MAP: Record<LocalStatus, GitHubProjectStatus>;
|
|
53
|
+
/**
|
|
54
|
+
* GitHub Project 상태 옵션 ID
|
|
55
|
+
* (프로젝트별로 다를 수 있음 - 실제 값은 API로 조회 필요)
|
|
56
|
+
*/
|
|
57
|
+
interface StatusOptionIds {
|
|
58
|
+
todo: string;
|
|
59
|
+
inProgress: string;
|
|
60
|
+
done: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* GitHub Project V2 정보
|
|
64
|
+
*/
|
|
65
|
+
interface ProjectV2Info {
|
|
66
|
+
id: string;
|
|
67
|
+
title: string;
|
|
68
|
+
url: string;
|
|
69
|
+
statusField: {
|
|
70
|
+
id: string;
|
|
71
|
+
options: StatusOptionIds;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* GitHub Project Item
|
|
76
|
+
*/
|
|
77
|
+
interface ProjectItem {
|
|
78
|
+
id: string;
|
|
79
|
+
content?: {
|
|
80
|
+
id: string;
|
|
81
|
+
number: number;
|
|
82
|
+
title: string;
|
|
83
|
+
url: string;
|
|
84
|
+
};
|
|
85
|
+
fieldValues: {
|
|
86
|
+
status?: GitHubProjectStatus;
|
|
87
|
+
wiId?: string;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* WI ↔ GitHub Issue 매핑
|
|
92
|
+
*/
|
|
93
|
+
interface WiMapping {
|
|
94
|
+
/** WI ID (예: WI-0001) */
|
|
95
|
+
wiId: string;
|
|
96
|
+
/** GitHub Issue Number */
|
|
97
|
+
issueNumber: number;
|
|
98
|
+
/** GitHub Project Item ID */
|
|
99
|
+
projectItemId?: string;
|
|
100
|
+
/** 마지막 동기화 시간 */
|
|
101
|
+
lastSyncedAt?: string;
|
|
102
|
+
/** 마지막 동기화 상태 */
|
|
103
|
+
lastStatus?: LocalStatus;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 매핑 파일 구조
|
|
107
|
+
*/
|
|
108
|
+
interface MappingFile {
|
|
109
|
+
/** 스키마 버전 */
|
|
110
|
+
version: string;
|
|
111
|
+
/** 저장소 정보 */
|
|
112
|
+
repository: {
|
|
113
|
+
owner: string;
|
|
114
|
+
repo: string;
|
|
115
|
+
};
|
|
116
|
+
/** 프로젝트 정보 */
|
|
117
|
+
project: {
|
|
118
|
+
number: number;
|
|
119
|
+
id?: string;
|
|
120
|
+
};
|
|
121
|
+
/** WI 매핑 목록 */
|
|
122
|
+
mappings: WiMapping[];
|
|
123
|
+
/** 마지막 업데이트 시간 */
|
|
124
|
+
updatedAt: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 동기화 액션
|
|
128
|
+
*/
|
|
129
|
+
type SyncAction = 'create' | 'update' | 'skip' | 'error';
|
|
130
|
+
/**
|
|
131
|
+
* 동기화 항목 결과
|
|
132
|
+
*/
|
|
133
|
+
interface SyncItemResult {
|
|
134
|
+
wiId: string;
|
|
135
|
+
action: SyncAction;
|
|
136
|
+
previousStatus?: LocalStatus;
|
|
137
|
+
newStatus: LocalStatus;
|
|
138
|
+
issueNumber?: number;
|
|
139
|
+
projectItemId?: string;
|
|
140
|
+
error?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 동기화 전체 결과
|
|
144
|
+
*/
|
|
145
|
+
interface SyncResult {
|
|
146
|
+
success: boolean;
|
|
147
|
+
timestamp: string;
|
|
148
|
+
summary: {
|
|
149
|
+
total: number;
|
|
150
|
+
created: number;
|
|
151
|
+
updated: number;
|
|
152
|
+
skipped: number;
|
|
153
|
+
failed: number;
|
|
154
|
+
};
|
|
155
|
+
items: SyncItemResult[];
|
|
156
|
+
errors: string[];
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* 동기화 옵션
|
|
160
|
+
*/
|
|
161
|
+
interface SyncOptions {
|
|
162
|
+
/** 미리보기 모드 (실제 변경 없음) */
|
|
163
|
+
dryRun?: boolean;
|
|
164
|
+
/** 특정 WI만 동기화 */
|
|
165
|
+
wiIds?: string[];
|
|
166
|
+
/** 상세 출력 */
|
|
167
|
+
verbose?: boolean;
|
|
168
|
+
/** GitHub 토큰 */
|
|
169
|
+
token?: string;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* 동기화 설정
|
|
173
|
+
*/
|
|
174
|
+
interface SyncConfig {
|
|
175
|
+
/** 저장소 정보 */
|
|
176
|
+
repository: {
|
|
177
|
+
owner: string;
|
|
178
|
+
repo: string;
|
|
179
|
+
};
|
|
180
|
+
/** GitHub Project 번호 */
|
|
181
|
+
projectNumber: number;
|
|
182
|
+
/** project-todo.md 경로 */
|
|
183
|
+
todoPath: string;
|
|
184
|
+
/** 매핑 파일 경로 */
|
|
185
|
+
mappingPath: string;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* project-todo.md 파서
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* project-todo.md 파일을 파싱하여 Work Item 목록 추출
|
|
194
|
+
*/
|
|
195
|
+
declare function parseProjectTodo(filePath: string): Promise<ParseResult>;
|
|
196
|
+
/**
|
|
197
|
+
* 문자열 내용 파싱
|
|
198
|
+
*/
|
|
199
|
+
declare function parseContent(content: string): ParseResult;
|
|
200
|
+
/**
|
|
201
|
+
* 모든 WI 추출 (중복 제거)
|
|
202
|
+
*/
|
|
203
|
+
declare function extractAllWorkItems(result: ParseResult): WorkItem[];
|
|
204
|
+
/**
|
|
205
|
+
* 특정 WI ID 필터링
|
|
206
|
+
*/
|
|
207
|
+
declare function filterByWiIds(items: WorkItem[], wiIds: string[]): WorkItem[];
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* GitHub API 클라이언트 (GraphQL)
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* GitHub API 클라이언트
|
|
215
|
+
*/
|
|
216
|
+
declare class GitHubClient {
|
|
217
|
+
private token;
|
|
218
|
+
private owner;
|
|
219
|
+
private repo;
|
|
220
|
+
constructor(owner: string, repo: string, token?: string);
|
|
221
|
+
/**
|
|
222
|
+
* gh CLI에서 토큰 가져오기
|
|
223
|
+
*/
|
|
224
|
+
private getTokenFromGhCli;
|
|
225
|
+
/**
|
|
226
|
+
* GraphQL 요청 실행
|
|
227
|
+
*/
|
|
228
|
+
private graphql;
|
|
229
|
+
/**
|
|
230
|
+
* Project V2 정보 조회
|
|
231
|
+
*/
|
|
232
|
+
getProjectInfo(projectNumber: number): Promise<ProjectV2Info>;
|
|
233
|
+
/**
|
|
234
|
+
* 프로젝트의 모든 아이템 조회
|
|
235
|
+
*/
|
|
236
|
+
getProjectItems(projectId: string): Promise<ProjectItem[]>;
|
|
237
|
+
/**
|
|
238
|
+
* Issue 생성
|
|
239
|
+
*/
|
|
240
|
+
createIssue(title: string, body?: string, labels?: string[]): Promise<{
|
|
241
|
+
id: string;
|
|
242
|
+
number: number;
|
|
243
|
+
}>;
|
|
244
|
+
/**
|
|
245
|
+
* Issue를 Project에 추가
|
|
246
|
+
*/
|
|
247
|
+
addIssueToProject(projectId: string, issueId: string): Promise<string>;
|
|
248
|
+
/**
|
|
249
|
+
* Project Item의 Status 업데이트
|
|
250
|
+
*/
|
|
251
|
+
updateItemStatus(projectId: string, itemId: string, fieldId: string, optionId: string): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Issue 번호로 Issue 정보 조회
|
|
254
|
+
*/
|
|
255
|
+
getIssue(issueNumber: number): Promise<{
|
|
256
|
+
id: string;
|
|
257
|
+
title: string;
|
|
258
|
+
state: string;
|
|
259
|
+
} | null>;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* WI ↔ GitHub Issue 매퍼
|
|
264
|
+
*/
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* WI-Issue 매퍼
|
|
268
|
+
*/
|
|
269
|
+
declare class WiMapper {
|
|
270
|
+
private mappingPath;
|
|
271
|
+
private mapping;
|
|
272
|
+
constructor(mappingPath: string);
|
|
273
|
+
/**
|
|
274
|
+
* 매핑 파일 로드
|
|
275
|
+
*/
|
|
276
|
+
load(): Promise<void>;
|
|
277
|
+
/**
|
|
278
|
+
* 매핑 파일 저장
|
|
279
|
+
*/
|
|
280
|
+
save(): Promise<void>;
|
|
281
|
+
/**
|
|
282
|
+
* 저장소 정보 반환
|
|
283
|
+
*/
|
|
284
|
+
getRepository(): {
|
|
285
|
+
owner: string;
|
|
286
|
+
repo: string;
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* 프로젝트 번호 반환
|
|
290
|
+
*/
|
|
291
|
+
getProjectNumber(): number;
|
|
292
|
+
/**
|
|
293
|
+
* 프로젝트 ID 설정
|
|
294
|
+
*/
|
|
295
|
+
setProjectId(id: string): void;
|
|
296
|
+
/**
|
|
297
|
+
* WI ID로 매핑 찾기
|
|
298
|
+
*/
|
|
299
|
+
findByWiId(wiId: string): WiMapping | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* Issue 번호로 매핑 찾기
|
|
302
|
+
*/
|
|
303
|
+
findByIssueNumber(issueNumber: number): WiMapping | undefined;
|
|
304
|
+
/**
|
|
305
|
+
* 매핑 추가 또는 업데이트
|
|
306
|
+
*/
|
|
307
|
+
upsertMapping(wiId: string, issueNumber: number, projectItemId?: string, status?: LocalStatus): void;
|
|
308
|
+
/**
|
|
309
|
+
* 모든 매핑 반환
|
|
310
|
+
*/
|
|
311
|
+
getAllMappings(): WiMapping[];
|
|
312
|
+
/**
|
|
313
|
+
* GitHub 프로젝트 아이템에서 WI ID 추출
|
|
314
|
+
*/
|
|
315
|
+
extractWiIdFromItem(item: ProjectItem): string | null;
|
|
316
|
+
/**
|
|
317
|
+
* 프로젝트 아이템으로 매핑 동기화
|
|
318
|
+
*/
|
|
319
|
+
syncFromProjectItems(items: ProjectItem[]): void;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Issue 제목 생성
|
|
323
|
+
*/
|
|
324
|
+
declare function generateIssueTitle(workItem: WorkItem): string;
|
|
325
|
+
/**
|
|
326
|
+
* Issue 본문 생성
|
|
327
|
+
*/
|
|
328
|
+
declare function generateIssueBody(workItem: WorkItem): string;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* GitHub Project 동기화 명령어
|
|
332
|
+
*/
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* sync 명령어 등록
|
|
336
|
+
*/
|
|
337
|
+
declare function registerSyncCommand(program: Command): void;
|
|
338
|
+
|
|
339
|
+
export { GitHubClient, type GitHubProjectStatus, type LocalStatus, type MappingFile, type ParseError, type ParseResult, type ProjectItem, type ProjectV2Info, STATUS_MAP, type StatusOptionIds, type SyncAction, type SyncConfig, type SyncItemResult, type SyncOptions, type SyncResult, WiMapper, type WiMapping, type WorkItem, extractAllWorkItems, filterByWiIds, generateIssueBody, generateIssueTitle, parseContent, parseProjectTodo, registerSyncCommand };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GitHubClient,
|
|
3
|
+
STATUS_MAP,
|
|
4
|
+
WiMapper,
|
|
5
|
+
extractAllWorkItems,
|
|
6
|
+
filterByWiIds,
|
|
7
|
+
generateIssueBody,
|
|
8
|
+
generateIssueTitle,
|
|
9
|
+
parseContent,
|
|
10
|
+
parseProjectTodo,
|
|
11
|
+
registerSyncCommand
|
|
12
|
+
} from "../chunk-D26GW2HO.js";
|
|
13
|
+
export {
|
|
14
|
+
GitHubClient,
|
|
15
|
+
STATUS_MAP,
|
|
16
|
+
WiMapper,
|
|
17
|
+
extractAllWorkItems,
|
|
18
|
+
filterByWiIds,
|
|
19
|
+
generateIssueBody,
|
|
20
|
+
generateIssueTitle,
|
|
21
|
+
parseContent,
|
|
22
|
+
parseProjectTodo,
|
|
23
|
+
registerSyncCommand
|
|
24
|
+
};
|
package/dist/v0.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V0 Integration 클라이언트
|
|
3
|
+
*
|
|
4
|
+
* V0 (https://v0.app) 생성 코드를 AXIS 프로젝트에 통합합니다.
|
|
5
|
+
*
|
|
6
|
+
* 사용법:
|
|
7
|
+
* axis-cli v0 convert <file> # V0 코드를 AXIS 스타일로 변환
|
|
8
|
+
* axis-cli v0 import <url> # V0 URL에서 가져오기
|
|
9
|
+
* axis-cli v0 setup # GitHub 연동 안내
|
|
10
|
+
*/
|
|
11
|
+
declare class V0Client {
|
|
12
|
+
convertCode(code: string, options?: {
|
|
13
|
+
preserveImports?: boolean;
|
|
14
|
+
}): Promise<string>;
|
|
15
|
+
convertFile(filePath: string, outputPath?: string): Promise<void>;
|
|
16
|
+
private showConversionSummary;
|
|
17
|
+
importFromUrl(): Promise<void>;
|
|
18
|
+
setupGitHubSync(): Promise<void>;
|
|
19
|
+
convertFromZip(): Promise<void>;
|
|
20
|
+
convertFromClipboard(): Promise<void>;
|
|
21
|
+
showGuide(): void;
|
|
22
|
+
}
|
|
23
|
+
declare function getV0Url(path?: string): string;
|
|
24
|
+
declare function isV0Code(code: string): boolean;
|
|
25
|
+
|
|
26
|
+
export { V0Client, getV0Url, isV0Code };
|
package/dist/v0.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@axis-ds/cli",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "AXIS Design System - CLI for adding components (shadcn compatible)",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"bin": {
|
|
10
|
+
"axis": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"main": "dist/index.js",
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"chalk": "^5.3.0",
|
|
19
|
+
"commander": "^12.0.0",
|
|
20
|
+
"fs-extra": "^11.2.0",
|
|
21
|
+
"node-fetch": "^3.3.0",
|
|
22
|
+
"ora": "^8.0.0",
|
|
23
|
+
"prompts": "^2.4.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/fs-extra": "^11.0.0",
|
|
27
|
+
"@types/node": "^22.0.0",
|
|
28
|
+
"@types/prompts": "^2.4.0",
|
|
29
|
+
"tsup": "^8.0.0",
|
|
30
|
+
"typescript": "^5.7.0",
|
|
31
|
+
"vitest": "^2.1.0"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"cli",
|
|
35
|
+
"design-system",
|
|
36
|
+
"axis",
|
|
37
|
+
"shadcn",
|
|
38
|
+
"components"
|
|
39
|
+
],
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "https://github.com/thoughtandaction/axis.git",
|
|
44
|
+
"directory": "packages/axis-cli"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://axis.minu.best",
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "tsup src/index.ts src/monet.ts src/v0.ts src/sync/index.ts --format esm --dts",
|
|
49
|
+
"dev": "tsup src/index.ts src/monet.ts src/v0.ts src/sync/index.ts --format esm --watch",
|
|
50
|
+
"clean": "rm -rf dist",
|
|
51
|
+
"test": "vitest run",
|
|
52
|
+
"test:watch": "vitest"
|
|
53
|
+
}
|
|
54
|
+
}
|