Skip to content

Conversation

@RyukTheCoder
Copy link
Contributor

@RyukTheCoder RyukTheCoder commented Oct 15, 2024

Summary

Added a document for code-splitting and also detected some dynamic imports which result in small chunks and reverted such dynamic imports. I've added list of files resulted in build process in widget-examples\vite

Build result before code splitting:

dist/index.html                              0.46 kB │ gzip:     0.30 kB
dist/assets/index-a2801db4.css               0.04 kB │ gzip:     0.06 kB
dist/assets/index-992cec4c.js                0.98 kB │ gzip:     0.46 kB
dist/assets/index-206c2777.js                3.23 kB │ gzip:     1.29 kB
dist/assets/Solana-91a6328d.js               3.78 kB │ gzip:     1.64 kB
dist/assets/TransportWebHID-b0074475.js     33.78 kB │ gzip:    11.55 kB
dist/assets/index-096a66d2.js              139.07 kB │ gzip:    44.07 kB
dist/assets/index-21326ca8.js              378.53 kB │ gzip:    97.50 kB
dist/assets/Eth-c861653d.js              2,798.27 kB │ gzip: 1,799.48 kB
dist/assets/index-14ac80d0.js            8,624.36 kB │ gzip: 2,325.93 kB

Build result before changes:

dist/index.html                                       0.46 kB │ gzip:     0.30 kB
dist/assets/index-a2801db4.css                        0.04 kB │ gzip:     0.06 kB
dist/assets/solana-signer-774Z76QJ-30e49877.js        0.30 kB │ gzip:     0.23 kB
dist/assets/solanaSigner-WXZ5A3PQ-040b21ac.js         0.54 kB │ gzip:     0.36 kB
dist/assets/index-a678dfd2.js                         0.68 kB │ gzip:     0.44 kB
dist/assets/utxo-signer-ZB6Q3UPL-16d5eb83.js          0.75 kB │ gzip:     0.49 kB
dist/assets/solana-signer-3UBVUDC7-a5ccc07e.js        0.77 kB │ gzip:     0.49 kB
dist/assets/cosmos-signer-EU3BOHAU-691e5178.js        0.86 kB │ gzip:     0.54 kB
dist/assets/solanaSigner-SGKBR5AJ-8d080a21.js         0.89 kB │ gzip:     0.54 kB
dist/assets/evm-TZ6OXXGG-ef4c559b.js                  1.07 kB │ gzip:     0.62 kB
dist/assets/index-b565f6e5.js                         1.09 kB │ gzip:     0.57 kB
dist/assets/chunk-5QSDSOWH-27d0b967.js                1.09 kB │ gzip:     0.54 kB
dist/assets/solana-WN75Y76H-a0ccb629.js               1.13 kB │ gzip:     0.54 kB
dist/assets/ethereum-UW5V3C7D-7af6fac8.js             1.53 kB │ gzip:     0.79 kB
dist/assets/ethereum-NHQEXUSA-76928f7e.js             1.62 kB │ gzip:     0.74 kB
dist/assets/cosmosSigner-ECZAR6TO-d13dce9e.js         1.79 kB │ gzip:     0.91 kB
dist/assets/solana-35I33VLX-82168a4f.js               1.93 kB │ gzip:     0.94 kB
dist/assets/evm-MYSQOTV5-1871abe9.js                  2.96 kB │ gzip:     1.30 kB
dist/assets/index-206c2777.js                         3.23 kB │ gzip:     1.29 kB
dist/assets/Solana-UB4SGWQ3-3a7061e5.js               3.86 kB │ gzip:     1.70 kB
dist/assets/index-1308aa2d.js                         5.77 kB │ gzip:     2.46 kB
dist/assets/index-0b0262fa.js                         6.83 kB │ gzip:     2.67 kB
dist/assets/sha512-4b420ae9.js                       10.54 kB │ gzip:     4.81 kB
dist/assets/TransportWebHID-JLT4ETY3-52f21ff4.js     49.59 kB │ gzip:    15.98 kB
dist/assets/dist-6GI3ECE5-600e2f8c.js               144.43 kB │ gzip:    45.86 kB
dist/assets/provider-jsonrpc-02c3a7b0.js            234.29 kB │ gzip:    86.04 kB
dist/assets/cosmos-I3Z34UI3-fb2b5c97.js             334.08 kB │ gzip:    70.64 kB
dist/assets/index-efbf2212.js                       384.85 kB │ gzip:   103.82 kB
dist/assets/index-d12f88e0.js                     1,530.18 kB │ gzip:   480.90 kB
dist/assets/index-a08231f9.js                     2,580.62 kB │ gzip:   611.47 kB
dist/assets/index-f8e574b9.js                     2,728.16 kB │ gzip:   830.71 kB
dist/assets/Eth-Y5JFGVQA-6e4e8dbd.js              2,828.77 kB │ gzip: 1,777.91 kB

