Change:
posix.win32 = win32.win32 = win32; posix.posix = win32.posix = posix; <del> export const normalize = (process.platform === 'win32' ? win32.normalize : posix.normalize); export const isAbsolute = (process.platform === 'win32' ? win32.isAbsolute : posix.isAbsolute); export const join = (process.platform === 'win32' ? win32.join : posix.join); export const resolve = (process.platform === 'win32' ? win32.resolve : posix.resolve); export const relative = (process.platform === 'win32' ? win32.relative : posix.relative); export const dirname = (process.platform === 'win32' ? win32.dirname : posix.dirname); export const basename = (process.platform === 'win32' ? win32.basename : posix.basename); export const extname = (process.platform === 'win32' ? win32.extname : posix.extname); export const format = (process.platform === 'win32' ? win32.format : posix.format); export const parse = (process.platform === 'win32' ? win32.parse : posix.parse); export const toNamespacedPath = (process.platform === 'win32' ? win32.toNamespacedPath : posix.toNamespacedPath); export const sep = (process.platform === 'win32' ? win32.sep : posix.sep); export const delimiter = (process.platform === 'win32' ? win32.delimiter : posix.delimiter); </del> <ins> export const normalize = (platformIsWin32 ? win32.normalize : posix.normalize); export const isAbsolute = (platformIsWin32 ? win32.isAbsolute : posix.isAbsolute); export const join = (platformIsWin32 ? win32.join : posix.join); export const resolve = (platformIsWin32 ? win32.resolve : posix.resolve); export const relative = (platformIsWin32 ? win32.relative : posix.relative); export const dirname = (platformIsWin32 ? win32.dirname : posix.dirname); export const basename = (platformIsWin32 ? win32.basename : posix.basename); export const extname = (platformIsWin32 ? win32.extname : posix.extname); export const format = (platformIsWin32 ? win32.format : posix.format); export const parse = (platformIsWin32 ? win32.parse : posix.parse); export const toNamespacedPath = (platformIsWin32 ? win32.toNamespacedPath : posix.toNamespacedPath); export const sep = (platformIsWin32 ? win32.sep : posix.sep); export const delimiter = (platformIsWin32 ? win32.delimiter : posix.delimiter); </ins>

Discussion:
We will ship Electron with to stable soon so we should also look into bringing our copy of library to the same version. Checking for the diff, it seems to be a few commits after and up until //cc
Hm, the first change is already pretty bad for us: Because it seems to depend on a new thing which is maybe defined globally and probably optimised / cached / snapshotted. Maybe we should rather look out for actual bug fixes and focus on those... Changes: I think only the 2 fix commits stand out from the others
I assume you skipped over right?
Reopening given unit test failures, I had to revert the change for now.
yes I skipped the primordials. I didn't dig into why they do this, but it seemed easy enough to just call the string functions instead. As for the test failures, new PR
Primordials are only meant for Nodejs internal code usage, external users should just replace them with corresponding JavaScript builtins. You can read more about why Nodejs does it