-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Making aegir smaller] Add support for pkg/pkg-bundle #262
Conversation
79b6c36
to
a1a2f37
Compare
Same feedback from #216 (comment) applies to this one, @mkg20001. |
@diasdavid I will squash the commits once things start somehow working because currently some fixes are duplicated (for ex. the eslint fix) anyways and for now I'm just trying to make it work. I will clean the duplicate fixes later. |
I don't think I'll be able to finish this alone. Most of the work is in https://github.com/mkg20001/pkg-bundle which is a fork of pkg that uses the existing bundling code to create single-file bundles, instead of node executables like pkg did and the other part of the effort goes into https://github.com/mkg20001/aegir-bundle which is handling the bundling of aegir and retrieving/executing of the bundle. So to make it short: Would there be any members of the IPFS team/maintainers of aegir/other people that would like to help me finish this? Remember that this might make a huge impact on installation time and performance of aegir which could make all of IPFS's contributors life easier. |
// cc @ipfs/dx |
Yeah, that doesn't sound very fun nor maintainable in the future as it'll be breaking often. I think an easier effort right now (with maybe not the same amount of impact but at least easier to do) is to go through the top-level dependencies and try to remove the biggest ones or find other ways of installing them to reduce the disk space. The only clear decision I will make is that the DX WG won't take ownership over this specific change as it'll be too much work at this point. Maybe there are other JS/NodeJS devs more excited about this and want to implement it? |
It should be noted though that https://github.com/zeit/pkg has not needed many changes in a long time and most of the changes pkg-bundle would need, would come from upstream, so rebasing and testing would be the only maintaince thing that would be necessarry to do.
There is only a few bugs with the |
old pr gonna close this, feel free to reopen |
This adds the missing pkg.scripts field to allow aegir to be bundled using pkg/pkg-bundle which is part of #215.
This is part of an effort to write https://github.com/mkg20001/aegir-bundle which depends on writing https://github.com/mkg20001/pkg-bundle
Note: Currently WIP, the CLI isn't working properly yet.
Commands that work:
aegir build
aegir build: Webpack worker-farm child_process error mkg20001/aegir-bundle#4aegir coverage
aegir coverage: spawn nyc ENOENT (child_process incomplete in pkg-bundle) mkg20001/aegir-bundle#5aegir docs
aegir lint-commits
aegir lint
aegir lint: cannot find 'eslint-config-standard' (module not included properly by pkg) mkg20001/aegir-bundle#6aegir release
aegir test
aegir test: spawn mocha ENOENT mkg20001/aegir-bundle#7