340 Commits

Author SHA1 Message Date
Jarred Sumner
ab7f57239d [bench] react hello world 2022-07-04 18:06:30 -07:00
Jarred Sumner
b685cd49a6 [bench] Add a react ssr hello world 2022-07-04 16:41:16 -07:00
Jarred Sumner
77b5999b73 [bench] Add a performance.now bench 2022-07-04 08:39:27 -07:00
Jarred Sumner
2f553df8be [bench] Add an async overhead bench 2022-07-04 08:39:18 -07:00
Jarred Sumner
17045601e7 [bench] Add an ffi data overhead bench 2022-07-04 08:39:07 -07:00
Jarred Sumner
7bb75f5553 Add dynamic require support 2022-06-24 06:59:47 -07:00
Jarred Sumner
729d445b68 change the directory structure 2022-06-22 23:21:48 -07:00
Jarred Sumner
fddf8f8163 Delete broken submodule 2022-06-12 03:16:50 -07:00
Jarred Sumner
552e93bfba Add fixture used in benchmark snippet 2022-06-07 22:46:05 -07:00
Jarred Sumner
43de33afc7 Web Streams API (#176)
* [bun.js] `WritableStream`, `ReadableStream`, `TransformStream`, `WritableStreamDefaultController`, `ReadableStreamDefaultController` & more

* Implement `Blob.stream()`

* Update streams.test.js

* Fix sourcemaps crash

* [TextEncoder] 3x faster in hot loops

* reading almost works

* start to implement native streams

* Implement `Blob.stream()`

* Implement `Bun.file(pathOrFd).stream()`

* Add an extra function

* [fs.readFile] Improve performance

* make jsc bindings a little easier to work with

* fix segfault

* faster async/await + readablestream optimizations

* WebKit updates

* More WebKit updates

* Add releaseWEakrefs binding

* `bun:jsc`

* More streams

* Update streams.test.js

* Update Makefile

* Update mimalloc

* Update WebKit

* Create bun-jsc.test.js

* Faster ReadableStream

* Fix off by one & exceptions

* Handle empty files/blobs

* Update streams.test.js

* Move streams to it's own file

* temp

* impl #1

* take two

* good enough for now

* Implement `readableStreamToArray`, `readableStreamToArrayBuffer`, `concatArrayBuffers`

* jsxOptimizationInlining

* Fix crash

* Add `jsxOptimizationInline` to Bun.Transpiler

* Update Transpiler types

* Update js_ast.zig

* Automatically choose production mode when NODE_ENV="production"

* Update cli.zig

* [jsx] Handle defaultProps when inlining

* Update transpiler.test.js

* uncomment some tests

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2022-06-07 22:32:46 -07:00
Jarred Sumner
7ca297a5cc Update download-northwind.sh 2022-05-16 19:51:30 -07:00
Jarred Sumner
31f3050356 Bump 2022-05-16 18:53:33 -07:00
Jarred Sumner
a37f86e89d bun:sqlite (#167)
* ✂️

* Add the slow version

* draw the rest of the owl

* Fix crash when allocating lots of memory

* [Bun.Transipiler] Support passing objects

* [JS Parser] Support passing objects to macros via Bun.Transpiler

* Update JSSQLStatement.cpp

* Embed SQLite

* Add SQLite to Dockerfile

* [sqlite] Add quick one-off queries without creating a whole object

* [sqlite] Add `columnsCount`, rename raw() to `values()`, remove `rebind`

* Implement `bun:sqlite`

* return null

* Fix updating query

* Update bun.d.ts

* more tests

* Support variadic arguments, write tests and add types

* Update sqlite.d.ts

* Update sqlite.d.ts

* latest

* Implement `Database.loadExtension` and `Database.setCustomSQLite`

* Support `require.resolve`

* [napi] Improve string performance

* [bun.js] Support some of `node:module`

* another test

* [sqlite] Support serialize & deserialize

* [`bun:ffi`] Implement `CFunction` and `linkSymbols`

* [bun.js] Fix crash in `Buffer.from`

* Update sqlite.test.js

* Document linkSymbols

* docs

* Update README.md
2022-05-16 15:46:20 -07:00
Jarred Sumner
61b2821472 Make the napi mjs file runnable in both bun & node 2022-05-11 15:12:17 -07:00
Jarred Sumner
247f4810c5 Fix export symbols on Linux 2022-05-11 03:45:00 -07:00
Jarred Sumner
eb2a6aee4d Include napi in plus100 2022-05-10 20:50:38 -07:00
Jarred Sumner
bdf28e42f6 [bun.js] Support gzipSync, gunzipSync, inflateSync, deflateSync 2022-05-07 01:38:26 -07:00
Jarred Sumner
164483c137 Update buffer.js 2022-05-04 07:03:22 -07:00
Jarred Sumner
e3362a0fda clarify 2022-05-03 02:35:05 -07:00
Jarred Sumner
91e96a8da8 ffi overhead bench 2022-05-03 02:11:59 -07:00
Jarred Sumner
8b1924f6c2 Add docs for FFI 2022-05-03 01:25:46 -07:00
Jarred Sumner
125a4c747b [bun:ffi] cleanup 2022-05-02 03:40:14 -07:00
Jarred Sumner
e26f96b748 wip 2022-04-29 00:47:26 -07:00
Jarred Sumner
fd56d0f116 more work on buffer 2022-04-28 06:56:28 -07:00
Jarred SUmner
81eb47de0e [bun.js] Add stdout, stderr, stdin to Bun and support sendfile() + splice() 2022-04-06 01:53:05 -07:00
Jarred Sumner
75fa87482d file is too big 2022-03-15 20:17:53 -07:00
Jarred Sumner
44b0c8153a Source Maps for client-side errors & columns 2022-03-11 00:03:09 -08:00
Jarred Sumner
4ac8c1bd84 Add copyfile snippet 2022-01-23 21:14:34 -08:00
Jarred Sumner
9c627e884d Create cat.mjs 2022-01-22 21:40:57 -08:00
Jarred Sumner
da83583cdf Create realpath.mjs 2022-01-22 21:19:18 -08:00
Jarred Sumner
4d9ae0df06 📷 2022-01-22 20:46:28 -08:00
Jarred Sumner
8f7cf6bf47 little 2022-01-21 05:09:58 -08:00
Jarred Sumner
4a7b5892af Add a little benchmark for transpiling from inside JS 2022-01-21 04:58:28 -08:00
Jarred Sumner
85084c6db9 Fix segfault 2022-01-20 01:42:23 -08:00
Jarred Sumner
a09b995651 Bun.Transpiler – API for scanning imports/exports of JSX/TSX/TS/JS files 2022-01-19 23:07:03 -08:00
Jarred Sumner
d3a93d5273 fs.*Sync(), bun wiptest, and More ™ (#106)
* very very wip

* almost ready to fix the errors

* Update identity_context.zig

* Update base.zig

* [bun test] It runs successfully

* Remove unnecessary call

* [Bun.js] Improve JS <> Zig unicode string interop

This fixes longstanding unicode bugs with `console.log` & `fetch`.

I believe @evanwashere reported this first awhile ago

* [Bun.js] Implement `Object.is()` binding and a way to set a timeout for script execution

* Update PLCrashReport.zig

* [Bun.js] Make `console.log` more closely match Node.js and Deno

* [Bun.js] Implement formatting specifier for console.*

* Implement `console.clear()`

* bug fix

* Support console.clear()

* Buffer stderr

* [bun test] Begin implementing Node.js `fs`

* Update darwin_c.zig

* Implement more of `fs`

* `mkdir`, `mkdir` recursive, `mkdtemp`

* `open`, `read` (and pread)

* Move some things into more files

* Implement readdir

* `readFile`, `readLink`, and `realpath`

* `writeFile`, `symlink`, `chown`, `rename`, `stat`, `unlink`, `truncate`

* `lutimes`

* Implement `SystemError` and begin wiring up the `fs` module

* `"fs"` - Most of the arguments / validation

* `fs` - Rest of the arguments / validations

* Begin wiring up the `fs` module

* Fix all the build errors

* support printing typed arrays in console.log

* It...works?

* Support `require("fs")`, `import fs from 'fs';`, `import * as fs from 'fs'`

* Fix a couple bugs

* get rid of the crash reporter for now

* Update fs.exports.js

* [bun.js] slight improvement to startup time

* [bun.js] Improve error message printing

* [Bun.js] Add `Bun.gc()` to run the garbage collector manually and report heap size

* [Bun.js] Add Bun.generateHeapSnapshot to return what JS types are using memory

* [Bun.js] Add `Bun.shrink()` to tell JSC to shrink the VM size

* Improve encoding reader

* [bun.js] Improve callback & microtask performance

* Update node_fs.zig

* Implement `console.assert`

* simple test

* [Bun.js] Prepare for multiple globals/realms to support testing

* Create callbacks-overhead.mjs

* Update http.zig

* [Bun.js] Implement `queueMicrotask`

* Add test for queueMicrotask

* 😪

* [Bun.js] Implement `process.versions`, `process.pid`, `process.ppid`, `process.nextTick`, `process.versions`,

* Implement `process.env.toJSON()`

* [Bun.js] Improve performance of `fs.existsSync`

* 💅

* [Bun.js] Implement `process.chdir(str)` and `process.cwd()`, support up to 4 args in `process.nextTick`

* Make creating Zig::Process lazy

* Split processi nto separte file

* [Bun.js] Node.js Streams - Part 1/?

* [Bun.js] Node.js streams 2/?

* WIP streams

* fix crash

* Reduce allocations in many places

* swap

* Make `bun` start 2ms faster

* Always use an apiLock()

* libBacktrace doesn't really work yet

* Fix crash in the upgrade checker

* Clean up code for importing the runtime when not bundling

* 📷

* Update linker.zig

* 68!

* backtrace

* no, really backtrace

* Fix

* Linux fixes

* Fixes on Linux

* Update mimalloc

* [bun test] Automatically scan for {.test,_test,.spec,_spec}.{jsx,tsx,js,cts,mts,ts,cjs}
2022-01-19 02:29:07 -08:00
luke miles
7f33846005 copy: replace Bun with bun (#99)
Most CLI tools have the style convention of referring to themselves in
lowercase. It is, after all, the name that users type in when using
the tool. This PR maintains that convention in bun.

"Drop the uppercase B, it's cleaner"
2022-01-02 03:09:51 -08:00
Jarred Sumner
fd80d0a22d Fix loading CSS benchmark 2021-11-21 17:30:50 -08:00
Jarred Sumner
2bf7b5a7ab Update readme.md 2021-10-07 22:31:36 -07:00
Jarred Sumner
ae7b91efe2 Add CSS HMR benchmark 2021-10-07 21:27:47 -07:00