diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 23722414ece..8b854719a1a 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -22,9 +22,15 @@ module.exports = {
'plugin:react/jsx-runtime',
'plugin:react-hooks/recommended',
'plugin:storybook/recommended',
+ 'plugin:storybook/csf',
],
ignorePatterns: ['./leather-styles'],
plugins: ['react', 'react-hooks', '@typescript-eslint', 'deprecation'],
+ settings: {
+ react: {
+ version: 'detect',
+ },
+ },
rules: {
// This rule helps highlight areas of the code that use deprecated
// methods, such as implicit use of signed transactions
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/.github/workflows/publish-storybook.yml b/.github/workflows/publish-storybook.yml
new file mode 100644
index 00000000000..511809381e6
--- /dev/null
+++ b/.github/workflows/publish-storybook.yml
@@ -0,0 +1,34 @@
+name: Publish Storybook
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - 'dev'
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: 'storybook-deploy'
+ cancel-in-progress: false
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ./.github/actions/provision
+
+ - run: pnpm build-storybook
+
+ - name: Deploy storybook.leather.io
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ personal_token: ${{ secrets.LEATHER_BOT }}
+ external_repository: leather-wallet/storybook
+ publish_branch: main
+ publish_dir: ./storybook-static
+ cname: storybook.leather.io
diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/publish-unit-test-coverage.yml
similarity index 100%
rename from .github/workflows/gh-pages.yml
rename to .github/workflows/publish-unit-test-coverage.yml
diff --git a/.gitignore b/.gitignore
index 1e9d1ac6b1e..56b5907e731 100755
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@ trace*
leather-styles
.netlify
./.vscode/settings.json
+storybook-static
diff --git a/.storybook/main.ts b/.storybook/main.ts
index 983884a4ff8..bd5c6cd67d0 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -37,6 +37,9 @@ const config: StorybookConfig = {
],
},
},
+ '@storybook/addon-mdx-gfm',
+ '@storybook/addon-webpack5-compiler-swc',
+ '@chromatic-com/storybook'
],
docs: {
autodocs: 'tag',
@@ -44,9 +47,7 @@ const config: StorybookConfig = {
framework: {
name: '@storybook/react-webpack5',
options: {
- builder: {
- useSWC: true,
- },
+ builder: {},
},
},
staticDirs: ['../public'],
diff --git a/.storybook/manager-head.html b/.storybook/manager-head.html
new file mode 100644
index 00000000000..3484a8dcc28
--- /dev/null
+++ b/.storybook/manager-head.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html
index e7853fc3842..275049d29db 100644
--- a/.storybook/preview-head.html
+++ b/.storybook/preview-head.html
@@ -1,4 +1,4 @@
-
-
-
+
+
+
diff --git a/README.md b/README.md
index 6a55fb2b4a2..87af1d68b54 100755
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# Leather
[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/ldinpeekobnhjjdofggfgjlcehhmanlj?label=Chrome%20Web%20Store)](https://chrome.google.com/webstore/detail/stacks-wallet/ldinpeekobnhjjdofggfgjlcehhmanlj)
-[![Mozilla Add-on](https://img.shields.io/amo/stars/leather-wallet?label=Firefox%20Add-on)](https://addons.mozilla.org/en-US/firefox/addon/leather-wallet/)
[![coverage](https://raw.githubusercontent.com/leather-wallet/extension/gh-pages/badge.svg)](https://leather-wallet.github.io/extension/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
+[![storybook](https://raw.githubusercontent.com/storybooks/brand/master/badge/badge-storybook.svg)](https://storybook.leather.io)
Leather is the most popular and trusted wallet for apps built on Bitcoin. Connect to apps and manage assets secured by Bitcoin and Bitcoin L2s with battle-tested wallet for the Stacks blockchain.
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
-