* Update Node to 10.15.1
* Remove string replace that was used for oclif
* Update nbin
* Package node-pty and spdlog with nbin
* Label stderr/stdout from shared process
* Remove fork override
* Prevent "already disposed" errors when trying to kill disposed proxies
* Include spdlog dependencies
* Shim /node_modules
* Add node_modules to Docker ignore
It keeps using my already-built .node files which results in a
mismatching GLIBC version error.
* Update nbin
* Adjust linux distro to ubuntu 14.04
* Cache lib directory for speedy builds
* Fix path linking for default extensions
* Update reset
* Reset to head
* Improve caching
* Still run yarn in CI
* Update yarn before install
* Increase cache timeout
* Install vscode from vstar
* Undo data-dir changes to CLI, add back clean, remove unused CI func
* Remove additional flags added
* Remove unused dependency
* Reset vscode install dir so patching always works
* Replace evaluations with proxies and messages
* Return proxies synchronously
Otherwise events can be lost.
* Ensure events cannot be missed
* Refactor remaining fills
* Use more up-to-date version of util
For callbackify.
* Wait for dispose to come back before removing
This prevents issues with the "done" event not always being the last
event fired. For example a socket might close and then end, but only
if the caller called end.
* Remove old node-pty tests
* Fix emitting events twice on duplex streams
* Preserve environment when spawning processes
* Throw a better error if the proxy doesn't exist
* Remove rimraf dependency from ide
* Update net.Server.listening
* Use exit event instead of killed
Doesn't look like killed is even a thing.
* Add response timeout to server
* Fix trash
* Require node-pty & spdlog after they get unpackaged
This fixes an error when running in the binary.
* Fix errors in down emitter preventing reconnecting
* Fix disposing proxies when nothing listens to "error" event
* Refactor event tests to use jest.fn()
* Reject proxy call when disconnected
Otherwise it'll wait for the timeout which is a waste of time since we
already know the connection is dead.
* Use nbin for binary packaging
* Remove additional module requires
* Attempt to remove require for local bootstrap-fork
* Externalize fsevents
* Add windows support
* Improve multi-platform support
* Install with network-concurrency 1
* Use file-glob to upload windows binary
* Don't install packages in parallel if on windows
* Rename vscode-remote to code-server
* Add output at intervals so CI doesn't kill build
* Update all tasks to provide timed output
* Don't perform tasks sync otherwise we can't log
* Add trace log level
* Use active eval to implement spdlog
* Split server/client active eval interfaces
Since all properties are *not* valid on both sides
* +200% fire resistance
* Implement exec using active evaluations
* Fully implement child process streams
* Watch impl, move child_process back to explicitly adding events
Automatically forwarding all events might be the right move, but wanna
think/discuss it a bit more because it didn't come out very cleanly.
* Would you like some args with that callback?
* Implement the rest of child_process using active evals
* Rampant memory leaks
Emit "kill" to active evaluations when client disconnects in order to
kill processes. Most likely won't be the final solution.
* Resolve some minor issues with output panel
* Implement node-pty with active evals
* Provide clearTimeout to vm sandbox
* Implement socket with active evals
* Extract some callback logic
Also remove some eval interfaces, need to re-think those.
* Implement net.Server and remainder of net.Socket using active evals
* Implement dispose for active evaluations
* Use trace for express requests
* Handle sending buffers through evaluation events
* Make event logging a bit more clear
* Fix some errors due to us not actually instantiating until connect/listen
* is this a commit message?
* We can just create the evaluator in the ctor
Not sure what I was thinking.
* memory leak for you, memory leak for everyone
* it's a ternary now
* Don't dispose automatically on close or error
The code may or may not be disposable at that point.
* Handle parsing buffers on the client side as well
* Remove unused protobuf
* Remove TypedValue
* Remove unused forkProvider and test
* Improve dispose pattern for active evals
* Socket calls close after error; no need to bind both
* Improve comment
* Comment is no longer wishy washy due to explicit boolean
* Simplify check for sendHandle and options
* Replace _require with __non_webpack_require__
Webpack will then replace this with `require` which we then provide to
the vm sandbox.
* Provide path.parse
* Prevent original-fs from loading
* Start with a pid of -1
vscode immediately checks the PID to see if the debug process launch
correctly, but of course we don't get the pid synchronously.
* Pass arguments to bootstrap-fork
* Fully implement streams
Was causing errors because internally the stream would set this.writing
to true and it would never become false, so subsequent messages would
never send.
* Fix serializing errors and streams emitting errors multiple times
* Was emitting close to data
* Fix missing path for spawned processes
* Move evaluation onDispose call
Now it's accurate and runs when the active evaluation has actually
disposed.
* Fix promisifying fs.exists
* Fix some active eval callback issues
* Patch existsSync in debug adapter
* Clean up workbench and integrate initialization data
* Uncomment Electron fill
* Run server & client together
* Clean up Electron fill & patch
* Bind fs methods
This makes them usable with the promise form:
`promisify(access)(...)`.
* Add space between tag and title to browser logger
* Add typescript dep to server and default __dirname for path
* Serve web files from server
* Adjust some dev options
* Rework workbench a bit to use a class and catch unexpected errors
* No mkdirs for now, fix util fill, use bash with exec
* More fills, make general client abstract
* More fills
* Fix cp.exec
* Fix require calls in fs fill being aliased
* Create data and storage dir
* Implement fs.watch
Using exec for now.
* Implement storage database fill
* Fix os export and homedir
* Add comment to use navigator.sendBeacon
* Fix fs callbacks (some args are optional)
* Make sure data directory exists when passing it back
* Update patch
* Target es5
* More fills
* Add APIs required for bootstrap-fork to function (#15)
* Add bootstrap-fork execution
* Add createConnection
* Bundle bootstrap-fork into cli
* Remove .node directory created from spdlog
* Fix npm start
* Remove unnecessary comment
* Add webpack-hot-middleware if CLI env is not set
* Add restarting to shared process
* Fix starting with yarn
* Implements the fs module
* Add stats object
* Add not implemented to createWriteStream
* Update mkdtemp to use tmp dir
* Unexport Stats
* Add client web socket for commands and restructure