bunki 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -12
- package/dist/cli.js +126 -2163
- package/dist/index.js +64 -2100
- package/package.json +11 -5
package/dist/cli.js
CHANGED
|
@@ -1795,2081 +1795,8 @@ var require_commander = __commonJS((exports, module) => {
|
|
|
1795
1795
|
exports.InvalidOptionArgumentError = InvalidArgumentError;
|
|
1796
1796
|
});
|
|
1797
1797
|
|
|
1798
|
-
// node_modules/universalify/index.js
|
|
1799
|
-
var require_universalify = __commonJS((exports) => {
|
|
1800
|
-
exports.fromCallback = function(fn) {
|
|
1801
|
-
return Object.defineProperty(function(...args) {
|
|
1802
|
-
if (typeof args[args.length - 1] === "function")
|
|
1803
|
-
fn.apply(this, args);
|
|
1804
|
-
else {
|
|
1805
|
-
return new Promise((resolve, reject) => {
|
|
1806
|
-
args.push((err, res) => err != null ? reject(err) : resolve(res));
|
|
1807
|
-
fn.apply(this, args);
|
|
1808
|
-
});
|
|
1809
|
-
}
|
|
1810
|
-
}, "name", { value: fn.name });
|
|
1811
|
-
};
|
|
1812
|
-
exports.fromPromise = function(fn) {
|
|
1813
|
-
return Object.defineProperty(function(...args) {
|
|
1814
|
-
const cb = args[args.length - 1];
|
|
1815
|
-
if (typeof cb !== "function")
|
|
1816
|
-
return fn.apply(this, args);
|
|
1817
|
-
else {
|
|
1818
|
-
args.pop();
|
|
1819
|
-
fn.apply(this, args).then((r) => cb(null, r), cb);
|
|
1820
|
-
}
|
|
1821
|
-
}, "name", { value: fn.name });
|
|
1822
|
-
};
|
|
1823
|
-
});
|
|
1824
|
-
|
|
1825
|
-
// node_modules/graceful-fs/polyfills.js
|
|
1826
|
-
var require_polyfills = __commonJS((exports, module) => {
|
|
1827
|
-
var constants = __require("constants");
|
|
1828
|
-
var origCwd = process.cwd;
|
|
1829
|
-
var cwd = null;
|
|
1830
|
-
var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
|
|
1831
|
-
process.cwd = function() {
|
|
1832
|
-
if (!cwd)
|
|
1833
|
-
cwd = origCwd.call(process);
|
|
1834
|
-
return cwd;
|
|
1835
|
-
};
|
|
1836
|
-
try {
|
|
1837
|
-
process.cwd();
|
|
1838
|
-
} catch (er) {}
|
|
1839
|
-
if (typeof process.chdir === "function") {
|
|
1840
|
-
chdir = process.chdir;
|
|
1841
|
-
process.chdir = function(d) {
|
|
1842
|
-
cwd = null;
|
|
1843
|
-
chdir.call(process, d);
|
|
1844
|
-
};
|
|
1845
|
-
if (Object.setPrototypeOf)
|
|
1846
|
-
Object.setPrototypeOf(process.chdir, chdir);
|
|
1847
|
-
}
|
|
1848
|
-
var chdir;
|
|
1849
|
-
module.exports = patch;
|
|
1850
|
-
function patch(fs) {
|
|
1851
|
-
if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
|
|
1852
|
-
patchLchmod(fs);
|
|
1853
|
-
}
|
|
1854
|
-
if (!fs.lutimes) {
|
|
1855
|
-
patchLutimes(fs);
|
|
1856
|
-
}
|
|
1857
|
-
fs.chown = chownFix(fs.chown);
|
|
1858
|
-
fs.fchown = chownFix(fs.fchown);
|
|
1859
|
-
fs.lchown = chownFix(fs.lchown);
|
|
1860
|
-
fs.chmod = chmodFix(fs.chmod);
|
|
1861
|
-
fs.fchmod = chmodFix(fs.fchmod);
|
|
1862
|
-
fs.lchmod = chmodFix(fs.lchmod);
|
|
1863
|
-
fs.chownSync = chownFixSync(fs.chownSync);
|
|
1864
|
-
fs.fchownSync = chownFixSync(fs.fchownSync);
|
|
1865
|
-
fs.lchownSync = chownFixSync(fs.lchownSync);
|
|
1866
|
-
fs.chmodSync = chmodFixSync(fs.chmodSync);
|
|
1867
|
-
fs.fchmodSync = chmodFixSync(fs.fchmodSync);
|
|
1868
|
-
fs.lchmodSync = chmodFixSync(fs.lchmodSync);
|
|
1869
|
-
fs.stat = statFix(fs.stat);
|
|
1870
|
-
fs.fstat = statFix(fs.fstat);
|
|
1871
|
-
fs.lstat = statFix(fs.lstat);
|
|
1872
|
-
fs.statSync = statFixSync(fs.statSync);
|
|
1873
|
-
fs.fstatSync = statFixSync(fs.fstatSync);
|
|
1874
|
-
fs.lstatSync = statFixSync(fs.lstatSync);
|
|
1875
|
-
if (fs.chmod && !fs.lchmod) {
|
|
1876
|
-
fs.lchmod = function(path, mode, cb) {
|
|
1877
|
-
if (cb)
|
|
1878
|
-
process.nextTick(cb);
|
|
1879
|
-
};
|
|
1880
|
-
fs.lchmodSync = function() {};
|
|
1881
|
-
}
|
|
1882
|
-
if (fs.chown && !fs.lchown) {
|
|
1883
|
-
fs.lchown = function(path, uid, gid, cb) {
|
|
1884
|
-
if (cb)
|
|
1885
|
-
process.nextTick(cb);
|
|
1886
|
-
};
|
|
1887
|
-
fs.lchownSync = function() {};
|
|
1888
|
-
}
|
|
1889
|
-
if (platform === "win32") {
|
|
1890
|
-
fs.rename = typeof fs.rename !== "function" ? fs.rename : function(fs$rename) {
|
|
1891
|
-
function rename(from, to, cb) {
|
|
1892
|
-
var start = Date.now();
|
|
1893
|
-
var backoff = 0;
|
|
1894
|
-
fs$rename(from, to, function CB(er) {
|
|
1895
|
-
if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 60000) {
|
|
1896
|
-
setTimeout(function() {
|
|
1897
|
-
fs.stat(to, function(stater, st) {
|
|
1898
|
-
if (stater && stater.code === "ENOENT")
|
|
1899
|
-
fs$rename(from, to, CB);
|
|
1900
|
-
else
|
|
1901
|
-
cb(er);
|
|
1902
|
-
});
|
|
1903
|
-
}, backoff);
|
|
1904
|
-
if (backoff < 100)
|
|
1905
|
-
backoff += 10;
|
|
1906
|
-
return;
|
|
1907
|
-
}
|
|
1908
|
-
if (cb)
|
|
1909
|
-
cb(er);
|
|
1910
|
-
});
|
|
1911
|
-
}
|
|
1912
|
-
if (Object.setPrototypeOf)
|
|
1913
|
-
Object.setPrototypeOf(rename, fs$rename);
|
|
1914
|
-
return rename;
|
|
1915
|
-
}(fs.rename);
|
|
1916
|
-
}
|
|
1917
|
-
fs.read = typeof fs.read !== "function" ? fs.read : function(fs$read) {
|
|
1918
|
-
function read(fd, buffer, offset, length, position, callback_) {
|
|
1919
|
-
var callback;
|
|
1920
|
-
if (callback_ && typeof callback_ === "function") {
|
|
1921
|
-
var eagCounter = 0;
|
|
1922
|
-
callback = function(er, _, __) {
|
|
1923
|
-
if (er && er.code === "EAGAIN" && eagCounter < 10) {
|
|
1924
|
-
eagCounter++;
|
|
1925
|
-
return fs$read.call(fs, fd, buffer, offset, length, position, callback);
|
|
1926
|
-
}
|
|
1927
|
-
callback_.apply(this, arguments);
|
|
1928
|
-
};
|
|
1929
|
-
}
|
|
1930
|
-
return fs$read.call(fs, fd, buffer, offset, length, position, callback);
|
|
1931
|
-
}
|
|
1932
|
-
if (Object.setPrototypeOf)
|
|
1933
|
-
Object.setPrototypeOf(read, fs$read);
|
|
1934
|
-
return read;
|
|
1935
|
-
}(fs.read);
|
|
1936
|
-
fs.readSync = typeof fs.readSync !== "function" ? fs.readSync : function(fs$readSync) {
|
|
1937
|
-
return function(fd, buffer, offset, length, position) {
|
|
1938
|
-
var eagCounter = 0;
|
|
1939
|
-
while (true) {
|
|
1940
|
-
try {
|
|
1941
|
-
return fs$readSync.call(fs, fd, buffer, offset, length, position);
|
|
1942
|
-
} catch (er) {
|
|
1943
|
-
if (er.code === "EAGAIN" && eagCounter < 10) {
|
|
1944
|
-
eagCounter++;
|
|
1945
|
-
continue;
|
|
1946
|
-
}
|
|
1947
|
-
throw er;
|
|
1948
|
-
}
|
|
1949
|
-
}
|
|
1950
|
-
};
|
|
1951
|
-
}(fs.readSync);
|
|
1952
|
-
function patchLchmod(fs2) {
|
|
1953
|
-
fs2.lchmod = function(path, mode, callback) {
|
|
1954
|
-
fs2.open(path, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) {
|
|
1955
|
-
if (err) {
|
|
1956
|
-
if (callback)
|
|
1957
|
-
callback(err);
|
|
1958
|
-
return;
|
|
1959
|
-
}
|
|
1960
|
-
fs2.fchmod(fd, mode, function(err2) {
|
|
1961
|
-
fs2.close(fd, function(err22) {
|
|
1962
|
-
if (callback)
|
|
1963
|
-
callback(err2 || err22);
|
|
1964
|
-
});
|
|
1965
|
-
});
|
|
1966
|
-
});
|
|
1967
|
-
};
|
|
1968
|
-
fs2.lchmodSync = function(path, mode) {
|
|
1969
|
-
var fd = fs2.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode);
|
|
1970
|
-
var threw = true;
|
|
1971
|
-
var ret;
|
|
1972
|
-
try {
|
|
1973
|
-
ret = fs2.fchmodSync(fd, mode);
|
|
1974
|
-
threw = false;
|
|
1975
|
-
} finally {
|
|
1976
|
-
if (threw) {
|
|
1977
|
-
try {
|
|
1978
|
-
fs2.closeSync(fd);
|
|
1979
|
-
} catch (er) {}
|
|
1980
|
-
} else {
|
|
1981
|
-
fs2.closeSync(fd);
|
|
1982
|
-
}
|
|
1983
|
-
}
|
|
1984
|
-
return ret;
|
|
1985
|
-
};
|
|
1986
|
-
}
|
|
1987
|
-
function patchLutimes(fs2) {
|
|
1988
|
-
if (constants.hasOwnProperty("O_SYMLINK") && fs2.futimes) {
|
|
1989
|
-
fs2.lutimes = function(path, at, mt, cb) {
|
|
1990
|
-
fs2.open(path, constants.O_SYMLINK, function(er, fd) {
|
|
1991
|
-
if (er) {
|
|
1992
|
-
if (cb)
|
|
1993
|
-
cb(er);
|
|
1994
|
-
return;
|
|
1995
|
-
}
|
|
1996
|
-
fs2.futimes(fd, at, mt, function(er2) {
|
|
1997
|
-
fs2.close(fd, function(er22) {
|
|
1998
|
-
if (cb)
|
|
1999
|
-
cb(er2 || er22);
|
|
2000
|
-
});
|
|
2001
|
-
});
|
|
2002
|
-
});
|
|
2003
|
-
};
|
|
2004
|
-
fs2.lutimesSync = function(path, at, mt) {
|
|
2005
|
-
var fd = fs2.openSync(path, constants.O_SYMLINK);
|
|
2006
|
-
var ret;
|
|
2007
|
-
var threw = true;
|
|
2008
|
-
try {
|
|
2009
|
-
ret = fs2.futimesSync(fd, at, mt);
|
|
2010
|
-
threw = false;
|
|
2011
|
-
} finally {
|
|
2012
|
-
if (threw) {
|
|
2013
|
-
try {
|
|
2014
|
-
fs2.closeSync(fd);
|
|
2015
|
-
} catch (er) {}
|
|
2016
|
-
} else {
|
|
2017
|
-
fs2.closeSync(fd);
|
|
2018
|
-
}
|
|
2019
|
-
}
|
|
2020
|
-
return ret;
|
|
2021
|
-
};
|
|
2022
|
-
} else if (fs2.futimes) {
|
|
2023
|
-
fs2.lutimes = function(_a, _b, _c, cb) {
|
|
2024
|
-
if (cb)
|
|
2025
|
-
process.nextTick(cb);
|
|
2026
|
-
};
|
|
2027
|
-
fs2.lutimesSync = function() {};
|
|
2028
|
-
}
|
|
2029
|
-
}
|
|
2030
|
-
function chmodFix(orig) {
|
|
2031
|
-
if (!orig)
|
|
2032
|
-
return orig;
|
|
2033
|
-
return function(target, mode, cb) {
|
|
2034
|
-
return orig.call(fs, target, mode, function(er) {
|
|
2035
|
-
if (chownErOk(er))
|
|
2036
|
-
er = null;
|
|
2037
|
-
if (cb)
|
|
2038
|
-
cb.apply(this, arguments);
|
|
2039
|
-
});
|
|
2040
|
-
};
|
|
2041
|
-
}
|
|
2042
|
-
function chmodFixSync(orig) {
|
|
2043
|
-
if (!orig)
|
|
2044
|
-
return orig;
|
|
2045
|
-
return function(target, mode) {
|
|
2046
|
-
try {
|
|
2047
|
-
return orig.call(fs, target, mode);
|
|
2048
|
-
} catch (er) {
|
|
2049
|
-
if (!chownErOk(er))
|
|
2050
|
-
throw er;
|
|
2051
|
-
}
|
|
2052
|
-
};
|
|
2053
|
-
}
|
|
2054
|
-
function chownFix(orig) {
|
|
2055
|
-
if (!orig)
|
|
2056
|
-
return orig;
|
|
2057
|
-
return function(target, uid, gid, cb) {
|
|
2058
|
-
return orig.call(fs, target, uid, gid, function(er) {
|
|
2059
|
-
if (chownErOk(er))
|
|
2060
|
-
er = null;
|
|
2061
|
-
if (cb)
|
|
2062
|
-
cb.apply(this, arguments);
|
|
2063
|
-
});
|
|
2064
|
-
};
|
|
2065
|
-
}
|
|
2066
|
-
function chownFixSync(orig) {
|
|
2067
|
-
if (!orig)
|
|
2068
|
-
return orig;
|
|
2069
|
-
return function(target, uid, gid) {
|
|
2070
|
-
try {
|
|
2071
|
-
return orig.call(fs, target, uid, gid);
|
|
2072
|
-
} catch (er) {
|
|
2073
|
-
if (!chownErOk(er))
|
|
2074
|
-
throw er;
|
|
2075
|
-
}
|
|
2076
|
-
};
|
|
2077
|
-
}
|
|
2078
|
-
function statFix(orig) {
|
|
2079
|
-
if (!orig)
|
|
2080
|
-
return orig;
|
|
2081
|
-
return function(target, options2, cb) {
|
|
2082
|
-
if (typeof options2 === "function") {
|
|
2083
|
-
cb = options2;
|
|
2084
|
-
options2 = null;
|
|
2085
|
-
}
|
|
2086
|
-
function callback(er, stats) {
|
|
2087
|
-
if (stats) {
|
|
2088
|
-
if (stats.uid < 0)
|
|
2089
|
-
stats.uid += 4294967296;
|
|
2090
|
-
if (stats.gid < 0)
|
|
2091
|
-
stats.gid += 4294967296;
|
|
2092
|
-
}
|
|
2093
|
-
if (cb)
|
|
2094
|
-
cb.apply(this, arguments);
|
|
2095
|
-
}
|
|
2096
|
-
return options2 ? orig.call(fs, target, options2, callback) : orig.call(fs, target, callback);
|
|
2097
|
-
};
|
|
2098
|
-
}
|
|
2099
|
-
function statFixSync(orig) {
|
|
2100
|
-
if (!orig)
|
|
2101
|
-
return orig;
|
|
2102
|
-
return function(target, options2) {
|
|
2103
|
-
var stats = options2 ? orig.call(fs, target, options2) : orig.call(fs, target);
|
|
2104
|
-
if (stats) {
|
|
2105
|
-
if (stats.uid < 0)
|
|
2106
|
-
stats.uid += 4294967296;
|
|
2107
|
-
if (stats.gid < 0)
|
|
2108
|
-
stats.gid += 4294967296;
|
|
2109
|
-
}
|
|
2110
|
-
return stats;
|
|
2111
|
-
};
|
|
2112
|
-
}
|
|
2113
|
-
function chownErOk(er) {
|
|
2114
|
-
if (!er)
|
|
2115
|
-
return true;
|
|
2116
|
-
if (er.code === "ENOSYS")
|
|
2117
|
-
return true;
|
|
2118
|
-
var nonroot = !process.getuid || process.getuid() !== 0;
|
|
2119
|
-
if (nonroot) {
|
|
2120
|
-
if (er.code === "EINVAL" || er.code === "EPERM")
|
|
2121
|
-
return true;
|
|
2122
|
-
}
|
|
2123
|
-
return false;
|
|
2124
|
-
}
|
|
2125
|
-
}
|
|
2126
|
-
});
|
|
2127
|
-
|
|
2128
|
-
// node_modules/graceful-fs/legacy-streams.js
|
|
2129
|
-
var require_legacy_streams = __commonJS((exports, module) => {
|
|
2130
|
-
var Stream = __require("stream").Stream;
|
|
2131
|
-
module.exports = legacy;
|
|
2132
|
-
function legacy(fs) {
|
|
2133
|
-
return {
|
|
2134
|
-
ReadStream,
|
|
2135
|
-
WriteStream
|
|
2136
|
-
};
|
|
2137
|
-
function ReadStream(path, options2) {
|
|
2138
|
-
if (!(this instanceof ReadStream))
|
|
2139
|
-
return new ReadStream(path, options2);
|
|
2140
|
-
Stream.call(this);
|
|
2141
|
-
var self = this;
|
|
2142
|
-
this.path = path;
|
|
2143
|
-
this.fd = null;
|
|
2144
|
-
this.readable = true;
|
|
2145
|
-
this.paused = false;
|
|
2146
|
-
this.flags = "r";
|
|
2147
|
-
this.mode = 438;
|
|
2148
|
-
this.bufferSize = 64 * 1024;
|
|
2149
|
-
options2 = options2 || {};
|
|
2150
|
-
var keys = Object.keys(options2);
|
|
2151
|
-
for (var index = 0, length = keys.length;index < length; index++) {
|
|
2152
|
-
var key = keys[index];
|
|
2153
|
-
this[key] = options2[key];
|
|
2154
|
-
}
|
|
2155
|
-
if (this.encoding)
|
|
2156
|
-
this.setEncoding(this.encoding);
|
|
2157
|
-
if (this.start !== undefined) {
|
|
2158
|
-
if (typeof this.start !== "number") {
|
|
2159
|
-
throw TypeError("start must be a Number");
|
|
2160
|
-
}
|
|
2161
|
-
if (this.end === undefined) {
|
|
2162
|
-
this.end = Infinity;
|
|
2163
|
-
} else if (typeof this.end !== "number") {
|
|
2164
|
-
throw TypeError("end must be a Number");
|
|
2165
|
-
}
|
|
2166
|
-
if (this.start > this.end) {
|
|
2167
|
-
throw new Error("start must be <= end");
|
|
2168
|
-
}
|
|
2169
|
-
this.pos = this.start;
|
|
2170
|
-
}
|
|
2171
|
-
if (this.fd !== null) {
|
|
2172
|
-
process.nextTick(function() {
|
|
2173
|
-
self._read();
|
|
2174
|
-
});
|
|
2175
|
-
return;
|
|
2176
|
-
}
|
|
2177
|
-
fs.open(this.path, this.flags, this.mode, function(err, fd) {
|
|
2178
|
-
if (err) {
|
|
2179
|
-
self.emit("error", err);
|
|
2180
|
-
self.readable = false;
|
|
2181
|
-
return;
|
|
2182
|
-
}
|
|
2183
|
-
self.fd = fd;
|
|
2184
|
-
self.emit("open", fd);
|
|
2185
|
-
self._read();
|
|
2186
|
-
});
|
|
2187
|
-
}
|
|
2188
|
-
function WriteStream(path, options2) {
|
|
2189
|
-
if (!(this instanceof WriteStream))
|
|
2190
|
-
return new WriteStream(path, options2);
|
|
2191
|
-
Stream.call(this);
|
|
2192
|
-
this.path = path;
|
|
2193
|
-
this.fd = null;
|
|
2194
|
-
this.writable = true;
|
|
2195
|
-
this.flags = "w";
|
|
2196
|
-
this.encoding = "binary";
|
|
2197
|
-
this.mode = 438;
|
|
2198
|
-
this.bytesWritten = 0;
|
|
2199
|
-
options2 = options2 || {};
|
|
2200
|
-
var keys = Object.keys(options2);
|
|
2201
|
-
for (var index = 0, length = keys.length;index < length; index++) {
|
|
2202
|
-
var key = keys[index];
|
|
2203
|
-
this[key] = options2[key];
|
|
2204
|
-
}
|
|
2205
|
-
if (this.start !== undefined) {
|
|
2206
|
-
if (typeof this.start !== "number") {
|
|
2207
|
-
throw TypeError("start must be a Number");
|
|
2208
|
-
}
|
|
2209
|
-
if (this.start < 0) {
|
|
2210
|
-
throw new Error("start must be >= zero");
|
|
2211
|
-
}
|
|
2212
|
-
this.pos = this.start;
|
|
2213
|
-
}
|
|
2214
|
-
this.busy = false;
|
|
2215
|
-
this._queue = [];
|
|
2216
|
-
if (this.fd === null) {
|
|
2217
|
-
this._open = fs.open;
|
|
2218
|
-
this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);
|
|
2219
|
-
this.flush();
|
|
2220
|
-
}
|
|
2221
|
-
}
|
|
2222
|
-
}
|
|
2223
|
-
});
|
|
2224
|
-
|
|
2225
|
-
// node_modules/graceful-fs/clone.js
|
|
2226
|
-
var require_clone = __commonJS((exports, module) => {
|
|
2227
|
-
module.exports = clone;
|
|
2228
|
-
var getPrototypeOf = Object.getPrototypeOf || function(obj) {
|
|
2229
|
-
return obj.__proto__;
|
|
2230
|
-
};
|
|
2231
|
-
function clone(obj) {
|
|
2232
|
-
if (obj === null || typeof obj !== "object")
|
|
2233
|
-
return obj;
|
|
2234
|
-
if (obj instanceof Object)
|
|
2235
|
-
var copy = { __proto__: getPrototypeOf(obj) };
|
|
2236
|
-
else
|
|
2237
|
-
var copy = Object.create(null);
|
|
2238
|
-
Object.getOwnPropertyNames(obj).forEach(function(key) {
|
|
2239
|
-
Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
|
|
2240
|
-
});
|
|
2241
|
-
return copy;
|
|
2242
|
-
}
|
|
2243
|
-
});
|
|
2244
|
-
|
|
2245
|
-
// node_modules/graceful-fs/graceful-fs.js
|
|
2246
|
-
var require_graceful_fs = __commonJS((exports, module) => {
|
|
2247
|
-
var fs = __require("fs");
|
|
2248
|
-
var polyfills = require_polyfills();
|
|
2249
|
-
var legacy = require_legacy_streams();
|
|
2250
|
-
var clone = require_clone();
|
|
2251
|
-
var util = __require("util");
|
|
2252
|
-
var gracefulQueue;
|
|
2253
|
-
var previousSymbol;
|
|
2254
|
-
if (typeof Symbol === "function" && typeof Symbol.for === "function") {
|
|
2255
|
-
gracefulQueue = Symbol.for("graceful-fs.queue");
|
|
2256
|
-
previousSymbol = Symbol.for("graceful-fs.previous");
|
|
2257
|
-
} else {
|
|
2258
|
-
gracefulQueue = "___graceful-fs.queue";
|
|
2259
|
-
previousSymbol = "___graceful-fs.previous";
|
|
2260
|
-
}
|
|
2261
|
-
function noop() {}
|
|
2262
|
-
function publishQueue(context, queue2) {
|
|
2263
|
-
Object.defineProperty(context, gracefulQueue, {
|
|
2264
|
-
get: function() {
|
|
2265
|
-
return queue2;
|
|
2266
|
-
}
|
|
2267
|
-
});
|
|
2268
|
-
}
|
|
2269
|
-
var debug = noop;
|
|
2270
|
-
if (util.debuglog)
|
|
2271
|
-
debug = util.debuglog("gfs4");
|
|
2272
|
-
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
|
|
2273
|
-
debug = function() {
|
|
2274
|
-
var m = util.format.apply(util, arguments);
|
|
2275
|
-
m = "GFS4: " + m.split(/\n/).join(`
|
|
2276
|
-
GFS4: `);
|
|
2277
|
-
console.error(m);
|
|
2278
|
-
};
|
|
2279
|
-
if (!fs[gracefulQueue]) {
|
|
2280
|
-
queue = global[gracefulQueue] || [];
|
|
2281
|
-
publishQueue(fs, queue);
|
|
2282
|
-
fs.close = function(fs$close) {
|
|
2283
|
-
function close(fd, cb) {
|
|
2284
|
-
return fs$close.call(fs, fd, function(err) {
|
|
2285
|
-
if (!err) {
|
|
2286
|
-
resetQueue();
|
|
2287
|
-
}
|
|
2288
|
-
if (typeof cb === "function")
|
|
2289
|
-
cb.apply(this, arguments);
|
|
2290
|
-
});
|
|
2291
|
-
}
|
|
2292
|
-
Object.defineProperty(close, previousSymbol, {
|
|
2293
|
-
value: fs$close
|
|
2294
|
-
});
|
|
2295
|
-
return close;
|
|
2296
|
-
}(fs.close);
|
|
2297
|
-
fs.closeSync = function(fs$closeSync) {
|
|
2298
|
-
function closeSync(fd) {
|
|
2299
|
-
fs$closeSync.apply(fs, arguments);
|
|
2300
|
-
resetQueue();
|
|
2301
|
-
}
|
|
2302
|
-
Object.defineProperty(closeSync, previousSymbol, {
|
|
2303
|
-
value: fs$closeSync
|
|
2304
|
-
});
|
|
2305
|
-
return closeSync;
|
|
2306
|
-
}(fs.closeSync);
|
|
2307
|
-
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
|
|
2308
|
-
process.on("exit", function() {
|
|
2309
|
-
debug(fs[gracefulQueue]);
|
|
2310
|
-
__require("assert").equal(fs[gracefulQueue].length, 0);
|
|
2311
|
-
});
|
|
2312
|
-
}
|
|
2313
|
-
}
|
|
2314
|
-
var queue;
|
|
2315
|
-
if (!global[gracefulQueue]) {
|
|
2316
|
-
publishQueue(global, fs[gracefulQueue]);
|
|
2317
|
-
}
|
|
2318
|
-
module.exports = patch(clone(fs));
|
|
2319
|
-
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
|
|
2320
|
-
module.exports = patch(fs);
|
|
2321
|
-
fs.__patched = true;
|
|
2322
|
-
}
|
|
2323
|
-
function patch(fs2) {
|
|
2324
|
-
polyfills(fs2);
|
|
2325
|
-
fs2.gracefulify = patch;
|
|
2326
|
-
fs2.createReadStream = createReadStream;
|
|
2327
|
-
fs2.createWriteStream = createWriteStream;
|
|
2328
|
-
var fs$readFile = fs2.readFile;
|
|
2329
|
-
fs2.readFile = readFile;
|
|
2330
|
-
function readFile(path, options2, cb) {
|
|
2331
|
-
if (typeof options2 === "function")
|
|
2332
|
-
cb = options2, options2 = null;
|
|
2333
|
-
return go$readFile(path, options2, cb);
|
|
2334
|
-
function go$readFile(path2, options3, cb2, startTime) {
|
|
2335
|
-
return fs$readFile(path2, options3, function(err) {
|
|
2336
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2337
|
-
enqueue([go$readFile, [path2, options3, cb2], err, startTime || Date.now(), Date.now()]);
|
|
2338
|
-
else {
|
|
2339
|
-
if (typeof cb2 === "function")
|
|
2340
|
-
cb2.apply(this, arguments);
|
|
2341
|
-
}
|
|
2342
|
-
});
|
|
2343
|
-
}
|
|
2344
|
-
}
|
|
2345
|
-
var fs$writeFile = fs2.writeFile;
|
|
2346
|
-
fs2.writeFile = writeFile;
|
|
2347
|
-
function writeFile(path, data, options2, cb) {
|
|
2348
|
-
if (typeof options2 === "function")
|
|
2349
|
-
cb = options2, options2 = null;
|
|
2350
|
-
return go$writeFile(path, data, options2, cb);
|
|
2351
|
-
function go$writeFile(path2, data2, options3, cb2, startTime) {
|
|
2352
|
-
return fs$writeFile(path2, data2, options3, function(err) {
|
|
2353
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2354
|
-
enqueue([go$writeFile, [path2, data2, options3, cb2], err, startTime || Date.now(), Date.now()]);
|
|
2355
|
-
else {
|
|
2356
|
-
if (typeof cb2 === "function")
|
|
2357
|
-
cb2.apply(this, arguments);
|
|
2358
|
-
}
|
|
2359
|
-
});
|
|
2360
|
-
}
|
|
2361
|
-
}
|
|
2362
|
-
var fs$appendFile = fs2.appendFile;
|
|
2363
|
-
if (fs$appendFile)
|
|
2364
|
-
fs2.appendFile = appendFile;
|
|
2365
|
-
function appendFile(path, data, options2, cb) {
|
|
2366
|
-
if (typeof options2 === "function")
|
|
2367
|
-
cb = options2, options2 = null;
|
|
2368
|
-
return go$appendFile(path, data, options2, cb);
|
|
2369
|
-
function go$appendFile(path2, data2, options3, cb2, startTime) {
|
|
2370
|
-
return fs$appendFile(path2, data2, options3, function(err) {
|
|
2371
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2372
|
-
enqueue([go$appendFile, [path2, data2, options3, cb2], err, startTime || Date.now(), Date.now()]);
|
|
2373
|
-
else {
|
|
2374
|
-
if (typeof cb2 === "function")
|
|
2375
|
-
cb2.apply(this, arguments);
|
|
2376
|
-
}
|
|
2377
|
-
});
|
|
2378
|
-
}
|
|
2379
|
-
}
|
|
2380
|
-
var fs$copyFile = fs2.copyFile;
|
|
2381
|
-
if (fs$copyFile)
|
|
2382
|
-
fs2.copyFile = copyFile;
|
|
2383
|
-
function copyFile(src, dest, flags, cb) {
|
|
2384
|
-
if (typeof flags === "function") {
|
|
2385
|
-
cb = flags;
|
|
2386
|
-
flags = 0;
|
|
2387
|
-
}
|
|
2388
|
-
return go$copyFile(src, dest, flags, cb);
|
|
2389
|
-
function go$copyFile(src2, dest2, flags2, cb2, startTime) {
|
|
2390
|
-
return fs$copyFile(src2, dest2, flags2, function(err) {
|
|
2391
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2392
|
-
enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
2393
|
-
else {
|
|
2394
|
-
if (typeof cb2 === "function")
|
|
2395
|
-
cb2.apply(this, arguments);
|
|
2396
|
-
}
|
|
2397
|
-
});
|
|
2398
|
-
}
|
|
2399
|
-
}
|
|
2400
|
-
var fs$readdir = fs2.readdir;
|
|
2401
|
-
fs2.readdir = readdir;
|
|
2402
|
-
var noReaddirOptionVersions = /^v[0-5]\./;
|
|
2403
|
-
function readdir(path, options2, cb) {
|
|
2404
|
-
if (typeof options2 === "function")
|
|
2405
|
-
cb = options2, options2 = null;
|
|
2406
|
-
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir(path2, options3, cb2, startTime) {
|
|
2407
|
-
return fs$readdir(path2, fs$readdirCallback(path2, options3, cb2, startTime));
|
|
2408
|
-
} : function go$readdir(path2, options3, cb2, startTime) {
|
|
2409
|
-
return fs$readdir(path2, options3, fs$readdirCallback(path2, options3, cb2, startTime));
|
|
2410
|
-
};
|
|
2411
|
-
return go$readdir(path, options2, cb);
|
|
2412
|
-
function fs$readdirCallback(path2, options3, cb2, startTime) {
|
|
2413
|
-
return function(err, files) {
|
|
2414
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2415
|
-
enqueue([
|
|
2416
|
-
go$readdir,
|
|
2417
|
-
[path2, options3, cb2],
|
|
2418
|
-
err,
|
|
2419
|
-
startTime || Date.now(),
|
|
2420
|
-
Date.now()
|
|
2421
|
-
]);
|
|
2422
|
-
else {
|
|
2423
|
-
if (files && files.sort)
|
|
2424
|
-
files.sort();
|
|
2425
|
-
if (typeof cb2 === "function")
|
|
2426
|
-
cb2.call(this, err, files);
|
|
2427
|
-
}
|
|
2428
|
-
};
|
|
2429
|
-
}
|
|
2430
|
-
}
|
|
2431
|
-
if (process.version.substr(0, 4) === "v0.8") {
|
|
2432
|
-
var legStreams = legacy(fs2);
|
|
2433
|
-
ReadStream = legStreams.ReadStream;
|
|
2434
|
-
WriteStream = legStreams.WriteStream;
|
|
2435
|
-
}
|
|
2436
|
-
var fs$ReadStream = fs2.ReadStream;
|
|
2437
|
-
if (fs$ReadStream) {
|
|
2438
|
-
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
|
|
2439
|
-
ReadStream.prototype.open = ReadStream$open;
|
|
2440
|
-
}
|
|
2441
|
-
var fs$WriteStream = fs2.WriteStream;
|
|
2442
|
-
if (fs$WriteStream) {
|
|
2443
|
-
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
|
|
2444
|
-
WriteStream.prototype.open = WriteStream$open;
|
|
2445
|
-
}
|
|
2446
|
-
Object.defineProperty(fs2, "ReadStream", {
|
|
2447
|
-
get: function() {
|
|
2448
|
-
return ReadStream;
|
|
2449
|
-
},
|
|
2450
|
-
set: function(val) {
|
|
2451
|
-
ReadStream = val;
|
|
2452
|
-
},
|
|
2453
|
-
enumerable: true,
|
|
2454
|
-
configurable: true
|
|
2455
|
-
});
|
|
2456
|
-
Object.defineProperty(fs2, "WriteStream", {
|
|
2457
|
-
get: function() {
|
|
2458
|
-
return WriteStream;
|
|
2459
|
-
},
|
|
2460
|
-
set: function(val) {
|
|
2461
|
-
WriteStream = val;
|
|
2462
|
-
},
|
|
2463
|
-
enumerable: true,
|
|
2464
|
-
configurable: true
|
|
2465
|
-
});
|
|
2466
|
-
var FileReadStream = ReadStream;
|
|
2467
|
-
Object.defineProperty(fs2, "FileReadStream", {
|
|
2468
|
-
get: function() {
|
|
2469
|
-
return FileReadStream;
|
|
2470
|
-
},
|
|
2471
|
-
set: function(val) {
|
|
2472
|
-
FileReadStream = val;
|
|
2473
|
-
},
|
|
2474
|
-
enumerable: true,
|
|
2475
|
-
configurable: true
|
|
2476
|
-
});
|
|
2477
|
-
var FileWriteStream = WriteStream;
|
|
2478
|
-
Object.defineProperty(fs2, "FileWriteStream", {
|
|
2479
|
-
get: function() {
|
|
2480
|
-
return FileWriteStream;
|
|
2481
|
-
},
|
|
2482
|
-
set: function(val) {
|
|
2483
|
-
FileWriteStream = val;
|
|
2484
|
-
},
|
|
2485
|
-
enumerable: true,
|
|
2486
|
-
configurable: true
|
|
2487
|
-
});
|
|
2488
|
-
function ReadStream(path, options2) {
|
|
2489
|
-
if (this instanceof ReadStream)
|
|
2490
|
-
return fs$ReadStream.apply(this, arguments), this;
|
|
2491
|
-
else
|
|
2492
|
-
return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
|
|
2493
|
-
}
|
|
2494
|
-
function ReadStream$open() {
|
|
2495
|
-
var that = this;
|
|
2496
|
-
open(that.path, that.flags, that.mode, function(err, fd) {
|
|
2497
|
-
if (err) {
|
|
2498
|
-
if (that.autoClose)
|
|
2499
|
-
that.destroy();
|
|
2500
|
-
that.emit("error", err);
|
|
2501
|
-
} else {
|
|
2502
|
-
that.fd = fd;
|
|
2503
|
-
that.emit("open", fd);
|
|
2504
|
-
that.read();
|
|
2505
|
-
}
|
|
2506
|
-
});
|
|
2507
|
-
}
|
|
2508
|
-
function WriteStream(path, options2) {
|
|
2509
|
-
if (this instanceof WriteStream)
|
|
2510
|
-
return fs$WriteStream.apply(this, arguments), this;
|
|
2511
|
-
else
|
|
2512
|
-
return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
|
|
2513
|
-
}
|
|
2514
|
-
function WriteStream$open() {
|
|
2515
|
-
var that = this;
|
|
2516
|
-
open(that.path, that.flags, that.mode, function(err, fd) {
|
|
2517
|
-
if (err) {
|
|
2518
|
-
that.destroy();
|
|
2519
|
-
that.emit("error", err);
|
|
2520
|
-
} else {
|
|
2521
|
-
that.fd = fd;
|
|
2522
|
-
that.emit("open", fd);
|
|
2523
|
-
}
|
|
2524
|
-
});
|
|
2525
|
-
}
|
|
2526
|
-
function createReadStream(path, options2) {
|
|
2527
|
-
return new fs2.ReadStream(path, options2);
|
|
2528
|
-
}
|
|
2529
|
-
function createWriteStream(path, options2) {
|
|
2530
|
-
return new fs2.WriteStream(path, options2);
|
|
2531
|
-
}
|
|
2532
|
-
var fs$open = fs2.open;
|
|
2533
|
-
fs2.open = open;
|
|
2534
|
-
function open(path, flags, mode, cb) {
|
|
2535
|
-
if (typeof mode === "function")
|
|
2536
|
-
cb = mode, mode = null;
|
|
2537
|
-
return go$open(path, flags, mode, cb);
|
|
2538
|
-
function go$open(path2, flags2, mode2, cb2, startTime) {
|
|
2539
|
-
return fs$open(path2, flags2, mode2, function(err, fd) {
|
|
2540
|
-
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
2541
|
-
enqueue([go$open, [path2, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
2542
|
-
else {
|
|
2543
|
-
if (typeof cb2 === "function")
|
|
2544
|
-
cb2.apply(this, arguments);
|
|
2545
|
-
}
|
|
2546
|
-
});
|
|
2547
|
-
}
|
|
2548
|
-
}
|
|
2549
|
-
return fs2;
|
|
2550
|
-
}
|
|
2551
|
-
function enqueue(elem) {
|
|
2552
|
-
debug("ENQUEUE", elem[0].name, elem[1]);
|
|
2553
|
-
fs[gracefulQueue].push(elem);
|
|
2554
|
-
retry();
|
|
2555
|
-
}
|
|
2556
|
-
var retryTimer;
|
|
2557
|
-
function resetQueue() {
|
|
2558
|
-
var now = Date.now();
|
|
2559
|
-
for (var i = 0;i < fs[gracefulQueue].length; ++i) {
|
|
2560
|
-
if (fs[gracefulQueue][i].length > 2) {
|
|
2561
|
-
fs[gracefulQueue][i][3] = now;
|
|
2562
|
-
fs[gracefulQueue][i][4] = now;
|
|
2563
|
-
}
|
|
2564
|
-
}
|
|
2565
|
-
retry();
|
|
2566
|
-
}
|
|
2567
|
-
function retry() {
|
|
2568
|
-
clearTimeout(retryTimer);
|
|
2569
|
-
retryTimer = undefined;
|
|
2570
|
-
if (fs[gracefulQueue].length === 0)
|
|
2571
|
-
return;
|
|
2572
|
-
var elem = fs[gracefulQueue].shift();
|
|
2573
|
-
var fn = elem[0];
|
|
2574
|
-
var args = elem[1];
|
|
2575
|
-
var err = elem[2];
|
|
2576
|
-
var startTime = elem[3];
|
|
2577
|
-
var lastTime = elem[4];
|
|
2578
|
-
if (startTime === undefined) {
|
|
2579
|
-
debug("RETRY", fn.name, args);
|
|
2580
|
-
fn.apply(null, args);
|
|
2581
|
-
} else if (Date.now() - startTime >= 60000) {
|
|
2582
|
-
debug("TIMEOUT", fn.name, args);
|
|
2583
|
-
var cb = args.pop();
|
|
2584
|
-
if (typeof cb === "function")
|
|
2585
|
-
cb.call(null, err);
|
|
2586
|
-
} else {
|
|
2587
|
-
var sinceAttempt = Date.now() - lastTime;
|
|
2588
|
-
var sinceStart = Math.max(lastTime - startTime, 1);
|
|
2589
|
-
var desiredDelay = Math.min(sinceStart * 1.2, 100);
|
|
2590
|
-
if (sinceAttempt >= desiredDelay) {
|
|
2591
|
-
debug("RETRY", fn.name, args);
|
|
2592
|
-
fn.apply(null, args.concat([startTime]));
|
|
2593
|
-
} else {
|
|
2594
|
-
fs[gracefulQueue].push(elem);
|
|
2595
|
-
}
|
|
2596
|
-
}
|
|
2597
|
-
if (retryTimer === undefined) {
|
|
2598
|
-
retryTimer = setTimeout(retry, 0);
|
|
2599
|
-
}
|
|
2600
|
-
}
|
|
2601
|
-
});
|
|
2602
|
-
|
|
2603
|
-
// node_modules/fs-extra/lib/fs/index.js
|
|
2604
|
-
var require_fs = __commonJS((exports) => {
|
|
2605
|
-
var u = require_universalify().fromCallback;
|
|
2606
|
-
var fs = require_graceful_fs();
|
|
2607
|
-
var api = [
|
|
2608
|
-
"access",
|
|
2609
|
-
"appendFile",
|
|
2610
|
-
"chmod",
|
|
2611
|
-
"chown",
|
|
2612
|
-
"close",
|
|
2613
|
-
"copyFile",
|
|
2614
|
-
"cp",
|
|
2615
|
-
"fchmod",
|
|
2616
|
-
"fchown",
|
|
2617
|
-
"fdatasync",
|
|
2618
|
-
"fstat",
|
|
2619
|
-
"fsync",
|
|
2620
|
-
"ftruncate",
|
|
2621
|
-
"futimes",
|
|
2622
|
-
"glob",
|
|
2623
|
-
"lchmod",
|
|
2624
|
-
"lchown",
|
|
2625
|
-
"lutimes",
|
|
2626
|
-
"link",
|
|
2627
|
-
"lstat",
|
|
2628
|
-
"mkdir",
|
|
2629
|
-
"mkdtemp",
|
|
2630
|
-
"open",
|
|
2631
|
-
"opendir",
|
|
2632
|
-
"readdir",
|
|
2633
|
-
"readFile",
|
|
2634
|
-
"readlink",
|
|
2635
|
-
"realpath",
|
|
2636
|
-
"rename",
|
|
2637
|
-
"rm",
|
|
2638
|
-
"rmdir",
|
|
2639
|
-
"stat",
|
|
2640
|
-
"statfs",
|
|
2641
|
-
"symlink",
|
|
2642
|
-
"truncate",
|
|
2643
|
-
"unlink",
|
|
2644
|
-
"utimes",
|
|
2645
|
-
"writeFile"
|
|
2646
|
-
].filter((key) => {
|
|
2647
|
-
return typeof fs[key] === "function";
|
|
2648
|
-
});
|
|
2649
|
-
Object.assign(exports, fs);
|
|
2650
|
-
api.forEach((method) => {
|
|
2651
|
-
exports[method] = u(fs[method]);
|
|
2652
|
-
});
|
|
2653
|
-
exports.exists = function(filename, callback) {
|
|
2654
|
-
if (typeof callback === "function") {
|
|
2655
|
-
return fs.exists(filename, callback);
|
|
2656
|
-
}
|
|
2657
|
-
return new Promise((resolve) => {
|
|
2658
|
-
return fs.exists(filename, resolve);
|
|
2659
|
-
});
|
|
2660
|
-
};
|
|
2661
|
-
exports.read = function(fd, buffer, offset, length, position, callback) {
|
|
2662
|
-
if (typeof callback === "function") {
|
|
2663
|
-
return fs.read(fd, buffer, offset, length, position, callback);
|
|
2664
|
-
}
|
|
2665
|
-
return new Promise((resolve, reject) => {
|
|
2666
|
-
fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
|
|
2667
|
-
if (err)
|
|
2668
|
-
return reject(err);
|
|
2669
|
-
resolve({ bytesRead, buffer: buffer2 });
|
|
2670
|
-
});
|
|
2671
|
-
});
|
|
2672
|
-
};
|
|
2673
|
-
exports.write = function(fd, buffer, ...args) {
|
|
2674
|
-
if (typeof args[args.length - 1] === "function") {
|
|
2675
|
-
return fs.write(fd, buffer, ...args);
|
|
2676
|
-
}
|
|
2677
|
-
return new Promise((resolve, reject) => {
|
|
2678
|
-
fs.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
|
|
2679
|
-
if (err)
|
|
2680
|
-
return reject(err);
|
|
2681
|
-
resolve({ bytesWritten, buffer: buffer2 });
|
|
2682
|
-
});
|
|
2683
|
-
});
|
|
2684
|
-
};
|
|
2685
|
-
exports.readv = function(fd, buffers, ...args) {
|
|
2686
|
-
if (typeof args[args.length - 1] === "function") {
|
|
2687
|
-
return fs.readv(fd, buffers, ...args);
|
|
2688
|
-
}
|
|
2689
|
-
return new Promise((resolve, reject) => {
|
|
2690
|
-
fs.readv(fd, buffers, ...args, (err, bytesRead, buffers2) => {
|
|
2691
|
-
if (err)
|
|
2692
|
-
return reject(err);
|
|
2693
|
-
resolve({ bytesRead, buffers: buffers2 });
|
|
2694
|
-
});
|
|
2695
|
-
});
|
|
2696
|
-
};
|
|
2697
|
-
exports.writev = function(fd, buffers, ...args) {
|
|
2698
|
-
if (typeof args[args.length - 1] === "function") {
|
|
2699
|
-
return fs.writev(fd, buffers, ...args);
|
|
2700
|
-
}
|
|
2701
|
-
return new Promise((resolve, reject) => {
|
|
2702
|
-
fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => {
|
|
2703
|
-
if (err)
|
|
2704
|
-
return reject(err);
|
|
2705
|
-
resolve({ bytesWritten, buffers: buffers2 });
|
|
2706
|
-
});
|
|
2707
|
-
});
|
|
2708
|
-
};
|
|
2709
|
-
if (typeof fs.realpath.native === "function") {
|
|
2710
|
-
exports.realpath.native = u(fs.realpath.native);
|
|
2711
|
-
} else {
|
|
2712
|
-
process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?", "Warning", "fs-extra-WARN0003");
|
|
2713
|
-
}
|
|
2714
|
-
});
|
|
2715
|
-
|
|
2716
|
-
// node_modules/fs-extra/lib/mkdirs/utils.js
|
|
2717
|
-
var require_utils = __commonJS((exports, module) => {
|
|
2718
|
-
var path = __require("path");
|
|
2719
|
-
exports.checkPath = function checkPath(pth) {
|
|
2720
|
-
if (process.platform === "win32") {
|
|
2721
|
-
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, ""));
|
|
2722
|
-
if (pathHasInvalidWinCharacters) {
|
|
2723
|
-
const error = new Error(`Path contains invalid characters: ${pth}`);
|
|
2724
|
-
error.code = "EINVAL";
|
|
2725
|
-
throw error;
|
|
2726
|
-
}
|
|
2727
|
-
}
|
|
2728
|
-
};
|
|
2729
|
-
});
|
|
2730
|
-
|
|
2731
|
-
// node_modules/fs-extra/lib/mkdirs/make-dir.js
|
|
2732
|
-
var require_make_dir = __commonJS((exports, module) => {
|
|
2733
|
-
var fs = require_fs();
|
|
2734
|
-
var { checkPath } = require_utils();
|
|
2735
|
-
var getMode = (options2) => {
|
|
2736
|
-
const defaults = { mode: 511 };
|
|
2737
|
-
if (typeof options2 === "number")
|
|
2738
|
-
return options2;
|
|
2739
|
-
return { ...defaults, ...options2 }.mode;
|
|
2740
|
-
};
|
|
2741
|
-
exports.makeDir = async (dir, options2) => {
|
|
2742
|
-
checkPath(dir);
|
|
2743
|
-
return fs.mkdir(dir, {
|
|
2744
|
-
mode: getMode(options2),
|
|
2745
|
-
recursive: true
|
|
2746
|
-
});
|
|
2747
|
-
};
|
|
2748
|
-
exports.makeDirSync = (dir, options2) => {
|
|
2749
|
-
checkPath(dir);
|
|
2750
|
-
return fs.mkdirSync(dir, {
|
|
2751
|
-
mode: getMode(options2),
|
|
2752
|
-
recursive: true
|
|
2753
|
-
});
|
|
2754
|
-
};
|
|
2755
|
-
});
|
|
2756
|
-
|
|
2757
|
-
// node_modules/fs-extra/lib/mkdirs/index.js
|
|
2758
|
-
var require_mkdirs = __commonJS((exports, module) => {
|
|
2759
|
-
var u = require_universalify().fromPromise;
|
|
2760
|
-
var { makeDir: _makeDir, makeDirSync } = require_make_dir();
|
|
2761
|
-
var makeDir = u(_makeDir);
|
|
2762
|
-
module.exports = {
|
|
2763
|
-
mkdirs: makeDir,
|
|
2764
|
-
mkdirsSync: makeDirSync,
|
|
2765
|
-
mkdirp: makeDir,
|
|
2766
|
-
mkdirpSync: makeDirSync,
|
|
2767
|
-
ensureDir: makeDir,
|
|
2768
|
-
ensureDirSync: makeDirSync
|
|
2769
|
-
};
|
|
2770
|
-
});
|
|
2771
|
-
|
|
2772
|
-
// node_modules/fs-extra/lib/path-exists/index.js
|
|
2773
|
-
var require_path_exists = __commonJS((exports, module) => {
|
|
2774
|
-
var u = require_universalify().fromPromise;
|
|
2775
|
-
var fs = require_fs();
|
|
2776
|
-
function pathExists(path) {
|
|
2777
|
-
return fs.access(path).then(() => true).catch(() => false);
|
|
2778
|
-
}
|
|
2779
|
-
module.exports = {
|
|
2780
|
-
pathExists: u(pathExists),
|
|
2781
|
-
pathExistsSync: fs.existsSync
|
|
2782
|
-
};
|
|
2783
|
-
});
|
|
2784
|
-
|
|
2785
|
-
// node_modules/fs-extra/lib/util/utimes.js
|
|
2786
|
-
var require_utimes = __commonJS((exports, module) => {
|
|
2787
|
-
var fs = require_fs();
|
|
2788
|
-
var u = require_universalify().fromPromise;
|
|
2789
|
-
async function utimesMillis(path, atime, mtime) {
|
|
2790
|
-
const fd = await fs.open(path, "r+");
|
|
2791
|
-
let closeErr = null;
|
|
2792
|
-
try {
|
|
2793
|
-
await fs.futimes(fd, atime, mtime);
|
|
2794
|
-
} finally {
|
|
2795
|
-
try {
|
|
2796
|
-
await fs.close(fd);
|
|
2797
|
-
} catch (e) {
|
|
2798
|
-
closeErr = e;
|
|
2799
|
-
}
|
|
2800
|
-
}
|
|
2801
|
-
if (closeErr) {
|
|
2802
|
-
throw closeErr;
|
|
2803
|
-
}
|
|
2804
|
-
}
|
|
2805
|
-
function utimesMillisSync(path, atime, mtime) {
|
|
2806
|
-
const fd = fs.openSync(path, "r+");
|
|
2807
|
-
fs.futimesSync(fd, atime, mtime);
|
|
2808
|
-
return fs.closeSync(fd);
|
|
2809
|
-
}
|
|
2810
|
-
module.exports = {
|
|
2811
|
-
utimesMillis: u(utimesMillis),
|
|
2812
|
-
utimesMillisSync
|
|
2813
|
-
};
|
|
2814
|
-
});
|
|
2815
|
-
|
|
2816
|
-
// node_modules/fs-extra/lib/util/stat.js
|
|
2817
|
-
var require_stat = __commonJS((exports, module) => {
|
|
2818
|
-
var fs = require_fs();
|
|
2819
|
-
var path = __require("path");
|
|
2820
|
-
var u = require_universalify().fromPromise;
|
|
2821
|
-
function getStats(src, dest, opts) {
|
|
2822
|
-
const statFunc = opts.dereference ? (file) => fs.stat(file, { bigint: true }) : (file) => fs.lstat(file, { bigint: true });
|
|
2823
|
-
return Promise.all([
|
|
2824
|
-
statFunc(src),
|
|
2825
|
-
statFunc(dest).catch((err) => {
|
|
2826
|
-
if (err.code === "ENOENT")
|
|
2827
|
-
return null;
|
|
2828
|
-
throw err;
|
|
2829
|
-
})
|
|
2830
|
-
]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
|
|
2831
|
-
}
|
|
2832
|
-
function getStatsSync(src, dest, opts) {
|
|
2833
|
-
let destStat;
|
|
2834
|
-
const statFunc = opts.dereference ? (file) => fs.statSync(file, { bigint: true }) : (file) => fs.lstatSync(file, { bigint: true });
|
|
2835
|
-
const srcStat = statFunc(src);
|
|
2836
|
-
try {
|
|
2837
|
-
destStat = statFunc(dest);
|
|
2838
|
-
} catch (err) {
|
|
2839
|
-
if (err.code === "ENOENT")
|
|
2840
|
-
return { srcStat, destStat: null };
|
|
2841
|
-
throw err;
|
|
2842
|
-
}
|
|
2843
|
-
return { srcStat, destStat };
|
|
2844
|
-
}
|
|
2845
|
-
async function checkPaths(src, dest, funcName, opts) {
|
|
2846
|
-
const { srcStat, destStat } = await getStats(src, dest, opts);
|
|
2847
|
-
if (destStat) {
|
|
2848
|
-
if (areIdentical(srcStat, destStat)) {
|
|
2849
|
-
const srcBaseName = path.basename(src);
|
|
2850
|
-
const destBaseName = path.basename(dest);
|
|
2851
|
-
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
|
|
2852
|
-
return { srcStat, destStat, isChangingCase: true };
|
|
2853
|
-
}
|
|
2854
|
-
throw new Error("Source and destination must not be the same.");
|
|
2855
|
-
}
|
|
2856
|
-
if (srcStat.isDirectory() && !destStat.isDirectory()) {
|
|
2857
|
-
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
|
|
2858
|
-
}
|
|
2859
|
-
if (!srcStat.isDirectory() && destStat.isDirectory()) {
|
|
2860
|
-
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`);
|
|
2861
|
-
}
|
|
2862
|
-
}
|
|
2863
|
-
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
|
|
2864
|
-
throw new Error(errMsg(src, dest, funcName));
|
|
2865
|
-
}
|
|
2866
|
-
return { srcStat, destStat };
|
|
2867
|
-
}
|
|
2868
|
-
function checkPathsSync(src, dest, funcName, opts) {
|
|
2869
|
-
const { srcStat, destStat } = getStatsSync(src, dest, opts);
|
|
2870
|
-
if (destStat) {
|
|
2871
|
-
if (areIdentical(srcStat, destStat)) {
|
|
2872
|
-
const srcBaseName = path.basename(src);
|
|
2873
|
-
const destBaseName = path.basename(dest);
|
|
2874
|
-
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
|
|
2875
|
-
return { srcStat, destStat, isChangingCase: true };
|
|
2876
|
-
}
|
|
2877
|
-
throw new Error("Source and destination must not be the same.");
|
|
2878
|
-
}
|
|
2879
|
-
if (srcStat.isDirectory() && !destStat.isDirectory()) {
|
|
2880
|
-
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
|
|
2881
|
-
}
|
|
2882
|
-
if (!srcStat.isDirectory() && destStat.isDirectory()) {
|
|
2883
|
-
throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`);
|
|
2884
|
-
}
|
|
2885
|
-
}
|
|
2886
|
-
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
|
|
2887
|
-
throw new Error(errMsg(src, dest, funcName));
|
|
2888
|
-
}
|
|
2889
|
-
return { srcStat, destStat };
|
|
2890
|
-
}
|
|
2891
|
-
async function checkParentPaths(src, srcStat, dest, funcName) {
|
|
2892
|
-
const srcParent = path.resolve(path.dirname(src));
|
|
2893
|
-
const destParent = path.resolve(path.dirname(dest));
|
|
2894
|
-
if (destParent === srcParent || destParent === path.parse(destParent).root)
|
|
2895
|
-
return;
|
|
2896
|
-
let destStat;
|
|
2897
|
-
try {
|
|
2898
|
-
destStat = await fs.stat(destParent, { bigint: true });
|
|
2899
|
-
} catch (err) {
|
|
2900
|
-
if (err.code === "ENOENT")
|
|
2901
|
-
return;
|
|
2902
|
-
throw err;
|
|
2903
|
-
}
|
|
2904
|
-
if (areIdentical(srcStat, destStat)) {
|
|
2905
|
-
throw new Error(errMsg(src, dest, funcName));
|
|
2906
|
-
}
|
|
2907
|
-
return checkParentPaths(src, srcStat, destParent, funcName);
|
|
2908
|
-
}
|
|
2909
|
-
function checkParentPathsSync(src, srcStat, dest, funcName) {
|
|
2910
|
-
const srcParent = path.resolve(path.dirname(src));
|
|
2911
|
-
const destParent = path.resolve(path.dirname(dest));
|
|
2912
|
-
if (destParent === srcParent || destParent === path.parse(destParent).root)
|
|
2913
|
-
return;
|
|
2914
|
-
let destStat;
|
|
2915
|
-
try {
|
|
2916
|
-
destStat = fs.statSync(destParent, { bigint: true });
|
|
2917
|
-
} catch (err) {
|
|
2918
|
-
if (err.code === "ENOENT")
|
|
2919
|
-
return;
|
|
2920
|
-
throw err;
|
|
2921
|
-
}
|
|
2922
|
-
if (areIdentical(srcStat, destStat)) {
|
|
2923
|
-
throw new Error(errMsg(src, dest, funcName));
|
|
2924
|
-
}
|
|
2925
|
-
return checkParentPathsSync(src, srcStat, destParent, funcName);
|
|
2926
|
-
}
|
|
2927
|
-
function areIdentical(srcStat, destStat) {
|
|
2928
|
-
return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
|
|
2929
|
-
}
|
|
2930
|
-
function isSrcSubdir(src, dest) {
|
|
2931
|
-
const srcArr = path.resolve(src).split(path.sep).filter((i) => i);
|
|
2932
|
-
const destArr = path.resolve(dest).split(path.sep).filter((i) => i);
|
|
2933
|
-
return srcArr.every((cur, i) => destArr[i] === cur);
|
|
2934
|
-
}
|
|
2935
|
-
function errMsg(src, dest, funcName) {
|
|
2936
|
-
return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`;
|
|
2937
|
-
}
|
|
2938
|
-
module.exports = {
|
|
2939
|
-
checkPaths: u(checkPaths),
|
|
2940
|
-
checkPathsSync,
|
|
2941
|
-
checkParentPaths: u(checkParentPaths),
|
|
2942
|
-
checkParentPathsSync,
|
|
2943
|
-
isSrcSubdir,
|
|
2944
|
-
areIdentical
|
|
2945
|
-
};
|
|
2946
|
-
});
|
|
2947
|
-
|
|
2948
|
-
// node_modules/fs-extra/lib/copy/copy.js
|
|
2949
|
-
var require_copy = __commonJS((exports, module) => {
|
|
2950
|
-
var fs = require_fs();
|
|
2951
|
-
var path = __require("path");
|
|
2952
|
-
var { mkdirs } = require_mkdirs();
|
|
2953
|
-
var { pathExists } = require_path_exists();
|
|
2954
|
-
var { utimesMillis } = require_utimes();
|
|
2955
|
-
var stat = require_stat();
|
|
2956
|
-
async function copy(src, dest, opts = {}) {
|
|
2957
|
-
if (typeof opts === "function") {
|
|
2958
|
-
opts = { filter: opts };
|
|
2959
|
-
}
|
|
2960
|
-
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
|
|
2961
|
-
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
|
|
2962
|
-
if (opts.preserveTimestamps && process.arch === "ia32") {
|
|
2963
|
-
process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
2964
|
-
|
|
2965
|
-
` + "\tsee https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0001");
|
|
2966
|
-
}
|
|
2967
|
-
const { srcStat, destStat } = await stat.checkPaths(src, dest, "copy", opts);
|
|
2968
|
-
await stat.checkParentPaths(src, srcStat, dest, "copy");
|
|
2969
|
-
const include = await runFilter(src, dest, opts);
|
|
2970
|
-
if (!include)
|
|
2971
|
-
return;
|
|
2972
|
-
const destParent = path.dirname(dest);
|
|
2973
|
-
const dirExists = await pathExists(destParent);
|
|
2974
|
-
if (!dirExists) {
|
|
2975
|
-
await mkdirs(destParent);
|
|
2976
|
-
}
|
|
2977
|
-
await getStatsAndPerformCopy(destStat, src, dest, opts);
|
|
2978
|
-
}
|
|
2979
|
-
async function runFilter(src, dest, opts) {
|
|
2980
|
-
if (!opts.filter)
|
|
2981
|
-
return true;
|
|
2982
|
-
return opts.filter(src, dest);
|
|
2983
|
-
}
|
|
2984
|
-
async function getStatsAndPerformCopy(destStat, src, dest, opts) {
|
|
2985
|
-
const statFn = opts.dereference ? fs.stat : fs.lstat;
|
|
2986
|
-
const srcStat = await statFn(src);
|
|
2987
|
-
if (srcStat.isDirectory())
|
|
2988
|
-
return onDir(srcStat, destStat, src, dest, opts);
|
|
2989
|
-
if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())
|
|
2990
|
-
return onFile(srcStat, destStat, src, dest, opts);
|
|
2991
|
-
if (srcStat.isSymbolicLink())
|
|
2992
|
-
return onLink(destStat, src, dest, opts);
|
|
2993
|
-
if (srcStat.isSocket())
|
|
2994
|
-
throw new Error(`Cannot copy a socket file: ${src}`);
|
|
2995
|
-
if (srcStat.isFIFO())
|
|
2996
|
-
throw new Error(`Cannot copy a FIFO pipe: ${src}`);
|
|
2997
|
-
throw new Error(`Unknown file: ${src}`);
|
|
2998
|
-
}
|
|
2999
|
-
async function onFile(srcStat, destStat, src, dest, opts) {
|
|
3000
|
-
if (!destStat)
|
|
3001
|
-
return copyFile(srcStat, src, dest, opts);
|
|
3002
|
-
if (opts.overwrite) {
|
|
3003
|
-
await fs.unlink(dest);
|
|
3004
|
-
return copyFile(srcStat, src, dest, opts);
|
|
3005
|
-
}
|
|
3006
|
-
if (opts.errorOnExist) {
|
|
3007
|
-
throw new Error(`'${dest}' already exists`);
|
|
3008
|
-
}
|
|
3009
|
-
}
|
|
3010
|
-
async function copyFile(srcStat, src, dest, opts) {
|
|
3011
|
-
await fs.copyFile(src, dest);
|
|
3012
|
-
if (opts.preserveTimestamps) {
|
|
3013
|
-
if (fileIsNotWritable(srcStat.mode)) {
|
|
3014
|
-
await makeFileWritable(dest, srcStat.mode);
|
|
3015
|
-
}
|
|
3016
|
-
const updatedSrcStat = await fs.stat(src);
|
|
3017
|
-
await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
|
|
3018
|
-
}
|
|
3019
|
-
return fs.chmod(dest, srcStat.mode);
|
|
3020
|
-
}
|
|
3021
|
-
function fileIsNotWritable(srcMode) {
|
|
3022
|
-
return (srcMode & 128) === 0;
|
|
3023
|
-
}
|
|
3024
|
-
function makeFileWritable(dest, srcMode) {
|
|
3025
|
-
return fs.chmod(dest, srcMode | 128);
|
|
3026
|
-
}
|
|
3027
|
-
async function onDir(srcStat, destStat, src, dest, opts) {
|
|
3028
|
-
if (!destStat) {
|
|
3029
|
-
await fs.mkdir(dest);
|
|
3030
|
-
}
|
|
3031
|
-
const promises = [];
|
|
3032
|
-
for await (const item of await fs.opendir(src)) {
|
|
3033
|
-
const srcItem = path.join(src, item.name);
|
|
3034
|
-
const destItem = path.join(dest, item.name);
|
|
3035
|
-
promises.push(runFilter(srcItem, destItem, opts).then((include) => {
|
|
3036
|
-
if (include) {
|
|
3037
|
-
return stat.checkPaths(srcItem, destItem, "copy", opts).then(({ destStat: destStat2 }) => {
|
|
3038
|
-
return getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
|
|
3039
|
-
});
|
|
3040
|
-
}
|
|
3041
|
-
}));
|
|
3042
|
-
}
|
|
3043
|
-
await Promise.all(promises);
|
|
3044
|
-
if (!destStat) {
|
|
3045
|
-
await fs.chmod(dest, srcStat.mode);
|
|
3046
|
-
}
|
|
3047
|
-
}
|
|
3048
|
-
async function onLink(destStat, src, dest, opts) {
|
|
3049
|
-
let resolvedSrc = await fs.readlink(src);
|
|
3050
|
-
if (opts.dereference) {
|
|
3051
|
-
resolvedSrc = path.resolve(process.cwd(), resolvedSrc);
|
|
3052
|
-
}
|
|
3053
|
-
if (!destStat) {
|
|
3054
|
-
return fs.symlink(resolvedSrc, dest);
|
|
3055
|
-
}
|
|
3056
|
-
let resolvedDest = null;
|
|
3057
|
-
try {
|
|
3058
|
-
resolvedDest = await fs.readlink(dest);
|
|
3059
|
-
} catch (e) {
|
|
3060
|
-
if (e.code === "EINVAL" || e.code === "UNKNOWN")
|
|
3061
|
-
return fs.symlink(resolvedSrc, dest);
|
|
3062
|
-
throw e;
|
|
3063
|
-
}
|
|
3064
|
-
if (opts.dereference) {
|
|
3065
|
-
resolvedDest = path.resolve(process.cwd(), resolvedDest);
|
|
3066
|
-
}
|
|
3067
|
-
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
3068
|
-
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
|
|
3069
|
-
}
|
|
3070
|
-
if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
|
|
3071
|
-
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
|
|
3072
|
-
}
|
|
3073
|
-
await fs.unlink(dest);
|
|
3074
|
-
return fs.symlink(resolvedSrc, dest);
|
|
3075
|
-
}
|
|
3076
|
-
module.exports = copy;
|
|
3077
|
-
});
|
|
3078
|
-
|
|
3079
|
-
// node_modules/fs-extra/lib/copy/copy-sync.js
|
|
3080
|
-
var require_copy_sync = __commonJS((exports, module) => {
|
|
3081
|
-
var fs = require_graceful_fs();
|
|
3082
|
-
var path = __require("path");
|
|
3083
|
-
var mkdirsSync = require_mkdirs().mkdirsSync;
|
|
3084
|
-
var utimesMillisSync = require_utimes().utimesMillisSync;
|
|
3085
|
-
var stat = require_stat();
|
|
3086
|
-
function copySync(src, dest, opts) {
|
|
3087
|
-
if (typeof opts === "function") {
|
|
3088
|
-
opts = { filter: opts };
|
|
3089
|
-
}
|
|
3090
|
-
opts = opts || {};
|
|
3091
|
-
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
|
|
3092
|
-
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
|
|
3093
|
-
if (opts.preserveTimestamps && process.arch === "ia32") {
|
|
3094
|
-
process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
3095
|
-
|
|
3096
|
-
` + "\tsee https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0002");
|
|
3097
|
-
}
|
|
3098
|
-
const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts);
|
|
3099
|
-
stat.checkParentPathsSync(src, srcStat, dest, "copy");
|
|
3100
|
-
if (opts.filter && !opts.filter(src, dest))
|
|
3101
|
-
return;
|
|
3102
|
-
const destParent = path.dirname(dest);
|
|
3103
|
-
if (!fs.existsSync(destParent))
|
|
3104
|
-
mkdirsSync(destParent);
|
|
3105
|
-
return getStats(destStat, src, dest, opts);
|
|
3106
|
-
}
|
|
3107
|
-
function getStats(destStat, src, dest, opts) {
|
|
3108
|
-
const statSync = opts.dereference ? fs.statSync : fs.lstatSync;
|
|
3109
|
-
const srcStat = statSync(src);
|
|
3110
|
-
if (srcStat.isDirectory())
|
|
3111
|
-
return onDir(srcStat, destStat, src, dest, opts);
|
|
3112
|
-
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice())
|
|
3113
|
-
return onFile(srcStat, destStat, src, dest, opts);
|
|
3114
|
-
else if (srcStat.isSymbolicLink())
|
|
3115
|
-
return onLink(destStat, src, dest, opts);
|
|
3116
|
-
else if (srcStat.isSocket())
|
|
3117
|
-
throw new Error(`Cannot copy a socket file: ${src}`);
|
|
3118
|
-
else if (srcStat.isFIFO())
|
|
3119
|
-
throw new Error(`Cannot copy a FIFO pipe: ${src}`);
|
|
3120
|
-
throw new Error(`Unknown file: ${src}`);
|
|
3121
|
-
}
|
|
3122
|
-
function onFile(srcStat, destStat, src, dest, opts) {
|
|
3123
|
-
if (!destStat)
|
|
3124
|
-
return copyFile(srcStat, src, dest, opts);
|
|
3125
|
-
return mayCopyFile(srcStat, src, dest, opts);
|
|
3126
|
-
}
|
|
3127
|
-
function mayCopyFile(srcStat, src, dest, opts) {
|
|
3128
|
-
if (opts.overwrite) {
|
|
3129
|
-
fs.unlinkSync(dest);
|
|
3130
|
-
return copyFile(srcStat, src, dest, opts);
|
|
3131
|
-
} else if (opts.errorOnExist) {
|
|
3132
|
-
throw new Error(`'${dest}' already exists`);
|
|
3133
|
-
}
|
|
3134
|
-
}
|
|
3135
|
-
function copyFile(srcStat, src, dest, opts) {
|
|
3136
|
-
fs.copyFileSync(src, dest);
|
|
3137
|
-
if (opts.preserveTimestamps)
|
|
3138
|
-
handleTimestamps(srcStat.mode, src, dest);
|
|
3139
|
-
return setDestMode(dest, srcStat.mode);
|
|
3140
|
-
}
|
|
3141
|
-
function handleTimestamps(srcMode, src, dest) {
|
|
3142
|
-
if (fileIsNotWritable(srcMode))
|
|
3143
|
-
makeFileWritable(dest, srcMode);
|
|
3144
|
-
return setDestTimestamps(src, dest);
|
|
3145
|
-
}
|
|
3146
|
-
function fileIsNotWritable(srcMode) {
|
|
3147
|
-
return (srcMode & 128) === 0;
|
|
3148
|
-
}
|
|
3149
|
-
function makeFileWritable(dest, srcMode) {
|
|
3150
|
-
return setDestMode(dest, srcMode | 128);
|
|
3151
|
-
}
|
|
3152
|
-
function setDestMode(dest, srcMode) {
|
|
3153
|
-
return fs.chmodSync(dest, srcMode);
|
|
3154
|
-
}
|
|
3155
|
-
function setDestTimestamps(src, dest) {
|
|
3156
|
-
const updatedSrcStat = fs.statSync(src);
|
|
3157
|
-
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
|
|
3158
|
-
}
|
|
3159
|
-
function onDir(srcStat, destStat, src, dest, opts) {
|
|
3160
|
-
if (!destStat)
|
|
3161
|
-
return mkDirAndCopy(srcStat.mode, src, dest, opts);
|
|
3162
|
-
return copyDir(src, dest, opts);
|
|
3163
|
-
}
|
|
3164
|
-
function mkDirAndCopy(srcMode, src, dest, opts) {
|
|
3165
|
-
fs.mkdirSync(dest);
|
|
3166
|
-
copyDir(src, dest, opts);
|
|
3167
|
-
return setDestMode(dest, srcMode);
|
|
3168
|
-
}
|
|
3169
|
-
function copyDir(src, dest, opts) {
|
|
3170
|
-
const dir = fs.opendirSync(src);
|
|
3171
|
-
try {
|
|
3172
|
-
let dirent;
|
|
3173
|
-
while ((dirent = dir.readSync()) !== null) {
|
|
3174
|
-
copyDirItem(dirent.name, src, dest, opts);
|
|
3175
|
-
}
|
|
3176
|
-
} finally {
|
|
3177
|
-
dir.closeSync();
|
|
3178
|
-
}
|
|
3179
|
-
}
|
|
3180
|
-
function copyDirItem(item, src, dest, opts) {
|
|
3181
|
-
const srcItem = path.join(src, item);
|
|
3182
|
-
const destItem = path.join(dest, item);
|
|
3183
|
-
if (opts.filter && !opts.filter(srcItem, destItem))
|
|
3184
|
-
return;
|
|
3185
|
-
const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts);
|
|
3186
|
-
return getStats(destStat, srcItem, destItem, opts);
|
|
3187
|
-
}
|
|
3188
|
-
function onLink(destStat, src, dest, opts) {
|
|
3189
|
-
let resolvedSrc = fs.readlinkSync(src);
|
|
3190
|
-
if (opts.dereference) {
|
|
3191
|
-
resolvedSrc = path.resolve(process.cwd(), resolvedSrc);
|
|
3192
|
-
}
|
|
3193
|
-
if (!destStat) {
|
|
3194
|
-
return fs.symlinkSync(resolvedSrc, dest);
|
|
3195
|
-
} else {
|
|
3196
|
-
let resolvedDest;
|
|
3197
|
-
try {
|
|
3198
|
-
resolvedDest = fs.readlinkSync(dest);
|
|
3199
|
-
} catch (err) {
|
|
3200
|
-
if (err.code === "EINVAL" || err.code === "UNKNOWN")
|
|
3201
|
-
return fs.symlinkSync(resolvedSrc, dest);
|
|
3202
|
-
throw err;
|
|
3203
|
-
}
|
|
3204
|
-
if (opts.dereference) {
|
|
3205
|
-
resolvedDest = path.resolve(process.cwd(), resolvedDest);
|
|
3206
|
-
}
|
|
3207
|
-
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
3208
|
-
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
|
|
3209
|
-
}
|
|
3210
|
-
if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
|
|
3211
|
-
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
|
|
3212
|
-
}
|
|
3213
|
-
return copyLink(resolvedSrc, dest);
|
|
3214
|
-
}
|
|
3215
|
-
}
|
|
3216
|
-
function copyLink(resolvedSrc, dest) {
|
|
3217
|
-
fs.unlinkSync(dest);
|
|
3218
|
-
return fs.symlinkSync(resolvedSrc, dest);
|
|
3219
|
-
}
|
|
3220
|
-
module.exports = copySync;
|
|
3221
|
-
});
|
|
3222
|
-
|
|
3223
|
-
// node_modules/fs-extra/lib/copy/index.js
|
|
3224
|
-
var require_copy2 = __commonJS((exports, module) => {
|
|
3225
|
-
var u = require_universalify().fromPromise;
|
|
3226
|
-
module.exports = {
|
|
3227
|
-
copy: u(require_copy()),
|
|
3228
|
-
copySync: require_copy_sync()
|
|
3229
|
-
};
|
|
3230
|
-
});
|
|
3231
|
-
|
|
3232
|
-
// node_modules/fs-extra/lib/remove/index.js
|
|
3233
|
-
var require_remove = __commonJS((exports, module) => {
|
|
3234
|
-
var fs = require_graceful_fs();
|
|
3235
|
-
var u = require_universalify().fromCallback;
|
|
3236
|
-
function remove(path, callback) {
|
|
3237
|
-
fs.rm(path, { recursive: true, force: true }, callback);
|
|
3238
|
-
}
|
|
3239
|
-
function removeSync(path) {
|
|
3240
|
-
fs.rmSync(path, { recursive: true, force: true });
|
|
3241
|
-
}
|
|
3242
|
-
module.exports = {
|
|
3243
|
-
remove: u(remove),
|
|
3244
|
-
removeSync
|
|
3245
|
-
};
|
|
3246
|
-
});
|
|
3247
|
-
|
|
3248
|
-
// node_modules/fs-extra/lib/empty/index.js
|
|
3249
|
-
var require_empty = __commonJS((exports, module) => {
|
|
3250
|
-
var u = require_universalify().fromPromise;
|
|
3251
|
-
var fs = require_fs();
|
|
3252
|
-
var path = __require("path");
|
|
3253
|
-
var mkdir = require_mkdirs();
|
|
3254
|
-
var remove = require_remove();
|
|
3255
|
-
var emptyDir = u(async function emptyDir(dir) {
|
|
3256
|
-
let items;
|
|
3257
|
-
try {
|
|
3258
|
-
items = await fs.readdir(dir);
|
|
3259
|
-
} catch {
|
|
3260
|
-
return mkdir.mkdirs(dir);
|
|
3261
|
-
}
|
|
3262
|
-
return Promise.all(items.map((item) => remove.remove(path.join(dir, item))));
|
|
3263
|
-
});
|
|
3264
|
-
function emptyDirSync(dir) {
|
|
3265
|
-
let items;
|
|
3266
|
-
try {
|
|
3267
|
-
items = fs.readdirSync(dir);
|
|
3268
|
-
} catch {
|
|
3269
|
-
return mkdir.mkdirsSync(dir);
|
|
3270
|
-
}
|
|
3271
|
-
items.forEach((item) => {
|
|
3272
|
-
item = path.join(dir, item);
|
|
3273
|
-
remove.removeSync(item);
|
|
3274
|
-
});
|
|
3275
|
-
}
|
|
3276
|
-
module.exports = {
|
|
3277
|
-
emptyDirSync,
|
|
3278
|
-
emptydirSync: emptyDirSync,
|
|
3279
|
-
emptyDir,
|
|
3280
|
-
emptydir: emptyDir
|
|
3281
|
-
};
|
|
3282
|
-
});
|
|
3283
|
-
|
|
3284
|
-
// node_modules/fs-extra/lib/ensure/file.js
|
|
3285
|
-
var require_file = __commonJS((exports, module) => {
|
|
3286
|
-
var u = require_universalify().fromPromise;
|
|
3287
|
-
var path = __require("path");
|
|
3288
|
-
var fs = require_fs();
|
|
3289
|
-
var mkdir = require_mkdirs();
|
|
3290
|
-
async function createFile(file) {
|
|
3291
|
-
let stats;
|
|
3292
|
-
try {
|
|
3293
|
-
stats = await fs.stat(file);
|
|
3294
|
-
} catch {}
|
|
3295
|
-
if (stats && stats.isFile())
|
|
3296
|
-
return;
|
|
3297
|
-
const dir = path.dirname(file);
|
|
3298
|
-
let dirStats = null;
|
|
3299
|
-
try {
|
|
3300
|
-
dirStats = await fs.stat(dir);
|
|
3301
|
-
} catch (err) {
|
|
3302
|
-
if (err.code === "ENOENT") {
|
|
3303
|
-
await mkdir.mkdirs(dir);
|
|
3304
|
-
await fs.writeFile(file, "");
|
|
3305
|
-
return;
|
|
3306
|
-
} else {
|
|
3307
|
-
throw err;
|
|
3308
|
-
}
|
|
3309
|
-
}
|
|
3310
|
-
if (dirStats.isDirectory()) {
|
|
3311
|
-
await fs.writeFile(file, "");
|
|
3312
|
-
} else {
|
|
3313
|
-
await fs.readdir(dir);
|
|
3314
|
-
}
|
|
3315
|
-
}
|
|
3316
|
-
function createFileSync(file) {
|
|
3317
|
-
let stats;
|
|
3318
|
-
try {
|
|
3319
|
-
stats = fs.statSync(file);
|
|
3320
|
-
} catch {}
|
|
3321
|
-
if (stats && stats.isFile())
|
|
3322
|
-
return;
|
|
3323
|
-
const dir = path.dirname(file);
|
|
3324
|
-
try {
|
|
3325
|
-
if (!fs.statSync(dir).isDirectory()) {
|
|
3326
|
-
fs.readdirSync(dir);
|
|
3327
|
-
}
|
|
3328
|
-
} catch (err) {
|
|
3329
|
-
if (err && err.code === "ENOENT")
|
|
3330
|
-
mkdir.mkdirsSync(dir);
|
|
3331
|
-
else
|
|
3332
|
-
throw err;
|
|
3333
|
-
}
|
|
3334
|
-
fs.writeFileSync(file, "");
|
|
3335
|
-
}
|
|
3336
|
-
module.exports = {
|
|
3337
|
-
createFile: u(createFile),
|
|
3338
|
-
createFileSync
|
|
3339
|
-
};
|
|
3340
|
-
});
|
|
3341
|
-
|
|
3342
|
-
// node_modules/fs-extra/lib/ensure/link.js
|
|
3343
|
-
var require_link = __commonJS((exports, module) => {
|
|
3344
|
-
var u = require_universalify().fromPromise;
|
|
3345
|
-
var path = __require("path");
|
|
3346
|
-
var fs = require_fs();
|
|
3347
|
-
var mkdir = require_mkdirs();
|
|
3348
|
-
var { pathExists } = require_path_exists();
|
|
3349
|
-
var { areIdentical } = require_stat();
|
|
3350
|
-
async function createLink(srcpath, dstpath) {
|
|
3351
|
-
let dstStat;
|
|
3352
|
-
try {
|
|
3353
|
-
dstStat = await fs.lstat(dstpath);
|
|
3354
|
-
} catch {}
|
|
3355
|
-
let srcStat;
|
|
3356
|
-
try {
|
|
3357
|
-
srcStat = await fs.lstat(srcpath);
|
|
3358
|
-
} catch (err) {
|
|
3359
|
-
err.message = err.message.replace("lstat", "ensureLink");
|
|
3360
|
-
throw err;
|
|
3361
|
-
}
|
|
3362
|
-
if (dstStat && areIdentical(srcStat, dstStat))
|
|
3363
|
-
return;
|
|
3364
|
-
const dir = path.dirname(dstpath);
|
|
3365
|
-
const dirExists = await pathExists(dir);
|
|
3366
|
-
if (!dirExists) {
|
|
3367
|
-
await mkdir.mkdirs(dir);
|
|
3368
|
-
}
|
|
3369
|
-
await fs.link(srcpath, dstpath);
|
|
3370
|
-
}
|
|
3371
|
-
function createLinkSync(srcpath, dstpath) {
|
|
3372
|
-
let dstStat;
|
|
3373
|
-
try {
|
|
3374
|
-
dstStat = fs.lstatSync(dstpath);
|
|
3375
|
-
} catch {}
|
|
3376
|
-
try {
|
|
3377
|
-
const srcStat = fs.lstatSync(srcpath);
|
|
3378
|
-
if (dstStat && areIdentical(srcStat, dstStat))
|
|
3379
|
-
return;
|
|
3380
|
-
} catch (err) {
|
|
3381
|
-
err.message = err.message.replace("lstat", "ensureLink");
|
|
3382
|
-
throw err;
|
|
3383
|
-
}
|
|
3384
|
-
const dir = path.dirname(dstpath);
|
|
3385
|
-
const dirExists = fs.existsSync(dir);
|
|
3386
|
-
if (dirExists)
|
|
3387
|
-
return fs.linkSync(srcpath, dstpath);
|
|
3388
|
-
mkdir.mkdirsSync(dir);
|
|
3389
|
-
return fs.linkSync(srcpath, dstpath);
|
|
3390
|
-
}
|
|
3391
|
-
module.exports = {
|
|
3392
|
-
createLink: u(createLink),
|
|
3393
|
-
createLinkSync
|
|
3394
|
-
};
|
|
3395
|
-
});
|
|
3396
|
-
|
|
3397
|
-
// node_modules/fs-extra/lib/ensure/symlink-paths.js
|
|
3398
|
-
var require_symlink_paths = __commonJS((exports, module) => {
|
|
3399
|
-
var path = __require("path");
|
|
3400
|
-
var fs = require_fs();
|
|
3401
|
-
var { pathExists } = require_path_exists();
|
|
3402
|
-
var u = require_universalify().fromPromise;
|
|
3403
|
-
async function symlinkPaths(srcpath, dstpath) {
|
|
3404
|
-
if (path.isAbsolute(srcpath)) {
|
|
3405
|
-
try {
|
|
3406
|
-
await fs.lstat(srcpath);
|
|
3407
|
-
} catch (err) {
|
|
3408
|
-
err.message = err.message.replace("lstat", "ensureSymlink");
|
|
3409
|
-
throw err;
|
|
3410
|
-
}
|
|
3411
|
-
return {
|
|
3412
|
-
toCwd: srcpath,
|
|
3413
|
-
toDst: srcpath
|
|
3414
|
-
};
|
|
3415
|
-
}
|
|
3416
|
-
const dstdir = path.dirname(dstpath);
|
|
3417
|
-
const relativeToDst = path.join(dstdir, srcpath);
|
|
3418
|
-
const exists = await pathExists(relativeToDst);
|
|
3419
|
-
if (exists) {
|
|
3420
|
-
return {
|
|
3421
|
-
toCwd: relativeToDst,
|
|
3422
|
-
toDst: srcpath
|
|
3423
|
-
};
|
|
3424
|
-
}
|
|
3425
|
-
try {
|
|
3426
|
-
await fs.lstat(srcpath);
|
|
3427
|
-
} catch (err) {
|
|
3428
|
-
err.message = err.message.replace("lstat", "ensureSymlink");
|
|
3429
|
-
throw err;
|
|
3430
|
-
}
|
|
3431
|
-
return {
|
|
3432
|
-
toCwd: srcpath,
|
|
3433
|
-
toDst: path.relative(dstdir, srcpath)
|
|
3434
|
-
};
|
|
3435
|
-
}
|
|
3436
|
-
function symlinkPathsSync(srcpath, dstpath) {
|
|
3437
|
-
if (path.isAbsolute(srcpath)) {
|
|
3438
|
-
const exists2 = fs.existsSync(srcpath);
|
|
3439
|
-
if (!exists2)
|
|
3440
|
-
throw new Error("absolute srcpath does not exist");
|
|
3441
|
-
return {
|
|
3442
|
-
toCwd: srcpath,
|
|
3443
|
-
toDst: srcpath
|
|
3444
|
-
};
|
|
3445
|
-
}
|
|
3446
|
-
const dstdir = path.dirname(dstpath);
|
|
3447
|
-
const relativeToDst = path.join(dstdir, srcpath);
|
|
3448
|
-
const exists = fs.existsSync(relativeToDst);
|
|
3449
|
-
if (exists) {
|
|
3450
|
-
return {
|
|
3451
|
-
toCwd: relativeToDst,
|
|
3452
|
-
toDst: srcpath
|
|
3453
|
-
};
|
|
3454
|
-
}
|
|
3455
|
-
const srcExists = fs.existsSync(srcpath);
|
|
3456
|
-
if (!srcExists)
|
|
3457
|
-
throw new Error("relative srcpath does not exist");
|
|
3458
|
-
return {
|
|
3459
|
-
toCwd: srcpath,
|
|
3460
|
-
toDst: path.relative(dstdir, srcpath)
|
|
3461
|
-
};
|
|
3462
|
-
}
|
|
3463
|
-
module.exports = {
|
|
3464
|
-
symlinkPaths: u(symlinkPaths),
|
|
3465
|
-
symlinkPathsSync
|
|
3466
|
-
};
|
|
3467
|
-
});
|
|
3468
|
-
|
|
3469
|
-
// node_modules/fs-extra/lib/ensure/symlink-type.js
|
|
3470
|
-
var require_symlink_type = __commonJS((exports, module) => {
|
|
3471
|
-
var fs = require_fs();
|
|
3472
|
-
var u = require_universalify().fromPromise;
|
|
3473
|
-
async function symlinkType(srcpath, type) {
|
|
3474
|
-
if (type)
|
|
3475
|
-
return type;
|
|
3476
|
-
let stats;
|
|
3477
|
-
try {
|
|
3478
|
-
stats = await fs.lstat(srcpath);
|
|
3479
|
-
} catch {
|
|
3480
|
-
return "file";
|
|
3481
|
-
}
|
|
3482
|
-
return stats && stats.isDirectory() ? "dir" : "file";
|
|
3483
|
-
}
|
|
3484
|
-
function symlinkTypeSync(srcpath, type) {
|
|
3485
|
-
if (type)
|
|
3486
|
-
return type;
|
|
3487
|
-
let stats;
|
|
3488
|
-
try {
|
|
3489
|
-
stats = fs.lstatSync(srcpath);
|
|
3490
|
-
} catch {
|
|
3491
|
-
return "file";
|
|
3492
|
-
}
|
|
3493
|
-
return stats && stats.isDirectory() ? "dir" : "file";
|
|
3494
|
-
}
|
|
3495
|
-
module.exports = {
|
|
3496
|
-
symlinkType: u(symlinkType),
|
|
3497
|
-
symlinkTypeSync
|
|
3498
|
-
};
|
|
3499
|
-
});
|
|
3500
|
-
|
|
3501
|
-
// node_modules/fs-extra/lib/ensure/symlink.js
|
|
3502
|
-
var require_symlink = __commonJS((exports, module) => {
|
|
3503
|
-
var u = require_universalify().fromPromise;
|
|
3504
|
-
var path = __require("path");
|
|
3505
|
-
var fs = require_fs();
|
|
3506
|
-
var { mkdirs, mkdirsSync } = require_mkdirs();
|
|
3507
|
-
var { symlinkPaths, symlinkPathsSync } = require_symlink_paths();
|
|
3508
|
-
var { symlinkType, symlinkTypeSync } = require_symlink_type();
|
|
3509
|
-
var { pathExists } = require_path_exists();
|
|
3510
|
-
var { areIdentical } = require_stat();
|
|
3511
|
-
async function createSymlink(srcpath, dstpath, type) {
|
|
3512
|
-
let stats;
|
|
3513
|
-
try {
|
|
3514
|
-
stats = await fs.lstat(dstpath);
|
|
3515
|
-
} catch {}
|
|
3516
|
-
if (stats && stats.isSymbolicLink()) {
|
|
3517
|
-
const [srcStat, dstStat] = await Promise.all([
|
|
3518
|
-
fs.stat(srcpath),
|
|
3519
|
-
fs.stat(dstpath)
|
|
3520
|
-
]);
|
|
3521
|
-
if (areIdentical(srcStat, dstStat))
|
|
3522
|
-
return;
|
|
3523
|
-
}
|
|
3524
|
-
const relative = await symlinkPaths(srcpath, dstpath);
|
|
3525
|
-
srcpath = relative.toDst;
|
|
3526
|
-
const toType = await symlinkType(relative.toCwd, type);
|
|
3527
|
-
const dir = path.dirname(dstpath);
|
|
3528
|
-
if (!await pathExists(dir)) {
|
|
3529
|
-
await mkdirs(dir);
|
|
3530
|
-
}
|
|
3531
|
-
return fs.symlink(srcpath, dstpath, toType);
|
|
3532
|
-
}
|
|
3533
|
-
function createSymlinkSync(srcpath, dstpath, type) {
|
|
3534
|
-
let stats;
|
|
3535
|
-
try {
|
|
3536
|
-
stats = fs.lstatSync(dstpath);
|
|
3537
|
-
} catch {}
|
|
3538
|
-
if (stats && stats.isSymbolicLink()) {
|
|
3539
|
-
const srcStat = fs.statSync(srcpath);
|
|
3540
|
-
const dstStat = fs.statSync(dstpath);
|
|
3541
|
-
if (areIdentical(srcStat, dstStat))
|
|
3542
|
-
return;
|
|
3543
|
-
}
|
|
3544
|
-
const relative = symlinkPathsSync(srcpath, dstpath);
|
|
3545
|
-
srcpath = relative.toDst;
|
|
3546
|
-
type = symlinkTypeSync(relative.toCwd, type);
|
|
3547
|
-
const dir = path.dirname(dstpath);
|
|
3548
|
-
const exists = fs.existsSync(dir);
|
|
3549
|
-
if (exists)
|
|
3550
|
-
return fs.symlinkSync(srcpath, dstpath, type);
|
|
3551
|
-
mkdirsSync(dir);
|
|
3552
|
-
return fs.symlinkSync(srcpath, dstpath, type);
|
|
3553
|
-
}
|
|
3554
|
-
module.exports = {
|
|
3555
|
-
createSymlink: u(createSymlink),
|
|
3556
|
-
createSymlinkSync
|
|
3557
|
-
};
|
|
3558
|
-
});
|
|
3559
|
-
|
|
3560
|
-
// node_modules/fs-extra/lib/ensure/index.js
|
|
3561
|
-
var require_ensure = __commonJS((exports, module) => {
|
|
3562
|
-
var { createFile, createFileSync } = require_file();
|
|
3563
|
-
var { createLink, createLinkSync } = require_link();
|
|
3564
|
-
var { createSymlink, createSymlinkSync } = require_symlink();
|
|
3565
|
-
module.exports = {
|
|
3566
|
-
createFile,
|
|
3567
|
-
createFileSync,
|
|
3568
|
-
ensureFile: createFile,
|
|
3569
|
-
ensureFileSync: createFileSync,
|
|
3570
|
-
createLink,
|
|
3571
|
-
createLinkSync,
|
|
3572
|
-
ensureLink: createLink,
|
|
3573
|
-
ensureLinkSync: createLinkSync,
|
|
3574
|
-
createSymlink,
|
|
3575
|
-
createSymlinkSync,
|
|
3576
|
-
ensureSymlink: createSymlink,
|
|
3577
|
-
ensureSymlinkSync: createSymlinkSync
|
|
3578
|
-
};
|
|
3579
|
-
});
|
|
3580
|
-
|
|
3581
|
-
// node_modules/jsonfile/utils.js
|
|
3582
|
-
var require_utils2 = __commonJS((exports, module) => {
|
|
3583
|
-
function stringify(obj, { EOL = `
|
|
3584
|
-
`, finalEOL = true, replacer = null, spaces } = {}) {
|
|
3585
|
-
const EOF = finalEOL ? EOL : "";
|
|
3586
|
-
const str2 = JSON.stringify(obj, replacer, spaces);
|
|
3587
|
-
return str2.replace(/\n/g, EOL) + EOF;
|
|
3588
|
-
}
|
|
3589
|
-
function stripBom(content) {
|
|
3590
|
-
if (Buffer.isBuffer(content))
|
|
3591
|
-
content = content.toString("utf8");
|
|
3592
|
-
return content.replace(/^\uFEFF/, "");
|
|
3593
|
-
}
|
|
3594
|
-
module.exports = { stringify, stripBom };
|
|
3595
|
-
});
|
|
3596
|
-
|
|
3597
|
-
// node_modules/jsonfile/index.js
|
|
3598
|
-
var require_jsonfile = __commonJS((exports, module) => {
|
|
3599
|
-
var _fs;
|
|
3600
|
-
try {
|
|
3601
|
-
_fs = require_graceful_fs();
|
|
3602
|
-
} catch (_) {
|
|
3603
|
-
_fs = __require("fs");
|
|
3604
|
-
}
|
|
3605
|
-
var universalify = require_universalify();
|
|
3606
|
-
var { stringify, stripBom } = require_utils2();
|
|
3607
|
-
async function _readFile(file, options2 = {}) {
|
|
3608
|
-
if (typeof options2 === "string") {
|
|
3609
|
-
options2 = { encoding: options2 };
|
|
3610
|
-
}
|
|
3611
|
-
const fs = options2.fs || _fs;
|
|
3612
|
-
const shouldThrow = "throws" in options2 ? options2.throws : true;
|
|
3613
|
-
let data = await universalify.fromCallback(fs.readFile)(file, options2);
|
|
3614
|
-
data = stripBom(data);
|
|
3615
|
-
let obj;
|
|
3616
|
-
try {
|
|
3617
|
-
obj = JSON.parse(data, options2 ? options2.reviver : null);
|
|
3618
|
-
} catch (err) {
|
|
3619
|
-
if (shouldThrow) {
|
|
3620
|
-
err.message = `${file}: ${err.message}`;
|
|
3621
|
-
throw err;
|
|
3622
|
-
} else {
|
|
3623
|
-
return null;
|
|
3624
|
-
}
|
|
3625
|
-
}
|
|
3626
|
-
return obj;
|
|
3627
|
-
}
|
|
3628
|
-
var readFile = universalify.fromPromise(_readFile);
|
|
3629
|
-
function readFileSync(file, options2 = {}) {
|
|
3630
|
-
if (typeof options2 === "string") {
|
|
3631
|
-
options2 = { encoding: options2 };
|
|
3632
|
-
}
|
|
3633
|
-
const fs = options2.fs || _fs;
|
|
3634
|
-
const shouldThrow = "throws" in options2 ? options2.throws : true;
|
|
3635
|
-
try {
|
|
3636
|
-
let content = fs.readFileSync(file, options2);
|
|
3637
|
-
content = stripBom(content);
|
|
3638
|
-
return JSON.parse(content, options2.reviver);
|
|
3639
|
-
} catch (err) {
|
|
3640
|
-
if (shouldThrow) {
|
|
3641
|
-
err.message = `${file}: ${err.message}`;
|
|
3642
|
-
throw err;
|
|
3643
|
-
} else {
|
|
3644
|
-
return null;
|
|
3645
|
-
}
|
|
3646
|
-
}
|
|
3647
|
-
}
|
|
3648
|
-
async function _writeFile(file, obj, options2 = {}) {
|
|
3649
|
-
const fs = options2.fs || _fs;
|
|
3650
|
-
const str2 = stringify(obj, options2);
|
|
3651
|
-
await universalify.fromCallback(fs.writeFile)(file, str2, options2);
|
|
3652
|
-
}
|
|
3653
|
-
var writeFile = universalify.fromPromise(_writeFile);
|
|
3654
|
-
function writeFileSync(file, obj, options2 = {}) {
|
|
3655
|
-
const fs = options2.fs || _fs;
|
|
3656
|
-
const str2 = stringify(obj, options2);
|
|
3657
|
-
return fs.writeFileSync(file, str2, options2);
|
|
3658
|
-
}
|
|
3659
|
-
var jsonfile = {
|
|
3660
|
-
readFile,
|
|
3661
|
-
readFileSync,
|
|
3662
|
-
writeFile,
|
|
3663
|
-
writeFileSync
|
|
3664
|
-
};
|
|
3665
|
-
module.exports = jsonfile;
|
|
3666
|
-
});
|
|
3667
|
-
|
|
3668
|
-
// node_modules/fs-extra/lib/json/jsonfile.js
|
|
3669
|
-
var require_jsonfile2 = __commonJS((exports, module) => {
|
|
3670
|
-
var jsonFile = require_jsonfile();
|
|
3671
|
-
module.exports = {
|
|
3672
|
-
readJson: jsonFile.readFile,
|
|
3673
|
-
readJsonSync: jsonFile.readFileSync,
|
|
3674
|
-
writeJson: jsonFile.writeFile,
|
|
3675
|
-
writeJsonSync: jsonFile.writeFileSync
|
|
3676
|
-
};
|
|
3677
|
-
});
|
|
3678
|
-
|
|
3679
|
-
// node_modules/fs-extra/lib/output-file/index.js
|
|
3680
|
-
var require_output_file = __commonJS((exports, module) => {
|
|
3681
|
-
var u = require_universalify().fromPromise;
|
|
3682
|
-
var fs = require_fs();
|
|
3683
|
-
var path = __require("path");
|
|
3684
|
-
var mkdir = require_mkdirs();
|
|
3685
|
-
var pathExists = require_path_exists().pathExists;
|
|
3686
|
-
async function outputFile(file, data, encoding = "utf-8") {
|
|
3687
|
-
const dir = path.dirname(file);
|
|
3688
|
-
if (!await pathExists(dir)) {
|
|
3689
|
-
await mkdir.mkdirs(dir);
|
|
3690
|
-
}
|
|
3691
|
-
return fs.writeFile(file, data, encoding);
|
|
3692
|
-
}
|
|
3693
|
-
function outputFileSync(file, ...args) {
|
|
3694
|
-
const dir = path.dirname(file);
|
|
3695
|
-
if (!fs.existsSync(dir)) {
|
|
3696
|
-
mkdir.mkdirsSync(dir);
|
|
3697
|
-
}
|
|
3698
|
-
fs.writeFileSync(file, ...args);
|
|
3699
|
-
}
|
|
3700
|
-
module.exports = {
|
|
3701
|
-
outputFile: u(outputFile),
|
|
3702
|
-
outputFileSync
|
|
3703
|
-
};
|
|
3704
|
-
});
|
|
3705
|
-
|
|
3706
|
-
// node_modules/fs-extra/lib/json/output-json.js
|
|
3707
|
-
var require_output_json = __commonJS((exports, module) => {
|
|
3708
|
-
var { stringify } = require_utils2();
|
|
3709
|
-
var { outputFile } = require_output_file();
|
|
3710
|
-
async function outputJson(file, data, options2 = {}) {
|
|
3711
|
-
const str2 = stringify(data, options2);
|
|
3712
|
-
await outputFile(file, str2, options2);
|
|
3713
|
-
}
|
|
3714
|
-
module.exports = outputJson;
|
|
3715
|
-
});
|
|
3716
|
-
|
|
3717
|
-
// node_modules/fs-extra/lib/json/output-json-sync.js
|
|
3718
|
-
var require_output_json_sync = __commonJS((exports, module) => {
|
|
3719
|
-
var { stringify } = require_utils2();
|
|
3720
|
-
var { outputFileSync } = require_output_file();
|
|
3721
|
-
function outputJsonSync(file, data, options2) {
|
|
3722
|
-
const str2 = stringify(data, options2);
|
|
3723
|
-
outputFileSync(file, str2, options2);
|
|
3724
|
-
}
|
|
3725
|
-
module.exports = outputJsonSync;
|
|
3726
|
-
});
|
|
3727
|
-
|
|
3728
|
-
// node_modules/fs-extra/lib/json/index.js
|
|
3729
|
-
var require_json = __commonJS((exports, module) => {
|
|
3730
|
-
var u = require_universalify().fromPromise;
|
|
3731
|
-
var jsonFile = require_jsonfile2();
|
|
3732
|
-
jsonFile.outputJson = u(require_output_json());
|
|
3733
|
-
jsonFile.outputJsonSync = require_output_json_sync();
|
|
3734
|
-
jsonFile.outputJSON = jsonFile.outputJson;
|
|
3735
|
-
jsonFile.outputJSONSync = jsonFile.outputJsonSync;
|
|
3736
|
-
jsonFile.writeJSON = jsonFile.writeJson;
|
|
3737
|
-
jsonFile.writeJSONSync = jsonFile.writeJsonSync;
|
|
3738
|
-
jsonFile.readJSON = jsonFile.readJson;
|
|
3739
|
-
jsonFile.readJSONSync = jsonFile.readJsonSync;
|
|
3740
|
-
module.exports = jsonFile;
|
|
3741
|
-
});
|
|
3742
|
-
|
|
3743
|
-
// node_modules/fs-extra/lib/move/move.js
|
|
3744
|
-
var require_move = __commonJS((exports, module) => {
|
|
3745
|
-
var fs = require_fs();
|
|
3746
|
-
var path = __require("path");
|
|
3747
|
-
var { copy } = require_copy2();
|
|
3748
|
-
var { remove } = require_remove();
|
|
3749
|
-
var { mkdirp } = require_mkdirs();
|
|
3750
|
-
var { pathExists } = require_path_exists();
|
|
3751
|
-
var stat = require_stat();
|
|
3752
|
-
async function move(src, dest, opts = {}) {
|
|
3753
|
-
const overwrite = opts.overwrite || opts.clobber || false;
|
|
3754
|
-
const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts);
|
|
3755
|
-
await stat.checkParentPaths(src, srcStat, dest, "move");
|
|
3756
|
-
const destParent = path.dirname(dest);
|
|
3757
|
-
const parsedParentPath = path.parse(destParent);
|
|
3758
|
-
if (parsedParentPath.root !== destParent) {
|
|
3759
|
-
await mkdirp(destParent);
|
|
3760
|
-
}
|
|
3761
|
-
return doRename(src, dest, overwrite, isChangingCase);
|
|
3762
|
-
}
|
|
3763
|
-
async function doRename(src, dest, overwrite, isChangingCase) {
|
|
3764
|
-
if (!isChangingCase) {
|
|
3765
|
-
if (overwrite) {
|
|
3766
|
-
await remove(dest);
|
|
3767
|
-
} else if (await pathExists(dest)) {
|
|
3768
|
-
throw new Error("dest already exists.");
|
|
3769
|
-
}
|
|
3770
|
-
}
|
|
3771
|
-
try {
|
|
3772
|
-
await fs.rename(src, dest);
|
|
3773
|
-
} catch (err) {
|
|
3774
|
-
if (err.code !== "EXDEV") {
|
|
3775
|
-
throw err;
|
|
3776
|
-
}
|
|
3777
|
-
await moveAcrossDevice(src, dest, overwrite);
|
|
3778
|
-
}
|
|
3779
|
-
}
|
|
3780
|
-
async function moveAcrossDevice(src, dest, overwrite) {
|
|
3781
|
-
const opts = {
|
|
3782
|
-
overwrite,
|
|
3783
|
-
errorOnExist: true,
|
|
3784
|
-
preserveTimestamps: true
|
|
3785
|
-
};
|
|
3786
|
-
await copy(src, dest, opts);
|
|
3787
|
-
return remove(src);
|
|
3788
|
-
}
|
|
3789
|
-
module.exports = move;
|
|
3790
|
-
});
|
|
3791
|
-
|
|
3792
|
-
// node_modules/fs-extra/lib/move/move-sync.js
|
|
3793
|
-
var require_move_sync = __commonJS((exports, module) => {
|
|
3794
|
-
var fs = require_graceful_fs();
|
|
3795
|
-
var path = __require("path");
|
|
3796
|
-
var copySync = require_copy2().copySync;
|
|
3797
|
-
var removeSync = require_remove().removeSync;
|
|
3798
|
-
var mkdirpSync = require_mkdirs().mkdirpSync;
|
|
3799
|
-
var stat = require_stat();
|
|
3800
|
-
function moveSync(src, dest, opts) {
|
|
3801
|
-
opts = opts || {};
|
|
3802
|
-
const overwrite = opts.overwrite || opts.clobber || false;
|
|
3803
|
-
const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts);
|
|
3804
|
-
stat.checkParentPathsSync(src, srcStat, dest, "move");
|
|
3805
|
-
if (!isParentRoot(dest))
|
|
3806
|
-
mkdirpSync(path.dirname(dest));
|
|
3807
|
-
return doRename(src, dest, overwrite, isChangingCase);
|
|
3808
|
-
}
|
|
3809
|
-
function isParentRoot(dest) {
|
|
3810
|
-
const parent = path.dirname(dest);
|
|
3811
|
-
const parsedPath = path.parse(parent);
|
|
3812
|
-
return parsedPath.root === parent;
|
|
3813
|
-
}
|
|
3814
|
-
function doRename(src, dest, overwrite, isChangingCase) {
|
|
3815
|
-
if (isChangingCase)
|
|
3816
|
-
return rename(src, dest, overwrite);
|
|
3817
|
-
if (overwrite) {
|
|
3818
|
-
removeSync(dest);
|
|
3819
|
-
return rename(src, dest, overwrite);
|
|
3820
|
-
}
|
|
3821
|
-
if (fs.existsSync(dest))
|
|
3822
|
-
throw new Error("dest already exists.");
|
|
3823
|
-
return rename(src, dest, overwrite);
|
|
3824
|
-
}
|
|
3825
|
-
function rename(src, dest, overwrite) {
|
|
3826
|
-
try {
|
|
3827
|
-
fs.renameSync(src, dest);
|
|
3828
|
-
} catch (err) {
|
|
3829
|
-
if (err.code !== "EXDEV")
|
|
3830
|
-
throw err;
|
|
3831
|
-
return moveAcrossDevice(src, dest, overwrite);
|
|
3832
|
-
}
|
|
3833
|
-
}
|
|
3834
|
-
function moveAcrossDevice(src, dest, overwrite) {
|
|
3835
|
-
const opts = {
|
|
3836
|
-
overwrite,
|
|
3837
|
-
errorOnExist: true,
|
|
3838
|
-
preserveTimestamps: true
|
|
3839
|
-
};
|
|
3840
|
-
copySync(src, dest, opts);
|
|
3841
|
-
return removeSync(src);
|
|
3842
|
-
}
|
|
3843
|
-
module.exports = moveSync;
|
|
3844
|
-
});
|
|
3845
|
-
|
|
3846
|
-
// node_modules/fs-extra/lib/move/index.js
|
|
3847
|
-
var require_move2 = __commonJS((exports, module) => {
|
|
3848
|
-
var u = require_universalify().fromPromise;
|
|
3849
|
-
module.exports = {
|
|
3850
|
-
move: u(require_move()),
|
|
3851
|
-
moveSync: require_move_sync()
|
|
3852
|
-
};
|
|
3853
|
-
});
|
|
3854
|
-
|
|
3855
|
-
// node_modules/fs-extra/lib/index.js
|
|
3856
|
-
var require_lib = __commonJS((exports, module) => {
|
|
3857
|
-
module.exports = {
|
|
3858
|
-
...require_fs(),
|
|
3859
|
-
...require_copy2(),
|
|
3860
|
-
...require_empty(),
|
|
3861
|
-
...require_ensure(),
|
|
3862
|
-
...require_json(),
|
|
3863
|
-
...require_mkdirs(),
|
|
3864
|
-
...require_move2(),
|
|
3865
|
-
...require_output_file(),
|
|
3866
|
-
...require_path_exists(),
|
|
3867
|
-
...require_remove()
|
|
3868
|
-
};
|
|
3869
|
-
});
|
|
3870
|
-
|
|
3871
1798
|
// node_modules/nunjucks/src/lib.js
|
|
3872
|
-
var
|
|
1799
|
+
var require_lib = __commonJS((exports, module) => {
|
|
3873
1800
|
var ArrayProto = Array.prototype;
|
|
3874
1801
|
var ObjProto = Object.prototype;
|
|
3875
1802
|
var escapeMap = {
|
|
@@ -4351,7 +2278,7 @@ var require_a_sync_waterfall = __commonJS((exports, module) => {
|
|
|
4351
2278
|
|
|
4352
2279
|
// node_modules/nunjucks/src/lexer.js
|
|
4353
2280
|
var require_lexer = __commonJS((exports, module) => {
|
|
4354
|
-
var lib =
|
|
2281
|
+
var lib = require_lib();
|
|
4355
2282
|
var whitespaceChars = `
|
|
4356
2283
|
\r\xA0`;
|
|
4357
2284
|
var delimChars = "()[]{}%*-+~/#,:|.<>=!";
|
|
@@ -4812,7 +2739,7 @@ var require_object = __commonJS((exports, module) => {
|
|
|
4812
2739
|
return _setPrototypeOf(o, p);
|
|
4813
2740
|
}
|
|
4814
2741
|
var EventEmitter = __require("events");
|
|
4815
|
-
var lib =
|
|
2742
|
+
var lib = require_lib();
|
|
4816
2743
|
function parentWrap(parent, prop) {
|
|
4817
2744
|
if (typeof parent !== "function" || typeof prop !== "function") {
|
|
4818
2745
|
return prop;
|
|
@@ -5304,7 +3231,7 @@ var require_parser = __commonJS((exports, module) => {
|
|
|
5304
3231
|
var lexer = require_lexer();
|
|
5305
3232
|
var nodes = require_nodes();
|
|
5306
3233
|
var Obj = require_object().Obj;
|
|
5307
|
-
var lib =
|
|
3234
|
+
var lib = require_lib();
|
|
5308
3235
|
var Parser = /* @__PURE__ */ function(_Obj) {
|
|
5309
3236
|
_inheritsLoose(Parser2, _Obj);
|
|
5310
3237
|
function Parser2() {
|
|
@@ -6225,7 +4152,7 @@ var require_parser = __commonJS((exports, module) => {
|
|
|
6225
4152
|
// node_modules/nunjucks/src/transformer.js
|
|
6226
4153
|
var require_transformer = __commonJS((exports, module) => {
|
|
6227
4154
|
var nodes = require_nodes();
|
|
6228
|
-
var lib =
|
|
4155
|
+
var lib = require_lib();
|
|
6229
4156
|
var sym = 0;
|
|
6230
4157
|
function gensym() {
|
|
6231
4158
|
return "hole_" + sym++;
|
|
@@ -6382,7 +4309,7 @@ var require_transformer = __commonJS((exports, module) => {
|
|
|
6382
4309
|
|
|
6383
4310
|
// node_modules/nunjucks/src/runtime.js
|
|
6384
4311
|
var require_runtime = __commonJS((exports, module) => {
|
|
6385
|
-
var lib =
|
|
4312
|
+
var lib = require_lib();
|
|
6386
4313
|
var arrayFrom = Array.from;
|
|
6387
4314
|
var supportsIterators = typeof Symbol === "function" && Symbol.iterator && typeof arrayFrom === "function";
|
|
6388
4315
|
var Frame = /* @__PURE__ */ function() {
|
|
@@ -6713,7 +4640,7 @@ var require_compiler = __commonJS((exports, module) => {
|
|
|
6713
4640
|
var parser = require_parser();
|
|
6714
4641
|
var transformer = require_transformer();
|
|
6715
4642
|
var nodes = require_nodes();
|
|
6716
|
-
var _require =
|
|
4643
|
+
var _require = require_lib();
|
|
6717
4644
|
var TemplateError = _require.TemplateError;
|
|
6718
4645
|
var _require2 = require_runtime();
|
|
6719
4646
|
var Frame = _require2.Frame;
|
|
@@ -7648,7 +5575,7 @@ else {`);
|
|
|
7648
5575
|
|
|
7649
5576
|
// node_modules/nunjucks/src/filters.js
|
|
7650
5577
|
var require_filters = __commonJS((exports, module) => {
|
|
7651
|
-
var lib =
|
|
5578
|
+
var lib = require_lib();
|
|
7652
5579
|
var r = require_runtime();
|
|
7653
5580
|
var _exports = module.exports = {};
|
|
7654
5581
|
function normalize(value, defaultValue) {
|
|
@@ -8228,7 +6155,7 @@ var require_node_loaders = __commonJS((exports, module) => {
|
|
|
8228
6155
|
};
|
|
8229
6156
|
return _setPrototypeOf(o, p);
|
|
8230
6157
|
}
|
|
8231
|
-
var
|
|
6158
|
+
var fs = __require("fs");
|
|
8232
6159
|
var path2 = __require("path");
|
|
8233
6160
|
var Loader = require_loader();
|
|
8234
6161
|
var _require = require_precompiled_loader();
|
|
@@ -8257,7 +6184,7 @@ var require_node_loaders = __commonJS((exports, module) => {
|
|
|
8257
6184
|
} catch (e) {
|
|
8258
6185
|
throw new Error("watch requires chokidar to be installed");
|
|
8259
6186
|
}
|
|
8260
|
-
var paths = _this.searchPaths.filter(
|
|
6187
|
+
var paths = _this.searchPaths.filter(fs.existsSync);
|
|
8261
6188
|
var watcher = chokidar.watch(paths);
|
|
8262
6189
|
watcher.on("all", function(event, fullname) {
|
|
8263
6190
|
fullname = path2.resolve(fullname);
|
|
@@ -8278,7 +6205,7 @@ var require_node_loaders = __commonJS((exports, module) => {
|
|
|
8278
6205
|
for (var i = 0;i < paths.length; i++) {
|
|
8279
6206
|
var basePath = path2.resolve(paths[i]);
|
|
8280
6207
|
var p = path2.resolve(paths[i], name);
|
|
8281
|
-
if (p.indexOf(basePath) === 0 &&
|
|
6208
|
+
if (p.indexOf(basePath) === 0 && fs.existsSync(p)) {
|
|
8282
6209
|
fullpath = p;
|
|
8283
6210
|
break;
|
|
8284
6211
|
}
|
|
@@ -8288,7 +6215,7 @@ var require_node_loaders = __commonJS((exports, module) => {
|
|
|
8288
6215
|
}
|
|
8289
6216
|
this.pathsToNames[fullpath] = name;
|
|
8290
6217
|
var source = {
|
|
8291
|
-
src:
|
|
6218
|
+
src: fs.readFileSync(fullpath, "utf-8"),
|
|
8292
6219
|
path: fullpath,
|
|
8293
6220
|
noCache: this.noCache
|
|
8294
6221
|
};
|
|
@@ -8340,7 +6267,7 @@ var require_node_loaders = __commonJS((exports, module) => {
|
|
|
8340
6267
|
}
|
|
8341
6268
|
this.pathsToNames[fullpath] = name;
|
|
8342
6269
|
var source = {
|
|
8343
|
-
src:
|
|
6270
|
+
src: fs.readFileSync(fullpath, "utf-8"),
|
|
8344
6271
|
path: fullpath,
|
|
8345
6272
|
noCache: this.noCache
|
|
8346
6273
|
};
|
|
@@ -8565,7 +6492,7 @@ var require_environment = __commonJS((exports, module) => {
|
|
|
8565
6492
|
}
|
|
8566
6493
|
var asap = require_asap();
|
|
8567
6494
|
var _waterfall = require_a_sync_waterfall();
|
|
8568
|
-
var lib =
|
|
6495
|
+
var lib = require_lib();
|
|
8569
6496
|
var compiler = require_compiler();
|
|
8570
6497
|
var filters = require_filters();
|
|
8571
6498
|
var _require = require_node_loaders();
|
|
@@ -9076,9 +7003,9 @@ var require_precompile_global = __commonJS((exports, module) => {
|
|
|
9076
7003
|
|
|
9077
7004
|
// node_modules/nunjucks/src/precompile.js
|
|
9078
7005
|
var require_precompile = __commonJS((exports, module) => {
|
|
9079
|
-
var
|
|
7006
|
+
var fs = __require("fs");
|
|
9080
7007
|
var path2 = __require("path");
|
|
9081
|
-
var _require =
|
|
7008
|
+
var _require = require_lib();
|
|
9082
7009
|
var _prettifyError = _require._prettifyError;
|
|
9083
7010
|
var compiler = require_compiler();
|
|
9084
7011
|
var _require2 = require_environment();
|
|
@@ -9109,14 +7036,14 @@ var require_precompile = __commonJS((exports, module) => {
|
|
|
9109
7036
|
if (opts.isString) {
|
|
9110
7037
|
return precompileString(input, opts);
|
|
9111
7038
|
}
|
|
9112
|
-
var pathStats =
|
|
7039
|
+
var pathStats = fs.existsSync(input) && fs.statSync(input);
|
|
9113
7040
|
var precompiled = [];
|
|
9114
7041
|
var templates = [];
|
|
9115
7042
|
function addTemplates(dir) {
|
|
9116
|
-
|
|
7043
|
+
fs.readdirSync(dir).forEach(function(file) {
|
|
9117
7044
|
var filepath = path2.join(dir, file);
|
|
9118
7045
|
var subpath = filepath.substr(path2.join(input, "/").length);
|
|
9119
|
-
var stat =
|
|
7046
|
+
var stat = fs.statSync(filepath);
|
|
9120
7047
|
if (stat && stat.isDirectory()) {
|
|
9121
7048
|
subpath += "/";
|
|
9122
7049
|
if (!match(subpath, opts.exclude)) {
|
|
@@ -9128,13 +7055,13 @@ var require_precompile = __commonJS((exports, module) => {
|
|
|
9128
7055
|
});
|
|
9129
7056
|
}
|
|
9130
7057
|
if (pathStats.isFile()) {
|
|
9131
|
-
precompiled.push(_precompile(
|
|
7058
|
+
precompiled.push(_precompile(fs.readFileSync(input, "utf-8"), opts.name || input, env));
|
|
9132
7059
|
} else if (pathStats.isDirectory()) {
|
|
9133
7060
|
addTemplates(input);
|
|
9134
7061
|
for (var i = 0;i < templates.length; i++) {
|
|
9135
7062
|
var name = templates[i].replace(path2.join(input, "/"), "");
|
|
9136
7063
|
try {
|
|
9137
|
-
precompiled.push(_precompile(
|
|
7064
|
+
precompiled.push(_precompile(fs.readFileSync(templates[i], "utf-8"), name, env));
|
|
9138
7065
|
} catch (e) {
|
|
9139
7066
|
if (opts.force) {
|
|
9140
7067
|
console.error(e);
|
|
@@ -9447,7 +7374,7 @@ var require_jinja_compat = __commonJS((exports, module) => {
|
|
|
9447
7374
|
|
|
9448
7375
|
// node_modules/nunjucks/index.js
|
|
9449
7376
|
var require_nunjucks = __commonJS((exports, module) => {
|
|
9450
|
-
var lib =
|
|
7377
|
+
var lib = require_lib();
|
|
9451
7378
|
var _require = require_environment();
|
|
9452
7379
|
var Environment = _require.Environment;
|
|
9453
7380
|
var Template = _require.Template;
|
|
@@ -10483,7 +8410,7 @@ var require_float = __commonJS((exports, module) => {
|
|
|
10483
8410
|
});
|
|
10484
8411
|
|
|
10485
8412
|
// node_modules/js-yaml/lib/js-yaml/schema/json.js
|
|
10486
|
-
var
|
|
8413
|
+
var require_json = __commonJS((exports, module) => {
|
|
10487
8414
|
var Schema = require_schema();
|
|
10488
8415
|
module.exports = new Schema({
|
|
10489
8416
|
include: [
|
|
@@ -10503,7 +8430,7 @@ var require_core = __commonJS((exports, module) => {
|
|
|
10503
8430
|
var Schema = require_schema();
|
|
10504
8431
|
module.exports = new Schema({
|
|
10505
8432
|
include: [
|
|
10506
|
-
|
|
8433
|
+
require_json()
|
|
10507
8434
|
]
|
|
10508
8435
|
});
|
|
10509
8436
|
});
|
|
@@ -12636,7 +10563,7 @@ var require_js_yaml = __commonJS((exports, module) => {
|
|
|
12636
10563
|
exports.Type = require_type();
|
|
12637
10564
|
exports.Schema = require_schema();
|
|
12638
10565
|
exports.FAILSAFE_SCHEMA = require_failsafe();
|
|
12639
|
-
exports.JSON_SCHEMA =
|
|
10566
|
+
exports.JSON_SCHEMA = require_json();
|
|
12640
10567
|
exports.CORE_SCHEMA = require_core();
|
|
12641
10568
|
exports.DEFAULT_SAFE_SCHEMA = require_default_safe();
|
|
12642
10569
|
exports.DEFAULT_FULL_SCHEMA = require_default_full();
|
|
@@ -12716,7 +10643,7 @@ var require_strip_bom_string = __commonJS((exports, module) => {
|
|
|
12716
10643
|
});
|
|
12717
10644
|
|
|
12718
10645
|
// node_modules/gray-matter/lib/utils.js
|
|
12719
|
-
var
|
|
10646
|
+
var require_utils = __commonJS((exports) => {
|
|
12720
10647
|
var stripBom = require_strip_bom_string();
|
|
12721
10648
|
var typeOf = require_kind_of();
|
|
12722
10649
|
exports.define = function(obj, key, val) {
|
|
@@ -12757,7 +10684,7 @@ var require_utils3 = __commonJS((exports) => {
|
|
|
12757
10684
|
// node_modules/gray-matter/lib/defaults.js
|
|
12758
10685
|
var require_defaults = __commonJS((exports, module) => {
|
|
12759
10686
|
var engines = require_engines();
|
|
12760
|
-
var utils =
|
|
10687
|
+
var utils = require_utils();
|
|
12761
10688
|
module.exports = function(options2) {
|
|
12762
10689
|
const opts = Object.assign({}, options2);
|
|
12763
10690
|
opts.delimiters = utils.arrayify(opts.delims || opts.delimiters || "---");
|
|
@@ -12882,7 +10809,7 @@ var require_excerpt = __commonJS((exports, module) => {
|
|
|
12882
10809
|
var require_to_file = __commonJS((exports, module) => {
|
|
12883
10810
|
var typeOf = require_kind_of();
|
|
12884
10811
|
var stringify = require_stringify();
|
|
12885
|
-
var utils =
|
|
10812
|
+
var utils = require_utils();
|
|
12886
10813
|
module.exports = function(file) {
|
|
12887
10814
|
if (typeOf(file) !== "object") {
|
|
12888
10815
|
file = { content: file };
|
|
@@ -12925,7 +10852,7 @@ var require_parse = __commonJS((exports, module) => {
|
|
|
12925
10852
|
|
|
12926
10853
|
// node_modules/gray-matter/index.js
|
|
12927
10854
|
var require_gray_matter = __commonJS((exports, module) => {
|
|
12928
|
-
var
|
|
10855
|
+
var fs = __require("fs");
|
|
12929
10856
|
var sections = require_section_matter();
|
|
12930
10857
|
var defaults = require_defaults();
|
|
12931
10858
|
var stringify = require_stringify();
|
|
@@ -12933,7 +10860,7 @@ var require_gray_matter = __commonJS((exports, module) => {
|
|
|
12933
10860
|
var engines = require_engines();
|
|
12934
10861
|
var toFile = require_to_file();
|
|
12935
10862
|
var parse2 = require_parse();
|
|
12936
|
-
var utils =
|
|
10863
|
+
var utils = require_utils();
|
|
12937
10864
|
function matter(input, options2) {
|
|
12938
10865
|
if (input === "") {
|
|
12939
10866
|
return { data: {}, content: input, excerpt: "", orig: input };
|
|
@@ -13012,7 +10939,7 @@ var require_gray_matter = __commonJS((exports, module) => {
|
|
|
13012
10939
|
return stringify(file, data, options2);
|
|
13013
10940
|
};
|
|
13014
10941
|
matter.read = function(filepath, options2) {
|
|
13015
|
-
const str2 =
|
|
10942
|
+
const str2 = fs.readFileSync(filepath, "utf8");
|
|
13016
10943
|
const file = matter(str2, options2);
|
|
13017
10944
|
file.path = filepath;
|
|
13018
10945
|
return file;
|
|
@@ -14653,7 +12580,7 @@ var require_Parser = __commonJS((exports) => {
|
|
|
14653
12580
|
});
|
|
14654
12581
|
|
|
14655
12582
|
// node_modules/domelementtype/lib/index.js
|
|
14656
|
-
var
|
|
12583
|
+
var require_lib2 = __commonJS((exports) => {
|
|
14657
12584
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14658
12585
|
exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = undefined;
|
|
14659
12586
|
var ElementType;
|
|
@@ -14720,7 +12647,7 @@ var require_node = __commonJS((exports) => {
|
|
|
14720
12647
|
};
|
|
14721
12648
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14722
12649
|
exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = undefined;
|
|
14723
|
-
var domelementtype_1 =
|
|
12650
|
+
var domelementtype_1 = require_lib2();
|
|
14724
12651
|
var Node = function() {
|
|
14725
12652
|
function Node2() {
|
|
14726
12653
|
this.parent = null;
|
|
@@ -15062,7 +12989,7 @@ var require_node = __commonJS((exports) => {
|
|
|
15062
12989
|
});
|
|
15063
12990
|
|
|
15064
12991
|
// node_modules/domhandler/lib/index.js
|
|
15065
|
-
var
|
|
12992
|
+
var require_lib3 = __commonJS((exports) => {
|
|
15066
12993
|
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
15067
12994
|
if (k2 === undefined)
|
|
15068
12995
|
k2 = k;
|
|
@@ -15085,7 +13012,7 @@ var require_lib4 = __commonJS((exports) => {
|
|
|
15085
13012
|
};
|
|
15086
13013
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15087
13014
|
exports.DomHandler = undefined;
|
|
15088
|
-
var domelementtype_1 =
|
|
13015
|
+
var domelementtype_1 = require_lib2();
|
|
15089
13016
|
var node_js_1 = require_node();
|
|
15090
13017
|
__exportStar(require_node(), exports);
|
|
15091
13018
|
var defaultOpts = {
|
|
@@ -15349,7 +13276,7 @@ var require_encode = __commonJS((exports) => {
|
|
|
15349
13276
|
});
|
|
15350
13277
|
|
|
15351
13278
|
// node_modules/entities/lib/index.js
|
|
15352
|
-
var
|
|
13279
|
+
var require_lib4 = __commonJS((exports) => {
|
|
15353
13280
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15354
13281
|
exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = undefined;
|
|
15355
13282
|
var decode_js_1 = require_decode();
|
|
@@ -15586,7 +13513,7 @@ var require_foreignNames = __commonJS((exports) => {
|
|
|
15586
13513
|
});
|
|
15587
13514
|
|
|
15588
13515
|
// node_modules/dom-serializer/lib/index.js
|
|
15589
|
-
var
|
|
13516
|
+
var require_lib5 = __commonJS((exports) => {
|
|
15590
13517
|
var __assign = exports && exports.__assign || function() {
|
|
15591
13518
|
__assign = Object.assign || function(t) {
|
|
15592
13519
|
for (var s, i = 1, n = arguments.length;i < n; i++) {
|
|
@@ -15633,8 +13560,8 @@ var require_lib6 = __commonJS((exports) => {
|
|
|
15633
13560
|
};
|
|
15634
13561
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15635
13562
|
exports.render = undefined;
|
|
15636
|
-
var ElementType = __importStar(
|
|
15637
|
-
var entities_1 =
|
|
13563
|
+
var ElementType = __importStar(require_lib2());
|
|
13564
|
+
var entities_1 = require_lib4();
|
|
15638
13565
|
var foreignNames_js_1 = require_foreignNames();
|
|
15639
13566
|
var unencodedElements = new Set([
|
|
15640
13567
|
"style",
|
|
@@ -15792,9 +13719,9 @@ var require_stringify2 = __commonJS((exports) => {
|
|
|
15792
13719
|
exports.getText = getText;
|
|
15793
13720
|
exports.textContent = textContent;
|
|
15794
13721
|
exports.innerText = innerText;
|
|
15795
|
-
var domhandler_1 =
|
|
15796
|
-
var dom_serializer_1 = __importDefault(
|
|
15797
|
-
var domelementtype_1 =
|
|
13722
|
+
var domhandler_1 = require_lib3();
|
|
13723
|
+
var dom_serializer_1 = __importDefault(require_lib5());
|
|
13724
|
+
var domelementtype_1 = require_lib2();
|
|
15798
13725
|
function getOuterHTML(node, options3) {
|
|
15799
13726
|
return (0, dom_serializer_1.default)(node, options3);
|
|
15800
13727
|
}
|
|
@@ -15848,7 +13775,7 @@ var require_traversal = __commonJS((exports) => {
|
|
|
15848
13775
|
exports.getName = getName;
|
|
15849
13776
|
exports.nextElementSibling = nextElementSibling;
|
|
15850
13777
|
exports.prevElementSibling = prevElementSibling;
|
|
15851
|
-
var domhandler_1 =
|
|
13778
|
+
var domhandler_1 = require_lib3();
|
|
15852
13779
|
function getChildren(elem) {
|
|
15853
13780
|
return (0, domhandler_1.hasChildren)(elem) ? elem.children : [];
|
|
15854
13781
|
}
|
|
@@ -16007,7 +13934,7 @@ var require_querying = __commonJS((exports) => {
|
|
|
16007
13934
|
exports.findOne = findOne;
|
|
16008
13935
|
exports.existsOne = existsOne;
|
|
16009
13936
|
exports.findAll = findAll;
|
|
16010
|
-
var domhandler_1 =
|
|
13937
|
+
var domhandler_1 = require_lib3();
|
|
16011
13938
|
function filter(test, node, recurse, limit) {
|
|
16012
13939
|
if (recurse === undefined) {
|
|
16013
13940
|
recurse = true;
|
|
@@ -16101,7 +14028,7 @@ var require_legacy = __commonJS((exports) => {
|
|
|
16101
14028
|
exports.getElementsByTagName = getElementsByTagName;
|
|
16102
14029
|
exports.getElementsByClassName = getElementsByClassName;
|
|
16103
14030
|
exports.getElementsByTagType = getElementsByTagType;
|
|
16104
|
-
var domhandler_1 =
|
|
14031
|
+
var domhandler_1 = require_lib3();
|
|
16105
14032
|
var querying_js_1 = require_querying();
|
|
16106
14033
|
var Checks = {
|
|
16107
14034
|
tag_name: function(name) {
|
|
@@ -16214,7 +14141,7 @@ var require_helpers = __commonJS((exports) => {
|
|
|
16214
14141
|
exports.removeSubsets = removeSubsets;
|
|
16215
14142
|
exports.compareDocumentPosition = compareDocumentPosition;
|
|
16216
14143
|
exports.uniqueSort = uniqueSort;
|
|
16217
|
-
var domhandler_1 =
|
|
14144
|
+
var domhandler_1 = require_lib3();
|
|
16218
14145
|
function removeSubsets(nodes) {
|
|
16219
14146
|
var idx = nodes.length;
|
|
16220
14147
|
while (--idx >= 0) {
|
|
@@ -16434,7 +14361,7 @@ var require_feeds = __commonJS((exports) => {
|
|
|
16434
14361
|
});
|
|
16435
14362
|
|
|
16436
14363
|
// node_modules/domutils/lib/index.js
|
|
16437
|
-
var
|
|
14364
|
+
var require_lib6 = __commonJS((exports) => {
|
|
16438
14365
|
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
16439
14366
|
if (k2 === undefined)
|
|
16440
14367
|
k2 = k;
|
|
@@ -16464,7 +14391,7 @@ var require_lib7 = __commonJS((exports) => {
|
|
|
16464
14391
|
__exportStar(require_legacy(), exports);
|
|
16465
14392
|
__exportStar(require_helpers(), exports);
|
|
16466
14393
|
__exportStar(require_feeds(), exports);
|
|
16467
|
-
var domhandler_1 =
|
|
14394
|
+
var domhandler_1 = require_lib3();
|
|
16468
14395
|
Object.defineProperty(exports, "isTag", { enumerable: true, get: function() {
|
|
16469
14396
|
return domhandler_1.isTag;
|
|
16470
14397
|
} });
|
|
@@ -16486,7 +14413,7 @@ var require_lib7 = __commonJS((exports) => {
|
|
|
16486
14413
|
});
|
|
16487
14414
|
|
|
16488
14415
|
// node_modules/htmlparser2/lib/index.js
|
|
16489
|
-
var
|
|
14416
|
+
var require_lib7 = __commonJS((exports) => {
|
|
16490
14417
|
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
16491
14418
|
if (k2 === undefined)
|
|
16492
14419
|
k2 = k;
|
|
@@ -16529,8 +14456,8 @@ var require_lib8 = __commonJS((exports) => {
|
|
|
16529
14456
|
Object.defineProperty(exports, "Parser", { enumerable: true, get: function() {
|
|
16530
14457
|
return Parser_js_2.Parser;
|
|
16531
14458
|
} });
|
|
16532
|
-
var domhandler_1 =
|
|
16533
|
-
var domhandler_2 =
|
|
14459
|
+
var domhandler_1 = require_lib3();
|
|
14460
|
+
var domhandler_2 = require_lib3();
|
|
16534
14461
|
Object.defineProperty(exports, "DomHandler", { enumerable: true, get: function() {
|
|
16535
14462
|
return domhandler_2.DomHandler;
|
|
16536
14463
|
} });
|
|
@@ -16556,9 +14483,9 @@ var require_lib8 = __commonJS((exports) => {
|
|
|
16556
14483
|
Object.defineProperty(exports, "Tokenizer", { enumerable: true, get: function() {
|
|
16557
14484
|
return __importDefault(Tokenizer_js_1).default;
|
|
16558
14485
|
} });
|
|
16559
|
-
exports.ElementType = __importStar(
|
|
16560
|
-
var domutils_1 =
|
|
16561
|
-
var domutils_2 =
|
|
14486
|
+
exports.ElementType = __importStar(require_lib2());
|
|
14487
|
+
var domutils_1 = require_lib6();
|
|
14488
|
+
var domutils_2 = require_lib6();
|
|
16562
14489
|
Object.defineProperty(exports, "getFeed", { enumerable: true, get: function() {
|
|
16563
14490
|
return domutils_2.getFeed;
|
|
16564
14491
|
} });
|
|
@@ -16570,7 +14497,7 @@ var require_lib8 = __commonJS((exports) => {
|
|
|
16570
14497
|
return (0, domutils_1.getFeed)(parseDOM(feed, options3));
|
|
16571
14498
|
}
|
|
16572
14499
|
exports.parseFeed = parseFeed;
|
|
16573
|
-
exports.DomUtils = __importStar(
|
|
14500
|
+
exports.DomUtils = __importStar(require_lib6());
|
|
16574
14501
|
});
|
|
16575
14502
|
|
|
16576
14503
|
// node_modules/escape-string-regexp/index.js
|
|
@@ -22569,7 +20496,7 @@ var require_postcss = __commonJS((exports, module) => {
|
|
|
22569
20496
|
|
|
22570
20497
|
// node_modules/sanitize-html/index.js
|
|
22571
20498
|
var require_sanitize_html = __commonJS((exports, module) => {
|
|
22572
|
-
var htmlparser =
|
|
20499
|
+
var htmlparser = require_lib7();
|
|
22573
20500
|
var escapeStringRegexp = require_escape_string_regexp();
|
|
22574
20501
|
var { isPlainObject } = require_is_plain_object();
|
|
22575
20502
|
var deepmerge = require_cjs();
|
|
@@ -24104,8 +22031,8 @@ var require_core2 = __commonJS((exports, module) => {
|
|
|
24104
22031
|
endMultiClass(mode);
|
|
24105
22032
|
}
|
|
24106
22033
|
function compileLanguage(language) {
|
|
24107
|
-
function langRe(value,
|
|
24108
|
-
return new RegExp(source(value), "m" + (language.case_insensitive ? "i" : "") + (language.unicodeRegex ? "u" : "") + (
|
|
22034
|
+
function langRe(value, global) {
|
|
22035
|
+
return new RegExp(source(value), "m" + (language.case_insensitive ? "i" : "") + (language.unicodeRegex ? "u" : "") + (global ? "g" : ""));
|
|
24109
22036
|
}
|
|
24110
22037
|
|
|
24111
22038
|
class MultiRegex {
|
|
@@ -24953,20 +22880,20 @@ var {
|
|
|
24953
22880
|
} = import__.default;
|
|
24954
22881
|
|
|
24955
22882
|
// src/cli.ts
|
|
24956
|
-
var import_fs_extra2 = __toESM(require_lib(), 1);
|
|
24957
22883
|
import path5 from "path";
|
|
24958
22884
|
|
|
24959
22885
|
// src/config.ts
|
|
24960
|
-
var import_fs_extra = __toESM(require_lib(), 1);
|
|
24961
22886
|
import path from "path";
|
|
24962
22887
|
var DEFAULT_CONTENT_DIR = path.join(process.cwd(), "content");
|
|
24963
22888
|
var DEFAULT_OUTPUT_DIR = path.join(process.cwd(), "dist");
|
|
24964
22889
|
var DEFAULT_TEMPLATES_DIR = path.join(process.cwd(), "templates");
|
|
24965
22890
|
var DEFAULT_CONFIG_FILE = path.join(process.cwd(), "bunki.config.json");
|
|
24966
|
-
function loadConfig(configPath = DEFAULT_CONFIG_FILE) {
|
|
24967
|
-
|
|
22891
|
+
async function loadConfig(configPath = DEFAULT_CONFIG_FILE) {
|
|
22892
|
+
const configFile = Bun.file(configPath);
|
|
22893
|
+
if (await configFile.exists()) {
|
|
24968
22894
|
try {
|
|
24969
|
-
|
|
22895
|
+
const configText = await configFile.text();
|
|
22896
|
+
return JSON.parse(configText);
|
|
24970
22897
|
} catch (error) {
|
|
24971
22898
|
console.error(`Error loading config file ${configPath}:`, error);
|
|
24972
22899
|
return getDefaultConfig();
|
|
@@ -24982,8 +22909,9 @@ function getDefaultConfig() {
|
|
|
24982
22909
|
domain: "blog"
|
|
24983
22910
|
};
|
|
24984
22911
|
}
|
|
24985
|
-
function createDefaultConfig(configPath = DEFAULT_CONFIG_FILE) {
|
|
24986
|
-
|
|
22912
|
+
async function createDefaultConfig(configPath = DEFAULT_CONFIG_FILE) {
|
|
22913
|
+
const configFile = Bun.file(configPath);
|
|
22914
|
+
if (await configFile.exists()) {
|
|
24987
22915
|
console.log(`Config file already exists at ${configPath}`);
|
|
24988
22916
|
return false;
|
|
24989
22917
|
}
|
|
@@ -24994,7 +22922,7 @@ function createDefaultConfig(configPath = DEFAULT_CONFIG_FILE) {
|
|
|
24994
22922
|
domain: "blog"
|
|
24995
22923
|
};
|
|
24996
22924
|
try {
|
|
24997
|
-
|
|
22925
|
+
await Bun.write(configPath, JSON.stringify(defaultConfig, null, 2));
|
|
24998
22926
|
console.log(`Created default config file at ${configPath}`);
|
|
24999
22927
|
return true;
|
|
25000
22928
|
} catch (error) {
|
|
@@ -29304,11 +27232,10 @@ var marked2 = new Marked(markedHighlight({
|
|
|
29304
27232
|
return core_default.highlight(code, { language }).value;
|
|
29305
27233
|
}
|
|
29306
27234
|
}));
|
|
29307
|
-
|
|
27235
|
+
marked2.setOptions({
|
|
29308
27236
|
gfm: true,
|
|
29309
27237
|
breaks: true
|
|
29310
|
-
};
|
|
29311
|
-
marked2.setOptions(markedOptions);
|
|
27238
|
+
});
|
|
29312
27239
|
marked2.use({
|
|
29313
27240
|
walkTokens(token) {
|
|
29314
27241
|
if (token.type === "link") {
|
|
@@ -29344,7 +27271,14 @@ function extractExcerpt(content, maxLength = 200) {
|
|
|
29344
27271
|
function convertMarkdownToHtml(markdownContent) {
|
|
29345
27272
|
const html = marked2.parse(markdownContent);
|
|
29346
27273
|
return import_sanitize_html.default(html.toString(), {
|
|
29347
|
-
allowedTags: import_sanitize_html.default.defaults.allowedTags.concat([
|
|
27274
|
+
allowedTags: import_sanitize_html.default.defaults.allowedTags.concat([
|
|
27275
|
+
"img",
|
|
27276
|
+
"h1",
|
|
27277
|
+
"h2",
|
|
27278
|
+
"span",
|
|
27279
|
+
"iframe",
|
|
27280
|
+
"div"
|
|
27281
|
+
]),
|
|
29348
27282
|
allowedAttributes: {
|
|
29349
27283
|
...import_sanitize_html.default.defaults.allowedAttributes,
|
|
29350
27284
|
a: ["href", "name", "target", "rel", "title"],
|
|
@@ -29378,7 +27312,9 @@ async function parseMarkdownFile(filePath) {
|
|
|
29378
27312
|
}
|
|
29379
27313
|
let slug = data.slug || getBaseFilename(filePath);
|
|
29380
27314
|
const sanitizedHtml = convertMarkdownToHtml(content);
|
|
29381
|
-
const pacificDate = new Date(new Date(data.date).toLocaleString("en-US", {
|
|
27315
|
+
const pacificDate = new Date(new Date(data.date).toLocaleString("en-US", {
|
|
27316
|
+
timeZone: "America/Los_Angeles"
|
|
27317
|
+
}));
|
|
29382
27318
|
const postYear = pacificDate.getFullYear();
|
|
29383
27319
|
const post = {
|
|
29384
27320
|
title: data.title,
|
|
@@ -29417,11 +27353,15 @@ class SiteGenerator {
|
|
|
29417
27353
|
options;
|
|
29418
27354
|
site;
|
|
29419
27355
|
formatRSSDate(date) {
|
|
29420
|
-
const pacificDate = new Date(new Date(date).toLocaleString("en-US", {
|
|
27356
|
+
const pacificDate = new Date(new Date(date).toLocaleString("en-US", {
|
|
27357
|
+
timeZone: "America/Los_Angeles"
|
|
27358
|
+
}));
|
|
29421
27359
|
return pacificDate.toUTCString();
|
|
29422
27360
|
}
|
|
29423
27361
|
getPacificDate(date) {
|
|
29424
|
-
return new Date(new Date(date).toLocaleString("en-US", {
|
|
27362
|
+
return new Date(new Date(date).toLocaleString("en-US", {
|
|
27363
|
+
timeZone: "America/Los_Angeles"
|
|
27364
|
+
}));
|
|
29425
27365
|
}
|
|
29426
27366
|
createPagination(items, currentPage, pageSize, pagePath) {
|
|
29427
27367
|
const totalItems = items.length;
|
|
@@ -29450,9 +27390,24 @@ class SiteGenerator {
|
|
|
29450
27390
|
watch: false
|
|
29451
27391
|
});
|
|
29452
27392
|
env.addFilter("date", function(date, format) {
|
|
29453
|
-
const pstDate = new Date(date).toLocaleString("en-US", {
|
|
27393
|
+
const pstDate = new Date(date).toLocaleString("en-US", {
|
|
27394
|
+
timeZone: "America/Los_Angeles"
|
|
27395
|
+
});
|
|
29454
27396
|
const d = new Date(pstDate);
|
|
29455
|
-
const months = [
|
|
27397
|
+
const months = [
|
|
27398
|
+
"January",
|
|
27399
|
+
"February",
|
|
27400
|
+
"March",
|
|
27401
|
+
"April",
|
|
27402
|
+
"May",
|
|
27403
|
+
"June",
|
|
27404
|
+
"July",
|
|
27405
|
+
"August",
|
|
27406
|
+
"September",
|
|
27407
|
+
"October",
|
|
27408
|
+
"November",
|
|
27409
|
+
"December"
|
|
27410
|
+
];
|
|
29456
27411
|
if (format === "YYYY") {
|
|
29457
27412
|
return d.getFullYear();
|
|
29458
27413
|
} else if (format === "MMMM D, YYYY") {
|
|
@@ -29462,7 +27417,9 @@ class SiteGenerator {
|
|
|
29462
27417
|
const ampm = d.getHours() >= 12 ? "PM" : "AM";
|
|
29463
27418
|
return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()} @ ${hours} ${ampm}`;
|
|
29464
27419
|
} else {
|
|
29465
|
-
return d.toLocaleDateString("en-US", {
|
|
27420
|
+
return d.toLocaleDateString("en-US", {
|
|
27421
|
+
timeZone: "America/Los_Angeles"
|
|
27422
|
+
});
|
|
29466
27423
|
}
|
|
29467
27424
|
});
|
|
29468
27425
|
}
|
|
@@ -29658,7 +27615,10 @@ class SiteGenerator {
|
|
|
29658
27615
|
const assetGlob = new Glob2("**/*.*");
|
|
29659
27616
|
const assetsOutputDir = path3.join(this.options.outputDir, "assets");
|
|
29660
27617
|
await ensureDir(assetsOutputDir);
|
|
29661
|
-
for await (const file of assetGlob.scan({
|
|
27618
|
+
for await (const file of assetGlob.scan({
|
|
27619
|
+
cwd: assetsDir,
|
|
27620
|
+
absolute: true
|
|
27621
|
+
})) {
|
|
29662
27622
|
const relativePath = path3.relative(assetsDir, file);
|
|
29663
27623
|
const targetPath = path3.join(assetsOutputDir, relativePath);
|
|
29664
27624
|
const targetDir = path3.dirname(targetPath);
|
|
@@ -29669,7 +27629,10 @@ class SiteGenerator {
|
|
|
29669
27629
|
const publicDirFile = Bun.file(publicDir);
|
|
29670
27630
|
if (await publicDirFile.exists()) {
|
|
29671
27631
|
const publicGlob = new Glob2("**/*.*");
|
|
29672
|
-
for await (const file of publicGlob.scan({
|
|
27632
|
+
for await (const file of publicGlob.scan({
|
|
27633
|
+
cwd: publicDir,
|
|
27634
|
+
absolute: true
|
|
27635
|
+
})) {
|
|
29673
27636
|
const relativePath = path3.relative(publicDir, file);
|
|
29674
27637
|
const targetPath = path3.join(this.options.outputDir, relativePath);
|
|
29675
27638
|
const targetDir = path3.dirname(targetPath);
|
|
@@ -29814,11 +27777,11 @@ ${rssItems}
|
|
|
29814
27777
|
|
|
29815
27778
|
// src/server.ts
|
|
29816
27779
|
import path4 from "path";
|
|
29817
|
-
import
|
|
27780
|
+
import fs from "fs/promises";
|
|
29818
27781
|
function startServer(outputDir = DEFAULT_OUTPUT_DIR, port = 3000) {
|
|
29819
|
-
|
|
27782
|
+
fs.access(outputDir).then(() => {
|
|
29820
27783
|
console.log(`Starting server for site in ${outputDir}...`);
|
|
29821
|
-
|
|
27784
|
+
Bun.serve({
|
|
29822
27785
|
port,
|
|
29823
27786
|
async fetch(req) {
|
|
29824
27787
|
try {
|
|
@@ -29934,10 +27897,10 @@ program2.command("init").description("Initialize a new site with default structu
|
|
|
29934
27897
|
const configCreated = createDefaultConfig(configPath);
|
|
29935
27898
|
if (configCreated) {
|
|
29936
27899
|
console.log("Creating directory structure...");
|
|
29937
|
-
await
|
|
29938
|
-
await
|
|
29939
|
-
await
|
|
29940
|
-
await
|
|
27900
|
+
await ensureDir(DEFAULT_CONTENT_DIR);
|
|
27901
|
+
await ensureDir(DEFAULT_TEMPLATES_DIR);
|
|
27902
|
+
await ensureDir(path5.join(DEFAULT_TEMPLATES_DIR, "styles"));
|
|
27903
|
+
await ensureDir(path5.join(process.cwd(), "public"));
|
|
29941
27904
|
const templates = {
|
|
29942
27905
|
"base.njk": `<!DOCTYPE html>
|
|
29943
27906
|
<html lang="en">
|
|
@@ -30157,7 +28120,7 @@ program2.command("init").description("Initialize a new site with default structu
|
|
|
30157
28120
|
{% endblock %}`
|
|
30158
28121
|
};
|
|
30159
28122
|
for (const [filename, content] of Object.entries(templates)) {
|
|
30160
|
-
await
|
|
28123
|
+
await Bun.write(path5.join(DEFAULT_TEMPLATES_DIR, filename), content);
|
|
30161
28124
|
}
|
|
30162
28125
|
const defaultCss = `/* Reset & base styles */
|
|
30163
28126
|
* {
|
|
@@ -30357,7 +28320,7 @@ footer {
|
|
|
30357
28320
|
color: #6c757d;
|
|
30358
28321
|
font-size: 0.9rem;
|
|
30359
28322
|
}`;
|
|
30360
|
-
await
|
|
28323
|
+
await Bun.write(path5.join(DEFAULT_TEMPLATES_DIR, "styles", "main.css"), defaultCss);
|
|
30361
28324
|
const samplePost = `---
|
|
30362
28325
|
title: Welcome to Bunki
|
|
30363
28326
|
date: ${new Date().toISOString()}
|
|
@@ -30384,7 +28347,7 @@ Create new markdown files in the \`content\` directory with frontmatter like thi
|
|
|
30384
28347
|
\`\`\`markdown
|
|
30385
28348
|
---
|
|
30386
28349
|
title: Your Post Title
|
|
30387
|
-
date:
|
|
28350
|
+
date: 2025-01-01T12:00:00Z
|
|
30388
28351
|
tags: [tag1, tag2]
|
|
30389
28352
|
---
|
|
30390
28353
|
|
|
@@ -30409,7 +28372,7 @@ function hello() {
|
|
|
30409
28372
|
4. Run \`bunki generate\` to build your site
|
|
30410
28373
|
5. Run \`bunki serve\` to preview your site locally
|
|
30411
28374
|
`;
|
|
30412
|
-
await
|
|
28375
|
+
await Bun.write(path5.join(DEFAULT_CONTENT_DIR, "welcome.md"), samplePost);
|
|
30413
28376
|
console.log(`
|
|
30414
28377
|
Initialization complete! Here are the next steps:`);
|
|
30415
28378
|
console.log("1. Edit bunki.config.json to configure your site");
|
|
@@ -30440,7 +28403,7 @@ tags: [${tags.join(", ")}]
|
|
|
30440
28403
|
|
|
30441
28404
|
`;
|
|
30442
28405
|
const filePath = path5.join(DEFAULT_CONTENT_DIR, `${slug}.md`);
|
|
30443
|
-
await
|
|
28406
|
+
await Bun.write(filePath, frontmatter);
|
|
30444
28407
|
console.log(`Created new post: ${filePath}`);
|
|
30445
28408
|
} catch (error) {
|
|
30446
28409
|
console.error("Error creating new post:", error);
|