Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 941 Bytes

File metadata and controls

32 lines (28 loc) · 941 Bytes

hobby attempt to implement V8 based JS runtime

RUNNING

$ make
$ ./done ./samples/test.js

Features:

  • very basic console.log
  • es modules import
  • es modules dynamic import()
  • exit(code: number) implemented as winter TC proposed standard https://github.com/wintercg/proposal-cli-api?tab=readme-ov-file#exiting
  • TextDecoder with support only for utf-8/utf8 decoding
  • TextEncoder
  • prGocess.argv all program arguments
  • done.interpretArgv function to retrieve all interpreted argvs
  • done.syscall exposes linux syscall's to js side
    • getaddrinfo
    • socket
    • connect
    • recv
    • send
    • close
    • glob
    • posix_spawn
    • waitpid
  • --test flag which is very basic test runner (used in done.js to actually test js land)
  • basic URL (only features needed in fetch)
  • basic fetch