Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: pmq20/node-packer

Latest Windows Pre-release

Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:39
windows-x64

CI: name assets with version number

Latest Linux Pre-release

Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:25
linux-x64

CI: name assets with version number

Latest macOS Pre-release

Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:25
darwin-x64

CI: name assets with version number

Node.js Compiler v1.5.0

Choose a tag to compare

@pmq20 pmq20 released this 14 Aug 08:31
  • upgrade Node.js runtime to v8.3.0
  • upgrade libsquash to v0.8.0
    • allow creating files inside an existing folder of memfs
      • removes the temporary directory and files at exit
    • produce an executable squash_sample when BUILD_SAMPLE in cmake
      • let CI discover linking errors earlier about the sample
    • intercept CreateProcessW
      • unsets lpCurrentDirectory when it was set to __enclose_io_memfs__ paths
    • intercept SetCurrentDirectoryW, GetCurrentDirectoryW
    • implement enclose_io_mkdir for Windows
      • intercept _wmkdir
    • intercept CreateFileW() with writing
      • redirect CreateFileW() with writing inside the memfs to a temporary directory
      • removes the temporary directory and files at exit
  • add options to generate installers
    • add --pkg: generates a pkg installer for macOS
  • fix bad package versions for product.wxs when generating MSI installers
    • Fix bad versions in MSI like 1.0.0-rc.9
  • fix the example code on compiling a web application
  • removes the following files automatically before compiling
    • .git, a.exe, a.out
    • node_modules/node/bin/node.exe
    • node_modules/.bin/node.exe
    • node_modules/node/bin/node
    • node_modules/.bin/node
    • fixes #57
  • set ENCLOSE_IO_CHDIR env var if options.cwd is set in child_process.spawn
    • call process.chdir at start-up when ENCLOSE_IO_CHDIR is set

Download: http://enclose.io/nodec

Translations in Chinese:

  • 将编译器的 Node.js 运行时升级到了 v8.3.0
  • 将 libsquash 升级到了 v0.8.0
    • 允许在虚拟的内存文件系统中创建文件夹
      • 此种请求会被转发到磁盘的临时文件夹,并在退出时删除运行时所创建的文件夹及其内容
    • 让 cmake 在 BUILD_SAMPLE 的时候生成一个 squash_sample 可执行文件
      • 这可以让 CI 今早发现 sample 代码链接阶段的问题
    • 劫持 CreateProcessW 系统调用
      • 当第八个参数 lpCurrentDirectory 被设定为 __enclose_io_memfs__ 路径时清空这个参数,以防出错
    • 劫持 SetCurrentDirectoryW, GetCurrentDirectoryW 系统调用
    • 为 Windows 实现 enclose_io_mkdir 函数
      • 为 Windows 劫持 _wmkdir 系统调用
    • 劫持 CreateFileW() 系统调用的写的情况
      • 即允许在虚拟的内存文件系统中写文件,或在虚拟的内存文件系统中创建的文件夹内写文件
      • 此种请求会被转发到磁盘的临时文件夹,并在退出时删除运行时所写的文件
  • 添加更多生成安装器的选项
    • 添加 --pkg 以为 macOS 生成 pkg 安装器
  • 修复生成 MSI 安装器时特殊的版本号导致的出错,如带有英文的 1.0.0-rc.9
  • 修复编译 Web 应用示例时出错的问题
  • 编译开始前自动移除下列文件
    • .git, a.exe, a.out
    • node_modules/node/bin/node.exe
    • node_modules/.bin/node.exe
    • node_modules/node/bin/node
    • node_modules/.bin/node
    • 修复 #57
  • 设定 ENCLOSE_IO_CHDIR 环境变量来处理 child_process.spawnoptions.cwd 选项为包内虚拟路径的问题
    • 一旦 ENCLOSE_IO_CHDIR 环境变量被设定,则启动时自动调用 process.chdir 切换到设定的目录

下载地址: http://enclose.io/nodec

Node.js Compiler v1.4.0

Choose a tag to compare

@pmq20 pmq20 released this 21 Jul 02:58
  • upgrade Node.js runtime to v8.2.0
  • fix bad package names for product.wxs when generating MSI installers
  • upgrade to libsquash v0.7.0
    • test ifndef __USE_XOPEN_EXTENDED
  • upgrade to libautoupdate v0.2.0
    • Auto-update shall only run once in every 24 hours with help of the file ~/.libautoupdate
    • add argument force to autoupdate() in order to force an auto-update check
    • add CI to test autoupdate()
    • fix failures to replace itself when TMPDIR and current file is not on the same volume
  • remove node_main.obj before compiling to avoid a MS toolchain bug
  • make nodec version part of the tmpdir namings
  • use only the master CI
  • remove node/deps/npm

