Merged
Conversation
7e6ac51 to
6ee23a5
Compare
1 task
- remove webpack, karma and some babel packages - use esbuild to bundle - use playwright-test for browser tests
a2bc260 to
e8b4e9f
Compare
achingbrain
approved these changes
Feb 22, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Highlights
Speed improved by 46% to 90%
aegirnow uses esbuild everywhere, to bundle, in the browser tests, to transpile TS in realtime for node tests, and more. Read about esbuild speed here.Based on several of our repos:
Code coverage is also lightning fast by using the internal v8 coverage instead of instrumention with 3rd party tools like instanbul/nyc, in node it uses c8 and in the browser playwright api to get the internal chromium v8 coverage.
10% smaller in size and 20% less files
Lots of aegir dependencies were removed, webpack, babel, karma, all the plugins from these and a lot more. This also makes installing
aegira lot faster.Configuration and Types
aegircan now be fully configured and customised using repo local config files or package.json and types for the configuration options are exported to make your life even easier.Webkit support
We can now run our tests inside webkit to further improve our test suites.
Code Coverage for browser code
This one was blocked for a long time by the underlying tools but not anymore 🚀, our browser specific code will finally be represented in our coverage numbers.
Changelog
aegirproperty in package.json can be used to provide configuration in addition to the current.aegir.jsfile..jsfiles are now outputted by the build command when--ts-repoflag is enabled.d.tsinside thesrcfolder to thedistand if a folder calledtypesexists inside the root folder that folder is also copied todist.bundle-sizegithub action doesn't generate typesaegir checkcommand that will tell you about :esbuildfor ultra fast bundlesplaywright-testinstead of karma, for faster runs, cov support, webkit support and morec8instead of nyc for faster runsupdate-last-successful-buildupdate-rcupdate-release-branch-lockfilespublish-rccommit-linttest.beforeandtest.aftersee migration guidetest.beforereceives aegir options as a paramtest.afterreceives aegir options and the return value oftest.beforeso you can cleanup whatever before started.Migration guide https://github.com/ipfs/aegir/blob/9000abae849ff5a51ce7addf0e0b483dd4923a10/md/migration-to-v31.md
PR:
multiformats/js-multihash#115
ipfs/js-ipfs#3528
ChainSafe/js-libp2p-noise#89
todo:
closes #728
closes #707
closes #704
closes #619
closes #608
closes #596
closes #587
closes #573
closes #570
closes #558
closes #527
closes #513
closes #487
closes #471
closes #453
closes #444
closes #420
closes #415
closes #397
closes #378
closes #361
closes #352
closes #347
closes #345
closes #339
closes #332
closes #330
closes #325
closes #316
closes #287
closes #269
closes #303
closes #215
closes #107
closes #102