aboutsummaryrefslogtreecommitdiff
path: root/src/js_printer.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-01-22Reset imported_module_idsGravatar Jarred Sumner 1-1/+9
2022-01-21Update js_printer.zigGravatar Jarred Sumner 1-5/+5
2022-01-19`fs.*Sync()`, `bun wiptest`, and More ™ (#106)Gravatar Jarred Sumner 1-1/+70
* 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-05[JS Parser] Reduce memory usage by ~8%Gravatar Jarred Sumner 1-0/+11
2022-01-03dead codeGravatar Jarred Sumner 1-1/+0
2022-01-02copy: replace Bun with bun (#99)Gravatar luke miles 1-1/+1
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"
2021-12-30Upgrade to latest Zig, remove dependency on patched version of Zig (#96)Gravatar Jarred Sumner 1-85/+93
* 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-6/+111
* 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-16[transpiler] Don't insert `import` statements for disabled `require()`Gravatar Jarred Sumner 1-84/+40
2021-12-16Update js_printer.zigGravatar Jarred Sumner 1-1/+8
2021-12-16Update js_printer.zigGravatar Jarred Sumner 1-1/+1
2021-12-16[bundler][JS transpiler] Improve reliability of ESM <> CommonJS interopGravatar Jarred Sumner 1-61/+56
This fixes a number of issues caused by not using live bindings when referencing bundled code. This also fixes an issue with libraries looping over `Object.keys(moduleNamespace)`
2021-12-15wip fix live bindingsGravatar Jarred Sumner 1-220/+184
2021-11-15Fix #66Gravatar Jarred Sumner 1-1/+1
embarassing!
2021-11-15[JS Printer] Don't escape slashesGravatar Jarred Sumner 1-0/+1
2021-11-15[JS Printer] Fix bug with template literalsGravatar Jarred Sumner 1-10/+2
2021-11-08[JS Printer] Fix bug with optional chainGravatar Jarred Sumner 1-6/+11
2021-11-04[JSX] Match esbuild behavior for multiline JSX string literalsGravatar Jarred Sumner 1-0/+20
2021-10-30Fixes #34Gravatar Jarred Sumner 1-10/+9
2021-10-25Fix JSX unicode handling, slightly improve perfGravatar Jarred Sumner 1-34/+40
2021-10-25Fix all known string encoding bugsGravatar Jarred Sumner 1-40/+143
2021-10-23[Bun.js] Escape unicode identifiers. This is necessary because we load ↵Gravatar Jarred Sumner 1-18/+81
source code into JavaScriptCore as latin1 to conserve memory. Loading as UTF-16 means your code uses 2x as much memory.
2021-10-14`bun create react app` is almost doneGravatar Jarred Sumner 1-10/+51
2021-10-07Fix edgecase when bundling JavaScript that references ESM exported functions ↵Gravatar Jarred Sumner 1-12/+5
before they're defined
2021-10-04Improve Bun's performance by 5%Gravatar Jarred Sumner 1-4/+3
By making E.Identifier not a pointer, we improve performance by 5%. Heap allocations are bad
2021-10-03Fix various macOS-specific compile errors and run `zig fmt`Gravatar Jarred Sumner 1-7/+5
2021-10-031% perf improvements on Linuxjarred/linuxGravatar Jarred SUmner 1-8/+50
2021-09-26Most of macro implementationGravatar Jarred Sumner 1-2/+5
2021-09-26Basic macro implGravatar Jarred Sumner 1-3/+3
2021-09-23Handle more edgecases in our CJS2ESM conversion codeGravatar Jarred Sumner 1-3/+7
2021-09-23Safer export default transform for bundled codeGravatar Jarred Sumner 1-1/+7
2021-09-22Fix edgecase with whether to wrap arrow expressions in parentheses when printingGravatar Jarred Sumner 1-2/+2
2021-09-22Fix edgecase with bare imports inside .bunGravatar Jarred Sumner 1-8/+13
2021-09-20Fix parsing/printing unicode identifiers, switch to UTF-8 for prefilled ↵Gravatar Jarred Sumner 1-41/+25
strings, remove eagerly loading identifier_name
2021-09-17Update js_printer.zigGravatar Jarred Sumner 1-4/+3
2021-09-17Fix multiple imports to CJS modules when referencing via module_id hashGravatar Jarred Sumner 1-6/+20
2021-09-17Fix bugs with ESM -> CJS when not bundledGravatar Jarred Sumner 1-21/+27
2021-09-12Fix "browser" map resolution, _almost_ fix symbol collisions, cache absolute ↵Gravatar Jarred Sumner 1-3/+6
paths for file entries
2021-09-12Fix CommonJS interop issue when, while linking, we find out the import is ↵Gravatar Jarred Sumner 1-18/+35
possibly CommonJS
2021-09-11bun:error.js into separate module, ensure we don't include fast refresh in ↵Gravatar Jarred Sumner 1-36/+95
Bun.js, log build errors to browser console, don't warn for node_modules,
2021-09-09currentjarred/fetch-experimentGravatar Jarred Sumner 1-9/+10
2021-08-31Add display name field to frameworks, improve logging, add counters, addGravatar Jarred Sumner 1-0/+6
Former-commit-id: b2cf011b6c6405a786fe22367e1cd4e6c2c4c90f
2021-08-31Fallback, fragments, printer compat, better errorsGravatar Jarred Sumner 1-8/+12
Former-commit-id: 486e8c9d460eeebea024e96dbabcb7f2bfaffafb
2021-08-29latestGravatar Jarred Sumner 1-67/+135
Former-commit-id: 096ec1222ad723d006b0151f10cb0c1b95e2bfd3
2021-08-27constGravatar Jarred Sumner 1-1/+1
Former-commit-id: 4366e33712174036de02e0446c09abeeb89aec83
2021-08-27only do special default name handling when there is no default name aliasGravatar Jarred Sumner 1-2/+6
Former-commit-id: 1544ff0d1fdecf4ca9c379925f56fce98acbb656
2021-08-26Fix unbundled importsGravatar Jarred Sumner 1-7/+7
Former-commit-id: f221da115c1afcd136648c9683d8e9907005a128
2021-08-26Fix file loader, automatically support CSS imports when a framework isn't setGravatar Jarred Sumner 1-34/+50
Former-commit-id: 94750e5987ea8f6e4c946bfc06715e09a48c0eec
2021-08-23Fix resolve bug with mixed-case node_modulesGravatar Jarred Sumner 1-3/+71
Former-commit-id: 5bdae0ee491e28b49ceed6136f04e0c1feddc808
2021-08-19Log level + onimportcssGravatar Jarred Sumner 1-18/+41
Former-commit-id: 12ba9b9bc288573e3a5099adfa14c486c4cc980c