@meltstudio/meltctl 5.7.3 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +765 -519
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1726,8 +1726,8 @@ var require_command = __commonJS({
|
|
|
1726
1726
|
"use strict";
|
|
1727
1727
|
var EventEmitter = __require("events").EventEmitter;
|
|
1728
1728
|
var childProcess = __require("child_process");
|
|
1729
|
-
var
|
|
1730
|
-
var
|
|
1729
|
+
var path10 = __require("path");
|
|
1730
|
+
var fs7 = __require("fs");
|
|
1731
1731
|
var process7 = __require("process");
|
|
1732
1732
|
var { Argument: Argument2, humanReadableArgName } = require_argument();
|
|
1733
1733
|
var { CommanderError: CommanderError2 } = require_error();
|
|
@@ -2722,7 +2722,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2722
2722
|
* @param {string} subcommandName
|
|
2723
2723
|
*/
|
|
2724
2724
|
_checkForMissingExecutable(executableFile, executableDir, subcommandName) {
|
|
2725
|
-
if (
|
|
2725
|
+
if (fs7.existsSync(executableFile)) return;
|
|
2726
2726
|
const executableDirMessage = executableDir ? `searched for local subcommand relative to directory '${executableDir}'` : "no directory for search for local subcommand, use .executableDir() to supply a custom directory";
|
|
2727
2727
|
const executableMissing = `'${executableFile}' does not exist
|
|
2728
2728
|
- if '${subcommandName}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
@@ -2740,11 +2740,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2740
2740
|
let launchWithNode = false;
|
|
2741
2741
|
const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
|
|
2742
2742
|
function findFile(baseDir, baseName) {
|
|
2743
|
-
const localBin =
|
|
2744
|
-
if (
|
|
2745
|
-
if (sourceExt.includes(
|
|
2743
|
+
const localBin = path10.resolve(baseDir, baseName);
|
|
2744
|
+
if (fs7.existsSync(localBin)) return localBin;
|
|
2745
|
+
if (sourceExt.includes(path10.extname(baseName))) return void 0;
|
|
2746
2746
|
const foundExt = sourceExt.find(
|
|
2747
|
-
(ext) =>
|
|
2747
|
+
(ext) => fs7.existsSync(`${localBin}${ext}`)
|
|
2748
2748
|
);
|
|
2749
2749
|
if (foundExt) return `${localBin}${foundExt}`;
|
|
2750
2750
|
return void 0;
|
|
@@ -2756,21 +2756,21 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2756
2756
|
if (this._scriptPath) {
|
|
2757
2757
|
let resolvedScriptPath;
|
|
2758
2758
|
try {
|
|
2759
|
-
resolvedScriptPath =
|
|
2759
|
+
resolvedScriptPath = fs7.realpathSync(this._scriptPath);
|
|
2760
2760
|
} catch {
|
|
2761
2761
|
resolvedScriptPath = this._scriptPath;
|
|
2762
2762
|
}
|
|
2763
|
-
executableDir =
|
|
2764
|
-
|
|
2763
|
+
executableDir = path10.resolve(
|
|
2764
|
+
path10.dirname(resolvedScriptPath),
|
|
2765
2765
|
executableDir
|
|
2766
2766
|
);
|
|
2767
2767
|
}
|
|
2768
2768
|
if (executableDir) {
|
|
2769
2769
|
let localFile = findFile(executableDir, executableFile);
|
|
2770
2770
|
if (!localFile && !subcommand._executableFile && this._scriptPath) {
|
|
2771
|
-
const legacyName =
|
|
2771
|
+
const legacyName = path10.basename(
|
|
2772
2772
|
this._scriptPath,
|
|
2773
|
-
|
|
2773
|
+
path10.extname(this._scriptPath)
|
|
2774
2774
|
);
|
|
2775
2775
|
if (legacyName !== this._name) {
|
|
2776
2776
|
localFile = findFile(
|
|
@@ -2781,7 +2781,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2781
2781
|
}
|
|
2782
2782
|
executableFile = localFile || executableFile;
|
|
2783
2783
|
}
|
|
2784
|
-
launchWithNode = sourceExt.includes(
|
|
2784
|
+
launchWithNode = sourceExt.includes(path10.extname(executableFile));
|
|
2785
2785
|
let proc;
|
|
2786
2786
|
if (process7.platform !== "win32") {
|
|
2787
2787
|
if (launchWithNode) {
|
|
@@ -3697,7 +3697,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
3697
3697
|
* @return {Command}
|
|
3698
3698
|
*/
|
|
3699
3699
|
nameFromFilename(filename) {
|
|
3700
|
-
this._name =
|
|
3700
|
+
this._name = path10.basename(filename, path10.extname(filename));
|
|
3701
3701
|
return this;
|
|
3702
3702
|
}
|
|
3703
3703
|
/**
|
|
@@ -3711,9 +3711,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
3711
3711
|
* @param {string} [path]
|
|
3712
3712
|
* @return {(string|null|Command)}
|
|
3713
3713
|
*/
|
|
3714
|
-
executableDir(
|
|
3715
|
-
if (
|
|
3716
|
-
this._executableDir =
|
|
3714
|
+
executableDir(path11) {
|
|
3715
|
+
if (path11 === void 0) return this._executableDir;
|
|
3716
|
+
this._executableDir = path11;
|
|
3717
3717
|
return this;
|
|
3718
3718
|
}
|
|
3719
3719
|
/**
|
|
@@ -4067,54 +4067,54 @@ var require_polyfills = __commonJS({
|
|
|
4067
4067
|
}
|
|
4068
4068
|
var chdir;
|
|
4069
4069
|
module.exports = patch;
|
|
4070
|
-
function patch(
|
|
4070
|
+
function patch(fs7) {
|
|
4071
4071
|
if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
|
|
4072
|
-
patchLchmod(
|
|
4073
|
-
}
|
|
4074
|
-
if (!
|
|
4075
|
-
patchLutimes(
|
|
4076
|
-
}
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
if (
|
|
4096
|
-
|
|
4072
|
+
patchLchmod(fs7);
|
|
4073
|
+
}
|
|
4074
|
+
if (!fs7.lutimes) {
|
|
4075
|
+
patchLutimes(fs7);
|
|
4076
|
+
}
|
|
4077
|
+
fs7.chown = chownFix(fs7.chown);
|
|
4078
|
+
fs7.fchown = chownFix(fs7.fchown);
|
|
4079
|
+
fs7.lchown = chownFix(fs7.lchown);
|
|
4080
|
+
fs7.chmod = chmodFix(fs7.chmod);
|
|
4081
|
+
fs7.fchmod = chmodFix(fs7.fchmod);
|
|
4082
|
+
fs7.lchmod = chmodFix(fs7.lchmod);
|
|
4083
|
+
fs7.chownSync = chownFixSync(fs7.chownSync);
|
|
4084
|
+
fs7.fchownSync = chownFixSync(fs7.fchownSync);
|
|
4085
|
+
fs7.lchownSync = chownFixSync(fs7.lchownSync);
|
|
4086
|
+
fs7.chmodSync = chmodFixSync(fs7.chmodSync);
|
|
4087
|
+
fs7.fchmodSync = chmodFixSync(fs7.fchmodSync);
|
|
4088
|
+
fs7.lchmodSync = chmodFixSync(fs7.lchmodSync);
|
|
4089
|
+
fs7.stat = statFix(fs7.stat);
|
|
4090
|
+
fs7.fstat = statFix(fs7.fstat);
|
|
4091
|
+
fs7.lstat = statFix(fs7.lstat);
|
|
4092
|
+
fs7.statSync = statFixSync(fs7.statSync);
|
|
4093
|
+
fs7.fstatSync = statFixSync(fs7.fstatSync);
|
|
4094
|
+
fs7.lstatSync = statFixSync(fs7.lstatSync);
|
|
4095
|
+
if (fs7.chmod && !fs7.lchmod) {
|
|
4096
|
+
fs7.lchmod = function(path10, mode, cb) {
|
|
4097
4097
|
if (cb) process.nextTick(cb);
|
|
4098
4098
|
};
|
|
4099
|
-
|
|
4099
|
+
fs7.lchmodSync = function() {
|
|
4100
4100
|
};
|
|
4101
4101
|
}
|
|
4102
|
-
if (
|
|
4103
|
-
|
|
4102
|
+
if (fs7.chown && !fs7.lchown) {
|
|
4103
|
+
fs7.lchown = function(path10, uid, gid, cb) {
|
|
4104
4104
|
if (cb) process.nextTick(cb);
|
|
4105
4105
|
};
|
|
4106
|
-
|
|
4106
|
+
fs7.lchownSync = function() {
|
|
4107
4107
|
};
|
|
4108
4108
|
}
|
|
4109
4109
|
if (platform === "win32") {
|
|
4110
|
-
|
|
4110
|
+
fs7.rename = typeof fs7.rename !== "function" ? fs7.rename : (function(fs$rename) {
|
|
4111
4111
|
function rename(from, to, cb) {
|
|
4112
4112
|
var start = Date.now();
|
|
4113
4113
|
var backoff = 0;
|
|
4114
4114
|
fs$rename(from, to, function CB(er) {
|
|
4115
4115
|
if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
|
|
4116
4116
|
setTimeout(function() {
|
|
4117
|
-
|
|
4117
|
+
fs7.stat(to, function(stater, st) {
|
|
4118
4118
|
if (stater && stater.code === "ENOENT")
|
|
4119
4119
|
fs$rename(from, to, CB);
|
|
4120
4120
|
else
|
|
@@ -4130,9 +4130,9 @@ var require_polyfills = __commonJS({
|
|
|
4130
4130
|
}
|
|
4131
4131
|
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
|
|
4132
4132
|
return rename;
|
|
4133
|
-
})(
|
|
4133
|
+
})(fs7.rename);
|
|
4134
4134
|
}
|
|
4135
|
-
|
|
4135
|
+
fs7.read = typeof fs7.read !== "function" ? fs7.read : (function(fs$read) {
|
|
4136
4136
|
function read(fd, buffer, offset, length, position, callback_) {
|
|
4137
4137
|
var callback;
|
|
4138
4138
|
if (callback_ && typeof callback_ === "function") {
|
|
@@ -4140,22 +4140,22 @@ var require_polyfills = __commonJS({
|
|
|
4140
4140
|
callback = function(er, _, __) {
|
|
4141
4141
|
if (er && er.code === "EAGAIN" && eagCounter < 10) {
|
|
4142
4142
|
eagCounter++;
|
|
4143
|
-
return fs$read.call(
|
|
4143
|
+
return fs$read.call(fs7, fd, buffer, offset, length, position, callback);
|
|
4144
4144
|
}
|
|
4145
4145
|
callback_.apply(this, arguments);
|
|
4146
4146
|
};
|
|
4147
4147
|
}
|
|
4148
|
-
return fs$read.call(
|
|
4148
|
+
return fs$read.call(fs7, fd, buffer, offset, length, position, callback);
|
|
4149
4149
|
}
|
|
4150
4150
|
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
|
|
4151
4151
|
return read;
|
|
4152
|
-
})(
|
|
4153
|
-
|
|
4152
|
+
})(fs7.read);
|
|
4153
|
+
fs7.readSync = typeof fs7.readSync !== "function" ? fs7.readSync : /* @__PURE__ */ (function(fs$readSync) {
|
|
4154
4154
|
return function(fd, buffer, offset, length, position) {
|
|
4155
4155
|
var eagCounter = 0;
|
|
4156
4156
|
while (true) {
|
|
4157
4157
|
try {
|
|
4158
|
-
return fs$readSync.call(
|
|
4158
|
+
return fs$readSync.call(fs7, fd, buffer, offset, length, position);
|
|
4159
4159
|
} catch (er) {
|
|
4160
4160
|
if (er.code === "EAGAIN" && eagCounter < 10) {
|
|
4161
4161
|
eagCounter++;
|
|
@@ -4165,11 +4165,11 @@ var require_polyfills = __commonJS({
|
|
|
4165
4165
|
}
|
|
4166
4166
|
}
|
|
4167
4167
|
};
|
|
4168
|
-
})(
|
|
4169
|
-
function patchLchmod(
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4168
|
+
})(fs7.readSync);
|
|
4169
|
+
function patchLchmod(fs8) {
|
|
4170
|
+
fs8.lchmod = function(path10, mode, callback) {
|
|
4171
|
+
fs8.open(
|
|
4172
|
+
path10,
|
|
4173
4173
|
constants.O_WRONLY | constants.O_SYMLINK,
|
|
4174
4174
|
mode,
|
|
4175
4175
|
function(err, fd) {
|
|
@@ -4177,80 +4177,80 @@ var require_polyfills = __commonJS({
|
|
|
4177
4177
|
if (callback) callback(err);
|
|
4178
4178
|
return;
|
|
4179
4179
|
}
|
|
4180
|
-
|
|
4181
|
-
|
|
4180
|
+
fs8.fchmod(fd, mode, function(err2) {
|
|
4181
|
+
fs8.close(fd, function(err22) {
|
|
4182
4182
|
if (callback) callback(err2 || err22);
|
|
4183
4183
|
});
|
|
4184
4184
|
});
|
|
4185
4185
|
}
|
|
4186
4186
|
);
|
|
4187
4187
|
};
|
|
4188
|
-
|
|
4189
|
-
var fd =
|
|
4188
|
+
fs8.lchmodSync = function(path10, mode) {
|
|
4189
|
+
var fd = fs8.openSync(path10, constants.O_WRONLY | constants.O_SYMLINK, mode);
|
|
4190
4190
|
var threw = true;
|
|
4191
4191
|
var ret;
|
|
4192
4192
|
try {
|
|
4193
|
-
ret =
|
|
4193
|
+
ret = fs8.fchmodSync(fd, mode);
|
|
4194
4194
|
threw = false;
|
|
4195
4195
|
} finally {
|
|
4196
4196
|
if (threw) {
|
|
4197
4197
|
try {
|
|
4198
|
-
|
|
4198
|
+
fs8.closeSync(fd);
|
|
4199
4199
|
} catch (er) {
|
|
4200
4200
|
}
|
|
4201
4201
|
} else {
|
|
4202
|
-
|
|
4202
|
+
fs8.closeSync(fd);
|
|
4203
4203
|
}
|
|
4204
4204
|
}
|
|
4205
4205
|
return ret;
|
|
4206
4206
|
};
|
|
4207
4207
|
}
|
|
4208
|
-
function patchLutimes(
|
|
4209
|
-
if (constants.hasOwnProperty("O_SYMLINK") &&
|
|
4210
|
-
|
|
4211
|
-
|
|
4208
|
+
function patchLutimes(fs8) {
|
|
4209
|
+
if (constants.hasOwnProperty("O_SYMLINK") && fs8.futimes) {
|
|
4210
|
+
fs8.lutimes = function(path10, at, mt, cb) {
|
|
4211
|
+
fs8.open(path10, constants.O_SYMLINK, function(er, fd) {
|
|
4212
4212
|
if (er) {
|
|
4213
4213
|
if (cb) cb(er);
|
|
4214
4214
|
return;
|
|
4215
4215
|
}
|
|
4216
|
-
|
|
4217
|
-
|
|
4216
|
+
fs8.futimes(fd, at, mt, function(er2) {
|
|
4217
|
+
fs8.close(fd, function(er22) {
|
|
4218
4218
|
if (cb) cb(er2 || er22);
|
|
4219
4219
|
});
|
|
4220
4220
|
});
|
|
4221
4221
|
});
|
|
4222
4222
|
};
|
|
4223
|
-
|
|
4224
|
-
var fd =
|
|
4223
|
+
fs8.lutimesSync = function(path10, at, mt) {
|
|
4224
|
+
var fd = fs8.openSync(path10, constants.O_SYMLINK);
|
|
4225
4225
|
var ret;
|
|
4226
4226
|
var threw = true;
|
|
4227
4227
|
try {
|
|
4228
|
-
ret =
|
|
4228
|
+
ret = fs8.futimesSync(fd, at, mt);
|
|
4229
4229
|
threw = false;
|
|
4230
4230
|
} finally {
|
|
4231
4231
|
if (threw) {
|
|
4232
4232
|
try {
|
|
4233
|
-
|
|
4233
|
+
fs8.closeSync(fd);
|
|
4234
4234
|
} catch (er) {
|
|
4235
4235
|
}
|
|
4236
4236
|
} else {
|
|
4237
|
-
|
|
4237
|
+
fs8.closeSync(fd);
|
|
4238
4238
|
}
|
|
4239
4239
|
}
|
|
4240
4240
|
return ret;
|
|
4241
4241
|
};
|
|
4242
|
-
} else if (
|
|
4243
|
-
|
|
4242
|
+
} else if (fs8.futimes) {
|
|
4243
|
+
fs8.lutimes = function(_a2, _b, _c, cb) {
|
|
4244
4244
|
if (cb) process.nextTick(cb);
|
|
4245
4245
|
};
|
|
4246
|
-
|
|
4246
|
+
fs8.lutimesSync = function() {
|
|
4247
4247
|
};
|
|
4248
4248
|
}
|
|
4249
4249
|
}
|
|
4250
4250
|
function chmodFix(orig) {
|
|
4251
4251
|
if (!orig) return orig;
|
|
4252
4252
|
return function(target, mode, cb) {
|
|
4253
|
-
return orig.call(
|
|
4253
|
+
return orig.call(fs7, target, mode, function(er) {
|
|
4254
4254
|
if (chownErOk(er)) er = null;
|
|
4255
4255
|
if (cb) cb.apply(this, arguments);
|
|
4256
4256
|
});
|
|
@@ -4260,7 +4260,7 @@ var require_polyfills = __commonJS({
|
|
|
4260
4260
|
if (!orig) return orig;
|
|
4261
4261
|
return function(target, mode) {
|
|
4262
4262
|
try {
|
|
4263
|
-
return orig.call(
|
|
4263
|
+
return orig.call(fs7, target, mode);
|
|
4264
4264
|
} catch (er) {
|
|
4265
4265
|
if (!chownErOk(er)) throw er;
|
|
4266
4266
|
}
|
|
@@ -4269,7 +4269,7 @@ var require_polyfills = __commonJS({
|
|
|
4269
4269
|
function chownFix(orig) {
|
|
4270
4270
|
if (!orig) return orig;
|
|
4271
4271
|
return function(target, uid, gid, cb) {
|
|
4272
|
-
return orig.call(
|
|
4272
|
+
return orig.call(fs7, target, uid, gid, function(er) {
|
|
4273
4273
|
if (chownErOk(er)) er = null;
|
|
4274
4274
|
if (cb) cb.apply(this, arguments);
|
|
4275
4275
|
});
|
|
@@ -4279,7 +4279,7 @@ var require_polyfills = __commonJS({
|
|
|
4279
4279
|
if (!orig) return orig;
|
|
4280
4280
|
return function(target, uid, gid) {
|
|
4281
4281
|
try {
|
|
4282
|
-
return orig.call(
|
|
4282
|
+
return orig.call(fs7, target, uid, gid);
|
|
4283
4283
|
} catch (er) {
|
|
4284
4284
|
if (!chownErOk(er)) throw er;
|
|
4285
4285
|
}
|
|
@@ -4299,13 +4299,13 @@ var require_polyfills = __commonJS({
|
|
|
4299
4299
|
}
|
|
4300
4300
|
if (cb) cb.apply(this, arguments);
|
|
4301
4301
|
}
|
|
4302
|
-
return options ? orig.call(
|
|
4302
|
+
return options ? orig.call(fs7, target, options, callback) : orig.call(fs7, target, callback);
|
|
4303
4303
|
};
|
|
4304
4304
|
}
|
|
4305
4305
|
function statFixSync(orig) {
|
|
4306
4306
|
if (!orig) return orig;
|
|
4307
4307
|
return function(target, options) {
|
|
4308
|
-
var stats = options ? orig.call(
|
|
4308
|
+
var stats = options ? orig.call(fs7, target, options) : orig.call(fs7, target);
|
|
4309
4309
|
if (stats) {
|
|
4310
4310
|
if (stats.uid < 0) stats.uid += 4294967296;
|
|
4311
4311
|
if (stats.gid < 0) stats.gid += 4294967296;
|
|
@@ -4335,16 +4335,16 @@ var require_legacy_streams = __commonJS({
|
|
|
4335
4335
|
"use strict";
|
|
4336
4336
|
var Stream = __require("stream").Stream;
|
|
4337
4337
|
module.exports = legacy;
|
|
4338
|
-
function legacy(
|
|
4338
|
+
function legacy(fs7) {
|
|
4339
4339
|
return {
|
|
4340
4340
|
ReadStream,
|
|
4341
4341
|
WriteStream
|
|
4342
4342
|
};
|
|
4343
|
-
function ReadStream(
|
|
4344
|
-
if (!(this instanceof ReadStream)) return new ReadStream(
|
|
4343
|
+
function ReadStream(path10, options) {
|
|
4344
|
+
if (!(this instanceof ReadStream)) return new ReadStream(path10, options);
|
|
4345
4345
|
Stream.call(this);
|
|
4346
4346
|
var self2 = this;
|
|
4347
|
-
this.path =
|
|
4347
|
+
this.path = path10;
|
|
4348
4348
|
this.fd = null;
|
|
4349
4349
|
this.readable = true;
|
|
4350
4350
|
this.paused = false;
|
|
@@ -4378,7 +4378,7 @@ var require_legacy_streams = __commonJS({
|
|
|
4378
4378
|
});
|
|
4379
4379
|
return;
|
|
4380
4380
|
}
|
|
4381
|
-
|
|
4381
|
+
fs7.open(this.path, this.flags, this.mode, function(err, fd) {
|
|
4382
4382
|
if (err) {
|
|
4383
4383
|
self2.emit("error", err);
|
|
4384
4384
|
self2.readable = false;
|
|
@@ -4389,10 +4389,10 @@ var require_legacy_streams = __commonJS({
|
|
|
4389
4389
|
self2._read();
|
|
4390
4390
|
});
|
|
4391
4391
|
}
|
|
4392
|
-
function WriteStream(
|
|
4393
|
-
if (!(this instanceof WriteStream)) return new WriteStream(
|
|
4392
|
+
function WriteStream(path10, options) {
|
|
4393
|
+
if (!(this instanceof WriteStream)) return new WriteStream(path10, options);
|
|
4394
4394
|
Stream.call(this);
|
|
4395
|
-
this.path =
|
|
4395
|
+
this.path = path10;
|
|
4396
4396
|
this.fd = null;
|
|
4397
4397
|
this.writable = true;
|
|
4398
4398
|
this.flags = "w";
|
|
@@ -4417,7 +4417,7 @@ var require_legacy_streams = __commonJS({
|
|
|
4417
4417
|
this.busy = false;
|
|
4418
4418
|
this._queue = [];
|
|
4419
4419
|
if (this.fd === null) {
|
|
4420
|
-
this._open =
|
|
4420
|
+
this._open = fs7.open;
|
|
4421
4421
|
this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
|
|
4422
4422
|
this.flush();
|
|
4423
4423
|
}
|
|
@@ -4453,7 +4453,7 @@ var require_clone = __commonJS({
|
|
|
4453
4453
|
var require_graceful_fs = __commonJS({
|
|
4454
4454
|
"../../node_modules/graceful-fs/graceful-fs.js"(exports, module) {
|
|
4455
4455
|
"use strict";
|
|
4456
|
-
var
|
|
4456
|
+
var fs7 = __require("fs");
|
|
4457
4457
|
var polyfills = require_polyfills();
|
|
4458
4458
|
var legacy = require_legacy_streams();
|
|
4459
4459
|
var clone2 = require_clone();
|
|
@@ -4485,12 +4485,12 @@ var require_graceful_fs = __commonJS({
|
|
|
4485
4485
|
m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
|
|
4486
4486
|
console.error(m);
|
|
4487
4487
|
};
|
|
4488
|
-
if (!
|
|
4488
|
+
if (!fs7[gracefulQueue]) {
|
|
4489
4489
|
queue = global[gracefulQueue] || [];
|
|
4490
|
-
publishQueue(
|
|
4491
|
-
|
|
4490
|
+
publishQueue(fs7, queue);
|
|
4491
|
+
fs7.close = (function(fs$close) {
|
|
4492
4492
|
function close(fd, cb) {
|
|
4493
|
-
return fs$close.call(
|
|
4493
|
+
return fs$close.call(fs7, fd, function(err) {
|
|
4494
4494
|
if (!err) {
|
|
4495
4495
|
resetQueue();
|
|
4496
4496
|
}
|
|
@@ -4502,48 +4502,48 @@ var require_graceful_fs = __commonJS({
|
|
|
4502
4502
|
value: fs$close
|
|
4503
4503
|
});
|
|
4504
4504
|
return close;
|
|
4505
|
-
})(
|
|
4506
|
-
|
|
4505
|
+
})(fs7.close);
|
|
4506
|
+
fs7.closeSync = (function(fs$closeSync) {
|
|
4507
4507
|
function closeSync(fd) {
|
|
4508
|
-
fs$closeSync.apply(
|
|
4508
|
+
fs$closeSync.apply(fs7, arguments);
|
|
4509
4509
|
resetQueue();
|
|
4510
4510
|
}
|
|
4511
4511
|
Object.defineProperty(closeSync, previousSymbol, {
|
|
4512
4512
|
value: fs$closeSync
|
|
4513
4513
|
});
|
|
4514
4514
|
return closeSync;
|
|
4515
|
-
})(
|
|
4515
|
+
})(fs7.closeSync);
|
|
4516
4516
|
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
|
|
4517
4517
|
process.on("exit", function() {
|
|
4518
|
-
debug(
|
|
4519
|
-
__require("assert").equal(
|
|
4518
|
+
debug(fs7[gracefulQueue]);
|
|
4519
|
+
__require("assert").equal(fs7[gracefulQueue].length, 0);
|
|
4520
4520
|
});
|
|
4521
4521
|
}
|
|
4522
4522
|
}
|
|
4523
4523
|
var queue;
|
|
4524
4524
|
if (!global[gracefulQueue]) {
|
|
4525
|
-
publishQueue(global,
|
|
4526
|
-
}
|
|
4527
|
-
module.exports = patch(clone2(
|
|
4528
|
-
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !
|
|
4529
|
-
module.exports = patch(
|
|
4530
|
-
|
|
4531
|
-
}
|
|
4532
|
-
function patch(
|
|
4533
|
-
polyfills(
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
var fs$readFile =
|
|
4538
|
-
|
|
4539
|
-
function readFile2(
|
|
4525
|
+
publishQueue(global, fs7[gracefulQueue]);
|
|
4526
|
+
}
|
|
4527
|
+
module.exports = patch(clone2(fs7));
|
|
4528
|
+
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs7.__patched) {
|
|
4529
|
+
module.exports = patch(fs7);
|
|
4530
|
+
fs7.__patched = true;
|
|
4531
|
+
}
|
|
4532
|
+
function patch(fs8) {
|
|
4533
|
+
polyfills(fs8);
|
|
4534
|
+
fs8.gracefulify = patch;
|
|
4535
|
+
fs8.createReadStream = createReadStream;
|
|
4536
|
+
fs8.createWriteStream = createWriteStream;
|
|
4537
|
+
var fs$readFile = fs8.readFile;
|
|
4538
|
+
fs8.readFile = readFile2;
|
|
4539
|
+
function readFile2(path10, options, cb) {
|
|
4540
4540
|
if (typeof options === "function")
|
|
4541
4541
|
cb = options, options = null;
|
|
4542
|
-
return go$readFile(
|
|
4543
|
-
function go$readFile(
|
|
4544
|
-
return fs$readFile(
|
|
4542
|
+
return go$readFile(path10, options, cb);
|
|
4543
|
+
function go$readFile(path11, options2, cb2, startTime) {
|
|
4544
|
+
return fs$readFile(path11, options2, function(err) {
|
|
4545
4545
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
4546
|
-
enqueue([go$readFile, [
|
|
4546
|
+
enqueue([go$readFile, [path11, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
4547
4547
|
else {
|
|
4548
4548
|
if (typeof cb2 === "function")
|
|
4549
4549
|
cb2.apply(this, arguments);
|
|
@@ -4551,16 +4551,16 @@ var require_graceful_fs = __commonJS({
|
|
|
4551
4551
|
});
|
|
4552
4552
|
}
|
|
4553
4553
|
}
|
|
4554
|
-
var fs$writeFile =
|
|
4555
|
-
|
|
4556
|
-
function writeFile(
|
|
4554
|
+
var fs$writeFile = fs8.writeFile;
|
|
4555
|
+
fs8.writeFile = writeFile;
|
|
4556
|
+
function writeFile(path10, data, options, cb) {
|
|
4557
4557
|
if (typeof options === "function")
|
|
4558
4558
|
cb = options, options = null;
|
|
4559
|
-
return go$writeFile(
|
|
4560
|
-
function go$writeFile(
|
|
4561
|
-
return fs$writeFile(
|
|
4559
|
+
return go$writeFile(path10, data, options, cb);
|
|
4560
|
+
function go$writeFile(path11, data2, options2, cb2, startTime) {
|
|
4561
|
+
return fs$writeFile(path11, data2, options2, function(err) {
|
|
4562
4562
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
4563
|
-
enqueue([go$writeFile, [
|
|
4563
|
+
enqueue([go$writeFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
4564
4564
|
else {
|
|
4565
4565
|
if (typeof cb2 === "function")
|
|
4566
4566
|
cb2.apply(this, arguments);
|
|
@@ -4568,17 +4568,17 @@ var require_graceful_fs = __commonJS({
|
|
|
4568
4568
|
});
|
|
4569
4569
|
}
|
|
4570
4570
|
}
|
|
4571
|
-
var fs$appendFile =
|
|
4571
|
+
var fs$appendFile = fs8.appendFile;
|
|
4572
4572
|
if (fs$appendFile)
|
|
4573
|
-
|
|
4574
|
-
function appendFile(
|
|
4573
|
+
fs8.appendFile = appendFile;
|
|
4574
|
+
function appendFile(path10, data, options, cb) {
|
|
4575
4575
|
if (typeof options === "function")
|
|
4576
4576
|
cb = options, options = null;
|
|
4577
|
-
return go$appendFile(
|
|
4578
|
-
function go$appendFile(
|
|
4579
|
-
return fs$appendFile(
|
|
4577
|
+
return go$appendFile(path10, data, options, cb);
|
|
4578
|
+
function go$appendFile(path11, data2, options2, cb2, startTime) {
|
|
4579
|
+
return fs$appendFile(path11, data2, options2, function(err) {
|
|
4580
4580
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
4581
|
-
enqueue([go$appendFile, [
|
|
4581
|
+
enqueue([go$appendFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
4582
4582
|
else {
|
|
4583
4583
|
if (typeof cb2 === "function")
|
|
4584
4584
|
cb2.apply(this, arguments);
|
|
@@ -4586,9 +4586,9 @@ var require_graceful_fs = __commonJS({
|
|
|
4586
4586
|
});
|
|
4587
4587
|
}
|
|
4588
4588
|
}
|
|
4589
|
-
var fs$copyFile =
|
|
4589
|
+
var fs$copyFile = fs8.copyFile;
|
|
4590
4590
|
if (fs$copyFile)
|
|
4591
|
-
|
|
4591
|
+
fs8.copyFile = copyFile;
|
|
4592
4592
|
function copyFile(src, dest, flags, cb) {
|
|
4593
4593
|
if (typeof flags === "function") {
|
|
4594
4594
|
cb = flags;
|
|
@@ -4606,34 +4606,34 @@ var require_graceful_fs = __commonJS({
|
|
|
4606
4606
|
});
|
|
4607
4607
|
}
|
|
4608
4608
|
}
|
|
4609
|
-
var fs$readdir =
|
|
4610
|
-
|
|
4609
|
+
var fs$readdir = fs8.readdir;
|
|
4610
|
+
fs8.readdir = readdir;
|
|
4611
4611
|
var noReaddirOptionVersions = /^v[0-5]\./;
|
|
4612
|
-
function readdir(
|
|
4612
|
+
function readdir(path10, options, cb) {
|
|
4613
4613
|
if (typeof options === "function")
|
|
4614
4614
|
cb = options, options = null;
|
|
4615
|
-
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(
|
|
4616
|
-
return fs$readdir(
|
|
4617
|
-
|
|
4615
|
+
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path11, options2, cb2, startTime) {
|
|
4616
|
+
return fs$readdir(path11, fs$readdirCallback(
|
|
4617
|
+
path11,
|
|
4618
4618
|
options2,
|
|
4619
4619
|
cb2,
|
|
4620
4620
|
startTime
|
|
4621
4621
|
));
|
|
4622
|
-
} : function go$readdir2(
|
|
4623
|
-
return fs$readdir(
|
|
4624
|
-
|
|
4622
|
+
} : function go$readdir2(path11, options2, cb2, startTime) {
|
|
4623
|
+
return fs$readdir(path11, options2, fs$readdirCallback(
|
|
4624
|
+
path11,
|
|
4625
4625
|
options2,
|
|
4626
4626
|
cb2,
|
|
4627
4627
|
startTime
|
|
4628
4628
|
));
|
|
4629
4629
|
};
|
|
4630
|
-
return go$readdir(
|
|
4631
|
-
function fs$readdirCallback(
|
|
4630
|
+
return go$readdir(path10, options, cb);
|
|
4631
|
+
function fs$readdirCallback(path11, options2, cb2, startTime) {
|
|
4632
4632
|
return function(err, files) {
|
|
4633
4633
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
4634
4634
|
enqueue([
|
|
4635
4635
|
go$readdir,
|
|
4636
|
-
[
|
|
4636
|
+
[path11, options2, cb2],
|
|
4637
4637
|
err,
|
|
4638
4638
|
startTime || Date.now(),
|
|
4639
4639
|
Date.now()
|
|
@@ -4648,21 +4648,21 @@ var require_graceful_fs = __commonJS({
|
|
|
4648
4648
|
}
|
|
4649
4649
|
}
|
|
4650
4650
|
if (process.version.substr(0, 4) === "v0.8") {
|
|
4651
|
-
var legStreams = legacy(
|
|
4651
|
+
var legStreams = legacy(fs8);
|
|
4652
4652
|
ReadStream = legStreams.ReadStream;
|
|
4653
4653
|
WriteStream = legStreams.WriteStream;
|
|
4654
4654
|
}
|
|
4655
|
-
var fs$ReadStream =
|
|
4655
|
+
var fs$ReadStream = fs8.ReadStream;
|
|
4656
4656
|
if (fs$ReadStream) {
|
|
4657
4657
|
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
|
|
4658
4658
|
ReadStream.prototype.open = ReadStream$open;
|
|
4659
4659
|
}
|
|
4660
|
-
var fs$WriteStream =
|
|
4660
|
+
var fs$WriteStream = fs8.WriteStream;
|
|
4661
4661
|
if (fs$WriteStream) {
|
|
4662
4662
|
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
|
|
4663
4663
|
WriteStream.prototype.open = WriteStream$open;
|
|
4664
4664
|
}
|
|
4665
|
-
Object.defineProperty(
|
|
4665
|
+
Object.defineProperty(fs8, "ReadStream", {
|
|
4666
4666
|
get: function() {
|
|
4667
4667
|
return ReadStream;
|
|
4668
4668
|
},
|
|
@@ -4672,7 +4672,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4672
4672
|
enumerable: true,
|
|
4673
4673
|
configurable: true
|
|
4674
4674
|
});
|
|
4675
|
-
Object.defineProperty(
|
|
4675
|
+
Object.defineProperty(fs8, "WriteStream", {
|
|
4676
4676
|
get: function() {
|
|
4677
4677
|
return WriteStream;
|
|
4678
4678
|
},
|
|
@@ -4683,7 +4683,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4683
4683
|
configurable: true
|
|
4684
4684
|
});
|
|
4685
4685
|
var FileReadStream = ReadStream;
|
|
4686
|
-
Object.defineProperty(
|
|
4686
|
+
Object.defineProperty(fs8, "FileReadStream", {
|
|
4687
4687
|
get: function() {
|
|
4688
4688
|
return FileReadStream;
|
|
4689
4689
|
},
|
|
@@ -4694,7 +4694,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4694
4694
|
configurable: true
|
|
4695
4695
|
});
|
|
4696
4696
|
var FileWriteStream = WriteStream;
|
|
4697
|
-
Object.defineProperty(
|
|
4697
|
+
Object.defineProperty(fs8, "FileWriteStream", {
|
|
4698
4698
|
get: function() {
|
|
4699
4699
|
return FileWriteStream;
|
|
4700
4700
|
},
|
|
@@ -4704,7 +4704,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4704
4704
|
enumerable: true,
|
|
4705
4705
|
configurable: true
|
|
4706
4706
|
});
|
|
4707
|
-
function ReadStream(
|
|
4707
|
+
function ReadStream(path10, options) {
|
|
4708
4708
|
if (this instanceof ReadStream)
|
|
4709
4709
|
return fs$ReadStream.apply(this, arguments), this;
|
|
4710
4710
|
else
|
|
@@ -4724,7 +4724,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4724
4724
|
}
|
|
4725
4725
|
});
|
|
4726
4726
|
}
|
|
4727
|
-
function WriteStream(
|
|
4727
|
+
function WriteStream(path10, options) {
|
|
4728
4728
|
if (this instanceof WriteStream)
|
|
4729
4729
|
return fs$WriteStream.apply(this, arguments), this;
|
|
4730
4730
|
else
|
|
@@ -4742,22 +4742,22 @@ var require_graceful_fs = __commonJS({
|
|
|
4742
4742
|
}
|
|
4743
4743
|
});
|
|
4744
4744
|
}
|
|
4745
|
-
function createReadStream(
|
|
4746
|
-
return new
|
|
4745
|
+
function createReadStream(path10, options) {
|
|
4746
|
+
return new fs8.ReadStream(path10, options);
|
|
4747
4747
|
}
|
|
4748
|
-
function createWriteStream(
|
|
4749
|
-
return new
|
|
4748
|
+
function createWriteStream(path10, options) {
|
|
4749
|
+
return new fs8.WriteStream(path10, options);
|
|
4750
4750
|
}
|
|
4751
|
-
var fs$open =
|
|
4752
|
-
|
|
4753
|
-
function open(
|
|
4751
|
+
var fs$open = fs8.open;
|
|
4752
|
+
fs8.open = open;
|
|
4753
|
+
function open(path10, flags, mode, cb) {
|
|
4754
4754
|
if (typeof mode === "function")
|
|
4755
4755
|
cb = mode, mode = null;
|
|
4756
|
-
return go$open(
|
|
4757
|
-
function go$open(
|
|
4758
|
-
return fs$open(
|
|
4756
|
+
return go$open(path10, flags, mode, cb);
|
|
4757
|
+
function go$open(path11, flags2, mode2, cb2, startTime) {
|
|
4758
|
+
return fs$open(path11, flags2, mode2, function(err, fd) {
|
|
4759
4759
|
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
4760
|
-
enqueue([go$open, [
|
|
4760
|
+
enqueue([go$open, [path11, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
4761
4761
|
else {
|
|
4762
4762
|
if (typeof cb2 === "function")
|
|
4763
4763
|
cb2.apply(this, arguments);
|
|
@@ -4765,20 +4765,20 @@ var require_graceful_fs = __commonJS({
|
|
|
4765
4765
|
});
|
|
4766
4766
|
}
|
|
4767
4767
|
}
|
|
4768
|
-
return
|
|
4768
|
+
return fs8;
|
|
4769
4769
|
}
|
|
4770
4770
|
function enqueue(elem) {
|
|
4771
4771
|
debug("ENQUEUE", elem[0].name, elem[1]);
|
|
4772
|
-
|
|
4772
|
+
fs7[gracefulQueue].push(elem);
|
|
4773
4773
|
retry();
|
|
4774
4774
|
}
|
|
4775
4775
|
var retryTimer;
|
|
4776
4776
|
function resetQueue() {
|
|
4777
4777
|
var now = Date.now();
|
|
4778
|
-
for (var i = 0; i <
|
|
4779
|
-
if (
|
|
4780
|
-
|
|
4781
|
-
|
|
4778
|
+
for (var i = 0; i < fs7[gracefulQueue].length; ++i) {
|
|
4779
|
+
if (fs7[gracefulQueue][i].length > 2) {
|
|
4780
|
+
fs7[gracefulQueue][i][3] = now;
|
|
4781
|
+
fs7[gracefulQueue][i][4] = now;
|
|
4782
4782
|
}
|
|
4783
4783
|
}
|
|
4784
4784
|
retry();
|
|
@@ -4786,9 +4786,9 @@ var require_graceful_fs = __commonJS({
|
|
|
4786
4786
|
function retry() {
|
|
4787
4787
|
clearTimeout(retryTimer);
|
|
4788
4788
|
retryTimer = void 0;
|
|
4789
|
-
if (
|
|
4789
|
+
if (fs7[gracefulQueue].length === 0)
|
|
4790
4790
|
return;
|
|
4791
|
-
var elem =
|
|
4791
|
+
var elem = fs7[gracefulQueue].shift();
|
|
4792
4792
|
var fn = elem[0];
|
|
4793
4793
|
var args = elem[1];
|
|
4794
4794
|
var err = elem[2];
|
|
@@ -4810,7 +4810,7 @@ var require_graceful_fs = __commonJS({
|
|
|
4810
4810
|
debug("RETRY", fn.name, args);
|
|
4811
4811
|
fn.apply(null, args.concat([startTime]));
|
|
4812
4812
|
} else {
|
|
4813
|
-
|
|
4813
|
+
fs7[gracefulQueue].push(elem);
|
|
4814
4814
|
}
|
|
4815
4815
|
}
|
|
4816
4816
|
if (retryTimer === void 0) {
|
|
@@ -4825,7 +4825,7 @@ var require_fs = __commonJS({
|
|
|
4825
4825
|
"node_modules/fs-extra/lib/fs/index.js"(exports) {
|
|
4826
4826
|
"use strict";
|
|
4827
4827
|
var u = require_universalify().fromCallback;
|
|
4828
|
-
var
|
|
4828
|
+
var fs7 = require_graceful_fs();
|
|
4829
4829
|
var api = [
|
|
4830
4830
|
"access",
|
|
4831
4831
|
"appendFile",
|
|
@@ -4866,26 +4866,26 @@ var require_fs = __commonJS({
|
|
|
4866
4866
|
"utimes",
|
|
4867
4867
|
"writeFile"
|
|
4868
4868
|
].filter((key) => {
|
|
4869
|
-
return typeof
|
|
4869
|
+
return typeof fs7[key] === "function";
|
|
4870
4870
|
});
|
|
4871
|
-
Object.assign(exports,
|
|
4871
|
+
Object.assign(exports, fs7);
|
|
4872
4872
|
api.forEach((method) => {
|
|
4873
|
-
exports[method] = u(
|
|
4873
|
+
exports[method] = u(fs7[method]);
|
|
4874
4874
|
});
|
|
4875
4875
|
exports.exists = function(filename, callback) {
|
|
4876
4876
|
if (typeof callback === "function") {
|
|
4877
|
-
return
|
|
4877
|
+
return fs7.exists(filename, callback);
|
|
4878
4878
|
}
|
|
4879
4879
|
return new Promise((resolve) => {
|
|
4880
|
-
return
|
|
4880
|
+
return fs7.exists(filename, resolve);
|
|
4881
4881
|
});
|
|
4882
4882
|
};
|
|
4883
4883
|
exports.read = function(fd, buffer, offset, length, position, callback) {
|
|
4884
4884
|
if (typeof callback === "function") {
|
|
4885
|
-
return
|
|
4885
|
+
return fs7.read(fd, buffer, offset, length, position, callback);
|
|
4886
4886
|
}
|
|
4887
4887
|
return new Promise((resolve, reject) => {
|
|
4888
|
-
|
|
4888
|
+
fs7.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
|
|
4889
4889
|
if (err) return reject(err);
|
|
4890
4890
|
resolve({ bytesRead, buffer: buffer2 });
|
|
4891
4891
|
});
|
|
@@ -4893,10 +4893,10 @@ var require_fs = __commonJS({
|
|
|
4893
4893
|
};
|
|
4894
4894
|
exports.write = function(fd, buffer, ...args) {
|
|
4895
4895
|
if (typeof args[args.length - 1] === "function") {
|
|
4896
|
-
return
|
|
4896
|
+
return fs7.write(fd, buffer, ...args);
|
|
4897
4897
|
}
|
|
4898
4898
|
return new Promise((resolve, reject) => {
|
|
4899
|
-
|
|
4899
|
+
fs7.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
|
|
4900
4900
|
if (err) return reject(err);
|
|
4901
4901
|
resolve({ bytesWritten, buffer: buffer2 });
|
|
4902
4902
|
});
|
|
@@ -4904,10 +4904,10 @@ var require_fs = __commonJS({
|
|
|
4904
4904
|
};
|
|
4905
4905
|
exports.readv = function(fd, buffers, ...args) {
|
|
4906
4906
|
if (typeof args[args.length - 1] === "function") {
|
|
4907
|
-
return
|
|
4907
|
+
return fs7.readv(fd, buffers, ...args);
|
|
4908
4908
|
}
|
|
4909
4909
|
return new Promise((resolve, reject) => {
|
|
4910
|
-
|
|
4910
|
+
fs7.readv(fd, buffers, ...args, (err, bytesRead, buffers2) => {
|
|
4911
4911
|
if (err) return reject(err);
|
|
4912
4912
|
resolve({ bytesRead, buffers: buffers2 });
|
|
4913
4913
|
});
|
|
@@ -4915,17 +4915,17 @@ var require_fs = __commonJS({
|
|
|
4915
4915
|
};
|
|
4916
4916
|
exports.writev = function(fd, buffers, ...args) {
|
|
4917
4917
|
if (typeof args[args.length - 1] === "function") {
|
|
4918
|
-
return
|
|
4918
|
+
return fs7.writev(fd, buffers, ...args);
|
|
4919
4919
|
}
|
|
4920
4920
|
return new Promise((resolve, reject) => {
|
|
4921
|
-
|
|
4921
|
+
fs7.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => {
|
|
4922
4922
|
if (err) return reject(err);
|
|
4923
4923
|
resolve({ bytesWritten, buffers: buffers2 });
|
|
4924
4924
|
});
|
|
4925
4925
|
});
|
|
4926
4926
|
};
|
|
4927
|
-
if (typeof
|
|
4928
|
-
exports.realpath.native = u(
|
|
4927
|
+
if (typeof fs7.realpath.native === "function") {
|
|
4928
|
+
exports.realpath.native = u(fs7.realpath.native);
|
|
4929
4929
|
} else {
|
|
4930
4930
|
process.emitWarning(
|
|
4931
4931
|
"fs.realpath.native is not a function. Is fs being monkey-patched?",
|
|
@@ -4940,10 +4940,10 @@ var require_fs = __commonJS({
|
|
|
4940
4940
|
var require_utils = __commonJS({
|
|
4941
4941
|
"node_modules/fs-extra/lib/mkdirs/utils.js"(exports, module) {
|
|
4942
4942
|
"use strict";
|
|
4943
|
-
var
|
|
4943
|
+
var path10 = __require("path");
|
|
4944
4944
|
module.exports.checkPath = function checkPath(pth) {
|
|
4945
4945
|
if (process.platform === "win32") {
|
|
4946
|
-
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(
|
|
4946
|
+
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path10.parse(pth).root, ""));
|
|
4947
4947
|
if (pathHasInvalidWinCharacters) {
|
|
4948
4948
|
const error48 = new Error(`Path contains invalid characters: ${pth}`);
|
|
4949
4949
|
error48.code = "EINVAL";
|
|
@@ -4958,7 +4958,7 @@ var require_utils = __commonJS({
|
|
|
4958
4958
|
var require_make_dir = __commonJS({
|
|
4959
4959
|
"node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports, module) {
|
|
4960
4960
|
"use strict";
|
|
4961
|
-
var
|
|
4961
|
+
var fs7 = require_fs();
|
|
4962
4962
|
var { checkPath } = require_utils();
|
|
4963
4963
|
var getMode = (options) => {
|
|
4964
4964
|
const defaults = { mode: 511 };
|
|
@@ -4967,14 +4967,14 @@ var require_make_dir = __commonJS({
|
|
|
4967
4967
|
};
|
|
4968
4968
|
module.exports.makeDir = async (dir, options) => {
|
|
4969
4969
|
checkPath(dir);
|
|
4970
|
-
return
|
|
4970
|
+
return fs7.mkdir(dir, {
|
|
4971
4971
|
mode: getMode(options),
|
|
4972
4972
|
recursive: true
|
|
4973
4973
|
});
|
|
4974
4974
|
};
|
|
4975
4975
|
module.exports.makeDirSync = (dir, options) => {
|
|
4976
4976
|
checkPath(dir);
|
|
4977
|
-
return
|
|
4977
|
+
return fs7.mkdirSync(dir, {
|
|
4978
4978
|
mode: getMode(options),
|
|
4979
4979
|
recursive: true
|
|
4980
4980
|
});
|
|
@@ -5006,13 +5006,13 @@ var require_path_exists = __commonJS({
|
|
|
5006
5006
|
"node_modules/fs-extra/lib/path-exists/index.js"(exports, module) {
|
|
5007
5007
|
"use strict";
|
|
5008
5008
|
var u = require_universalify().fromPromise;
|
|
5009
|
-
var
|
|
5010
|
-
function pathExists(
|
|
5011
|
-
return
|
|
5009
|
+
var fs7 = require_fs();
|
|
5010
|
+
function pathExists(path10) {
|
|
5011
|
+
return fs7.access(path10).then(() => true).catch(() => false);
|
|
5012
5012
|
}
|
|
5013
5013
|
module.exports = {
|
|
5014
5014
|
pathExists: u(pathExists),
|
|
5015
|
-
pathExistsSync:
|
|
5015
|
+
pathExistsSync: fs7.existsSync
|
|
5016
5016
|
};
|
|
5017
5017
|
}
|
|
5018
5018
|
});
|
|
@@ -5021,16 +5021,16 @@ var require_path_exists = __commonJS({
|
|
|
5021
5021
|
var require_utimes = __commonJS({
|
|
5022
5022
|
"node_modules/fs-extra/lib/util/utimes.js"(exports, module) {
|
|
5023
5023
|
"use strict";
|
|
5024
|
-
var
|
|
5024
|
+
var fs7 = require_fs();
|
|
5025
5025
|
var u = require_universalify().fromPromise;
|
|
5026
|
-
async function utimesMillis(
|
|
5027
|
-
const fd = await
|
|
5026
|
+
async function utimesMillis(path10, atime, mtime) {
|
|
5027
|
+
const fd = await fs7.open(path10, "r+");
|
|
5028
5028
|
let closeErr = null;
|
|
5029
5029
|
try {
|
|
5030
|
-
await
|
|
5030
|
+
await fs7.futimes(fd, atime, mtime);
|
|
5031
5031
|
} finally {
|
|
5032
5032
|
try {
|
|
5033
|
-
await
|
|
5033
|
+
await fs7.close(fd);
|
|
5034
5034
|
} catch (e) {
|
|
5035
5035
|
closeErr = e;
|
|
5036
5036
|
}
|
|
@@ -5039,10 +5039,10 @@ var require_utimes = __commonJS({
|
|
|
5039
5039
|
throw closeErr;
|
|
5040
5040
|
}
|
|
5041
5041
|
}
|
|
5042
|
-
function utimesMillisSync(
|
|
5043
|
-
const fd =
|
|
5044
|
-
|
|
5045
|
-
return
|
|
5042
|
+
function utimesMillisSync(path10, atime, mtime) {
|
|
5043
|
+
const fd = fs7.openSync(path10, "r+");
|
|
5044
|
+
fs7.futimesSync(fd, atime, mtime);
|
|
5045
|
+
return fs7.closeSync(fd);
|
|
5046
5046
|
}
|
|
5047
5047
|
module.exports = {
|
|
5048
5048
|
utimesMillis: u(utimesMillis),
|
|
@@ -5055,11 +5055,11 @@ var require_utimes = __commonJS({
|
|
|
5055
5055
|
var require_stat = __commonJS({
|
|
5056
5056
|
"node_modules/fs-extra/lib/util/stat.js"(exports, module) {
|
|
5057
5057
|
"use strict";
|
|
5058
|
-
var
|
|
5059
|
-
var
|
|
5058
|
+
var fs7 = require_fs();
|
|
5059
|
+
var path10 = __require("path");
|
|
5060
5060
|
var u = require_universalify().fromPromise;
|
|
5061
5061
|
function getStats(src, dest, opts) {
|
|
5062
|
-
const statFunc = opts.dereference ? (file2) =>
|
|
5062
|
+
const statFunc = opts.dereference ? (file2) => fs7.stat(file2, { bigint: true }) : (file2) => fs7.lstat(file2, { bigint: true });
|
|
5063
5063
|
return Promise.all([
|
|
5064
5064
|
statFunc(src),
|
|
5065
5065
|
statFunc(dest).catch((err) => {
|
|
@@ -5070,7 +5070,7 @@ var require_stat = __commonJS({
|
|
|
5070
5070
|
}
|
|
5071
5071
|
function getStatsSync(src, dest, opts) {
|
|
5072
5072
|
let destStat;
|
|
5073
|
-
const statFunc = opts.dereference ? (file2) =>
|
|
5073
|
+
const statFunc = opts.dereference ? (file2) => fs7.statSync(file2, { bigint: true }) : (file2) => fs7.lstatSync(file2, { bigint: true });
|
|
5074
5074
|
const srcStat = statFunc(src);
|
|
5075
5075
|
try {
|
|
5076
5076
|
destStat = statFunc(dest);
|
|
@@ -5084,8 +5084,8 @@ var require_stat = __commonJS({
|
|
|
5084
5084
|
const { srcStat, destStat } = await getStats(src, dest, opts);
|
|
5085
5085
|
if (destStat) {
|
|
5086
5086
|
if (areIdentical(srcStat, destStat)) {
|
|
5087
|
-
const srcBaseName =
|
|
5088
|
-
const destBaseName =
|
|
5087
|
+
const srcBaseName = path10.basename(src);
|
|
5088
|
+
const destBaseName = path10.basename(dest);
|
|
5089
5089
|
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
|
|
5090
5090
|
return { srcStat, destStat, isChangingCase: true };
|
|
5091
5091
|
}
|
|
@@ -5107,8 +5107,8 @@ var require_stat = __commonJS({
|
|
|
5107
5107
|
const { srcStat, destStat } = getStatsSync(src, dest, opts);
|
|
5108
5108
|
if (destStat) {
|
|
5109
5109
|
if (areIdentical(srcStat, destStat)) {
|
|
5110
|
-
const srcBaseName =
|
|
5111
|
-
const destBaseName =
|
|
5110
|
+
const srcBaseName = path10.basename(src);
|
|
5111
|
+
const destBaseName = path10.basename(dest);
|
|
5112
5112
|
if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
|
|
5113
5113
|
return { srcStat, destStat, isChangingCase: true };
|
|
5114
5114
|
}
|
|
@@ -5127,12 +5127,12 @@ var require_stat = __commonJS({
|
|
|
5127
5127
|
return { srcStat, destStat };
|
|
5128
5128
|
}
|
|
5129
5129
|
async function checkParentPaths(src, srcStat, dest, funcName) {
|
|
5130
|
-
const srcParent =
|
|
5131
|
-
const destParent =
|
|
5132
|
-
if (destParent === srcParent || destParent ===
|
|
5130
|
+
const srcParent = path10.resolve(path10.dirname(src));
|
|
5131
|
+
const destParent = path10.resolve(path10.dirname(dest));
|
|
5132
|
+
if (destParent === srcParent || destParent === path10.parse(destParent).root) return;
|
|
5133
5133
|
let destStat;
|
|
5134
5134
|
try {
|
|
5135
|
-
destStat = await
|
|
5135
|
+
destStat = await fs7.stat(destParent, { bigint: true });
|
|
5136
5136
|
} catch (err) {
|
|
5137
5137
|
if (err.code === "ENOENT") return;
|
|
5138
5138
|
throw err;
|
|
@@ -5143,12 +5143,12 @@ var require_stat = __commonJS({
|
|
|
5143
5143
|
return checkParentPaths(src, srcStat, destParent, funcName);
|
|
5144
5144
|
}
|
|
5145
5145
|
function checkParentPathsSync(src, srcStat, dest, funcName) {
|
|
5146
|
-
const srcParent =
|
|
5147
|
-
const destParent =
|
|
5148
|
-
if (destParent === srcParent || destParent ===
|
|
5146
|
+
const srcParent = path10.resolve(path10.dirname(src));
|
|
5147
|
+
const destParent = path10.resolve(path10.dirname(dest));
|
|
5148
|
+
if (destParent === srcParent || destParent === path10.parse(destParent).root) return;
|
|
5149
5149
|
let destStat;
|
|
5150
5150
|
try {
|
|
5151
|
-
destStat =
|
|
5151
|
+
destStat = fs7.statSync(destParent, { bigint: true });
|
|
5152
5152
|
} catch (err) {
|
|
5153
5153
|
if (err.code === "ENOENT") return;
|
|
5154
5154
|
throw err;
|
|
@@ -5162,8 +5162,8 @@ var require_stat = __commonJS({
|
|
|
5162
5162
|
return destStat.ino !== void 0 && destStat.dev !== void 0 && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
|
|
5163
5163
|
}
|
|
5164
5164
|
function isSrcSubdir(src, dest) {
|
|
5165
|
-
const srcArr =
|
|
5166
|
-
const destArr =
|
|
5165
|
+
const srcArr = path10.resolve(src).split(path10.sep).filter((i) => i);
|
|
5166
|
+
const destArr = path10.resolve(dest).split(path10.sep).filter((i) => i);
|
|
5167
5167
|
return srcArr.every((cur, i) => destArr[i] === cur);
|
|
5168
5168
|
}
|
|
5169
5169
|
function errMsg(src, dest, funcName) {
|
|
@@ -5215,8 +5215,8 @@ var require_async = __commonJS({
|
|
|
5215
5215
|
var require_copy = __commonJS({
|
|
5216
5216
|
"node_modules/fs-extra/lib/copy/copy.js"(exports, module) {
|
|
5217
5217
|
"use strict";
|
|
5218
|
-
var
|
|
5219
|
-
var
|
|
5218
|
+
var fs7 = require_fs();
|
|
5219
|
+
var path10 = __require("path");
|
|
5220
5220
|
var { mkdirs } = require_mkdirs();
|
|
5221
5221
|
var { pathExists } = require_path_exists();
|
|
5222
5222
|
var { utimesMillis } = require_utimes();
|
|
@@ -5239,7 +5239,7 @@ var require_copy = __commonJS({
|
|
|
5239
5239
|
await stat.checkParentPaths(src, srcStat, dest, "copy");
|
|
5240
5240
|
const include = await runFilter(src, dest, opts);
|
|
5241
5241
|
if (!include) return;
|
|
5242
|
-
const destParent =
|
|
5242
|
+
const destParent = path10.dirname(dest);
|
|
5243
5243
|
const dirExists = await pathExists(destParent);
|
|
5244
5244
|
if (!dirExists) {
|
|
5245
5245
|
await mkdirs(destParent);
|
|
@@ -5251,7 +5251,7 @@ var require_copy = __commonJS({
|
|
|
5251
5251
|
return opts.filter(src, dest);
|
|
5252
5252
|
}
|
|
5253
5253
|
async function getStatsAndPerformCopy(destStat, src, dest, opts) {
|
|
5254
|
-
const statFn = opts.dereference ?
|
|
5254
|
+
const statFn = opts.dereference ? fs7.stat : fs7.lstat;
|
|
5255
5255
|
const srcStat = await statFn(src);
|
|
5256
5256
|
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
|
|
5257
5257
|
if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
|
|
@@ -5263,7 +5263,7 @@ var require_copy = __commonJS({
|
|
|
5263
5263
|
async function onFile(srcStat, destStat, src, dest, opts) {
|
|
5264
5264
|
if (!destStat) return copyFile(srcStat, src, dest, opts);
|
|
5265
5265
|
if (opts.overwrite) {
|
|
5266
|
-
await
|
|
5266
|
+
await fs7.unlink(dest);
|
|
5267
5267
|
return copyFile(srcStat, src, dest, opts);
|
|
5268
5268
|
}
|
|
5269
5269
|
if (opts.errorOnExist) {
|
|
@@ -5271,29 +5271,29 @@ var require_copy = __commonJS({
|
|
|
5271
5271
|
}
|
|
5272
5272
|
}
|
|
5273
5273
|
async function copyFile(srcStat, src, dest, opts) {
|
|
5274
|
-
await
|
|
5274
|
+
await fs7.copyFile(src, dest);
|
|
5275
5275
|
if (opts.preserveTimestamps) {
|
|
5276
5276
|
if (fileIsNotWritable(srcStat.mode)) {
|
|
5277
5277
|
await makeFileWritable(dest, srcStat.mode);
|
|
5278
5278
|
}
|
|
5279
|
-
const updatedSrcStat = await
|
|
5279
|
+
const updatedSrcStat = await fs7.stat(src);
|
|
5280
5280
|
await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
|
|
5281
5281
|
}
|
|
5282
|
-
return
|
|
5282
|
+
return fs7.chmod(dest, srcStat.mode);
|
|
5283
5283
|
}
|
|
5284
5284
|
function fileIsNotWritable(srcMode) {
|
|
5285
5285
|
return (srcMode & 128) === 0;
|
|
5286
5286
|
}
|
|
5287
5287
|
function makeFileWritable(dest, srcMode) {
|
|
5288
|
-
return
|
|
5288
|
+
return fs7.chmod(dest, srcMode | 128);
|
|
5289
5289
|
}
|
|
5290
5290
|
async function onDir(srcStat, destStat, src, dest, opts) {
|
|
5291
5291
|
if (!destStat) {
|
|
5292
|
-
await
|
|
5292
|
+
await fs7.mkdir(dest);
|
|
5293
5293
|
}
|
|
5294
|
-
await asyncIteratorConcurrentProcess(await
|
|
5295
|
-
const srcItem =
|
|
5296
|
-
const destItem =
|
|
5294
|
+
await asyncIteratorConcurrentProcess(await fs7.opendir(src), async (item) => {
|
|
5295
|
+
const srcItem = path10.join(src, item.name);
|
|
5296
|
+
const destItem = path10.join(dest, item.name);
|
|
5297
5297
|
const include = await runFilter(srcItem, destItem, opts);
|
|
5298
5298
|
if (include) {
|
|
5299
5299
|
const { destStat: destStat2 } = await stat.checkPaths(srcItem, destItem, "copy", opts);
|
|
@@ -5301,26 +5301,26 @@ var require_copy = __commonJS({
|
|
|
5301
5301
|
}
|
|
5302
5302
|
});
|
|
5303
5303
|
if (!destStat) {
|
|
5304
|
-
await
|
|
5304
|
+
await fs7.chmod(dest, srcStat.mode);
|
|
5305
5305
|
}
|
|
5306
5306
|
}
|
|
5307
5307
|
async function onLink(destStat, src, dest, opts) {
|
|
5308
|
-
let resolvedSrc = await
|
|
5308
|
+
let resolvedSrc = await fs7.readlink(src);
|
|
5309
5309
|
if (opts.dereference) {
|
|
5310
|
-
resolvedSrc =
|
|
5310
|
+
resolvedSrc = path10.resolve(process.cwd(), resolvedSrc);
|
|
5311
5311
|
}
|
|
5312
5312
|
if (!destStat) {
|
|
5313
|
-
return
|
|
5313
|
+
return fs7.symlink(resolvedSrc, dest);
|
|
5314
5314
|
}
|
|
5315
5315
|
let resolvedDest = null;
|
|
5316
5316
|
try {
|
|
5317
|
-
resolvedDest = await
|
|
5317
|
+
resolvedDest = await fs7.readlink(dest);
|
|
5318
5318
|
} catch (e) {
|
|
5319
|
-
if (e.code === "EINVAL" || e.code === "UNKNOWN") return
|
|
5319
|
+
if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs7.symlink(resolvedSrc, dest);
|
|
5320
5320
|
throw e;
|
|
5321
5321
|
}
|
|
5322
5322
|
if (opts.dereference) {
|
|
5323
|
-
resolvedDest =
|
|
5323
|
+
resolvedDest = path10.resolve(process.cwd(), resolvedDest);
|
|
5324
5324
|
}
|
|
5325
5325
|
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
5326
5326
|
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
|
|
@@ -5328,8 +5328,8 @@ var require_copy = __commonJS({
|
|
|
5328
5328
|
if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
|
|
5329
5329
|
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
|
|
5330
5330
|
}
|
|
5331
|
-
await
|
|
5332
|
-
return
|
|
5331
|
+
await fs7.unlink(dest);
|
|
5332
|
+
return fs7.symlink(resolvedSrc, dest);
|
|
5333
5333
|
}
|
|
5334
5334
|
module.exports = copy;
|
|
5335
5335
|
}
|
|
@@ -5339,8 +5339,8 @@ var require_copy = __commonJS({
|
|
|
5339
5339
|
var require_copy_sync = __commonJS({
|
|
5340
5340
|
"node_modules/fs-extra/lib/copy/copy-sync.js"(exports, module) {
|
|
5341
5341
|
"use strict";
|
|
5342
|
-
var
|
|
5343
|
-
var
|
|
5342
|
+
var fs7 = require_graceful_fs();
|
|
5343
|
+
var path10 = __require("path");
|
|
5344
5344
|
var mkdirsSync = require_mkdirs().mkdirsSync;
|
|
5345
5345
|
var utimesMillisSync = require_utimes().utimesMillisSync;
|
|
5346
5346
|
var stat = require_stat();
|
|
@@ -5361,12 +5361,12 @@ var require_copy_sync = __commonJS({
|
|
|
5361
5361
|
const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts);
|
|
5362
5362
|
stat.checkParentPathsSync(src, srcStat, dest, "copy");
|
|
5363
5363
|
if (opts.filter && !opts.filter(src, dest)) return;
|
|
5364
|
-
const destParent =
|
|
5365
|
-
if (!
|
|
5364
|
+
const destParent = path10.dirname(dest);
|
|
5365
|
+
if (!fs7.existsSync(destParent)) mkdirsSync(destParent);
|
|
5366
5366
|
return getStats(destStat, src, dest, opts);
|
|
5367
5367
|
}
|
|
5368
5368
|
function getStats(destStat, src, dest, opts) {
|
|
5369
|
-
const statSync = opts.dereference ?
|
|
5369
|
+
const statSync = opts.dereference ? fs7.statSync : fs7.lstatSync;
|
|
5370
5370
|
const srcStat = statSync(src);
|
|
5371
5371
|
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
|
|
5372
5372
|
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
|
|
@@ -5381,14 +5381,14 @@ var require_copy_sync = __commonJS({
|
|
|
5381
5381
|
}
|
|
5382
5382
|
function mayCopyFile(srcStat, src, dest, opts) {
|
|
5383
5383
|
if (opts.overwrite) {
|
|
5384
|
-
|
|
5384
|
+
fs7.unlinkSync(dest);
|
|
5385
5385
|
return copyFile(srcStat, src, dest, opts);
|
|
5386
5386
|
} else if (opts.errorOnExist) {
|
|
5387
5387
|
throw new Error(`'${dest}' already exists`);
|
|
5388
5388
|
}
|
|
5389
5389
|
}
|
|
5390
5390
|
function copyFile(srcStat, src, dest, opts) {
|
|
5391
|
-
|
|
5391
|
+
fs7.copyFileSync(src, dest);
|
|
5392
5392
|
if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest);
|
|
5393
5393
|
return setDestMode(dest, srcStat.mode);
|
|
5394
5394
|
}
|
|
@@ -5403,10 +5403,10 @@ var require_copy_sync = __commonJS({
|
|
|
5403
5403
|
return setDestMode(dest, srcMode | 128);
|
|
5404
5404
|
}
|
|
5405
5405
|
function setDestMode(dest, srcMode) {
|
|
5406
|
-
return
|
|
5406
|
+
return fs7.chmodSync(dest, srcMode);
|
|
5407
5407
|
}
|
|
5408
5408
|
function setDestTimestamps(src, dest) {
|
|
5409
|
-
const updatedSrcStat =
|
|
5409
|
+
const updatedSrcStat = fs7.statSync(src);
|
|
5410
5410
|
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
|
|
5411
5411
|
}
|
|
5412
5412
|
function onDir(srcStat, destStat, src, dest, opts) {
|
|
@@ -5414,12 +5414,12 @@ var require_copy_sync = __commonJS({
|
|
|
5414
5414
|
return copyDir(src, dest, opts);
|
|
5415
5415
|
}
|
|
5416
5416
|
function mkDirAndCopy(srcMode, src, dest, opts) {
|
|
5417
|
-
|
|
5417
|
+
fs7.mkdirSync(dest);
|
|
5418
5418
|
copyDir(src, dest, opts);
|
|
5419
5419
|
return setDestMode(dest, srcMode);
|
|
5420
5420
|
}
|
|
5421
5421
|
function copyDir(src, dest, opts) {
|
|
5422
|
-
const dir =
|
|
5422
|
+
const dir = fs7.opendirSync(src);
|
|
5423
5423
|
try {
|
|
5424
5424
|
let dirent;
|
|
5425
5425
|
while ((dirent = dir.readSync()) !== null) {
|
|
@@ -5430,29 +5430,29 @@ var require_copy_sync = __commonJS({
|
|
|
5430
5430
|
}
|
|
5431
5431
|
}
|
|
5432
5432
|
function copyDirItem(item, src, dest, opts) {
|
|
5433
|
-
const srcItem =
|
|
5434
|
-
const destItem =
|
|
5433
|
+
const srcItem = path10.join(src, item);
|
|
5434
|
+
const destItem = path10.join(dest, item);
|
|
5435
5435
|
if (opts.filter && !opts.filter(srcItem, destItem)) return;
|
|
5436
5436
|
const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts);
|
|
5437
5437
|
return getStats(destStat, srcItem, destItem, opts);
|
|
5438
5438
|
}
|
|
5439
5439
|
function onLink(destStat, src, dest, opts) {
|
|
5440
|
-
let resolvedSrc =
|
|
5440
|
+
let resolvedSrc = fs7.readlinkSync(src);
|
|
5441
5441
|
if (opts.dereference) {
|
|
5442
|
-
resolvedSrc =
|
|
5442
|
+
resolvedSrc = path10.resolve(process.cwd(), resolvedSrc);
|
|
5443
5443
|
}
|
|
5444
5444
|
if (!destStat) {
|
|
5445
|
-
return
|
|
5445
|
+
return fs7.symlinkSync(resolvedSrc, dest);
|
|
5446
5446
|
} else {
|
|
5447
5447
|
let resolvedDest;
|
|
5448
5448
|
try {
|
|
5449
|
-
resolvedDest =
|
|
5449
|
+
resolvedDest = fs7.readlinkSync(dest);
|
|
5450
5450
|
} catch (err) {
|
|
5451
|
-
if (err.code === "EINVAL" || err.code === "UNKNOWN") return
|
|
5451
|
+
if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs7.symlinkSync(resolvedSrc, dest);
|
|
5452
5452
|
throw err;
|
|
5453
5453
|
}
|
|
5454
5454
|
if (opts.dereference) {
|
|
5455
|
-
resolvedDest =
|
|
5455
|
+
resolvedDest = path10.resolve(process.cwd(), resolvedDest);
|
|
5456
5456
|
}
|
|
5457
5457
|
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
5458
5458
|
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
|
|
@@ -5464,8 +5464,8 @@ var require_copy_sync = __commonJS({
|
|
|
5464
5464
|
}
|
|
5465
5465
|
}
|
|
5466
5466
|
function copyLink(resolvedSrc, dest) {
|
|
5467
|
-
|
|
5468
|
-
return
|
|
5467
|
+
fs7.unlinkSync(dest);
|
|
5468
|
+
return fs7.symlinkSync(resolvedSrc, dest);
|
|
5469
5469
|
}
|
|
5470
5470
|
module.exports = copySync;
|
|
5471
5471
|
}
|
|
@@ -5487,13 +5487,13 @@ var require_copy2 = __commonJS({
|
|
|
5487
5487
|
var require_remove = __commonJS({
|
|
5488
5488
|
"node_modules/fs-extra/lib/remove/index.js"(exports, module) {
|
|
5489
5489
|
"use strict";
|
|
5490
|
-
var
|
|
5490
|
+
var fs7 = require_graceful_fs();
|
|
5491
5491
|
var u = require_universalify().fromCallback;
|
|
5492
|
-
function remove(
|
|
5493
|
-
|
|
5492
|
+
function remove(path10, callback) {
|
|
5493
|
+
fs7.rm(path10, { recursive: true, force: true }, callback);
|
|
5494
5494
|
}
|
|
5495
|
-
function removeSync(
|
|
5496
|
-
|
|
5495
|
+
function removeSync(path10) {
|
|
5496
|
+
fs7.rmSync(path10, { recursive: true, force: true });
|
|
5497
5497
|
}
|
|
5498
5498
|
module.exports = {
|
|
5499
5499
|
remove: u(remove),
|
|
@@ -5507,28 +5507,28 @@ var require_empty = __commonJS({
|
|
|
5507
5507
|
"node_modules/fs-extra/lib/empty/index.js"(exports, module) {
|
|
5508
5508
|
"use strict";
|
|
5509
5509
|
var u = require_universalify().fromPromise;
|
|
5510
|
-
var
|
|
5511
|
-
var
|
|
5510
|
+
var fs7 = require_fs();
|
|
5511
|
+
var path10 = __require("path");
|
|
5512
5512
|
var mkdir = require_mkdirs();
|
|
5513
5513
|
var remove = require_remove();
|
|
5514
5514
|
var emptyDir = u(async function emptyDir2(dir) {
|
|
5515
5515
|
let items;
|
|
5516
5516
|
try {
|
|
5517
|
-
items = await
|
|
5517
|
+
items = await fs7.readdir(dir);
|
|
5518
5518
|
} catch {
|
|
5519
5519
|
return mkdir.mkdirs(dir);
|
|
5520
5520
|
}
|
|
5521
|
-
return Promise.all(items.map((item) => remove.remove(
|
|
5521
|
+
return Promise.all(items.map((item) => remove.remove(path10.join(dir, item))));
|
|
5522
5522
|
});
|
|
5523
5523
|
function emptyDirSync(dir) {
|
|
5524
5524
|
let items;
|
|
5525
5525
|
try {
|
|
5526
|
-
items =
|
|
5526
|
+
items = fs7.readdirSync(dir);
|
|
5527
5527
|
} catch {
|
|
5528
5528
|
return mkdir.mkdirsSync(dir);
|
|
5529
5529
|
}
|
|
5530
5530
|
items.forEach((item) => {
|
|
5531
|
-
item =
|
|
5531
|
+
item = path10.join(dir, item);
|
|
5532
5532
|
remove.removeSync(item);
|
|
5533
5533
|
});
|
|
5534
5534
|
}
|
|
@@ -5546,52 +5546,52 @@ var require_file = __commonJS({
|
|
|
5546
5546
|
"node_modules/fs-extra/lib/ensure/file.js"(exports, module) {
|
|
5547
5547
|
"use strict";
|
|
5548
5548
|
var u = require_universalify().fromPromise;
|
|
5549
|
-
var
|
|
5550
|
-
var
|
|
5549
|
+
var path10 = __require("path");
|
|
5550
|
+
var fs7 = require_fs();
|
|
5551
5551
|
var mkdir = require_mkdirs();
|
|
5552
5552
|
async function createFile(file2) {
|
|
5553
5553
|
let stats;
|
|
5554
5554
|
try {
|
|
5555
|
-
stats = await
|
|
5555
|
+
stats = await fs7.stat(file2);
|
|
5556
5556
|
} catch {
|
|
5557
5557
|
}
|
|
5558
5558
|
if (stats && stats.isFile()) return;
|
|
5559
|
-
const dir =
|
|
5559
|
+
const dir = path10.dirname(file2);
|
|
5560
5560
|
let dirStats = null;
|
|
5561
5561
|
try {
|
|
5562
|
-
dirStats = await
|
|
5562
|
+
dirStats = await fs7.stat(dir);
|
|
5563
5563
|
} catch (err) {
|
|
5564
5564
|
if (err.code === "ENOENT") {
|
|
5565
5565
|
await mkdir.mkdirs(dir);
|
|
5566
|
-
await
|
|
5566
|
+
await fs7.writeFile(file2, "");
|
|
5567
5567
|
return;
|
|
5568
5568
|
} else {
|
|
5569
5569
|
throw err;
|
|
5570
5570
|
}
|
|
5571
5571
|
}
|
|
5572
5572
|
if (dirStats.isDirectory()) {
|
|
5573
|
-
await
|
|
5573
|
+
await fs7.writeFile(file2, "");
|
|
5574
5574
|
} else {
|
|
5575
|
-
await
|
|
5575
|
+
await fs7.readdir(dir);
|
|
5576
5576
|
}
|
|
5577
5577
|
}
|
|
5578
5578
|
function createFileSync(file2) {
|
|
5579
5579
|
let stats;
|
|
5580
5580
|
try {
|
|
5581
|
-
stats =
|
|
5581
|
+
stats = fs7.statSync(file2);
|
|
5582
5582
|
} catch {
|
|
5583
5583
|
}
|
|
5584
5584
|
if (stats && stats.isFile()) return;
|
|
5585
|
-
const dir =
|
|
5585
|
+
const dir = path10.dirname(file2);
|
|
5586
5586
|
try {
|
|
5587
|
-
if (!
|
|
5588
|
-
|
|
5587
|
+
if (!fs7.statSync(dir).isDirectory()) {
|
|
5588
|
+
fs7.readdirSync(dir);
|
|
5589
5589
|
}
|
|
5590
5590
|
} catch (err) {
|
|
5591
5591
|
if (err && err.code === "ENOENT") mkdir.mkdirsSync(dir);
|
|
5592
5592
|
else throw err;
|
|
5593
5593
|
}
|
|
5594
|
-
|
|
5594
|
+
fs7.writeFileSync(file2, "");
|
|
5595
5595
|
}
|
|
5596
5596
|
module.exports = {
|
|
5597
5597
|
createFile: u(createFile),
|
|
@@ -5605,50 +5605,50 @@ var require_link = __commonJS({
|
|
|
5605
5605
|
"node_modules/fs-extra/lib/ensure/link.js"(exports, module) {
|
|
5606
5606
|
"use strict";
|
|
5607
5607
|
var u = require_universalify().fromPromise;
|
|
5608
|
-
var
|
|
5609
|
-
var
|
|
5608
|
+
var path10 = __require("path");
|
|
5609
|
+
var fs7 = require_fs();
|
|
5610
5610
|
var mkdir = require_mkdirs();
|
|
5611
5611
|
var { pathExists } = require_path_exists();
|
|
5612
5612
|
var { areIdentical } = require_stat();
|
|
5613
5613
|
async function createLink(srcpath, dstpath) {
|
|
5614
5614
|
let dstStat;
|
|
5615
5615
|
try {
|
|
5616
|
-
dstStat = await
|
|
5616
|
+
dstStat = await fs7.lstat(dstpath);
|
|
5617
5617
|
} catch {
|
|
5618
5618
|
}
|
|
5619
5619
|
let srcStat;
|
|
5620
5620
|
try {
|
|
5621
|
-
srcStat = await
|
|
5621
|
+
srcStat = await fs7.lstat(srcpath);
|
|
5622
5622
|
} catch (err) {
|
|
5623
5623
|
err.message = err.message.replace("lstat", "ensureLink");
|
|
5624
5624
|
throw err;
|
|
5625
5625
|
}
|
|
5626
5626
|
if (dstStat && areIdentical(srcStat, dstStat)) return;
|
|
5627
|
-
const dir =
|
|
5627
|
+
const dir = path10.dirname(dstpath);
|
|
5628
5628
|
const dirExists = await pathExists(dir);
|
|
5629
5629
|
if (!dirExists) {
|
|
5630
5630
|
await mkdir.mkdirs(dir);
|
|
5631
5631
|
}
|
|
5632
|
-
await
|
|
5632
|
+
await fs7.link(srcpath, dstpath);
|
|
5633
5633
|
}
|
|
5634
5634
|
function createLinkSync(srcpath, dstpath) {
|
|
5635
5635
|
let dstStat;
|
|
5636
5636
|
try {
|
|
5637
|
-
dstStat =
|
|
5637
|
+
dstStat = fs7.lstatSync(dstpath);
|
|
5638
5638
|
} catch {
|
|
5639
5639
|
}
|
|
5640
5640
|
try {
|
|
5641
|
-
const srcStat =
|
|
5641
|
+
const srcStat = fs7.lstatSync(srcpath);
|
|
5642
5642
|
if (dstStat && areIdentical(srcStat, dstStat)) return;
|
|
5643
5643
|
} catch (err) {
|
|
5644
5644
|
err.message = err.message.replace("lstat", "ensureLink");
|
|
5645
5645
|
throw err;
|
|
5646
5646
|
}
|
|
5647
|
-
const dir =
|
|
5648
|
-
const dirExists =
|
|
5649
|
-
if (dirExists) return
|
|
5647
|
+
const dir = path10.dirname(dstpath);
|
|
5648
|
+
const dirExists = fs7.existsSync(dir);
|
|
5649
|
+
if (dirExists) return fs7.linkSync(srcpath, dstpath);
|
|
5650
5650
|
mkdir.mkdirsSync(dir);
|
|
5651
|
-
return
|
|
5651
|
+
return fs7.linkSync(srcpath, dstpath);
|
|
5652
5652
|
}
|
|
5653
5653
|
module.exports = {
|
|
5654
5654
|
createLink: u(createLink),
|
|
@@ -5661,14 +5661,14 @@ var require_link = __commonJS({
|
|
|
5661
5661
|
var require_symlink_paths = __commonJS({
|
|
5662
5662
|
"node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports, module) {
|
|
5663
5663
|
"use strict";
|
|
5664
|
-
var
|
|
5665
|
-
var
|
|
5664
|
+
var path10 = __require("path");
|
|
5665
|
+
var fs7 = require_fs();
|
|
5666
5666
|
var { pathExists } = require_path_exists();
|
|
5667
5667
|
var u = require_universalify().fromPromise;
|
|
5668
5668
|
async function symlinkPaths(srcpath, dstpath) {
|
|
5669
|
-
if (
|
|
5669
|
+
if (path10.isAbsolute(srcpath)) {
|
|
5670
5670
|
try {
|
|
5671
|
-
await
|
|
5671
|
+
await fs7.lstat(srcpath);
|
|
5672
5672
|
} catch (err) {
|
|
5673
5673
|
err.message = err.message.replace("lstat", "ensureSymlink");
|
|
5674
5674
|
throw err;
|
|
@@ -5678,8 +5678,8 @@ var require_symlink_paths = __commonJS({
|
|
|
5678
5678
|
toDst: srcpath
|
|
5679
5679
|
};
|
|
5680
5680
|
}
|
|
5681
|
-
const dstdir =
|
|
5682
|
-
const relativeToDst =
|
|
5681
|
+
const dstdir = path10.dirname(dstpath);
|
|
5682
|
+
const relativeToDst = path10.join(dstdir, srcpath);
|
|
5683
5683
|
const exists = await pathExists(relativeToDst);
|
|
5684
5684
|
if (exists) {
|
|
5685
5685
|
return {
|
|
@@ -5688,39 +5688,39 @@ var require_symlink_paths = __commonJS({
|
|
|
5688
5688
|
};
|
|
5689
5689
|
}
|
|
5690
5690
|
try {
|
|
5691
|
-
await
|
|
5691
|
+
await fs7.lstat(srcpath);
|
|
5692
5692
|
} catch (err) {
|
|
5693
5693
|
err.message = err.message.replace("lstat", "ensureSymlink");
|
|
5694
5694
|
throw err;
|
|
5695
5695
|
}
|
|
5696
5696
|
return {
|
|
5697
5697
|
toCwd: srcpath,
|
|
5698
|
-
toDst:
|
|
5698
|
+
toDst: path10.relative(dstdir, srcpath)
|
|
5699
5699
|
};
|
|
5700
5700
|
}
|
|
5701
5701
|
function symlinkPathsSync(srcpath, dstpath) {
|
|
5702
|
-
if (
|
|
5703
|
-
const exists2 =
|
|
5702
|
+
if (path10.isAbsolute(srcpath)) {
|
|
5703
|
+
const exists2 = fs7.existsSync(srcpath);
|
|
5704
5704
|
if (!exists2) throw new Error("absolute srcpath does not exist");
|
|
5705
5705
|
return {
|
|
5706
5706
|
toCwd: srcpath,
|
|
5707
5707
|
toDst: srcpath
|
|
5708
5708
|
};
|
|
5709
5709
|
}
|
|
5710
|
-
const dstdir =
|
|
5711
|
-
const relativeToDst =
|
|
5712
|
-
const exists =
|
|
5710
|
+
const dstdir = path10.dirname(dstpath);
|
|
5711
|
+
const relativeToDst = path10.join(dstdir, srcpath);
|
|
5712
|
+
const exists = fs7.existsSync(relativeToDst);
|
|
5713
5713
|
if (exists) {
|
|
5714
5714
|
return {
|
|
5715
5715
|
toCwd: relativeToDst,
|
|
5716
5716
|
toDst: srcpath
|
|
5717
5717
|
};
|
|
5718
5718
|
}
|
|
5719
|
-
const srcExists =
|
|
5719
|
+
const srcExists = fs7.existsSync(srcpath);
|
|
5720
5720
|
if (!srcExists) throw new Error("relative srcpath does not exist");
|
|
5721
5721
|
return {
|
|
5722
5722
|
toCwd: srcpath,
|
|
5723
|
-
toDst:
|
|
5723
|
+
toDst: path10.relative(dstdir, srcpath)
|
|
5724
5724
|
};
|
|
5725
5725
|
}
|
|
5726
5726
|
module.exports = {
|
|
@@ -5734,13 +5734,13 @@ var require_symlink_paths = __commonJS({
|
|
|
5734
5734
|
var require_symlink_type = __commonJS({
|
|
5735
5735
|
"node_modules/fs-extra/lib/ensure/symlink-type.js"(exports, module) {
|
|
5736
5736
|
"use strict";
|
|
5737
|
-
var
|
|
5737
|
+
var fs7 = require_fs();
|
|
5738
5738
|
var u = require_universalify().fromPromise;
|
|
5739
5739
|
async function symlinkType(srcpath, type) {
|
|
5740
5740
|
if (type) return type;
|
|
5741
5741
|
let stats;
|
|
5742
5742
|
try {
|
|
5743
|
-
stats = await
|
|
5743
|
+
stats = await fs7.lstat(srcpath);
|
|
5744
5744
|
} catch {
|
|
5745
5745
|
return "file";
|
|
5746
5746
|
}
|
|
@@ -5750,7 +5750,7 @@ var require_symlink_type = __commonJS({
|
|
|
5750
5750
|
if (type) return type;
|
|
5751
5751
|
let stats;
|
|
5752
5752
|
try {
|
|
5753
|
-
stats =
|
|
5753
|
+
stats = fs7.lstatSync(srcpath);
|
|
5754
5754
|
} catch {
|
|
5755
5755
|
return "file";
|
|
5756
5756
|
}
|
|
@@ -5768,8 +5768,8 @@ var require_symlink = __commonJS({
|
|
|
5768
5768
|
"node_modules/fs-extra/lib/ensure/symlink.js"(exports, module) {
|
|
5769
5769
|
"use strict";
|
|
5770
5770
|
var u = require_universalify().fromPromise;
|
|
5771
|
-
var
|
|
5772
|
-
var
|
|
5771
|
+
var path10 = __require("path");
|
|
5772
|
+
var fs7 = require_fs();
|
|
5773
5773
|
var { mkdirs, mkdirsSync } = require_mkdirs();
|
|
5774
5774
|
var { symlinkPaths, symlinkPathsSync } = require_symlink_paths();
|
|
5775
5775
|
var { symlinkType, symlinkTypeSync } = require_symlink_type();
|
|
@@ -5778,44 +5778,44 @@ var require_symlink = __commonJS({
|
|
|
5778
5778
|
async function createSymlink(srcpath, dstpath, type) {
|
|
5779
5779
|
let stats;
|
|
5780
5780
|
try {
|
|
5781
|
-
stats = await
|
|
5781
|
+
stats = await fs7.lstat(dstpath);
|
|
5782
5782
|
} catch {
|
|
5783
5783
|
}
|
|
5784
5784
|
if (stats && stats.isSymbolicLink()) {
|
|
5785
5785
|
const [srcStat, dstStat] = await Promise.all([
|
|
5786
|
-
|
|
5787
|
-
|
|
5786
|
+
fs7.stat(srcpath),
|
|
5787
|
+
fs7.stat(dstpath)
|
|
5788
5788
|
]);
|
|
5789
5789
|
if (areIdentical(srcStat, dstStat)) return;
|
|
5790
5790
|
}
|
|
5791
5791
|
const relative = await symlinkPaths(srcpath, dstpath);
|
|
5792
5792
|
srcpath = relative.toDst;
|
|
5793
5793
|
const toType = await symlinkType(relative.toCwd, type);
|
|
5794
|
-
const dir =
|
|
5794
|
+
const dir = path10.dirname(dstpath);
|
|
5795
5795
|
if (!await pathExists(dir)) {
|
|
5796
5796
|
await mkdirs(dir);
|
|
5797
5797
|
}
|
|
5798
|
-
return
|
|
5798
|
+
return fs7.symlink(srcpath, dstpath, toType);
|
|
5799
5799
|
}
|
|
5800
5800
|
function createSymlinkSync(srcpath, dstpath, type) {
|
|
5801
5801
|
let stats;
|
|
5802
5802
|
try {
|
|
5803
|
-
stats =
|
|
5803
|
+
stats = fs7.lstatSync(dstpath);
|
|
5804
5804
|
} catch {
|
|
5805
5805
|
}
|
|
5806
5806
|
if (stats && stats.isSymbolicLink()) {
|
|
5807
|
-
const srcStat =
|
|
5808
|
-
const dstStat =
|
|
5807
|
+
const srcStat = fs7.statSync(srcpath);
|
|
5808
|
+
const dstStat = fs7.statSync(dstpath);
|
|
5809
5809
|
if (areIdentical(srcStat, dstStat)) return;
|
|
5810
5810
|
}
|
|
5811
5811
|
const relative = symlinkPathsSync(srcpath, dstpath);
|
|
5812
5812
|
srcpath = relative.toDst;
|
|
5813
5813
|
type = symlinkTypeSync(relative.toCwd, type);
|
|
5814
|
-
const dir =
|
|
5815
|
-
const exists =
|
|
5816
|
-
if (exists) return
|
|
5814
|
+
const dir = path10.dirname(dstpath);
|
|
5815
|
+
const exists = fs7.existsSync(dir);
|
|
5816
|
+
if (exists) return fs7.symlinkSync(srcpath, dstpath, type);
|
|
5817
5817
|
mkdirsSync(dir);
|
|
5818
|
-
return
|
|
5818
|
+
return fs7.symlinkSync(srcpath, dstpath, type);
|
|
5819
5819
|
}
|
|
5820
5820
|
module.exports = {
|
|
5821
5821
|
createSymlink: u(createSymlink),
|
|
@@ -5884,9 +5884,9 @@ var require_jsonfile = __commonJS({
|
|
|
5884
5884
|
if (typeof options === "string") {
|
|
5885
5885
|
options = { encoding: options };
|
|
5886
5886
|
}
|
|
5887
|
-
const
|
|
5887
|
+
const fs7 = options.fs || _fs;
|
|
5888
5888
|
const shouldThrow = "throws" in options ? options.throws : true;
|
|
5889
|
-
let data = await universalify.fromCallback(
|
|
5889
|
+
let data = await universalify.fromCallback(fs7.readFile)(file2, options);
|
|
5890
5890
|
data = stripBom(data);
|
|
5891
5891
|
let obj;
|
|
5892
5892
|
try {
|
|
@@ -5906,10 +5906,10 @@ var require_jsonfile = __commonJS({
|
|
|
5906
5906
|
if (typeof options === "string") {
|
|
5907
5907
|
options = { encoding: options };
|
|
5908
5908
|
}
|
|
5909
|
-
const
|
|
5909
|
+
const fs7 = options.fs || _fs;
|
|
5910
5910
|
const shouldThrow = "throws" in options ? options.throws : true;
|
|
5911
5911
|
try {
|
|
5912
|
-
let content =
|
|
5912
|
+
let content = fs7.readFileSync(file2, options);
|
|
5913
5913
|
content = stripBom(content);
|
|
5914
5914
|
return JSON.parse(content, options.reviver);
|
|
5915
5915
|
} catch (err) {
|
|
@@ -5922,15 +5922,15 @@ var require_jsonfile = __commonJS({
|
|
|
5922
5922
|
}
|
|
5923
5923
|
}
|
|
5924
5924
|
async function _writeFile(file2, obj, options = {}) {
|
|
5925
|
-
const
|
|
5925
|
+
const fs7 = options.fs || _fs;
|
|
5926
5926
|
const str = stringify(obj, options);
|
|
5927
|
-
await universalify.fromCallback(
|
|
5927
|
+
await universalify.fromCallback(fs7.writeFile)(file2, str, options);
|
|
5928
5928
|
}
|
|
5929
5929
|
var writeFile = universalify.fromPromise(_writeFile);
|
|
5930
5930
|
function writeFileSync2(file2, obj, options = {}) {
|
|
5931
|
-
const
|
|
5931
|
+
const fs7 = options.fs || _fs;
|
|
5932
5932
|
const str = stringify(obj, options);
|
|
5933
|
-
return
|
|
5933
|
+
return fs7.writeFileSync(file2, str, options);
|
|
5934
5934
|
}
|
|
5935
5935
|
module.exports = {
|
|
5936
5936
|
readFile: readFile2,
|
|
@@ -5961,23 +5961,23 @@ var require_output_file = __commonJS({
|
|
|
5961
5961
|
"node_modules/fs-extra/lib/output-file/index.js"(exports, module) {
|
|
5962
5962
|
"use strict";
|
|
5963
5963
|
var u = require_universalify().fromPromise;
|
|
5964
|
-
var
|
|
5965
|
-
var
|
|
5964
|
+
var fs7 = require_fs();
|
|
5965
|
+
var path10 = __require("path");
|
|
5966
5966
|
var mkdir = require_mkdirs();
|
|
5967
5967
|
var pathExists = require_path_exists().pathExists;
|
|
5968
5968
|
async function outputFile(file2, data, encoding = "utf-8") {
|
|
5969
|
-
const dir =
|
|
5969
|
+
const dir = path10.dirname(file2);
|
|
5970
5970
|
if (!await pathExists(dir)) {
|
|
5971
5971
|
await mkdir.mkdirs(dir);
|
|
5972
5972
|
}
|
|
5973
|
-
return
|
|
5973
|
+
return fs7.writeFile(file2, data, encoding);
|
|
5974
5974
|
}
|
|
5975
5975
|
function outputFileSync(file2, ...args) {
|
|
5976
|
-
const dir =
|
|
5977
|
-
if (!
|
|
5976
|
+
const dir = path10.dirname(file2);
|
|
5977
|
+
if (!fs7.existsSync(dir)) {
|
|
5978
5978
|
mkdir.mkdirsSync(dir);
|
|
5979
5979
|
}
|
|
5980
|
-
|
|
5980
|
+
fs7.writeFileSync(file2, ...args);
|
|
5981
5981
|
}
|
|
5982
5982
|
module.exports = {
|
|
5983
5983
|
outputFile: u(outputFile),
|
|
@@ -6036,8 +6036,8 @@ var require_json = __commonJS({
|
|
|
6036
6036
|
var require_move = __commonJS({
|
|
6037
6037
|
"node_modules/fs-extra/lib/move/move.js"(exports, module) {
|
|
6038
6038
|
"use strict";
|
|
6039
|
-
var
|
|
6040
|
-
var
|
|
6039
|
+
var fs7 = require_fs();
|
|
6040
|
+
var path10 = __require("path");
|
|
6041
6041
|
var { copy } = require_copy2();
|
|
6042
6042
|
var { remove } = require_remove();
|
|
6043
6043
|
var { mkdirp } = require_mkdirs();
|
|
@@ -6047,8 +6047,8 @@ var require_move = __commonJS({
|
|
|
6047
6047
|
const overwrite = opts.overwrite || opts.clobber || false;
|
|
6048
6048
|
const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts);
|
|
6049
6049
|
await stat.checkParentPaths(src, srcStat, dest, "move");
|
|
6050
|
-
const destParent =
|
|
6051
|
-
const parsedParentPath =
|
|
6050
|
+
const destParent = path10.dirname(dest);
|
|
6051
|
+
const parsedParentPath = path10.parse(destParent);
|
|
6052
6052
|
if (parsedParentPath.root !== destParent) {
|
|
6053
6053
|
await mkdirp(destParent);
|
|
6054
6054
|
}
|
|
@@ -6063,7 +6063,7 @@ var require_move = __commonJS({
|
|
|
6063
6063
|
}
|
|
6064
6064
|
}
|
|
6065
6065
|
try {
|
|
6066
|
-
await
|
|
6066
|
+
await fs7.rename(src, dest);
|
|
6067
6067
|
} catch (err) {
|
|
6068
6068
|
if (err.code !== "EXDEV") {
|
|
6069
6069
|
throw err;
|
|
@@ -6088,8 +6088,8 @@ var require_move = __commonJS({
|
|
|
6088
6088
|
var require_move_sync = __commonJS({
|
|
6089
6089
|
"node_modules/fs-extra/lib/move/move-sync.js"(exports, module) {
|
|
6090
6090
|
"use strict";
|
|
6091
|
-
var
|
|
6092
|
-
var
|
|
6091
|
+
var fs7 = require_graceful_fs();
|
|
6092
|
+
var path10 = __require("path");
|
|
6093
6093
|
var copySync = require_copy2().copySync;
|
|
6094
6094
|
var removeSync = require_remove().removeSync;
|
|
6095
6095
|
var mkdirpSync = require_mkdirs().mkdirpSync;
|
|
@@ -6099,12 +6099,12 @@ var require_move_sync = __commonJS({
|
|
|
6099
6099
|
const overwrite = opts.overwrite || opts.clobber || false;
|
|
6100
6100
|
const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts);
|
|
6101
6101
|
stat.checkParentPathsSync(src, srcStat, dest, "move");
|
|
6102
|
-
if (!isParentRoot(dest)) mkdirpSync(
|
|
6102
|
+
if (!isParentRoot(dest)) mkdirpSync(path10.dirname(dest));
|
|
6103
6103
|
return doRename(src, dest, overwrite, isChangingCase);
|
|
6104
6104
|
}
|
|
6105
6105
|
function isParentRoot(dest) {
|
|
6106
|
-
const parent =
|
|
6107
|
-
const parsedPath =
|
|
6106
|
+
const parent = path10.dirname(dest);
|
|
6107
|
+
const parsedPath = path10.parse(parent);
|
|
6108
6108
|
return parsedPath.root === parent;
|
|
6109
6109
|
}
|
|
6110
6110
|
function doRename(src, dest, overwrite, isChangingCase) {
|
|
@@ -6113,12 +6113,12 @@ var require_move_sync = __commonJS({
|
|
|
6113
6113
|
removeSync(dest);
|
|
6114
6114
|
return rename(src, dest, overwrite);
|
|
6115
6115
|
}
|
|
6116
|
-
if (
|
|
6116
|
+
if (fs7.existsSync(dest)) throw new Error("dest already exists.");
|
|
6117
6117
|
return rename(src, dest, overwrite);
|
|
6118
6118
|
}
|
|
6119
6119
|
function rename(src, dest, overwrite) {
|
|
6120
6120
|
try {
|
|
6121
|
-
|
|
6121
|
+
fs7.renameSync(src, dest);
|
|
6122
6122
|
} catch (err) {
|
|
6123
6123
|
if (err.code !== "EXDEV") throw err;
|
|
6124
6124
|
return moveAcrossDevice(src, dest, overwrite);
|
|
@@ -7450,7 +7450,7 @@ var CLI_VERSION;
|
|
|
7450
7450
|
var init_version = __esm({
|
|
7451
7451
|
"src/utils/version.ts"() {
|
|
7452
7452
|
"use strict";
|
|
7453
|
-
CLI_VERSION = "5.
|
|
7453
|
+
CLI_VERSION = "5.9.0";
|
|
7454
7454
|
}
|
|
7455
7455
|
});
|
|
7456
7456
|
|
|
@@ -14864,10 +14864,10 @@ var require_lib3 = __commonJS({
|
|
|
14864
14864
|
exports.analyse = analyse;
|
|
14865
14865
|
var detectFile = (filepath, opts = {}) => new Promise((resolve, reject) => {
|
|
14866
14866
|
let fd;
|
|
14867
|
-
const
|
|
14867
|
+
const fs7 = (0, node_1.default)();
|
|
14868
14868
|
const handler = (err, buffer) => {
|
|
14869
14869
|
if (fd) {
|
|
14870
|
-
|
|
14870
|
+
fs7.closeSync(fd);
|
|
14871
14871
|
}
|
|
14872
14872
|
if (err) {
|
|
14873
14873
|
reject(err);
|
|
@@ -14879,9 +14879,9 @@ var require_lib3 = __commonJS({
|
|
|
14879
14879
|
};
|
|
14880
14880
|
const sampleSize = (opts === null || opts === void 0 ? void 0 : opts.sampleSize) || 0;
|
|
14881
14881
|
if (sampleSize > 0) {
|
|
14882
|
-
fd =
|
|
14882
|
+
fd = fs7.openSync(filepath, "r");
|
|
14883
14883
|
let sample = Buffer.allocUnsafe(sampleSize);
|
|
14884
|
-
|
|
14884
|
+
fs7.read(fd, sample, 0, sampleSize, opts.offset, (err, bytesRead) => {
|
|
14885
14885
|
if (err) {
|
|
14886
14886
|
handler(err, null);
|
|
14887
14887
|
} else {
|
|
@@ -14893,22 +14893,22 @@ var require_lib3 = __commonJS({
|
|
|
14893
14893
|
});
|
|
14894
14894
|
return;
|
|
14895
14895
|
}
|
|
14896
|
-
|
|
14896
|
+
fs7.readFile(filepath, handler);
|
|
14897
14897
|
});
|
|
14898
14898
|
exports.detectFile = detectFile;
|
|
14899
14899
|
var detectFileSync = (filepath, opts = {}) => {
|
|
14900
|
-
const
|
|
14900
|
+
const fs7 = (0, node_1.default)();
|
|
14901
14901
|
if (opts && opts.sampleSize) {
|
|
14902
|
-
const fd =
|
|
14902
|
+
const fd = fs7.openSync(filepath, "r");
|
|
14903
14903
|
let sample = Buffer.allocUnsafe(opts.sampleSize);
|
|
14904
|
-
const bytesRead =
|
|
14904
|
+
const bytesRead = fs7.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
|
|
14905
14905
|
if (bytesRead < opts.sampleSize) {
|
|
14906
14906
|
sample = sample.subarray(0, bytesRead);
|
|
14907
14907
|
}
|
|
14908
|
-
|
|
14908
|
+
fs7.closeSync(fd);
|
|
14909
14909
|
return (0, exports.detect)(sample);
|
|
14910
14910
|
}
|
|
14911
|
-
return (0, exports.detect)(
|
|
14911
|
+
return (0, exports.detect)(fs7.readFileSync(filepath));
|
|
14912
14912
|
};
|
|
14913
14913
|
exports.detectFileSync = detectFileSync;
|
|
14914
14914
|
exports.default = {
|
|
@@ -22735,8 +22735,8 @@ var require_utils4 = __commonJS({
|
|
|
22735
22735
|
}
|
|
22736
22736
|
return ind;
|
|
22737
22737
|
}
|
|
22738
|
-
function removeDotSegments(
|
|
22739
|
-
let input =
|
|
22738
|
+
function removeDotSegments(path10) {
|
|
22739
|
+
let input = path10;
|
|
22740
22740
|
const output = [];
|
|
22741
22741
|
let nextSlash = -1;
|
|
22742
22742
|
let len = 0;
|
|
@@ -22988,8 +22988,8 @@ var require_schemes = __commonJS({
|
|
|
22988
22988
|
wsComponent.secure = void 0;
|
|
22989
22989
|
}
|
|
22990
22990
|
if (wsComponent.resourceName) {
|
|
22991
|
-
const [
|
|
22992
|
-
wsComponent.path =
|
|
22991
|
+
const [path10, query] = wsComponent.resourceName.split("?");
|
|
22992
|
+
wsComponent.path = path10 && path10 !== "/" ? path10 : void 0;
|
|
22993
22993
|
wsComponent.query = query;
|
|
22994
22994
|
wsComponent.resourceName = void 0;
|
|
22995
22995
|
}
|
|
@@ -26382,12 +26382,12 @@ var require_dist = __commonJS({
|
|
|
26382
26382
|
throw new Error(`Unknown format "${name}"`);
|
|
26383
26383
|
return f;
|
|
26384
26384
|
};
|
|
26385
|
-
function addFormats(ajv, list,
|
|
26385
|
+
function addFormats(ajv, list, fs7, exportName) {
|
|
26386
26386
|
var _a2;
|
|
26387
26387
|
var _b;
|
|
26388
26388
|
(_a2 = (_b = ajv.opts.code).formats) !== null && _a2 !== void 0 ? _a2 : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
|
|
26389
26389
|
for (const f of list)
|
|
26390
|
-
ajv.addFormat(f,
|
|
26390
|
+
ajv.addFormat(f, fs7[f]);
|
|
26391
26391
|
}
|
|
26392
26392
|
module.exports = exports = formatsPlugin;
|
|
26393
26393
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -26530,8 +26530,8 @@ function createAuditsResource(config2) {
|
|
|
26530
26530
|
if (filters?.projectId)
|
|
26531
26531
|
params.set("projectId", String(filters.projectId));
|
|
26532
26532
|
const query = params.toString();
|
|
26533
|
-
const
|
|
26534
|
-
const { data, status } = await apiFetch(config2,
|
|
26533
|
+
const path10 = `/audits${query ? `?${query}` : ""}`;
|
|
26534
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26535
26535
|
if (status === 403)
|
|
26536
26536
|
throw new Error("Access denied. Only Team Managers can list audits.");
|
|
26537
26537
|
if (status !== 200)
|
|
@@ -26580,8 +26580,8 @@ function createPlansResource(config2) {
|
|
|
26580
26580
|
if (filters?.projectId)
|
|
26581
26581
|
params.set("projectId", String(filters.projectId));
|
|
26582
26582
|
const query = params.toString();
|
|
26583
|
-
const
|
|
26584
|
-
const { data, status } = await apiFetch(config2,
|
|
26583
|
+
const path10 = `/plans${query ? `?${query}` : ""}`;
|
|
26584
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26585
26585
|
if (status === 403)
|
|
26586
26586
|
throw new Error("Access denied. Only Team Managers can list plans.");
|
|
26587
26587
|
if (status !== 200)
|
|
@@ -26623,8 +26623,8 @@ function createPlansResource(config2) {
|
|
|
26623
26623
|
if (filters?.author)
|
|
26624
26624
|
params.set("author", filters.author);
|
|
26625
26625
|
const query = params.toString();
|
|
26626
|
-
const
|
|
26627
|
-
const { data, status } = await apiFetch(config2,
|
|
26626
|
+
const path10 = `/plans/stats${query ? `?${query}` : ""}`;
|
|
26627
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26628
26628
|
if (status === 403)
|
|
26629
26629
|
throw new Error("Access denied. Only Team Managers can view plan stats.");
|
|
26630
26630
|
if (status !== 200)
|
|
@@ -26663,8 +26663,8 @@ function createEventsResource(config2) {
|
|
|
26663
26663
|
if (filters?.projectId)
|
|
26664
26664
|
params.set("projectId", String(filters.projectId));
|
|
26665
26665
|
const query = params.toString();
|
|
26666
|
-
const
|
|
26667
|
-
const { data, status } = await apiFetch(config2,
|
|
26666
|
+
const path10 = `/events${query ? `?${query}` : ""}`;
|
|
26667
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26668
26668
|
if (status === 403)
|
|
26669
26669
|
throw new Error("Access denied. Only Team Managers can view analytics.");
|
|
26670
26670
|
if (status !== 200)
|
|
@@ -26680,8 +26680,8 @@ function createEventsResource(config2) {
|
|
|
26680
26680
|
if (filters?.projectId)
|
|
26681
26681
|
params.set("projectId", String(filters.projectId));
|
|
26682
26682
|
const query = params.toString();
|
|
26683
|
-
const
|
|
26684
|
-
const { data, status } = await apiFetch(config2,
|
|
26683
|
+
const path10 = `/events/stats${query ? `?${query}` : ""}`;
|
|
26684
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26685
26685
|
if (status === 403)
|
|
26686
26686
|
throw new Error("Access denied. Only Team Managers can view analytics.");
|
|
26687
26687
|
if (status !== 200)
|
|
@@ -26715,8 +26715,8 @@ function createStandupsResource(config2) {
|
|
|
26715
26715
|
const params = new URLSearchParams();
|
|
26716
26716
|
if (filters?.projectId)
|
|
26717
26717
|
params.set("projectId", String(filters.projectId));
|
|
26718
|
-
const
|
|
26719
|
-
const { data, status } = await apiFetch(config2,
|
|
26718
|
+
const path10 = `/standups/stats${params.toString() ? `?${params}` : ""}`;
|
|
26719
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26720
26720
|
if (status === 403)
|
|
26721
26721
|
throw new Error("Access denied. Only Team Managers can view standup stats.");
|
|
26722
26722
|
if (status !== 200)
|
|
@@ -26741,8 +26741,8 @@ function createStandupsResource(config2) {
|
|
|
26741
26741
|
const params = new URLSearchParams();
|
|
26742
26742
|
if (opts?.windowDays)
|
|
26743
26743
|
params.set("windowDays", String(opts.windowDays));
|
|
26744
|
-
const
|
|
26745
|
-
const { data, status } = await apiFetch(config2,
|
|
26744
|
+
const path10 = `/standups/per-person-stats${params.toString() ? `?${params}` : ""}`;
|
|
26745
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26746
26746
|
if (status === 403)
|
|
26747
26747
|
throw new Error("Access denied. Only Team Managers can view standup stats.");
|
|
26748
26748
|
if (status !== 200)
|
|
@@ -26800,8 +26800,8 @@ function createFeedbackResource(config2) {
|
|
|
26800
26800
|
if (filters.limit !== void 0)
|
|
26801
26801
|
params.set("limit", String(filters.limit));
|
|
26802
26802
|
const qs = params.toString();
|
|
26803
|
-
const
|
|
26804
|
-
const { data, status } = await apiFetch(config2,
|
|
26803
|
+
const path10 = qs ? `/feedback/dashboard?${qs}` : "/feedback/dashboard";
|
|
26804
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26805
26805
|
if (status !== 200) {
|
|
26806
26806
|
const err = data.error;
|
|
26807
26807
|
throw new Error(err ?? `Failed to load dashboard feedback (${status})`);
|
|
@@ -26841,6 +26841,22 @@ function createTemplatesResource(config2) {
|
|
|
26841
26841
|
};
|
|
26842
26842
|
}
|
|
26843
26843
|
|
|
26844
|
+
// ../sdk/dist/resources/skills.js
|
|
26845
|
+
function createSkillsResource(config2) {
|
|
26846
|
+
return {
|
|
26847
|
+
async getDevSkills() {
|
|
26848
|
+
const { data, status } = await apiFetch(config2, "/skills/dev", {
|
|
26849
|
+
method: "GET"
|
|
26850
|
+
});
|
|
26851
|
+
if (status !== 200) {
|
|
26852
|
+
const error48 = data.error;
|
|
26853
|
+
throw new Error(error48 ?? `Failed to fetch dev skills (${status})`);
|
|
26854
|
+
}
|
|
26855
|
+
return data;
|
|
26856
|
+
}
|
|
26857
|
+
};
|
|
26858
|
+
}
|
|
26859
|
+
|
|
26844
26860
|
// ../sdk/dist/resources/auth.js
|
|
26845
26861
|
function createAuthResource(config2) {
|
|
26846
26862
|
return {
|
|
@@ -26897,8 +26913,8 @@ function createProjectsResource(config2) {
|
|
|
26897
26913
|
params.set("activeOnly", "true");
|
|
26898
26914
|
if (opts?.includeInternal)
|
|
26899
26915
|
params.set("includeInternal", "true");
|
|
26900
|
-
const
|
|
26901
|
-
const { data, status } = await apiFetch(config2,
|
|
26916
|
+
const path10 = `/projects${params.toString() ? `?${params}` : ""}`;
|
|
26917
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26902
26918
|
if (status === 403)
|
|
26903
26919
|
throw new Error("Access denied. Only Team Managers can view projects.");
|
|
26904
26920
|
if (status !== 200)
|
|
@@ -26968,8 +26984,8 @@ function createFindingsResource(config2) {
|
|
|
26968
26984
|
if (filters?.limit)
|
|
26969
26985
|
params.set("limit", String(filters.limit));
|
|
26970
26986
|
const query = params.toString();
|
|
26971
|
-
const
|
|
26972
|
-
const { data, status } = await apiFetch(config2,
|
|
26987
|
+
const path10 = `/findings${query ? `?${query}` : ""}`;
|
|
26988
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26973
26989
|
if (status === 403)
|
|
26974
26990
|
throw new Error("Access denied. Only Team Managers can list findings.");
|
|
26975
26991
|
if (status !== 200)
|
|
@@ -26991,8 +27007,8 @@ function createFindingsResource(config2) {
|
|
|
26991
27007
|
if (filters?.auditId)
|
|
26992
27008
|
params.set("auditId", filters.auditId);
|
|
26993
27009
|
const query = params.toString();
|
|
26994
|
-
const
|
|
26995
|
-
const { data, status } = await apiFetch(config2,
|
|
27010
|
+
const path10 = `/findings/stats${query ? `?${query}` : ""}`;
|
|
27011
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
26996
27012
|
if (status === 403)
|
|
26997
27013
|
throw new Error("Access denied. Only Team Managers can view findings stats.");
|
|
26998
27014
|
if (status !== 200)
|
|
@@ -27155,8 +27171,8 @@ function createBoardAuditsResource(config2) {
|
|
|
27155
27171
|
params.set("projectId", String(filters.projectId));
|
|
27156
27172
|
if (filters?.limit)
|
|
27157
27173
|
params.set("limit", String(filters.limit));
|
|
27158
|
-
const
|
|
27159
|
-
const { data, status } = await apiFetch(config2,
|
|
27174
|
+
const path10 = `/board-audits${params.toString() ? `?${params}` : ""}`;
|
|
27175
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
27160
27176
|
if (status === 403)
|
|
27161
27177
|
throw new Error("Access denied. Only Team Managers can view board audits.");
|
|
27162
27178
|
if (status !== 200)
|
|
@@ -27676,8 +27692,8 @@ function createSlackResource(config2) {
|
|
|
27676
27692
|
if (opts?.limit !== void 0)
|
|
27677
27693
|
params.set("limit", String(opts.limit));
|
|
27678
27694
|
const qs = params.toString();
|
|
27679
|
-
const
|
|
27680
|
-
const { data, status } = await apiFetch(config2,
|
|
27695
|
+
const path10 = `/slack/notifications${qs ? `?${qs}` : ""}`;
|
|
27696
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
27681
27697
|
if (status === 403)
|
|
27682
27698
|
throw new Error("Access denied. Only Team Managers can view this.");
|
|
27683
27699
|
if (status !== 200)
|
|
@@ -27723,8 +27739,8 @@ function createJobsResource(config2) {
|
|
|
27723
27739
|
if (filters?.limit)
|
|
27724
27740
|
params.set("limit", String(filters.limit));
|
|
27725
27741
|
const query = params.toString();
|
|
27726
|
-
const
|
|
27727
|
-
const { data, status } = await apiFetch(config2,
|
|
27742
|
+
const path10 = `/jobs${query ? `?${query}` : ""}`;
|
|
27743
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
27728
27744
|
if (status === 403)
|
|
27729
27745
|
throw new Error("Access denied. Only Team Managers can list jobs.");
|
|
27730
27746
|
if (status !== 200)
|
|
@@ -27874,8 +27890,8 @@ function createProfileAuditsResource(config2) {
|
|
|
27874
27890
|
if (filters?.limit)
|
|
27875
27891
|
params.set("limit", String(filters.limit));
|
|
27876
27892
|
const query = params.toString();
|
|
27877
|
-
const
|
|
27878
|
-
const { data, status } = await apiFetch(config2,
|
|
27893
|
+
const path10 = `/profile-audits${query ? `?${query}` : ""}`;
|
|
27894
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
27879
27895
|
if (status === 403)
|
|
27880
27896
|
throw new Error("Access denied. Only Team Managers can list profile audits.");
|
|
27881
27897
|
if (status !== 200)
|
|
@@ -27932,7 +27948,7 @@ function buildSignal(timeoutMs, caller) {
|
|
|
27932
27948
|
const anyFn = AbortSignal.any;
|
|
27933
27949
|
return anyFn ? anyFn([caller, timeout]) : timeout;
|
|
27934
27950
|
}
|
|
27935
|
-
async function apiFetch(config2,
|
|
27951
|
+
async function apiFetch(config2, path10, options = {}) {
|
|
27936
27952
|
const method = (options.method ?? "GET").toUpperCase();
|
|
27937
27953
|
const idempotent = method === "GET" || method === "HEAD";
|
|
27938
27954
|
const timeoutMs = config2.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
@@ -27940,7 +27956,7 @@ async function apiFetch(config2, path9, options = {}) {
|
|
|
27940
27956
|
let lastError;
|
|
27941
27957
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
27942
27958
|
try {
|
|
27943
|
-
const response = await fetch(`${config2.baseUrl}${
|
|
27959
|
+
const response = await fetch(`${config2.baseUrl}${path10}`, {
|
|
27944
27960
|
...options,
|
|
27945
27961
|
signal: buildSignal(timeoutMs, options.signal),
|
|
27946
27962
|
headers: {
|
|
@@ -27976,6 +27992,7 @@ function createMeltClient(config2) {
|
|
|
27976
27992
|
feedback: createFeedbackResource(config2),
|
|
27977
27993
|
coins: createCoinsResource(config2),
|
|
27978
27994
|
templates: createTemplatesResource(config2),
|
|
27995
|
+
skills: createSkillsResource(config2),
|
|
27979
27996
|
auth: createAuthResource(config2),
|
|
27980
27997
|
people: createPeopleResource(config2),
|
|
27981
27998
|
projects: createProjectsResource(config2),
|
|
@@ -28760,10 +28777,10 @@ function mergeDefs(...defs) {
|
|
|
28760
28777
|
function cloneDef(schema) {
|
|
28761
28778
|
return mergeDefs(schema._zod.def);
|
|
28762
28779
|
}
|
|
28763
|
-
function getElementAtPath(obj,
|
|
28764
|
-
if (!
|
|
28780
|
+
function getElementAtPath(obj, path10) {
|
|
28781
|
+
if (!path10)
|
|
28765
28782
|
return obj;
|
|
28766
|
-
return
|
|
28783
|
+
return path10.reduce((acc, key) => acc?.[key], obj);
|
|
28767
28784
|
}
|
|
28768
28785
|
function promiseAllObject(promisesObj) {
|
|
28769
28786
|
const keys = Object.keys(promisesObj);
|
|
@@ -29146,11 +29163,11 @@ function aborted(x, startIndex = 0) {
|
|
|
29146
29163
|
}
|
|
29147
29164
|
return false;
|
|
29148
29165
|
}
|
|
29149
|
-
function prefixIssues(
|
|
29166
|
+
function prefixIssues(path10, issues) {
|
|
29150
29167
|
return issues.map((iss) => {
|
|
29151
29168
|
var _a2;
|
|
29152
29169
|
(_a2 = iss).path ?? (_a2.path = []);
|
|
29153
|
-
iss.path.unshift(
|
|
29170
|
+
iss.path.unshift(path10);
|
|
29154
29171
|
return iss;
|
|
29155
29172
|
});
|
|
29156
29173
|
}
|
|
@@ -29333,7 +29350,7 @@ function formatError(error48, mapper = (issue2) => issue2.message) {
|
|
|
29333
29350
|
}
|
|
29334
29351
|
function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
29335
29352
|
const result = { errors: [] };
|
|
29336
|
-
const processError = (error49,
|
|
29353
|
+
const processError = (error49, path10 = []) => {
|
|
29337
29354
|
var _a2, _b;
|
|
29338
29355
|
for (const issue2 of error49.issues) {
|
|
29339
29356
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
@@ -29343,7 +29360,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
29343
29360
|
} else if (issue2.code === "invalid_element") {
|
|
29344
29361
|
processError({ issues: issue2.issues }, issue2.path);
|
|
29345
29362
|
} else {
|
|
29346
|
-
const fullpath = [...
|
|
29363
|
+
const fullpath = [...path10, ...issue2.path];
|
|
29347
29364
|
if (fullpath.length === 0) {
|
|
29348
29365
|
result.errors.push(mapper(issue2));
|
|
29349
29366
|
continue;
|
|
@@ -29375,8 +29392,8 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
29375
29392
|
}
|
|
29376
29393
|
function toDotPath(_path) {
|
|
29377
29394
|
const segs = [];
|
|
29378
|
-
const
|
|
29379
|
-
for (const seg of
|
|
29395
|
+
const path10 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
|
|
29396
|
+
for (const seg of path10) {
|
|
29380
29397
|
if (typeof seg === "number")
|
|
29381
29398
|
segs.push(`[${seg}]`);
|
|
29382
29399
|
else if (typeof seg === "symbol")
|
|
@@ -41353,13 +41370,13 @@ function resolveRef(ref, ctx) {
|
|
|
41353
41370
|
if (!ref.startsWith("#")) {
|
|
41354
41371
|
throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
|
|
41355
41372
|
}
|
|
41356
|
-
const
|
|
41357
|
-
if (
|
|
41373
|
+
const path10 = ref.slice(1).split("/").filter(Boolean);
|
|
41374
|
+
if (path10.length === 0) {
|
|
41358
41375
|
return ctx.rootSchema;
|
|
41359
41376
|
}
|
|
41360
41377
|
const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
|
|
41361
|
-
if (
|
|
41362
|
-
const key =
|
|
41378
|
+
if (path10[0] === defsKey) {
|
|
41379
|
+
const key = path10[1];
|
|
41363
41380
|
if (!key || !ctx.defs[key]) {
|
|
41364
41381
|
throw new Error(`Reference not found: ${ref}`);
|
|
41365
41382
|
}
|
|
@@ -42498,6 +42515,253 @@ async function logoutCommand() {
|
|
|
42498
42515
|
// src/index.ts
|
|
42499
42516
|
init_version_check();
|
|
42500
42517
|
|
|
42518
|
+
// src/utils/skills-sync.ts
|
|
42519
|
+
init_source();
|
|
42520
|
+
|
|
42521
|
+
// src/utils/debug.ts
|
|
42522
|
+
init_source();
|
|
42523
|
+
function debugLog(message) {
|
|
42524
|
+
if (process.env["MELTCTL_DEBUG"]) {
|
|
42525
|
+
console.error(source_default.dim(`[debug] ${message}`));
|
|
42526
|
+
}
|
|
42527
|
+
}
|
|
42528
|
+
|
|
42529
|
+
// src/commands/skills.ts
|
|
42530
|
+
init_source();
|
|
42531
|
+
var import_fs_extra3 = __toESM(require_lib(), 1);
|
|
42532
|
+
import { createHash } from "crypto";
|
|
42533
|
+
import os5 from "os";
|
|
42534
|
+
import path5 from "path";
|
|
42535
|
+
|
|
42536
|
+
// src/utils/api.ts
|
|
42537
|
+
init_source();
|
|
42538
|
+
async function getToken() {
|
|
42539
|
+
const envToken = process.env["MELTCTL_TOKEN"];
|
|
42540
|
+
if (envToken) {
|
|
42541
|
+
return envToken;
|
|
42542
|
+
}
|
|
42543
|
+
const auth = await getStoredAuth();
|
|
42544
|
+
if (!auth) {
|
|
42545
|
+
console.error(
|
|
42546
|
+
source_default.red(
|
|
42547
|
+
"Not authenticated. Run `npx @meltstudio/meltctl@latest login` or set MELTCTL_TOKEN for CI."
|
|
42548
|
+
)
|
|
42549
|
+
);
|
|
42550
|
+
process.exit(1);
|
|
42551
|
+
}
|
|
42552
|
+
if (new Date(auth.expiresAt) <= /* @__PURE__ */ new Date()) {
|
|
42553
|
+
console.error(
|
|
42554
|
+
source_default.red(
|
|
42555
|
+
"Session expired. Run `npx @meltstudio/meltctl@latest login` to re-authenticate, or set MELTCTL_TOKEN for CI."
|
|
42556
|
+
)
|
|
42557
|
+
);
|
|
42558
|
+
process.exit(1);
|
|
42559
|
+
}
|
|
42560
|
+
return auth.token;
|
|
42561
|
+
}
|
|
42562
|
+
async function getClient() {
|
|
42563
|
+
const token = await getToken();
|
|
42564
|
+
return createMeltClient({ baseUrl: API_BASE, token });
|
|
42565
|
+
}
|
|
42566
|
+
|
|
42567
|
+
// src/commands/skills.ts
|
|
42568
|
+
var MARKER_FILE = ".melt-skills.json";
|
|
42569
|
+
function getSkillsRoot() {
|
|
42570
|
+
return path5.join(os5.homedir(), ".claude", "skills");
|
|
42571
|
+
}
|
|
42572
|
+
function computeSkillHash(files) {
|
|
42573
|
+
const hash2 = createHash("sha256");
|
|
42574
|
+
for (const filePath of Object.keys(files).sort()) {
|
|
42575
|
+
hash2.update(filePath);
|
|
42576
|
+
hash2.update(files[filePath] ?? "");
|
|
42577
|
+
}
|
|
42578
|
+
return hash2.digest("hex").slice(0, 12);
|
|
42579
|
+
}
|
|
42580
|
+
function readMarker(skillsRoot) {
|
|
42581
|
+
const markerPath = path5.join(skillsRoot, MARKER_FILE);
|
|
42582
|
+
if (!import_fs_extra3.default.existsSync(markerPath)) return null;
|
|
42583
|
+
try {
|
|
42584
|
+
const raw = import_fs_extra3.default.readJsonSync(markerPath);
|
|
42585
|
+
const skills2 = Array.isArray(raw.skills) ? raw.skills.map((entry) => {
|
|
42586
|
+
if (typeof entry === "string") {
|
|
42587
|
+
return { name: entry, hash: "" };
|
|
42588
|
+
}
|
|
42589
|
+
if (entry && typeof entry === "object") {
|
|
42590
|
+
const e = entry;
|
|
42591
|
+
return {
|
|
42592
|
+
name: typeof e.name === "string" ? e.name : "",
|
|
42593
|
+
hash: typeof e.hash === "string" ? e.hash : ""
|
|
42594
|
+
};
|
|
42595
|
+
}
|
|
42596
|
+
return { name: "", hash: "" };
|
|
42597
|
+
}) : [];
|
|
42598
|
+
return {
|
|
42599
|
+
version: typeof raw.version === "string" ? raw.version : "",
|
|
42600
|
+
installedAt: typeof raw.installedAt === "string" ? raw.installedAt : "",
|
|
42601
|
+
lastCheckedAt: typeof raw.lastCheckedAt === "string" ? raw.lastCheckedAt : void 0,
|
|
42602
|
+
skills: skills2
|
|
42603
|
+
};
|
|
42604
|
+
} catch {
|
|
42605
|
+
return null;
|
|
42606
|
+
}
|
|
42607
|
+
}
|
|
42608
|
+
function computeDiff(previous, next) {
|
|
42609
|
+
const prevByName = new Map(previous.map((s) => [s.name, s]));
|
|
42610
|
+
const nextNames = new Set(next.map((s) => s.name));
|
|
42611
|
+
const added = [];
|
|
42612
|
+
const changed = [];
|
|
42613
|
+
for (const skill of next) {
|
|
42614
|
+
const prev = prevByName.get(skill.name);
|
|
42615
|
+
if (!prev) {
|
|
42616
|
+
added.push(skill.name);
|
|
42617
|
+
continue;
|
|
42618
|
+
}
|
|
42619
|
+
if (prev.hash && prev.hash !== skill.hash) {
|
|
42620
|
+
changed.push(skill.name);
|
|
42621
|
+
}
|
|
42622
|
+
}
|
|
42623
|
+
const removed = previous.filter((s) => s.name && !nextNames.has(s.name)).map((s) => s.name);
|
|
42624
|
+
return { added, changed, removed };
|
|
42625
|
+
}
|
|
42626
|
+
function applyDevSkills(manifest, skillsRoot) {
|
|
42627
|
+
const previous = readMarker(skillsRoot)?.skills ?? [];
|
|
42628
|
+
const nextEntries = manifest.skills.map((s) => ({
|
|
42629
|
+
name: s.name,
|
|
42630
|
+
hash: computeSkillHash(s.files)
|
|
42631
|
+
}));
|
|
42632
|
+
const diff = computeDiff(previous, nextEntries);
|
|
42633
|
+
for (const name of diff.removed) {
|
|
42634
|
+
import_fs_extra3.default.removeSync(path5.join(skillsRoot, name));
|
|
42635
|
+
}
|
|
42636
|
+
for (const skill of manifest.skills) {
|
|
42637
|
+
const dir = path5.join(skillsRoot, skill.name);
|
|
42638
|
+
import_fs_extra3.default.removeSync(dir);
|
|
42639
|
+
for (const [relPath, content] of Object.entries(skill.files)) {
|
|
42640
|
+
import_fs_extra3.default.outputFileSync(path5.join(dir, relPath), content);
|
|
42641
|
+
}
|
|
42642
|
+
}
|
|
42643
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
42644
|
+
const marker = {
|
|
42645
|
+
version: manifest.version,
|
|
42646
|
+
installedAt: now,
|
|
42647
|
+
lastCheckedAt: now,
|
|
42648
|
+
skills: nextEntries
|
|
42649
|
+
};
|
|
42650
|
+
import_fs_extra3.default.outputFileSync(path5.join(skillsRoot, MARKER_FILE), `${JSON.stringify(marker, null, 2)}
|
|
42651
|
+
`);
|
|
42652
|
+
return diff;
|
|
42653
|
+
}
|
|
42654
|
+
function touchMarkerLastChecked(skillsRoot) {
|
|
42655
|
+
const marker = readMarker(skillsRoot);
|
|
42656
|
+
if (!marker) return;
|
|
42657
|
+
marker.lastCheckedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
42658
|
+
import_fs_extra3.default.outputFileSync(path5.join(skillsRoot, MARKER_FILE), `${JSON.stringify(marker, null, 2)}
|
|
42659
|
+
`);
|
|
42660
|
+
}
|
|
42661
|
+
async function skillsInstallCommand(opts) {
|
|
42662
|
+
const client = await getClient();
|
|
42663
|
+
let manifest;
|
|
42664
|
+
try {
|
|
42665
|
+
manifest = await client.skills.getDevSkills();
|
|
42666
|
+
} catch (error48) {
|
|
42667
|
+
console.error(
|
|
42668
|
+
source_default.red(
|
|
42669
|
+
`Failed to fetch Melt dev skills: ${error48 instanceof Error ? error48.message : "Unknown error"}`
|
|
42670
|
+
)
|
|
42671
|
+
);
|
|
42672
|
+
process.exit(1);
|
|
42673
|
+
}
|
|
42674
|
+
const skillsRoot = getSkillsRoot();
|
|
42675
|
+
const existing = readMarker(skillsRoot);
|
|
42676
|
+
if (existing && existing.version === manifest.version && !opts.force) {
|
|
42677
|
+
console.log(
|
|
42678
|
+
source_default.dim(
|
|
42679
|
+
`
|
|
42680
|
+
Melt dev skills already up to date (v${manifest.version}). Use --force to reinstall.
|
|
42681
|
+
`
|
|
42682
|
+
)
|
|
42683
|
+
);
|
|
42684
|
+
return;
|
|
42685
|
+
}
|
|
42686
|
+
applyDevSkills(manifest, skillsRoot);
|
|
42687
|
+
console.log(
|
|
42688
|
+
source_default.green(
|
|
42689
|
+
`
|
|
42690
|
+
\u2713 Installed ${manifest.skills.length} Melt dev skills (v${manifest.version}) to ~/.claude/skills/.`
|
|
42691
|
+
)
|
|
42692
|
+
);
|
|
42693
|
+
console.log(
|
|
42694
|
+
source_default.dim(
|
|
42695
|
+
" Restart Claude Code to load them (they appear as /melt-dev-plan, /melt-dev-review, \u2026).\n"
|
|
42696
|
+
)
|
|
42697
|
+
);
|
|
42698
|
+
}
|
|
42699
|
+
|
|
42700
|
+
// src/utils/skills-sync.ts
|
|
42701
|
+
var TWENTY_FOUR_HOURS_MS = 24 * 60 * 60 * 1e3;
|
|
42702
|
+
var SKIP_SYNC_COMMANDS = /* @__PURE__ */ new Set(["skills", "login", "logout", "update", "version"]);
|
|
42703
|
+
function formatSyncNotice(oldVersion, newVersion, diff) {
|
|
42704
|
+
const groups = [];
|
|
42705
|
+
if (diff.changed.length > 0) groups.push(`changed ${diff.changed.join(", ")}`);
|
|
42706
|
+
if (diff.added.length > 0) groups.push(`added ${diff.added.join(", ")}`);
|
|
42707
|
+
if (diff.removed.length > 0) groups.push(`removed ${diff.removed.join(", ")}`);
|
|
42708
|
+
const suffix = groups.length > 0 ? `: ${groups.join("; ")}` : "";
|
|
42709
|
+
return `\u2191 Melt dev skills updated (v${oldVersion} \u2192 v${newVersion})${suffix}`;
|
|
42710
|
+
}
|
|
42711
|
+
function isCheckDue(lastCheckedAt, now) {
|
|
42712
|
+
if (!lastCheckedAt) return true;
|
|
42713
|
+
const last = Date.parse(lastCheckedAt);
|
|
42714
|
+
if (Number.isNaN(last)) return true;
|
|
42715
|
+
return now - last >= TWENTY_FOUR_HOURS_MS;
|
|
42716
|
+
}
|
|
42717
|
+
async function maybeSyncSkills(commandName) {
|
|
42718
|
+
try {
|
|
42719
|
+
if (process.env["MELTCTL_SKIP_SKILLS_SYNC"]) {
|
|
42720
|
+
debugLog("Skills sync disabled via MELTCTL_SKIP_SKILLS_SYNC");
|
|
42721
|
+
return;
|
|
42722
|
+
}
|
|
42723
|
+
if (commandName && SKIP_SYNC_COMMANDS.has(commandName)) {
|
|
42724
|
+
debugLog(`Skills sync skipped for command "${commandName}"`);
|
|
42725
|
+
return;
|
|
42726
|
+
}
|
|
42727
|
+
const auth = await getStoredAuth();
|
|
42728
|
+
if (!auth || new Date(auth.expiresAt) <= /* @__PURE__ */ new Date()) {
|
|
42729
|
+
debugLog("Skills sync skipped: not authenticated or token expired");
|
|
42730
|
+
return;
|
|
42731
|
+
}
|
|
42732
|
+
const skillsRoot = getSkillsRoot();
|
|
42733
|
+
const marker = readMarker(skillsRoot);
|
|
42734
|
+
if (!marker) {
|
|
42735
|
+
debugLog("Skills sync skipped: no skills marker (not installed)");
|
|
42736
|
+
return;
|
|
42737
|
+
}
|
|
42738
|
+
if (!isCheckDue(marker.lastCheckedAt, Date.now())) {
|
|
42739
|
+
debugLog("Skills sync skipped: checked within the last 24h");
|
|
42740
|
+
return;
|
|
42741
|
+
}
|
|
42742
|
+
const client = createMeltClient({ baseUrl: API_BASE, token: auth.token });
|
|
42743
|
+
let manifest;
|
|
42744
|
+
try {
|
|
42745
|
+
manifest = await client.skills.getDevSkills();
|
|
42746
|
+
} catch (e) {
|
|
42747
|
+
touchMarkerLastChecked(skillsRoot);
|
|
42748
|
+
debugLog(`Skills sync fetch error: ${e instanceof Error ? e.message : e}`);
|
|
42749
|
+
return;
|
|
42750
|
+
}
|
|
42751
|
+
if (manifest.version === marker.version) {
|
|
42752
|
+
touchMarkerLastChecked(skillsRoot);
|
|
42753
|
+
debugLog("Skills sync: already up to date");
|
|
42754
|
+
return;
|
|
42755
|
+
}
|
|
42756
|
+
const oldVersion = marker.version;
|
|
42757
|
+
const diff = applyDevSkills(manifest, skillsRoot);
|
|
42758
|
+
console.log(source_default.dim(source_default.green(formatSyncNotice(oldVersion, manifest.version, diff))));
|
|
42759
|
+
debugLog(`Skills sync: updated ${oldVersion} \u2192 ${manifest.version}`);
|
|
42760
|
+
} catch (e) {
|
|
42761
|
+
debugLog(`Skills sync error: ${e instanceof Error ? e.message : e}`);
|
|
42762
|
+
}
|
|
42763
|
+
}
|
|
42764
|
+
|
|
42501
42765
|
// src/commands/version.ts
|
|
42502
42766
|
init_source();
|
|
42503
42767
|
init_version_check();
|
|
@@ -42594,39 +42858,6 @@ async function versionCheckCommand() {
|
|
|
42594
42858
|
// src/commands/standup.ts
|
|
42595
42859
|
init_source();
|
|
42596
42860
|
init_dist11();
|
|
42597
|
-
|
|
42598
|
-
// src/utils/api.ts
|
|
42599
|
-
init_source();
|
|
42600
|
-
async function getToken() {
|
|
42601
|
-
const envToken = process.env["MELTCTL_TOKEN"];
|
|
42602
|
-
if (envToken) {
|
|
42603
|
-
return envToken;
|
|
42604
|
-
}
|
|
42605
|
-
const auth = await getStoredAuth();
|
|
42606
|
-
if (!auth) {
|
|
42607
|
-
console.error(
|
|
42608
|
-
source_default.red(
|
|
42609
|
-
"Not authenticated. Run `npx @meltstudio/meltctl@latest login` or set MELTCTL_TOKEN for CI."
|
|
42610
|
-
)
|
|
42611
|
-
);
|
|
42612
|
-
process.exit(1);
|
|
42613
|
-
}
|
|
42614
|
-
if (new Date(auth.expiresAt) <= /* @__PURE__ */ new Date()) {
|
|
42615
|
-
console.error(
|
|
42616
|
-
source_default.red(
|
|
42617
|
-
"Session expired. Run `npx @meltstudio/meltctl@latest login` to re-authenticate, or set MELTCTL_TOKEN for CI."
|
|
42618
|
-
)
|
|
42619
|
-
);
|
|
42620
|
-
process.exit(1);
|
|
42621
|
-
}
|
|
42622
|
-
return auth.token;
|
|
42623
|
-
}
|
|
42624
|
-
async function getClient() {
|
|
42625
|
-
const token = await getToken();
|
|
42626
|
-
return createMeltClient({ baseUrl: API_BASE, token });
|
|
42627
|
-
}
|
|
42628
|
-
|
|
42629
|
-
// src/commands/standup.ts
|
|
42630
42861
|
var EDITOR_HINT = source_default.dim("(type \\e to open your editor)");
|
|
42631
42862
|
async function promptField(message, required2) {
|
|
42632
42863
|
const value = await dist_default7({ message: `${message} ${EDITOR_HINT}` });
|
|
@@ -42848,12 +43079,12 @@ async function showLeaderboard() {
|
|
|
42848
43079
|
|
|
42849
43080
|
// src/commands/audit.ts
|
|
42850
43081
|
init_source();
|
|
42851
|
-
var
|
|
42852
|
-
import
|
|
43082
|
+
var import_fs_extra5 = __toESM(require_lib(), 1);
|
|
43083
|
+
import path7 from "path";
|
|
42853
43084
|
|
|
42854
43085
|
// src/utils/git.ts
|
|
42855
|
-
var
|
|
42856
|
-
import
|
|
43086
|
+
var import_fs_extra4 = __toESM(require_lib(), 1);
|
|
43087
|
+
import path6 from "path";
|
|
42857
43088
|
import { execSync as execSync4 } from "child_process";
|
|
42858
43089
|
function getGitBranch() {
|
|
42859
43090
|
try {
|
|
@@ -42891,34 +43122,34 @@ function getGitRepository() {
|
|
|
42891
43122
|
function getProjectName() {
|
|
42892
43123
|
const cwd = process.cwd();
|
|
42893
43124
|
try {
|
|
42894
|
-
const pkgPath =
|
|
42895
|
-
if (
|
|
42896
|
-
const pkg =
|
|
43125
|
+
const pkgPath = path6.join(cwd, "package.json");
|
|
43126
|
+
if (import_fs_extra4.default.pathExistsSync(pkgPath)) {
|
|
43127
|
+
const pkg = import_fs_extra4.default.readJsonSync(pkgPath);
|
|
42897
43128
|
if (pkg.name) {
|
|
42898
43129
|
return pkg.name;
|
|
42899
43130
|
}
|
|
42900
43131
|
}
|
|
42901
43132
|
} catch {
|
|
42902
43133
|
}
|
|
42903
|
-
return
|
|
43134
|
+
return path6.basename(cwd);
|
|
42904
43135
|
}
|
|
42905
43136
|
function extractTicketId(branch) {
|
|
42906
43137
|
const match = branch.match(/([A-Z]+-\d+)/i);
|
|
42907
43138
|
return match ? match[1] : null;
|
|
42908
43139
|
}
|
|
42909
43140
|
async function findMdFiles(dir) {
|
|
42910
|
-
if (!await
|
|
43141
|
+
if (!await import_fs_extra4.default.pathExists(dir)) {
|
|
42911
43142
|
return [];
|
|
42912
43143
|
}
|
|
42913
43144
|
const results = [];
|
|
42914
43145
|
async function walk(current) {
|
|
42915
|
-
const entries = await
|
|
43146
|
+
const entries = await import_fs_extra4.default.readdir(current, { withFileTypes: true });
|
|
42916
43147
|
for (const entry of entries) {
|
|
42917
|
-
const fullPath =
|
|
43148
|
+
const fullPath = path6.join(current, entry.name);
|
|
42918
43149
|
if (entry.isDirectory()) {
|
|
42919
43150
|
await walk(fullPath);
|
|
42920
43151
|
} else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
42921
|
-
const stat = await
|
|
43152
|
+
const stat = await import_fs_extra4.default.stat(fullPath);
|
|
42922
43153
|
results.push({ path: fullPath, mtime: stat.mtimeMs });
|
|
42923
43154
|
}
|
|
42924
43155
|
}
|
|
@@ -42937,15 +43168,15 @@ function detectAuditType(filename) {
|
|
|
42937
43168
|
}
|
|
42938
43169
|
async function autoDetectAuditFile() {
|
|
42939
43170
|
const cwd = process.cwd();
|
|
42940
|
-
const auditsDir =
|
|
43171
|
+
const auditsDir = path7.join(cwd, ".audits");
|
|
42941
43172
|
const auditFiles = await findMdFiles(auditsDir);
|
|
42942
43173
|
if (auditFiles.length > 0) {
|
|
42943
43174
|
return auditFiles[0] ?? null;
|
|
42944
43175
|
}
|
|
42945
43176
|
const candidates = ["AUDIT.md", "UX-AUDIT.md", "SECURITY-AUDIT.md"];
|
|
42946
43177
|
for (const name of candidates) {
|
|
42947
|
-
const filePath =
|
|
42948
|
-
if (await
|
|
43178
|
+
const filePath = path7.join(cwd, name);
|
|
43179
|
+
if (await import_fs_extra5.default.pathExists(filePath)) {
|
|
42949
43180
|
return filePath;
|
|
42950
43181
|
}
|
|
42951
43182
|
}
|
|
@@ -42955,7 +43186,7 @@ async function auditSubmitCommand(file2) {
|
|
|
42955
43186
|
const client = await getClient();
|
|
42956
43187
|
let filePath;
|
|
42957
43188
|
if (file2) {
|
|
42958
|
-
filePath =
|
|
43189
|
+
filePath = path7.resolve(file2);
|
|
42959
43190
|
} else {
|
|
42960
43191
|
const detected = await autoDetectAuditFile();
|
|
42961
43192
|
if (!detected) {
|
|
@@ -42967,14 +43198,14 @@ async function auditSubmitCommand(file2) {
|
|
|
42967
43198
|
process.exit(1);
|
|
42968
43199
|
}
|
|
42969
43200
|
filePath = detected;
|
|
42970
|
-
console.log(source_default.dim(`Auto-detected audit file: ${
|
|
43201
|
+
console.log(source_default.dim(`Auto-detected audit file: ${path7.relative(process.cwd(), filePath)}`));
|
|
42971
43202
|
}
|
|
42972
|
-
if (!await
|
|
43203
|
+
if (!await import_fs_extra5.default.pathExists(filePath)) {
|
|
42973
43204
|
console.error(source_default.red(`File not found: ${filePath}`));
|
|
42974
43205
|
process.exit(1);
|
|
42975
43206
|
}
|
|
42976
|
-
const content = await
|
|
42977
|
-
const filename =
|
|
43207
|
+
const content = await import_fs_extra5.default.readFile(filePath, "utf-8");
|
|
43208
|
+
const filename = path7.basename(filePath);
|
|
42978
43209
|
const auditType = detectAuditType(filename);
|
|
42979
43210
|
const project2 = getProjectName();
|
|
42980
43211
|
const branch = getGitBranch();
|
|
@@ -43099,11 +43330,11 @@ async function auditViewCommand(id, options) {
|
|
|
43099
43330
|
try {
|
|
43100
43331
|
const audit2 = await client.audits.get(id);
|
|
43101
43332
|
if (options.output) {
|
|
43102
|
-
const outputPath =
|
|
43103
|
-
await
|
|
43104
|
-
await
|
|
43333
|
+
const outputPath = path7.resolve(options.output);
|
|
43334
|
+
await import_fs_extra5.default.ensureDir(path7.dirname(outputPath));
|
|
43335
|
+
await import_fs_extra5.default.writeFile(outputPath, audit2.content, "utf-8");
|
|
43105
43336
|
console.log(source_default.green(`
|
|
43106
|
-
\u2713 Audit saved to ${
|
|
43337
|
+
\u2713 Audit saved to ${path7.relative(process.cwd(), outputPath)}
|
|
43107
43338
|
`));
|
|
43108
43339
|
} else {
|
|
43109
43340
|
const typeLabels = {
|
|
@@ -43135,8 +43366,8 @@ async function auditViewCommand(id, options) {
|
|
|
43135
43366
|
|
|
43136
43367
|
// src/commands/plan.ts
|
|
43137
43368
|
init_source();
|
|
43138
|
-
var
|
|
43139
|
-
import
|
|
43369
|
+
var import_fs_extra6 = __toESM(require_lib(), 1);
|
|
43370
|
+
import path8 from "path";
|
|
43140
43371
|
function extractFrontmatterStatus(content) {
|
|
43141
43372
|
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
43142
43373
|
if (!match) return null;
|
|
@@ -43145,7 +43376,7 @@ function extractFrontmatterStatus(content) {
|
|
|
43145
43376
|
}
|
|
43146
43377
|
async function autoDetectPlanFile() {
|
|
43147
43378
|
const cwd = process.cwd();
|
|
43148
|
-
const plansDir =
|
|
43379
|
+
const plansDir = path8.join(cwd, ".plans");
|
|
43149
43380
|
const mdFiles = await findMdFiles(plansDir);
|
|
43150
43381
|
if (mdFiles.length === 0) {
|
|
43151
43382
|
return null;
|
|
@@ -43154,7 +43385,7 @@ async function autoDetectPlanFile() {
|
|
|
43154
43385
|
const ticketId = extractTicketId(branch);
|
|
43155
43386
|
if (ticketId) {
|
|
43156
43387
|
const ticketLower = ticketId.toLowerCase();
|
|
43157
|
-
const match = mdFiles.find((f) =>
|
|
43388
|
+
const match = mdFiles.find((f) => path8.basename(f).toLowerCase().includes(ticketLower));
|
|
43158
43389
|
if (match) {
|
|
43159
43390
|
return match;
|
|
43160
43391
|
}
|
|
@@ -43165,7 +43396,7 @@ async function planSubmitCommand(file2) {
|
|
|
43165
43396
|
const client = await getClient();
|
|
43166
43397
|
let filePath;
|
|
43167
43398
|
if (file2) {
|
|
43168
|
-
filePath =
|
|
43399
|
+
filePath = path8.resolve(file2);
|
|
43169
43400
|
} else {
|
|
43170
43401
|
const detected = await autoDetectPlanFile();
|
|
43171
43402
|
if (!detected) {
|
|
@@ -43177,14 +43408,14 @@ async function planSubmitCommand(file2) {
|
|
|
43177
43408
|
process.exit(1);
|
|
43178
43409
|
}
|
|
43179
43410
|
filePath = detected;
|
|
43180
|
-
console.log(source_default.dim(`Auto-detected plan file: ${
|
|
43411
|
+
console.log(source_default.dim(`Auto-detected plan file: ${path8.relative(process.cwd(), filePath)}`));
|
|
43181
43412
|
}
|
|
43182
|
-
if (!await
|
|
43413
|
+
if (!await import_fs_extra6.default.pathExists(filePath)) {
|
|
43183
43414
|
console.error(source_default.red(`File not found: ${filePath}`));
|
|
43184
43415
|
process.exit(1);
|
|
43185
43416
|
}
|
|
43186
|
-
const content = await
|
|
43187
|
-
const filename =
|
|
43417
|
+
const content = await import_fs_extra6.default.readFile(filePath, "utf-8");
|
|
43418
|
+
const filename = path8.basename(filePath);
|
|
43188
43419
|
const project2 = getProjectName();
|
|
43189
43420
|
const branch = getGitBranch();
|
|
43190
43421
|
const commit = getGitCommit();
|
|
@@ -43274,14 +43505,6 @@ async function planListCommand(options) {
|
|
|
43274
43505
|
// src/index.ts
|
|
43275
43506
|
init_update();
|
|
43276
43507
|
|
|
43277
|
-
// src/utils/debug.ts
|
|
43278
|
-
init_source();
|
|
43279
|
-
function debugLog(message) {
|
|
43280
|
-
if (process.env["MELTCTL_DEBUG"]) {
|
|
43281
|
-
console.error(source_default.dim(`[debug] ${message}`));
|
|
43282
|
-
}
|
|
43283
|
-
}
|
|
43284
|
-
|
|
43285
43508
|
// src/utils/analytics.ts
|
|
43286
43509
|
init_version();
|
|
43287
43510
|
async function trackCommand(command, success2, errorMessage) {
|
|
@@ -44957,8 +45180,8 @@ var StdioServerTransport = class {
|
|
|
44957
45180
|
|
|
44958
45181
|
// ../meltctl-mcp/dist/index.js
|
|
44959
45182
|
import { readFile } from "fs/promises";
|
|
44960
|
-
import
|
|
44961
|
-
import
|
|
45183
|
+
import path9 from "path";
|
|
45184
|
+
import os6 from "os";
|
|
44962
45185
|
|
|
44963
45186
|
// ../../node_modules/zod/v3/helpers/util.js
|
|
44964
45187
|
var util;
|
|
@@ -45319,8 +45542,8 @@ function getErrorMap2() {
|
|
|
45319
45542
|
|
|
45320
45543
|
// ../../node_modules/zod/v3/helpers/parseUtil.js
|
|
45321
45544
|
var makeIssue = (params) => {
|
|
45322
|
-
const { data, path:
|
|
45323
|
-
const fullPath = [...
|
|
45545
|
+
const { data, path: path10, errorMaps, issueData } = params;
|
|
45546
|
+
const fullPath = [...path10, ...issueData.path || []];
|
|
45324
45547
|
const fullIssue = {
|
|
45325
45548
|
...issueData,
|
|
45326
45549
|
path: fullPath
|
|
@@ -45435,11 +45658,11 @@ var errorUtil;
|
|
|
45435
45658
|
|
|
45436
45659
|
// ../../node_modules/zod/v3/types.js
|
|
45437
45660
|
var ParseInputLazyPath = class {
|
|
45438
|
-
constructor(parent, value,
|
|
45661
|
+
constructor(parent, value, path10, key) {
|
|
45439
45662
|
this._cachedPath = [];
|
|
45440
45663
|
this.parent = parent;
|
|
45441
45664
|
this.data = value;
|
|
45442
|
-
this._path =
|
|
45665
|
+
this._path = path10;
|
|
45443
45666
|
this._key = key;
|
|
45444
45667
|
}
|
|
45445
45668
|
get path() {
|
|
@@ -53209,6 +53432,20 @@ function createTemplatesResource2(config2) {
|
|
|
53209
53432
|
}
|
|
53210
53433
|
};
|
|
53211
53434
|
}
|
|
53435
|
+
function createSkillsResource2(config2) {
|
|
53436
|
+
return {
|
|
53437
|
+
async getDevSkills() {
|
|
53438
|
+
const { data, status } = await apiFetch2(config2, "/skills/dev", {
|
|
53439
|
+
method: "GET"
|
|
53440
|
+
});
|
|
53441
|
+
if (status !== 200) {
|
|
53442
|
+
const error48 = data.error;
|
|
53443
|
+
throw new Error(error48 ?? `Failed to fetch dev skills (${status})`);
|
|
53444
|
+
}
|
|
53445
|
+
return data;
|
|
53446
|
+
}
|
|
53447
|
+
};
|
|
53448
|
+
}
|
|
53212
53449
|
function createAuthResource2(config2) {
|
|
53213
53450
|
return {
|
|
53214
53451
|
async exchangeToken(code, redirectUri) {
|
|
@@ -54315,6 +54552,7 @@ function createMeltClient2(config2) {
|
|
|
54315
54552
|
feedback: createFeedbackResource2(config2),
|
|
54316
54553
|
coins: createCoinsResource2(config2),
|
|
54317
54554
|
templates: createTemplatesResource2(config2),
|
|
54555
|
+
skills: createSkillsResource2(config2),
|
|
54318
54556
|
auth: createAuthResource2(config2),
|
|
54319
54557
|
people: createPeopleResource2(config2),
|
|
54320
54558
|
projects: createProjectsResource2(config2),
|
|
@@ -54773,8 +55011,8 @@ var ISSUE_RULES2 = [
|
|
|
54773
55011
|
];
|
|
54774
55012
|
var RULE_BY_ID2 = new Map(ISSUE_RULES2.map((r) => [r.id, r]));
|
|
54775
55013
|
var FOURTEEN_DAYS_MS2 = 14 * 24 * 60 * 60 * 1e3;
|
|
54776
|
-
var AUTH_DIR2 =
|
|
54777
|
-
var AUTH_FILE2 =
|
|
55014
|
+
var AUTH_DIR2 = path9.join(os6.homedir(), ".meltctl");
|
|
55015
|
+
var AUTH_FILE2 = path9.join(AUTH_DIR2, "auth.json");
|
|
54778
55016
|
var API_BASE2 = process.env["MELTCTL_API_URL"] ?? "https://api.meltctl.meltstudio.co";
|
|
54779
55017
|
var AuthError = class extends Error {
|
|
54780
55018
|
constructor(message) {
|
|
@@ -55648,7 +55886,7 @@ program2.name("meltctl").description(
|
|
|
55648
55886
|
}).addHelpText(
|
|
55649
55887
|
"after",
|
|
55650
55888
|
`
|
|
55651
|
-
${source_default.bold("AI Skills")} ${source_default.dim("(run these in Claude Code, not the CLI \u2014
|
|
55889
|
+
${source_default.bold("AI Skills")} ${source_default.dim("(run these in Claude Code, not the CLI \u2014 run `meltctl skills install` to load them in the CLI):")}
|
|
55652
55890
|
${source_default.dim(" /melt-dev-setup Analyze the project and customize AGENTS.md")}
|
|
55653
55891
|
${source_default.dim(" /melt-dev-link Connect and verify ticket tracker + browser testing")}
|
|
55654
55892
|
${source_default.dim(" /melt-dev-plan Design an implementation approach before writing code")}
|
|
@@ -55661,6 +55899,9 @@ ${source_default.dim(" /melt-dev-ux-audit Review UI against usability h
|
|
|
55661
55899
|
${source_default.dim(" /melt-dev-security-audit Run a security posture audit across the platform")}
|
|
55662
55900
|
${source_default.dim(" /melt-dev-help Answer questions about the development playbook")}
|
|
55663
55901
|
|
|
55902
|
+
${source_default.bold("Setup")}
|
|
55903
|
+
${source_default.dim(" skills install Install the dev skills (/melt-dev-*) into Claude Code")}
|
|
55904
|
+
|
|
55664
55905
|
${source_default.bold("Admin Commands")} ${source_default.dim("(used by skills and team managers):")}
|
|
55665
55906
|
${source_default.dim(" audit submit [file] Submit an audit report")}
|
|
55666
55907
|
${source_default.dim(" audit list List audits (managers only)")}
|
|
@@ -55675,6 +55916,7 @@ ${source_default.dim(" event track --skill Track skill usage (called by skil
|
|
|
55675
55916
|
cmd = cmd.parent;
|
|
55676
55917
|
}
|
|
55677
55918
|
await checkAndEnforceUpdate(cmd.name());
|
|
55919
|
+
await maybeSyncSkills(cmd.name());
|
|
55678
55920
|
}).hook("postAction", async (_thisCommand, actionCommand) => {
|
|
55679
55921
|
try {
|
|
55680
55922
|
const parts = [];
|
|
@@ -55698,6 +55940,10 @@ program2.command("mcp").description(
|
|
|
55698
55940
|
).action(async () => {
|
|
55699
55941
|
await mcpCommand();
|
|
55700
55942
|
});
|
|
55943
|
+
var skills = program2.command("skills").description("install the Melt dev skills (/melt-dev-*) into Claude Code");
|
|
55944
|
+
skills.command("install").description("install the Melt dev skills into ~/.claude/skills/ (re-run to update)").option("--force", "reinstall even if already up to date").action(async (options) => {
|
|
55945
|
+
await skillsInstallCommand(options);
|
|
55946
|
+
});
|
|
55701
55947
|
var project = program2.command("project").description("manage project configuration").addHelpText(
|
|
55702
55948
|
"after",
|
|
55703
55949
|
`
|