Description
Dear @pmq20, Thank you so much for the great work. I tested your Node compiler and it's outstanding. But I have some issues and thoughts to share with you.
1- I don't know much about C++ compiling, but it seems Node Compiler compiles all the C files each time and the whole build process takes so long even on a high-end machine. Is it possible to cache intermediate C++ objects before linking to reduce upcoming build time?
2- I did some testing with fs.readFile and fs.writeFile, it seems they work on the actual filesystem and it's a good idea. But the interesting thing is stylus package which generates CSS file from STYL file and stores them in assets folder doesn't work on the file system (no assets folder is created in the directory) although an empty enclose_io_memfs folder is created (which is unnecessary and probably a bug) where executable is deployed. So my question is how can read and write be done on ram partition instead of the filesystem?
3- Be able to use a custom icon and file description for the executable output. maybe an icon file in the package root directory.
4- Have predefined node command arguments like NODE_ENV=production and besides the ability to exclude files it's possible to use compiled CSS from Stylus and compiled PUG instead of plain ones. It's also a good idea to omit devDependencies packages in the package.json file.
5- I don't know if it's possible to have the app run in the background for example as a Windows service. It's a good option.
6- It's nice to be able to exclude unnecessary node built-in modules to decrease build time, output size and complexity.
7- I use closure compiler to transpile my js file to another folder, It's nice to be able to map the compiled folder to the source one during compile time. This way source is excluded and compiled takes its place.
8- I think defining options like output, tmpdir, auto-update-url and others in package.json is better than the command line as they persist in the package. maybe this format:
{..., nodec:{output:'', icon:'', description:'', args: 'NODE_ENV=production', service: true, exclude: {files: [], modules: []}, map: [{src: './jsc', dst: './js'}], ...}, ...}
9- I read the docs but didn't find anything if Node Compiler uses the V8 Compiler feature to compile JS codes for better code protection and performance. It seems enclosejs use this feature. https://github.com/v8/v8/blob/master/src/compiler.cc
Thank you for your time