Commit Graph

784 Commits

Author SHA1 Message Date
dave caruso
dfd0f3e252 Allow reading config from within plugins, and partially implement esbuild initialOptions (#2861)
* Implement plugin build.config and initialOptions

* update types

* default initialoptions entrypoints
2023-05-11 22:58:41 -04:00
dave caruso
6a163cf933 bundler tests and improve Bun.build return type (#2833)
* importstar_ts

* tests

* run acorn test suite

* bench tweaks

* test

* bun.build tests very incomplete

* remove dataurl and base64 loaders from tests since they dont work yet

* tests

* stuff

* stuff

* add errors and array of blobs

* work so far

* docs

* requested changes

* fix overwrite docs

* remove this file
2023-05-11 14:42:54 -07:00
Dylan Conway
02cad591f8 fix child process tests (#2584)
* always handle exit on next tick

* emit spawn immediately
2023-05-11 14:39:44 -07:00
Ciro Spaciari
bc7d0adcf9 fix(fs) mkdtemp and mkdtempSync errors (#2851)
* fix mkdtemp

* fmt

* fix errno
2023-05-11 14:23:33 -07:00
Ciro Spaciari
d032b73b10 add tests for ws.close (#2844)
* add tests for ws.close

* add timeout on ws.close tests
2023-05-11 02:30:48 -07:00
Ciro Spaciari
9c166a1bdf add support for { all: true } option on dns.lookup (#2846) 2023-05-11 02:30:20 -07:00
Jarred Sumner
e125ed2aa3 Report timings for failing tests too 2023-05-11 01:16:46 -07:00
Degreat
4b79b37a99 Implement describe.skip (#2836)
* Implement describe.skip

* Add more tests to cover hooks
2023-05-10 23:57:30 -07:00
Ciro Spaciari
f9831e1f6f feat(fetch) add redirect: 'error' support (#2845)
* add redirect: 'error' support

* fix typo

* fix typo

* refactor FetchRedirect enum

* fix FetchRedirect

* updated
2023-05-10 23:55:39 -07:00
Jarred Sumner
96dc0471ff Clean-up 85b4be5f71
- We don't need to make `Bun__fetch` exported in every C++ header file
- We shouldn't return JSObjectRef, its an unnecessary wrapper
- The version of `fetch` on the Bun global should be non-configurable so that it is safe for anyone who wants to use that without a user-modifiable one
2023-05-10 16:55:13 -07:00
Ciro Spaciari
85b4be5f71 fix(fetch) fix fetch inheritance (#2842)
* patch fetch function inheritance

* fmt

* fix reserveCapacity and number of arguments for fetch

* change Bun.fetch to use Fetch.jsFunction

* merge Fetch.jsFunction and Fetch.call

* remove commented code
2023-05-10 16:38:52 -07:00
Alex Lam S.L
5fd838b9e4 bun add from root folder when call within workspaces (#2841)
- ignore invalid `package.json` from parent directories
- `echo` new lines from `make` targets correctly
2023-05-10 17:22:01 +03:00
Jarred Sumner
53a198f2f7 Update test 2023-05-10 04:22:03 -07:00
Alex Lam S.L
4ccca13001 [install] operator on root package of workspaces (#2834)
- parse `bunfig.toml` from same directory as `package.json`
- handle `--cwd` correctly

fixes #2592
2023-05-10 08:26:29 +03:00
dave caruso
22b801bb89 fix #2820 (#2832) 2023-05-09 14:20:12 -07:00
Dylan Conway
c35518e6d6 Fixes #2807
we will look at the minify tests for uglifyjs too
2023-05-08 23:39:02 -07:00
dave caruso
5e366872f6 implement build api define and loaders (#2805)
* parse error logs

* clean up types

* remove --jsx-production. use NODE_ENV instead

* add define to js api

* add loaders to js api

* fixups

* sourcemap

* typo fix

* remove label, comment dir just for now

* test tweaks

* test work

* make optional enums actually optional.
allows `sourcemap: undefined`

* overload host ram test

* string tests

* tests

* test for 2815

* requested changes

* sort this list

* remove this test file now that it passes

* oops

* add --format

* finish ts tests

* doc typos related to define and loader
2023-05-08 21:55:21 -07:00
Jarred Sumner
e422c849d5 Fix bug in Bun.build() where it wouldn't pick up changes to directories on rebuilds (#2824)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-05-08 21:14:56 -07:00
Jarred Sumner
4708835ae6 [minifier] Rewrite equality check logic 2023-05-06 18:23:37 -07:00
Jarred Sumner
8975717bc3 Fix several transpiler tests 2023-05-06 18:20:19 -07:00
Jarred Sumner
5327940132 Fixes https://github.com/oven-sh/bun/issues/2810 2023-05-06 18:16:21 -07:00
Jarred Sumner
8e4f777d35 Throw error on non-file url 2023-05-04 17:09:10 -07:00
Jarred Sumner
243dfc177a Fix code splitting for server components 2023-05-03 23:48:18 -07:00
Jarred Sumner
2d0eaf9842 Fix broken test 2023-05-03 15:32:15 -07:00
Jarred Sumner
5d8027cd5a Fix test 2023-05-01 16:55:11 -07:00
Will Richards 2
59b3556fab Bun Test matchers even/odd. Also, .toContains fix and truthy (#2754)
* bun test matcher tests for even/odd, few more truthy tests, and fix for contains empty string

* implementation of even/odd matchers

* didn't add the codegen bindings

* linted
2023-04-30 23:36:08 -07:00
dave caruso
137dc6e19f test default condition (#2776) 2023-04-30 21:16:32 -07:00
Alex Lam S.L
c05a6744bb [install] handle devDependencies of local folders (#2781)
fixes #2653
2023-05-01 06:41:33 +03:00
Alex Lam S.L
dd03a4f95d [install] handle repeated install of GitHub dependency correctly (#2780)
fixes #2602
2023-04-30 09:45:08 -07:00
Jarred Sumner
737822b2ba Put transpiler tests in a separate folder 2023-04-29 18:47:52 -07:00
Jarred Sumner
3b6fb37497 Clean up args parsing with --loader 2023-04-29 18:12:55 -07:00
dave caruso
96e113f41c bundler tests: rest of default.test.ts and starting jsx tests (#2765) 2023-04-28 21:08:48 -07:00
Ciro Spaciari
4515a6373e Improves Body.Value life cycle and Signal life cycle on server.zig (#2752)
* reestruct request body value and signal

* revert react-hello-world

* fix constructInto and test

* fmt

* fix body nullable

* Request can outlive RequestContext

* fmt

* BodyValue is now HiveRef

* hasDecl for Ref and HiveRef

* fix deinit call on Ref/HiveRef

* adds InlineBlob

* fix Bun.inspect when using InlineBlob

* revert InlineBlob

* Fix mimalloc-debug

* Add TODO note

* fix: make node:crypto Hash.copy work correctly (#2761)

This commit will also:
- add a CryptoHasher.copy function
- make CryptoHasher.digest reset the hasher so it can be reused

Resolves #2651

* 💅

* address unicode issue (#2763)

* Fix an oopsie

* Another oopsie

* use inline for

* Fixup

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>

* Request can outlive RequestContext

* fmt

* garantee to have the abort signnal attached to the server before abort the client on bun-server test

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Silver <14016168+silversquirl@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-04-28 13:40:44 -07:00
Jarred Sumner
3ee22065f0 💅 2023-04-27 07:51:30 -07:00
Silver
0060e49923 fix: make node:crypto Hash.copy work correctly (#2761)
This commit will also:
- add a CryptoHasher.copy function
- make CryptoHasher.digest reset the hasher so it can be reused

Resolves #2651
2023-04-27 07:45:32 -07:00
dave caruso
5b76ee769e bundler tests! (#2741)
* bundler tests!

* tests
2023-04-26 21:57:49 -07:00
Silver
3a203abc10 Use Ninja to build mimalloc and gitignore test/bun.lockb (#2750)
* build: use ninja to build mimalloc

This is both faster than make, and ensures the same generator is
always used, even when CMAKE_GENERATOR exists in the environment.

* chore: gitignore test/bun.lockb
2023-04-26 21:57:25 -07:00
Jarred Sumner
6c6118e210 Fixes #2746 (#2748)
* Fixes #2746

* add test

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-26 21:07:40 -07:00
dave caruso
0846a4fa80 bundler tests, testing plugins (#2740)
* add cjs2esm stuff

* tests

* plugin testing
2023-04-25 19:13:39 -07:00
Alex Lam S.L
6e16bb67eb [install] fix bun add on non-aliased dependency (#2728) 2023-04-24 17:56:43 -07:00
dave caruso
f2112fc0de Continue bundler tests (#2691)
* start refine + skipping some packagejson tests

* some more tests

* stuff

* tests for minify branch

* pkgjson

* add minify/MergeAdjacentVars

* add test for #2699

* more tests!

* more tests

* finish splitting tests

* all but 2 import star tests are good

* test
2023-04-24 14:12:21 -07:00
Plecra
98209b8e10 Reduce friction for building with npm (#2723)
This was the only dependency on bun that I encountered while building the
project, and the change to the gitignore ensures that it's easy to
make changes after an npm based build
2023-04-24 04:23:38 -07:00
Jarred Sumner
dc55e11714 Keep the node crypt otest 2023-04-21 07:25:51 -07:00
Jarred Sumner
613bb4822e Revert "use a lazyily initialized stream for node:crypto createHash (#2652)"
This reverts commit 3a2fd65f20.
2023-04-21 07:18:32 -07:00
Jarred Sumner
a4d0a1961a Revert "implement node:events in javascript (#2604)"
This reverts commit 96a2ed1040.
2023-04-21 07:16:23 -07:00
Dylan Conway
94cd68d7a6 append if the previous part is not UTF8 (#2705) 2023-04-20 16:35:01 -07:00
Jarred Sumner
6d5378566a Fix template string folding test
@paperdave --minify-syntax now causes `true` to print as `!0` and `false` to print as `!1`

`undefined` is now `void 0`
2023-04-20 05:44:50 -07:00
Dylan Conway
d78ecc76c8 Symbol minification (#2695)
* minify

* Update renamer.zig

* --minify-whitespace

* Speed up minification a little

* handle private names

* 5% faster minification

* use helper function

* fix nested scope slots

* `bun build --minify` gets another +8% faster

* print semicolons afterwards

* print semicolon after checking error

* after all error checking

* Delete code for generating legacy bundes

* remove extra whitespace around if statements

* print space before import identifier

* Use `@constCast`

* Make `S.Local#decls` use `BabyList(Decl)`

* Add `fromSlice` helper to `BabyList`

* Remove unnecessary optional chains

* minify `undefined, true, false`

* Another @constCast

* Implement merge adjacent local var

* Support --minify in `bun build --transform`

* skip comments when counting character frequencies

* Don't wrap commonjs with --transform on (unless targeting bun)

* Support --minify in the runtime

* Fix edgecase with import * as

* don't infinite loop

* --trnasform shouldn't mess with require

* Only track comments when minifying

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-04-20 05:23:12 -07:00
Alex Lam S.L
36f9fd607a fix make setup (#2693)
- properly reset `JSC_BASE_DIR` after installing `bun-webkit`
2023-04-19 04:55:00 +03:00
dave caruso
96a2ed1040 implement node:events in javascript (#2604)
* initial event emitter reimplementation

* implement most of node:events. tests passing

* work on emitter

* fix importing node:events

* work on event emitter tests

* event work

* event work

* event stuff and experimenting with a lazy createHash

* cleanup crypto stuff i had on this branch

* finish event stuff up

* fix error monitor

* validate listeners are functions

* changes requested
2023-04-18 14:59:51 -07:00