andrud 1.0.1 → 1.0.3
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 +295 -306
- package/dist/__tests__/context.test.d.ts +5 -0
- package/dist/__tests__/context.test.d.ts.map +1 -0
- package/dist/__tests__/context.test.js +86 -0
- package/dist/__tests__/context.test.js.map +1 -0
- package/dist/__tests__/generator.test.d.ts +5 -0
- package/dist/__tests__/generator.test.d.ts.map +1 -0
- package/dist/__tests__/generator.test.js +83 -0
- package/dist/__tests__/generator.test.js.map +1 -0
- package/dist/__tests__/validation.test.d.ts +5 -0
- package/dist/__tests__/validation.test.d.ts.map +1 -0
- package/dist/__tests__/validation.test.js +81 -0
- package/dist/__tests__/validation.test.js.map +1 -0
- package/dist/cli/commands/create.d.ts +10 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +203 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/info.d.ts +13 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/info.js +153 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/init.d.ts +15 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +141 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +18 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +122 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/new.d.ts +22 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/new.js +245 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +157 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/config.d.ts +89 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +151 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/context.d.ts +47 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +175 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/generator.d.ts +44 -0
- package/dist/core/generator.d.ts.map +1 -0
- package/{src/core/generator.ts → dist/core/generator.js} +394 -484
- package/dist/core/generator.js.map +1 -0
- package/dist/core/types.d.ts +125 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +22 -0
- package/dist/core/types.js.map +1 -0
- package/dist/templates/index.d.ts +36 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +141 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/ui/colors.d.ts +40 -0
- package/dist/ui/colors.d.ts.map +1 -0
- package/dist/ui/colors.js +117 -0
- package/dist/ui/colors.js.map +1 -0
- package/dist/ui/output.d.ts +69 -0
- package/dist/ui/output.d.ts.map +1 -0
- package/dist/ui/output.js +199 -0
- package/dist/ui/output.js.map +1 -0
- package/dist/ui/prompts.d.ts +20 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +118 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/spinners.d.ts +30 -0
- package/dist/ui/spinners.d.ts.map +1 -0
- package/dist/ui/spinners.js +74 -0
- package/dist/ui/spinners.js.map +1 -0
- package/dist/ui/types.d.ts +35 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +5 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/utils/filesystem.d.ts +38 -0
- package/dist/utils/filesystem.d.ts.map +1 -0
- package/dist/utils/filesystem.js +181 -0
- package/dist/utils/filesystem.js.map +1 -0
- package/dist/utils/logger.d.ts +27 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +52 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/object.d.ts +140 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/object.js +385 -0
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +270 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +10 -21
- package/CHANGELOG.md +0 -70
- package/CONTRIBUTING.md +0 -132
- package/sc.png +0 -0
- package/src/__tests__/context.test.ts +0 -133
- package/src/__tests__/generator.test.ts +0 -107
- package/src/__tests__/validation.test.ts +0 -105
- package/src/cli/commands/create.ts +0 -252
- package/src/cli/commands/info.ts +0 -178
- package/src/cli/commands/init.ts +0 -186
- package/src/cli/commands/list.ts +0 -156
- package/src/cli/commands/new.ts +0 -316
- package/src/cli/index.ts +0 -116
- package/src/core/config.ts +0 -172
- package/src/core/context.ts +0 -212
- package/src/core/types.ts +0 -184
- package/src/templates/index.ts +0 -162
- package/src/types/gradient-string.d.ts +0 -25
- package/src/ui/colors.ts +0 -139
- package/src/ui/output.ts +0 -230
- package/src/ui/prompts.ts +0 -170
- package/src/ui/spinners.ts +0 -95
- package/src/ui/types.ts +0 -41
- package/src/utils/filesystem.ts +0 -222
- package/src/utils/logger.ts +0 -67
- package/src/utils/object.ts +0 -456
- package/src/utils/validation.ts +0 -345
- package/tsconfig.json +0 -25
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object and array utilities
|
|
3
|
+
*/
|
|
4
|
+
// Object utilities
|
|
5
|
+
/**
|
|
6
|
+
* Deep merge objects
|
|
7
|
+
*/
|
|
8
|
+
export function merge(target, ...sources) {
|
|
9
|
+
for (const source of sources) {
|
|
10
|
+
for (const key of Object.keys(source)) {
|
|
11
|
+
const targetValue = target[key];
|
|
12
|
+
const sourceValue = source[key];
|
|
13
|
+
if (sourceValue &&
|
|
14
|
+
typeof sourceValue === 'object' &&
|
|
15
|
+
!Array.isArray(sourceValue) &&
|
|
16
|
+
targetValue &&
|
|
17
|
+
typeof targetValue === 'object' &&
|
|
18
|
+
!Array.isArray(targetValue)) {
|
|
19
|
+
target[key] = merge(targetValue, sourceValue);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
target[key] = sourceValue;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return target;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Omit keys from object
|
|
30
|
+
*/
|
|
31
|
+
export function omit(obj, keys) {
|
|
32
|
+
const result = { ...obj };
|
|
33
|
+
keys.forEach((key) => delete result[key]);
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Pick keys from object
|
|
38
|
+
*/
|
|
39
|
+
export function pick(obj, keys) {
|
|
40
|
+
const result = {};
|
|
41
|
+
keys.forEach((key) => {
|
|
42
|
+
result[key] = obj[key];
|
|
43
|
+
});
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Invert object keys and values
|
|
48
|
+
*/
|
|
49
|
+
export function invert(obj) {
|
|
50
|
+
const result = {};
|
|
51
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
52
|
+
result[value.toString()] = key;
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Map values of object
|
|
58
|
+
*/
|
|
59
|
+
export function mapValues(obj, fn) {
|
|
60
|
+
const result = {};
|
|
61
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
62
|
+
result[key] = fn(value, key);
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Filter object keys
|
|
68
|
+
*/
|
|
69
|
+
export function filterKeys(obj, fn) {
|
|
70
|
+
const result = {};
|
|
71
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
72
|
+
if (fn(key)) {
|
|
73
|
+
result[key] = value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
// Array utilities
|
|
79
|
+
/**
|
|
80
|
+
* Group array items by key
|
|
81
|
+
*/
|
|
82
|
+
export function groupBy(array, keyFn) {
|
|
83
|
+
return array.reduce((result, item) => {
|
|
84
|
+
const key = keyFn(item);
|
|
85
|
+
if (!result[key]) {
|
|
86
|
+
result[key] = [];
|
|
87
|
+
}
|
|
88
|
+
result[key].push(item);
|
|
89
|
+
return result;
|
|
90
|
+
}, {});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get unique values
|
|
94
|
+
*/
|
|
95
|
+
export function unique(array) {
|
|
96
|
+
return Array.from(new Set(array));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get unique values by predicate
|
|
100
|
+
*/
|
|
101
|
+
export function uniqueBy(array, predicate) {
|
|
102
|
+
const seen = new Set();
|
|
103
|
+
return array.filter((item) => {
|
|
104
|
+
const key = predicate(item);
|
|
105
|
+
if (seen.has(key)) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
seen.add(key);
|
|
109
|
+
return true;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Split array into chunks
|
|
114
|
+
*/
|
|
115
|
+
export function chunk(array, size) {
|
|
116
|
+
const chunks = [];
|
|
117
|
+
for (let i = 0; i < array.length; i += size) {
|
|
118
|
+
chunks.push(array.slice(i, i + size));
|
|
119
|
+
}
|
|
120
|
+
return chunks;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Flatten array one level
|
|
124
|
+
*/
|
|
125
|
+
export function flatten(array) {
|
|
126
|
+
const result = [];
|
|
127
|
+
for (const item of array) {
|
|
128
|
+
if (Array.isArray(item)) {
|
|
129
|
+
result.push(...item);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
result.push(item);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Deep flatten nested array
|
|
139
|
+
*/
|
|
140
|
+
export function flattenDeep(array) {
|
|
141
|
+
return array.reduce((acc, item) => Array.isArray(item) ? acc.concat(flattenDeep(item)) : acc.concat(item), []);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get difference between arrays
|
|
145
|
+
*/
|
|
146
|
+
export function difference(a, b) {
|
|
147
|
+
const bSet = new Set(b);
|
|
148
|
+
return a.filter((item) => !bSet.has(item));
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get intersection of arrays
|
|
152
|
+
*/
|
|
153
|
+
export function intersection(a, b) {
|
|
154
|
+
const bSet = new Set(b);
|
|
155
|
+
return a.filter((item) => bSet.has(item));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get union of arrays
|
|
159
|
+
*/
|
|
160
|
+
export function union(...arrays) {
|
|
161
|
+
return unique(arrays.flat());
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Sort array by key
|
|
165
|
+
*/
|
|
166
|
+
export function sortBy(array, keyFn) {
|
|
167
|
+
return [...array].sort((a, b) => {
|
|
168
|
+
const aKey = keyFn(a);
|
|
169
|
+
const bKey = keyFn(b);
|
|
170
|
+
if (aKey < bKey)
|
|
171
|
+
return -1;
|
|
172
|
+
if (aKey > bKey)
|
|
173
|
+
return 1;
|
|
174
|
+
return 0;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Partition array by predicate
|
|
179
|
+
*/
|
|
180
|
+
export function partition(array, predicate) {
|
|
181
|
+
const truthy = [];
|
|
182
|
+
const falsy = [];
|
|
183
|
+
array.forEach((item) => {
|
|
184
|
+
if (predicate(item)) {
|
|
185
|
+
truthy.push(item);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
falsy.push(item);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return [truthy, falsy];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Remove falsy values from array
|
|
195
|
+
*/
|
|
196
|
+
export function compact(array) {
|
|
197
|
+
return array.filter(Boolean);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Zip arrays together
|
|
201
|
+
*/
|
|
202
|
+
export function zip(a, b) {
|
|
203
|
+
const length = Math.min(a.length, b.length);
|
|
204
|
+
const result = [];
|
|
205
|
+
for (let i = 0; i < length; i++) {
|
|
206
|
+
const aItem = a[i];
|
|
207
|
+
const bItem = b[i];
|
|
208
|
+
if (aItem !== undefined && bItem !== undefined) {
|
|
209
|
+
result.push([aItem, bItem]);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return result;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Unzip zipped arrays
|
|
216
|
+
*/
|
|
217
|
+
export function unzip(zipped) {
|
|
218
|
+
const a = [];
|
|
219
|
+
const b = [];
|
|
220
|
+
zipped.forEach(([first, second]) => {
|
|
221
|
+
a.push(first);
|
|
222
|
+
b.push(second);
|
|
223
|
+
});
|
|
224
|
+
return [a, b];
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Generate range of numbers
|
|
228
|
+
*/
|
|
229
|
+
export function range(start, end, step = 1) {
|
|
230
|
+
if (end === undefined) {
|
|
231
|
+
end = start;
|
|
232
|
+
start = 0;
|
|
233
|
+
}
|
|
234
|
+
const result = [];
|
|
235
|
+
for (let i = start; i < end; i += step) {
|
|
236
|
+
result.push(i);
|
|
237
|
+
}
|
|
238
|
+
return result;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Generate array of repeated values
|
|
242
|
+
*/
|
|
243
|
+
export function times(n, fn) {
|
|
244
|
+
return Array.from({ length: n }, (_, i) => fn(i));
|
|
245
|
+
}
|
|
246
|
+
// Math utilities
|
|
247
|
+
/**
|
|
248
|
+
* Clamp number between min and max
|
|
249
|
+
*/
|
|
250
|
+
export function clamp(value, min, max) {
|
|
251
|
+
return Math.min(Math.max(value, min), max);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Generate random integer between min and max
|
|
255
|
+
*/
|
|
256
|
+
export function randomInt(min, max) {
|
|
257
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get random element from array
|
|
261
|
+
*/
|
|
262
|
+
export function randomElement(array) {
|
|
263
|
+
if (array.length === 0)
|
|
264
|
+
return undefined;
|
|
265
|
+
return array[Math.floor(Math.random() * array.length)];
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Shuffle array in place
|
|
269
|
+
*/
|
|
270
|
+
export function shuffle(array) {
|
|
271
|
+
const result = [...array];
|
|
272
|
+
for (let i = result.length - 1; i > 0; i--) {
|
|
273
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
274
|
+
const temp = result[i];
|
|
275
|
+
const swap = result[j];
|
|
276
|
+
if (temp !== undefined && swap !== undefined) {
|
|
277
|
+
result[i] = swap;
|
|
278
|
+
result[j] = temp;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
// Async utilities
|
|
284
|
+
/**
|
|
285
|
+
* Sleep for specified milliseconds
|
|
286
|
+
*/
|
|
287
|
+
export function sleep(ms) {
|
|
288
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Retry function on failure
|
|
292
|
+
*/
|
|
293
|
+
export async function retry(fn, options = {}) {
|
|
294
|
+
const { retries = 3, delay = 1000, backoff = 2, onRetry } = options;
|
|
295
|
+
let lastError;
|
|
296
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
297
|
+
try {
|
|
298
|
+
return await fn();
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
lastError = error;
|
|
302
|
+
if (attempt < retries) {
|
|
303
|
+
if (onRetry) {
|
|
304
|
+
onRetry(lastError, attempt + 1);
|
|
305
|
+
}
|
|
306
|
+
await sleep(delay * Math.pow(backoff, attempt));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
throw lastError;
|
|
311
|
+
}
|
|
312
|
+
// Function utilities
|
|
313
|
+
/**
|
|
314
|
+
* Memoize function results
|
|
315
|
+
*/
|
|
316
|
+
export function memoize(fn) {
|
|
317
|
+
const cache = new Map();
|
|
318
|
+
const memoized = ((...args) => {
|
|
319
|
+
const key = JSON.stringify(args);
|
|
320
|
+
if (cache.has(key)) {
|
|
321
|
+
return cache.get(key);
|
|
322
|
+
}
|
|
323
|
+
const result = fn(...args);
|
|
324
|
+
cache.set(key, result);
|
|
325
|
+
return result;
|
|
326
|
+
});
|
|
327
|
+
memoized.clear = () => cache.clear();
|
|
328
|
+
return memoized;
|
|
329
|
+
}
|
|
330
|
+
// Deep utilities
|
|
331
|
+
/**
|
|
332
|
+
* Deep clone an object
|
|
333
|
+
*/
|
|
334
|
+
export function deepClone(obj) {
|
|
335
|
+
if (obj === null || typeof obj !== 'object') {
|
|
336
|
+
return obj;
|
|
337
|
+
}
|
|
338
|
+
if (Array.isArray(obj)) {
|
|
339
|
+
return obj.map((item) => deepClone(item));
|
|
340
|
+
}
|
|
341
|
+
if (obj instanceof Date) {
|
|
342
|
+
return new Date(obj.getTime());
|
|
343
|
+
}
|
|
344
|
+
if (obj instanceof RegExp) {
|
|
345
|
+
return new RegExp(obj.source, obj.flags);
|
|
346
|
+
}
|
|
347
|
+
const cloned = {};
|
|
348
|
+
for (const key of Object.keys(obj)) {
|
|
349
|
+
cloned[key] = deepClone(obj[key]);
|
|
350
|
+
}
|
|
351
|
+
return cloned;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Deep equality check
|
|
355
|
+
*/
|
|
356
|
+
export function deepEqual(a, b) {
|
|
357
|
+
if (a === b)
|
|
358
|
+
return true;
|
|
359
|
+
if (a === null || b === null)
|
|
360
|
+
return false;
|
|
361
|
+
if (typeof a !== 'object' || typeof b !== 'object')
|
|
362
|
+
return false;
|
|
363
|
+
if (Array.isArray(a) !== Array.isArray(b))
|
|
364
|
+
return false;
|
|
365
|
+
const aObj = a;
|
|
366
|
+
const bObj = b;
|
|
367
|
+
const aKeys = Object.keys(aObj);
|
|
368
|
+
const bKeys = Object.keys(bObj);
|
|
369
|
+
if (aKeys.length !== bKeys.length)
|
|
370
|
+
return false;
|
|
371
|
+
for (const key of aKeys) {
|
|
372
|
+
if (!bKeys.includes(key))
|
|
373
|
+
return false;
|
|
374
|
+
if (!deepEqual(aObj[key], bObj[key]))
|
|
375
|
+
return false;
|
|
376
|
+
}
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Deep merge objects
|
|
381
|
+
*/
|
|
382
|
+
export function deepMerge(target, ...sources) {
|
|
383
|
+
return merge(target, ...sources);
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation utilities for app names, package names, and paths
|
|
3
|
+
*/
|
|
4
|
+
export interface ValidationResult {
|
|
5
|
+
valid: boolean;
|
|
6
|
+
errors: string[];
|
|
7
|
+
warnings: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface AppNameValidation extends ValidationResult {
|
|
10
|
+
normalized?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PackageNameValidation extends ValidationResult {
|
|
13
|
+
suggestions?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface DirectoryPathValidation extends ValidationResult {
|
|
16
|
+
normalized?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function validateAppName(name: string): AppNameValidation;
|
|
19
|
+
export declare function validatePackageNameInput(name: string): PackageNameValidation;
|
|
20
|
+
export declare function validatePackageStructure(name: string): ValidationResult;
|
|
21
|
+
export declare function validateDirectoryPath(path: string): DirectoryPathValidation;
|
|
22
|
+
export declare function validateEmail(email: string): ValidationResult;
|
|
23
|
+
export declare function validateUrl(url: string): ValidationResult;
|
|
24
|
+
export declare function validateVersion(version: string): ValidationResult;
|
|
25
|
+
export declare function validateAndroidMinSdk(sdk: number | string): ValidationResult;
|
|
26
|
+
export declare function validateAndroidTargetSdk(sdk: number | string): ValidationResult;
|
|
27
|
+
export declare function sanitizeFileName(name: string): string;
|
|
28
|
+
export declare function sanitizePackageName(name: string): string;
|
|
29
|
+
export declare function capitalizeFirstLetter(str: string): string;
|
|
30
|
+
export declare function camelCase(str: string): string;
|
|
31
|
+
export declare function pascalCase(str: string): string;
|
|
32
|
+
export declare function kebabCase(str: string): string;
|
|
33
|
+
export declare function snakeCase(str: string): string;
|
|
34
|
+
export declare function dotCase(str: string): string;
|
|
35
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA4C/D;AAGD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CA8D5E;AAGD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEvE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAqC3E;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAgB7D;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAiBzD;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAiBjE;AAGD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAqB5E;AAGD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAqB/E;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOxD;AAGD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3C"}
|