aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/node/types.zig10
-rw-r--r--src/js/node/path.posix.ts (renamed from src/js/node/path.posix.js)0
-rw-r--r--src/js/node/path.ts (renamed from src/js/node/path.js)0
-rw-r--r--src/js/node/path.win32.ts (renamed from src/js/node/path.win32.js)0
-rw-r--r--src/js/out/modules/node/path.js60
-rw-r--r--src/js/out/modules/node/path.posix.js50
-rw-r--r--src/js/out/modules/node/path.win32.js48
-rw-r--r--src/js/private.d.ts1
-rw-r--r--test/js/node/path/path.test.js6
9 files changed, 166 insertions, 9 deletions
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig
index 03e45f471..d1c92e970 100644
--- a/src/bun.js/node/types.zig
+++ b/src/bun.js/node/types.zig
@@ -1738,23 +1738,23 @@ pub const Path = struct {
var name_with_ext = JSC.ZigString.Empty;
var insert_separator = true;
- if (path_object.get(globalThis, "dir")) |prop| {
+ if (path_object.getTruthy(globalThis, "dir")) |prop| {
prop.toZigString(&dir, globalThis);
insert_separator = !dir.isEmpty();
- } else if (path_object.get(globalThis, "root")) |prop| {
+ } else if (path_object.getTruthy(globalThis, "root")) |prop| {
prop.toZigString(&dir, globalThis);
}
- if (path_object.get(globalThis, "base")) |prop| {
+ if (path_object.getTruthy(globalThis, "base")) |prop| {
prop.toZigString(&name_with_ext, globalThis);
} else {
var had_ext = false;
- if (path_object.get(globalThis, "ext")) |prop| {
+ if (path_object.getTruthy(globalThis, "ext")) |prop| {
prop.toZigString(&ext, globalThis);
had_ext = !ext.isEmpty();
}
- if (path_object.get(globalThis, "name")) |prop| {
+ if (path_object.getTruthy(globalThis, "name")) |prop| {
if (had_ext) {
prop.toZigString(&name_, globalThis);
} else {
diff --git a/src/js/node/path.posix.js b/src/js/node/path.posix.ts
index e94da9cea..e94da9cea 100644
--- a/src/js/node/path.posix.js
+++ b/src/js/node/path.posix.ts
diff --git a/src/js/node/path.js b/src/js/node/path.ts
index 7c20d520b..7c20d520b 100644
--- a/src/js/node/path.js
+++ b/src/js/node/path.ts
diff --git a/src/js/node/path.win32.js b/src/js/node/path.win32.ts
index 1c8bda4ba..1c8bda4ba 100644
--- a/src/js/node/path.win32.js
+++ b/src/js/node/path.win32.ts
diff --git a/src/js/out/modules/node/path.js b/src/js/out/modules/node/path.js
index bea7f4149..e9af36285 100644
--- a/src/js/out/modules/node/path.js
+++ b/src/js/out/modules/node/path.js
@@ -1 +1,59 @@
-var y=(i)=>{return import.meta.require(i)};var g=function(i){var m=k({basename:i.basename.bind(i),dirname:i.dirname.bind(i),extname:i.extname.bind(i),format:i.format.bind(i),isAbsolute:i.isAbsolute.bind(i),join:i.join.bind(i),normalize:i.normalize.bind(i),parse:i.parse.bind(i),relative:i.relative.bind(i),resolve:i.resolve.bind(i),toNamespacedPath:i.toNamespacedPath.bind(i),sep:i.sep,delimiter:i.delimiter});return m.default=m,m},k=(i)=>Object.assign(Object.create(null),i),f=g(Bun._Path()),q=g(Bun._Path(!1)),v=g(Bun._Path(!0));f.win32=v;f.posix=q;var{basename:A,dirname:B,extname:C,format:D,isAbsolute:E,join:F,normalize:G,parse:H,relative:I,resolve:J,toNamespacedPath:K,sep:L,delimiter:N,__esModule:O}=f;f[Symbol.for("CommonJS")]=0;f.__esModule=!0;var Q=f;export{v as win32,K as toNamespacedPath,L as sep,J as resolve,I as relative,q as posix,H as parse,G as normalize,F as join,E as isAbsolute,D as format,C as extname,B as dirname,N as delimiter,Q as default,k as createModule,A as basename,O as __esModule};
+var bound = function(obj) {
+ var result = createModule({
+ basename: obj.basename.bind(obj),
+ dirname: obj.dirname.bind(obj),
+ extname: obj.extname.bind(obj),
+ format: obj.format.bind(obj),
+ isAbsolute: obj.isAbsolute.bind(obj),
+ join: obj.join.bind(obj),
+ normalize: obj.normalize.bind(obj),
+ parse: obj.parse.bind(obj),
+ relative: obj.relative.bind(obj),
+ resolve: obj.resolve.bind(obj),
+ toNamespacedPath: obj.toNamespacedPath.bind(obj),
+ sep: obj.sep,
+ delimiter: obj.delimiter
+ });
+ return result.default = result, result;
+}, createModule = (obj) => Object.assign(Object.create(null), obj), path = bound(Bun._Path()), posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0));
+path.win32 = win32;
+path.posix = posix;
+var {
+ basename,
+ dirname,
+ extname,
+ format,
+ isAbsolute,
+ join,
+ normalize,
+ parse,
+ relative,
+ resolve,
+ toNamespacedPath,
+ sep,
+ delimiter,
+ __esModule
+} = path;
+path[Symbol.for("CommonJS")] = 0;
+path.__esModule = !0;
+var path_default = path;
+export {
+ win32,
+ toNamespacedPath,
+ sep,
+ resolve,
+ relative,
+ posix,
+ parse,
+ normalize,
+ join,
+ isAbsolute,
+ format,
+ extname,
+ dirname,
+ delimiter,
+ path_default as default,
+ createModule,
+ basename,
+ __esModule
+};
diff --git a/src/js/out/modules/node/path.posix.js b/src/js/out/modules/node/path.posix.js
index 9588492d7..e60e44ca0 100644
--- a/src/js/out/modules/node/path.posix.js
+++ b/src/js/out/modules/node/path.posix.js
@@ -1 +1,49 @@
-var d=(e)=>{return import.meta.require(e)};var r=function(e){return{basename:e.basename.bind(e),dirname:e.dirname.bind(e),extname:e.extname.bind(e),format:e.format.bind(e),isAbsolute:e.isAbsolute.bind(e),join:e.join.bind(e),normalize:e.normalize.bind(e),parse:e.parse.bind(e),relative:e.relative.bind(e),resolve:e.resolve.bind(e),toNamespacedPath:e.toNamespacedPath.bind(e),sep:e.sep,delimiter:e.delimiter}},i=r(Bun._Path(!1));i[Symbol.for("CommonJS")]=0;var{basename:s,dirname:c,extname:f,format:g,isAbsolute:k,join:m,normalize:q,parse:t,relative:v,resolve:w,toNamespacedPath:x,sep:y,delimiter:z}=i,B=i;export{x as toNamespacedPath,y as sep,w as resolve,v as relative,t as parse,q as normalize,m as join,k as isAbsolute,g as format,f as extname,c as dirname,z as delimiter,B as default,s as basename};
+var bound = function(obj) {
+ return {
+ basename: obj.basename.bind(obj),
+ dirname: obj.dirname.bind(obj),
+ extname: obj.extname.bind(obj),
+ format: obj.format.bind(obj),
+ isAbsolute: obj.isAbsolute.bind(obj),
+ join: obj.join.bind(obj),
+ normalize: obj.normalize.bind(obj),
+ parse: obj.parse.bind(obj),
+ relative: obj.relative.bind(obj),
+ resolve: obj.resolve.bind(obj),
+ toNamespacedPath: obj.toNamespacedPath.bind(obj),
+ sep: obj.sep,
+ delimiter: obj.delimiter
+ };
+}, path = bound(Bun._Path(!1));
+path[Symbol.for("CommonJS")] = 0;
+var {
+ basename,
+ dirname,
+ extname,
+ format,
+ isAbsolute,
+ join,
+ normalize,
+ parse,
+ relative,
+ resolve,
+ toNamespacedPath,
+ sep,
+ delimiter
+} = path, path_posix_default = path;
+export {
+ toNamespacedPath,
+ sep,
+ resolve,
+ relative,
+ parse,
+ normalize,
+ join,
+ isAbsolute,
+ format,
+ extname,
+ dirname,
+ delimiter,
+ path_posix_default as default,
+ basename
+};
diff --git a/src/js/out/modules/node/path.win32.js b/src/js/out/modules/node/path.win32.js
index 8d6a0d1d4..d4a7a15ac 100644
--- a/src/js/out/modules/node/path.win32.js
+++ b/src/js/out/modules/node/path.win32.js
@@ -1 +1,47 @@
-var s=(i)=>{return import.meta.require(i)};var r=function(i){return{basename:i.basename.bind(i),dirname:i.dirname.bind(i),extname:i.extname.bind(i),format:i.format.bind(i),isAbsolute:i.isAbsolute.bind(i),join:i.join.bind(i),normalize:i.normalize.bind(i),parse:i.parse.bind(i),relative:i.relative.bind(i),resolve:i.resolve.bind(i),toNamespacedPath:i.toNamespacedPath.bind(i),sep:i.sep,delimiter:i.delimiter}},e=r(Bun._Path(!0)),{basename:c,dirname:d,extname:f,format:g,isAbsolute:k,join:l,normalize:m,parse:n,relative:q,resolve:v,toNamespacedPath:w,sep:x,delimiter:y}=e,A=e;export{w as toNamespacedPath,x as sep,v as resolve,q as relative,n as parse,m as normalize,l as join,k as isAbsolute,g as format,f as extname,d as dirname,y as delimiter,A as default,c as basename};
+var bound = function(obj) {
+ return {
+ basename: obj.basename.bind(obj),
+ dirname: obj.dirname.bind(obj),
+ extname: obj.extname.bind(obj),
+ format: obj.format.bind(obj),
+ isAbsolute: obj.isAbsolute.bind(obj),
+ join: obj.join.bind(obj),
+ normalize: obj.normalize.bind(obj),
+ parse: obj.parse.bind(obj),
+ relative: obj.relative.bind(obj),
+ resolve: obj.resolve.bind(obj),
+ toNamespacedPath: obj.toNamespacedPath.bind(obj),
+ sep: obj.sep,
+ delimiter: obj.delimiter
+ };
+}, path = bound(Bun._Path(!0)), {
+ basename,
+ dirname,
+ extname,
+ format,
+ isAbsolute,
+ join,
+ normalize,
+ parse,
+ relative,
+ resolve,
+ toNamespacedPath,
+ sep,
+ delimiter
+} = path, path_win32_default = path;
+export {
+ toNamespacedPath,
+ sep,
+ resolve,
+ relative,
+ parse,
+ normalize,
+ join,
+ isAbsolute,
+ format,
+ extname,
+ dirname,
+ delimiter,
+ path_win32_default as default,
+ basename
+};
diff --git a/src/js/private.d.ts b/src/js/private.d.ts
index 9ca25935d..eae2047fb 100644
--- a/src/js/private.d.ts
+++ b/src/js/private.d.ts
@@ -95,6 +95,7 @@ declare module "bun" {
};
function fs(): BunFS;
function _Os(): typeof import("node:os");
+ function _Path(isWindows?: boolean): typeof import("node:path");
function jest(): typeof import("bun:test");
var main: string;
var tty: Array<{ hasColors: boolean }>;
diff --git a/test/js/node/path/path.test.js b/test/js/node/path/path.test.js
index 8f5a76da7..03037c2e9 100644
--- a/test/js/node/path/path.test.js
+++ b/test/js/node/path/path.test.js
@@ -1,6 +1,6 @@
const { file } = import.meta;
-import { describe, it, expect } from "bun:test";
+import { describe, it, expect, test } from "bun:test";
import path from "node:path";
import assert from "assert";
import { hideFromStackTrace } from "harness";
@@ -586,3 +586,7 @@ it("path.parse", () => {
name: "another_dir",
});
});
+
+test("path.format works for vite's example", () => {
+ expect(path.format({ root: "", dir: "", name: "index", base: undefined, ext: ".css" })).toBe("index.css");
+});