appshot-cli 0.8.7 → 0.9.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 +784 -15
- package/dist/cli.js +24 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +16 -2
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/export.d.ts +3 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +382 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/order.d.ts +3 -0
- package/dist/commands/order.d.ts.map +1 -0
- package/dist/commands/order.js +321 -0
- package/dist/commands/order.js.map +1 -0
- package/dist/commands/preset.d.ts +5 -0
- package/dist/commands/preset.d.ts.map +1 -0
- package/dist/commands/preset.js +191 -0
- package/dist/commands/preset.js.map +1 -0
- package/dist/commands/quickstart.d.ts +3 -0
- package/dist/commands/quickstart.d.ts.map +1 -0
- package/dist/commands/quickstart.js +326 -0
- package/dist/commands/quickstart.js.map +1 -0
- package/dist/commands/style.d.ts.map +1 -1
- package/dist/commands/style.js +98 -0
- package/dist/commands/style.js.map +1 -1
- package/dist/commands/template.d.ts +3 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +399 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/core/compose.d.ts +16 -0
- package/dist/core/compose.d.ts.map +1 -1
- package/dist/core/compose.js +342 -83
- package/dist/core/compose.js.map +1 -1
- package/dist/services/doctor.js +1 -1
- package/dist/services/export-validator.d.ts +23 -0
- package/dist/services/export-validator.d.ts.map +1 -0
- package/dist/services/export-validator.js +209 -0
- package/dist/services/export-validator.js.map +1 -0
- package/dist/services/fastlane-config-generator.d.ts +17 -0
- package/dist/services/fastlane-config-generator.d.ts.map +1 -0
- package/dist/services/fastlane-config-generator.js +343 -0
- package/dist/services/fastlane-config-generator.js.map +1 -0
- package/dist/services/fastlane-language-mapper.d.ts +33 -0
- package/dist/services/fastlane-language-mapper.d.ts.map +1 -0
- package/dist/services/fastlane-language-mapper.js +167 -0
- package/dist/services/fastlane-language-mapper.js.map +1 -0
- package/dist/services/screenshot-order.d.ts +41 -0
- package/dist/services/screenshot-order.d.ts.map +1 -0
- package/dist/services/screenshot-order.js +211 -0
- package/dist/services/screenshot-order.js.map +1 -0
- package/dist/services/screenshot-organizer.d.ts +44 -0
- package/dist/services/screenshot-organizer.d.ts.map +1 -0
- package/dist/services/screenshot-organizer.js +234 -0
- package/dist/services/screenshot-organizer.js.map +1 -0
- package/dist/templates/registry.d.ts +73 -0
- package/dist/templates/registry.d.ts.map +1 -0
- package/dist/templates/registry.js +724 -0
- package/dist/templates/registry.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/validation.d.ts +36 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +143 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,11 +8,15 @@ export interface CaptionBoxConfig {
|
|
|
8
8
|
lineHeight?: number;
|
|
9
9
|
minHeight?: number;
|
|
10
10
|
maxHeight?: number;
|
|
11
|
+
verticalAlign?: 'top' | 'center';
|
|
12
|
+
marginTop?: number;
|
|
13
|
+
marginBottom?: number;
|
|
11
14
|
}
|
|
12
15
|
export interface CaptionBackgroundConfig {
|
|
13
16
|
color?: string;
|
|
14
17
|
opacity?: number;
|
|
15
18
|
padding?: number;
|
|
19
|
+
sideMargin?: number;
|
|
16
20
|
}
|
|
17
21
|
export interface CaptionBorderConfig {
|
|
18
22
|
color?: string;
|
|
@@ -54,6 +58,17 @@ export interface DeviceConfig extends DeviceStyleConfig {
|
|
|
54
58
|
fit?: 'cover' | 'contain' | 'fill' | 'scale-down';
|
|
55
59
|
warnOnMismatch?: boolean;
|
|
56
60
|
};
|
|
61
|
+
captionBackground?: {
|
|
62
|
+
color?: string;
|
|
63
|
+
opacity?: number;
|
|
64
|
+
padding?: number;
|
|
65
|
+
sideMargin?: number;
|
|
66
|
+
};
|
|
67
|
+
captionBorder?: {
|
|
68
|
+
color?: string;
|
|
69
|
+
width?: number;
|
|
70
|
+
radius?: number;
|
|
71
|
+
};
|
|
57
72
|
}
|
|
58
73
|
export interface WatchConfig {
|
|
59
74
|
directories?: string[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;CACnF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared validation utilities for command security
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Sanitize and validate device names
|
|
6
|
+
*/
|
|
7
|
+
export declare function sanitizeDevices(devices: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Sanitize and validate language codes
|
|
10
|
+
*/
|
|
11
|
+
export declare function sanitizeLanguages(langs: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Sanitize file paths
|
|
14
|
+
*/
|
|
15
|
+
export declare function sanitizePath(outputPath: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Validate template ID against registry
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateTemplateId(templateId: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Sanitize and validate device array
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateDeviceArray(devices: string[]): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Sanitize caption text
|
|
26
|
+
*/
|
|
27
|
+
export declare function sanitizeCaption(caption: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Validate JSON string
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateJson(jsonString: string): any;
|
|
32
|
+
/**
|
|
33
|
+
* Validate command arguments array length
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateArguments(args: string[]): void;
|
|
36
|
+
//# 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;AAYH;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQ9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAgB/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAWpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAYtD"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared validation utilities for command security
|
|
3
|
+
*/
|
|
4
|
+
import { templates } from '../templates/registry.js';
|
|
5
|
+
// Maximum lengths to prevent DoS
|
|
6
|
+
const MAX_DEVICE_LIST_LENGTH = 100;
|
|
7
|
+
const MAX_LANGUAGE_LIST_LENGTH = 200;
|
|
8
|
+
const MAX_PATH_LENGTH = 500;
|
|
9
|
+
const MAX_CAPTION_LENGTH = 500;
|
|
10
|
+
const MAX_DEVICES = 10;
|
|
11
|
+
const MAX_LANGUAGES = 30;
|
|
12
|
+
/**
|
|
13
|
+
* Sanitize and validate device names
|
|
14
|
+
*/
|
|
15
|
+
export function sanitizeDevices(devices) {
|
|
16
|
+
// Bounds checking - prevent DoS
|
|
17
|
+
if (devices.length > MAX_DEVICE_LIST_LENGTH) {
|
|
18
|
+
throw new Error('Device list too long');
|
|
19
|
+
}
|
|
20
|
+
// Only allow alphanumeric characters, commas, and hyphens
|
|
21
|
+
const sanitized = devices.replace(/[^a-zA-Z0-9,_-]/g, '');
|
|
22
|
+
// Validate each device is in allowed list
|
|
23
|
+
const validDevices = ['iphone', 'ipad', 'watch', 'mac'];
|
|
24
|
+
const deviceList = sanitized.split(',').map(d => d.trim().toLowerCase());
|
|
25
|
+
// Limit array size to prevent DoS
|
|
26
|
+
if (deviceList.length > MAX_DEVICES) {
|
|
27
|
+
throw new Error(`Too many devices specified (max ${MAX_DEVICES})`);
|
|
28
|
+
}
|
|
29
|
+
const validated = deviceList.filter(d => validDevices.includes(d));
|
|
30
|
+
if (validated.length === 0) {
|
|
31
|
+
throw new Error('No valid devices specified');
|
|
32
|
+
}
|
|
33
|
+
return validated.join(',');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Sanitize and validate language codes
|
|
37
|
+
*/
|
|
38
|
+
export function sanitizeLanguages(langs) {
|
|
39
|
+
// Bounds checking - prevent DoS
|
|
40
|
+
if (langs.length > MAX_LANGUAGE_LIST_LENGTH) {
|
|
41
|
+
throw new Error('Language list too long');
|
|
42
|
+
}
|
|
43
|
+
// Only allow language codes (2-3 letters, optional country code)
|
|
44
|
+
const sanitized = langs.replace(/[^a-zA-Z,_-]/g, '');
|
|
45
|
+
// Basic validation for language codes
|
|
46
|
+
const langList = sanitized.split(',').map(l => l.trim().toLowerCase());
|
|
47
|
+
// Limit array size to prevent DoS
|
|
48
|
+
if (langList.length > MAX_LANGUAGES) {
|
|
49
|
+
throw new Error(`Too many languages specified (max ${MAX_LANGUAGES})`);
|
|
50
|
+
}
|
|
51
|
+
const validated = langList.filter(l => /^[a-z]{2,3}(-[a-z]{2})?$/.test(l));
|
|
52
|
+
if (validated.length === 0) {
|
|
53
|
+
throw new Error('No valid language codes specified');
|
|
54
|
+
}
|
|
55
|
+
return validated.join(',');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Sanitize file paths
|
|
59
|
+
*/
|
|
60
|
+
export function sanitizePath(outputPath) {
|
|
61
|
+
// Bounds checking - prevent DoS
|
|
62
|
+
if (outputPath.length > MAX_PATH_LENGTH) {
|
|
63
|
+
throw new Error('Path too long');
|
|
64
|
+
}
|
|
65
|
+
// Remove any dangerous characters from paths
|
|
66
|
+
// Allow only alphanumeric, spaces, hyphens, underscores, dots, and forward slashes
|
|
67
|
+
const sanitized = outputPath.replace(/[^a-zA-Z0-9 \-_./]/g, '');
|
|
68
|
+
// Prevent directory traversal
|
|
69
|
+
if (sanitized.includes('..')) {
|
|
70
|
+
throw new Error('Directory traversal not allowed');
|
|
71
|
+
}
|
|
72
|
+
return sanitized;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Validate template ID against registry
|
|
76
|
+
*/
|
|
77
|
+
export function validateTemplateId(templateId) {
|
|
78
|
+
// Prevent excessively long template IDs
|
|
79
|
+
if (templateId.length > 50) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
// Only accept known template IDs
|
|
83
|
+
return templates.some((t) => t.id === templateId);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Sanitize and validate device array
|
|
87
|
+
*/
|
|
88
|
+
export function validateDeviceArray(devices) {
|
|
89
|
+
// Limit array size
|
|
90
|
+
if (devices.length > MAX_DEVICES) {
|
|
91
|
+
throw new Error(`Too many devices specified (max ${MAX_DEVICES})`);
|
|
92
|
+
}
|
|
93
|
+
const validDevices = ['iphone', 'ipad', 'watch', 'mac'];
|
|
94
|
+
const validated = devices
|
|
95
|
+
.map(d => d.toLowerCase())
|
|
96
|
+
.filter(d => validDevices.includes(d));
|
|
97
|
+
if (validated.length === 0) {
|
|
98
|
+
throw new Error('No valid devices in array');
|
|
99
|
+
}
|
|
100
|
+
return validated;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Sanitize caption text
|
|
104
|
+
*/
|
|
105
|
+
export function sanitizeCaption(caption) {
|
|
106
|
+
// Bounds checking
|
|
107
|
+
if (caption.length > MAX_CAPTION_LENGTH) {
|
|
108
|
+
throw new Error('Caption too long');
|
|
109
|
+
}
|
|
110
|
+
// Remove control characters but preserve newlines (0x0A) and tabs (0x09)
|
|
111
|
+
return caption.replace(/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/g, '');
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Validate JSON string
|
|
115
|
+
*/
|
|
116
|
+
export function validateJson(jsonString) {
|
|
117
|
+
// Bounds checking
|
|
118
|
+
if (jsonString.length > 10000) {
|
|
119
|
+
throw new Error('JSON string too long');
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
return JSON.parse(jsonString);
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
throw new Error('Invalid JSON');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate command arguments array length
|
|
130
|
+
*/
|
|
131
|
+
export function validateArguments(args) {
|
|
132
|
+
// Prevent excessive arguments (DoS)
|
|
133
|
+
if (args.length > 100) {
|
|
134
|
+
throw new Error('Too many arguments');
|
|
135
|
+
}
|
|
136
|
+
// Check each argument length
|
|
137
|
+
for (const arg of args) {
|
|
138
|
+
if (arg.length > 1000) {
|
|
139
|
+
throw new Error('Argument too long');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appshot-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Generate App Store–ready screenshots with frames, gradients, and captions",
|
|
5
5
|
"bin": {
|
|
6
6
|
"appshot": "bin/appshot.js"
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"test:visual": "vitest run tests/visual",
|
|
19
19
|
"prepare": "npm run build",
|
|
20
20
|
"clean": "rm -rf final/",
|
|
21
|
-
"clean:all": "rm -rf final/ dist/ .appshot/"
|
|
21
|
+
"clean:all": "rm -rf final/ dist/ .appshot/",
|
|
22
|
+
"samples": "bash template-samples/scripts/generate-all.sh"
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|
|
24
25
|
"@inquirer/prompts": "^7.8.3",
|