aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/module.exports.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/javascript/jsc/module.exports.js')
-rw-r--r--src/javascript/jsc/module.exports.js104
1 files changed, 0 insertions, 104 deletions
diff --git a/src/javascript/jsc/module.exports.js b/src/javascript/jsc/module.exports.js
deleted file mode 100644
index f0817a059..000000000
--- a/src/javascript/jsc/module.exports.js
+++ /dev/null
@@ -1,104 +0,0 @@
-function resolve(request, args) {
- if (typeof args === "object" && args?.paths?.length) {
- return this.resolveSync(request, args);
- }
-
- return this.resolveSync(request);
-}
-
-// not implemented
-resolve.paths = () => [];
-
-function require(pathString) {
- // this refers to an ImportMeta instance
- const resolved = this.resolveSync(pathString);
- if (
- !resolved.endsWith(".node") &&
- !resolved.endsWith(".json") &&
- !resolved.endsWith(".toml")
- ) {
- throw new Error(
- "Dynamic require() in Bun.js currently only supports .node, .json, and .toml files.\n\tConsider using ESM import() instead."
- );
- }
-
- return this.require(resolved);
-}
-
-const main = {
- get() {
- return Bun.main;
- },
- set() {
- return false;
- },
- configurable: false,
-};
-
-export function createRequire(filename) {
- var filenameString = filename;
- const isURL =
- typeof filename === "object" && filename && filename instanceof URL;
- if (isURL) {
- filenameString = filename.pathname;
- }
-
- var lastSlash = filenameString.lastIndexOf(
- // TODO: WINDOWS
- // windows is more complicated here
- // but we don't support windows yet
- process.platform !== "win32" ? "/" : "\\"
- );
- var customImportMeta = {
- ...import.meta,
- path: filenameString,
- file:
- lastSlash > -1 ? filenameString.substring(lastSlash + 1) : filenameString,
- dir: lastSlash > -1 ? filenameString.substring(0, lastSlash) : "",
- };
-
- if (isURL) {
- customImportMeta.url = filename;
- } else {
- // lazy because URL is slow and also can throw
- Object.defineProperty(customImportMeta, "url", {
- get() {
- const value = new URL("file://" + customImportMeta.path).href;
- Object.defineProperty(customImportMeta, "url", {
- value,
- });
- return value;
- },
- configurable: true,
- });
- }
-
- var bound = require.bind(customImportMeta);
- bound.resolve = resolve.bind(customImportMeta);
-
- // do this one lazily
- Object.defineProperty(bound, "main", main);
-
- return bound;
-}
-
-// this isn't exhaustive
-export const builtinModules = ["node:path", "node:fs", "bun:ffi", "bun:sqlite"];
-
-// noop
-export function syncBuiltinESMExports() {}
-
-export function findSourceMap(path) {
- throw new Error("findSourceMap is not implemented");
-}
-
-export function SourceMap() {
- throw new Error("SourceMap is not implemented");
-}
-
-export default {
- createRequire,
- syncBuiltinESMExports,
- findSourceMap,
- SourceMap,
-};