irongit
42 lines1.5 KBBourne Again Shell (bash)
1unset -f mc
2unalias mc 2>/dev/null
3mc() {
4 local compname=$1
5 if [[ ! -d "components" ]]; then
6 echo -e "\033[0;32mCreating components directory\033[0m"
7 mkdir components
8 fi
9 local compdir="components/$compname"
10 if [[ ! -d "$compdir" ]]; then
11 echo -e "\033[0;32mCreating $compdir directory\033[0m"
12 mkdir $compdir
13 fi
14 local compindex="components/$compname/index.ts"
15 if [[ ! -e "$compindex" ]]; then
16 echo -e "\033[0;32mCreating $compindex\033[0m"
17 echo "import $compname from './$compname';" > $compindex
18 echo "export default $compname;" >> $compdir/index.ts
19 fi
20 local compstyle="components/$compname/$compname.css"
21 if [[ ! -e "$compstyle" ]]; then
22 echo -e "\033[0;32mCreating $compstyle\033[0m"
23 echo ".$compname {" > $compstyle
24 echo "}" >> $compstyle
25 fi
26 local compfile="components/$compname/$compname.tsx"
27 if [[ ! -e "$compfile" ]]; then
28 echo -e "\033[0;32mCreating $compfile\033[0m"
29 echo "import React from 'react';" > $compfile
30 echo "import './$compname.css';" >> $compfile
31 echo "" >> $compfile
32 echo "const $compname: React.FC = () => {" >> $compfile
33 echo " return (" >> $compfile
34 echo " <div className=\"$compname\">" >> $compfile
35 echo " $compname" >> $compfile
36 echo " </div>" >> $compfile
37 echo " );" >> $compfile
38 echo "};" >> $compfile
39 echo "" >> $compfile
40 echo "export default $compname;" >> $compfile
41 fi
42}