You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As per the Google Doc report, I created, I wrote this at that time -
Ooni-components size is 3.5MB, very heavy. It doesn’t even say if it’s tree-shakeable or not. Checked using Bundlephobia
V0.4.7 - 3.5MB minified
V0.4.6 - 2.2MB minified
Our design system is using rebass components and we’re exporting almost every component of rebass. So, I thought of investigating what all components are really being used. Went through 100 files in explorer repo importing ooni-components. Most of them are using these 10 components from the design system.
Flex
Box
Container
Link
Heading
Text
Select
Label
Input
Button
Note - The same case is with ooni run and probe-desktop.
We can use a module builder tool like tsdx which provides typescript support, comes with storybook also, tree-shaking, jest for testing, prettier, rollup for bundling and many more.
We can also organize our storybook in this manner.
So, what I want to propose is we move to a new repo - @ooni/design-system which is setup using tsdx, as it'll solve a lot of problems for us - a webpack bundler, tree shaking, typescript, code-redability.
*Sarath's reply -
1. Typescript support
We do want to move as much as possible to Typescript. This project is a good place to start shifting towards Typescript.
2. Package size
This is the most urgent issue to address in this project. Theoretically, it should be tree-shakable. The problem is with the way it is bundled. Simply using webpack/rollup/parcel itself should solve a big part of this problem.
3. Rebass component problem
The exporting code in components/index.js and components/components.js is a big mess. Most of those components imported and re-exported from rebass don't even exist in rebass anymore.
4. tsdx suggestion
tsdx looks like a promising tool that can help maintain the project. We already use jest, eslint and storybook, this can add typescript and bundling. Good suggestion!
The text was updated successfully, but these errors were encountered:
As per the Google Doc report, I created, I wrote this at that time -
Ooni-components size is 3.5MB, very heavy. It doesn’t even say if it’s tree-shakeable or not. Checked using Bundlephobia
V0.4.7 - 3.5MB minified
V0.4.6 - 2.2MB minified
Our design system is using rebass components and we’re exporting almost every component of rebass. So, I thought of investigating what all components are really being used. Went through 100 files in explorer repo importing ooni-components. Most of them are using these 10 components from the design system.
Flex
Box
Container
Link
Heading
Text
Select
Label
Input
Button
Note - The same case is with ooni run and probe-desktop.
We can use a module builder tool like tsdx which provides typescript support, comes with storybook also, tree-shaking, jest for testing, prettier, rollup for bundling and many more.
We can also organize our storybook in this manner.
As a added bonus, it also got Typescript support.
So, what I want to propose is we move to a new repo - @ooni/design-system which is setup using tsdx, as it'll solve a lot of problems for us - a webpack bundler, tree shaking, typescript, code-redability.
*Sarath's reply -
1. Typescript support
We do want to move as much as possible to Typescript. This project is a good place to start shifting towards Typescript.
2. Package size
This is the most urgent issue to address in this project. Theoretically, it should be tree-shakable. The problem is with the way it is bundled. Simply using webpack/rollup/parcel itself should solve a big part of this problem.
3. Rebass component problem
The exporting code in
components/index.js
andcomponents/components.js
is a big mess. Most of those components imported and re-exported fromrebass
don't even exist inrebass
anymore.4. tsdx suggestion
tsdx looks like a promising tool that can help maintain the project. We already use jest, eslint and storybook, this can add typescript and bundling. Good suggestion!
The text was updated successfully, but these errors were encountered: