@iconoma/cli 0.0.1-beta.2 → 0.0.2
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 +91 -374
- package/bin/run.js +0 -0
- package/dist/commands/studio.d.ts.map +1 -1
- package/dist/commands/studio.js +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +29 -19
- package/dist/get-studio.d.ts +0 -9
- package/dist/get-studio.d.ts.map +0 -1
- package/dist/get-studio.js +0 -4
- package/dist/studio/128.index.js +0 -55
- package/dist/studio/143.index.js +0 -2457
- package/dist/studio/148.index.js +0 -744
- package/dist/studio/211.index.js +0 -47186
- package/dist/studio/22.index.js +0 -5942
- package/dist/studio/437.index.js +0 -20
- package/dist/studio/509.index.js +0 -2240
- package/dist/studio/533.index.js +0 -883
- package/dist/studio/537.index.js +0 -62
- package/dist/studio/542.index.js +0 -22
- package/dist/studio/543.index.js +0 -8172
- package/dist/studio/593.index.js +0 -38099
- package/dist/studio/777.index.js +0 -24
- package/dist/studio/786.index.js +0 -1065
- package/dist/studio/860.index.js +0 -13
- package/dist/studio/876.index.js +0 -3848
- package/dist/studio/940.index.js +0 -6772
- package/dist/studio/951.index.js +0 -98
- package/dist/studio/c4c9b2153fb0d143f75f.js +0 -1
- package/dist/studio/client/assets/index-BD3Y-97G.css +0 -2
- package/dist/studio/client/assets/index-Dk8OjIgh.js +0 -53
- package/dist/studio/client/favicon.ico +0 -0
- package/dist/studio/client/index.html +0 -21
- package/dist/studio/index.js +0 -22188
- package/dist/studio/package.json +0 -3
package/README.md
CHANGED
|
@@ -1,374 +1,91 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
USAGE
|
|
94
|
-
$ iconoma plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
95
|
-
|
|
96
|
-
ARGUMENTS
|
|
97
|
-
PLUGIN... Plugin to install.
|
|
98
|
-
|
|
99
|
-
FLAGS
|
|
100
|
-
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
101
|
-
-h, --help Show CLI help.
|
|
102
|
-
-s, --silent Silences npm output.
|
|
103
|
-
-v, --verbose Show verbose npm output.
|
|
104
|
-
|
|
105
|
-
GLOBAL FLAGS
|
|
106
|
-
--json Format output as json.
|
|
107
|
-
|
|
108
|
-
DESCRIPTION
|
|
109
|
-
Installs a plugin into iconoma.
|
|
110
|
-
|
|
111
|
-
Uses npm to install plugins.
|
|
112
|
-
|
|
113
|
-
Installation of a user-installed plugin will override a core plugin.
|
|
114
|
-
|
|
115
|
-
Use the ICONOMA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
116
|
-
Use the ICONOMA_NPM_REGISTRY environment variable to set the npm registry.
|
|
117
|
-
|
|
118
|
-
ALIASES
|
|
119
|
-
$ iconoma plugins add
|
|
120
|
-
|
|
121
|
-
EXAMPLES
|
|
122
|
-
Install a plugin from npm registry.
|
|
123
|
-
|
|
124
|
-
$ iconoma plugins add myplugin
|
|
125
|
-
|
|
126
|
-
Install a plugin from a github url.
|
|
127
|
-
|
|
128
|
-
$ iconoma plugins add https://github.com/someuser/someplugin
|
|
129
|
-
|
|
130
|
-
Install a plugin from a github slug.
|
|
131
|
-
|
|
132
|
-
$ iconoma plugins add someuser/someplugin
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## `iconoma plugins:inspect PLUGIN...`
|
|
136
|
-
|
|
137
|
-
Displays installation properties of a plugin.
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
USAGE
|
|
141
|
-
$ iconoma plugins inspect PLUGIN...
|
|
142
|
-
|
|
143
|
-
ARGUMENTS
|
|
144
|
-
PLUGIN... [default: .] Plugin to inspect.
|
|
145
|
-
|
|
146
|
-
FLAGS
|
|
147
|
-
-h, --help Show CLI help.
|
|
148
|
-
-v, --verbose
|
|
149
|
-
|
|
150
|
-
GLOBAL FLAGS
|
|
151
|
-
--json Format output as json.
|
|
152
|
-
|
|
153
|
-
DESCRIPTION
|
|
154
|
-
Displays installation properties of a plugin.
|
|
155
|
-
|
|
156
|
-
EXAMPLES
|
|
157
|
-
$ iconoma plugins inspect myplugin
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/inspect.ts)_
|
|
161
|
-
|
|
162
|
-
## `iconoma plugins install PLUGIN`
|
|
163
|
-
|
|
164
|
-
Installs a plugin into iconoma.
|
|
165
|
-
|
|
166
|
-
```
|
|
167
|
-
USAGE
|
|
168
|
-
$ iconoma plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
169
|
-
|
|
170
|
-
ARGUMENTS
|
|
171
|
-
PLUGIN... Plugin to install.
|
|
172
|
-
|
|
173
|
-
FLAGS
|
|
174
|
-
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
175
|
-
-h, --help Show CLI help.
|
|
176
|
-
-s, --silent Silences npm output.
|
|
177
|
-
-v, --verbose Show verbose npm output.
|
|
178
|
-
|
|
179
|
-
GLOBAL FLAGS
|
|
180
|
-
--json Format output as json.
|
|
181
|
-
|
|
182
|
-
DESCRIPTION
|
|
183
|
-
Installs a plugin into iconoma.
|
|
184
|
-
|
|
185
|
-
Uses npm to install plugins.
|
|
186
|
-
|
|
187
|
-
Installation of a user-installed plugin will override a core plugin.
|
|
188
|
-
|
|
189
|
-
Use the ICONOMA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
190
|
-
Use the ICONOMA_NPM_REGISTRY environment variable to set the npm registry.
|
|
191
|
-
|
|
192
|
-
ALIASES
|
|
193
|
-
$ iconoma plugins add
|
|
194
|
-
|
|
195
|
-
EXAMPLES
|
|
196
|
-
Install a plugin from npm registry.
|
|
197
|
-
|
|
198
|
-
$ iconoma plugins install myplugin
|
|
199
|
-
|
|
200
|
-
Install a plugin from a github url.
|
|
201
|
-
|
|
202
|
-
$ iconoma plugins install https://github.com/someuser/someplugin
|
|
203
|
-
|
|
204
|
-
Install a plugin from a github slug.
|
|
205
|
-
|
|
206
|
-
$ iconoma plugins install someuser/someplugin
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/install.ts)_
|
|
210
|
-
|
|
211
|
-
## `iconoma plugins link PATH`
|
|
212
|
-
|
|
213
|
-
Links a plugin into the CLI for development.
|
|
214
|
-
|
|
215
|
-
```
|
|
216
|
-
USAGE
|
|
217
|
-
$ iconoma plugins link PATH [-h] [--install] [-v]
|
|
218
|
-
|
|
219
|
-
ARGUMENTS
|
|
220
|
-
PATH [default: .] path to plugin
|
|
221
|
-
|
|
222
|
-
FLAGS
|
|
223
|
-
-h, --help Show CLI help.
|
|
224
|
-
-v, --verbose
|
|
225
|
-
--[no-]install Install dependencies after linking the plugin.
|
|
226
|
-
|
|
227
|
-
DESCRIPTION
|
|
228
|
-
Links a plugin into the CLI for development.
|
|
229
|
-
|
|
230
|
-
Installation of a linked plugin will override a user-installed or core plugin.
|
|
231
|
-
|
|
232
|
-
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
|
|
233
|
-
command will override the user-installed or core plugin implementation. This is useful for development work.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
EXAMPLES
|
|
237
|
-
$ iconoma plugins link myplugin
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/link.ts)_
|
|
241
|
-
|
|
242
|
-
## `iconoma plugins remove [PLUGIN]`
|
|
243
|
-
|
|
244
|
-
Removes a plugin from the CLI.
|
|
245
|
-
|
|
246
|
-
```
|
|
247
|
-
USAGE
|
|
248
|
-
$ iconoma plugins remove [PLUGIN...] [-h] [-v]
|
|
249
|
-
|
|
250
|
-
ARGUMENTS
|
|
251
|
-
[PLUGIN...] plugin to uninstall
|
|
252
|
-
|
|
253
|
-
FLAGS
|
|
254
|
-
-h, --help Show CLI help.
|
|
255
|
-
-v, --verbose
|
|
256
|
-
|
|
257
|
-
DESCRIPTION
|
|
258
|
-
Removes a plugin from the CLI.
|
|
259
|
-
|
|
260
|
-
ALIASES
|
|
261
|
-
$ iconoma plugins unlink
|
|
262
|
-
$ iconoma plugins remove
|
|
263
|
-
|
|
264
|
-
EXAMPLES
|
|
265
|
-
$ iconoma plugins remove myplugin
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
## `iconoma plugins reset`
|
|
269
|
-
|
|
270
|
-
Remove all user-installed and linked plugins.
|
|
271
|
-
|
|
272
|
-
```
|
|
273
|
-
USAGE
|
|
274
|
-
$ iconoma plugins reset [--hard] [--reinstall]
|
|
275
|
-
|
|
276
|
-
FLAGS
|
|
277
|
-
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
|
|
278
|
-
--reinstall Reinstall all plugins after uninstalling.
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/reset.ts)_
|
|
282
|
-
|
|
283
|
-
## `iconoma plugins uninstall [PLUGIN]`
|
|
284
|
-
|
|
285
|
-
Removes a plugin from the CLI.
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
USAGE
|
|
289
|
-
$ iconoma plugins uninstall [PLUGIN...] [-h] [-v]
|
|
290
|
-
|
|
291
|
-
ARGUMENTS
|
|
292
|
-
[PLUGIN...] plugin to uninstall
|
|
293
|
-
|
|
294
|
-
FLAGS
|
|
295
|
-
-h, --help Show CLI help.
|
|
296
|
-
-v, --verbose
|
|
297
|
-
|
|
298
|
-
DESCRIPTION
|
|
299
|
-
Removes a plugin from the CLI.
|
|
300
|
-
|
|
301
|
-
ALIASES
|
|
302
|
-
$ iconoma plugins unlink
|
|
303
|
-
$ iconoma plugins remove
|
|
304
|
-
|
|
305
|
-
EXAMPLES
|
|
306
|
-
$ iconoma plugins uninstall myplugin
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/uninstall.ts)_
|
|
310
|
-
|
|
311
|
-
## `iconoma plugins unlink [PLUGIN]`
|
|
312
|
-
|
|
313
|
-
Removes a plugin from the CLI.
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
USAGE
|
|
317
|
-
$ iconoma plugins unlink [PLUGIN...] [-h] [-v]
|
|
318
|
-
|
|
319
|
-
ARGUMENTS
|
|
320
|
-
[PLUGIN...] plugin to uninstall
|
|
321
|
-
|
|
322
|
-
FLAGS
|
|
323
|
-
-h, --help Show CLI help.
|
|
324
|
-
-v, --verbose
|
|
325
|
-
|
|
326
|
-
DESCRIPTION
|
|
327
|
-
Removes a plugin from the CLI.
|
|
328
|
-
|
|
329
|
-
ALIASES
|
|
330
|
-
$ iconoma plugins unlink
|
|
331
|
-
$ iconoma plugins remove
|
|
332
|
-
|
|
333
|
-
EXAMPLES
|
|
334
|
-
$ iconoma plugins unlink myplugin
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
## `iconoma plugins update`
|
|
338
|
-
|
|
339
|
-
Update installed plugins.
|
|
340
|
-
|
|
341
|
-
```
|
|
342
|
-
USAGE
|
|
343
|
-
$ iconoma plugins update [-h] [-v]
|
|
344
|
-
|
|
345
|
-
FLAGS
|
|
346
|
-
-h, --help Show CLI help.
|
|
347
|
-
-v, --verbose
|
|
348
|
-
|
|
349
|
-
DESCRIPTION
|
|
350
|
-
Update installed plugins.
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/update.ts)_
|
|
354
|
-
|
|
355
|
-
## `iconoma studio`
|
|
356
|
-
|
|
357
|
-
Start the Iconoma Studio
|
|
358
|
-
|
|
359
|
-
```
|
|
360
|
-
USAGE
|
|
361
|
-
$ iconoma studio [-p <value>]
|
|
362
|
-
|
|
363
|
-
FLAGS
|
|
364
|
-
-p, --port=<value> port to listen on
|
|
365
|
-
|
|
366
|
-
DESCRIPTION
|
|
367
|
-
Start the Iconoma Studio
|
|
368
|
-
|
|
369
|
-
EXAMPLES
|
|
370
|
-
$ iconoma studio
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
_See code: [src/commands/studio.ts](https://github.com/theryston/iconoma/blob/v0.0.1-beta.2/src/commands/studio.ts)_
|
|
374
|
-
<!-- commandsstop -->
|
|
1
|
+
# Iconoma
|
|
2
|
+
|
|
3
|
+
[](https://github.com/theryston/iconoma)
|
|
4
|
+
[](https://npmjs.org/package/@iconoma/cli)
|
|
5
|
+
[](https://npmjs.org/package/@iconoma/cli)
|
|
6
|
+
|
|
7
|
+
**Iconoma** is a complete **icon management system** (CLI + Studio) that helps teams and products **organize, standardize, version, and distribute icons** with a reliable workflow.
|
|
8
|
+
|
|
9
|
+
Instead of keeping random SVG files scattered across the repo, Iconoma turns your icon library into a **structured, reproducible pipeline**: clean SVGs with SVGO, enforce consistency (colors, metadata, conventions), and generate the targets your apps need (SVG files, React components, React Native components).
|
|
10
|
+
|
|
11
|
+
Start using it now by running this in your project:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @iconoma/cli studio
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Why Iconoma
|
|
20
|
+
|
|
21
|
+
Icon libraries tend to become messy as projects grow:
|
|
22
|
+
|
|
23
|
+
- inconsistent sizes and alignment (icons "look bigger" even with the same size)
|
|
24
|
+
- hardcoded colors that break themes/dark mode
|
|
25
|
+
- duplicated icons with different names
|
|
26
|
+
- manual export steps (time-consuming and error-prone)
|
|
27
|
+
- multiple platforms needing different formats (Web + React + React Native)
|
|
28
|
+
|
|
29
|
+
Iconoma solves that by providing a **single source of truth (the studio)** for your icon catalog and an automated build system.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## What you get
|
|
34
|
+
|
|
35
|
+
### ✅ Icon catalog with metadata
|
|
36
|
+
|
|
37
|
+
Each icon can have:
|
|
38
|
+
|
|
39
|
+
- a canonical **name**
|
|
40
|
+
- **tags** for search and organization
|
|
41
|
+
- optimized SVG content
|
|
42
|
+
- generated outputs (targets)
|
|
43
|
+
|
|
44
|
+
This makes it easy to keep icons discoverable and consistent across the team.
|
|
45
|
+
|
|
46
|
+
### ✅ SVGO optimization + custom configuration
|
|
47
|
+
|
|
48
|
+
Iconoma uses **SVGO** to optimize and normalize your SVGs (removing unnecessary data, minimizing output, and improving consistency).
|
|
49
|
+
|
|
50
|
+
You can **fully customize the SVGO config** to match your rules and design system (plugins, params, presets, etc.).
|
|
51
|
+
|
|
52
|
+
### ✅ Color mapping and theming-friendly icons
|
|
53
|
+
|
|
54
|
+
SVGs frequently arrive with hardcoded colors like `#000`, `#111`, `white`, etc.
|
|
55
|
+
|
|
56
|
+
Iconoma supports a **color map** approach so you can convert colors into:
|
|
57
|
+
|
|
58
|
+
- `currentColor`
|
|
59
|
+
- CSS variables/tokens (e.g. `var(--icons-secondary)`)
|
|
60
|
+
|
|
61
|
+
This makes icons theme-friendly and prevents "random SVG colors" from leaking into your UI.
|
|
62
|
+
|
|
63
|
+
### ✅ Automatic target generation (React, React Native, SVG)
|
|
64
|
+
|
|
65
|
+
Iconoma can automatically generate the targets you need, including:
|
|
66
|
+
|
|
67
|
+
- **`.svg` files** (optimized/normalized)
|
|
68
|
+
- **React components**
|
|
69
|
+
- **React Native components**
|
|
70
|
+
|
|
71
|
+
Targets are treated as build outputs, so you can keep a clean pipeline for multiple platforms.
|
|
72
|
+
|
|
73
|
+
### ✅ Lockfile-based reproducible builds
|
|
74
|
+
|
|
75
|
+
Iconoma keeps a lockfile called `iconoma.lock.json` that stores:
|
|
76
|
+
|
|
77
|
+
- SVG hashes
|
|
78
|
+
- config hashes
|
|
79
|
+
- target outputs and what they were built from
|
|
80
|
+
|
|
81
|
+
This makes builds **deterministic**, helps you to understand the changes using Git.
|
|
82
|
+
|
|
83
|
+
### ✅ Studio (UI) integrated with the workflow
|
|
84
|
+
|
|
85
|
+
Iconoma includes a "Studio" interface to make icon curation easier:
|
|
86
|
+
|
|
87
|
+
- browse and search icons
|
|
88
|
+
- preview icons in different sizes/themes
|
|
89
|
+
- manage names/tags
|
|
90
|
+
- validate consistency visually
|
|
91
|
+
- run builds/transforms from a friendly UI
|
package/bin/run.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAO7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAM;IAC1B,OAAgB,WAAW,SAA8B;IACzD,OAAgB,QAAQ,WAA2C;IACnE,OAAgB,KAAK;;MAEnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAO7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,OAAgB,IAAI,KAAM;IAC1B,OAAgB,WAAW,SAA8B;IACzD,OAAgB,QAAQ,WAA2C;IACnE,OAAgB,KAAK;;MAEnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BlC"}
|
package/dist/commands/studio.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command, Flags } from "@oclif/core";
|
|
2
|
-
import {
|
|
2
|
+
import { createServer } from "@iconoma/studio";
|
|
3
3
|
import figlet from "figlet";
|
|
4
4
|
import gradient from "gradient-string";
|
|
5
5
|
import { createSpinner } from "nanospinner";
|
|
@@ -21,13 +21,13 @@ export default class Studio extends Command {
|
|
|
21
21
|
console.log(coolGradient.multiline(text));
|
|
22
22
|
const spinner = createSpinner("Starting Studio...").start();
|
|
23
23
|
try {
|
|
24
|
-
const { createServer } = await getStudio();
|
|
25
24
|
const { url } = await createServer({ port });
|
|
26
25
|
await open(url, { wait: true });
|
|
27
26
|
spinner.success({ text: `Studio started at ${url}` });
|
|
28
27
|
}
|
|
29
|
-
catch {
|
|
28
|
+
catch (error) {
|
|
30
29
|
spinner.error({ text: `Failed to start Studio` });
|
|
30
|
+
console.error(error);
|
|
31
31
|
process.exit(1);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/
|
|
1
|
+
{"root":["../src/index.ts","../src/commands/studio.ts"],"version":"5.9.3"}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iconoma/cli",
|
|
3
3
|
"description": "A developer-friendly tool to manage and organize icons through CLI and web studio",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.2",
|
|
5
5
|
"author": "Theryston Santos @Theryston",
|
|
6
6
|
"bin": {
|
|
7
7
|
"iconoma": "bin/run.js"
|
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@oclif/core": "^4",
|
|
16
16
|
"@oclif/plugin-help": "^6",
|
|
17
|
-
"@oclif/plugin-plugins": "^5",
|
|
18
17
|
"figlet": "^1.9.4",
|
|
19
18
|
"gradient-string": "^3.0.0",
|
|
20
19
|
"nanospinner": "^1.2.2",
|
|
21
|
-
"open": "^11.0.0"
|
|
20
|
+
"open": "^11.0.0",
|
|
21
|
+
"@iconoma/studio": "0.0.4"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@iconoma/eslint-config": "workspace:*",
|
|
25
|
-
"@iconoma/typescript-config": "workspace:*",
|
|
26
24
|
"@types/chai": "^4",
|
|
27
25
|
"@types/mocha": "^10",
|
|
28
26
|
"@types/node": "^18",
|
|
@@ -32,7 +30,9 @@
|
|
|
32
30
|
"oclif": "^4",
|
|
33
31
|
"shx": "^0.3.3",
|
|
34
32
|
"ts-node": "^10",
|
|
35
|
-
"typescript": "^5"
|
|
33
|
+
"typescript": "^5",
|
|
34
|
+
"@iconoma/typescript-config": "0.0.0",
|
|
35
|
+
"@iconoma/eslint-config": "0.0.0"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=18.0.0"
|
|
@@ -44,7 +44,22 @@
|
|
|
44
44
|
],
|
|
45
45
|
"homepage": "https://github.com/theryston/iconoma",
|
|
46
46
|
"keywords": [
|
|
47
|
-
"oclif"
|
|
47
|
+
"oclif",
|
|
48
|
+
"iconoma",
|
|
49
|
+
"icon management",
|
|
50
|
+
"icons",
|
|
51
|
+
"studio",
|
|
52
|
+
"CLI",
|
|
53
|
+
"SVG",
|
|
54
|
+
"react",
|
|
55
|
+
"icon pipeline",
|
|
56
|
+
"icon optimizer",
|
|
57
|
+
"icon library",
|
|
58
|
+
"SVGO",
|
|
59
|
+
"design system",
|
|
60
|
+
"icon build",
|
|
61
|
+
"icon generator",
|
|
62
|
+
"react icons"
|
|
48
63
|
],
|
|
49
64
|
"license": "MIT",
|
|
50
65
|
"main": "dist/index.js",
|
|
@@ -54,13 +69,12 @@
|
|
|
54
69
|
"dirname": "iconoma",
|
|
55
70
|
"commands": "./dist/commands",
|
|
56
71
|
"plugins": [
|
|
57
|
-
"@oclif/plugin-help"
|
|
58
|
-
"@oclif/plugin-plugins"
|
|
72
|
+
"@oclif/plugin-help"
|
|
59
73
|
],
|
|
60
74
|
"topicSeparator": " ",
|
|
61
75
|
"topics": {
|
|
62
|
-
"
|
|
63
|
-
"description": "
|
|
76
|
+
"studio": {
|
|
77
|
+
"description": "Start the Iconoma Studio"
|
|
64
78
|
}
|
|
65
79
|
}
|
|
66
80
|
},
|
|
@@ -68,13 +82,9 @@
|
|
|
68
82
|
"type": "git",
|
|
69
83
|
"url": "git+https://github.com/theryston/iconoma.git"
|
|
70
84
|
},
|
|
85
|
+
"types": "dist/index.d.ts",
|
|
71
86
|
"scripts": {
|
|
72
|
-
"postbuild": "node scripts/bundle-studio.js",
|
|
73
87
|
"build": "shx rm -rf dist && tsc -b",
|
|
74
|
-
"lint": "eslint"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"version": "oclif readme && git add README.md"
|
|
78
|
-
},
|
|
79
|
-
"types": "dist/index.d.ts"
|
|
80
|
-
}
|
|
88
|
+
"lint": "eslint"
|
|
89
|
+
}
|
|
90
|
+
}
|
package/dist/get-studio.d.ts
DELETED
package/dist/get-studio.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-studio.d.ts","sourceRoot":"","sources":["../src/get-studio.ts"],"names":[],"mappings":"AAAA,wBAAsB,SAAS,IAAI,OAAO,CAAC;IACzC,YAAY,EAAE,CAAC,OAAO,EAAE;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5D,CAAC,CAGD"}
|
package/dist/get-studio.js
DELETED