aboutsummaryrefslogtreecommitdiff
path: root/src/bundler.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-01-19Bun.Transpiler – API for scanning imports/exports of JSX/TSX/TS/JS filesGravatar Jarred Sumner 1-7/+13
2022-01-19`fs.*Sync()`, `bun wiptest`, and More ™ (#106)Gravatar Jarred Sumner 1-20/+50
* 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 * :sleepy: * [Bun.js] Implement `process.versions`, `process.pid`, `process.ppid`, `process.nextTick`, `process.versions`, * Implement `process.env.toJSON()` * [Bun.js] Improve performance of `fs.existsSync` * :nail_care: * [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 * :camera: * 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-05move some code aroundGravatar Jarred Sumner 1-281/+6
2022-01-04Improve error handling when out of file handlesGravatar Jarred Sumner 1-4/+2
2022-01-02Update bundler.zigGravatar Jarred Sumner 1-2/+3
2022-01-02copy: replace Bun with bun (#99)Gravatar luke miles 1-2/+2
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-01[bun dev] Automatically set `origin` - improve support for proxying BunGravatar Jarred Sumner 1-3/+12
Previously, when running Bun behind a reverse proxy, you had to pass an explicit `--origin` arg and it could only run behind one proxy at a time. Now, Bun automatically determines the origin from the request if possible. It reads `Forwarded`, `X-Forwarded-Proto`, `X-Forwarded-Host`, `Origin`, and lastly `Host`. If none are available, it falls back to the `--origin` CLI arg. This change is important for usecases like Replit which shows multiple iframes in different origins.
2021-12-30Upgrade to latest Zig, remove dependency on patched version of Zig (#96)Gravatar Jarred Sumner 1-69/+61
* Prepare to upgrade zig * zig fmt * AllocGate * Update data_url.zig * wip * few files * just headers now? * I think everything works? * Update mimalloc * Update hash_map.zig * Perf improvements to compensate for Allocgate * Bump * :camera: * Update bun.lockb * Less branching * [js parser] Slightly reduce memory usage * Update js_parser.zig * WIP remove unused * [JS parser] WIP support for `with` keyword * Remove more dead code * Fix all the build errors! * cleanup * Move `network_thread` up * Bump peechy * Update README.md
2021-12-27Prepare to run unit tests & remove some dead code (#92)Gravatar Jarred Sumner 1-1/+0
* Remove some dead code * :skull: code * Fix the zig tests * [JS Printer] Print integers faster & less scientific notation on decimals * :skull: dead code * skip * Run all the unit tests
2021-12-26Fixes #90Gravatar Jarred Sumner 1-10/+23
2021-12-24[bun bun] Improve error mesage when resolving entry point failsGravatar Jarred Sumner 1-2/+8
2021-12-21Slightly less pointer chasingGravatar Jarred SUmner 1-7/+13
2021-12-21--dump-limits flag to inspect what the max file descriptor & stack size isGravatar Jarred Sumner 1-0/+1
2021-12-18cross-promotionGravatar Jarred Sumner 1-2/+2
2021-12-16[bun install] Start add/remove commandGravatar Jarred Sumner 1-4/+6
2021-12-16Update bundler.zigGravatar Jarred Sumner 1-1/+1
2021-12-16Enable top-level await in browsersGravatar Jarred Sumner 1-1/+3
2021-12-16[bun bun] Fix a race condition introduced in ↵Gravatar Jarred Sumner 1-4/+7
#55ff681976f7bae5a428c409061991c07fa492e7
2021-12-16[macros] Slightly improve error message if macros fail to loadGravatar Jarred Sumner 1-2/+7
2021-12-04[resolver] Do not throw on require()/import errors when they're caught (and ↵Gravatar Jarred Sumner 1-51/+57
import is an await target)
2021-11-06[internal] Use a better timer for measuring parsing & resolving timingsGravatar Jarred Sumner 1-5/+5
2021-11-02[bun bun] `alwaysBundled` packages should use their real pathsGravatar Jarred Sumner 1-2/+5
2021-10-30[Bun.js] Ensure we print in Latin1 modeGravatar Jarred Sumner 1-0/+26
2021-10-30[Bun.js] Fix entry point to only call default if it was a CommonJS ↵Gravatar Jarred Sumner 1-1/+1
transformed function
2021-10-29[bun run] Support running JavaScript, TypeScript, JSX, and TSX files using ↵Gravatar Jarred Sumner 1-0/+2
Bun.js
2021-10-25[JSON loader] Fix importing JSON in ESM modulesGravatar Jarred Sumner 1-1/+1
2021-10-25[.env loader] Add CLI flag to dump loaded environment variables as JSONGravatar Jarred Sumner 1-0/+12
2021-10-23[internal] :scissors: dead codeGravatar Jarred Sumner 1-1/+0
2021-10-23[Bundler] When modules fail to resolve, continue building so that you can ↵Gravatar Jarred Sumner 1-29/+111
see many errors without re-running Bun
2021-10-20rewrote most of the routerGravatar Jarred Sumner 1-5/+4
2021-10-06HTTP paths must resolve from ./$PROJECT_ROOT unless explicitly marked absolute.Gravatar Jarred Sumner 1-15/+15
This fixes the issue with deeply nested PNPM workspace packages. Happened when using @emotion/react inside a PNPM workspace when @emotion/react was hoisted to the workspace root but react was in a child node_modules folder. It would fail to resolve `"react/jsx-dev-runtime"` because it didn't exist in any node_modules folder relative to `@emotion/react`'s real path.
2021-10-06Add support for reading JSX config from tsconfig.jsonGravatar Jarred Sumner 1-2/+15
2021-10-05analytics is good enough for nowGravatar Jarred Sumner 1-2/+24
2021-10-05Add `BUN_DISABLE_ANALYTICS` flag to disable analytics and automatically ↵Gravatar Jarred Sumner 1-0/+3
disable analytics when running inside `hyperfine`
2021-10-05Simple analyticsGravatar Jarred Sumner 1-0/+16
2021-10-04memfd experiment did not yield perf gains on Linuxjarred/fix-bunbun-on-wslGravatar Jarred SUmner 1-1/+1
I suspect the reason why is because we were already using tmpfs. So it was already writing to an in-memory file. O_TMPFILE doesn't seem to do anything for us either here.
2021-10-04Attempt to optimize `bun bun` on Linux by using memfd_create and copying the ↵Gravatar Jarred Sumner 1-9/+6
resulting file via sendfile()
2021-10-04Fix moving files across mount pointsGravatar Jarred Sumner 1-1/+1
2021-10-04Improve Bun's performance by 5%Gravatar Jarred Sumner 1-8/+7
By making E.Identifier not a pointer, we improve performance by 5%. Heap allocations are bad
2021-10-02Linux works now.Gravatar Jarred SUmner 1-1/+1
2021-09-30Pass MacroContext in more placesGravatar Jarred Sumner 1-0/+16
2021-09-30Support remapping macro pathsGravatar Jarred Sumner 1-18/+37
2021-09-26Most of macro implementationGravatar Jarred Sumner 1-0/+1
2021-09-24skeleton codebun-v0.0.22Gravatar Jarred Sumner 1-6/+7
2021-09-24macroGravatar Jarred Sumner 1-0/+78
2021-09-24Remove `cache_files` since it's not used and causes slower Bun compilation timesGravatar Jarred Sumner 1-2353/+2351
2021-09-23When bundling JSON, only use JSON.parse when the input is ASCII.Gravatar Jarred Sumner 1-15/+20
We don't want to add an extra pass over the input to convert it to UTF16. And JS engines storing strings as UTF-16 is more expensive anyway, so the runtime win here probably isn't as big (though open to evidence to the contrary!)
2021-09-23When bundling, parse the JSON to verify correctness, but print it as a ↵Gravatar Jarred Sumner 1-2/+24
string for better runtime performance
2021-09-23Support `alwaysBundle` for workspace packagesGravatar Jarred Sumner 1-17/+180
2021-09-22Print how many lines of code was parsed in `bun bun`Gravatar Jarred Sumner 1-2/+14