aboutsummaryrefslogtreecommitdiff
path: root/src/js_printer.zig (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-06-09Fix defaultProps with JSX optimizationGravatar Jarred Sumner 1-4/+0
2022-05-16`bun:sqlite` (#167)Gravatar Jarred Sumner 1-15/+11
* :scissors: * 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-11[bun.js] Implement `import.meta.require`Gravatar Jarred Sumner 1-6/+2
This allows synchronous dynamic loading of `.node`, `.json`, and `.toml` files. It is not a CommonJS require, but it can be used that way so long as the content is not JavaScript.
2022-05-10[napi] transpile require(*.node) into process.dlopenGravatar Jarred Sumner 1-0/+23
2022-05-09Fix extra quote in bundled require errorsGravatar Jarred Sumner 1-2/+2
2022-05-05E.String gets a RopeGravatar Jarred Sumner 1-28/+30
2022-04-10[bun.js] Support a `"bun"` importGravatar Jarred Sumner 1-7/+26
2022-04-08Fix Next.js stylesheet bugGravatar Jarred Sumner 1-2/+10
2022-03-31Fix possible infinite loopsGravatar Jarred Sumner 1-3/+3
2022-03-24Implement error page for HTTP serverGravatar Jarred Sumner 1-1/+0
2022-03-19[JS Printer] Fix bug with printing imports for bundled codeGravatar Jarred Sumner 1-12/+1
2022-03-17[JS Transpiler] Always print escape unicode identifiers, for nowGravatar Jarred Sumner 1-6/+5
2022-03-11Source Maps for client-side errors & columnsGravatar Jarred Sumner 1-3/+20
2022-03-10[bun.js] Support sourcemaps!Gravatar Jarred Sumner 1-10/+9
2022-03-10Update js_printer.zigGravatar Jarred Sumner 1-15/+42
2022-03-0969% perf improvement for long string literalsGravatar Jarred Sumner 1-52/+44
2022-03-09make the map slightly smallerGravatar Jarred Sumner 1-25/+39
2022-03-09[JS Printer] Add function for printing a string as JSONGravatar Jarred Sumner 1-0/+104
2022-03-06source maps work for app code in `bun dev`!Gravatar Jarred Sumner 1-27/+228
2022-03-04upgrade zigjarred/upgrade-zig-2Gravatar Jarred Sumner 1-42/+52
2022-02-27[JS Printer] Fix edgecase with optional chaining, class static block ↵Gravatar Jarred Sumner 1-56/+86
initialization and private identifiers
2022-02-24misc cleanupGravatar Jarred Sumner 1-2/+3
2022-02-22Fix assertion in JSPrinterGravatar Jarred Sumner 1-1/+1
2022-02-18Use an `enum` for `Ref` instead of a buggy packed structGravatar Jarred Sumner 1-1/+1
Fixes a printing bug with `Symbol`
2022-02-18[JS Printer] fix edgecase with printing empty exportGravatar Jarred Sumner 1-0/+6
2022-02-17[JS Printer] Print `{\n}` instead of `;` for empty blocksGravatar Jarred Sumner 1-0/+5
2022-02-16Update js_printer.zigGravatar Jarred Sumner 1-14/+6
2022-02-16[JS Printer] Fix missing space at end of object bindingsGravatar Jarred Sumner 1-15/+6
See also https://github.com/evanw/esbuild/pull/2025
2022-02-16[js printer] slightly optimize indent / unindentGravatar Jarred Sumner 1-11/+6
2022-02-16[js printer] Remove symbol poolGravatar Jarred Sumner 1-11/+1
2022-02-15Revert "Remove usage of `packed` struct in Ref because packed is buggy in zig"Gravatar Jarred Sumner 1-1/+1
This reverts commit 2578f426b6d59080b0853164df83fe2b69740a7c.
2022-02-15Remove usage of `packed` struct in Ref because packed is buggy in zigGravatar Jarred Sumner 1-1/+1
2022-02-13[JS parser] Slightly better dead code elimination & optimize AST string ↵Gravatar Jarred Sumner 1-0/+2
comparison
2022-02-11use platform-independent file preallocationGravatar Jarred Sumner 1-11/+17
2022-02-08Move __exportDefault transform to parserGravatar Jarred Sumner 1-8/+8
2022-02-07Fix #117Gravatar Jarred Sumner 1-8/+12
2022-02-07Fix #117Gravatar Jarred Sumner 1-5/+0
2022-02-01[JS Printer] Fix printing edgecase with nested vars that use object ↵Gravatar Jarred Sumner 1-1/+13
destructuring
2022-01-29Handle null/undefined `module.exports` betterGravatar Jarred Sumner 1-4/+7
2022-01-29[JS Printer] Fix CJS <> ESM interop edgecaseGravatar Jarred Sumner 1-0/+7
For code like this: ```js module.exports = require("foo") ``` If `"foo"` is bundled, we should access it as the namespace reference from the bundle. Previously, we assumed it would be a property access.
2022-01-28Update AST layout to store capacity for itemsGravatar Jarred Sumner 1-14/+17
We want to be able to push to the list
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