Download: http://enclose.io/nodec

Translations in Chinese:

  • 将编译器的 Node.js 运行时升级到了 v8.2.0
  • 修复 MSI 生成时包的名字出错;名字是动态替换进去的,有些包的名字里包含@和减号等特殊字符
  • 将 libsquash 升级到 v0.7.0
    • 提前测试是否定义了 __USE_XOPEN_EXTENDED
  • 将 libautoupdate 升级到 v0.2.0
    • 每次启动都检查更新会导致启动速度变慢,现改成了在用户主目录下记录 .libautoupdate 文件来限制 24 小时内只检查一次
    • autoupdate() 添加 force 参数来强制自动更新
    • 在 CI 中添加对 autoupdate() 的测试
    • Windows 下自动更新夸卷无法替换自身,现采取直接拿当前目录做临时目录的办法解决了这个问题
      • 例如在 D:\1\2.exe 下的文件直接拿 D:\1 来做临时目录,而不再取用 C 盘
      • #42
  • 每次编译之前都清理 node_main.obj 文件来避免遇到微软工具链的 bug 导致此文件过期
  • 让 nodec 的版本号也成为临时目录命名的一部分,实现了更安全的 nodec 自我自动更新
  • 简化 CI,今后只使用 master CI
  • 丢弃 node/deps/npm,降低了 nodec 的分发大小

下载地址: http://enclose.io/nodec

Node.js Compiler v1.3.0

Choose a tag to compare

@pmq20 pmq20 released this 17 Jul 06:19
  • upgrade Node.js runtime to v8.1.4
  • add options to generate installers
    • add --msi: generates a msi installer for Windows
  • use a temporary directory name with nodec version when compiling
  • add option --quiet to enable quiet mode
  • if ENTRANCE was not provided, then a single Node.js interpreter executable will be produced.
    • use this feature to warm up your tmpdir in one command: nodec --tmpdir=/your/dir

Download: http://enclose.io/nodec

Translations in Chinese:

  • 将编译器的 Node.js 运行时升级到了 v8.1.4
  • 添加生成安装器的选项
    • 添加 --msi 来为您的工程生成 Windows MSI 安装器
  • 使用取决于 Node.js 运行时版本的临时文件夹,再也不同担心升级 nodec 而导致临时文件夹过期了
  • 添加选项 --quiet 来进行静默编译
  • 当不提供入口 ENTRANCE 参数时,生成一个独立的 Node.js 解释器
    • 可以利用此功能一键跑热临时文件夹: nodec --tmpdir=/your/dir

下载地址: http://enclose.io/nodec

Node.js Compiler v1.2.0

Choose a tag to compare

@pmq20 pmq20 released this 06 Jul 10:59
  • equip nodec itself with auto-update abilities via cloud services provided by http://enclose.io
  • upgrade Node.js runtime to v8.1.3
  • allow Windows to spawn binaries inside the compiled product
  • add environment variable ENCLOSE_IO_USE_ITSELF, which avoids injecting ENCLOSE_IO_USE_ORIGINAL_NODE when spawning child processes
  • removes Master CI Part 2, which is now part of Master CI
  • add option --skip-npm-install to skip the npm install process
  • start using libautoupdate to handle auto-update
  • upgrade libsquash to v0.6.0
    • add enclose_io_ifextract(const char* path, const char* ext_name)
    • add enclose_io_if(const char* path)
    • fix a NULL-dereferencing in EncloseIOFindFirstFileHelper
    • convert macro ENCLOSE_IO_DOS_RETURN to a function
    • rename squash_global_fdtable_mutex to squash_global_mutex
    • intercept mkdir()
      • redirect mkdir() inside the memfs to a temporary directory
      • removes the temporary directory and files at exit
    • intercept open() with O_CREAT
      • redirect open() with O_CREAT inside the memfs to a temporary directory
      • removes the temporary directory and files at exit
    • handle the case where bin of package.json is a string, e.g. package.json of npm

