@compuives
Co-Founder @ CodeSandbox
Eeeevs
Aives
Flip
https://codesandbox.io
Inner Workings
Future
Story
31 October 2016
11 November 2016
25 November 2016
26 November 2016
17 December 2016
29 December 2016
26 January 2017
And how does it work?
Before
import Hello from './Hello';
var Hello = require('./Hello').default;
Evaluate
JavaScript
Transpiled
const require = (path) => { };
(0, eval)(transpiledCode)
Limitations
1. Everything needs to be synchronous
2. No parallelization
3. No support for emitting module
- .vue => {.css, .js, .js}
4. No chained loaders
- sass => css => css modules
Now
Evaluate
Files
Transpiled
var
var
var
var
var
var
Workers
https://codesandbox.io/s/example-bundler-2-bru8v
I want
Packager
Packager
react
react-dom
Merge Dependencies
browser
https://github.com/codesandbox/sandpack
https://sandpack.vercel.app/
NeekSandhu
VSCode + UI
Extension Host
tsserver
CodeSandbox
Extension Host
tsserver
bridge
CodeSandbox
Extension Host
tsserver
VSCode
Node
Shims
Node
Shims
Main Process
Renderer Process
Renderer Process
fs
net
tty
module
http
os
electron
Try #1
fileService
notificationService
clipboardService
storageService
requestService
editorService
codeSandboxService
fileService
storageService
Try #2
/:owner/:repo/main
/:owner/:repo/feature/branch
/:owner/:repo/main
/:owner/:repo/feature/branch