Skip to content
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

Reduce the size of install pkg #13

Open
leecade opened this issue Nov 8, 2016 · 3 comments
Open

Reduce the size of install pkg #13

leecade opened this issue Nov 8, 2016 · 3 comments

Comments

@leecade
Copy link
Owner

leecade commented Nov 8, 2016

The idea is use webpack pack each command js and their deps in single file, then remove deps relation in package.json avoid auto install again.

some modules (which require node-gyp) as externals will build after install.

some config file(which load async) compile as standalone file.

remove .md in node_modules.

@leecade
Copy link
Owner Author

leecade commented Jan 9, 2018

Project Differences
pkg Pkg hacked fs.* API's dynamically in order to access in-package files, whereas Node.js Compiler leaves them alone and instead works on a deeper level via libsquash. Pkg uses JSON to store in-package files while Node.js Compiler uses the more sophisticated and widely used SquashFS as its data structure.
EncloseJS EncloseJS restricts access to in-package files to only five fs.* API's, whereas Node.js Compiler supports all fs.* API's. EncloseJS is proprietary licensed and charges money when used while Node.js Compiler is MIT-licensed and users are both free to use it and free to modify it.
Nexe Nexe does not support dynamic require because of its use of browserify, whereas Node.js Compiler supports all kinds of require including require.resolve.
asar Asar uses JSON to store files' information while Node.js Compiler uses SquashFS. Asar keeps the code archive and the executable separate while Node.js Compiler links all JavaScript source code together with the Node.js virtual machine and generates a single executable as the final product.
AppImage AppImage supports only Linux with a kernel that supports SquashFS, while Node.js Compiler supports all three platforms of Linux, macOS and Windows, meanwhile without any special feature requirements from the kernel.

@leecade
Copy link
Owner Author

leecade commented Jan 10, 2018

vercel/pkg#50

@leecade
Copy link
Owner Author

leecade commented Jan 10, 2018

https://github.com/roccomuso/upx

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

No branches or pull requests

1 participant