From b17b61b8c6854657177dbdc23fad8ea98f4e779f Mon Sep 17 00:00:00 2001 From: dave caruso Date: Sat, 22 Jul 2023 16:45:45 -0700 Subject: fix path.format for `vite build` (#3734) * fix path.format for vite * Update path.test.js --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/node/types.zig | 10 +++--- src/js/node/path.js | 49 ---------------------------- src/js/node/path.posix.js | 37 --------------------- src/js/node/path.posix.ts | 37 +++++++++++++++++++++ src/js/node/path.ts | 49 ++++++++++++++++++++++++++++ src/js/node/path.win32.js | 36 --------------------- src/js/node/path.win32.ts | 36 +++++++++++++++++++++ src/js/out/modules/node/path.js | 60 ++++++++++++++++++++++++++++++++++- src/js/out/modules/node/path.posix.js | 50 ++++++++++++++++++++++++++++- src/js/out/modules/node/path.win32.js | 48 +++++++++++++++++++++++++++- src/js/private.d.ts | 1 + 11 files changed, 283 insertions(+), 130 deletions(-) delete mode 100644 src/js/node/path.js delete mode 100644 src/js/node/path.posix.js create mode 100644 src/js/node/path.posix.ts create mode 100644 src/js/node/path.ts delete mode 100644 src/js/node/path.win32.js create mode 100644 src/js/node/path.win32.ts (limited to 'src') 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.js b/src/js/node/path.js deleted file mode 100644 index 7c20d520b..000000000 --- a/src/js/node/path.js +++ /dev/null @@ -1,49 +0,0 @@ -// Hardcoded module "node:path" -export const createModule = obj => Object.assign(Object.create(null), obj); -function bound(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, - }); - result.default = result; - return result; -} -var path = bound(Bun._Path()); - -export var posix = bound(Bun._Path(false)); -export var win32 = bound(Bun._Path(true)); - -path.win32 = win32; -path.posix = posix; - -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, - __esModule, -} = path; - -path[Symbol.for("CommonJS")] = 0; -path.__esModule = true; -export default path; diff --git a/src/js/node/path.posix.js b/src/js/node/path.posix.js deleted file mode 100644 index e94da9cea..000000000 --- a/src/js/node/path.posix.js +++ /dev/null @@ -1,37 +0,0 @@ -// Hardcoded module "node:path/posix" -function bound(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, - }; -} -var path = bound(Bun._Path(false)); -path[Symbol.for("CommonJS")] = 0; - -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, -} = path; -export default path; diff --git a/src/js/node/path.posix.ts b/src/js/node/path.posix.ts new file mode 100644 index 000000000..e94da9cea --- /dev/null +++ b/src/js/node/path.posix.ts @@ -0,0 +1,37 @@ +// Hardcoded module "node:path/posix" +function bound(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, + }; +} +var path = bound(Bun._Path(false)); +path[Symbol.for("CommonJS")] = 0; + +export var { + basename, + dirname, + extname, + format, + isAbsolute, + join, + normalize, + parse, + relative, + resolve, + toNamespacedPath, + sep, + delimiter, +} = path; +export default path; diff --git a/src/js/node/path.ts b/src/js/node/path.ts new file mode 100644 index 000000000..7c20d520b --- /dev/null +++ b/src/js/node/path.ts @@ -0,0 +1,49 @@ +// Hardcoded module "node:path" +export const createModule = obj => Object.assign(Object.create(null), obj); +function bound(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, + }); + result.default = result; + return result; +} +var path = bound(Bun._Path()); + +export var posix = bound(Bun._Path(false)); +export var win32 = bound(Bun._Path(true)); + +path.win32 = win32; +path.posix = posix; + +export var { + basename, + dirname, + extname, + format, + isAbsolute, + join, + normalize, + parse, + relative, + resolve, + toNamespacedPath, + sep, + delimiter, + __esModule, +} = path; + +path[Symbol.for("CommonJS")] = 0; +path.__esModule = true; +export default path; diff --git a/src/js/node/path.win32.js b/src/js/node/path.win32.js deleted file mode 100644 index 1c8bda4ba..000000000 --- a/src/js/node/path.win32.js +++ /dev/null @@ -1,36 +0,0 @@ -// Hardcoded module "node:path/win32" -function bound(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, - }; -} -var path = bound(Bun._Path(true)); - -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, -} = path; -export default path; diff --git a/src/js/node/path.win32.ts b/src/js/node/path.win32.ts new file mode 100644 index 000000000..1c8bda4ba --- /dev/null +++ b/src/js/node/path.win32.ts @@ -0,0 +1,36 @@ +// Hardcoded module "node:path/win32" +function bound(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, + }; +} +var path = bound(Bun._Path(true)); + +export var { + basename, + dirname, + extname, + format, + isAbsolute, + join, + normalize, + parse, + relative, + resolve, + toNamespacedPath, + sep, + delimiter, +} = path; +export default path; 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 }>; -- cgit v1.2.3