Translations in Chinese:

  • 通过 http://enclose.io 提供的云服务,让 nodec 自身(从本版本起)也进行自动原地更新
  • 将编译器的 Node.js 运行时升级到了 v8.1.3
  • 处理 package.json 的 bin 内容为字符串而不是哈希的情况(如 npm 这个包的 package.json)
  • 允许 Windows 执行编译后的自身包内的二进制文件
  • 添加环境变量 ENCLOSE_IO_USE_ITSELF,用来阻止派生子进程时把自己视为 node 解释器使用
  • 移除 Master CI Part 2,合并入主 Master CI
  • 添加 --skip-npm-install 选项来跳过 npm install 过程
  • 将自动升级的逻辑单独抽成了一个库 libautoupdate v0.1.0
    • https://github.com/pmq20/libautoupdate
    • 当监测到新版本时,停用用户提示,直接更新,仅给出提示“通过 CI=true 环境变量可禁用自动更新”
    • 修复了第一步请求少发了 Host 头的问题
    • 处理第一轮请求获取新版本时得到多个 302 响应的情况
  • 将 libsquash 升级到了 v0.6.0
    • 添加新 API enclose_io_ifextract(const char* path, const char* ext_name)
    • 添加新 API enclose_io_if(const char* path)
    • 修复 EncloseIOFindFirstFileHelper 中的一个空指针解引用
    • 将宏 ENCLOSE_IO_DOS_RETURN 改写为函数调用
    • 将全局锁 squash_global_fdtable_mutex 重命名为 squash_global_mutex
    • 劫持 mkdir() 系统调用
      • 对于那些试图在只读的内存文件系统中进行 mkdir() 的系统调用转发到临时文件夹
      • 让程序退出时删除此临时文件夹和其中的所有文件
    • 劫持带有 O_CREAT flag 的 open() 系统调用
      • 将那些试图在只读的内存文件系统中进行带有 O_CREAT flag 的 open() 系统调用转发到临时文件夹
      • 让程序退出时删除此临时文件夹和其中的所有文件
Architecture Latest Stable
Windows x86-64 http://enclose.io/nodec/nodec-x64.zip
macOS x86-64 http://enclose.io/nodec/nodec-darwin-x64.gz
Linux x86-64 http://enclose.io/nodec/nodec-linux-x64.gz

Node.js Compiler v1.1.0

Choose a tag to compare

@pmq20 pmq20 released this 15 Jun 08:02
  • designed and published the project homepage via Ant Design
  • upgrade Node.js runtime to v8.1.1
  • upgrade Libsquash to v0.5.0
    • deprecate use of swprintf() to ease compiling on Windows
    • interpret system calls to access()
  • disable AutoUpdate when environment variable CI was set
  • support spawning child processes via sh -c "...", using the enclosed variable itself as the Node.js interpreter

Download Links: http://enclose.io/nodec

中文注解:

  • 用 Ant Design 为 Node.js Compiler 设计、发布了项目主页
  • 升级 Node.js 运行时到 v8.1.1
  • 升级 Libsquash 到 v0.5.0
    • 为方便在 Windows 上编译而去掉了 swprintf()
    • 劫持 access() 系统调用
  • 当环境变量 CI 被设定时,禁用自动更新
  • 支持以 sh -c "..." 的形式派生子程序,并把打包后的进程自身作为 Node.js 解释器使用

下载地址: http://enclose.io/nodec

Node.js Compiler v1.0.0

Choose a tag to compare

@pmq20 pmq20 released this 05 Jun 08:49
  • upgrade Node.js runtime to v8.0.0
  • upgrade libsquash to v0.4.0
  • add runtime support for native modules
  • add CI tests for native modules
  • make sure that we are able to compile web apps
  • allow executing files within the enclosed package
  • allow reusing the package itself as an Node.js interpreter
  • on Windows, build the corresponding arch. with the node under use
  • remove the ENCLOSE_IO_ALWAYS_USE_ORIGINAL_NODE hack
  • add auto-update feature via --auto-update-url and --auto-update-base

中文注解:

  • 升级 Node.js 运行时到 8.0.0
  • 升级 libsquash 到 v0.4.0
  • 支持使用 node-sass 等 C++ 扩展模块
  • 支持编译 Egg 等框架开发的 Web 应用
  • 支持执行包内的可执行文件,如 PhantomJS
  • 支持包分发后原地自动更新
Arch. Download
Windows x86-64 https://sourceforge.net/projects/node-compiler/files/v1.0.0/nodec-x64.exe/download
macOS x86-64 https://sourceforge.net/projects/node-compiler/files/v1.0.0/nodec-darwin-x64/download
Linux x86-64 https://sourceforge.net/projects/node-compiler/files/v1.0.0/nodec-linux-x64/download

Node.js Compiler v0.9.6

Choose a tag to compare

@pmq20 pmq20 released this 08 May 10:48
  • relax node.js version requirement: #27
  • upgrade Node.js runtime to v7.10.0
  • add hints about installing SquashFS Tools
Operating System Architecture Download Link
Windows x86 https://sourceforge.net/projects/node-compiler/files/v0.9.6/nodec.exe/download
macOS x86-64 https://sourceforge.net/projects/node-compiler/files/v0.9.6/nodec-darwin-x64/download
Linux x86-64 https://sourceforge.net/projects/node-compiler/files/v0.9.6/nodec-linux-x64/download
Morty Proxy This is a proxified and sanitized view of the page, visit original site.