MCPcopy
hub / github.com/webpack/webpack / mkdirp

Function mkdirp

lib/util/fs.js:598–636  ·  view source on GitHub ↗
(fs, p, callback)

Source from the content-addressed store, hash-verified

596 * @returns {void}
597 */
598const mkdirp = (fs, p, callback) => {
599 fs.mkdir(p, (err) => {
600 if (err) {
601 if (err.code === "ENOENT") {
602 const dir = dirname(fs, p);
603 if (dir === p) {
604 callback(err);
605 return;
606 }
607 mkdirp(fs, dir, (err) => {
608 if (err) {
609 callback(err);
610 return;
611 }
612 fs.mkdir(p, (err) => {
613 if (err) {
614 // EEXIST: parent already created it; EISDIR: memfs/BSD for an
615 // existing dir such as the root "/" (#10544)
616 if (err.code === "EEXIST" || err.code === "EISDIR") {
617 callback();
618 return;
619 }
620 callback(err);
621 return;
622 }
623 callback();
624 });
625 });
626 return;
627 } else if (err.code === "EEXIST" || err.code === "EISDIR") {
628 callback();
629 return;
630 }
631 callback(err);
632 return;
633 }
634 callback();
635 });
636};
637
638/**
639 * Processes the provided f.

Callers 6

emitFilesMethod · 0.85
emitAssetsMethod · 0.85
_emitRecordsMethod · 0.85
serializeMethod · 0.85
applyMethod · 0.85
storeResultMethod · 0.85

Calls 2

dirnameFunction · 0.85
callbackFunction · 0.50

Tested by

no test coverage detected