swiftcn 1.0.0 → 1.0.1

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 ADDED
@@ -0,0 +1,103 @@
1
+ # swiftcn CLI
2
+
3
+ Command-line tool for adding swiftcn components to your SwiftUI project. Built with Node.js and TypeScript.
4
+
5
+ ## Prerequisites
6
+
7
+ - Node.js 20+
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g swiftcn
13
+ ```
14
+
15
+ Or use directly with npx:
16
+
17
+ ```bash
18
+ npx swiftcn@latest <command>
19
+ ```
20
+
21
+ ## Commands
22
+
23
+ ### `init`
24
+
25
+ Initialize swiftcn in your project. Creates a `swiftcn.json` config file and sets up the Sources directory.
26
+
27
+ ```bash
28
+ swiftcn init
29
+ ```
30
+
31
+ ### `add <component>`
32
+
33
+ Add a component to your project. Copies the component source files into your configured directory.
34
+
35
+ ```bash
36
+ swiftcn add button
37
+ swiftcn add button --sdui # Include SDUI extension
38
+ swiftcn add button --theme # Include theme files
39
+ ```
40
+
41
+ ### `list`
42
+
43
+ List all available components.
44
+
45
+ ```bash
46
+ swiftcn list
47
+ ```
48
+
49
+ ## Development
50
+
51
+ ```bash
52
+ # Install dependencies
53
+ npm install
54
+
55
+ # Build
56
+ npm run build
57
+
58
+ # Watch mode
59
+ npm run dev
60
+
61
+ # Run tests
62
+ npm test
63
+
64
+ # Run tests in watch mode
65
+ npm run test:watch
66
+
67
+ # Type check
68
+ npm run typecheck
69
+ ```
70
+
71
+ ## Architecture
72
+
73
+ Service-based architecture with dependency injection:
74
+
75
+ ```
76
+ src/
77
+ ├── index.ts # Entry point, creates container
78
+ ├── container.ts # DI container
79
+ ├── commands/ # Thin orchestration layer
80
+ │ ├── init.ts
81
+ │ ├── add.ts
82
+ │ └── list.ts
83
+ ├── services/ # Core business logic
84
+ │ ├── GitService.ts # Git clone & cleanup
85
+ │ ├── FileService.ts # File ops (copy, readJson, writeJson)
86
+ │ ├── RegistryService.ts # Registry loading & component lookup
87
+ │ ├── ConfigService.ts # swiftcn.json read/write
88
+ │ └── FetcherService.ts # Shared fetch logic
89
+ ├── types/ # Centralized Zod schemas
90
+ │ ├── config.schema.ts
91
+ │ ├── registry.schema.ts
92
+ │ └── options.schema.ts
93
+ ├── utils/
94
+ │ ├── ui.ts # Terminal UI (@clack/prompts)
95
+ │ ├── paths.ts # Path sanitization
96
+ │ ├── errors.ts # SwiftCNError + ErrorCode enum
97
+ │ └── constants.ts # ALLOWED_REPO_URLS, SOURCE_PATH
98
+ └── __tests__/
99
+ ├── services/ # Service unit tests
100
+ └── utils/ # Utility unit tests
101
+ ```
102
+
103
+ Commands are thin orchestrators that receive a `Container` via factory functions. Services handle all business logic and are independently testable.
@@ -7,11 +7,11 @@ export function createInitCommand(container) {
7
7
  return new Command()
8
8
  .name("init")
9
9
  .description("Initialize swiftcn in your project")
10
- .option("-p, --path <path>", "Path to components directory", "Sources/Components")
10
+ .option("-p, --path <path>", "Path to components directory", "Components")
11
11
  .option("--theme", "Include theme provider")
12
- .option("--theme-path <path>", "Path to theme directory", "Sources/Theme")
12
+ .option("--theme-path <path>", "Path to theme directory", "Theme")
13
13
  .option("--sdui", "Include SDUI infrastructure")
14
- .option("--sdui-path <path>", "Path to SDUI directory", "Sources/SDUI")
14
+ .option("--sdui-path <path>", "Path to SDUI directory", "SDUI")
15
15
  .option("-y, --yes", "Skip prompts and use defaults")
16
16
  .action(async (rawOptions) => {
17
17
  const options = InitOptionsSchema.parse(rawOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,MAAM,CAAC;SACZ,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,oBAAoB,CAAC;SACjF,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;SAC3C,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,eAAe,CAAC;SACzE,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,gCAAgC;QAChC,IAAI,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;gBACtC,OAAO,EAAE,yCAAyC;gBAClD,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpD,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACvC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAClC,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QACrC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,KAAK,CAC3B;gBACE,cAAc,EAAE,GAAG,EAAE,CACnB,CAAC,CAAC,IAAI,CAAC;oBACL,OAAO,EAAE,2CAA2C;oBACpD,YAAY,EAAE,cAAc;oBAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,CAAC,KAAK;4BAAE,OAAO,kBAAkB,CAAC;oBACxC,CAAC;iBACF,CAAC;gBAEJ,SAAS,EAAE,GAAG,EAAE,CACd,CAAC,CAAC,OAAO,CAAC;oBACR,OAAO,EAAE,yBAAyB;oBAClC,YAAY,EAAE,IAAI;iBACnB,CAAC;gBAEJ,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzB,OAAO,CAAC,SAAS;oBACf,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACL,OAAO,EAAE,4CAA4C;wBACrD,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,IAAI,CAAC,KAAK;gCAAE,OAAO,kBAAkB,CAAC;wBACxC,CAAC;qBACF,CAAC;oBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;gBAEhC,QAAQ,EAAE,GAAG,EAAE,CACb,CAAC,CAAC,OAAO,CAAC;oBACR,OAAO,EAAE,8BAA8B;oBACvC,YAAY,EAAE,KAAK;iBACpB,CAAC;gBAEJ,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxB,OAAO,CAAC,QAAQ;oBACd,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACL,OAAO,EAAE,2CAA2C;wBACpD,YAAY,EAAE,QAAQ;wBACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,IAAI,CAAC,KAAK;gCAAE,OAAO,kBAAkB,CAAC;wBACxC,CAAC;qBACF,CAAC;oBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;aAChC,EACD;gBACE,QAAQ,EAAE,GAAG,EAAE;oBACb,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;aACF,CACF,CAAC;YAEF,cAAc,GAAG,OAAO,CAAC,cAAwB,CAAC;YAClD,SAAS,GAAG,OAAO,CAAC,SAAoB,CAAC;YACzC,SAAS,GAAI,OAAO,CAAC,SAAgC,IAAI,SAAS,CAAC;YACnE,QAAQ,GAAG,OAAO,CAAC,QAAmB,CAAC;YACvC,QAAQ,GAAI,OAAO,CAAC,QAA+B,IAAI,QAAQ,CAAC;QAClE,CAAC;QAED,+CAA+C;QAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACzC,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAEnD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAE9C,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACrC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEX,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE;oBACpE,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;oBACrC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,CAAC;gBAED,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC9C,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAE7C,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACpC,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEX,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;oBACjE,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,CAAC;gBAED,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAkB;gBAC5B,cAAc;gBACd,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACzC,MAAM,EAAE,IAAI;aACb,CAAC;YAEF,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAE7B,yCAAyC;YACzC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACnC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACzB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;YAC7D,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;YAC1D,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YACrE,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -5,7 +5,7 @@ export class FileServiceImpl {
5
5
  try {
6
6
  // Check if source exists
7
7
  if (!await this.exists(source)) {
8
- return { status: 'error', path: dest, error: 'Source file not found' };
8
+ return { status: 'error', path: dest, error: 'Sources file not found' };
9
9
  }
10
10
  // Check if destination exists
11
11
  if (await this.exists(dest) && !options?.force) {
@@ -1 +1 @@
1
- {"version":3,"file":"FileService.js","sourceRoot":"","sources":["../../src/services/FileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,OAA6B;QACpE,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;YACzE,CAAC;YAED,8BAA8B;YAC9B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;YAED,sCAAsC;YACtC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzC,YAAY;YACZ,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,QAAgB,EAAE,MAAuC;QACzE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,QAAgB,EAAE,IAAO;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"FileService.js","sourceRoot":"","sources":["../../src/services/FileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,OAA6B;QACpE,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC1E,CAAC;YAED,8BAA8B;YAC9B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;YAED,sCAAsC;YACtC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzC,YAAY;YACZ,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,QAAgB,EAAE,MAAuC;QACzE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,QAAgB,EAAE,IAAO;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -11,7 +11,7 @@ export declare const ALLOWED_REPO_URLS: readonly ["https://github.com/Dicky019/s
11
11
  * Allowed source paths within the repository
12
12
  * Files can only be copied from these subdirectories
13
13
  */
14
- export declare const ALLOWED_SOURCE_PATHS: readonly ["Source/Components", "Source/Theme", "Source/SDUI"];
14
+ export declare const ALLOWED_SOURCE_PATHS: readonly ["Sources/Components", "Sources/Theme", "Sources/SDUI"];
15
15
  /**
16
16
  * Configuration file name
17
17
  */
@@ -19,7 +19,7 @@ export declare const CONFIG_FILE_NAME = "swiftcn.json";
19
19
  /**
20
20
  * Base source directory name
21
21
  */
22
- export declare const SOURCE_PATH = "Source";
22
+ export declare const SOURCE_PATH = "Sources";
23
23
  /**
24
24
  * Maximum allowed length for component names
25
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sDAEpB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,oBAAoB,+DAIvB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sDAEpB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,oBAAoB,kEAIvB,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,WAAW,YAAY,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAA"}
@@ -14,9 +14,9 @@ export const ALLOWED_REPO_URLS = [
14
14
  * Files can only be copied from these subdirectories
15
15
  */
16
16
  export const ALLOWED_SOURCE_PATHS = [
17
- 'Source/Components',
18
- 'Source/Theme',
19
- 'Source/SDUI'
17
+ 'Sources/Components',
18
+ 'Sources/Theme',
19
+ 'Sources/SDUI'
20
20
  ];
21
21
  /**
22
22
  * Configuration file name
@@ -25,7 +25,7 @@ export const CONFIG_FILE_NAME = 'swiftcn.json';
25
25
  /**
26
26
  * Base source directory name
27
27
  */
28
- export const SOURCE_PATH = 'Source';
28
+ export const SOURCE_PATH = 'Sources';
29
29
  /**
30
30
  * Maximum allowed length for component names
31
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,yCAAyC;CACjC,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mBAAmB;IACnB,cAAc;IACd,aAAa;CACL,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,yCAAyC;CACjC,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,eAAe;IACf,cAAc;CACN,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAA;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swiftcn",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "CLI for swiftcn - shadcn/ui inspired SwiftUI components",
5
5
  "type": "module",
6
6
  "bin": {