-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #31 from nodejs/meeting-2022-09-05
doc: add minutes for meeting 5 Sep 2022
- Loading branch information
Showing
1 changed file
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Node.js Single-Executable Meeting 2022-09-05 | ||
|
||
## Links | ||
|
||
* **Recording**: https://youtu.be/93cIMtkQaak | ||
* **GitHub Issue**: https://github.com/nodejs/single-executable/discussions/19 | ||
|
||
## Present | ||
|
||
* Anna Henningsen @addaleax | ||
* Darshan Sen @RaisinTen | ||
* Jean Burellier @sheplu | ||
* Juan Cruz Viotti @jviotti | ||
* Maël Nison @arcanis | ||
* Tobias Nießen @tniessen | ||
|
||
## Notes | ||
|
||
During this call, most of the discussions revolved around the problem of | ||
designing a general Virtual File System that would fit every necessary use | ||
case, ranging from compression support, native add-on interoperability, etc. | ||
|
||
The key conclusion from the call is that designing a truly universal VFS that | ||
checks all the boxes that we care about and the ones that are probably unknown | ||
so far is not trivial. For this reason, we will attempt to make VFS | ||
user-defined for the SEA MVP. That way, we will have a better sandbox to play | ||
with VFS', see what people come up with and eventually bring back these | ||
learnings to the SEA project without getting indefinitely stuck at the VFS | ||
phase. | ||
|
||
To accomplish this decoupling, we hope to: | ||
|
||
- Provide hooking capabilities to Node.js to allow developers to extend | ||
`require()`, `fs` and related key components of Node.js to support arbitrary | ||
virtual file systems without monkey-patching these modules like i.e. | ||
Electron, Yarn and PKG do at the moment. | ||
|
||
- Fix remaining issues on the Resource Injector current implementation | ||
(https://github.com/postmanlabs/postject) for injecting multiple sections of | ||
data. One of these sections will contain the VFS byte-stream, and the other | ||
one will contain the bootstrap script that can be injected to `teach` Node.js | ||
about the VFS of choice. | ||
|
||
Once we have a better grasp on what the ideal VFS should look like, we will | ||
attempt to ship the SEA project with a blessed VFS implementation. | ||
|
||
We also touched on what the definition of "Single Executable Application" | ||
means. Does it mean we will go out of our way to package every Node.js | ||
application as a single file (embedding native add-ons, etc on the executable | ||
itself)? Does an app that consists of the main executable along with sibling | ||
".node" shared libraries still qualifies as a SEA? Clearly defining what an SEA | ||
is (and is not) is key for identifying the core constrains for the ideal VFS | ||
implementation later down the road. | ||
|
||
## Action Items | ||
|
||
- [ ] Make defining user-land VFS' feasible (given the plan outlined above) | ||
- [ ] Define and document what SEAs really mean | ||
|
||
## Upcoming Meetings | ||
|
||
* **Node.js Project Calendar**: <https://nodejs.org/calendar> | ||
|
||
Click `+GoogleCalendar` at the bottom right to add to your own Google calendar. |