Skip to content

Instantly share code, notes, and snippets.

@coreybutler
Last active January 14, 2023 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coreybutler/70518f30323fe3b480f5124762d4adf8 to your computer and use it in GitHub Desktop.
Save coreybutler/70518f30323fe3b480f5124762d4adf8 to your computer and use it in GitHub Desktop.
JavaScript Architecture
graph BT
    subgraph core[ ]
      direction BT
      subgraph rt[ ]
        %% direction TB
        cfw[Cloudflare Workers\nRuntime]
        bun[Bun\nRuntime]
        node[Node.js\nRuntime]
        deno[Deno\nRuntime]
        subgraph b[Browser Runtimes]
            direction TB
            c[Google Chrome\nMS Edge\nOpera]
            s[Safari]
            ff[Firefox]
        end
      end

      subgraph jse[<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>JavaScript Engines]
        direction TB
        subgraph v[ ]
          direction BT
          v8[Google\nV8]:::box
          i[V8 Isolates]:::box
          i.->|part of|v8
        end
        sm[Mozilla\nSpidermonkey]:::box
        jsc[Apple\nJavaScriptCore]:::box
      end
    end

    es[ECMAScript Specification\n<i>JavaScript Language</i>]
    
    v8:::boxlink-->node:::boxlink
    v8-->deno:::boxlink
    v8-->c:::box
    jsc:::boxlink-->s:::box
    jsc-->bun:::boxlink
    sm:::boxlink-->ff:::box
    i:::boxlink-->|Customized|cfw:::boxlink
    es:::boxlink-->core

    style core stroke-width:1px,fill:transparent,stroke:#aaa,stroke-dasharray: 5 3
    style b stroke-width:1px,fill:#efefef,stroke:#ccc,color:#bbb
    style jse stroke-width:1px,fill:transparent,color:#aaa,stroke:#cbcbcb,stroke-dasharray: 7 2
    style v stroke-width:0px,fill:transparent
    style rt stroke-width:0px,fill:transparent
    classDef box fill:#fff,stroke:#aaa
    classDef boxlink fill:#fff,stroke:#aaa,color:#336699
    
    click cfw https://workers.dev
    click node https://nodejs.org
    click deno https://deno.land
    click bun https://bun.sh
    click i https://v8docs.nodesource.com/node-0.8/d5/dda/classv8_1_1_isolate.html
    click v8 https://v8.dev/
    click jsc https://developer.apple.com/documentation/javascriptcore
    click sm https://spidermonkey.dev/
    click es https://262.ecma-international.org/13.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment