bunki 0.1.2 → 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.
Files changed (3) hide show
  1. package/dist/cli.js +126 -2163
  2. package/dist/index.js +64 -2100
  3. package/package.json +1 -3
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 require_lib2 = __commonJS((exports, module) => {
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 = require_lib2();
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 = require_lib2();
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 = require_lib2();
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 = require_lib2();
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 = require_lib2();
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 = require_lib2();
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 = require_lib2();
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 fs2 = __require("fs");
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(fs2.existsSync);
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 && fs2.existsSync(p)) {
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: fs2.readFileSync(fullpath, "utf-8"),
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: fs2.readFileSync(fullpath, "utf-8"),
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 = require_lib2();
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 fs2 = __require("fs");
7006
+ var fs = __require("fs");
9080
7007
  var path2 = __require("path");
9081
- var _require = require_lib2();
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 = fs2.existsSync(input) && fs2.statSync(input);
7039
+ var pathStats = fs.existsSync(input) && fs.statSync(input);
9113
7040
  var precompiled = [];
9114
7041
  var templates = [];
9115
7042
  function addTemplates(dir) {
9116
- fs2.readdirSync(dir).forEach(function(file) {
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 = fs2.statSync(filepath);
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(fs2.readFileSync(input, "utf-8"), opts.name || input, env));
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(fs2.readFileSync(templates[i], "utf-8"), name, env));
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 = require_lib2();
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 require_json2 = __commonJS((exports, module) => {
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
- require_json2()
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 = require_json2();
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 require_utils3 = __commonJS((exports) => {
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 = require_utils3();
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 = require_utils3();
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 fs2 = __require("fs");
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 = require_utils3();
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 = fs2.readFileSync(filepath, "utf8");
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 require_lib3 = __commonJS((exports) => {
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 = require_lib3();
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 require_lib4 = __commonJS((exports) => {
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 = require_lib3();
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 require_lib5 = __commonJS((exports) => {
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 require_lib6 = __commonJS((exports) => {
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(require_lib3());
15637
- var entities_1 = require_lib5();
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 = require_lib4();
15796
- var dom_serializer_1 = __importDefault(require_lib6());
15797
- var domelementtype_1 = require_lib3();
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 = require_lib4();
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 = require_lib4();
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 = require_lib4();
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 = require_lib4();
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 require_lib7 = __commonJS((exports) => {
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 = require_lib4();
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 require_lib8 = __commonJS((exports) => {
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 = require_lib4();
16533
- var domhandler_2 = require_lib4();
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(require_lib3());
16560
- var domutils_1 = require_lib7();
16561
- var domutils_2 = require_lib7();
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(require_lib7());
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 = require_lib8();
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, global2) {
24108
- return new RegExp(source(value), "m" + (language.case_insensitive ? "i" : "") + (language.unicodeRegex ? "u" : "") + (global2 ? "g" : ""));
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
- if (import_fs_extra.default.existsSync(configPath)) {
22891
+ async function loadConfig(configPath = DEFAULT_CONFIG_FILE) {
22892
+ const configFile = Bun.file(configPath);
22893
+ if (await configFile.exists()) {
24968
22894
  try {
24969
- return import_fs_extra.default.readJSONSync(configPath);
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
- if (import_fs_extra.default.existsSync(configPath)) {
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
- import_fs_extra.default.writeJSONSync(configPath, defaultConfig, { spaces: 2 });
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
- var markedOptions = {
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(["img", "h1", "h2", "span", "iframe", "div"]),
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", { timeZone: "America/Los_Angeles" }));
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", { timeZone: "America/Los_Angeles" }));
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", { timeZone: "America/Los_Angeles" }));
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", { timeZone: "America/Los_Angeles" });
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 = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
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", { timeZone: "America/Los_Angeles" });
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({ cwd: assetsDir, absolute: true })) {
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({ cwd: publicDir, absolute: true })) {
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 fs2 from "fs/promises";
27780
+ import fs from "fs/promises";
29818
27781
  function startServer(outputDir = DEFAULT_OUTPUT_DIR, port = 3000) {
29819
- fs2.access(outputDir).then(() => {
27782
+ fs.access(outputDir).then(() => {
29820
27783
  console.log(`Starting server for site in ${outputDir}...`);
29821
- const server = Bun.serve({
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 import_fs_extra2.default.mkdirp(DEFAULT_CONTENT_DIR);
29938
- await import_fs_extra2.default.mkdirp(DEFAULT_TEMPLATES_DIR);
29939
- await import_fs_extra2.default.mkdirp(path5.join(DEFAULT_TEMPLATES_DIR, "styles"));
29940
- await import_fs_extra2.default.mkdirp(path5.join(process.cwd(), "public"));
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 import_fs_extra2.default.writeFile(path5.join(DEFAULT_TEMPLATES_DIR, filename), content);
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 import_fs_extra2.default.writeFile(path5.join(DEFAULT_TEMPLATES_DIR, "styles", "main.css"), defaultCss);
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: 2023-01-01T12:00:00Z
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 import_fs_extra2.default.writeFile(path5.join(DEFAULT_CONTENT_DIR, "welcome.md"), samplePost);
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 import_fs_extra2.default.writeFile(filePath, frontmatter);
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);