mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 02:48:50 +00:00
* 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}
93 lines
2.7 KiB
Zig
93 lines
2.7 KiB
Zig
const env = @import("env.zig");
|
||
pub const strong_etags_for_built_files = true;
|
||
pub const keep_alive = true;
|
||
|
||
// it just doesn't work well.
|
||
pub const use_std_path_relative = false;
|
||
pub const use_std_path_join = false;
|
||
|
||
// Debug helpers
|
||
pub const print_ast = false;
|
||
pub const disable_printing_null = false;
|
||
|
||
// This was a ~5% performance improvement
|
||
pub const store_file_descriptors = !env.isWindows and !env.isBrowser;
|
||
|
||
pub const css_in_js_import_behavior = CSSInJSImportBehavior.facade;
|
||
|
||
pub const only_output_esm = true;
|
||
|
||
pub const jsx_runtime_is_cjs = true;
|
||
|
||
pub const bundle_node_modules = true;
|
||
|
||
pub const tracing = true;
|
||
|
||
pub const verbose_watcher = false;
|
||
|
||
pub const css_supports_fence = true;
|
||
|
||
pub const enable_entry_cache = true;
|
||
pub const enable_bytecode_caching = false;
|
||
|
||
pub const dev_only = true;
|
||
|
||
pub const verbose_fs = false;
|
||
|
||
pub const watch_directories = true;
|
||
|
||
pub const tailwind_css_at_keyword = true;
|
||
|
||
pub const bundle_dynamic_import = true;
|
||
|
||
// This feature flag exists so when you have defines inside package.json, you can use single quotes in nested strings.
|
||
pub const allow_json_single_quotes = true;
|
||
|
||
pub const react_specific_warnings = true;
|
||
|
||
pub const log_allocations = false;
|
||
|
||
pub const CSSInJSImportBehavior = enum {
|
||
// When you import a .css file and you reference the import in JavaScript
|
||
// Just return whatever the property key they referenced was
|
||
facade,
|
||
facade_onimportcss,
|
||
};
|
||
|
||
// having issues compiling WebKit with this enabled
|
||
pub const remote_inspector = false;
|
||
pub const auto_import_buffer = false;
|
||
|
||
pub const is_macro_enabled = true;
|
||
|
||
// pretend everything is always the macro environment
|
||
// useful for debugging the macro's JSX transform
|
||
pub const force_macro = false;
|
||
|
||
pub const include_filename_in_jsx = false;
|
||
|
||
pub const verbose_analytics = false;
|
||
|
||
pub const disable_compression_in_http_client = false;
|
||
|
||
// Not sure why...
|
||
// But this is slower!
|
||
// ~/Build/throw
|
||
// ❯ hyperfine "bun create react3 app --force --no-install" --prepare="rm -rf app"
|
||
// Benchmark #1: bun create react3 app --force --no-install
|
||
// Time (mean ± σ): 974.6 ms ± 6.8 ms [User: 170.5 ms, System: 798.3 ms]
|
||
// Range (min … max): 960.8 ms … 984.6 ms 10 runs
|
||
|
||
// ❯ mv /usr/local/opt/libgit2/lib/libgit2.dylib /usr/local/opt/libgit2/lib/libgit2.dylib.1
|
||
|
||
// ~/Build/throw
|
||
// ❯ hyperfine "bun create react3 app --force --no-install" --prepare="rm -rf app"
|
||
// Benchmark #1: bun create react3 app --force --no-install
|
||
// Time (mean ± σ): 306.7 ms ± 6.1 ms [User: 31.7 ms, System: 269.8 ms]
|
||
// Range (min … max): 299.5 ms … 318.8 ms 10 runs
|
||
pub const use_libgit2 = true;
|
||
|
||
pub const atomic_file_watcher = env.isLinux;
|
||
|
||
pub const node_streams = env.isDebug or env.isTest;
|