Commit Graph

4565 Commits

Author SHA1 Message Date
Dylan Conway
4bb753295d use a different package 2023-10-12 19:35:00 -07:00
Dylan Conway
892593c73b fix install test 2023-10-12 15:17:03 -07:00
Dylan Conway
691cf338c2 fix editing package json when adding github dependency (#6432)
* fix package name added to package json

* check for github tag

* remove alloc

* some tests

* fix test
2023-10-12 15:02:05 -07:00
dave caruso
969da088f5 fix(install): re-evaluate overrides when removed 2023-10-12 02:03:02 -07:00
dave caruso
2fbb95142a feat(install): support npm overrides/yarn resolutions, one level deep only (#6435)
* disable zig fmt on generated ResolvedSourceTag.zig

* overrides

* it works

* ok

* a

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-10-12 00:44:15 -07:00
Dylan Conway
755e16d962 fix #6416 (#6430)
* make sure latest is checked after prerelease

* test and fix

* test for when latest matches prerelease
2023-10-11 20:41:12 -07:00
dave caruso
1bf28e0d77 feat(install): automatically migrate package-lock.json to bun.lockb (#6352)
* work so far

* stuff

* a

* basics work

* stuff

* yoo

* build lockfile

* correct

* f

* a

* install fixture havent tested

* i made it worse

* lol

* be more reasonable

* make the test easier to pass because bun install doesn't handle obscure lockfile edge cases :/

* a

* works now

* ok

* a

* a

* cool

* nah

* fix stuff

* l

* a

* idfk

* LAME

* prettier errors

* does this fix tests?

* Add more safety checks to Integrity

* Add another check

* More careful lifetime handling

* Fix linux debugger issue

* a

* tmp dir and snapshot test

---------

Co-authored-by: Jarred SUmner <jarred@jarredsumner.com>
2023-10-11 02:27:07 -07:00
Arden Sinclair
39446ebdb8 Fix lifecycle scripts not running on reinstallation (#6376)
* Include trusted dependencies in lockfile

* Add a remote dependency to lifecycle script test
2023-10-10 21:13:42 -07:00
Elad Bezalel
c2c3b0d4a9 feat(test): implement toEqualIgnoringWhitespace (#6293)
* feat(test): implement `toEqualIgnoringWhitespace`

* equality check in matcher & incorrect arg error
2023-10-10 20:27:19 -07:00
Dylan Conway
05781dd91e make peer dependencies install by default (#6396)
* peer dependencies

* default true

* add test

* cleanup

* some tests

* skip peer deps if they are non optional

* remove debug print, fix build

* iterate peer dependencies
2023-10-10 20:05:58 -07:00
Ciro Spaciari
6301778a58 fix(AbortSignal/fetch) fix AbortSignal.timeout, fetch lock behavior and fetch errors (#6390)
* fix abort signal and fetch error

* fix fetch error and lock behavior
2023-10-09 19:56:48 -07:00
Liz
a9e1792607 fix: support uint8 exit code range (#6303)
The exit code support is between 0-255 and not only in the signed positive range
(0-127).
Node.js does not seam to throw on a bigger integer and just wraps around,
but throwing a error is a good approach and makes the behaviour more defined.

This allows the range to be 0-255

Fixes: https://github.com/oven-sh/bun/issues/6284
2023-10-09 11:47:38 -07:00
Ciro Spaciari
35109160ca feat(KeyObject) (#5940)
* oops

* createSecretKey but weird error

* use the right prototype, do not add a function called export lol

* HMAC JWT export + base64 fix

* Fix Equals, Fix Get KeySize, add complete export RSA

* fix RSA export

* add EC exports

* X25519 and ED25519 export + fixes

* fix default exports

* better asymmetricKeyType

* fix private exports

* fix symmetricKeySize

* createPublicKey validations + refactor

* jwt + der fixes

* oopsies

* add PEM into createPublicKey

* cleanup

* WIP

* bunch of fixes

* public from private + private OKP

* encrypted keys fixes

* oops

* fix clear tls error, add some support to jwk and other formats on publicEncrypt/publicDecrypt

* more fixes and tests working

* more fixes more tests

* more clear hmac errors

* more tests and fixes

* add generateKeyPair

* more tests passing, some skips

* fix EC key from private

* fix OKP JWK

* nodejs ignores ext and key_ops on KeyObject.exports

* add EC sign verify test

* some fixes

* add crypto.generateKeyPairSync(type, options)

* more fixes and more tests

* fix hmac tests

* jsonwebtoken tests

* oops

* oops2

* generated files

* revert package.json

* vm tests

* todos instead of failues

* toBunString -> toString

* undo simdutf

* improvements

* unlikely

* cleanup

* cleanup 2

* oops

* move _generateKeyPairSync checks to native
2023-10-07 15:22:45 -07:00
Dylan Conway
96aa9c0a38 fix a couple install tests 2023-10-06 22:06:28 -07:00
Dylan Conway
46736d5ecb format 2023-10-06 22:02:55 -07:00
Ai Hoshino
e0e9bc16bf fix(serve): fix close_connection behaviour in endWithoutBody (#6315)
Close: #6031
2023-10-05 20:43:58 -03:00
Justin "J.R." Hill
5c37d5293c test(bun install): cover http(s) non-github case (#6190) 2023-10-05 16:12:07 -07:00
Jake Boone
7ef4cd26ac Use singular nouns when appropriate on install messages (#2543)
* Use singular nouns when appropriate on install messages

* Fix one more pluralization

* Fix bun-add tests for "1 package installed"

* Fix bun install/remove/update tests for "1 package installed"
2023-10-05 15:59:02 -07:00
Dylan Conway
4a2e1574e4 fix semver and repository host bugs (#6312)
* releases before prereleases

* handle different repo hosts

* remove log

* Update bun-install.test.ts

* test for `bun add`

* gitlab test

* use comptime hash map, another test case

* don't need length

* bump timeout, use tld

* infer git dependencies for https and ssh
2023-10-04 22:46:21 -07:00
Dylan Conway
5a315f4df0 fix another os test failure 2023-10-04 22:45:11 -07:00
Dylan Conway
98e9e9b112 Upgrade webkit (#6277)
* `reportExtraMemoryAllocated` parameters changed

* bump webkit

* Update Dockerfile

* format
2023-10-03 19:56:33 -07:00
Ashcon Partovi
9308e1bf09 Support bun run --if-present (#6248)
* Support --if-present
Closes #5670

* More robust tests, handle more cases
2023-10-03 17:39:45 -07:00
Dylan Conway
ffe6bb0b7f fix decorator tests 2023-10-03 13:50:36 -07:00
Ai Hoshino
b7982ac131 fix(blob): Add the current offset to the new blob. (#6259)
Close: #6252
2023-10-03 12:03:57 -07:00
axel escalada
0ca9a7889a Fix bunx command for github package #5974 (#6042)
* fix bunx command for github package

* refactor fmt package to use it when the path is seted

* use labeled block to assign const instead of use 'undefined'
2023-10-03 11:49:24 -07:00
WingLim
476fa4deda feat(encoding): support BOM detection with test passed (#6074) 2023-10-03 10:28:59 -07:00
Dylan Conway
745b6b94ee Store workspace package versions (#6258)
* Store workspace package versions in the lockfile

* more logging

* wip

* keep information from workspace name array and cache

* hash key

* remove cache, compare workspaces with initially loaded

* uncomment sort

* remove comments

* remove allocation

* package json

* test `bun add <package>` without workspace prefix

* Update test/cli/install/bun-install.test.ts

Co-authored-by: Markus Staab <maggus.staab@googlemail.com>

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Markus Staab <maggus.staab@googlemail.com>
2023-10-03 02:17:21 -07:00
Ashcon Partovi
15880308b7 Fix bun install reading Github API from wrong environment variable (#6247)
* Fix `bun install` reading Github API from wrong environment variable

* Update src/install/install.zig

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-10-02 18:00:17 -07:00
Ai Hoshino
f7618aba20 fix(node:process): fix return value of process.kill (#6207) 2023-10-01 12:55:38 -07:00
Jarred Sumner
54d25b8f6b Update cp.test.ts 2023-09-30 17:09:27 -07:00
Jarred Sumner
c21be13be4 tweak github actions (#6195)
* Discord comments

* better

* better

* actions

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-09-30 02:50:38 -07:00
Jarred Sumner
d65fdb6035 Fix hang in bun install (#6192)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-09-29 20:45:51 -07:00
Jarred Sumner
a97847a494 Implement virtual module support in Bun.plugin (#6167)
* Add support for `build.module` in `Bun.plugin`

* Another test

* Update docs

* Update isBuiltinModule.cpp

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2023-09-29 16:34:20 -07:00
dave caruso
eddb0078b5 fix(runtime): followup for server.requestIP (#6185)
* fix(runtime): followup for `server.requestIP`

* oops

* yeah

* sure

* Update src/deps/libuwsockets.cpp

* Update Dockerfile

* lol

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-09-29 16:17:54 -07:00
Liz
fa7d7bd1e4 fix: don't set default request method when creating a Request (#6154)
In the case of creating a Request with the parameters `(Request, object)`,
there was a bug that method and headers are set from the default created by
the init rather then the already present value from the request param.
This is because for a to me unknown reason the order in which the parameters
are processed is reversed.

This fixes that by adding a check which stops the defaults from being set,
unless they are explicitly passed.

Fixes: https://github.com/oven-sh/bun/issues/6144
2023-09-29 16:13:49 -07:00
dave caruso
72bdd380af add Socket.prototype; lol (#5945) 2023-09-29 15:42:06 -07:00
dave caruso
10bee33909 fix(resolver): support encoded file urls (#5766)
* start working on this

* it works now

* better implementation imo

* yippee

* more tests and better unrefing

* fix leak?
2023-09-29 14:58:39 -07:00
dave caruso
6afa78120a feat(runtime): implement server.requestIp + node:http socket.address() (#6165)
* [server] requestIp and AnyRequestContext
Changed Request.uws_request to the new AnyRequestContext. This
allows grabbing the IP from a Request. Unfinished.

* [server] basic `requestIp` implementation

Currently using uws's requestIpAsText, which always returns a ipv6
string. We should return a `SocketAddress` object to the user instead,
which will contain the formatted address string and what type it is.
We'll have to use requestIpAsBinary and parse that ourselves.

* TypeScript docs, use `bun.String`, return `undefined` instead of `null`
if we can't get the ip.

* binary address formatting

* uws getRemoteAddress binding

* remove dead code

* working

* final touches

* I will abide by the results of this poll.

---------

Co-authored-by: Parzival-3141 <29632054+Parzival-3141@users.noreply.github.com>
2023-09-29 03:39:26 -07:00
Jarred Sumner
6514dcf4cb Fixes #6053 (#6162)
Fixes #6053

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-09-29 00:03:58 -07:00
Dylan Conway
f6fbf86910 fix decorator tests 2023-09-28 19:18:36 -07:00
axel escalada
e1117c6ae5 Add local tarball install #5812 (#6118)
* check if the value passed for add command is a local tarball and install it, test for local tarball

* use bunExe()

* use absolute path to copy tarball

* fmt ts
2023-09-28 19:07:51 -07:00
dave caruso
387f1260c9 Get Next.js Pages Router to work (#6095)
* hell

* make it so bun-debug-src

* teag

* wild

* yippee

* fas

* fix async hooks assertions

* yap

* yeah that's wild

* aa

* a

* increase time allowed

* so trivial
2023-09-28 03:53:24 -07:00
jhmaster
e60b3607c1 Complete rework of the majority of node:util, primarily util.inspect (#4493)
* 1st revision of new util.inspect impl. (not done)

* fix util.types.isArrayBuffer

* fix some utl tests and bugs

* fix node:tty missing primordials

* fix utl stackoverflow handling & some tests

* narrow down diff. context test

* util.inspect indirect circulars optimization

* temp workaround for buggy is...Function checks

* impl. Map/Set/Iterator entries inspection

* fix bigint & symbol objects inspection

* error inspection fixes

* misc util tests stuff

* inline getExternalValue stub

* leftovers

* util.inspect promise internals

* run bun fmt

* commit make js changes

* cut out unnecessary utl files

* reorganize utl folder structure

* remove browserify buffer check

* Try to revert git messing up uws somehow

This reverts commit 2c27e16e7d.

* commit src/js/out files again

* redo this edit too

* refresh js/out files

* Removed uws submodule

* tidy up

* unused primordials

* run fmt

---------

Co-authored-by: dave caruso <me@paperdave.net>
2023-09-27 23:51:49 -07:00
Dylan Conway
31d96a1b7f fix typescript metadata for import identifiers (#6130)
* handle import identifiers

* a test

* handle dot case
2023-09-27 23:37:53 -07:00
Dylan Conway
3ee09bfe79 update snapshots 2023-09-27 22:35:06 -07:00
jhmaster
3d37684253 deadCodeElimination toggle for Bun.Transpiler (#5932)
* add Bun.Transpiler DCE option

* mark DCE toggle experimental + tests

* full (hopefully) DCE toggle

* update DCE toggle tests

* add DCE option to types

* run fmt

* Removed uws submodule
2023-09-27 19:26:03 -07:00
Justin "J.R." Hill
1d6d639352 fix(bun install): Handle vercel and github tarball path dependencies (#6122)
* fix(bun install): Handle vercel and github tarball path dependencies

* test(bun install): test tarball path with when

* Simplify github tarball detection

---------

Co-authored-by: bun <noreply@oven.sh>
2023-09-27 19:22:50 -07:00
Liz
8608b5286a fix: implement correct behaviour for urls with blob: scheme (#5825)
* fix: implement correct behaviour for urls with blob: scheme

Urls using the blob scheme can have special behaviour if their origin itself
is a url.
This fixes that by parsing the subdomain and if valid and the schemes(protocols)
are valid returns its origin.
Ive used node.js here a lot to make sure its behaviour is copied 1:1 and enabled
the automated tests for it.

Fixes https://github.com/oven-sh/bun/issues/5805

* fix: subUrl can be const, we are not modifying it

* style: add spaces after `if` keyword
2023-09-27 16:15:45 -07:00
Ai Hoshino
a0081f9e29 fix(node:fs): fix fs.exists callback parameters (#6097)
Close: #6073
2023-09-27 03:40:45 -07:00
Dylan Conway
4d2b442a33 Update bun-install.test.ts 2023-09-26 22:19:33 -07:00