Hi all!
Welcome to the final blog for Google Summer of Code'2021
Vue 2
The approach initially used for Vue 2 was very similar to the approach used for React and Vue 3 package. This approach required the user to do an extra step in order to consume the icon library. It required the user to enter the following config in vue.config.js file:
This was caused because the final components that were being published dependent on runtime Compiler, as the components were non-rendered/non-built.
For fixing this issue, I switched to Rollup for building out the final package. Rollup also provides support for TypeScript which helped in making the package support TypeScript based Vue 2 projects.
Upon direct implementation, Rollup took around 25 to 26 minutes for building out the final package. This was being caused by TypeScript conversion, as Rollup converts each and every component's Type Declaration. To avoid this I implemented a script which made Rollup to convert one of the icon components Type Declaration and then copied the same Type Declaration for all the components as the props and interface used for each component is exactly the same. This helped us in reducing the build time to 5 to 6 minutes from 26 minutes.
EOS-icons Documentation
I have also updated the official docs page of Eos-icons. It now includes an in-depth documentation on "how to use Eos-icons" in a React, Vue 3 and Vue 2 based projects.
Future ideas
- Developing a npm package for Angular framework and React Native (highly being used for app development)
- Adding more props like skew
- More tests for checking component attributes after applying multiple props
- Creating a component in which the user can pass SVG and utilize the prop customization provided by eos-icons
- Adding a new section to EOS Icons website - docs for guiding the user with installation and usage process.
The past few months have been no less than magical! I had a lot of fun and learned a lot over this time duration, all because of the endless support of my awesome mentors. Google Summer of Code with the EOS community was by far the best experience. The guidance provided for setting up my development environment in a more proficient way to helping me solve complicated problems will surely help me in becoming a better developer. Will keep on contributing to EOS 💖