leecade / fe

:dog: Provide Font-End 2017 Tech Stack and standalone build environment
MIT License
15 stars 3 forks source link

Reduce the size of install pkg #13

Open leecade opened 7 years ago

leecade commented 7 years ago

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 commented 6 years ago
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 commented 6 years ago

https://github.com/zeit/pkg/issues/50

leecade commented 6 years ago

https://github.com/roccomuso/upx