-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnewComponent.sh
38 lines (28 loc) · 940 Bytes
/
newComponent.sh
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
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 <ComponentName>"
exit 1
fi
ComponentName=$1
ComponentDirectory="src/components/$ComponentName"
# Создаем директорию
mkdir -p $ComponentDirectory
# Создаем файлы
touch "$ComponentDirectory/$ComponentName.tsx"
touch "$ComponentDirectory/$ComponentName.scss"
touch "$ComponentDirectory/index.d.ts"
# Вставляем код в index.d.ts
echo "export * from './$ComponentName';" > "$ComponentDirectory/index.d.ts"
# Вставляем код в .tsx
echo "import './$ComponentName.scss';
export const $ComponentName = () => {
return (
<div className=\"$ComponentName\">
$ComponentName
</div>
);
};" > "$ComponentDirectory/$ComponentName.tsx"
# Вставляем код в .scss
echo ".$ComponentName {
}" > "$ComponentDirectory/$ComponentName.scss"
echo "Component '$ComponentName' created successfully in '$ComponentDirectory'"