Build result after changes:

dist/index.html                                       0.46 kB │ gzip:     0.30 kB
dist/assets/index-a2801db4.css                        0.04 kB │ gzip:     0.06 kB
dist/assets/Solana-NJS3LWGA-d7be3030.js               0.10 kB │ gzip:     0.11 kB
dist/assets/Eth-5PCPPYSI-c99b10b2.js                  0.52 kB │ gzip:     0.33 kB
dist/assets/solana-GJWCIU6R-3b5ead1f.js               0.87 kB │ gzip:     0.49 kB
dist/assets/evm-TZ6OXXGG-6f50ce6e.js                  1.07 kB │ gzip:     0.62 kB
dist/assets/chunk-5QSDSOWH-f3d9e845.js                1.09 kB │ gzip:     0.54 kB
dist/assets/ethereum-V2WNWA6L-9cdd6b51.js             1.13 kB │ gzip:     0.68 kB
dist/assets/ethereum-UW5V3C7D-753ef0aa.js             1.53 kB │ gzip:     0.79 kB
dist/assets/cosmosSigner-ECZAR6TO-09736e70.js         1.79 kB │ gzip:     0.91 kB
dist/assets/solana-35I33VLX-55d68393.js               1.93 kB │ gzip:     0.94 kB
dist/assets/evm-MYSQOTV5-2656dc29.js                  2.96 kB │ gzip:     1.30 kB
dist/assets/index-206c2777.js                         3.23 kB │ gzip:     1.29 kB
dist/assets/chunk-OOX2UCLJ-05fa13a2.js                3.86 kB │ gzip:     1.70 kB
dist/assets/index-e9fd5399.js                         5.77 kB │ gzip:     2.46 kB
dist/assets/index-0b0262fa.js                         6.83 kB │ gzip:     2.67 kB
dist/assets/sha512-8c4d43f6.js                       10.54 kB │ gzip:     4.80 kB
dist/assets/TransportWebHID-JLT4ETY3-4cbf0824.js     49.58 kB │ gzip:    15.98 kB
dist/assets/dist-6GI3ECE5-f72a4b5f.js               144.43 kB │ gzip:    45.86 kB
dist/assets/provider-jsonrpc-ec78a6e3.js            234.31 kB │ gzip:    86.05 kB
dist/assets/cosmos-I3Z34UI3-1934cdfc.js             334.08 kB │ gzip:    70.64 kB
dist/assets/index-b21430cf.js                       384.85 kB │ gzip:   103.82 kB
dist/assets/index-c28ecaf7.js                     1,530.22 kB │ gzip:   480.89 kB
dist/assets/index-4ff21993.js                     2,580.62 kB │ gzip:   611.47 kB
dist/assets/index-4b2798e3.js                     2,729.74 kB │ gzip:   831.32 kB
dist/assets/chunk-HLLU77MH-05ef82b2.js            2,828.56 kB │ gzip: 1,777.82 kB

How did you test this change?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Test A
  • Test B

Checklist:

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • Implemented a user interface (UI) change, referencing our Figma design to ensure pixel-perfect precision.

import { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';
import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';

import { CustomSolanaSigner } from './solana-signer.js';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wee didn't lazy import DefaultSolanaSigner at all. Lazy importing these CustomSolanaSigner s will result in small chunks

@@ -1,12 +1,12 @@
import type { SignerFactory } from 'rango-types';

import { DefaultStarknetSigner } from '@rango-dev/signer-starknet';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DefaultStarknetSigner has no dependency and result in small chunks so removed dynamic import.

@yeager-eren yeager-eren force-pushed the chore/rf-1807-improve-and-document-code-splitting branch from 2fabc5d to efd830e Compare November 25, 2024 12:33
Copy link
Collaborator

@yeager-eren yeager-eren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR didn't completely resolved the small chunks issues, less than %10 affected. I will merge this PR, and will address the rest of issues in a separate PR.

@yeager-eren yeager-eren merged commit d3142db into next Nov 25, 2024
1 check passed
@yeager-eren yeager-eren deleted the chore/rf-1807-improve-and-document-code-splitting branch November 25, 2024 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants