"Success is 1% inspiration, 98% perspiration and 2% attention to detail." - Phil Dunphy

type Requirements = { essence: Emoji[] }

type DevWebsite = { typescript: boolean }

interface IWebsite {

url: string

visit: () => WebPage

}


async function websitePromise({ essence }: Requirements): Promise<IWebsite> {

return await start(Gatsby)

.then((dev: DevWebsite) =>

pipe(

addStyle(styled-components),

useFont(Fira Code),

addCodeIcons(vscode-icons),

addAdobeIcons(Graphiqa Studio),

prettifyCodeUsing(Prettier),

makeCodeImagesUsing(Carbon),

useAnimationLibraries(GSAP, react-gsap, gatsby-plugin-transitions),

sprinkleWith(essence),

deployUsing(gh-pages)

)(dev)

)

}


websitePromise({ essence: [ ❤️, ✨, 🎆 ] })

.then((website: IWebsite) =>

website.visit())

)