Commit Graph

41 Commits

Author SHA1 Message Date
oxmc bc2c72d4e8 release: 5.0.0-beta
CI / infra:
  - Replace azure-pipelines with GitHub Actions (build-asset.yml)
  - Build and publish pre-built assets for windows-x64, mac-arm64,
    linux-x64, and linux-x64-musl on tag push
  - Remove EOL Node 18 and 20 from build matrix; default to lts/*, 22, 24

  Bug fixes:
  - fix: _assembleDeliverable deadlock — bundle.finalize() must be called
    before MultiStream starts consuming; calling it in the Transform's
    first-chunk callback deadlocked because archiver never emits without
    finalize, so the sentinel and trailers were never written
  - fix: ESM realpathSync ENOENT on Node 22.22+ / Node 24 — these versions
    removed the ENOENT catch in finalizeResolution; VFS paths don't exist
    on real FS so binding.lstat throws. Two-pronged fix:
    (1) boot-nexe.ts: install ENOENT-tolerant wrapper before _compile()
    (2) shim.ts: re-apply wrapper after shimFs() overwrites boot-nexe's
        patch, so the ESM resolver captures the tolerant version at first
        ESM load
  - fix: replace got (unmaintained) with axios in download step
  - fix: update default remote to oxmc/nexe releases

  Features:
  - macOS binary signing support (patchMachOExecutable)
  - bundleRules option for fine-grained VFS include/exclude per module
  - Improved SnapshotZipFS path handling and fallback behaviour
2026-05-19 01:16:37 -07:00
oxmc 5522ecde39 replace got with axios, and add macOS sign support with pr #1049 2025-12-07 01:11:41 -08:00
bruce-one 5219a2ac74 fix: file lookup when the nexe binary is in another directory (#1097)
To match the existing (4.x) behaviour, we need to lookup the zipFS for a
file path that's relative to the cwd. This is noticeable when the
executable is in another directory because the existing path lookups
didn't handle this case.
2024-07-04 13:41:27 -05:00
bruce-one ca657b5b06 feat: use yarn fslib/zip for fs shimming (#1048)
* refactor: compile with esmoudle interop

* Rigidify code replacement by using Lodash templates.

* Generate zip file bundle.

* Use yarn's fslib to implement the fake filesystem.

Leverage the work done by yarn, rather than reimplementing from scratch.

This means the fake fs is now reading from a zip file in the binary.

A few methods need custom implementations as the fake fs is not
writable. These were copied and adjusted from the yarn ZipOpenFS.

* Add test suite using the built artefact.

Smoke tests the different fs methods.

Not perfect in any world, but better than nothing.

* Fix tsc on Windows - globbing doesn't work there.

There's probably a cleaner way to do this...

* Bump version.

* Dep bumps.

* fixup 9d57b32: make fs patch code clearer.

* fixup 3771c720: simplify test to just use require directly.

---------

Co-authored-by: calebboyd <caleb.boyd@gmail.com>
2023-08-20 14:43:06 -05:00
calebboyd 9962630ace chore: bump package-lock version and dev deps 2021-02-25 06:37:52 -06:00
calebboyd ea6f1f0808 fix: update legacy v3 tag while v4 is beta 2020-06-22 14:59:44 -05:00
Aral Balkan 01c977bb3c feat: alternate nexe base binary remotes (--remote option) (#760) 2020-05-08 17:42:03 -05:00
calebboyd 0865fda5ef fix: don't infer main module when not in tty 2019-04-15 23:01:50 -05:00
calebboyd d385923c5a test: fix folder inference on circle ci 2018-09-24 11:28:49 -05:00
calebboyd 53ef02f87a feat: standalone bundler 2018-09-24 11:28:49 -05:00
calebboyd 5ac93b43ec fix: set input with module resolve 2018-09-24 11:28:49 -05:00
calebboyd b8522b6310 fix: error on missing entry
closes #467

closes #464
2018-09-24 11:28:49 -05:00
calebboyd 92058b6137 chore(bundling): start alternate bundling strategy 2018-09-24 11:28:49 -05:00
calebboyd ce9cdcba46 feat(releases): add arm7l architecture as buildable releases 2018-09-24 11:28:49 -05:00
calebboyd 4ec8a43d60 fix: consistent cwd usage 2017-10-05 20:54:37 -05:00
calebboyd 55c95b4663 docs: elaborate on target 2017-09-30 15:06:34 -05:00
calebboyd bc2a637cc4 docs: cleanup 2017-09-10 20:18:37 -05:00
calebboyd 04fdd165a4 feat: productversion and fileversion replacements in node-rc 2017-09-08 14:29:19 -05:00
calebboyd ee529ce9b5 chore: fix target parsing 2017-09-07 22:56:30 -05:00
calebboyd a0d859921d feat: initial fuse-box bundling support 2017-09-04 14:46:06 -05:00
Jared Allard f6a18e18db npm/exe: check for lib/internal/boostrap_node.js, npm 1.1.2 fixes #207 2016-04-08 09:49:28 -07:00
Jared Allard f8b9de750f tests: actually output from the right command 2016-02-24 22:03:12 -08:00
Jared Allard cfd01c60c6 tests: output output for debug for now 2016-02-24 21:57:28 -08:00
Jared Allard 220836ea2f test: add cicircle, testing compilier toolchain. 2016-02-24 18:38:29 -08:00
Jared Allard 599858f799 test: run npm install on each test before trying to compile 2016-02-24 16:21:30 -08:00
Jared Allard f690b81a97 tests: finalize test system for now, be ready for a ci someday 2016-02-24 15:39:59 -08:00
Jared Allard 6faed1838f test: track tets/{mocha.opts, test.js} 2016-02-24 14:28:55 -08:00
Jared Allard 841f22f0bb tests: fix incorrect write type for express-test, exit process 2016-02-24 13:22:21 -08:00
Jared Allard ab1d92cf68 exe: fix an issue where finalContents isnt initialized, more test work 2016-02-24 12:58:13 -08:00
Jared Allard 208c2b2b56 bundle: add _process instead of process to igv, start test system work 2016-02-24 00:00:46 -08:00
Jared Allard a8c13a436b bundle: browserify.paths for controling require paths from nexe 2016-02-23 23:14:57 -08:00
Jared Allard f50e94a781 bundle/exe: more ES6, browserify.excludes, browserify.requires in package.json. 2016-02-23 23:00:19 -08:00
Jared Allard 6a07ea62ea exe: support --jsFlag, use browserify API, try to get work started on source maps 2016-02-07 00:45:16 -08:00
Jared Allard f75948b7e8 exe: use custom tar+gz extraction method, should fix #175 2016-02-01 12:56:48 -08:00
Jared Allard ea38821fd4 test: include js-yaml senario, which fixes #148 2016-01-28 17:51:56 -08:00
Jared Allard 54675f0e23 bundle: search top-level directories for browserify as well. Fixes #170. Implement support for js-flags in 0.12.x 2016-01-28 15:32:33 -08:00
Jared Allard 3ac02efd18 readme: document opts for nexe.compile and package.json 2016-01-28 14:50:37 -08:00
Jared Allard b100922d91 test: dont append os ext to test file. 2016-01-28 14:29:21 -08:00
Jared Allard 87660c3682 exe: fixes #168. Implements package.json nexe.runtime.js-flags for v8 flags. 2016-01-28 14:25:31 -08:00
Jared Allard 3e708ca916 npm: prepare 1.0.5 2016-01-24 17:30:40 -08:00
Jared Allard 7641afa5a4 test: express test 2016-01-22 12:36:39 -08:00