zammy 1.2.0 → 1.3.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/README.md +328 -214
- package/SECURITY.md +57 -0
- package/assets/zammy.gif +0 -0
- package/dist/index.js +3257 -450
- package/package.json +10 -3
- package/packages/plugins/docker/README.md +141 -0
- package/packages/plugins/docker/dist/index.d.ts +46 -0
- package/packages/plugins/docker/dist/index.d.ts.map +1 -0
- package/packages/plugins/docker/dist/index.js +402 -0
- package/packages/plugins/docker/dist/index.js.map +1 -0
- package/packages/plugins/docker/package.json +28 -0
- package/packages/plugins/docker/zammy-plugin.json +16 -0
- package/packages/plugins/faker/README.md +65 -0
- package/packages/plugins/faker/dist/index.d.ts +43 -0
- package/packages/plugins/faker/dist/index.d.ts.map +1 -0
- package/packages/plugins/faker/dist/index.js +349 -0
- package/packages/plugins/faker/dist/index.js.map +1 -0
- package/packages/plugins/faker/package.json +28 -0
- package/packages/plugins/faker/zammy-plugin.json +14 -0
- package/packages/plugins/network/README.md +126 -0
- package/packages/plugins/network/dist/index.d.ts +45 -0
- package/packages/plugins/network/dist/index.d.ts.map +1 -0
- package/packages/plugins/network/dist/index.js +406 -0
- package/packages/plugins/network/dist/index.js.map +1 -0
- package/packages/plugins/network/package.json +28 -0
- package/packages/plugins/network/zammy-plugin.json +17 -0
- package/packages/plugins/port/README.md +74 -0
- package/packages/plugins/port/dist/index.d.ts +47 -0
- package/packages/plugins/port/dist/index.d.ts.map +1 -0
- package/packages/plugins/port/dist/index.js +331 -0
- package/packages/plugins/port/dist/index.js.map +1 -0
- package/packages/plugins/port/package.json +28 -0
- package/packages/plugins/port/zammy-plugin.json +16 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-docker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Docker container management with pretty output",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": ["dist", "zammy-plugin.json", "README.md"],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"dev": "tsc --watch"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["zammy-plugin", "zammy", "cli", "docker", "containers", "devops", "container-management"],
|
|
14
|
+
"author": "Aayush Adhikari",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/aayushadhikari7/zammy-cli.git",
|
|
19
|
+
"directory": "packages/plugins/docker"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/aayushadhikari7/zammy-cli/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/aayushadhikari7/zammy-cli/tree/main/packages/plugins/docker#readme",
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"typescript": "^5.3.0"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-docker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"displayName": "Docker",
|
|
5
|
+
"description": "Docker container management with pretty output",
|
|
6
|
+
"author": "Zammy CLI",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"commands": ["docker"],
|
|
10
|
+
"zammy": {
|
|
11
|
+
"minVersion": "1.2.0"
|
|
12
|
+
},
|
|
13
|
+
"permissions": {
|
|
14
|
+
"shell": true
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# zammy-plugin-faker
|
|
2
|
+
|
|
3
|
+
Generate fake data for testing and development.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
/plugin install zammy-plugin-faker
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### `/fake <type> [options]`
|
|
14
|
+
|
|
15
|
+
Generate various types of fake data.
|
|
16
|
+
|
|
17
|
+
| Type | Description | Example Output |
|
|
18
|
+
|------|-------------|----------------|
|
|
19
|
+
| `email` | Random email address | `john.smith42@gmail.com` |
|
|
20
|
+
| `name` | Random full name | `John Smith` |
|
|
21
|
+
| `phone` | Random phone number | `(555) 123-4567` |
|
|
22
|
+
| `address` | Random street address | `123 Oak St, Portland, OR 97201` |
|
|
23
|
+
| `uuid` | Random UUID | `550e8400-e29b-41d4-a716-446655440000` |
|
|
24
|
+
| `card` | Fake credit card (Luhn-valid) | `4532 1234 5678 9012` |
|
|
25
|
+
| `company` | Random company name | `Tech Solutions` |
|
|
26
|
+
| `date` | Random date | `March 15, 2023` |
|
|
27
|
+
| `lorem [n]` | Lorem ipsum (n sentences) | Lorem ipsum dolor sit amet... |
|
|
28
|
+
| `json <template>` | JSON with placeholders | See below |
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Generate a random email
|
|
34
|
+
/fake email
|
|
35
|
+
|
|
36
|
+
# Generate 5 sentences of lorem ipsum
|
|
37
|
+
/fake lorem 5
|
|
38
|
+
|
|
39
|
+
# Generate JSON with fake data
|
|
40
|
+
/fake json {"user": "{{name}}", "email": "{{email}}", "id": "{{uuid}}"}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## JSON Placeholders
|
|
44
|
+
|
|
45
|
+
When using `/fake json`, you can use these placeholders:
|
|
46
|
+
|
|
47
|
+
- `{{name}}` - Full name
|
|
48
|
+
- `{{firstName}}` - First name only
|
|
49
|
+
- `{{lastName}}` - Last name only
|
|
50
|
+
- `{{email}}` - Email address
|
|
51
|
+
- `{{phone}}` - Phone number
|
|
52
|
+
- `{{address}}` - Full address
|
|
53
|
+
- `{{street}}` - Street only
|
|
54
|
+
- `{{city}}` - City only
|
|
55
|
+
- `{{state}}` - State abbreviation
|
|
56
|
+
- `{{zip}}` - ZIP code
|
|
57
|
+
- `{{uuid}}` - UUID
|
|
58
|
+
- `{{company}}` - Company name
|
|
59
|
+
- `{{date}}` - ISO date
|
|
60
|
+
- `{{number}}` - Random number (1-1000)
|
|
61
|
+
- `{{bool}}` - true or false
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
MIT
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
interface PluginAPI {
|
|
2
|
+
registerCommand(command: Command): void;
|
|
3
|
+
ui: {
|
|
4
|
+
theme: {
|
|
5
|
+
primary: (text: string) => string;
|
|
6
|
+
secondary: (text: string) => string;
|
|
7
|
+
success: (text: string) => string;
|
|
8
|
+
warning: (text: string) => string;
|
|
9
|
+
error: (text: string) => string;
|
|
10
|
+
dim: (text: string) => string;
|
|
11
|
+
gradient: (text: string) => string;
|
|
12
|
+
};
|
|
13
|
+
symbols: {
|
|
14
|
+
check: string;
|
|
15
|
+
cross: string;
|
|
16
|
+
warning: string;
|
|
17
|
+
info: string;
|
|
18
|
+
sparkles: string;
|
|
19
|
+
arrow: string;
|
|
20
|
+
};
|
|
21
|
+
box: (content: string, options?: {
|
|
22
|
+
title?: string;
|
|
23
|
+
padding?: number;
|
|
24
|
+
}) => string;
|
|
25
|
+
};
|
|
26
|
+
log: {
|
|
27
|
+
info: (message: string) => void;
|
|
28
|
+
};
|
|
29
|
+
context: {
|
|
30
|
+
pluginName: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
interface Command {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
usage: string;
|
|
37
|
+
execute: (args: string[]) => Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
declare const plugin: {
|
|
40
|
+
activate(api: PluginAPI): void;
|
|
41
|
+
};
|
|
42
|
+
export default plugin;
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,UAAU,SAAS;IACjB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,EAAE,EAAE;QACF,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YAClC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YAClC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YAChC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;YAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;SACpC,CAAC;QACF,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAC;KAClF,CAAC;IACF,GAAG,EAAE;QACH,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACjC,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAoQD,QAAA,MAAM,MAAM;kBACI,SAAS;CAqJxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
// Zammy Plugin: Faker
|
|
2
|
+
// Generate fake data for testing and development
|
|
3
|
+
// ============ DATA POOLS ============
|
|
4
|
+
const FIRST_NAMES = [
|
|
5
|
+
'James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer', 'Michael', 'Linda',
|
|
6
|
+
'William', 'Elizabeth', 'David', 'Barbara', 'Richard', 'Susan', 'Joseph', 'Jessica',
|
|
7
|
+
'Thomas', 'Sarah', 'Charles', 'Karen', 'Christopher', 'Lisa', 'Daniel', 'Nancy',
|
|
8
|
+
'Matthew', 'Betty', 'Anthony', 'Margaret', 'Mark', 'Sandra', 'Donald', 'Ashley',
|
|
9
|
+
'Steven', 'Kimberly', 'Paul', 'Emily', 'Andrew', 'Donna', 'Joshua', 'Michelle',
|
|
10
|
+
'Aiden', 'Olivia', 'Ethan', 'Emma', 'Liam', 'Ava', 'Noah', 'Sophia', 'Lucas', 'Mia'
|
|
11
|
+
];
|
|
12
|
+
const LAST_NAMES = [
|
|
13
|
+
'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',
|
|
14
|
+
'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',
|
|
15
|
+
'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin', 'Lee', 'Perez', 'Thompson',
|
|
16
|
+
'White', 'Harris', 'Sanchez', 'Clark', 'Ramirez', 'Lewis', 'Robinson', 'Walker',
|
|
17
|
+
'Young', 'Allen', 'King', 'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores'
|
|
18
|
+
];
|
|
19
|
+
const EMAIL_DOMAINS = [
|
|
20
|
+
'gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com', 'icloud.com',
|
|
21
|
+
'protonmail.com', 'example.com', 'test.com', 'mail.com', 'email.com'
|
|
22
|
+
];
|
|
23
|
+
const STREET_NAMES = [
|
|
24
|
+
'Main', 'Oak', 'Maple', 'Cedar', 'Pine', 'Elm', 'Washington', 'Lake',
|
|
25
|
+
'Hill', 'Park', 'Forest', 'River', 'Spring', 'Valley', 'Sunset', 'Broadway'
|
|
26
|
+
];
|
|
27
|
+
const STREET_TYPES = ['St', 'Ave', 'Blvd', 'Dr', 'Ln', 'Rd', 'Way', 'Ct', 'Pl'];
|
|
28
|
+
const CITIES = [
|
|
29
|
+
'New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix', 'Philadelphia',
|
|
30
|
+
'San Antonio', 'San Diego', 'Dallas', 'San Jose', 'Austin', 'Jacksonville',
|
|
31
|
+
'Fort Worth', 'Columbus', 'Charlotte', 'Seattle', 'Denver', 'Boston', 'Portland'
|
|
32
|
+
];
|
|
33
|
+
const STATES = [
|
|
34
|
+
{ name: 'California', abbr: 'CA' }, { name: 'Texas', abbr: 'TX' },
|
|
35
|
+
{ name: 'Florida', abbr: 'FL' }, { name: 'New York', abbr: 'NY' },
|
|
36
|
+
{ name: 'Pennsylvania', abbr: 'PA' }, { name: 'Illinois', abbr: 'IL' },
|
|
37
|
+
{ name: 'Ohio', abbr: 'OH' }, { name: 'Georgia', abbr: 'GA' },
|
|
38
|
+
{ name: 'North Carolina', abbr: 'NC' }, { name: 'Michigan', abbr: 'MI' },
|
|
39
|
+
{ name: 'Washington', abbr: 'WA' }, { name: 'Arizona', abbr: 'AZ' },
|
|
40
|
+
{ name: 'Massachusetts', abbr: 'MA' }, { name: 'Colorado', abbr: 'CO' }
|
|
41
|
+
];
|
|
42
|
+
const COMPANY_PREFIXES = [
|
|
43
|
+
'Tech', 'Global', 'Innovative', 'Premier', 'Elite', 'Advanced', 'Dynamic',
|
|
44
|
+
'Strategic', 'Creative', 'Digital', 'Smart', 'Next', 'Pro', 'Prime', 'Alpha'
|
|
45
|
+
];
|
|
46
|
+
const COMPANY_SUFFIXES = [
|
|
47
|
+
'Solutions', 'Systems', 'Technologies', 'Industries', 'Enterprises', 'Corp',
|
|
48
|
+
'Inc', 'Labs', 'Group', 'Partners', 'Dynamics', 'Innovations', 'Services', 'Co'
|
|
49
|
+
];
|
|
50
|
+
const LOREM_WORDS = [
|
|
51
|
+
'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing', 'elit',
|
|
52
|
+
'sed', 'do', 'eiusmod', 'tempor', 'incididunt', 'ut', 'labore', 'et', 'dolore',
|
|
53
|
+
'magna', 'aliqua', 'enim', 'ad', 'minim', 'veniam', 'quis', 'nostrud',
|
|
54
|
+
'exercitation', 'ullamco', 'laboris', 'nisi', 'aliquip', 'ex', 'ea', 'commodo',
|
|
55
|
+
'consequat', 'duis', 'aute', 'irure', 'in', 'reprehenderit', 'voluptate',
|
|
56
|
+
'velit', 'esse', 'cillum', 'fugiat', 'nulla', 'pariatur', 'excepteur', 'sint',
|
|
57
|
+
'occaecat', 'cupidatat', 'non', 'proident', 'sunt', 'culpa', 'qui', 'officia',
|
|
58
|
+
'deserunt', 'mollit', 'anim', 'id', 'est', 'laborum'
|
|
59
|
+
];
|
|
60
|
+
// ============ GENERATORS ============
|
|
61
|
+
function randomItem(arr) {
|
|
62
|
+
return arr[Math.floor(Math.random() * arr.length)];
|
|
63
|
+
}
|
|
64
|
+
function randomInt(min, max) {
|
|
65
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
66
|
+
}
|
|
67
|
+
function generateName() {
|
|
68
|
+
const firstName = randomItem(FIRST_NAMES);
|
|
69
|
+
const lastName = randomItem(LAST_NAMES);
|
|
70
|
+
return { firstName, lastName, fullName: `${firstName} ${lastName}` };
|
|
71
|
+
}
|
|
72
|
+
function generateEmail(name) {
|
|
73
|
+
const { firstName, lastName } = name || generateName();
|
|
74
|
+
const domain = randomItem(EMAIL_DOMAINS);
|
|
75
|
+
const separators = ['.', '_', ''];
|
|
76
|
+
const separator = randomItem(separators);
|
|
77
|
+
const suffix = Math.random() > 0.5 ? randomInt(1, 99).toString() : '';
|
|
78
|
+
return `${firstName.toLowerCase()}${separator}${lastName.toLowerCase()}${suffix}@${domain}`;
|
|
79
|
+
}
|
|
80
|
+
function generatePhone() {
|
|
81
|
+
const areaCode = randomInt(200, 999);
|
|
82
|
+
const prefix = randomInt(200, 999);
|
|
83
|
+
const line = randomInt(1000, 9999);
|
|
84
|
+
return `(${areaCode}) ${prefix}-${line}`;
|
|
85
|
+
}
|
|
86
|
+
function generateAddress() {
|
|
87
|
+
const number = randomInt(100, 9999);
|
|
88
|
+
const streetName = randomItem(STREET_NAMES);
|
|
89
|
+
const streetType = randomItem(STREET_TYPES);
|
|
90
|
+
const street = `${number} ${streetName} ${streetType}`;
|
|
91
|
+
const city = randomItem(CITIES);
|
|
92
|
+
const stateInfo = randomItem(STATES);
|
|
93
|
+
const zip = randomInt(10000, 99999).toString();
|
|
94
|
+
return {
|
|
95
|
+
street,
|
|
96
|
+
city,
|
|
97
|
+
state: stateInfo.name,
|
|
98
|
+
stateAbbr: stateInfo.abbr,
|
|
99
|
+
zip,
|
|
100
|
+
full: `${street}, ${city}, ${stateInfo.abbr} ${zip}`
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function generateUUID() {
|
|
104
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
105
|
+
const r = Math.random() * 16 | 0;
|
|
106
|
+
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
107
|
+
return v.toString(16);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function generateCreditCard() {
|
|
111
|
+
const types = [
|
|
112
|
+
{ name: 'Visa', prefix: '4', length: 16 },
|
|
113
|
+
{ name: 'Mastercard', prefix: '5', length: 16 },
|
|
114
|
+
{ name: 'Amex', prefix: '37', length: 15 },
|
|
115
|
+
{ name: 'Discover', prefix: '6011', length: 16 }
|
|
116
|
+
];
|
|
117
|
+
const type = randomItem(types);
|
|
118
|
+
// Generate card number with Luhn algorithm
|
|
119
|
+
let digits = type.prefix.split('').map(Number);
|
|
120
|
+
while (digits.length < type.length - 1) {
|
|
121
|
+
digits.push(randomInt(0, 9));
|
|
122
|
+
}
|
|
123
|
+
// Calculate Luhn check digit
|
|
124
|
+
const reversed = [...digits].reverse();
|
|
125
|
+
let sum = 0;
|
|
126
|
+
for (let i = 0; i < reversed.length; i++) {
|
|
127
|
+
let digit = reversed[i];
|
|
128
|
+
if (i % 2 === 0) {
|
|
129
|
+
digit *= 2;
|
|
130
|
+
if (digit > 9)
|
|
131
|
+
digit -= 9;
|
|
132
|
+
}
|
|
133
|
+
sum += digit;
|
|
134
|
+
}
|
|
135
|
+
const checkDigit = (10 - (sum % 10)) % 10;
|
|
136
|
+
digits.push(checkDigit);
|
|
137
|
+
const number = digits.join('');
|
|
138
|
+
const month = randomInt(1, 12).toString().padStart(2, '0');
|
|
139
|
+
const year = (new Date().getFullYear() + randomInt(1, 5)).toString().slice(-2);
|
|
140
|
+
const cvv = type.name === 'Amex'
|
|
141
|
+
? randomInt(1000, 9999).toString()
|
|
142
|
+
: randomInt(100, 999).toString();
|
|
143
|
+
// Format number with spaces
|
|
144
|
+
const formatted = type.name === 'Amex'
|
|
145
|
+
? `${number.slice(0, 4)} ${number.slice(4, 10)} ${number.slice(10)}`
|
|
146
|
+
: `${number.slice(0, 4)} ${number.slice(4, 8)} ${number.slice(8, 12)} ${number.slice(12)}`;
|
|
147
|
+
return {
|
|
148
|
+
number,
|
|
149
|
+
expiry: `${month}/${year}`,
|
|
150
|
+
cvv,
|
|
151
|
+
type: type.name,
|
|
152
|
+
formatted
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
function generateCompany() {
|
|
156
|
+
const prefix = randomItem(COMPANY_PREFIXES);
|
|
157
|
+
const suffix = randomItem(COMPANY_SUFFIXES);
|
|
158
|
+
return `${prefix} ${suffix}`;
|
|
159
|
+
}
|
|
160
|
+
function generateDate(start = new Date(2000, 0, 1), end = new Date()) {
|
|
161
|
+
const timestamp = start.getTime() + Math.random() * (end.getTime() - start.getTime());
|
|
162
|
+
const date = new Date(timestamp);
|
|
163
|
+
return {
|
|
164
|
+
date,
|
|
165
|
+
iso: date.toISOString(),
|
|
166
|
+
formatted: date.toLocaleDateString('en-US', {
|
|
167
|
+
year: 'numeric',
|
|
168
|
+
month: 'long',
|
|
169
|
+
day: 'numeric'
|
|
170
|
+
})
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function generateLorem(sentences = 3) {
|
|
174
|
+
const result = [];
|
|
175
|
+
for (let i = 0; i < sentences; i++) {
|
|
176
|
+
const wordCount = randomInt(8, 15);
|
|
177
|
+
const words = [];
|
|
178
|
+
for (let j = 0; j < wordCount; j++) {
|
|
179
|
+
words.push(randomItem(LOREM_WORDS));
|
|
180
|
+
}
|
|
181
|
+
words[0] = words[0].charAt(0).toUpperCase() + words[0].slice(1);
|
|
182
|
+
result.push(words.join(' ') + '.');
|
|
183
|
+
}
|
|
184
|
+
return result.join(' ');
|
|
185
|
+
}
|
|
186
|
+
function generateJson(template) {
|
|
187
|
+
const replacements = {
|
|
188
|
+
'{{name}}': () => generateName().fullName,
|
|
189
|
+
'{{firstName}}': () => generateName().firstName,
|
|
190
|
+
'{{lastName}}': () => generateName().lastName,
|
|
191
|
+
'{{email}}': () => generateEmail(),
|
|
192
|
+
'{{phone}}': () => generatePhone(),
|
|
193
|
+
'{{address}}': () => generateAddress().full,
|
|
194
|
+
'{{street}}': () => generateAddress().street,
|
|
195
|
+
'{{city}}': () => generateAddress().city,
|
|
196
|
+
'{{state}}': () => generateAddress().stateAbbr,
|
|
197
|
+
'{{zip}}': () => generateAddress().zip,
|
|
198
|
+
'{{uuid}}': () => generateUUID(),
|
|
199
|
+
'{{company}}': () => generateCompany(),
|
|
200
|
+
'{{date}}': () => generateDate().iso,
|
|
201
|
+
'{{number}}': () => randomInt(1, 1000).toString(),
|
|
202
|
+
'{{bool}}': () => (Math.random() > 0.5).toString(),
|
|
203
|
+
};
|
|
204
|
+
let result = template;
|
|
205
|
+
for (const [placeholder, generator] of Object.entries(replacements)) {
|
|
206
|
+
const regex = new RegExp(placeholder.replace(/[{}]/g, '\\$&'), 'g');
|
|
207
|
+
result = result.replace(regex, generator);
|
|
208
|
+
}
|
|
209
|
+
return result;
|
|
210
|
+
}
|
|
211
|
+
// ============ PLUGIN ============
|
|
212
|
+
const plugin = {
|
|
213
|
+
activate(api) {
|
|
214
|
+
const { theme, symbols } = api.ui;
|
|
215
|
+
api.registerCommand({
|
|
216
|
+
name: 'fake',
|
|
217
|
+
description: 'Generate fake data for testing',
|
|
218
|
+
usage: '/fake <type> [options]\n\n Types: email, name, phone, address, uuid, card, company, date, lorem, json',
|
|
219
|
+
async execute(args) {
|
|
220
|
+
const type = args[0]?.toLowerCase();
|
|
221
|
+
if (!type) {
|
|
222
|
+
console.log('');
|
|
223
|
+
console.log(` ${symbols.sparkles} ${theme.gradient('FAKE DATA GENERATOR')}`);
|
|
224
|
+
console.log('');
|
|
225
|
+
console.log(` ${theme.dim('Usage:')} /fake <type> [options]`);
|
|
226
|
+
console.log('');
|
|
227
|
+
console.log(` ${theme.dim('Types:')}`);
|
|
228
|
+
console.log(` ${theme.primary('email')} ${theme.dim('Random email address')}`);
|
|
229
|
+
console.log(` ${theme.primary('name')} ${theme.dim('Random full name')}`);
|
|
230
|
+
console.log(` ${theme.primary('phone')} ${theme.dim('Random phone number')}`);
|
|
231
|
+
console.log(` ${theme.primary('address')} ${theme.dim('Random street address')}`);
|
|
232
|
+
console.log(` ${theme.primary('uuid')} ${theme.dim('Random UUID')}`);
|
|
233
|
+
console.log(` ${theme.primary('card')} ${theme.dim('Fake credit card')}`);
|
|
234
|
+
console.log(` ${theme.primary('company')} ${theme.dim('Random company name')}`);
|
|
235
|
+
console.log(` ${theme.primary('date')} ${theme.dim('Random date')}`);
|
|
236
|
+
console.log(` ${theme.primary('lorem')} ${theme.dim('Lorem ipsum text')}`);
|
|
237
|
+
console.log(` ${theme.primary('json')} ${theme.dim('JSON with placeholders')}`);
|
|
238
|
+
console.log('');
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
console.log('');
|
|
242
|
+
switch (type) {
|
|
243
|
+
case 'email': {
|
|
244
|
+
const email = generateEmail();
|
|
245
|
+
console.log(` ${symbols.check} ${theme.success('Email:')} ${theme.primary(email)}`);
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
case 'name': {
|
|
249
|
+
const name = generateName();
|
|
250
|
+
console.log(` ${symbols.check} ${theme.success('Name:')} ${theme.primary(name.fullName)}`);
|
|
251
|
+
console.log(` ${theme.dim('First:')} ${name.firstName} ${theme.dim('Last:')} ${name.lastName}`);
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
case 'phone': {
|
|
255
|
+
const phone = generatePhone();
|
|
256
|
+
console.log(` ${symbols.check} ${theme.success('Phone:')} ${theme.primary(phone)}`);
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
case 'address': {
|
|
260
|
+
const addr = generateAddress();
|
|
261
|
+
console.log(` ${symbols.check} ${theme.success('Address:')}`);
|
|
262
|
+
console.log(` ${theme.primary(addr.street)}`);
|
|
263
|
+
console.log(` ${addr.city}, ${addr.stateAbbr} ${addr.zip}`);
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
case 'uuid': {
|
|
267
|
+
const uuid = generateUUID();
|
|
268
|
+
console.log(` ${symbols.check} ${theme.success('UUID:')} ${theme.primary(uuid)}`);
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
case 'card': {
|
|
272
|
+
const card = generateCreditCard();
|
|
273
|
+
console.log(` ${symbols.check} ${theme.success('Credit Card:')}`);
|
|
274
|
+
console.log(` ${theme.dim('Type:')} ${theme.primary(card.type)}`);
|
|
275
|
+
console.log(` ${theme.dim('Number:')} ${theme.primary(card.formatted)}`);
|
|
276
|
+
console.log(` ${theme.dim('Expiry:')} ${card.expiry} ${theme.dim('CVV:')} ${card.cvv}`);
|
|
277
|
+
console.log('');
|
|
278
|
+
console.log(` ${theme.warning(`${symbols.warning} For testing only - not a real card`)}`);
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
case 'company': {
|
|
282
|
+
const company = generateCompany();
|
|
283
|
+
console.log(` ${symbols.check} ${theme.success('Company:')} ${theme.primary(company)}`);
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
case 'date': {
|
|
287
|
+
const date = generateDate();
|
|
288
|
+
console.log(` ${symbols.check} ${theme.success('Date:')} ${theme.primary(date.formatted)}`);
|
|
289
|
+
console.log(` ${theme.dim('ISO:')} ${date.iso}`);
|
|
290
|
+
break;
|
|
291
|
+
}
|
|
292
|
+
case 'lorem': {
|
|
293
|
+
const count = parseInt(args[1]) || 3;
|
|
294
|
+
const text = generateLorem(count);
|
|
295
|
+
console.log(` ${symbols.check} ${theme.success(`Lorem Ipsum (${count} sentences):`)}`);
|
|
296
|
+
console.log('');
|
|
297
|
+
// Word wrap at ~60 chars
|
|
298
|
+
const words = text.split(' ');
|
|
299
|
+
let line = ' ';
|
|
300
|
+
for (const word of words) {
|
|
301
|
+
if (line.length + word.length > 65) {
|
|
302
|
+
console.log(line);
|
|
303
|
+
line = ' ';
|
|
304
|
+
}
|
|
305
|
+
line += word + ' ';
|
|
306
|
+
}
|
|
307
|
+
if (line.trim())
|
|
308
|
+
console.log(line);
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
case 'json': {
|
|
312
|
+
const template = args.slice(1).join(' ');
|
|
313
|
+
if (!template) {
|
|
314
|
+
console.log(` ${symbols.warning} ${theme.warning('Usage:')} /fake json <template>`);
|
|
315
|
+
console.log('');
|
|
316
|
+
console.log(` ${theme.dim('Example:')}`);
|
|
317
|
+
console.log(` /fake json {"name": "{{name}}", "email": "{{email}}"}`);
|
|
318
|
+
console.log('');
|
|
319
|
+
console.log(` ${theme.dim('Placeholders:')} {{name}}, {{email}}, {{phone}}, {{address}},`);
|
|
320
|
+
console.log(` {{uuid}}, {{company}}, {{date}}, {{number}}, {{bool}}`);
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
try {
|
|
324
|
+
const result = generateJson(template);
|
|
325
|
+
const parsed = JSON.parse(result);
|
|
326
|
+
const pretty = JSON.stringify(parsed, null, 2);
|
|
327
|
+
console.log(` ${symbols.check} ${theme.success('Generated JSON:')}`);
|
|
328
|
+
console.log('');
|
|
329
|
+
for (const line of pretty.split('\n')) {
|
|
330
|
+
console.log(` ${theme.primary(line)}`);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
console.log(` ${symbols.cross} ${theme.error('Invalid JSON template')}`);
|
|
335
|
+
}
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
default:
|
|
339
|
+
console.log(` ${symbols.cross} ${theme.error(`Unknown type: ${type}`)}`);
|
|
340
|
+
console.log(` ${theme.dim('Run /fake to see available types')}`);
|
|
341
|
+
}
|
|
342
|
+
console.log('');
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
api.log.info('Faker plugin activated');
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
export default plugin;
|
|
349
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-faker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Generate fake data for testing and development",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": ["dist", "zammy-plugin.json", "README.md"],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"dev": "tsc --watch"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["zammy-plugin", "zammy", "cli", "faker", "mock-data", "test-data"],
|
|
14
|
+
"author": "Aayush Adhikari",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/aayushadhikari7/zammy-cli.git",
|
|
19
|
+
"directory": "packages/plugins/faker"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/aayushadhikari7/zammy-cli/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/aayushadhikari7/zammy-cli/tree/main/packages/plugins/faker#readme",
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"typescript": "^5.3.0"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-faker",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"displayName": "Faker",
|
|
5
|
+
"description": "Generate fake data for testing and development",
|
|
6
|
+
"author": "Zammy CLI",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"commands": ["fake"],
|
|
10
|
+
"zammy": {
|
|
11
|
+
"minVersion": "1.2.0"
|
|
12
|
+
},
|
|
13
|
+
"permissions": {}
|
|
14
|
+
}
|