mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
* wip changes for CommonJS * this rewrite is almost complete * even more code * wip * Remove usages of `import.meta.require` from builtins * Remove usages of require * Regenerate * ✂️ builtin rewrite commonjs in printer * Use lazy custom getters for import.meta * fixups * Remove depd * ugh * still crashing * fixup undici * comment out import.meta.require.resolve temporarily not a real solution but it stops the crashes * Redo import.meta.primordials * Builtins now have a `builtin://` protocol in source origin * Seems to work? * Finsih getting rid of primordials * switcharoo * No more function * just one more bug * Update launch.json * Implement `require.main` * ✂️ * Bump WebKit * Fixup import cycles * Fixup improt cycles * export more things * Implement `createCommonJSModule` builtin * More exports * regenerate * i broke some stuff * some of these tests work now * We lost the encoding * Sort of fix zlib * Sort of fix util * Update events.js * bump * bump * bump * Fix missing export in fs * fix some bugs with builtin esm modules (stream, worker_threads, events). its not perfect yet. * fix some other internal module bugs * oops * fix some extra require default stuff * uncomment this file but it crsahes on my machine * tidy code here * fixup tls exports * make simdutf happier * Add hasPrefix binding * Add test for `require.main` * Fix CommonJS evaluation order race condition * Make node:http load faster * Add missing exports to tls.js * Use the getter * Regenerate builtins * Fix assertion failure in Bun.write() * revamp dotEnv parser (#3347) - fixes `strings.indexOfAny()` - fixes OOB array access fixes #411 fixes #2823 fixes #3042 * fix tests for `expect()` (#3384) - extend test job time-out for `darwin-aarch64` * `expect().resolves` and `expect().rejects` (#3318) * Move expect and snapshots to their own files * expect().resolves and expect().rejects * Fix promise being added to unhandled rejection list * Handle timeouts in expect(<promise>) * wip merge * Fix merge issue --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> * fixup min/memcopy (#3388) * Fix crash in builtins * Don't attempt to evaluate modules with no source code * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Fix crash * cleanup * Fix test cc @paperdave * Fixup Undici * Fix issue in node:http * Create util-deprecate.mjs * Fix several bugs * Use the identifier * Support error.code in `util.deprecate` * make the CJs loader slightly more resilient * Update WebCoreJSBuiltins.cpp * Fix macros --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: dave caruso <me@paperdave.net> Co-authored-by: Alex Lam S.L <alexlamsl@gmail.com> Co-authored-by: Ashcon Partovi <ashcon@partovi.net> Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import { expect, test } from "bun:test";
|
|
import { AsyncResource, AsyncLocalStorage } from "async_hooks";
|
|
import * as worker_threads from "worker_threads";
|
|
import worker_threads_default from "worker_threads";
|
|
|
|
test("not implemented yet module masquerades as undefined and throws an error", () => {
|
|
expect(typeof worker_threads.default).toBe("undefined");
|
|
expect(typeof worker_threads_default).toBe("undefined");
|
|
expect(typeof worker_threads.getEnvironmentData).toBe("undefined");
|
|
expect(typeof worker_threads_default.getEnvironmentData).toBe("undefined");
|
|
});
|
|
|
|
test("AsyncLocalStorage polyfill", () => {
|
|
const store = new AsyncLocalStorage();
|
|
var called = false;
|
|
expect(store.getStore()).toBe(null);
|
|
store.run({ foo: "bar" }, () => {
|
|
expect(store.getStore()).toEqual({ foo: "bar" });
|
|
called = true;
|
|
});
|
|
expect(store.getStore()).toBe(null);
|
|
expect(called).toBe(true);
|
|
});
|
|
|
|
test("AsyncResource polyfill", () => {
|
|
const resource = new AsyncResource("prisma-client-request");
|
|
var called = false;
|
|
resource.runInAsyncScope(
|
|
() => {
|
|
called = true;
|
|
},
|
|
null,
|
|
"foo",
|
|
"bar",
|
|
);
|
|
expect(called).toBe(true);
|
|
});
|
|
|
|
test("esbuild functions with worker_threads stub", async () => {
|
|
const esbuild = await import("esbuild");
|
|
const result = await esbuild.transform('console . log( "hello world" )', { minify: true });
|
|
expect(result.code).toBe('console.log("hello world");\n');
|
|
});
|