diff --git a/.github/workflows/build-extension.yml b/.github/workflows/build-extension.yml index bc9d020b158..2cf7c48346a 100644 --- a/.github/workflows/build-extension.yml +++ b/.github/workflows/build-extension.yml @@ -11,23 +11,33 @@ jobs: with: access_token: ${{ github.token }} - set-in-progress-message: - if: github.repository == 'leather-wallet/extension' && github.actor != 'dependabot[bot]' + sha-hash: runs-on: ubuntu-latest + outputs: + SHORT_SHA: ${{ steps.short-sha.outputs.SHORT_SHA }} steps: - name: Make short commit SHA - run: echo "SHORT_SHA=`echo ${{ github.event.pull_request.head.sha }} | cut -c1-7`" >> $GITHUB_ENV + id: short-sha + run: echo "SHORT_SHA=`echo ${{ github.event.pull_request.head.sha }} | cut -c1-7`" >> $GITHUB_OUTPUT + set-in-progress-message: + if: github.repository == 'leather-wallet/extension' && github.actor != 'dependabot[bot]' + runs-on: ubuntu-latest + needs: + - pre-run + - sha-hash + steps: - uses: kyranjamie/pull-request-fixed-header@v1.0.1 with: - header: '> _Building Leather at commit ${{ env.SHORT_SHA }}_' - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + header: '> _Building Leather at commit ${{ needs.sha-hash.outputs.SHORT_SHA }}_' + GITHUB_TOKEN: ${{ secrets.LEATHER_BOT }} build: name: build-${{ matrix.target }}-extension runs-on: ubuntu-latest needs: - pre-run + - sha-hash strategy: matrix: # Firefox removed while off store @@ -39,8 +49,6 @@ jobs: - uses: ./.github/actions/provision - - run: echo "SHORT_SHA=`echo ${{ github.event.pull_request.head.sha }} | cut -c1-7`" >> $GITHUB_ENV - - name: Build project run: pnpm build env: @@ -53,47 +61,37 @@ jobs: TRANSAK_API_KEY: ${{ secrets.TRANSAK_API_KEY }} BESTINSLOT_API_KEY: ${{ secrets.BESTINSLOT_API_KEY }} PR_NUMBER: ${{ github.event.number }} - COMMIT_SHA: ${{ env.SHORT_SHA }} + COMMIT_SHA: ${{ needs.sha-hash.outputs.SHORT_SHA }} - uses: actions/upload-artifact@v3 name: Upload ${{ matrix.target }} extension zip with: - name: leather-${{ matrix.target }}-${{ env.SHORT_SHA }} + name: leather-${{ matrix.target }}-${{ needs.sha-hash.outputs.SHORT_SHA }} path: dist - chromatic: - runs-on: ubuntu-latest - outputs: - storybook_url: ${{ steps.chromatic.outputs.storybookUrl }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - uses: ./.github/actions/provision - - - name: Deploy to Chromatic - id: chromatic - uses: chromaui/action@latest - with: - autoAcceptChanges: 'main' - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} - token: ${{ secrets.GITHUB_TOKEN }} - set-download-link: if: github.repository == 'leather-wallet/extension' && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest needs: - pre-run + - sha-hash - build - - chromatic steps: - name: Extract branch name - shell: bash run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT id: extract_branch + - name: Storybook parsed branch name + id: storybook_branch + run: echo "STORYBOOK_BRANCH=`echo ${{ steps.extract_branch.outputs.branch }} | sed 's/\//\-/g'`" >> $GITHUB_OUTPUT + - uses: kyranjamie/pull-request-fixed-header@v1.0.1 + env: + EXTENSION_BUILD_LINK: '[Extension build](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})' + TEST_REPORT_LINK: '[Test report](https://leather-wallet.github.io/playwright-reports/${{ steps.extract_branch.outputs.branch }})' + STORYBOOK_LINK: '[Storybook](https://${{ steps.storybook_branch.outputs.STORYBOOK_BRANCH }}--65982789c7e2278518f189e7.chromatic.com)' + CHROMATIC_LINK: '[Chromatic](https://www.chromatic.com/library?appId=65982789c7e2278518f189e7&branch=${{ steps.extract_branch.outputs.branch }})' with: - header: '> Try out this version of Leather — [Extension build](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}), [Test report](https://leather-wallet.github.io/playwright-reports/${{ steps.extract_branch.outputs.branch }}), [Storybook preview](${{ needs.chromatic.outputs.storybook_url }})' - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.LEATHER_BOT }} + header: | + > Try out Leather build ${{ needs.sha-hash.outputs.SHORT_SHA }} — ${{ env.EXTENSION_BUILD_LINK }}, ${{ env.TEST_REPORT_LINK }}, ${{ env.STORYBOOK_LINK }}, ${{ env.CHROMATIC_LINK }} diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml new file mode 100644 index 00000000000..42266537a66 --- /dev/null +++ b/.github/workflows/chromatic.yml @@ -0,0 +1,24 @@ +name: Chromatic + +on: [pull_request] + +jobs: + chromatic: + if: github.repository == 'leather-wallet/extension' && github.actor != 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: ./.github/actions/provision + + - name: Deploy to Chromatic + id: chromatic + uses: chromaui/action@latest + with: + autoAcceptChanges: '{main,dev}' + onlyChanged: true + exitZeroOnChanges: true + projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} + token: ${{ secrets.LEATHER_BOT }} diff --git a/.storybook/main.ts b/.storybook/main.ts index 1d8eee7af88..bd5c6cd67d0 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -38,7 +38,8 @@ const config: StorybookConfig = { }, }, '@storybook/addon-mdx-gfm', - '@storybook/addon-webpack5-compiler-swc' + '@storybook/addon-webpack5-compiler-swc', + '@chromatic-com/storybook' ], docs: { autodocs: 'tag', diff --git a/build-storybook.log b/build-storybook.log deleted file mode 100644 index 5a1da721769..00000000000 --- a/build-storybook.log +++ /dev/null @@ -1,357 +0,0 @@ -yarn run v1.22.19 -$ storybook build --output-dir /var/folders/14/nxq3_7kj3gv27ft84j1_td9w0000gn/T/chromatic--773-QKK6wtM2qaDA -@storybook/cli v7.6.7 - -info => Cleaning outputDir: /var/folders/14/nxq3_7kj3gv27ft84j1_td9w0000gn/T/chromatic--773-QKK6wtM2qaDA -info => Loading presets -info => Building manager.. -info => Manager built (126 ms) -info => Building preview.. -info => Copying static files: /Users/fara/Documents/Code/Leather/extension/node_modules/@storybook/manager/static at /var/folders/14/nxq3_7kj3gv27ft84j1_td9w0000gn/T/chromatic--773-QKK6wtM2qaDA/sb-common-assets -info Using SWC compiler -info Addon-docs: using MDX2 -info => Using implicit CSS loaders -info => [@storybook/addon-styling] Applying custom Storybook webpack configuration styling. -info => [@storybook/addon-styling] Replacing Storybook's webpack rules for styles with given rules. -info => Using default Webpack5 setup - [webpack.Progress] 0% - - [webpack.Progress] 1% setup before run - [webpack.Progress] 1% setup before run NodeEnvironmentPlugin - [webpack.Progress] 1% setup before run - [webpack.Progress] 2% setup run - [webpack.Progress] 2% setup run ForkTsCheckerWebpackPlugin - [webpack.Progress] 2% setup run - [webpack.Progress] 4% setup normal module factory - [webpack.Progress] 4% setup normal module factory CaseSensitivePathsPlugin - [webpack.Progress] 4% setup normal module factory - [webpack.Progress] 5% setup context module factory - [webpack.Progress] 5% setup context module factory - [webpack.Progress] 6% setup before compile - [webpack.Progress] 6% setup before compile ProgressPlugin - [webpack.Progress] 6% setup before compile - [webpack.Progress] 7% setup compile - [webpack.Progress] 7% setup compile ExternalsPlugin - [webpack.Progress] 7% setup compile ExternalsPlugin - [webpack.Progress] 7% setup compile - [webpack.Progress] 8% setup compilation - [webpack.Progress] 8% setup compilation unplugin-csf - [webpack.Progress] 8% setup compilation ArrayPushCallbackChunkFormatPlugin - [webpack.Progress] 8% setup compilation JsonpChunkLoadingPlugin - [webpack.Progress] 8% setup compilation StartupChunkDependenciesPlugin - [webpack.Progress] 8% setup compilation ImportScriptsChunkLoadingPlugin - [webpack.Progress] 8% setup compilation FetchCompileWasmPlugin - [webpack.Progress] 8% setup compilation FetchCompileAsyncWasmPlugin - [webpack.Progress] 8% setup compilation WorkerPlugin - [webpack.Progress] 8% setup compilation SplitChunksPlugin - [webpack.Progress] 8% setup compilation RuntimeChunkPlugin - [webpack.Progress] 8% setup compilation ResolverCachePlugin - [webpack.Progress] 8% setup compilation HtmlWebpackPlugin - [webpack.Progress] 8% setup compilation - [webpack.Progress] 9% setup compilation - [webpack.Progress] 9% setup compilation DefinePlugin - [webpack.Progress] 9% setup compilation ProvidePlugin - [webpack.Progress] 9% setup compilation ProgressPlugin - [webpack.Progress] 9% setup compilation ForkTsCheckerWebpackPlugin - [webpack.Progress] 9% setup compilation DocGenPlugin - [webpack.Progress] 9% setup compilation ChunkPrefetchPreloadPlugin - [webpack.Progress] 9% setup compilation SourceMapDevToolPlugin - [webpack.Progress] 9% setup compilation JavascriptModulesPlugin - [webpack.Progress] 9% setup compilation JsonModulesPlugin - [webpack.Progress] 9% setup compilation AssetModulesPlugin - [webpack.Progress] 9% setup compilation EntryPlugin - [webpack.Progress] 9% setup compilation RuntimePlugin - [webpack.Progress] 9% setup compilation InferAsyncModulesPlugin - [webpack.Progress] 9% setup compilation DataUriPlugin - [webpack.Progress] 9% setup compilation FileUriPlugin - [webpack.Progress] 9% setup compilation CompatibilityPlugin - [webpack.Progress] 9% setup compilation HarmonyModulesPlugin - [webpack.Progress] 9% setup compilation AMDPlugin - [webpack.Progress] 9% setup compilation RequireJsStuffPlugin - [webpack.Progress] 9% setup compilation CommonJsPlugin - [webpack.Progress] 9% setup compilation LoaderPlugin - [webpack.Progress] 9% setup compilation LoaderPlugin - [webpack.Progress] 9% setup compilation NodeStuffPlugin - [webpack.Progress] 9% setup compilation APIPlugin - [webpack.Progress] 9% setup compilation ExportsInfoApiPlugin - [webpack.Progress] 9% setup compilation WebpackIsIncludedPlugin - [webpack.Progress] 9% setup compilation ConstPlugin - [webpack.Progress] 9% setup compilation UseStrictPlugin - [webpack.Progress] 9% setup compilation RequireIncludePlugin - [webpack.Progress] 9% setup compilation RequireEnsurePlugin - [webpack.Progress] 9% setup compilation RequireContextPlugin - [webpack.Progress] 9% setup compilation ImportPlugin - [webpack.Progress] 9% setup compilation ImportMetaContextPlugin - [webpack.Progress] 9% setup compilation SystemPlugin - [webpack.Progress] 9% setup compilation ImportMetaPlugin - [webpack.Progress] 9% setup compilation URLPlugin - [webpack.Progress] 9% setup compilation DefaultStatsFactoryPlugin - [webpack.Progress] 9% setup compilation DefaultStatsPresetPlugin - [webpack.Progress] 9% setup compilation DefaultStatsPrinterPlugin - [webpack.Progress] 9% setup compilation JavascriptMetaInfoPlugin - [webpack.Progress] 9% setup compilation EnsureChunkConditionsPlugin - [webpack.Progress] 9% setup compilation RemoveEmptyChunksPlugin - [webpack.Progress] 9% setup compilation MergeDuplicateChunksPlugin - [webpack.Progress] 9% setup compilation FlagIncludedChunksPlugin - [webpack.Progress] 9% setup compilation SideEffectsFlagPlugin - [webpack.Progress] 9% setup compilation FlagDependencyExportsPlugin - [webpack.Progress] 9% setup compilation FlagDependencyUsagePlugin - [webpack.Progress] 9% setup compilation InnerGraphPlugin - [webpack.Progress] 9% setup compilation MangleExportsPlugin - [webpack.Progress] 9% setup compilation ModuleConcatenationPlugin - [webpack.Progress] 9% setup compilation NoEmitOnErrorsPlugin - [webpack.Progress] 9% setup compilation RealContentHashPlugin - [webpack.Progress] 9% setup compilation WasmFinalizeExportsPlugin - [webpack.Progress] 9% setup compilation NamedModuleIdsPlugin - [webpack.Progress] 9% setup compilation DeterministicChunkIdsPlugin - [webpack.Progress] 9% setup compilation DefinePlugin - [webpack.Progress] 9% setup compilation TerserPlugin - [webpack.Progress] 9% setup compilation TemplatedPathPlugin - [webpack.Progress] 9% setup compilation RecordIdsPlugin - [webpack.Progress] 9% setup compilation WarnCaseSensitiveModulesPlugin - [webpack.Progress] 9% setup compilation IgnoreWarningsPlugin - [webpack.Progress] 9% setup compilation - [webpack.Progress] 10% building - [webpack.Progress] 10% building 0/1 entries 0/0 dependencies 0/0 modules -info => Copying static files: /Users/fara/Documents/Code/Leather/extension/public at /var/folders/14/nxq3_7kj3gv27ft84j1_td9w0000gn/T/chromatic--773-QKK6wtM2qaDA/ -WARN No story files found for the specified pattern: src/**/*.mdx - [webpack.Progress] 10% building import loader ./node_modules/@storybook/preset-react-webpack/dist/loaders/react-docgen-loader.js - [webpack.Progress] 10% building 0/1 entries 1/1 dependencies 0/1 modules - [webpack.Progress] 28% building import loader ./node_modules/swc-loader/src/index.js - [webpack.Progress] 28% building 0/1 entries 12/22 dependencies 4/12 modules - [webpack.Progress] 26% building import loader ./node_modules/@storybook/builder-webpack5/dist/loaders/export-order-loader.js - [webpack.Progress] 26% building import loader ./node_modules/@storybook/csf-plugin/node_modules/unplugin/dist/webpack/loaders/transform.js - [webpack.Progress] 26% building 0/1 entries 34/60 dependencies 7/24 modules - [webpack.Progress] 25% building import loader ./node_modules/style-loader/dist/cjs.js - [webpack.Progress] 25% building import loader ./node_modules/css-loader/dist/cjs.js - [webpack.Progress] 25% building import loader ./node_modules/postcss-loader/dist/cjs.js - [webpack.Progress] 25% building 0/1 entries 35/60 dependencies 7/25 modules - [webpack.Progress] 33% building 0/1 entries 471/565 dependencies 100/232 modules - [webpack.Progress] 57% building 0/1 entries 1156/1200 dependencies 379/443 modules - [webpack.Progress] 59% building 0/1 entries 1291/1300 dependencies 445/491 modules -🐼 info [hrtime] Extracted in (966.78ms) - [webpack.Progress] 62% building 0/1 entries 1314/1323 dependencies 474/500 modules - [webpack.Progress] 65% building 1/1 entries 1366/1366 dependencies 518/518 modules - [webpack.Progress] 65% building - [webpack.Progress] 69% building finish - [webpack.Progress] 69% building finish - [webpack.Progress] 70% sealing finish module graph - [webpack.Progress] 70% sealing finish module graph ResolverCachePlugin - [webpack.Progress] 70% sealing finish module graph InferAsyncModulesPlugin - [webpack.Progress] 70% sealing finish module graph FlagDependencyExportsPlugin - [webpack.Progress] 70% sealing finish module graph InnerGraphPlugin - [webpack.Progress] 70% sealing finish module graph WasmFinalizeExportsPlugin - [webpack.Progress] 70% sealing finish module graph - [webpack.Progress] 70% sealing plugins - [webpack.Progress] 70% sealing plugins DocGenPlugin - [webpack.Progress] 70% sealing plugins WarnCaseSensitiveModulesPlugin - [webpack.Progress] 70% sealing plugins - [webpack.Progress] 71% sealing dependencies optimization - [webpack.Progress] 71% sealing dependencies optimization SideEffectsFlagPlugin - [webpack.Progress] 71% sealing dependencies optimization FlagDependencyUsagePlugin - [webpack.Progress] 71% sealing dependencies optimization - [webpack.Progress] 71% sealing after dependencies optimization - [webpack.Progress] 71% sealing after dependencies optimization - [webpack.Progress] 72% sealing chunk graph - [webpack.Progress] 72% sealing chunk graph - [webpack.Progress] 73% sealing after chunk graph - [webpack.Progress] 73% sealing after chunk graph - [webpack.Progress] 73% sealing optimizing - [webpack.Progress] 73% sealing optimizing - [webpack.Progress] 74% sealing module optimization - [webpack.Progress] 74% sealing module optimization - [webpack.Progress] 75% sealing after module optimization - [webpack.Progress] 75% sealing after module optimization - [webpack.Progress] 75% sealing chunk optimization - [webpack.Progress] 75% sealing chunk optimization EnsureChunkConditionsPlugin - [webpack.Progress] 75% sealing chunk optimization RemoveEmptyChunksPlugin - [webpack.Progress] 75% sealing chunk optimization MergeDuplicateChunksPlugin - [webpack.Progress] 75% sealing chunk optimization SplitChunksPlugin - [webpack.Progress] 75% sealing chunk optimization RemoveEmptyChunksPlugin - [webpack.Progress] 75% sealing chunk optimization - [webpack.Progress] 76% sealing after chunk optimization - [webpack.Progress] 76% sealing after chunk optimization - [webpack.Progress] 77% sealing module and chunk tree optimization - [webpack.Progress] 77% sealing module and chunk tree optimization PersistentChildCompilerSingletonPlugin - [webpack.Progress] 77% sealing module and chunk tree optimization - [webpack.Progress] 77% sealing after module and chunk tree optimization - [webpack.Progress] 77% sealing after module and chunk tree optimization - [webpack.Progress] 78% sealing chunk modules optimization - [webpack.Progress] 78% sealing chunk modules optimization ModuleConcatenationPlugin - [webpack.Progress] 78% sealing chunk modules optimization - [webpack.Progress] 78% sealing after chunk modules optimization - [webpack.Progress] 78% sealing after chunk modules optimization - [webpack.Progress] 79% sealing module reviving - [webpack.Progress] 79% sealing module reviving RecordIdsPlugin - [webpack.Progress] 79% sealing module reviving - [webpack.Progress] 80% sealing before module ids - [webpack.Progress] 80% sealing before module ids - [webpack.Progress] 80% sealing module ids - [webpack.Progress] 80% sealing module ids NamedModuleIdsPlugin - [webpack.Progress] 80% sealing module ids - [webpack.Progress] 81% sealing module id optimization - [webpack.Progress] 81% sealing module id optimization - [webpack.Progress] 82% sealing module id optimization - [webpack.Progress] 82% sealing module id optimization - [webpack.Progress] 82% sealing chunk reviving - [webpack.Progress] 82% sealing chunk reviving RecordIdsPlugin - [webpack.Progress] 82% sealing chunk reviving - [webpack.Progress] 83% sealing before chunk ids - [webpack.Progress] 83% sealing before chunk ids - [webpack.Progress] 84% sealing chunk ids - [webpack.Progress] 84% sealing chunk ids DeterministicChunkIdsPlugin - [webpack.Progress] 84% sealing chunk ids - [webpack.Progress] 84% sealing chunk id optimization - [webpack.Progress] 84% sealing chunk id optimization FlagIncludedChunksPlugin - [webpack.Progress] 84% sealing chunk id optimization - [webpack.Progress] 85% sealing after chunk id optimization - [webpack.Progress] 85% sealing after chunk id optimization - [webpack.Progress] 86% sealing record modules - [webpack.Progress] 86% sealing record modules RecordIdsPlugin - [webpack.Progress] 86% sealing record modules - [webpack.Progress] 86% sealing record chunks - [webpack.Progress] 86% sealing record chunks RecordIdsPlugin - [webpack.Progress] 86% sealing record chunks - [webpack.Progress] 87% sealing module hashing - [webpack.Progress] 87% sealing module hashing - [webpack.Progress] 87% sealing code generation - [webpack.Progress] 87% sealing code generation - [webpack.Progress] 88% sealing runtime requirements - [webpack.Progress] 88% sealing runtime requirements - [webpack.Progress] 89% sealing hashing - [webpack.Progress] 89% sealing hashing - [webpack.Progress] 89% sealing after hashing - [webpack.Progress] 89% sealing after hashing - [webpack.Progress] 90% sealing record hash - [webpack.Progress] 90% sealing record hash - [webpack.Progress] 91% sealing module assets processing - [webpack.Progress] 91% sealing module assets processing - [webpack.Progress] 91% sealing chunk assets processing - [webpack.Progress] 91% sealing chunk assets processing - [webpack.Progress] 92% sealing asset processing - [webpack.Progress] 92% sealing asset processing PersistentChildCompilerSingletonPlugin - [webpack.Progress] 92% sealing asset processing TerserPlugin - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin main.718aa2a7.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin main.718aa2a7.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin runtime~main.397c5237.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin runtime~main.397c5237.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin app-ui-components-dowpdown-menu-dropdown-menu-stories.348aa1f1.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin app-ui-components-dowpdown-menu-dropdown-menu-stories.348aa1f1.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin app-ui-components-select-select-stories.52bc4c28.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin app-ui-components-select-select-stories.52bc4c28.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 312.5311e181.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 312.5311e181.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 341.434d505d.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 341.434d505d.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 729.842c886a.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 729.842c886a.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 797.03239da1.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 797.03239da1.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 426.75037d47.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 426.75037d47.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 607.18f2bde2.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 607.18f2bde2.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 544.b406d772.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 544.b406d772.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 549.aacb1a68.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 549.aacb1a68.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 398.09c4c502.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 398.09c4c502.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 18.4e4f362e.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 18.4e4f362e.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 515.5382f88c.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 515.5382f88c.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 483.c8eafe1b.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 483.c8eafe1b.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin resolve sources - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin main.718aa2a7.iframe.bundle.js attach SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin main.718aa2a7.iframe.bundle.js attached SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 426.75037d47.iframe.bundle.js attach SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 426.75037d47.iframe.bundle.js attached SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 544.b406d772.iframe.bundle.js attach SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 544.b406d772.iframe.bundle.js attached SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 549.aacb1a68.iframe.bundle.js attach SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 549.aacb1a68.iframe.bundle.js attached SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 398.09c4c502.iframe.bundle.js attach SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin 398.09c4c502.iframe.bundle.js attached SourceMap - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin resolve sources - [webpack.Progress] 92% sealing asset processing SourceMapDevToolPlugin - [webpack.Progress] 92% sealing asset processing HtmlWebpackPlugin - [webpack.Progress] 92% sealing asset processing HtmlWebpackPlugin - [webpack.Progress] 92% sealing asset processing HtmlWebpackPlugin resolve sources - [webpack.Progress] 92% sealing asset processing HtmlWebpackPlugin - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin runtime~main.01a51690.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin runtime~main.01a51690.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin app-ui-components-dowpdown-menu-dropdown-menu-stories.32b8b200.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin app-ui-components-dowpdown-menu-dropdown-menu-stories.32b8b200.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin app-ui-components-select-select-stories.84d22868.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin app-ui-components-select-select-stories.84d22868.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 312.cf19ded9.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 312.cf19ded9.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 341.6b69e692.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 341.6b69e692.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 729.bc3d8189.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 729.bc3d8189.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 797.0bcedef1.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 797.0bcedef1.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 607.0b923056.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 607.0b923056.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 18.4c13ddd4.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 18.4c13ddd4.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 515.ffba4402.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 515.ffba4402.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 483.a6b4caaf.iframe.bundle.js generate SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin 483.a6b4caaf.iframe.bundle.js generated SourceMap - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin resolve sources - [webpack.Progress] 92% sealing asset processing RealContentHashPlugin - [webpack.Progress] 92% sealing asset processing - [webpack.Progress] 93% sealing after asset optimization - [webpack.Progress] 93% sealing after asset optimization - [webpack.Progress] 93% sealing recording - [webpack.Progress] 93% sealing recording - [webpack.Progress] 94% sealing after seal - [webpack.Progress] 94% sealing after seal - [webpack.Progress] 95% emitting emit - [webpack.Progress] 95% emitting emit - [webpack.Progress] 98% emitting after emit - [webpack.Progress] 98% emitting after emit SizeLimitsPlugin - [webpack.Progress] 98% emitting after emit - [webpack.Progress] 99% done plugins - [webpack.Progress] 99% done plugins CaseSensitivePathsPlugin - [webpack.Progress] 99% done plugins ForkTsCheckerWebpackPlugin - [webpack.Progress] 99% done plugins - [webpack.Progress] 99% - - [webpack.Progress] 99% cache store build dependencies - [webpack.Progress] 99% cache store build dependencies - [webpack.Progress] 99% cache begin idle - [webpack.Progress] 99% cache begin idle - [webpack.Progress] 100% - -WARN asset size limit: The following asset(s) exceed the recommended size limit (244 KiB). -WARN This can impact web performance. -WARN Assets: -WARN 483.a6b4caaf.iframe.bundle.js (250 KiB) -WARN 426.f776c2ca.iframe.bundle.js (581 KiB) -WARN 549.4c8a1465.iframe.bundle.js (818 KiB) -WARN 398.5aa26781.iframe.bundle.js (717 KiB) -WARN entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance. -WARN Entrypoints: -WARN main (1010 KiB) -WARN runtime~main.01a51690.iframe.bundle.js -WARN 549.4c8a1465.iframe.bundle.js -WARN main.fbe7fdb1.iframe.bundle.js -WARN - [webpack.Progress] 99% cache shutdown - [webpack.Progress] 99% cache shutdown - [webpack.Progress] 100% - -info => Preview built (9.55 s) -info => Output directory: /var/folders/14/nxq3_7kj3gv27ft84j1_td9w0000gn/T/chromatic--773-QKK6wtM2qaDA -Done in 11.28s. diff --git a/chromatic.config.json b/chromatic.config.json new file mode 100644 index 00000000000..c6137a40dea --- /dev/null +++ b/chromatic.config.json @@ -0,0 +1,6 @@ +{ + "projectId": "Project:65982789c7e2278518f189e7", + "zip": true, + "onlyChanged": true, + "skip": "dependabot/**" +} diff --git a/package.json b/package.json index 43c0592b5e6..49677e28188 100644 --- a/package.json +++ b/package.json @@ -247,6 +247,7 @@ "devDependencies": { "@actions/core": "1.10.1", "@btckit/types": "0.0.19", + "@chromatic-com/storybook": "1.2.23", "@leather-wallet/prettier-config": "0.0.1", "@ls-lint/ls-lint": "2.2.2", "@mdx-js/loader": "3.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7da8be2e36..dbc0164c6da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -360,6 +360,9 @@ devDependencies: '@btckit/types': specifier: 0.0.19 version: 0.0.19 + '@chromatic-com/storybook': + specifier: 1.2.23 + version: 1.2.23(react@18.2.0) '@leather-wallet/prettier-config': specifier: 0.0.1 version: 0.0.1 @@ -2272,6 +2275,21 @@ packages: resolution: {integrity: sha512-APoOfYSg9SRR4CMXL606IDtpgh+ZD3kS/+iY0BkUALD6HvXo2pVw20L5YYIc+HrgMcF6WN0TH7TXdVs+Vu+kww==} dev: true + /@chromatic-com/storybook@1.2.23(react@18.2.0): + resolution: {integrity: sha512-We0knVd0x8M998jDOvNgesN+wqzvGuYA6Q8oNRAhGhTcIjd9AsPGEpPo9glqZb/wot9nioiz3bnFQH50M/FtXQ==} + engines: {node: '>=16.0.0', yarn: '>=1.22.18'} + dependencies: + chromatic: 11.1.0 + filesize: 10.1.0 + jsonfile: 6.1.0 + react-confetti: 6.1.0(react@18.2.0) + strip-ansi: 7.1.0 + transitivePeerDependencies: + - '@chromatic-com/cypress' + - '@chromatic-com/playwright' + - react + dev: true + /@clack/core@0.3.3: resolution: {integrity: sha512-5ZGyb75BUBjlll6eOa1m/IZBxwk91dooBWhPSL67sWcLS0zt9SnswRL0l26TVdBhb0wnWORRxUn//uH6n4z7+A==} dependencies: @@ -11633,6 +11651,19 @@ packages: optional: true dev: true + /chromatic@11.1.0: + resolution: {integrity: sha512-0fGXzWqz7PTXmjYf+aSYB4jOUgDN/b8zkl6i8Syt+qGdhqqeW8Q1tHnHToC+eSuMxDLNVAVq28cMeYnRxL3MOA==} + hasBin: true + peerDependencies: + '@chromatic-com/cypress': ^0.*.* || ^1.0.0 + '@chromatic-com/playwright': ^0.*.* || ^1.0.0 + peerDependenciesMeta: + '@chromatic-com/cypress': + optional: true + '@chromatic-com/playwright': + optional: true + dev: true + /chrome-launcher@0.15.1: resolution: {integrity: sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==} engines: {node: '>=12.13.0'} @@ -20098,6 +20129,16 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /react-confetti@6.1.0(react@18.2.0): + resolution: {integrity: sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==} + engines: {node: '>=10.18'} + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + dependencies: + react: 18.2.0 + tween-functions: 1.2.0 + dev: true + /react-dev-utils@12.0.1(eslint@8.56.0)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} @@ -22504,6 +22545,10 @@ packages: engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} dev: true + /tween-functions@1.2.0: + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} + dev: true + /tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} dev: true