@vc-shell/framework 2.0.0-alpha.23 → 2.0.0-alpha.25
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/CHANGELOG.md +46 -0
- package/dist/ai-agent/index.js +2 -2
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-DHLKAqm0.js +6523 -0
- package/dist/chunks/{VcTableAdapter.vue_vue_type_style_index_0_lang-BBV3uTdi.js → VcTableAdapter.vue_vue_type_style_index_0_lang-TnE_L5Rp.js} +7458 -7484
- package/dist/chunks/{index-BfOiCZwO.js → index-BJbOVN0O.js} +2 -2
- package/dist/chunks/{index-BNE1zizw.js → index-Des1Cxbn.js} +2 -2
- package/dist/chunks/{vc-toast.vue_vue_type_style_index_0_lang-DHCQ1-ud.js → vc-toast.vue_vue_type_style_index_0_lang-D-kMIagL.js} +1 -1
- package/dist/chunks/{vendor-lodash-es-QnNVqiqU.js → vendor-lodash-es-BwHYzZ39.js} +3 -3
- package/dist/chunks/vendor-tiptap-extension-placeholder-D1_k7Sra.js +1 -0
- package/dist/chunks/{vendor-tiptap-extensions-CqOFzZAS.js → vendor-tiptap-extensions-pwHVUzkb.js} +55 -54
- package/dist/chunks/{vendor-tiptap-starter-kit-DcsDv0Wg.js → vendor-tiptap-starter-kit-BEsLVJ4Q.js} +1 -1
- package/dist/core/api/platform.d.ts +300 -954
- package/dist/core/api/platform.d.ts.map +1 -1
- package/dist/core/blade-navigation/utils/bladeRouterGuard.d.ts +4 -3
- package/dist/core/blade-navigation/utils/bladeRouterGuard.d.ts.map +1 -1
- package/dist/core/composables/index.d.ts +1 -1
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useAssets/index.d.ts.map +1 -1
- package/dist/core/composables/useAssetsManager/index.d.ts +24 -0
- package/dist/core/composables/useAssetsManager/index.d.ts.map +1 -0
- package/dist/core/composables/useBladeWidgets.d.ts +16 -0
- package/dist/core/composables/useBladeWidgets.d.ts.map +1 -1
- package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -1
- package/dist/core/services/app-bar-menu-service.d.ts.map +1 -1
- package/dist/core/services/settings-menu-service.d.ts.map +1 -1
- package/dist/core/services/widget-service.d.ts +5 -12
- package/dist/core/services/widget-service.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +8 -16
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.js +2413 -2321
- package/dist/index.css +2 -2
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/injection-keys.d.ts +2 -1
- package/dist/injection-keys.d.ts.map +1 -1
- package/dist/locales/de.d.ts +3 -0
- package/dist/locales/{de.json → de.js} +2 -1
- package/dist/locales/en.d.ts +3 -0
- package/dist/locales/en.js +432 -0
- package/dist/locales/types.d.ts +439 -0
- package/dist/modules/assets/components/assets-details/assets-details.vue.d.ts +1 -29
- package/dist/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
- package/dist/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +1 -37
- package/dist/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
- package/dist/scripts/check-locales.cjs +3182 -0
- package/dist/shell/auth/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/shell/components/index.d.ts +0 -1
- package/dist/shell/components/index.d.ts.map +1 -1
- package/dist/shell/components/logout-button/logout-button.vue.d.ts.map +1 -1
- package/dist/shell/components/notification-template/notification-template.vue.d.ts +2 -2
- package/dist/shell/components/notification-template/notification-template.vue.d.ts.map +1 -1
- package/dist/shell/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -1
- package/dist/test-helpers.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue.d.ts +4 -0
- package/dist/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts +4 -0
- package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts +4 -0
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +3 -0
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeToolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/{WidgetProvider.vue.d.ts → WidgetScope.vue.d.ts} +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetScope.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +9 -9
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryPreview.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryPreview.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.d.ts +4 -4
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +17 -36
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts +6 -5
- package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts.map +1 -1
- package/dist/ui/index.js +3 -3
- package/package.json +18 -6
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D8HSEumV.js +0 -8741
- package/dist/chunks/vendor-tiptap-extension-placeholder-WyhAnzy7.js +0 -1
- package/dist/core/composables/useWidget/index.d.ts +0 -18
- package/dist/core/composables/useWidget/index.d.ts.map +0 -1
- package/dist/shell/components/app-switcher/components/index.d.ts +0 -2
- package/dist/shell/components/app-switcher/components/index.d.ts.map +0 -1
- package/dist/shell/components/app-switcher/components/vc-app-switcher/index.d.ts +0 -2
- package/dist/shell/components/app-switcher/components/vc-app-switcher/index.d.ts.map +0 -1
- package/dist/shell/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +0 -14
- package/dist/shell/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +0 -1
- package/dist/shell/components/app-switcher/index.d.ts +0 -3
- package/dist/shell/components/app-switcher/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetProvider.vue.d.ts.map +0 -1
|
@@ -0,0 +1,3182 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
+
};
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
30
|
+
mod
|
|
31
|
+
));
|
|
32
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
33
|
+
|
|
34
|
+
// ../node_modules/universalify/index.js
|
|
35
|
+
var require_universalify = __commonJS({
|
|
36
|
+
"../node_modules/universalify/index.js"(exports2) {
|
|
37
|
+
"use strict";
|
|
38
|
+
exports2.fromCallback = function(fn) {
|
|
39
|
+
return Object.defineProperty(function(...args) {
|
|
40
|
+
if (typeof args[args.length - 1] === "function") fn.apply(this, args);
|
|
41
|
+
else {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
args.push((err, res) => err != null ? reject(err) : resolve(res));
|
|
44
|
+
fn.apply(this, args);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, "name", { value: fn.name });
|
|
48
|
+
};
|
|
49
|
+
exports2.fromPromise = function(fn) {
|
|
50
|
+
return Object.defineProperty(function(...args) {
|
|
51
|
+
const cb = args[args.length - 1];
|
|
52
|
+
if (typeof cb !== "function") return fn.apply(this, args);
|
|
53
|
+
else {
|
|
54
|
+
args.pop();
|
|
55
|
+
fn.apply(this, args).then((r) => cb(null, r), cb);
|
|
56
|
+
}
|
|
57
|
+
}, "name", { value: fn.name });
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// ../node_modules/graceful-fs/polyfills.js
|
|
63
|
+
var require_polyfills = __commonJS({
|
|
64
|
+
"../node_modules/graceful-fs/polyfills.js"(exports2, module2) {
|
|
65
|
+
var constants = require("constants");
|
|
66
|
+
var origCwd = process.cwd;
|
|
67
|
+
var cwd = null;
|
|
68
|
+
var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
|
|
69
|
+
process.cwd = function() {
|
|
70
|
+
if (!cwd)
|
|
71
|
+
cwd = origCwd.call(process);
|
|
72
|
+
return cwd;
|
|
73
|
+
};
|
|
74
|
+
try {
|
|
75
|
+
process.cwd();
|
|
76
|
+
} catch (er) {
|
|
77
|
+
}
|
|
78
|
+
if (typeof process.chdir === "function") {
|
|
79
|
+
chdir = process.chdir;
|
|
80
|
+
process.chdir = function(d) {
|
|
81
|
+
cwd = null;
|
|
82
|
+
chdir.call(process, d);
|
|
83
|
+
};
|
|
84
|
+
if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
|
|
85
|
+
}
|
|
86
|
+
var chdir;
|
|
87
|
+
module2.exports = patch;
|
|
88
|
+
function patch(fs2) {
|
|
89
|
+
if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
|
|
90
|
+
patchLchmod(fs2);
|
|
91
|
+
}
|
|
92
|
+
if (!fs2.lutimes) {
|
|
93
|
+
patchLutimes(fs2);
|
|
94
|
+
}
|
|
95
|
+
fs2.chown = chownFix(fs2.chown);
|
|
96
|
+
fs2.fchown = chownFix(fs2.fchown);
|
|
97
|
+
fs2.lchown = chownFix(fs2.lchown);
|
|
98
|
+
fs2.chmod = chmodFix(fs2.chmod);
|
|
99
|
+
fs2.fchmod = chmodFix(fs2.fchmod);
|
|
100
|
+
fs2.lchmod = chmodFix(fs2.lchmod);
|
|
101
|
+
fs2.chownSync = chownFixSync(fs2.chownSync);
|
|
102
|
+
fs2.fchownSync = chownFixSync(fs2.fchownSync);
|
|
103
|
+
fs2.lchownSync = chownFixSync(fs2.lchownSync);
|
|
104
|
+
fs2.chmodSync = chmodFixSync(fs2.chmodSync);
|
|
105
|
+
fs2.fchmodSync = chmodFixSync(fs2.fchmodSync);
|
|
106
|
+
fs2.lchmodSync = chmodFixSync(fs2.lchmodSync);
|
|
107
|
+
fs2.stat = statFix(fs2.stat);
|
|
108
|
+
fs2.fstat = statFix(fs2.fstat);
|
|
109
|
+
fs2.lstat = statFix(fs2.lstat);
|
|
110
|
+
fs2.statSync = statFixSync(fs2.statSync);
|
|
111
|
+
fs2.fstatSync = statFixSync(fs2.fstatSync);
|
|
112
|
+
fs2.lstatSync = statFixSync(fs2.lstatSync);
|
|
113
|
+
if (fs2.chmod && !fs2.lchmod) {
|
|
114
|
+
fs2.lchmod = function(path2, mode, cb) {
|
|
115
|
+
if (cb) process.nextTick(cb);
|
|
116
|
+
};
|
|
117
|
+
fs2.lchmodSync = function() {
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (fs2.chown && !fs2.lchown) {
|
|
121
|
+
fs2.lchown = function(path2, uid, gid, cb) {
|
|
122
|
+
if (cb) process.nextTick(cb);
|
|
123
|
+
};
|
|
124
|
+
fs2.lchownSync = function() {
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
if (platform === "win32") {
|
|
128
|
+
fs2.rename = typeof fs2.rename !== "function" ? fs2.rename : (function(fs$rename) {
|
|
129
|
+
function rename(from, to, cb) {
|
|
130
|
+
var start = Date.now();
|
|
131
|
+
var backoff = 0;
|
|
132
|
+
fs$rename(from, to, function CB(er) {
|
|
133
|
+
if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
|
|
134
|
+
setTimeout(function() {
|
|
135
|
+
fs2.stat(to, function(stater, st) {
|
|
136
|
+
if (stater && stater.code === "ENOENT")
|
|
137
|
+
fs$rename(from, to, CB);
|
|
138
|
+
else
|
|
139
|
+
cb(er);
|
|
140
|
+
});
|
|
141
|
+
}, backoff);
|
|
142
|
+
if (backoff < 100)
|
|
143
|
+
backoff += 10;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (cb) cb(er);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
|
|
150
|
+
return rename;
|
|
151
|
+
})(fs2.rename);
|
|
152
|
+
}
|
|
153
|
+
fs2.read = typeof fs2.read !== "function" ? fs2.read : (function(fs$read) {
|
|
154
|
+
function read(fd, buffer, offset, length, position, callback_) {
|
|
155
|
+
var callback;
|
|
156
|
+
if (callback_ && typeof callback_ === "function") {
|
|
157
|
+
var eagCounter = 0;
|
|
158
|
+
callback = function(er, _, __) {
|
|
159
|
+
if (er && er.code === "EAGAIN" && eagCounter < 10) {
|
|
160
|
+
eagCounter++;
|
|
161
|
+
return fs$read.call(fs2, fd, buffer, offset, length, position, callback);
|
|
162
|
+
}
|
|
163
|
+
callback_.apply(this, arguments);
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
return fs$read.call(fs2, fd, buffer, offset, length, position, callback);
|
|
167
|
+
}
|
|
168
|
+
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
|
|
169
|
+
return read;
|
|
170
|
+
})(fs2.read);
|
|
171
|
+
fs2.readSync = typeof fs2.readSync !== "function" ? fs2.readSync : /* @__PURE__ */ (function(fs$readSync) {
|
|
172
|
+
return function(fd, buffer, offset, length, position) {
|
|
173
|
+
var eagCounter = 0;
|
|
174
|
+
while (true) {
|
|
175
|
+
try {
|
|
176
|
+
return fs$readSync.call(fs2, fd, buffer, offset, length, position);
|
|
177
|
+
} catch (er) {
|
|
178
|
+
if (er.code === "EAGAIN" && eagCounter < 10) {
|
|
179
|
+
eagCounter++;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
throw er;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
})(fs2.readSync);
|
|
187
|
+
function patchLchmod(fs3) {
|
|
188
|
+
fs3.lchmod = function(path2, mode, callback) {
|
|
189
|
+
fs3.open(
|
|
190
|
+
path2,
|
|
191
|
+
constants.O_WRONLY | constants.O_SYMLINK,
|
|
192
|
+
mode,
|
|
193
|
+
function(err, fd) {
|
|
194
|
+
if (err) {
|
|
195
|
+
if (callback) callback(err);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
fs3.fchmod(fd, mode, function(err2) {
|
|
199
|
+
fs3.close(fd, function(err22) {
|
|
200
|
+
if (callback) callback(err2 || err22);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
};
|
|
206
|
+
fs3.lchmodSync = function(path2, mode) {
|
|
207
|
+
var fd = fs3.openSync(path2, constants.O_WRONLY | constants.O_SYMLINK, mode);
|
|
208
|
+
var threw = true;
|
|
209
|
+
var ret;
|
|
210
|
+
try {
|
|
211
|
+
ret = fs3.fchmodSync(fd, mode);
|
|
212
|
+
threw = false;
|
|
213
|
+
} finally {
|
|
214
|
+
if (threw) {
|
|
215
|
+
try {
|
|
216
|
+
fs3.closeSync(fd);
|
|
217
|
+
} catch (er) {
|
|
218
|
+
}
|
|
219
|
+
} else {
|
|
220
|
+
fs3.closeSync(fd);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return ret;
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
function patchLutimes(fs3) {
|
|
227
|
+
if (constants.hasOwnProperty("O_SYMLINK") && fs3.futimes) {
|
|
228
|
+
fs3.lutimes = function(path2, at, mt, cb) {
|
|
229
|
+
fs3.open(path2, constants.O_SYMLINK, function(er, fd) {
|
|
230
|
+
if (er) {
|
|
231
|
+
if (cb) cb(er);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
fs3.futimes(fd, at, mt, function(er2) {
|
|
235
|
+
fs3.close(fd, function(er22) {
|
|
236
|
+
if (cb) cb(er2 || er22);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
fs3.lutimesSync = function(path2, at, mt) {
|
|
242
|
+
var fd = fs3.openSync(path2, constants.O_SYMLINK);
|
|
243
|
+
var ret;
|
|
244
|
+
var threw = true;
|
|
245
|
+
try {
|
|
246
|
+
ret = fs3.futimesSync(fd, at, mt);
|
|
247
|
+
threw = false;
|
|
248
|
+
} finally {
|
|
249
|
+
if (threw) {
|
|
250
|
+
try {
|
|
251
|
+
fs3.closeSync(fd);
|
|
252
|
+
} catch (er) {
|
|
253
|
+
}
|
|
254
|
+
} else {
|
|
255
|
+
fs3.closeSync(fd);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return ret;
|
|
259
|
+
};
|
|
260
|
+
} else if (fs3.futimes) {
|
|
261
|
+
fs3.lutimes = function(_a, _b, _c, cb) {
|
|
262
|
+
if (cb) process.nextTick(cb);
|
|
263
|
+
};
|
|
264
|
+
fs3.lutimesSync = function() {
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
function chmodFix(orig) {
|
|
269
|
+
if (!orig) return orig;
|
|
270
|
+
return function(target, mode, cb) {
|
|
271
|
+
return orig.call(fs2, target, mode, function(er) {
|
|
272
|
+
if (chownErOk(er)) er = null;
|
|
273
|
+
if (cb) cb.apply(this, arguments);
|
|
274
|
+
});
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
function chmodFixSync(orig) {
|
|
278
|
+
if (!orig) return orig;
|
|
279
|
+
return function(target, mode) {
|
|
280
|
+
try {
|
|
281
|
+
return orig.call(fs2, target, mode);
|
|
282
|
+
} catch (er) {
|
|
283
|
+
if (!chownErOk(er)) throw er;
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function chownFix(orig) {
|
|
288
|
+
if (!orig) return orig;
|
|
289
|
+
return function(target, uid, gid, cb) {
|
|
290
|
+
return orig.call(fs2, target, uid, gid, function(er) {
|
|
291
|
+
if (chownErOk(er)) er = null;
|
|
292
|
+
if (cb) cb.apply(this, arguments);
|
|
293
|
+
});
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
function chownFixSync(orig) {
|
|
297
|
+
if (!orig) return orig;
|
|
298
|
+
return function(target, uid, gid) {
|
|
299
|
+
try {
|
|
300
|
+
return orig.call(fs2, target, uid, gid);
|
|
301
|
+
} catch (er) {
|
|
302
|
+
if (!chownErOk(er)) throw er;
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
function statFix(orig) {
|
|
307
|
+
if (!orig) return orig;
|
|
308
|
+
return function(target, options, cb) {
|
|
309
|
+
if (typeof options === "function") {
|
|
310
|
+
cb = options;
|
|
311
|
+
options = null;
|
|
312
|
+
}
|
|
313
|
+
function callback(er, stats) {
|
|
314
|
+
if (stats) {
|
|
315
|
+
if (stats.uid < 0) stats.uid += 4294967296;
|
|
316
|
+
if (stats.gid < 0) stats.gid += 4294967296;
|
|
317
|
+
}
|
|
318
|
+
if (cb) cb.apply(this, arguments);
|
|
319
|
+
}
|
|
320
|
+
return options ? orig.call(fs2, target, options, callback) : orig.call(fs2, target, callback);
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
function statFixSync(orig) {
|
|
324
|
+
if (!orig) return orig;
|
|
325
|
+
return function(target, options) {
|
|
326
|
+
var stats = options ? orig.call(fs2, target, options) : orig.call(fs2, target);
|
|
327
|
+
if (stats) {
|
|
328
|
+
if (stats.uid < 0) stats.uid += 4294967296;
|
|
329
|
+
if (stats.gid < 0) stats.gid += 4294967296;
|
|
330
|
+
}
|
|
331
|
+
return stats;
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
function chownErOk(er) {
|
|
335
|
+
if (!er)
|
|
336
|
+
return true;
|
|
337
|
+
if (er.code === "ENOSYS")
|
|
338
|
+
return true;
|
|
339
|
+
var nonroot = !process.getuid || process.getuid() !== 0;
|
|
340
|
+
if (nonroot) {
|
|
341
|
+
if (er.code === "EINVAL" || er.code === "EPERM")
|
|
342
|
+
return true;
|
|
343
|
+
}
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
|
|
350
|
+
// ../node_modules/graceful-fs/legacy-streams.js
|
|
351
|
+
var require_legacy_streams = __commonJS({
|
|
352
|
+
"../node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
|
|
353
|
+
var Stream = require("stream").Stream;
|
|
354
|
+
module2.exports = legacy;
|
|
355
|
+
function legacy(fs2) {
|
|
356
|
+
return {
|
|
357
|
+
ReadStream,
|
|
358
|
+
WriteStream
|
|
359
|
+
};
|
|
360
|
+
function ReadStream(path2, options) {
|
|
361
|
+
if (!(this instanceof ReadStream)) return new ReadStream(path2, options);
|
|
362
|
+
Stream.call(this);
|
|
363
|
+
var self = this;
|
|
364
|
+
this.path = path2;
|
|
365
|
+
this.fd = null;
|
|
366
|
+
this.readable = true;
|
|
367
|
+
this.paused = false;
|
|
368
|
+
this.flags = "r";
|
|
369
|
+
this.mode = 438;
|
|
370
|
+
this.bufferSize = 64 * 1024;
|
|
371
|
+
options = options || {};
|
|
372
|
+
var keys = Object.keys(options);
|
|
373
|
+
for (var index = 0, length = keys.length; index < length; index++) {
|
|
374
|
+
var key = keys[index];
|
|
375
|
+
this[key] = options[key];
|
|
376
|
+
}
|
|
377
|
+
if (this.encoding) this.setEncoding(this.encoding);
|
|
378
|
+
if (this.start !== void 0) {
|
|
379
|
+
if ("number" !== typeof this.start) {
|
|
380
|
+
throw TypeError("start must be a Number");
|
|
381
|
+
}
|
|
382
|
+
if (this.end === void 0) {
|
|
383
|
+
this.end = Infinity;
|
|
384
|
+
} else if ("number" !== typeof this.end) {
|
|
385
|
+
throw TypeError("end must be a Number");
|
|
386
|
+
}
|
|
387
|
+
if (this.start > this.end) {
|
|
388
|
+
throw new Error("start must be <= end");
|
|
389
|
+
}
|
|
390
|
+
this.pos = this.start;
|
|
391
|
+
}
|
|
392
|
+
if (this.fd !== null) {
|
|
393
|
+
process.nextTick(function() {
|
|
394
|
+
self._read();
|
|
395
|
+
});
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
fs2.open(this.path, this.flags, this.mode, function(err, fd) {
|
|
399
|
+
if (err) {
|
|
400
|
+
self.emit("error", err);
|
|
401
|
+
self.readable = false;
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
self.fd = fd;
|
|
405
|
+
self.emit("open", fd);
|
|
406
|
+
self._read();
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
function WriteStream(path2, options) {
|
|
410
|
+
if (!(this instanceof WriteStream)) return new WriteStream(path2, options);
|
|
411
|
+
Stream.call(this);
|
|
412
|
+
this.path = path2;
|
|
413
|
+
this.fd = null;
|
|
414
|
+
this.writable = true;
|
|
415
|
+
this.flags = "w";
|
|
416
|
+
this.encoding = "binary";
|
|
417
|
+
this.mode = 438;
|
|
418
|
+
this.bytesWritten = 0;
|
|
419
|
+
options = options || {};
|
|
420
|
+
var keys = Object.keys(options);
|
|
421
|
+
for (var index = 0, length = keys.length; index < length; index++) {
|
|
422
|
+
var key = keys[index];
|
|
423
|
+
this[key] = options[key];
|
|
424
|
+
}
|
|
425
|
+
if (this.start !== void 0) {
|
|
426
|
+
if ("number" !== typeof this.start) {
|
|
427
|
+
throw TypeError("start must be a Number");
|
|
428
|
+
}
|
|
429
|
+
if (this.start < 0) {
|
|
430
|
+
throw new Error("start must be >= zero");
|
|
431
|
+
}
|
|
432
|
+
this.pos = this.start;
|
|
433
|
+
}
|
|
434
|
+
this.busy = false;
|
|
435
|
+
this._queue = [];
|
|
436
|
+
if (this.fd === null) {
|
|
437
|
+
this._open = fs2.open;
|
|
438
|
+
this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
|
|
439
|
+
this.flush();
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
// ../node_modules/graceful-fs/clone.js
|
|
447
|
+
var require_clone = __commonJS({
|
|
448
|
+
"../node_modules/graceful-fs/clone.js"(exports2, module2) {
|
|
449
|
+
"use strict";
|
|
450
|
+
module2.exports = clone;
|
|
451
|
+
var getPrototypeOf = Object.getPrototypeOf || function(obj) {
|
|
452
|
+
return obj.__proto__;
|
|
453
|
+
};
|
|
454
|
+
function clone(obj) {
|
|
455
|
+
if (obj === null || typeof obj !== "object")
|
|
456
|
+
return obj;
|
|
457
|
+
if (obj instanceof Object)
|
|
458
|
+
var copy = { __proto__: getPrototypeOf(obj) };
|
|
459
|
+
else
|
|
460
|
+
var copy = /* @__PURE__ */ Object.create(null);
|
|
461
|
+
Object.getOwnPropertyNames(obj).forEach(function(key) {
|
|
462
|
+
Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
|
|
463
|
+
});
|
|
464
|
+
return copy;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
// ../node_modules/graceful-fs/graceful-fs.js
|
|
470
|
+
var require_graceful_fs = __commonJS({
|
|
471
|
+
"../node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
|
|
472
|
+
var fs2 = require("fs");
|
|
473
|
+
var polyfills = require_polyfills();
|
|
474
|
+
var legacy = require_legacy_streams();
|
|
475
|
+
var clone = require_clone();
|
|
476
|
+
var util = require("util");
|
|
477
|
+
var gracefulQueue;
|
|
478
|
+
var previousSymbol;
|
|
479
|
+
if (typeof Symbol === "function" && typeof Symbol.for === "function") {
|
|
480
|
+
gracefulQueue = Symbol.for("graceful-fs.queue");
|
|
481
|
+
previousSymbol = Symbol.for("graceful-fs.previous");
|
|
482
|
+
} else {
|
|
483
|
+
gracefulQueue = "___graceful-fs.queue";
|
|
484
|
+
previousSymbol = "___graceful-fs.previous";
|
|
485
|
+
}
|
|
486
|
+
function noop() {
|
|
487
|
+
}
|
|
488
|
+
function publishQueue(context, queue2) {
|
|
489
|
+
Object.defineProperty(context, gracefulQueue, {
|
|
490
|
+
get: function() {
|
|
491
|
+
return queue2;
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
var debug = noop;
|
|
496
|
+
if (util.debuglog)
|
|
497
|
+
debug = util.debuglog("gfs4");
|
|
498
|
+
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
|
|
499
|
+
debug = function() {
|
|
500
|
+
var m = util.format.apply(util, arguments);
|
|
501
|
+
m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
|
|
502
|
+
console.error(m);
|
|
503
|
+
};
|
|
504
|
+
if (!fs2[gracefulQueue]) {
|
|
505
|
+
queue = global[gracefulQueue] || [];
|
|
506
|
+
publishQueue(fs2, queue);
|
|
507
|
+
fs2.close = (function(fs$close) {
|
|
508
|
+
function close(fd, cb) {
|
|
509
|
+
return fs$close.call(fs2, fd, function(err) {
|
|
510
|
+
if (!err) {
|
|
511
|
+
resetQueue();
|
|
512
|
+
}
|
|
513
|
+
if (typeof cb === "function")
|
|
514
|
+
cb.apply(this, arguments);
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
Object.defineProperty(close, previousSymbol, {
|
|
518
|
+
value: fs$close
|
|
519
|
+
});
|
|
520
|
+
return close;
|
|
521
|
+
})(fs2.close);
|
|
522
|
+
fs2.closeSync = (function(fs$closeSync) {
|
|
523
|
+
function closeSync(fd) {
|
|
524
|
+
fs$closeSync.apply(fs2, arguments);
|
|
525
|
+
resetQueue();
|
|
526
|
+
}
|
|
527
|
+
Object.defineProperty(closeSync, previousSymbol, {
|
|
528
|
+
value: fs$closeSync
|
|
529
|
+
});
|
|
530
|
+
return closeSync;
|
|
531
|
+
})(fs2.closeSync);
|
|
532
|
+
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
|
|
533
|
+
process.on("exit", function() {
|
|
534
|
+
debug(fs2[gracefulQueue]);
|
|
535
|
+
require("assert").equal(fs2[gracefulQueue].length, 0);
|
|
536
|
+
});
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
var queue;
|
|
540
|
+
if (!global[gracefulQueue]) {
|
|
541
|
+
publishQueue(global, fs2[gracefulQueue]);
|
|
542
|
+
}
|
|
543
|
+
module2.exports = patch(clone(fs2));
|
|
544
|
+
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs2.__patched) {
|
|
545
|
+
module2.exports = patch(fs2);
|
|
546
|
+
fs2.__patched = true;
|
|
547
|
+
}
|
|
548
|
+
function patch(fs3) {
|
|
549
|
+
polyfills(fs3);
|
|
550
|
+
fs3.gracefulify = patch;
|
|
551
|
+
fs3.createReadStream = createReadStream;
|
|
552
|
+
fs3.createWriteStream = createWriteStream;
|
|
553
|
+
var fs$readFile = fs3.readFile;
|
|
554
|
+
fs3.readFile = readFile;
|
|
555
|
+
function readFile(path2, options, cb) {
|
|
556
|
+
if (typeof options === "function")
|
|
557
|
+
cb = options, options = null;
|
|
558
|
+
return go$readFile(path2, options, cb);
|
|
559
|
+
function go$readFile(path3, options2, cb2, startTime) {
|
|
560
|
+
return fs$readFile(path3, options2, function(err) {
|
|
561
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
562
|
+
enqueue([go$readFile, [path3, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
563
|
+
else {
|
|
564
|
+
if (typeof cb2 === "function")
|
|
565
|
+
cb2.apply(this, arguments);
|
|
566
|
+
}
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
var fs$writeFile = fs3.writeFile;
|
|
571
|
+
fs3.writeFile = writeFile;
|
|
572
|
+
function writeFile(path2, data, options, cb) {
|
|
573
|
+
if (typeof options === "function")
|
|
574
|
+
cb = options, options = null;
|
|
575
|
+
return go$writeFile(path2, data, options, cb);
|
|
576
|
+
function go$writeFile(path3, data2, options2, cb2, startTime) {
|
|
577
|
+
return fs$writeFile(path3, data2, options2, function(err) {
|
|
578
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
579
|
+
enqueue([go$writeFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
580
|
+
else {
|
|
581
|
+
if (typeof cb2 === "function")
|
|
582
|
+
cb2.apply(this, arguments);
|
|
583
|
+
}
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
var fs$appendFile = fs3.appendFile;
|
|
588
|
+
if (fs$appendFile)
|
|
589
|
+
fs3.appendFile = appendFile;
|
|
590
|
+
function appendFile(path2, data, options, cb) {
|
|
591
|
+
if (typeof options === "function")
|
|
592
|
+
cb = options, options = null;
|
|
593
|
+
return go$appendFile(path2, data, options, cb);
|
|
594
|
+
function go$appendFile(path3, data2, options2, cb2, startTime) {
|
|
595
|
+
return fs$appendFile(path3, data2, options2, function(err) {
|
|
596
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
597
|
+
enqueue([go$appendFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
598
|
+
else {
|
|
599
|
+
if (typeof cb2 === "function")
|
|
600
|
+
cb2.apply(this, arguments);
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
var fs$copyFile = fs3.copyFile;
|
|
606
|
+
if (fs$copyFile)
|
|
607
|
+
fs3.copyFile = copyFile;
|
|
608
|
+
function copyFile(src, dest, flags, cb) {
|
|
609
|
+
if (typeof flags === "function") {
|
|
610
|
+
cb = flags;
|
|
611
|
+
flags = 0;
|
|
612
|
+
}
|
|
613
|
+
return go$copyFile(src, dest, flags, cb);
|
|
614
|
+
function go$copyFile(src2, dest2, flags2, cb2, startTime) {
|
|
615
|
+
return fs$copyFile(src2, dest2, flags2, function(err) {
|
|
616
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
617
|
+
enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
618
|
+
else {
|
|
619
|
+
if (typeof cb2 === "function")
|
|
620
|
+
cb2.apply(this, arguments);
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
var fs$readdir = fs3.readdir;
|
|
626
|
+
fs3.readdir = readdir;
|
|
627
|
+
var noReaddirOptionVersions = /^v[0-5]\./;
|
|
628
|
+
function readdir(path2, options, cb) {
|
|
629
|
+
if (typeof options === "function")
|
|
630
|
+
cb = options, options = null;
|
|
631
|
+
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path3, options2, cb2, startTime) {
|
|
632
|
+
return fs$readdir(path3, fs$readdirCallback(
|
|
633
|
+
path3,
|
|
634
|
+
options2,
|
|
635
|
+
cb2,
|
|
636
|
+
startTime
|
|
637
|
+
));
|
|
638
|
+
} : function go$readdir2(path3, options2, cb2, startTime) {
|
|
639
|
+
return fs$readdir(path3, options2, fs$readdirCallback(
|
|
640
|
+
path3,
|
|
641
|
+
options2,
|
|
642
|
+
cb2,
|
|
643
|
+
startTime
|
|
644
|
+
));
|
|
645
|
+
};
|
|
646
|
+
return go$readdir(path2, options, cb);
|
|
647
|
+
function fs$readdirCallback(path3, options2, cb2, startTime) {
|
|
648
|
+
return function(err, files) {
|
|
649
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
650
|
+
enqueue([
|
|
651
|
+
go$readdir,
|
|
652
|
+
[path3, options2, cb2],
|
|
653
|
+
err,
|
|
654
|
+
startTime || Date.now(),
|
|
655
|
+
Date.now()
|
|
656
|
+
]);
|
|
657
|
+
else {
|
|
658
|
+
if (files && files.sort)
|
|
659
|
+
files.sort();
|
|
660
|
+
if (typeof cb2 === "function")
|
|
661
|
+
cb2.call(this, err, files);
|
|
662
|
+
}
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
if (process.version.substr(0, 4) === "v0.8") {
|
|
667
|
+
var legStreams = legacy(fs3);
|
|
668
|
+
ReadStream = legStreams.ReadStream;
|
|
669
|
+
WriteStream = legStreams.WriteStream;
|
|
670
|
+
}
|
|
671
|
+
var fs$ReadStream = fs3.ReadStream;
|
|
672
|
+
if (fs$ReadStream) {
|
|
673
|
+
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
|
|
674
|
+
ReadStream.prototype.open = ReadStream$open;
|
|
675
|
+
}
|
|
676
|
+
var fs$WriteStream = fs3.WriteStream;
|
|
677
|
+
if (fs$WriteStream) {
|
|
678
|
+
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
|
|
679
|
+
WriteStream.prototype.open = WriteStream$open;
|
|
680
|
+
}
|
|
681
|
+
Object.defineProperty(fs3, "ReadStream", {
|
|
682
|
+
get: function() {
|
|
683
|
+
return ReadStream;
|
|
684
|
+
},
|
|
685
|
+
set: function(val) {
|
|
686
|
+
ReadStream = val;
|
|
687
|
+
},
|
|
688
|
+
enumerable: true,
|
|
689
|
+
configurable: true
|
|
690
|
+
});
|
|
691
|
+
Object.defineProperty(fs3, "WriteStream", {
|
|
692
|
+
get: function() {
|
|
693
|
+
return WriteStream;
|
|
694
|
+
},
|
|
695
|
+
set: function(val) {
|
|
696
|
+
WriteStream = val;
|
|
697
|
+
},
|
|
698
|
+
enumerable: true,
|
|
699
|
+
configurable: true
|
|
700
|
+
});
|
|
701
|
+
var FileReadStream = ReadStream;
|
|
702
|
+
Object.defineProperty(fs3, "FileReadStream", {
|
|
703
|
+
get: function() {
|
|
704
|
+
return FileReadStream;
|
|
705
|
+
},
|
|
706
|
+
set: function(val) {
|
|
707
|
+
FileReadStream = val;
|
|
708
|
+
},
|
|
709
|
+
enumerable: true,
|
|
710
|
+
configurable: true
|
|
711
|
+
});
|
|
712
|
+
var FileWriteStream = WriteStream;
|
|
713
|
+
Object.defineProperty(fs3, "FileWriteStream", {
|
|
714
|
+
get: function() {
|
|
715
|
+
return FileWriteStream;
|
|
716
|
+
},
|
|
717
|
+
set: function(val) {
|
|
718
|
+
FileWriteStream = val;
|
|
719
|
+
},
|
|
720
|
+
enumerable: true,
|
|
721
|
+
configurable: true
|
|
722
|
+
});
|
|
723
|
+
function ReadStream(path2, options) {
|
|
724
|
+
if (this instanceof ReadStream)
|
|
725
|
+
return fs$ReadStream.apply(this, arguments), this;
|
|
726
|
+
else
|
|
727
|
+
return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
|
|
728
|
+
}
|
|
729
|
+
function ReadStream$open() {
|
|
730
|
+
var that = this;
|
|
731
|
+
open(that.path, that.flags, that.mode, function(err, fd) {
|
|
732
|
+
if (err) {
|
|
733
|
+
if (that.autoClose)
|
|
734
|
+
that.destroy();
|
|
735
|
+
that.emit("error", err);
|
|
736
|
+
} else {
|
|
737
|
+
that.fd = fd;
|
|
738
|
+
that.emit("open", fd);
|
|
739
|
+
that.read();
|
|
740
|
+
}
|
|
741
|
+
});
|
|
742
|
+
}
|
|
743
|
+
function WriteStream(path2, options) {
|
|
744
|
+
if (this instanceof WriteStream)
|
|
745
|
+
return fs$WriteStream.apply(this, arguments), this;
|
|
746
|
+
else
|
|
747
|
+
return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
|
|
748
|
+
}
|
|
749
|
+
function WriteStream$open() {
|
|
750
|
+
var that = this;
|
|
751
|
+
open(that.path, that.flags, that.mode, function(err, fd) {
|
|
752
|
+
if (err) {
|
|
753
|
+
that.destroy();
|
|
754
|
+
that.emit("error", err);
|
|
755
|
+
} else {
|
|
756
|
+
that.fd = fd;
|
|
757
|
+
that.emit("open", fd);
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
function createReadStream(path2, options) {
|
|
762
|
+
return new fs3.ReadStream(path2, options);
|
|
763
|
+
}
|
|
764
|
+
function createWriteStream(path2, options) {
|
|
765
|
+
return new fs3.WriteStream(path2, options);
|
|
766
|
+
}
|
|
767
|
+
var fs$open = fs3.open;
|
|
768
|
+
fs3.open = open;
|
|
769
|
+
function open(path2, flags, mode, cb) {
|
|
770
|
+
if (typeof mode === "function")
|
|
771
|
+
cb = mode, mode = null;
|
|
772
|
+
return go$open(path2, flags, mode, cb);
|
|
773
|
+
function go$open(path3, flags2, mode2, cb2, startTime) {
|
|
774
|
+
return fs$open(path3, flags2, mode2, function(err, fd) {
|
|
775
|
+
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
|
|
776
|
+
enqueue([go$open, [path3, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
|
|
777
|
+
else {
|
|
778
|
+
if (typeof cb2 === "function")
|
|
779
|
+
cb2.apply(this, arguments);
|
|
780
|
+
}
|
|
781
|
+
});
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
return fs3;
|
|
785
|
+
}
|
|
786
|
+
function enqueue(elem) {
|
|
787
|
+
debug("ENQUEUE", elem[0].name, elem[1]);
|
|
788
|
+
fs2[gracefulQueue].push(elem);
|
|
789
|
+
retry();
|
|
790
|
+
}
|
|
791
|
+
var retryTimer;
|
|
792
|
+
function resetQueue() {
|
|
793
|
+
var now = Date.now();
|
|
794
|
+
for (var i = 0; i < fs2[gracefulQueue].length; ++i) {
|
|
795
|
+
if (fs2[gracefulQueue][i].length > 2) {
|
|
796
|
+
fs2[gracefulQueue][i][3] = now;
|
|
797
|
+
fs2[gracefulQueue][i][4] = now;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
retry();
|
|
801
|
+
}
|
|
802
|
+
function retry() {
|
|
803
|
+
clearTimeout(retryTimer);
|
|
804
|
+
retryTimer = void 0;
|
|
805
|
+
if (fs2[gracefulQueue].length === 0)
|
|
806
|
+
return;
|
|
807
|
+
var elem = fs2[gracefulQueue].shift();
|
|
808
|
+
var fn = elem[0];
|
|
809
|
+
var args = elem[1];
|
|
810
|
+
var err = elem[2];
|
|
811
|
+
var startTime = elem[3];
|
|
812
|
+
var lastTime = elem[4];
|
|
813
|
+
if (startTime === void 0) {
|
|
814
|
+
debug("RETRY", fn.name, args);
|
|
815
|
+
fn.apply(null, args);
|
|
816
|
+
} else if (Date.now() - startTime >= 6e4) {
|
|
817
|
+
debug("TIMEOUT", fn.name, args);
|
|
818
|
+
var cb = args.pop();
|
|
819
|
+
if (typeof cb === "function")
|
|
820
|
+
cb.call(null, err);
|
|
821
|
+
} else {
|
|
822
|
+
var sinceAttempt = Date.now() - lastTime;
|
|
823
|
+
var sinceStart = Math.max(lastTime - startTime, 1);
|
|
824
|
+
var desiredDelay = Math.min(sinceStart * 1.2, 100);
|
|
825
|
+
if (sinceAttempt >= desiredDelay) {
|
|
826
|
+
debug("RETRY", fn.name, args);
|
|
827
|
+
fn.apply(null, args.concat([startTime]));
|
|
828
|
+
} else {
|
|
829
|
+
fs2[gracefulQueue].push(elem);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
if (retryTimer === void 0) {
|
|
833
|
+
retryTimer = setTimeout(retry, 0);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
});
|
|
838
|
+
|
|
839
|
+
// ../node_modules/fs-extra/lib/fs/index.js
|
|
840
|
+
var require_fs = __commonJS({
|
|
841
|
+
"../node_modules/fs-extra/lib/fs/index.js"(exports2) {
|
|
842
|
+
"use strict";
|
|
843
|
+
var u = require_universalify().fromCallback;
|
|
844
|
+
var fs2 = require_graceful_fs();
|
|
845
|
+
var api = [
|
|
846
|
+
"access",
|
|
847
|
+
"appendFile",
|
|
848
|
+
"chmod",
|
|
849
|
+
"chown",
|
|
850
|
+
"close",
|
|
851
|
+
"copyFile",
|
|
852
|
+
"fchmod",
|
|
853
|
+
"fchown",
|
|
854
|
+
"fdatasync",
|
|
855
|
+
"fstat",
|
|
856
|
+
"fsync",
|
|
857
|
+
"ftruncate",
|
|
858
|
+
"futimes",
|
|
859
|
+
"lchmod",
|
|
860
|
+
"lchown",
|
|
861
|
+
"link",
|
|
862
|
+
"lstat",
|
|
863
|
+
"mkdir",
|
|
864
|
+
"mkdtemp",
|
|
865
|
+
"open",
|
|
866
|
+
"opendir",
|
|
867
|
+
"readdir",
|
|
868
|
+
"readFile",
|
|
869
|
+
"readlink",
|
|
870
|
+
"realpath",
|
|
871
|
+
"rename",
|
|
872
|
+
"rm",
|
|
873
|
+
"rmdir",
|
|
874
|
+
"stat",
|
|
875
|
+
"symlink",
|
|
876
|
+
"truncate",
|
|
877
|
+
"unlink",
|
|
878
|
+
"utimes",
|
|
879
|
+
"writeFile"
|
|
880
|
+
].filter((key) => {
|
|
881
|
+
return typeof fs2[key] === "function";
|
|
882
|
+
});
|
|
883
|
+
Object.keys(fs2).forEach((key) => {
|
|
884
|
+
if (key === "promises") {
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
exports2[key] = fs2[key];
|
|
888
|
+
});
|
|
889
|
+
api.forEach((method) => {
|
|
890
|
+
exports2[method] = u(fs2[method]);
|
|
891
|
+
});
|
|
892
|
+
exports2.exists = function(filename, callback) {
|
|
893
|
+
if (typeof callback === "function") {
|
|
894
|
+
return fs2.exists(filename, callback);
|
|
895
|
+
}
|
|
896
|
+
return new Promise((resolve) => {
|
|
897
|
+
return fs2.exists(filename, resolve);
|
|
898
|
+
});
|
|
899
|
+
};
|
|
900
|
+
exports2.read = function(fd, buffer, offset, length, position, callback) {
|
|
901
|
+
if (typeof callback === "function") {
|
|
902
|
+
return fs2.read(fd, buffer, offset, length, position, callback);
|
|
903
|
+
}
|
|
904
|
+
return new Promise((resolve, reject) => {
|
|
905
|
+
fs2.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
|
|
906
|
+
if (err) return reject(err);
|
|
907
|
+
resolve({ bytesRead, buffer: buffer2 });
|
|
908
|
+
});
|
|
909
|
+
});
|
|
910
|
+
};
|
|
911
|
+
exports2.write = function(fd, buffer, ...args) {
|
|
912
|
+
if (typeof args[args.length - 1] === "function") {
|
|
913
|
+
return fs2.write(fd, buffer, ...args);
|
|
914
|
+
}
|
|
915
|
+
return new Promise((resolve, reject) => {
|
|
916
|
+
fs2.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
|
|
917
|
+
if (err) return reject(err);
|
|
918
|
+
resolve({ bytesWritten, buffer: buffer2 });
|
|
919
|
+
});
|
|
920
|
+
});
|
|
921
|
+
};
|
|
922
|
+
if (typeof fs2.writev === "function") {
|
|
923
|
+
exports2.writev = function(fd, buffers, ...args) {
|
|
924
|
+
if (typeof args[args.length - 1] === "function") {
|
|
925
|
+
return fs2.writev(fd, buffers, ...args);
|
|
926
|
+
}
|
|
927
|
+
return new Promise((resolve, reject) => {
|
|
928
|
+
fs2.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => {
|
|
929
|
+
if (err) return reject(err);
|
|
930
|
+
resolve({ bytesWritten, buffers: buffers2 });
|
|
931
|
+
});
|
|
932
|
+
});
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
if (typeof fs2.realpath.native === "function") {
|
|
936
|
+
exports2.realpath.native = u(fs2.realpath.native);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
});
|
|
940
|
+
|
|
941
|
+
// ../node_modules/at-least-node/index.js
|
|
942
|
+
var require_at_least_node = __commonJS({
|
|
943
|
+
"../node_modules/at-least-node/index.js"(exports2, module2) {
|
|
944
|
+
module2.exports = (r) => {
|
|
945
|
+
const n = process.versions.node.split(".").map((x) => parseInt(x, 10));
|
|
946
|
+
r = r.split(".").map((x) => parseInt(x, 10));
|
|
947
|
+
return n[0] > r[0] || n[0] === r[0] && (n[1] > r[1] || n[1] === r[1] && n[2] >= r[2]);
|
|
948
|
+
};
|
|
949
|
+
}
|
|
950
|
+
});
|
|
951
|
+
|
|
952
|
+
// ../node_modules/fs-extra/lib/mkdirs/make-dir.js
|
|
953
|
+
var require_make_dir = __commonJS({
|
|
954
|
+
"../node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
|
|
955
|
+
"use strict";
|
|
956
|
+
var fs2 = require_fs();
|
|
957
|
+
var path2 = require("path");
|
|
958
|
+
var atLeastNode = require_at_least_node();
|
|
959
|
+
var useNativeRecursiveOption = atLeastNode("10.12.0");
|
|
960
|
+
var checkPath = (pth) => {
|
|
961
|
+
if (process.platform === "win32") {
|
|
962
|
+
const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, ""));
|
|
963
|
+
if (pathHasInvalidWinCharacters) {
|
|
964
|
+
const error = new Error(`Path contains invalid characters: ${pth}`);
|
|
965
|
+
error.code = "EINVAL";
|
|
966
|
+
throw error;
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
};
|
|
970
|
+
var processOptions = (options) => {
|
|
971
|
+
const defaults = { mode: 511 };
|
|
972
|
+
if (typeof options === "number") options = { mode: options };
|
|
973
|
+
return { ...defaults, ...options };
|
|
974
|
+
};
|
|
975
|
+
var permissionError = (pth) => {
|
|
976
|
+
const error = new Error(`operation not permitted, mkdir '${pth}'`);
|
|
977
|
+
error.code = "EPERM";
|
|
978
|
+
error.errno = -4048;
|
|
979
|
+
error.path = pth;
|
|
980
|
+
error.syscall = "mkdir";
|
|
981
|
+
return error;
|
|
982
|
+
};
|
|
983
|
+
module2.exports.makeDir = async (input, options) => {
|
|
984
|
+
checkPath(input);
|
|
985
|
+
options = processOptions(options);
|
|
986
|
+
if (useNativeRecursiveOption) {
|
|
987
|
+
const pth = path2.resolve(input);
|
|
988
|
+
return fs2.mkdir(pth, {
|
|
989
|
+
mode: options.mode,
|
|
990
|
+
recursive: true
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
const make = async (pth) => {
|
|
994
|
+
try {
|
|
995
|
+
await fs2.mkdir(pth, options.mode);
|
|
996
|
+
} catch (error) {
|
|
997
|
+
if (error.code === "EPERM") {
|
|
998
|
+
throw error;
|
|
999
|
+
}
|
|
1000
|
+
if (error.code === "ENOENT") {
|
|
1001
|
+
if (path2.dirname(pth) === pth) {
|
|
1002
|
+
throw permissionError(pth);
|
|
1003
|
+
}
|
|
1004
|
+
if (error.message.includes("null bytes")) {
|
|
1005
|
+
throw error;
|
|
1006
|
+
}
|
|
1007
|
+
await make(path2.dirname(pth));
|
|
1008
|
+
return make(pth);
|
|
1009
|
+
}
|
|
1010
|
+
try {
|
|
1011
|
+
const stats = await fs2.stat(pth);
|
|
1012
|
+
if (!stats.isDirectory()) {
|
|
1013
|
+
throw new Error("The path is not a directory");
|
|
1014
|
+
}
|
|
1015
|
+
} catch {
|
|
1016
|
+
throw error;
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
return make(path2.resolve(input));
|
|
1021
|
+
};
|
|
1022
|
+
module2.exports.makeDirSync = (input, options) => {
|
|
1023
|
+
checkPath(input);
|
|
1024
|
+
options = processOptions(options);
|
|
1025
|
+
if (useNativeRecursiveOption) {
|
|
1026
|
+
const pth = path2.resolve(input);
|
|
1027
|
+
return fs2.mkdirSync(pth, {
|
|
1028
|
+
mode: options.mode,
|
|
1029
|
+
recursive: true
|
|
1030
|
+
});
|
|
1031
|
+
}
|
|
1032
|
+
const make = (pth) => {
|
|
1033
|
+
try {
|
|
1034
|
+
fs2.mkdirSync(pth, options.mode);
|
|
1035
|
+
} catch (error) {
|
|
1036
|
+
if (error.code === "EPERM") {
|
|
1037
|
+
throw error;
|
|
1038
|
+
}
|
|
1039
|
+
if (error.code === "ENOENT") {
|
|
1040
|
+
if (path2.dirname(pth) === pth) {
|
|
1041
|
+
throw permissionError(pth);
|
|
1042
|
+
}
|
|
1043
|
+
if (error.message.includes("null bytes")) {
|
|
1044
|
+
throw error;
|
|
1045
|
+
}
|
|
1046
|
+
make(path2.dirname(pth));
|
|
1047
|
+
return make(pth);
|
|
1048
|
+
}
|
|
1049
|
+
try {
|
|
1050
|
+
if (!fs2.statSync(pth).isDirectory()) {
|
|
1051
|
+
throw new Error("The path is not a directory");
|
|
1052
|
+
}
|
|
1053
|
+
} catch {
|
|
1054
|
+
throw error;
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
};
|
|
1058
|
+
return make(path2.resolve(input));
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
|
|
1063
|
+
// ../node_modules/fs-extra/lib/mkdirs/index.js
|
|
1064
|
+
var require_mkdirs = __commonJS({
|
|
1065
|
+
"../node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
|
|
1066
|
+
"use strict";
|
|
1067
|
+
var u = require_universalify().fromPromise;
|
|
1068
|
+
var { makeDir: _makeDir, makeDirSync } = require_make_dir();
|
|
1069
|
+
var makeDir = u(_makeDir);
|
|
1070
|
+
module2.exports = {
|
|
1071
|
+
mkdirs: makeDir,
|
|
1072
|
+
mkdirsSync: makeDirSync,
|
|
1073
|
+
// alias
|
|
1074
|
+
mkdirp: makeDir,
|
|
1075
|
+
mkdirpSync: makeDirSync,
|
|
1076
|
+
ensureDir: makeDir,
|
|
1077
|
+
ensureDirSync: makeDirSync
|
|
1078
|
+
};
|
|
1079
|
+
}
|
|
1080
|
+
});
|
|
1081
|
+
|
|
1082
|
+
// ../node_modules/fs-extra/lib/util/utimes.js
|
|
1083
|
+
var require_utimes = __commonJS({
|
|
1084
|
+
"../node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) {
|
|
1085
|
+
"use strict";
|
|
1086
|
+
var fs2 = require_graceful_fs();
|
|
1087
|
+
function utimesMillis(path2, atime, mtime, callback) {
|
|
1088
|
+
fs2.open(path2, "r+", (err, fd) => {
|
|
1089
|
+
if (err) return callback(err);
|
|
1090
|
+
fs2.futimes(fd, atime, mtime, (futimesErr) => {
|
|
1091
|
+
fs2.close(fd, (closeErr) => {
|
|
1092
|
+
if (callback) callback(futimesErr || closeErr);
|
|
1093
|
+
});
|
|
1094
|
+
});
|
|
1095
|
+
});
|
|
1096
|
+
}
|
|
1097
|
+
function utimesMillisSync(path2, atime, mtime) {
|
|
1098
|
+
const fd = fs2.openSync(path2, "r+");
|
|
1099
|
+
fs2.futimesSync(fd, atime, mtime);
|
|
1100
|
+
return fs2.closeSync(fd);
|
|
1101
|
+
}
|
|
1102
|
+
module2.exports = {
|
|
1103
|
+
utimesMillis,
|
|
1104
|
+
utimesMillisSync
|
|
1105
|
+
};
|
|
1106
|
+
}
|
|
1107
|
+
});
|
|
1108
|
+
|
|
1109
|
+
// ../node_modules/fs-extra/lib/util/stat.js
|
|
1110
|
+
var require_stat = __commonJS({
|
|
1111
|
+
"../node_modules/fs-extra/lib/util/stat.js"(exports2, module2) {
|
|
1112
|
+
"use strict";
|
|
1113
|
+
var fs2 = require_fs();
|
|
1114
|
+
var path2 = require("path");
|
|
1115
|
+
var util = require("util");
|
|
1116
|
+
var atLeastNode = require_at_least_node();
|
|
1117
|
+
var nodeSupportsBigInt = atLeastNode("10.5.0");
|
|
1118
|
+
var stat = (file) => nodeSupportsBigInt ? fs2.stat(file, { bigint: true }) : fs2.stat(file);
|
|
1119
|
+
var statSync = (file) => nodeSupportsBigInt ? fs2.statSync(file, { bigint: true }) : fs2.statSync(file);
|
|
1120
|
+
function getStats(src, dest) {
|
|
1121
|
+
return Promise.all([
|
|
1122
|
+
stat(src),
|
|
1123
|
+
stat(dest).catch((err) => {
|
|
1124
|
+
if (err.code === "ENOENT") return null;
|
|
1125
|
+
throw err;
|
|
1126
|
+
})
|
|
1127
|
+
]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
|
|
1128
|
+
}
|
|
1129
|
+
function getStatsSync(src, dest) {
|
|
1130
|
+
let destStat;
|
|
1131
|
+
const srcStat = statSync(src);
|
|
1132
|
+
try {
|
|
1133
|
+
destStat = statSync(dest);
|
|
1134
|
+
} catch (err) {
|
|
1135
|
+
if (err.code === "ENOENT") return { srcStat, destStat: null };
|
|
1136
|
+
throw err;
|
|
1137
|
+
}
|
|
1138
|
+
return { srcStat, destStat };
|
|
1139
|
+
}
|
|
1140
|
+
function checkPaths(src, dest, funcName, cb) {
|
|
1141
|
+
util.callbackify(getStats)(src, dest, (err, stats) => {
|
|
1142
|
+
if (err) return cb(err);
|
|
1143
|
+
const { srcStat, destStat } = stats;
|
|
1144
|
+
if (destStat && areIdentical(srcStat, destStat)) {
|
|
1145
|
+
return cb(new Error("Source and destination must not be the same."));
|
|
1146
|
+
}
|
|
1147
|
+
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
|
|
1148
|
+
return cb(new Error(errMsg(src, dest, funcName)));
|
|
1149
|
+
}
|
|
1150
|
+
return cb(null, { srcStat, destStat });
|
|
1151
|
+
});
|
|
1152
|
+
}
|
|
1153
|
+
function checkPathsSync(src, dest, funcName) {
|
|
1154
|
+
const { srcStat, destStat } = getStatsSync(src, dest);
|
|
1155
|
+
if (destStat && areIdentical(srcStat, destStat)) {
|
|
1156
|
+
throw new Error("Source and destination must not be the same.");
|
|
1157
|
+
}
|
|
1158
|
+
if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
|
|
1159
|
+
throw new Error(errMsg(src, dest, funcName));
|
|
1160
|
+
}
|
|
1161
|
+
return { srcStat, destStat };
|
|
1162
|
+
}
|
|
1163
|
+
function checkParentPaths(src, srcStat, dest, funcName, cb) {
|
|
1164
|
+
const srcParent = path2.resolve(path2.dirname(src));
|
|
1165
|
+
const destParent = path2.resolve(path2.dirname(dest));
|
|
1166
|
+
if (destParent === srcParent || destParent === path2.parse(destParent).root) return cb();
|
|
1167
|
+
const callback = (err, destStat) => {
|
|
1168
|
+
if (err) {
|
|
1169
|
+
if (err.code === "ENOENT") return cb();
|
|
1170
|
+
return cb(err);
|
|
1171
|
+
}
|
|
1172
|
+
if (areIdentical(srcStat, destStat)) {
|
|
1173
|
+
return cb(new Error(errMsg(src, dest, funcName)));
|
|
1174
|
+
}
|
|
1175
|
+
return checkParentPaths(src, srcStat, destParent, funcName, cb);
|
|
1176
|
+
};
|
|
1177
|
+
if (nodeSupportsBigInt) fs2.stat(destParent, { bigint: true }, callback);
|
|
1178
|
+
else fs2.stat(destParent, callback);
|
|
1179
|
+
}
|
|
1180
|
+
function checkParentPathsSync(src, srcStat, dest, funcName) {
|
|
1181
|
+
const srcParent = path2.resolve(path2.dirname(src));
|
|
1182
|
+
const destParent = path2.resolve(path2.dirname(dest));
|
|
1183
|
+
if (destParent === srcParent || destParent === path2.parse(destParent).root) return;
|
|
1184
|
+
let destStat;
|
|
1185
|
+
try {
|
|
1186
|
+
destStat = statSync(destParent);
|
|
1187
|
+
} catch (err) {
|
|
1188
|
+
if (err.code === "ENOENT") return;
|
|
1189
|
+
throw err;
|
|
1190
|
+
}
|
|
1191
|
+
if (areIdentical(srcStat, destStat)) {
|
|
1192
|
+
throw new Error(errMsg(src, dest, funcName));
|
|
1193
|
+
}
|
|
1194
|
+
return checkParentPathsSync(src, srcStat, destParent, funcName);
|
|
1195
|
+
}
|
|
1196
|
+
function areIdentical(srcStat, destStat) {
|
|
1197
|
+
if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
|
|
1198
|
+
if (nodeSupportsBigInt || destStat.ino < Number.MAX_SAFE_INTEGER) {
|
|
1199
|
+
return true;
|
|
1200
|
+
}
|
|
1201
|
+
if (destStat.size === srcStat.size && destStat.mode === srcStat.mode && destStat.nlink === srcStat.nlink && destStat.atimeMs === srcStat.atimeMs && destStat.mtimeMs === srcStat.mtimeMs && destStat.ctimeMs === srcStat.ctimeMs && destStat.birthtimeMs === srcStat.birthtimeMs) {
|
|
1202
|
+
return true;
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
return false;
|
|
1206
|
+
}
|
|
1207
|
+
function isSrcSubdir(src, dest) {
|
|
1208
|
+
const srcArr = path2.resolve(src).split(path2.sep).filter((i) => i);
|
|
1209
|
+
const destArr = path2.resolve(dest).split(path2.sep).filter((i) => i);
|
|
1210
|
+
return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true);
|
|
1211
|
+
}
|
|
1212
|
+
function errMsg(src, dest, funcName) {
|
|
1213
|
+
return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`;
|
|
1214
|
+
}
|
|
1215
|
+
module2.exports = {
|
|
1216
|
+
checkPaths,
|
|
1217
|
+
checkPathsSync,
|
|
1218
|
+
checkParentPaths,
|
|
1219
|
+
checkParentPathsSync,
|
|
1220
|
+
isSrcSubdir
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1223
|
+
});
|
|
1224
|
+
|
|
1225
|
+
// ../node_modules/fs-extra/lib/copy-sync/copy-sync.js
|
|
1226
|
+
var require_copy_sync = __commonJS({
|
|
1227
|
+
"../node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports2, module2) {
|
|
1228
|
+
"use strict";
|
|
1229
|
+
var fs2 = require_graceful_fs();
|
|
1230
|
+
var path2 = require("path");
|
|
1231
|
+
var mkdirsSync = require_mkdirs().mkdirsSync;
|
|
1232
|
+
var utimesMillisSync = require_utimes().utimesMillisSync;
|
|
1233
|
+
var stat = require_stat();
|
|
1234
|
+
function copySync(src, dest, opts) {
|
|
1235
|
+
if (typeof opts === "function") {
|
|
1236
|
+
opts = { filter: opts };
|
|
1237
|
+
}
|
|
1238
|
+
opts = opts || {};
|
|
1239
|
+
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
|
|
1240
|
+
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
|
|
1241
|
+
if (opts.preserveTimestamps && process.arch === "ia32") {
|
|
1242
|
+
console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
1243
|
+
|
|
1244
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);
|
|
1245
|
+
}
|
|
1246
|
+
const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy");
|
|
1247
|
+
stat.checkParentPathsSync(src, srcStat, dest, "copy");
|
|
1248
|
+
return handleFilterAndCopy(destStat, src, dest, opts);
|
|
1249
|
+
}
|
|
1250
|
+
function handleFilterAndCopy(destStat, src, dest, opts) {
|
|
1251
|
+
if (opts.filter && !opts.filter(src, dest)) return;
|
|
1252
|
+
const destParent = path2.dirname(dest);
|
|
1253
|
+
if (!fs2.existsSync(destParent)) mkdirsSync(destParent);
|
|
1254
|
+
return startCopy(destStat, src, dest, opts);
|
|
1255
|
+
}
|
|
1256
|
+
function startCopy(destStat, src, dest, opts) {
|
|
1257
|
+
if (opts.filter && !opts.filter(src, dest)) return;
|
|
1258
|
+
return getStats(destStat, src, dest, opts);
|
|
1259
|
+
}
|
|
1260
|
+
function getStats(destStat, src, dest, opts) {
|
|
1261
|
+
const statSync = opts.dereference ? fs2.statSync : fs2.lstatSync;
|
|
1262
|
+
const srcStat = statSync(src);
|
|
1263
|
+
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
|
|
1264
|
+
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
|
|
1265
|
+
else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts);
|
|
1266
|
+
}
|
|
1267
|
+
function onFile(srcStat, destStat, src, dest, opts) {
|
|
1268
|
+
if (!destStat) return copyFile(srcStat, src, dest, opts);
|
|
1269
|
+
return mayCopyFile(srcStat, src, dest, opts);
|
|
1270
|
+
}
|
|
1271
|
+
function mayCopyFile(srcStat, src, dest, opts) {
|
|
1272
|
+
if (opts.overwrite) {
|
|
1273
|
+
fs2.unlinkSync(dest);
|
|
1274
|
+
return copyFile(srcStat, src, dest, opts);
|
|
1275
|
+
} else if (opts.errorOnExist) {
|
|
1276
|
+
throw new Error(`'${dest}' already exists`);
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
function copyFile(srcStat, src, dest, opts) {
|
|
1280
|
+
fs2.copyFileSync(src, dest);
|
|
1281
|
+
if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest);
|
|
1282
|
+
return setDestMode(dest, srcStat.mode);
|
|
1283
|
+
}
|
|
1284
|
+
function handleTimestamps(srcMode, src, dest) {
|
|
1285
|
+
if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode);
|
|
1286
|
+
return setDestTimestamps(src, dest);
|
|
1287
|
+
}
|
|
1288
|
+
function fileIsNotWritable(srcMode) {
|
|
1289
|
+
return (srcMode & 128) === 0;
|
|
1290
|
+
}
|
|
1291
|
+
function makeFileWritable(dest, srcMode) {
|
|
1292
|
+
return setDestMode(dest, srcMode | 128);
|
|
1293
|
+
}
|
|
1294
|
+
function setDestMode(dest, srcMode) {
|
|
1295
|
+
return fs2.chmodSync(dest, srcMode);
|
|
1296
|
+
}
|
|
1297
|
+
function setDestTimestamps(src, dest) {
|
|
1298
|
+
const updatedSrcStat = fs2.statSync(src);
|
|
1299
|
+
return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
|
|
1300
|
+
}
|
|
1301
|
+
function onDir(srcStat, destStat, src, dest, opts) {
|
|
1302
|
+
if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts);
|
|
1303
|
+
if (destStat && !destStat.isDirectory()) {
|
|
1304
|
+
throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
|
|
1305
|
+
}
|
|
1306
|
+
return copyDir(src, dest, opts);
|
|
1307
|
+
}
|
|
1308
|
+
function mkDirAndCopy(srcMode, src, dest, opts) {
|
|
1309
|
+
fs2.mkdirSync(dest);
|
|
1310
|
+
copyDir(src, dest, opts);
|
|
1311
|
+
return setDestMode(dest, srcMode);
|
|
1312
|
+
}
|
|
1313
|
+
function copyDir(src, dest, opts) {
|
|
1314
|
+
fs2.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts));
|
|
1315
|
+
}
|
|
1316
|
+
function copyDirItem(item, src, dest, opts) {
|
|
1317
|
+
const srcItem = path2.join(src, item);
|
|
1318
|
+
const destItem = path2.join(dest, item);
|
|
1319
|
+
const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy");
|
|
1320
|
+
return startCopy(destStat, srcItem, destItem, opts);
|
|
1321
|
+
}
|
|
1322
|
+
function onLink(destStat, src, dest, opts) {
|
|
1323
|
+
let resolvedSrc = fs2.readlinkSync(src);
|
|
1324
|
+
if (opts.dereference) {
|
|
1325
|
+
resolvedSrc = path2.resolve(process.cwd(), resolvedSrc);
|
|
1326
|
+
}
|
|
1327
|
+
if (!destStat) {
|
|
1328
|
+
return fs2.symlinkSync(resolvedSrc, dest);
|
|
1329
|
+
} else {
|
|
1330
|
+
let resolvedDest;
|
|
1331
|
+
try {
|
|
1332
|
+
resolvedDest = fs2.readlinkSync(dest);
|
|
1333
|
+
} catch (err) {
|
|
1334
|
+
if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs2.symlinkSync(resolvedSrc, dest);
|
|
1335
|
+
throw err;
|
|
1336
|
+
}
|
|
1337
|
+
if (opts.dereference) {
|
|
1338
|
+
resolvedDest = path2.resolve(process.cwd(), resolvedDest);
|
|
1339
|
+
}
|
|
1340
|
+
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
1341
|
+
throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
|
|
1342
|
+
}
|
|
1343
|
+
if (fs2.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
|
|
1344
|
+
throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
|
|
1345
|
+
}
|
|
1346
|
+
return copyLink(resolvedSrc, dest);
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
function copyLink(resolvedSrc, dest) {
|
|
1350
|
+
fs2.unlinkSync(dest);
|
|
1351
|
+
return fs2.symlinkSync(resolvedSrc, dest);
|
|
1352
|
+
}
|
|
1353
|
+
module2.exports = copySync;
|
|
1354
|
+
}
|
|
1355
|
+
});
|
|
1356
|
+
|
|
1357
|
+
// ../node_modules/fs-extra/lib/copy-sync/index.js
|
|
1358
|
+
var require_copy_sync2 = __commonJS({
|
|
1359
|
+
"../node_modules/fs-extra/lib/copy-sync/index.js"(exports2, module2) {
|
|
1360
|
+
"use strict";
|
|
1361
|
+
module2.exports = {
|
|
1362
|
+
copySync: require_copy_sync()
|
|
1363
|
+
};
|
|
1364
|
+
}
|
|
1365
|
+
});
|
|
1366
|
+
|
|
1367
|
+
// ../node_modules/fs-extra/lib/path-exists/index.js
|
|
1368
|
+
var require_path_exists = __commonJS({
|
|
1369
|
+
"../node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) {
|
|
1370
|
+
"use strict";
|
|
1371
|
+
var u = require_universalify().fromPromise;
|
|
1372
|
+
var fs2 = require_fs();
|
|
1373
|
+
function pathExists(path2) {
|
|
1374
|
+
return fs2.access(path2).then(() => true).catch(() => false);
|
|
1375
|
+
}
|
|
1376
|
+
module2.exports = {
|
|
1377
|
+
pathExists: u(pathExists),
|
|
1378
|
+
pathExistsSync: fs2.existsSync
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
});
|
|
1382
|
+
|
|
1383
|
+
// ../node_modules/fs-extra/lib/copy/copy.js
|
|
1384
|
+
var require_copy = __commonJS({
|
|
1385
|
+
"../node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) {
|
|
1386
|
+
"use strict";
|
|
1387
|
+
var fs2 = require_graceful_fs();
|
|
1388
|
+
var path2 = require("path");
|
|
1389
|
+
var mkdirs = require_mkdirs().mkdirs;
|
|
1390
|
+
var pathExists = require_path_exists().pathExists;
|
|
1391
|
+
var utimesMillis = require_utimes().utimesMillis;
|
|
1392
|
+
var stat = require_stat();
|
|
1393
|
+
function copy(src, dest, opts, cb) {
|
|
1394
|
+
if (typeof opts === "function" && !cb) {
|
|
1395
|
+
cb = opts;
|
|
1396
|
+
opts = {};
|
|
1397
|
+
} else if (typeof opts === "function") {
|
|
1398
|
+
opts = { filter: opts };
|
|
1399
|
+
}
|
|
1400
|
+
cb = cb || function() {
|
|
1401
|
+
};
|
|
1402
|
+
opts = opts || {};
|
|
1403
|
+
opts.clobber = "clobber" in opts ? !!opts.clobber : true;
|
|
1404
|
+
opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
|
|
1405
|
+
if (opts.preserveTimestamps && process.arch === "ia32") {
|
|
1406
|
+
console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
1407
|
+
|
|
1408
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);
|
|
1409
|
+
}
|
|
1410
|
+
stat.checkPaths(src, dest, "copy", (err, stats) => {
|
|
1411
|
+
if (err) return cb(err);
|
|
1412
|
+
const { srcStat, destStat } = stats;
|
|
1413
|
+
stat.checkParentPaths(src, srcStat, dest, "copy", (err2) => {
|
|
1414
|
+
if (err2) return cb(err2);
|
|
1415
|
+
if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb);
|
|
1416
|
+
return checkParentDir(destStat, src, dest, opts, cb);
|
|
1417
|
+
});
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
function checkParentDir(destStat, src, dest, opts, cb) {
|
|
1421
|
+
const destParent = path2.dirname(dest);
|
|
1422
|
+
pathExists(destParent, (err, dirExists) => {
|
|
1423
|
+
if (err) return cb(err);
|
|
1424
|
+
if (dirExists) return startCopy(destStat, src, dest, opts, cb);
|
|
1425
|
+
mkdirs(destParent, (err2) => {
|
|
1426
|
+
if (err2) return cb(err2);
|
|
1427
|
+
return startCopy(destStat, src, dest, opts, cb);
|
|
1428
|
+
});
|
|
1429
|
+
});
|
|
1430
|
+
}
|
|
1431
|
+
function handleFilter(onInclude, destStat, src, dest, opts, cb) {
|
|
1432
|
+
Promise.resolve(opts.filter(src, dest)).then((include) => {
|
|
1433
|
+
if (include) return onInclude(destStat, src, dest, opts, cb);
|
|
1434
|
+
return cb();
|
|
1435
|
+
}, (error) => cb(error));
|
|
1436
|
+
}
|
|
1437
|
+
function startCopy(destStat, src, dest, opts, cb) {
|
|
1438
|
+
if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb);
|
|
1439
|
+
return getStats(destStat, src, dest, opts, cb);
|
|
1440
|
+
}
|
|
1441
|
+
function getStats(destStat, src, dest, opts, cb) {
|
|
1442
|
+
const stat2 = opts.dereference ? fs2.stat : fs2.lstat;
|
|
1443
|
+
stat2(src, (err, srcStat) => {
|
|
1444
|
+
if (err) return cb(err);
|
|
1445
|
+
if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb);
|
|
1446
|
+
else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb);
|
|
1447
|
+
else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb);
|
|
1448
|
+
});
|
|
1449
|
+
}
|
|
1450
|
+
function onFile(srcStat, destStat, src, dest, opts, cb) {
|
|
1451
|
+
if (!destStat) return copyFile(srcStat, src, dest, opts, cb);
|
|
1452
|
+
return mayCopyFile(srcStat, src, dest, opts, cb);
|
|
1453
|
+
}
|
|
1454
|
+
function mayCopyFile(srcStat, src, dest, opts, cb) {
|
|
1455
|
+
if (opts.overwrite) {
|
|
1456
|
+
fs2.unlink(dest, (err) => {
|
|
1457
|
+
if (err) return cb(err);
|
|
1458
|
+
return copyFile(srcStat, src, dest, opts, cb);
|
|
1459
|
+
});
|
|
1460
|
+
} else if (opts.errorOnExist) {
|
|
1461
|
+
return cb(new Error(`'${dest}' already exists`));
|
|
1462
|
+
} else return cb();
|
|
1463
|
+
}
|
|
1464
|
+
function copyFile(srcStat, src, dest, opts, cb) {
|
|
1465
|
+
fs2.copyFile(src, dest, (err) => {
|
|
1466
|
+
if (err) return cb(err);
|
|
1467
|
+
if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb);
|
|
1468
|
+
return setDestMode(dest, srcStat.mode, cb);
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1471
|
+
function handleTimestampsAndMode(srcMode, src, dest, cb) {
|
|
1472
|
+
if (fileIsNotWritable(srcMode)) {
|
|
1473
|
+
return makeFileWritable(dest, srcMode, (err) => {
|
|
1474
|
+
if (err) return cb(err);
|
|
1475
|
+
return setDestTimestampsAndMode(srcMode, src, dest, cb);
|
|
1476
|
+
});
|
|
1477
|
+
}
|
|
1478
|
+
return setDestTimestampsAndMode(srcMode, src, dest, cb);
|
|
1479
|
+
}
|
|
1480
|
+
function fileIsNotWritable(srcMode) {
|
|
1481
|
+
return (srcMode & 128) === 0;
|
|
1482
|
+
}
|
|
1483
|
+
function makeFileWritable(dest, srcMode, cb) {
|
|
1484
|
+
return setDestMode(dest, srcMode | 128, cb);
|
|
1485
|
+
}
|
|
1486
|
+
function setDestTimestampsAndMode(srcMode, src, dest, cb) {
|
|
1487
|
+
setDestTimestamps(src, dest, (err) => {
|
|
1488
|
+
if (err) return cb(err);
|
|
1489
|
+
return setDestMode(dest, srcMode, cb);
|
|
1490
|
+
});
|
|
1491
|
+
}
|
|
1492
|
+
function setDestMode(dest, srcMode, cb) {
|
|
1493
|
+
return fs2.chmod(dest, srcMode, cb);
|
|
1494
|
+
}
|
|
1495
|
+
function setDestTimestamps(src, dest, cb) {
|
|
1496
|
+
fs2.stat(src, (err, updatedSrcStat) => {
|
|
1497
|
+
if (err) return cb(err);
|
|
1498
|
+
return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb);
|
|
1499
|
+
});
|
|
1500
|
+
}
|
|
1501
|
+
function onDir(srcStat, destStat, src, dest, opts, cb) {
|
|
1502
|
+
if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb);
|
|
1503
|
+
if (destStat && !destStat.isDirectory()) {
|
|
1504
|
+
return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`));
|
|
1505
|
+
}
|
|
1506
|
+
return copyDir(src, dest, opts, cb);
|
|
1507
|
+
}
|
|
1508
|
+
function mkDirAndCopy(srcMode, src, dest, opts, cb) {
|
|
1509
|
+
fs2.mkdir(dest, (err) => {
|
|
1510
|
+
if (err) return cb(err);
|
|
1511
|
+
copyDir(src, dest, opts, (err2) => {
|
|
1512
|
+
if (err2) return cb(err2);
|
|
1513
|
+
return setDestMode(dest, srcMode, cb);
|
|
1514
|
+
});
|
|
1515
|
+
});
|
|
1516
|
+
}
|
|
1517
|
+
function copyDir(src, dest, opts, cb) {
|
|
1518
|
+
fs2.readdir(src, (err, items) => {
|
|
1519
|
+
if (err) return cb(err);
|
|
1520
|
+
return copyDirItems(items, src, dest, opts, cb);
|
|
1521
|
+
});
|
|
1522
|
+
}
|
|
1523
|
+
function copyDirItems(items, src, dest, opts, cb) {
|
|
1524
|
+
const item = items.pop();
|
|
1525
|
+
if (!item) return cb();
|
|
1526
|
+
return copyDirItem(items, item, src, dest, opts, cb);
|
|
1527
|
+
}
|
|
1528
|
+
function copyDirItem(items, item, src, dest, opts, cb) {
|
|
1529
|
+
const srcItem = path2.join(src, item);
|
|
1530
|
+
const destItem = path2.join(dest, item);
|
|
1531
|
+
stat.checkPaths(srcItem, destItem, "copy", (err, stats) => {
|
|
1532
|
+
if (err) return cb(err);
|
|
1533
|
+
const { destStat } = stats;
|
|
1534
|
+
startCopy(destStat, srcItem, destItem, opts, (err2) => {
|
|
1535
|
+
if (err2) return cb(err2);
|
|
1536
|
+
return copyDirItems(items, src, dest, opts, cb);
|
|
1537
|
+
});
|
|
1538
|
+
});
|
|
1539
|
+
}
|
|
1540
|
+
function onLink(destStat, src, dest, opts, cb) {
|
|
1541
|
+
fs2.readlink(src, (err, resolvedSrc) => {
|
|
1542
|
+
if (err) return cb(err);
|
|
1543
|
+
if (opts.dereference) {
|
|
1544
|
+
resolvedSrc = path2.resolve(process.cwd(), resolvedSrc);
|
|
1545
|
+
}
|
|
1546
|
+
if (!destStat) {
|
|
1547
|
+
return fs2.symlink(resolvedSrc, dest, cb);
|
|
1548
|
+
} else {
|
|
1549
|
+
fs2.readlink(dest, (err2, resolvedDest) => {
|
|
1550
|
+
if (err2) {
|
|
1551
|
+
if (err2.code === "EINVAL" || err2.code === "UNKNOWN") return fs2.symlink(resolvedSrc, dest, cb);
|
|
1552
|
+
return cb(err2);
|
|
1553
|
+
}
|
|
1554
|
+
if (opts.dereference) {
|
|
1555
|
+
resolvedDest = path2.resolve(process.cwd(), resolvedDest);
|
|
1556
|
+
}
|
|
1557
|
+
if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
|
|
1558
|
+
return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`));
|
|
1559
|
+
}
|
|
1560
|
+
if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
|
|
1561
|
+
return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`));
|
|
1562
|
+
}
|
|
1563
|
+
return copyLink(resolvedSrc, dest, cb);
|
|
1564
|
+
});
|
|
1565
|
+
}
|
|
1566
|
+
});
|
|
1567
|
+
}
|
|
1568
|
+
function copyLink(resolvedSrc, dest, cb) {
|
|
1569
|
+
fs2.unlink(dest, (err) => {
|
|
1570
|
+
if (err) return cb(err);
|
|
1571
|
+
return fs2.symlink(resolvedSrc, dest, cb);
|
|
1572
|
+
});
|
|
1573
|
+
}
|
|
1574
|
+
module2.exports = copy;
|
|
1575
|
+
}
|
|
1576
|
+
});
|
|
1577
|
+
|
|
1578
|
+
// ../node_modules/fs-extra/lib/copy/index.js
|
|
1579
|
+
var require_copy2 = __commonJS({
|
|
1580
|
+
"../node_modules/fs-extra/lib/copy/index.js"(exports2, module2) {
|
|
1581
|
+
"use strict";
|
|
1582
|
+
var u = require_universalify().fromCallback;
|
|
1583
|
+
module2.exports = {
|
|
1584
|
+
copy: u(require_copy())
|
|
1585
|
+
};
|
|
1586
|
+
}
|
|
1587
|
+
});
|
|
1588
|
+
|
|
1589
|
+
// ../node_modules/fs-extra/lib/remove/rimraf.js
|
|
1590
|
+
var require_rimraf = __commonJS({
|
|
1591
|
+
"../node_modules/fs-extra/lib/remove/rimraf.js"(exports2, module2) {
|
|
1592
|
+
"use strict";
|
|
1593
|
+
var fs2 = require_graceful_fs();
|
|
1594
|
+
var path2 = require("path");
|
|
1595
|
+
var assert = require("assert");
|
|
1596
|
+
var isWindows = process.platform === "win32";
|
|
1597
|
+
function defaults(options) {
|
|
1598
|
+
const methods = [
|
|
1599
|
+
"unlink",
|
|
1600
|
+
"chmod",
|
|
1601
|
+
"stat",
|
|
1602
|
+
"lstat",
|
|
1603
|
+
"rmdir",
|
|
1604
|
+
"readdir"
|
|
1605
|
+
];
|
|
1606
|
+
methods.forEach((m) => {
|
|
1607
|
+
options[m] = options[m] || fs2[m];
|
|
1608
|
+
m = m + "Sync";
|
|
1609
|
+
options[m] = options[m] || fs2[m];
|
|
1610
|
+
});
|
|
1611
|
+
options.maxBusyTries = options.maxBusyTries || 3;
|
|
1612
|
+
}
|
|
1613
|
+
function rimraf(p, options, cb) {
|
|
1614
|
+
let busyTries = 0;
|
|
1615
|
+
if (typeof options === "function") {
|
|
1616
|
+
cb = options;
|
|
1617
|
+
options = {};
|
|
1618
|
+
}
|
|
1619
|
+
assert(p, "rimraf: missing path");
|
|
1620
|
+
assert.strictEqual(typeof p, "string", "rimraf: path should be a string");
|
|
1621
|
+
assert.strictEqual(typeof cb, "function", "rimraf: callback function required");
|
|
1622
|
+
assert(options, "rimraf: invalid options argument provided");
|
|
1623
|
+
assert.strictEqual(typeof options, "object", "rimraf: options should be object");
|
|
1624
|
+
defaults(options);
|
|
1625
|
+
rimraf_(p, options, function CB(er) {
|
|
1626
|
+
if (er) {
|
|
1627
|
+
if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && busyTries < options.maxBusyTries) {
|
|
1628
|
+
busyTries++;
|
|
1629
|
+
const time = busyTries * 100;
|
|
1630
|
+
return setTimeout(() => rimraf_(p, options, CB), time);
|
|
1631
|
+
}
|
|
1632
|
+
if (er.code === "ENOENT") er = null;
|
|
1633
|
+
}
|
|
1634
|
+
cb(er);
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1637
|
+
function rimraf_(p, options, cb) {
|
|
1638
|
+
assert(p);
|
|
1639
|
+
assert(options);
|
|
1640
|
+
assert(typeof cb === "function");
|
|
1641
|
+
options.lstat(p, (er, st) => {
|
|
1642
|
+
if (er && er.code === "ENOENT") {
|
|
1643
|
+
return cb(null);
|
|
1644
|
+
}
|
|
1645
|
+
if (er && er.code === "EPERM" && isWindows) {
|
|
1646
|
+
return fixWinEPERM(p, options, er, cb);
|
|
1647
|
+
}
|
|
1648
|
+
if (st && st.isDirectory()) {
|
|
1649
|
+
return rmdir(p, options, er, cb);
|
|
1650
|
+
}
|
|
1651
|
+
options.unlink(p, (er2) => {
|
|
1652
|
+
if (er2) {
|
|
1653
|
+
if (er2.code === "ENOENT") {
|
|
1654
|
+
return cb(null);
|
|
1655
|
+
}
|
|
1656
|
+
if (er2.code === "EPERM") {
|
|
1657
|
+
return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
|
|
1658
|
+
}
|
|
1659
|
+
if (er2.code === "EISDIR") {
|
|
1660
|
+
return rmdir(p, options, er2, cb);
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
return cb(er2);
|
|
1664
|
+
});
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
function fixWinEPERM(p, options, er, cb) {
|
|
1668
|
+
assert(p);
|
|
1669
|
+
assert(options);
|
|
1670
|
+
assert(typeof cb === "function");
|
|
1671
|
+
options.chmod(p, 438, (er2) => {
|
|
1672
|
+
if (er2) {
|
|
1673
|
+
cb(er2.code === "ENOENT" ? null : er);
|
|
1674
|
+
} else {
|
|
1675
|
+
options.stat(p, (er3, stats) => {
|
|
1676
|
+
if (er3) {
|
|
1677
|
+
cb(er3.code === "ENOENT" ? null : er);
|
|
1678
|
+
} else if (stats.isDirectory()) {
|
|
1679
|
+
rmdir(p, options, er, cb);
|
|
1680
|
+
} else {
|
|
1681
|
+
options.unlink(p, cb);
|
|
1682
|
+
}
|
|
1683
|
+
});
|
|
1684
|
+
}
|
|
1685
|
+
});
|
|
1686
|
+
}
|
|
1687
|
+
function fixWinEPERMSync(p, options, er) {
|
|
1688
|
+
let stats;
|
|
1689
|
+
assert(p);
|
|
1690
|
+
assert(options);
|
|
1691
|
+
try {
|
|
1692
|
+
options.chmodSync(p, 438);
|
|
1693
|
+
} catch (er2) {
|
|
1694
|
+
if (er2.code === "ENOENT") {
|
|
1695
|
+
return;
|
|
1696
|
+
} else {
|
|
1697
|
+
throw er;
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
try {
|
|
1701
|
+
stats = options.statSync(p);
|
|
1702
|
+
} catch (er3) {
|
|
1703
|
+
if (er3.code === "ENOENT") {
|
|
1704
|
+
return;
|
|
1705
|
+
} else {
|
|
1706
|
+
throw er;
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
if (stats.isDirectory()) {
|
|
1710
|
+
rmdirSync(p, options, er);
|
|
1711
|
+
} else {
|
|
1712
|
+
options.unlinkSync(p);
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
function rmdir(p, options, originalEr, cb) {
|
|
1716
|
+
assert(p);
|
|
1717
|
+
assert(options);
|
|
1718
|
+
assert(typeof cb === "function");
|
|
1719
|
+
options.rmdir(p, (er) => {
|
|
1720
|
+
if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) {
|
|
1721
|
+
rmkids(p, options, cb);
|
|
1722
|
+
} else if (er && er.code === "ENOTDIR") {
|
|
1723
|
+
cb(originalEr);
|
|
1724
|
+
} else {
|
|
1725
|
+
cb(er);
|
|
1726
|
+
}
|
|
1727
|
+
});
|
|
1728
|
+
}
|
|
1729
|
+
function rmkids(p, options, cb) {
|
|
1730
|
+
assert(p);
|
|
1731
|
+
assert(options);
|
|
1732
|
+
assert(typeof cb === "function");
|
|
1733
|
+
options.readdir(p, (er, files) => {
|
|
1734
|
+
if (er) return cb(er);
|
|
1735
|
+
let n = files.length;
|
|
1736
|
+
let errState;
|
|
1737
|
+
if (n === 0) return options.rmdir(p, cb);
|
|
1738
|
+
files.forEach((f) => {
|
|
1739
|
+
rimraf(path2.join(p, f), options, (er2) => {
|
|
1740
|
+
if (errState) {
|
|
1741
|
+
return;
|
|
1742
|
+
}
|
|
1743
|
+
if (er2) return cb(errState = er2);
|
|
1744
|
+
if (--n === 0) {
|
|
1745
|
+
options.rmdir(p, cb);
|
|
1746
|
+
}
|
|
1747
|
+
});
|
|
1748
|
+
});
|
|
1749
|
+
});
|
|
1750
|
+
}
|
|
1751
|
+
function rimrafSync(p, options) {
|
|
1752
|
+
let st;
|
|
1753
|
+
options = options || {};
|
|
1754
|
+
defaults(options);
|
|
1755
|
+
assert(p, "rimraf: missing path");
|
|
1756
|
+
assert.strictEqual(typeof p, "string", "rimraf: path should be a string");
|
|
1757
|
+
assert(options, "rimraf: missing options");
|
|
1758
|
+
assert.strictEqual(typeof options, "object", "rimraf: options should be object");
|
|
1759
|
+
try {
|
|
1760
|
+
st = options.lstatSync(p);
|
|
1761
|
+
} catch (er) {
|
|
1762
|
+
if (er.code === "ENOENT") {
|
|
1763
|
+
return;
|
|
1764
|
+
}
|
|
1765
|
+
if (er.code === "EPERM" && isWindows) {
|
|
1766
|
+
fixWinEPERMSync(p, options, er);
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
try {
|
|
1770
|
+
if (st && st.isDirectory()) {
|
|
1771
|
+
rmdirSync(p, options, null);
|
|
1772
|
+
} else {
|
|
1773
|
+
options.unlinkSync(p);
|
|
1774
|
+
}
|
|
1775
|
+
} catch (er) {
|
|
1776
|
+
if (er.code === "ENOENT") {
|
|
1777
|
+
return;
|
|
1778
|
+
} else if (er.code === "EPERM") {
|
|
1779
|
+
return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er);
|
|
1780
|
+
} else if (er.code !== "EISDIR") {
|
|
1781
|
+
throw er;
|
|
1782
|
+
}
|
|
1783
|
+
rmdirSync(p, options, er);
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
function rmdirSync(p, options, originalEr) {
|
|
1787
|
+
assert(p);
|
|
1788
|
+
assert(options);
|
|
1789
|
+
try {
|
|
1790
|
+
options.rmdirSync(p);
|
|
1791
|
+
} catch (er) {
|
|
1792
|
+
if (er.code === "ENOTDIR") {
|
|
1793
|
+
throw originalEr;
|
|
1794
|
+
} else if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") {
|
|
1795
|
+
rmkidsSync(p, options);
|
|
1796
|
+
} else if (er.code !== "ENOENT") {
|
|
1797
|
+
throw er;
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
function rmkidsSync(p, options) {
|
|
1802
|
+
assert(p);
|
|
1803
|
+
assert(options);
|
|
1804
|
+
options.readdirSync(p).forEach((f) => rimrafSync(path2.join(p, f), options));
|
|
1805
|
+
if (isWindows) {
|
|
1806
|
+
const startTime = Date.now();
|
|
1807
|
+
do {
|
|
1808
|
+
try {
|
|
1809
|
+
const ret = options.rmdirSync(p, options);
|
|
1810
|
+
return ret;
|
|
1811
|
+
} catch {
|
|
1812
|
+
}
|
|
1813
|
+
} while (Date.now() - startTime < 500);
|
|
1814
|
+
} else {
|
|
1815
|
+
const ret = options.rmdirSync(p, options);
|
|
1816
|
+
return ret;
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
module2.exports = rimraf;
|
|
1820
|
+
rimraf.sync = rimrafSync;
|
|
1821
|
+
}
|
|
1822
|
+
});
|
|
1823
|
+
|
|
1824
|
+
// ../node_modules/fs-extra/lib/remove/index.js
|
|
1825
|
+
var require_remove = __commonJS({
|
|
1826
|
+
"../node_modules/fs-extra/lib/remove/index.js"(exports2, module2) {
|
|
1827
|
+
"use strict";
|
|
1828
|
+
var u = require_universalify().fromCallback;
|
|
1829
|
+
var rimraf = require_rimraf();
|
|
1830
|
+
module2.exports = {
|
|
1831
|
+
remove: u(rimraf),
|
|
1832
|
+
removeSync: rimraf.sync
|
|
1833
|
+
};
|
|
1834
|
+
}
|
|
1835
|
+
});
|
|
1836
|
+
|
|
1837
|
+
// ../node_modules/fs-extra/lib/empty/index.js
|
|
1838
|
+
var require_empty = __commonJS({
|
|
1839
|
+
"../node_modules/fs-extra/lib/empty/index.js"(exports2, module2) {
|
|
1840
|
+
"use strict";
|
|
1841
|
+
var u = require_universalify().fromCallback;
|
|
1842
|
+
var fs2 = require_graceful_fs();
|
|
1843
|
+
var path2 = require("path");
|
|
1844
|
+
var mkdir = require_mkdirs();
|
|
1845
|
+
var remove = require_remove();
|
|
1846
|
+
var emptyDir = u(function emptyDir2(dir, callback) {
|
|
1847
|
+
callback = callback || function() {
|
|
1848
|
+
};
|
|
1849
|
+
fs2.readdir(dir, (err, items) => {
|
|
1850
|
+
if (err) return mkdir.mkdirs(dir, callback);
|
|
1851
|
+
items = items.map((item) => path2.join(dir, item));
|
|
1852
|
+
deleteItem();
|
|
1853
|
+
function deleteItem() {
|
|
1854
|
+
const item = items.pop();
|
|
1855
|
+
if (!item) return callback();
|
|
1856
|
+
remove.remove(item, (err2) => {
|
|
1857
|
+
if (err2) return callback(err2);
|
|
1858
|
+
deleteItem();
|
|
1859
|
+
});
|
|
1860
|
+
}
|
|
1861
|
+
});
|
|
1862
|
+
});
|
|
1863
|
+
function emptyDirSync(dir) {
|
|
1864
|
+
let items;
|
|
1865
|
+
try {
|
|
1866
|
+
items = fs2.readdirSync(dir);
|
|
1867
|
+
} catch {
|
|
1868
|
+
return mkdir.mkdirsSync(dir);
|
|
1869
|
+
}
|
|
1870
|
+
items.forEach((item) => {
|
|
1871
|
+
item = path2.join(dir, item);
|
|
1872
|
+
remove.removeSync(item);
|
|
1873
|
+
});
|
|
1874
|
+
}
|
|
1875
|
+
module2.exports = {
|
|
1876
|
+
emptyDirSync,
|
|
1877
|
+
emptydirSync: emptyDirSync,
|
|
1878
|
+
emptyDir,
|
|
1879
|
+
emptydir: emptyDir
|
|
1880
|
+
};
|
|
1881
|
+
}
|
|
1882
|
+
});
|
|
1883
|
+
|
|
1884
|
+
// ../node_modules/fs-extra/lib/ensure/file.js
|
|
1885
|
+
var require_file = __commonJS({
|
|
1886
|
+
"../node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) {
|
|
1887
|
+
"use strict";
|
|
1888
|
+
var u = require_universalify().fromCallback;
|
|
1889
|
+
var path2 = require("path");
|
|
1890
|
+
var fs2 = require_graceful_fs();
|
|
1891
|
+
var mkdir = require_mkdirs();
|
|
1892
|
+
function createFile(file, callback) {
|
|
1893
|
+
function makeFile() {
|
|
1894
|
+
fs2.writeFile(file, "", (err) => {
|
|
1895
|
+
if (err) return callback(err);
|
|
1896
|
+
callback();
|
|
1897
|
+
});
|
|
1898
|
+
}
|
|
1899
|
+
fs2.stat(file, (err, stats) => {
|
|
1900
|
+
if (!err && stats.isFile()) return callback();
|
|
1901
|
+
const dir = path2.dirname(file);
|
|
1902
|
+
fs2.stat(dir, (err2, stats2) => {
|
|
1903
|
+
if (err2) {
|
|
1904
|
+
if (err2.code === "ENOENT") {
|
|
1905
|
+
return mkdir.mkdirs(dir, (err3) => {
|
|
1906
|
+
if (err3) return callback(err3);
|
|
1907
|
+
makeFile();
|
|
1908
|
+
});
|
|
1909
|
+
}
|
|
1910
|
+
return callback(err2);
|
|
1911
|
+
}
|
|
1912
|
+
if (stats2.isDirectory()) makeFile();
|
|
1913
|
+
else {
|
|
1914
|
+
fs2.readdir(dir, (err3) => {
|
|
1915
|
+
if (err3) return callback(err3);
|
|
1916
|
+
});
|
|
1917
|
+
}
|
|
1918
|
+
});
|
|
1919
|
+
});
|
|
1920
|
+
}
|
|
1921
|
+
function createFileSync(file) {
|
|
1922
|
+
let stats;
|
|
1923
|
+
try {
|
|
1924
|
+
stats = fs2.statSync(file);
|
|
1925
|
+
} catch {
|
|
1926
|
+
}
|
|
1927
|
+
if (stats && stats.isFile()) return;
|
|
1928
|
+
const dir = path2.dirname(file);
|
|
1929
|
+
try {
|
|
1930
|
+
if (!fs2.statSync(dir).isDirectory()) {
|
|
1931
|
+
fs2.readdirSync(dir);
|
|
1932
|
+
}
|
|
1933
|
+
} catch (err) {
|
|
1934
|
+
if (err && err.code === "ENOENT") mkdir.mkdirsSync(dir);
|
|
1935
|
+
else throw err;
|
|
1936
|
+
}
|
|
1937
|
+
fs2.writeFileSync(file, "");
|
|
1938
|
+
}
|
|
1939
|
+
module2.exports = {
|
|
1940
|
+
createFile: u(createFile),
|
|
1941
|
+
createFileSync
|
|
1942
|
+
};
|
|
1943
|
+
}
|
|
1944
|
+
});
|
|
1945
|
+
|
|
1946
|
+
// ../node_modules/fs-extra/lib/ensure/link.js
|
|
1947
|
+
var require_link = __commonJS({
|
|
1948
|
+
"../node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) {
|
|
1949
|
+
"use strict";
|
|
1950
|
+
var u = require_universalify().fromCallback;
|
|
1951
|
+
var path2 = require("path");
|
|
1952
|
+
var fs2 = require_graceful_fs();
|
|
1953
|
+
var mkdir = require_mkdirs();
|
|
1954
|
+
var pathExists = require_path_exists().pathExists;
|
|
1955
|
+
function createLink(srcpath, dstpath, callback) {
|
|
1956
|
+
function makeLink(srcpath2, dstpath2) {
|
|
1957
|
+
fs2.link(srcpath2, dstpath2, (err) => {
|
|
1958
|
+
if (err) return callback(err);
|
|
1959
|
+
callback(null);
|
|
1960
|
+
});
|
|
1961
|
+
}
|
|
1962
|
+
pathExists(dstpath, (err, destinationExists) => {
|
|
1963
|
+
if (err) return callback(err);
|
|
1964
|
+
if (destinationExists) return callback(null);
|
|
1965
|
+
fs2.lstat(srcpath, (err2) => {
|
|
1966
|
+
if (err2) {
|
|
1967
|
+
err2.message = err2.message.replace("lstat", "ensureLink");
|
|
1968
|
+
return callback(err2);
|
|
1969
|
+
}
|
|
1970
|
+
const dir = path2.dirname(dstpath);
|
|
1971
|
+
pathExists(dir, (err3, dirExists) => {
|
|
1972
|
+
if (err3) return callback(err3);
|
|
1973
|
+
if (dirExists) return makeLink(srcpath, dstpath);
|
|
1974
|
+
mkdir.mkdirs(dir, (err4) => {
|
|
1975
|
+
if (err4) return callback(err4);
|
|
1976
|
+
makeLink(srcpath, dstpath);
|
|
1977
|
+
});
|
|
1978
|
+
});
|
|
1979
|
+
});
|
|
1980
|
+
});
|
|
1981
|
+
}
|
|
1982
|
+
function createLinkSync(srcpath, dstpath) {
|
|
1983
|
+
const destinationExists = fs2.existsSync(dstpath);
|
|
1984
|
+
if (destinationExists) return void 0;
|
|
1985
|
+
try {
|
|
1986
|
+
fs2.lstatSync(srcpath);
|
|
1987
|
+
} catch (err) {
|
|
1988
|
+
err.message = err.message.replace("lstat", "ensureLink");
|
|
1989
|
+
throw err;
|
|
1990
|
+
}
|
|
1991
|
+
const dir = path2.dirname(dstpath);
|
|
1992
|
+
const dirExists = fs2.existsSync(dir);
|
|
1993
|
+
if (dirExists) return fs2.linkSync(srcpath, dstpath);
|
|
1994
|
+
mkdir.mkdirsSync(dir);
|
|
1995
|
+
return fs2.linkSync(srcpath, dstpath);
|
|
1996
|
+
}
|
|
1997
|
+
module2.exports = {
|
|
1998
|
+
createLink: u(createLink),
|
|
1999
|
+
createLinkSync
|
|
2000
|
+
};
|
|
2001
|
+
}
|
|
2002
|
+
});
|
|
2003
|
+
|
|
2004
|
+
// ../node_modules/fs-extra/lib/ensure/symlink-paths.js
|
|
2005
|
+
var require_symlink_paths = __commonJS({
|
|
2006
|
+
"../node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) {
|
|
2007
|
+
"use strict";
|
|
2008
|
+
var path2 = require("path");
|
|
2009
|
+
var fs2 = require_graceful_fs();
|
|
2010
|
+
var pathExists = require_path_exists().pathExists;
|
|
2011
|
+
function symlinkPaths(srcpath, dstpath, callback) {
|
|
2012
|
+
if (path2.isAbsolute(srcpath)) {
|
|
2013
|
+
return fs2.lstat(srcpath, (err) => {
|
|
2014
|
+
if (err) {
|
|
2015
|
+
err.message = err.message.replace("lstat", "ensureSymlink");
|
|
2016
|
+
return callback(err);
|
|
2017
|
+
}
|
|
2018
|
+
return callback(null, {
|
|
2019
|
+
toCwd: srcpath,
|
|
2020
|
+
toDst: srcpath
|
|
2021
|
+
});
|
|
2022
|
+
});
|
|
2023
|
+
} else {
|
|
2024
|
+
const dstdir = path2.dirname(dstpath);
|
|
2025
|
+
const relativeToDst = path2.join(dstdir, srcpath);
|
|
2026
|
+
return pathExists(relativeToDst, (err, exists) => {
|
|
2027
|
+
if (err) return callback(err);
|
|
2028
|
+
if (exists) {
|
|
2029
|
+
return callback(null, {
|
|
2030
|
+
toCwd: relativeToDst,
|
|
2031
|
+
toDst: srcpath
|
|
2032
|
+
});
|
|
2033
|
+
} else {
|
|
2034
|
+
return fs2.lstat(srcpath, (err2) => {
|
|
2035
|
+
if (err2) {
|
|
2036
|
+
err2.message = err2.message.replace("lstat", "ensureSymlink");
|
|
2037
|
+
return callback(err2);
|
|
2038
|
+
}
|
|
2039
|
+
return callback(null, {
|
|
2040
|
+
toCwd: srcpath,
|
|
2041
|
+
toDst: path2.relative(dstdir, srcpath)
|
|
2042
|
+
});
|
|
2043
|
+
});
|
|
2044
|
+
}
|
|
2045
|
+
});
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
function symlinkPathsSync(srcpath, dstpath) {
|
|
2049
|
+
let exists;
|
|
2050
|
+
if (path2.isAbsolute(srcpath)) {
|
|
2051
|
+
exists = fs2.existsSync(srcpath);
|
|
2052
|
+
if (!exists) throw new Error("absolute srcpath does not exist");
|
|
2053
|
+
return {
|
|
2054
|
+
toCwd: srcpath,
|
|
2055
|
+
toDst: srcpath
|
|
2056
|
+
};
|
|
2057
|
+
} else {
|
|
2058
|
+
const dstdir = path2.dirname(dstpath);
|
|
2059
|
+
const relativeToDst = path2.join(dstdir, srcpath);
|
|
2060
|
+
exists = fs2.existsSync(relativeToDst);
|
|
2061
|
+
if (exists) {
|
|
2062
|
+
return {
|
|
2063
|
+
toCwd: relativeToDst,
|
|
2064
|
+
toDst: srcpath
|
|
2065
|
+
};
|
|
2066
|
+
} else {
|
|
2067
|
+
exists = fs2.existsSync(srcpath);
|
|
2068
|
+
if (!exists) throw new Error("relative srcpath does not exist");
|
|
2069
|
+
return {
|
|
2070
|
+
toCwd: srcpath,
|
|
2071
|
+
toDst: path2.relative(dstdir, srcpath)
|
|
2072
|
+
};
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
module2.exports = {
|
|
2077
|
+
symlinkPaths,
|
|
2078
|
+
symlinkPathsSync
|
|
2079
|
+
};
|
|
2080
|
+
}
|
|
2081
|
+
});
|
|
2082
|
+
|
|
2083
|
+
// ../node_modules/fs-extra/lib/ensure/symlink-type.js
|
|
2084
|
+
var require_symlink_type = __commonJS({
|
|
2085
|
+
"../node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) {
|
|
2086
|
+
"use strict";
|
|
2087
|
+
var fs2 = require_graceful_fs();
|
|
2088
|
+
function symlinkType(srcpath, type, callback) {
|
|
2089
|
+
callback = typeof type === "function" ? type : callback;
|
|
2090
|
+
type = typeof type === "function" ? false : type;
|
|
2091
|
+
if (type) return callback(null, type);
|
|
2092
|
+
fs2.lstat(srcpath, (err, stats) => {
|
|
2093
|
+
if (err) return callback(null, "file");
|
|
2094
|
+
type = stats && stats.isDirectory() ? "dir" : "file";
|
|
2095
|
+
callback(null, type);
|
|
2096
|
+
});
|
|
2097
|
+
}
|
|
2098
|
+
function symlinkTypeSync(srcpath, type) {
|
|
2099
|
+
let stats;
|
|
2100
|
+
if (type) return type;
|
|
2101
|
+
try {
|
|
2102
|
+
stats = fs2.lstatSync(srcpath);
|
|
2103
|
+
} catch {
|
|
2104
|
+
return "file";
|
|
2105
|
+
}
|
|
2106
|
+
return stats && stats.isDirectory() ? "dir" : "file";
|
|
2107
|
+
}
|
|
2108
|
+
module2.exports = {
|
|
2109
|
+
symlinkType,
|
|
2110
|
+
symlinkTypeSync
|
|
2111
|
+
};
|
|
2112
|
+
}
|
|
2113
|
+
});
|
|
2114
|
+
|
|
2115
|
+
// ../node_modules/fs-extra/lib/ensure/symlink.js
|
|
2116
|
+
var require_symlink = __commonJS({
|
|
2117
|
+
"../node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) {
|
|
2118
|
+
"use strict";
|
|
2119
|
+
var u = require_universalify().fromCallback;
|
|
2120
|
+
var path2 = require("path");
|
|
2121
|
+
var fs2 = require_graceful_fs();
|
|
2122
|
+
var _mkdirs = require_mkdirs();
|
|
2123
|
+
var mkdirs = _mkdirs.mkdirs;
|
|
2124
|
+
var mkdirsSync = _mkdirs.mkdirsSync;
|
|
2125
|
+
var _symlinkPaths = require_symlink_paths();
|
|
2126
|
+
var symlinkPaths = _symlinkPaths.symlinkPaths;
|
|
2127
|
+
var symlinkPathsSync = _symlinkPaths.symlinkPathsSync;
|
|
2128
|
+
var _symlinkType = require_symlink_type();
|
|
2129
|
+
var symlinkType = _symlinkType.symlinkType;
|
|
2130
|
+
var symlinkTypeSync = _symlinkType.symlinkTypeSync;
|
|
2131
|
+
var pathExists = require_path_exists().pathExists;
|
|
2132
|
+
function createSymlink(srcpath, dstpath, type, callback) {
|
|
2133
|
+
callback = typeof type === "function" ? type : callback;
|
|
2134
|
+
type = typeof type === "function" ? false : type;
|
|
2135
|
+
pathExists(dstpath, (err, destinationExists) => {
|
|
2136
|
+
if (err) return callback(err);
|
|
2137
|
+
if (destinationExists) return callback(null);
|
|
2138
|
+
symlinkPaths(srcpath, dstpath, (err2, relative) => {
|
|
2139
|
+
if (err2) return callback(err2);
|
|
2140
|
+
srcpath = relative.toDst;
|
|
2141
|
+
symlinkType(relative.toCwd, type, (err3, type2) => {
|
|
2142
|
+
if (err3) return callback(err3);
|
|
2143
|
+
const dir = path2.dirname(dstpath);
|
|
2144
|
+
pathExists(dir, (err4, dirExists) => {
|
|
2145
|
+
if (err4) return callback(err4);
|
|
2146
|
+
if (dirExists) return fs2.symlink(srcpath, dstpath, type2, callback);
|
|
2147
|
+
mkdirs(dir, (err5) => {
|
|
2148
|
+
if (err5) return callback(err5);
|
|
2149
|
+
fs2.symlink(srcpath, dstpath, type2, callback);
|
|
2150
|
+
});
|
|
2151
|
+
});
|
|
2152
|
+
});
|
|
2153
|
+
});
|
|
2154
|
+
});
|
|
2155
|
+
}
|
|
2156
|
+
function createSymlinkSync(srcpath, dstpath, type) {
|
|
2157
|
+
const destinationExists = fs2.existsSync(dstpath);
|
|
2158
|
+
if (destinationExists) return void 0;
|
|
2159
|
+
const relative = symlinkPathsSync(srcpath, dstpath);
|
|
2160
|
+
srcpath = relative.toDst;
|
|
2161
|
+
type = symlinkTypeSync(relative.toCwd, type);
|
|
2162
|
+
const dir = path2.dirname(dstpath);
|
|
2163
|
+
const exists = fs2.existsSync(dir);
|
|
2164
|
+
if (exists) return fs2.symlinkSync(srcpath, dstpath, type);
|
|
2165
|
+
mkdirsSync(dir);
|
|
2166
|
+
return fs2.symlinkSync(srcpath, dstpath, type);
|
|
2167
|
+
}
|
|
2168
|
+
module2.exports = {
|
|
2169
|
+
createSymlink: u(createSymlink),
|
|
2170
|
+
createSymlinkSync
|
|
2171
|
+
};
|
|
2172
|
+
}
|
|
2173
|
+
});
|
|
2174
|
+
|
|
2175
|
+
// ../node_modules/fs-extra/lib/ensure/index.js
|
|
2176
|
+
var require_ensure = __commonJS({
|
|
2177
|
+
"../node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) {
|
|
2178
|
+
"use strict";
|
|
2179
|
+
var file = require_file();
|
|
2180
|
+
var link = require_link();
|
|
2181
|
+
var symlink = require_symlink();
|
|
2182
|
+
module2.exports = {
|
|
2183
|
+
// file
|
|
2184
|
+
createFile: file.createFile,
|
|
2185
|
+
createFileSync: file.createFileSync,
|
|
2186
|
+
ensureFile: file.createFile,
|
|
2187
|
+
ensureFileSync: file.createFileSync,
|
|
2188
|
+
// link
|
|
2189
|
+
createLink: link.createLink,
|
|
2190
|
+
createLinkSync: link.createLinkSync,
|
|
2191
|
+
ensureLink: link.createLink,
|
|
2192
|
+
ensureLinkSync: link.createLinkSync,
|
|
2193
|
+
// symlink
|
|
2194
|
+
createSymlink: symlink.createSymlink,
|
|
2195
|
+
createSymlinkSync: symlink.createSymlinkSync,
|
|
2196
|
+
ensureSymlink: symlink.createSymlink,
|
|
2197
|
+
ensureSymlinkSync: symlink.createSymlinkSync
|
|
2198
|
+
};
|
|
2199
|
+
}
|
|
2200
|
+
});
|
|
2201
|
+
|
|
2202
|
+
// ../node_modules/jsonfile/utils.js
|
|
2203
|
+
var require_utils = __commonJS({
|
|
2204
|
+
"../node_modules/jsonfile/utils.js"(exports2, module2) {
|
|
2205
|
+
function stringify(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
|
|
2206
|
+
const EOF = finalEOL ? EOL : "";
|
|
2207
|
+
const str = JSON.stringify(obj, replacer, spaces);
|
|
2208
|
+
return str.replace(/\n/g, EOL) + EOF;
|
|
2209
|
+
}
|
|
2210
|
+
function stripBom(content) {
|
|
2211
|
+
if (Buffer.isBuffer(content)) content = content.toString("utf8");
|
|
2212
|
+
return content.replace(/^\uFEFF/, "");
|
|
2213
|
+
}
|
|
2214
|
+
module2.exports = { stringify, stripBom };
|
|
2215
|
+
}
|
|
2216
|
+
});
|
|
2217
|
+
|
|
2218
|
+
// ../node_modules/jsonfile/index.js
|
|
2219
|
+
var require_jsonfile = __commonJS({
|
|
2220
|
+
"../node_modules/jsonfile/index.js"(exports2, module2) {
|
|
2221
|
+
var _fs;
|
|
2222
|
+
try {
|
|
2223
|
+
_fs = require_graceful_fs();
|
|
2224
|
+
} catch (_) {
|
|
2225
|
+
_fs = require("fs");
|
|
2226
|
+
}
|
|
2227
|
+
var universalify = require_universalify();
|
|
2228
|
+
var { stringify, stripBom } = require_utils();
|
|
2229
|
+
async function _readFile(file, options = {}) {
|
|
2230
|
+
if (typeof options === "string") {
|
|
2231
|
+
options = { encoding: options };
|
|
2232
|
+
}
|
|
2233
|
+
const fs2 = options.fs || _fs;
|
|
2234
|
+
const shouldThrow = "throws" in options ? options.throws : true;
|
|
2235
|
+
let data = await universalify.fromCallback(fs2.readFile)(file, options);
|
|
2236
|
+
data = stripBom(data);
|
|
2237
|
+
let obj;
|
|
2238
|
+
try {
|
|
2239
|
+
obj = JSON.parse(data, options ? options.reviver : null);
|
|
2240
|
+
} catch (err) {
|
|
2241
|
+
if (shouldThrow) {
|
|
2242
|
+
err.message = `${file}: ${err.message}`;
|
|
2243
|
+
throw err;
|
|
2244
|
+
} else {
|
|
2245
|
+
return null;
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
return obj;
|
|
2249
|
+
}
|
|
2250
|
+
var readFile = universalify.fromPromise(_readFile);
|
|
2251
|
+
function readFileSync(file, options = {}) {
|
|
2252
|
+
if (typeof options === "string") {
|
|
2253
|
+
options = { encoding: options };
|
|
2254
|
+
}
|
|
2255
|
+
const fs2 = options.fs || _fs;
|
|
2256
|
+
const shouldThrow = "throws" in options ? options.throws : true;
|
|
2257
|
+
try {
|
|
2258
|
+
let content = fs2.readFileSync(file, options);
|
|
2259
|
+
content = stripBom(content);
|
|
2260
|
+
return JSON.parse(content, options.reviver);
|
|
2261
|
+
} catch (err) {
|
|
2262
|
+
if (shouldThrow) {
|
|
2263
|
+
err.message = `${file}: ${err.message}`;
|
|
2264
|
+
throw err;
|
|
2265
|
+
} else {
|
|
2266
|
+
return null;
|
|
2267
|
+
}
|
|
2268
|
+
}
|
|
2269
|
+
}
|
|
2270
|
+
async function _writeFile(file, obj, options = {}) {
|
|
2271
|
+
const fs2 = options.fs || _fs;
|
|
2272
|
+
const str = stringify(obj, options);
|
|
2273
|
+
await universalify.fromCallback(fs2.writeFile)(file, str, options);
|
|
2274
|
+
}
|
|
2275
|
+
var writeFile = universalify.fromPromise(_writeFile);
|
|
2276
|
+
function writeFileSync(file, obj, options = {}) {
|
|
2277
|
+
const fs2 = options.fs || _fs;
|
|
2278
|
+
const str = stringify(obj, options);
|
|
2279
|
+
return fs2.writeFileSync(file, str, options);
|
|
2280
|
+
}
|
|
2281
|
+
module2.exports = {
|
|
2282
|
+
readFile,
|
|
2283
|
+
readFileSync,
|
|
2284
|
+
writeFile,
|
|
2285
|
+
writeFileSync
|
|
2286
|
+
};
|
|
2287
|
+
}
|
|
2288
|
+
});
|
|
2289
|
+
|
|
2290
|
+
// ../node_modules/fs-extra/lib/json/jsonfile.js
|
|
2291
|
+
var require_jsonfile2 = __commonJS({
|
|
2292
|
+
"../node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) {
|
|
2293
|
+
"use strict";
|
|
2294
|
+
var jsonFile = require_jsonfile();
|
|
2295
|
+
module2.exports = {
|
|
2296
|
+
// jsonfile exports
|
|
2297
|
+
readJson: jsonFile.readFile,
|
|
2298
|
+
readJsonSync: jsonFile.readFileSync,
|
|
2299
|
+
writeJson: jsonFile.writeFile,
|
|
2300
|
+
writeJsonSync: jsonFile.writeFileSync
|
|
2301
|
+
};
|
|
2302
|
+
}
|
|
2303
|
+
});
|
|
2304
|
+
|
|
2305
|
+
// ../node_modules/fs-extra/lib/output/index.js
|
|
2306
|
+
var require_output = __commonJS({
|
|
2307
|
+
"../node_modules/fs-extra/lib/output/index.js"(exports2, module2) {
|
|
2308
|
+
"use strict";
|
|
2309
|
+
var u = require_universalify().fromCallback;
|
|
2310
|
+
var fs2 = require_graceful_fs();
|
|
2311
|
+
var path2 = require("path");
|
|
2312
|
+
var mkdir = require_mkdirs();
|
|
2313
|
+
var pathExists = require_path_exists().pathExists;
|
|
2314
|
+
function outputFile(file, data, encoding, callback) {
|
|
2315
|
+
if (typeof encoding === "function") {
|
|
2316
|
+
callback = encoding;
|
|
2317
|
+
encoding = "utf8";
|
|
2318
|
+
}
|
|
2319
|
+
const dir = path2.dirname(file);
|
|
2320
|
+
pathExists(dir, (err, itDoes) => {
|
|
2321
|
+
if (err) return callback(err);
|
|
2322
|
+
if (itDoes) return fs2.writeFile(file, data, encoding, callback);
|
|
2323
|
+
mkdir.mkdirs(dir, (err2) => {
|
|
2324
|
+
if (err2) return callback(err2);
|
|
2325
|
+
fs2.writeFile(file, data, encoding, callback);
|
|
2326
|
+
});
|
|
2327
|
+
});
|
|
2328
|
+
}
|
|
2329
|
+
function outputFileSync(file, ...args) {
|
|
2330
|
+
const dir = path2.dirname(file);
|
|
2331
|
+
if (fs2.existsSync(dir)) {
|
|
2332
|
+
return fs2.writeFileSync(file, ...args);
|
|
2333
|
+
}
|
|
2334
|
+
mkdir.mkdirsSync(dir);
|
|
2335
|
+
fs2.writeFileSync(file, ...args);
|
|
2336
|
+
}
|
|
2337
|
+
module2.exports = {
|
|
2338
|
+
outputFile: u(outputFile),
|
|
2339
|
+
outputFileSync
|
|
2340
|
+
};
|
|
2341
|
+
}
|
|
2342
|
+
});
|
|
2343
|
+
|
|
2344
|
+
// ../node_modules/fs-extra/lib/json/output-json.js
|
|
2345
|
+
var require_output_json = __commonJS({
|
|
2346
|
+
"../node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
|
|
2347
|
+
"use strict";
|
|
2348
|
+
var { stringify } = require_utils();
|
|
2349
|
+
var { outputFile } = require_output();
|
|
2350
|
+
async function outputJson(file, data, options = {}) {
|
|
2351
|
+
const str = stringify(data, options);
|
|
2352
|
+
await outputFile(file, str, options);
|
|
2353
|
+
}
|
|
2354
|
+
module2.exports = outputJson;
|
|
2355
|
+
}
|
|
2356
|
+
});
|
|
2357
|
+
|
|
2358
|
+
// ../node_modules/fs-extra/lib/json/output-json-sync.js
|
|
2359
|
+
var require_output_json_sync = __commonJS({
|
|
2360
|
+
"../node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
|
|
2361
|
+
"use strict";
|
|
2362
|
+
var { stringify } = require_utils();
|
|
2363
|
+
var { outputFileSync } = require_output();
|
|
2364
|
+
function outputJsonSync(file, data, options) {
|
|
2365
|
+
const str = stringify(data, options);
|
|
2366
|
+
outputFileSync(file, str, options);
|
|
2367
|
+
}
|
|
2368
|
+
module2.exports = outputJsonSync;
|
|
2369
|
+
}
|
|
2370
|
+
});
|
|
2371
|
+
|
|
2372
|
+
// ../node_modules/fs-extra/lib/json/index.js
|
|
2373
|
+
var require_json = __commonJS({
|
|
2374
|
+
"../node_modules/fs-extra/lib/json/index.js"(exports2, module2) {
|
|
2375
|
+
"use strict";
|
|
2376
|
+
var u = require_universalify().fromPromise;
|
|
2377
|
+
var jsonFile = require_jsonfile2();
|
|
2378
|
+
jsonFile.outputJson = u(require_output_json());
|
|
2379
|
+
jsonFile.outputJsonSync = require_output_json_sync();
|
|
2380
|
+
jsonFile.outputJSON = jsonFile.outputJson;
|
|
2381
|
+
jsonFile.outputJSONSync = jsonFile.outputJsonSync;
|
|
2382
|
+
jsonFile.writeJSON = jsonFile.writeJson;
|
|
2383
|
+
jsonFile.writeJSONSync = jsonFile.writeJsonSync;
|
|
2384
|
+
jsonFile.readJSON = jsonFile.readJson;
|
|
2385
|
+
jsonFile.readJSONSync = jsonFile.readJsonSync;
|
|
2386
|
+
module2.exports = jsonFile;
|
|
2387
|
+
}
|
|
2388
|
+
});
|
|
2389
|
+
|
|
2390
|
+
// ../node_modules/fs-extra/lib/move-sync/move-sync.js
|
|
2391
|
+
var require_move_sync = __commonJS({
|
|
2392
|
+
"../node_modules/fs-extra/lib/move-sync/move-sync.js"(exports2, module2) {
|
|
2393
|
+
"use strict";
|
|
2394
|
+
var fs2 = require_graceful_fs();
|
|
2395
|
+
var path2 = require("path");
|
|
2396
|
+
var copySync = require_copy_sync2().copySync;
|
|
2397
|
+
var removeSync = require_remove().removeSync;
|
|
2398
|
+
var mkdirpSync = require_mkdirs().mkdirpSync;
|
|
2399
|
+
var stat = require_stat();
|
|
2400
|
+
function moveSync(src, dest, opts) {
|
|
2401
|
+
opts = opts || {};
|
|
2402
|
+
const overwrite = opts.overwrite || opts.clobber || false;
|
|
2403
|
+
const { srcStat } = stat.checkPathsSync(src, dest, "move");
|
|
2404
|
+
stat.checkParentPathsSync(src, srcStat, dest, "move");
|
|
2405
|
+
mkdirpSync(path2.dirname(dest));
|
|
2406
|
+
return doRename(src, dest, overwrite);
|
|
2407
|
+
}
|
|
2408
|
+
function doRename(src, dest, overwrite) {
|
|
2409
|
+
if (overwrite) {
|
|
2410
|
+
removeSync(dest);
|
|
2411
|
+
return rename(src, dest, overwrite);
|
|
2412
|
+
}
|
|
2413
|
+
if (fs2.existsSync(dest)) throw new Error("dest already exists.");
|
|
2414
|
+
return rename(src, dest, overwrite);
|
|
2415
|
+
}
|
|
2416
|
+
function rename(src, dest, overwrite) {
|
|
2417
|
+
try {
|
|
2418
|
+
fs2.renameSync(src, dest);
|
|
2419
|
+
} catch (err) {
|
|
2420
|
+
if (err.code !== "EXDEV") throw err;
|
|
2421
|
+
return moveAcrossDevice(src, dest, overwrite);
|
|
2422
|
+
}
|
|
2423
|
+
}
|
|
2424
|
+
function moveAcrossDevice(src, dest, overwrite) {
|
|
2425
|
+
const opts = {
|
|
2426
|
+
overwrite,
|
|
2427
|
+
errorOnExist: true
|
|
2428
|
+
};
|
|
2429
|
+
copySync(src, dest, opts);
|
|
2430
|
+
return removeSync(src);
|
|
2431
|
+
}
|
|
2432
|
+
module2.exports = moveSync;
|
|
2433
|
+
}
|
|
2434
|
+
});
|
|
2435
|
+
|
|
2436
|
+
// ../node_modules/fs-extra/lib/move-sync/index.js
|
|
2437
|
+
var require_move_sync2 = __commonJS({
|
|
2438
|
+
"../node_modules/fs-extra/lib/move-sync/index.js"(exports2, module2) {
|
|
2439
|
+
"use strict";
|
|
2440
|
+
module2.exports = {
|
|
2441
|
+
moveSync: require_move_sync()
|
|
2442
|
+
};
|
|
2443
|
+
}
|
|
2444
|
+
});
|
|
2445
|
+
|
|
2446
|
+
// ../node_modules/fs-extra/lib/move/move.js
|
|
2447
|
+
var require_move = __commonJS({
|
|
2448
|
+
"../node_modules/fs-extra/lib/move/move.js"(exports2, module2) {
|
|
2449
|
+
"use strict";
|
|
2450
|
+
var fs2 = require_graceful_fs();
|
|
2451
|
+
var path2 = require("path");
|
|
2452
|
+
var copy = require_copy2().copy;
|
|
2453
|
+
var remove = require_remove().remove;
|
|
2454
|
+
var mkdirp = require_mkdirs().mkdirp;
|
|
2455
|
+
var pathExists = require_path_exists().pathExists;
|
|
2456
|
+
var stat = require_stat();
|
|
2457
|
+
function move(src, dest, opts, cb) {
|
|
2458
|
+
if (typeof opts === "function") {
|
|
2459
|
+
cb = opts;
|
|
2460
|
+
opts = {};
|
|
2461
|
+
}
|
|
2462
|
+
const overwrite = opts.overwrite || opts.clobber || false;
|
|
2463
|
+
stat.checkPaths(src, dest, "move", (err, stats) => {
|
|
2464
|
+
if (err) return cb(err);
|
|
2465
|
+
const { srcStat } = stats;
|
|
2466
|
+
stat.checkParentPaths(src, srcStat, dest, "move", (err2) => {
|
|
2467
|
+
if (err2) return cb(err2);
|
|
2468
|
+
mkdirp(path2.dirname(dest), (err3) => {
|
|
2469
|
+
if (err3) return cb(err3);
|
|
2470
|
+
return doRename(src, dest, overwrite, cb);
|
|
2471
|
+
});
|
|
2472
|
+
});
|
|
2473
|
+
});
|
|
2474
|
+
}
|
|
2475
|
+
function doRename(src, dest, overwrite, cb) {
|
|
2476
|
+
if (overwrite) {
|
|
2477
|
+
return remove(dest, (err) => {
|
|
2478
|
+
if (err) return cb(err);
|
|
2479
|
+
return rename(src, dest, overwrite, cb);
|
|
2480
|
+
});
|
|
2481
|
+
}
|
|
2482
|
+
pathExists(dest, (err, destExists) => {
|
|
2483
|
+
if (err) return cb(err);
|
|
2484
|
+
if (destExists) return cb(new Error("dest already exists."));
|
|
2485
|
+
return rename(src, dest, overwrite, cb);
|
|
2486
|
+
});
|
|
2487
|
+
}
|
|
2488
|
+
function rename(src, dest, overwrite, cb) {
|
|
2489
|
+
fs2.rename(src, dest, (err) => {
|
|
2490
|
+
if (!err) return cb();
|
|
2491
|
+
if (err.code !== "EXDEV") return cb(err);
|
|
2492
|
+
return moveAcrossDevice(src, dest, overwrite, cb);
|
|
2493
|
+
});
|
|
2494
|
+
}
|
|
2495
|
+
function moveAcrossDevice(src, dest, overwrite, cb) {
|
|
2496
|
+
const opts = {
|
|
2497
|
+
overwrite,
|
|
2498
|
+
errorOnExist: true
|
|
2499
|
+
};
|
|
2500
|
+
copy(src, dest, opts, (err) => {
|
|
2501
|
+
if (err) return cb(err);
|
|
2502
|
+
return remove(src, cb);
|
|
2503
|
+
});
|
|
2504
|
+
}
|
|
2505
|
+
module2.exports = move;
|
|
2506
|
+
}
|
|
2507
|
+
});
|
|
2508
|
+
|
|
2509
|
+
// ../node_modules/fs-extra/lib/move/index.js
|
|
2510
|
+
var require_move2 = __commonJS({
|
|
2511
|
+
"../node_modules/fs-extra/lib/move/index.js"(exports2, module2) {
|
|
2512
|
+
"use strict";
|
|
2513
|
+
var u = require_universalify().fromCallback;
|
|
2514
|
+
module2.exports = {
|
|
2515
|
+
move: u(require_move())
|
|
2516
|
+
};
|
|
2517
|
+
}
|
|
2518
|
+
});
|
|
2519
|
+
|
|
2520
|
+
// ../node_modules/fs-extra/lib/index.js
|
|
2521
|
+
var require_lib = __commonJS({
|
|
2522
|
+
"../node_modules/fs-extra/lib/index.js"(exports2, module2) {
|
|
2523
|
+
"use strict";
|
|
2524
|
+
module2.exports = {
|
|
2525
|
+
// Export promiseified graceful-fs:
|
|
2526
|
+
...require_fs(),
|
|
2527
|
+
// Export extra methods:
|
|
2528
|
+
...require_copy_sync2(),
|
|
2529
|
+
...require_copy2(),
|
|
2530
|
+
...require_empty(),
|
|
2531
|
+
...require_ensure(),
|
|
2532
|
+
...require_json(),
|
|
2533
|
+
...require_mkdirs(),
|
|
2534
|
+
...require_move_sync2(),
|
|
2535
|
+
...require_move2(),
|
|
2536
|
+
...require_output(),
|
|
2537
|
+
...require_path_exists(),
|
|
2538
|
+
...require_remove()
|
|
2539
|
+
};
|
|
2540
|
+
var fs2 = require("fs");
|
|
2541
|
+
if (Object.getOwnPropertyDescriptor(fs2, "promises")) {
|
|
2542
|
+
Object.defineProperty(module2.exports, "promises", {
|
|
2543
|
+
get() {
|
|
2544
|
+
return fs2.promises;
|
|
2545
|
+
}
|
|
2546
|
+
});
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
});
|
|
2550
|
+
|
|
2551
|
+
// scripts/check-locales.mts
|
|
2552
|
+
var check_locales_exports = {};
|
|
2553
|
+
__export(check_locales_exports, {
|
|
2554
|
+
checkLocales: () => checkLocales,
|
|
2555
|
+
compareLocales: () => compareLocales
|
|
2556
|
+
});
|
|
2557
|
+
module.exports = __toCommonJS(check_locales_exports);
|
|
2558
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
2559
|
+
var import_fs_extra = __toESM(require_lib(), 1);
|
|
2560
|
+
|
|
2561
|
+
// ../node_modules/chalk/source/vendor/ansi-styles/index.js
|
|
2562
|
+
var ANSI_BACKGROUND_OFFSET = 10;
|
|
2563
|
+
var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
|
|
2564
|
+
var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
|
|
2565
|
+
var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
|
|
2566
|
+
var styles = {
|
|
2567
|
+
modifier: {
|
|
2568
|
+
reset: [0, 0],
|
|
2569
|
+
// 21 isn't widely supported and 22 does the same thing
|
|
2570
|
+
bold: [1, 22],
|
|
2571
|
+
dim: [2, 22],
|
|
2572
|
+
italic: [3, 23],
|
|
2573
|
+
underline: [4, 24],
|
|
2574
|
+
overline: [53, 55],
|
|
2575
|
+
inverse: [7, 27],
|
|
2576
|
+
hidden: [8, 28],
|
|
2577
|
+
strikethrough: [9, 29]
|
|
2578
|
+
},
|
|
2579
|
+
color: {
|
|
2580
|
+
black: [30, 39],
|
|
2581
|
+
red: [31, 39],
|
|
2582
|
+
green: [32, 39],
|
|
2583
|
+
yellow: [33, 39],
|
|
2584
|
+
blue: [34, 39],
|
|
2585
|
+
magenta: [35, 39],
|
|
2586
|
+
cyan: [36, 39],
|
|
2587
|
+
white: [37, 39],
|
|
2588
|
+
// Bright color
|
|
2589
|
+
blackBright: [90, 39],
|
|
2590
|
+
gray: [90, 39],
|
|
2591
|
+
// Alias of `blackBright`
|
|
2592
|
+
grey: [90, 39],
|
|
2593
|
+
// Alias of `blackBright`
|
|
2594
|
+
redBright: [91, 39],
|
|
2595
|
+
greenBright: [92, 39],
|
|
2596
|
+
yellowBright: [93, 39],
|
|
2597
|
+
blueBright: [94, 39],
|
|
2598
|
+
magentaBright: [95, 39],
|
|
2599
|
+
cyanBright: [96, 39],
|
|
2600
|
+
whiteBright: [97, 39]
|
|
2601
|
+
},
|
|
2602
|
+
bgColor: {
|
|
2603
|
+
bgBlack: [40, 49],
|
|
2604
|
+
bgRed: [41, 49],
|
|
2605
|
+
bgGreen: [42, 49],
|
|
2606
|
+
bgYellow: [43, 49],
|
|
2607
|
+
bgBlue: [44, 49],
|
|
2608
|
+
bgMagenta: [45, 49],
|
|
2609
|
+
bgCyan: [46, 49],
|
|
2610
|
+
bgWhite: [47, 49],
|
|
2611
|
+
// Bright color
|
|
2612
|
+
bgBlackBright: [100, 49],
|
|
2613
|
+
bgGray: [100, 49],
|
|
2614
|
+
// Alias of `bgBlackBright`
|
|
2615
|
+
bgGrey: [100, 49],
|
|
2616
|
+
// Alias of `bgBlackBright`
|
|
2617
|
+
bgRedBright: [101, 49],
|
|
2618
|
+
bgGreenBright: [102, 49],
|
|
2619
|
+
bgYellowBright: [103, 49],
|
|
2620
|
+
bgBlueBright: [104, 49],
|
|
2621
|
+
bgMagentaBright: [105, 49],
|
|
2622
|
+
bgCyanBright: [106, 49],
|
|
2623
|
+
bgWhiteBright: [107, 49]
|
|
2624
|
+
}
|
|
2625
|
+
};
|
|
2626
|
+
var modifierNames = Object.keys(styles.modifier);
|
|
2627
|
+
var foregroundColorNames = Object.keys(styles.color);
|
|
2628
|
+
var backgroundColorNames = Object.keys(styles.bgColor);
|
|
2629
|
+
var colorNames = [...foregroundColorNames, ...backgroundColorNames];
|
|
2630
|
+
function assembleStyles() {
|
|
2631
|
+
const codes = /* @__PURE__ */ new Map();
|
|
2632
|
+
for (const [groupName, group] of Object.entries(styles)) {
|
|
2633
|
+
for (const [styleName, style] of Object.entries(group)) {
|
|
2634
|
+
styles[styleName] = {
|
|
2635
|
+
open: `\x1B[${style[0]}m`,
|
|
2636
|
+
close: `\x1B[${style[1]}m`
|
|
2637
|
+
};
|
|
2638
|
+
group[styleName] = styles[styleName];
|
|
2639
|
+
codes.set(style[0], style[1]);
|
|
2640
|
+
}
|
|
2641
|
+
Object.defineProperty(styles, groupName, {
|
|
2642
|
+
value: group,
|
|
2643
|
+
enumerable: false
|
|
2644
|
+
});
|
|
2645
|
+
}
|
|
2646
|
+
Object.defineProperty(styles, "codes", {
|
|
2647
|
+
value: codes,
|
|
2648
|
+
enumerable: false
|
|
2649
|
+
});
|
|
2650
|
+
styles.color.close = "\x1B[39m";
|
|
2651
|
+
styles.bgColor.close = "\x1B[49m";
|
|
2652
|
+
styles.color.ansi = wrapAnsi16();
|
|
2653
|
+
styles.color.ansi256 = wrapAnsi256();
|
|
2654
|
+
styles.color.ansi16m = wrapAnsi16m();
|
|
2655
|
+
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
|
|
2656
|
+
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
|
|
2657
|
+
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
|
|
2658
|
+
Object.defineProperties(styles, {
|
|
2659
|
+
rgbToAnsi256: {
|
|
2660
|
+
value(red, green, blue) {
|
|
2661
|
+
if (red === green && green === blue) {
|
|
2662
|
+
if (red < 8) {
|
|
2663
|
+
return 16;
|
|
2664
|
+
}
|
|
2665
|
+
if (red > 248) {
|
|
2666
|
+
return 231;
|
|
2667
|
+
}
|
|
2668
|
+
return Math.round((red - 8) / 247 * 24) + 232;
|
|
2669
|
+
}
|
|
2670
|
+
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
|
|
2671
|
+
},
|
|
2672
|
+
enumerable: false
|
|
2673
|
+
},
|
|
2674
|
+
hexToRgb: {
|
|
2675
|
+
value(hex) {
|
|
2676
|
+
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
|
|
2677
|
+
if (!matches) {
|
|
2678
|
+
return [0, 0, 0];
|
|
2679
|
+
}
|
|
2680
|
+
let [colorString] = matches;
|
|
2681
|
+
if (colorString.length === 3) {
|
|
2682
|
+
colorString = [...colorString].map((character) => character + character).join("");
|
|
2683
|
+
}
|
|
2684
|
+
const integer = Number.parseInt(colorString, 16);
|
|
2685
|
+
return [
|
|
2686
|
+
/* eslint-disable no-bitwise */
|
|
2687
|
+
integer >> 16 & 255,
|
|
2688
|
+
integer >> 8 & 255,
|
|
2689
|
+
integer & 255
|
|
2690
|
+
/* eslint-enable no-bitwise */
|
|
2691
|
+
];
|
|
2692
|
+
},
|
|
2693
|
+
enumerable: false
|
|
2694
|
+
},
|
|
2695
|
+
hexToAnsi256: {
|
|
2696
|
+
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
|
|
2697
|
+
enumerable: false
|
|
2698
|
+
},
|
|
2699
|
+
ansi256ToAnsi: {
|
|
2700
|
+
value(code) {
|
|
2701
|
+
if (code < 8) {
|
|
2702
|
+
return 30 + code;
|
|
2703
|
+
}
|
|
2704
|
+
if (code < 16) {
|
|
2705
|
+
return 90 + (code - 8);
|
|
2706
|
+
}
|
|
2707
|
+
let red;
|
|
2708
|
+
let green;
|
|
2709
|
+
let blue;
|
|
2710
|
+
if (code >= 232) {
|
|
2711
|
+
red = ((code - 232) * 10 + 8) / 255;
|
|
2712
|
+
green = red;
|
|
2713
|
+
blue = red;
|
|
2714
|
+
} else {
|
|
2715
|
+
code -= 16;
|
|
2716
|
+
const remainder = code % 36;
|
|
2717
|
+
red = Math.floor(code / 36) / 5;
|
|
2718
|
+
green = Math.floor(remainder / 6) / 5;
|
|
2719
|
+
blue = remainder % 6 / 5;
|
|
2720
|
+
}
|
|
2721
|
+
const value = Math.max(red, green, blue) * 2;
|
|
2722
|
+
if (value === 0) {
|
|
2723
|
+
return 30;
|
|
2724
|
+
}
|
|
2725
|
+
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
|
|
2726
|
+
if (value === 2) {
|
|
2727
|
+
result += 60;
|
|
2728
|
+
}
|
|
2729
|
+
return result;
|
|
2730
|
+
},
|
|
2731
|
+
enumerable: false
|
|
2732
|
+
},
|
|
2733
|
+
rgbToAnsi: {
|
|
2734
|
+
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
|
|
2735
|
+
enumerable: false
|
|
2736
|
+
},
|
|
2737
|
+
hexToAnsi: {
|
|
2738
|
+
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
|
|
2739
|
+
enumerable: false
|
|
2740
|
+
}
|
|
2741
|
+
});
|
|
2742
|
+
return styles;
|
|
2743
|
+
}
|
|
2744
|
+
var ansiStyles = assembleStyles();
|
|
2745
|
+
var ansi_styles_default = ansiStyles;
|
|
2746
|
+
|
|
2747
|
+
// ../node_modules/chalk/source/vendor/supports-color/index.js
|
|
2748
|
+
var import_node_process = __toESM(require("node:process"), 1);
|
|
2749
|
+
var import_node_os = __toESM(require("node:os"), 1);
|
|
2750
|
+
var import_node_tty = __toESM(require("node:tty"), 1);
|
|
2751
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
|
|
2752
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
2753
|
+
const position = argv.indexOf(prefix + flag);
|
|
2754
|
+
const terminatorPosition = argv.indexOf("--");
|
|
2755
|
+
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
2756
|
+
}
|
|
2757
|
+
var { env } = import_node_process.default;
|
|
2758
|
+
var flagForceColor;
|
|
2759
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
2760
|
+
flagForceColor = 0;
|
|
2761
|
+
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
2762
|
+
flagForceColor = 1;
|
|
2763
|
+
}
|
|
2764
|
+
function envForceColor() {
|
|
2765
|
+
if ("FORCE_COLOR" in env) {
|
|
2766
|
+
if (env.FORCE_COLOR === "true") {
|
|
2767
|
+
return 1;
|
|
2768
|
+
}
|
|
2769
|
+
if (env.FORCE_COLOR === "false") {
|
|
2770
|
+
return 0;
|
|
2771
|
+
}
|
|
2772
|
+
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
2773
|
+
}
|
|
2774
|
+
}
|
|
2775
|
+
function translateLevel(level) {
|
|
2776
|
+
if (level === 0) {
|
|
2777
|
+
return false;
|
|
2778
|
+
}
|
|
2779
|
+
return {
|
|
2780
|
+
level,
|
|
2781
|
+
hasBasic: true,
|
|
2782
|
+
has256: level >= 2,
|
|
2783
|
+
has16m: level >= 3
|
|
2784
|
+
};
|
|
2785
|
+
}
|
|
2786
|
+
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
2787
|
+
const noFlagForceColor = envForceColor();
|
|
2788
|
+
if (noFlagForceColor !== void 0) {
|
|
2789
|
+
flagForceColor = noFlagForceColor;
|
|
2790
|
+
}
|
|
2791
|
+
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
2792
|
+
if (forceColor === 0) {
|
|
2793
|
+
return 0;
|
|
2794
|
+
}
|
|
2795
|
+
if (sniffFlags) {
|
|
2796
|
+
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
2797
|
+
return 3;
|
|
2798
|
+
}
|
|
2799
|
+
if (hasFlag("color=256")) {
|
|
2800
|
+
return 2;
|
|
2801
|
+
}
|
|
2802
|
+
}
|
|
2803
|
+
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
|
|
2804
|
+
return 1;
|
|
2805
|
+
}
|
|
2806
|
+
if (haveStream && !streamIsTTY && forceColor === void 0) {
|
|
2807
|
+
return 0;
|
|
2808
|
+
}
|
|
2809
|
+
const min = forceColor || 0;
|
|
2810
|
+
if (env.TERM === "dumb") {
|
|
2811
|
+
return min;
|
|
2812
|
+
}
|
|
2813
|
+
if (import_node_process.default.platform === "win32") {
|
|
2814
|
+
const osRelease = import_node_os.default.release().split(".");
|
|
2815
|
+
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
2816
|
+
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
2817
|
+
}
|
|
2818
|
+
return 1;
|
|
2819
|
+
}
|
|
2820
|
+
if ("CI" in env) {
|
|
2821
|
+
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
|
|
2822
|
+
return 3;
|
|
2823
|
+
}
|
|
2824
|
+
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
|
|
2825
|
+
return 1;
|
|
2826
|
+
}
|
|
2827
|
+
return min;
|
|
2828
|
+
}
|
|
2829
|
+
if ("TEAMCITY_VERSION" in env) {
|
|
2830
|
+
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
2831
|
+
}
|
|
2832
|
+
if (env.COLORTERM === "truecolor") {
|
|
2833
|
+
return 3;
|
|
2834
|
+
}
|
|
2835
|
+
if (env.TERM === "xterm-kitty") {
|
|
2836
|
+
return 3;
|
|
2837
|
+
}
|
|
2838
|
+
if (env.TERM === "xterm-ghostty") {
|
|
2839
|
+
return 3;
|
|
2840
|
+
}
|
|
2841
|
+
if (env.TERM === "wezterm") {
|
|
2842
|
+
return 3;
|
|
2843
|
+
}
|
|
2844
|
+
if ("TERM_PROGRAM" in env) {
|
|
2845
|
+
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
|
|
2846
|
+
switch (env.TERM_PROGRAM) {
|
|
2847
|
+
case "iTerm.app": {
|
|
2848
|
+
return version >= 3 ? 3 : 2;
|
|
2849
|
+
}
|
|
2850
|
+
case "Apple_Terminal": {
|
|
2851
|
+
return 2;
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
}
|
|
2855
|
+
if (/-256(color)?$/i.test(env.TERM)) {
|
|
2856
|
+
return 2;
|
|
2857
|
+
}
|
|
2858
|
+
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
|
2859
|
+
return 1;
|
|
2860
|
+
}
|
|
2861
|
+
if ("COLORTERM" in env) {
|
|
2862
|
+
return 1;
|
|
2863
|
+
}
|
|
2864
|
+
return min;
|
|
2865
|
+
}
|
|
2866
|
+
function createSupportsColor(stream, options = {}) {
|
|
2867
|
+
const level = _supportsColor(stream, {
|
|
2868
|
+
streamIsTTY: stream && stream.isTTY,
|
|
2869
|
+
...options
|
|
2870
|
+
});
|
|
2871
|
+
return translateLevel(level);
|
|
2872
|
+
}
|
|
2873
|
+
var supportsColor = {
|
|
2874
|
+
stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
|
|
2875
|
+
stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
|
|
2876
|
+
};
|
|
2877
|
+
var supports_color_default = supportsColor;
|
|
2878
|
+
|
|
2879
|
+
// ../node_modules/chalk/source/utilities.js
|
|
2880
|
+
function stringReplaceAll(string, substring, replacer) {
|
|
2881
|
+
let index = string.indexOf(substring);
|
|
2882
|
+
if (index === -1) {
|
|
2883
|
+
return string;
|
|
2884
|
+
}
|
|
2885
|
+
const substringLength = substring.length;
|
|
2886
|
+
let endIndex = 0;
|
|
2887
|
+
let returnValue = "";
|
|
2888
|
+
do {
|
|
2889
|
+
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
2890
|
+
endIndex = index + substringLength;
|
|
2891
|
+
index = string.indexOf(substring, endIndex);
|
|
2892
|
+
} while (index !== -1);
|
|
2893
|
+
returnValue += string.slice(endIndex);
|
|
2894
|
+
return returnValue;
|
|
2895
|
+
}
|
|
2896
|
+
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
2897
|
+
let endIndex = 0;
|
|
2898
|
+
let returnValue = "";
|
|
2899
|
+
do {
|
|
2900
|
+
const gotCR = string[index - 1] === "\r";
|
|
2901
|
+
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
|
|
2902
|
+
endIndex = index + 1;
|
|
2903
|
+
index = string.indexOf("\n", endIndex);
|
|
2904
|
+
} while (index !== -1);
|
|
2905
|
+
returnValue += string.slice(endIndex);
|
|
2906
|
+
return returnValue;
|
|
2907
|
+
}
|
|
2908
|
+
|
|
2909
|
+
// ../node_modules/chalk/source/index.js
|
|
2910
|
+
var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
|
|
2911
|
+
var GENERATOR = Symbol("GENERATOR");
|
|
2912
|
+
var STYLER = Symbol("STYLER");
|
|
2913
|
+
var IS_EMPTY = Symbol("IS_EMPTY");
|
|
2914
|
+
var levelMapping = [
|
|
2915
|
+
"ansi",
|
|
2916
|
+
"ansi",
|
|
2917
|
+
"ansi256",
|
|
2918
|
+
"ansi16m"
|
|
2919
|
+
];
|
|
2920
|
+
var styles2 = /* @__PURE__ */ Object.create(null);
|
|
2921
|
+
var applyOptions = (object, options = {}) => {
|
|
2922
|
+
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
|
2923
|
+
throw new Error("The `level` option should be an integer from 0 to 3");
|
|
2924
|
+
}
|
|
2925
|
+
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
|
2926
|
+
object.level = options.level === void 0 ? colorLevel : options.level;
|
|
2927
|
+
};
|
|
2928
|
+
var chalkFactory = (options) => {
|
|
2929
|
+
const chalk2 = (...strings) => strings.join(" ");
|
|
2930
|
+
applyOptions(chalk2, options);
|
|
2931
|
+
Object.setPrototypeOf(chalk2, createChalk.prototype);
|
|
2932
|
+
return chalk2;
|
|
2933
|
+
};
|
|
2934
|
+
function createChalk(options) {
|
|
2935
|
+
return chalkFactory(options);
|
|
2936
|
+
}
|
|
2937
|
+
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
|
|
2938
|
+
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
|
|
2939
|
+
styles2[styleName] = {
|
|
2940
|
+
get() {
|
|
2941
|
+
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
|
|
2942
|
+
Object.defineProperty(this, styleName, { value: builder });
|
|
2943
|
+
return builder;
|
|
2944
|
+
}
|
|
2945
|
+
};
|
|
2946
|
+
}
|
|
2947
|
+
styles2.visible = {
|
|
2948
|
+
get() {
|
|
2949
|
+
const builder = createBuilder(this, this[STYLER], true);
|
|
2950
|
+
Object.defineProperty(this, "visible", { value: builder });
|
|
2951
|
+
return builder;
|
|
2952
|
+
}
|
|
2953
|
+
};
|
|
2954
|
+
var getModelAnsi = (model, level, type, ...arguments_) => {
|
|
2955
|
+
if (model === "rgb") {
|
|
2956
|
+
if (level === "ansi16m") {
|
|
2957
|
+
return ansi_styles_default[type].ansi16m(...arguments_);
|
|
2958
|
+
}
|
|
2959
|
+
if (level === "ansi256") {
|
|
2960
|
+
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
|
|
2961
|
+
}
|
|
2962
|
+
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
|
|
2963
|
+
}
|
|
2964
|
+
if (model === "hex") {
|
|
2965
|
+
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
|
|
2966
|
+
}
|
|
2967
|
+
return ansi_styles_default[type][model](...arguments_);
|
|
2968
|
+
};
|
|
2969
|
+
var usedModels = ["rgb", "hex", "ansi256"];
|
|
2970
|
+
for (const model of usedModels) {
|
|
2971
|
+
styles2[model] = {
|
|
2972
|
+
get() {
|
|
2973
|
+
const { level } = this;
|
|
2974
|
+
return function(...arguments_) {
|
|
2975
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
|
|
2976
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2977
|
+
};
|
|
2978
|
+
}
|
|
2979
|
+
};
|
|
2980
|
+
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
|
|
2981
|
+
styles2[bgModel] = {
|
|
2982
|
+
get() {
|
|
2983
|
+
const { level } = this;
|
|
2984
|
+
return function(...arguments_) {
|
|
2985
|
+
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
|
|
2986
|
+
return createBuilder(this, styler, this[IS_EMPTY]);
|
|
2987
|
+
};
|
|
2988
|
+
}
|
|
2989
|
+
};
|
|
2990
|
+
}
|
|
2991
|
+
var proto = Object.defineProperties(() => {
|
|
2992
|
+
}, {
|
|
2993
|
+
...styles2,
|
|
2994
|
+
level: {
|
|
2995
|
+
enumerable: true,
|
|
2996
|
+
get() {
|
|
2997
|
+
return this[GENERATOR].level;
|
|
2998
|
+
},
|
|
2999
|
+
set(level) {
|
|
3000
|
+
this[GENERATOR].level = level;
|
|
3001
|
+
}
|
|
3002
|
+
}
|
|
3003
|
+
});
|
|
3004
|
+
var createStyler = (open, close, parent) => {
|
|
3005
|
+
let openAll;
|
|
3006
|
+
let closeAll;
|
|
3007
|
+
if (parent === void 0) {
|
|
3008
|
+
openAll = open;
|
|
3009
|
+
closeAll = close;
|
|
3010
|
+
} else {
|
|
3011
|
+
openAll = parent.openAll + open;
|
|
3012
|
+
closeAll = close + parent.closeAll;
|
|
3013
|
+
}
|
|
3014
|
+
return {
|
|
3015
|
+
open,
|
|
3016
|
+
close,
|
|
3017
|
+
openAll,
|
|
3018
|
+
closeAll,
|
|
3019
|
+
parent
|
|
3020
|
+
};
|
|
3021
|
+
};
|
|
3022
|
+
var createBuilder = (self, _styler, _isEmpty) => {
|
|
3023
|
+
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
|
|
3024
|
+
Object.setPrototypeOf(builder, proto);
|
|
3025
|
+
builder[GENERATOR] = self;
|
|
3026
|
+
builder[STYLER] = _styler;
|
|
3027
|
+
builder[IS_EMPTY] = _isEmpty;
|
|
3028
|
+
return builder;
|
|
3029
|
+
};
|
|
3030
|
+
var applyStyle = (self, string) => {
|
|
3031
|
+
if (self.level <= 0 || !string) {
|
|
3032
|
+
return self[IS_EMPTY] ? "" : string;
|
|
3033
|
+
}
|
|
3034
|
+
let styler = self[STYLER];
|
|
3035
|
+
if (styler === void 0) {
|
|
3036
|
+
return string;
|
|
3037
|
+
}
|
|
3038
|
+
const { openAll, closeAll } = styler;
|
|
3039
|
+
if (string.includes("\x1B")) {
|
|
3040
|
+
while (styler !== void 0) {
|
|
3041
|
+
string = stringReplaceAll(string, styler.close, styler.open);
|
|
3042
|
+
styler = styler.parent;
|
|
3043
|
+
}
|
|
3044
|
+
}
|
|
3045
|
+
const lfIndex = string.indexOf("\n");
|
|
3046
|
+
if (lfIndex !== -1) {
|
|
3047
|
+
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
|
3048
|
+
}
|
|
3049
|
+
return openAll + string + closeAll;
|
|
3050
|
+
};
|
|
3051
|
+
Object.defineProperties(createChalk.prototype, styles2);
|
|
3052
|
+
var chalk = createChalk();
|
|
3053
|
+
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
3054
|
+
var source_default = chalk;
|
|
3055
|
+
|
|
3056
|
+
// scripts/check-locales.mts
|
|
3057
|
+
var import_node_url = require("node:url");
|
|
3058
|
+
var import_meta = {};
|
|
3059
|
+
var __filename;
|
|
3060
|
+
var __dirname;
|
|
3061
|
+
try {
|
|
3062
|
+
__filename = (0, import_node_url.fileURLToPath)(import_meta.url);
|
|
3063
|
+
__dirname = (0, import_node_path.dirname)(__filename);
|
|
3064
|
+
} catch {
|
|
3065
|
+
}
|
|
3066
|
+
function getAllKeys(obj, prefix = "") {
|
|
3067
|
+
return Object.entries(obj).reduce((keys, [key, value]) => {
|
|
3068
|
+
const newKey = prefix ? `${prefix}.${key}` : key;
|
|
3069
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
3070
|
+
return [...keys, ...getAllKeys(value, newKey)];
|
|
3071
|
+
}
|
|
3072
|
+
return [...keys, newKey];
|
|
3073
|
+
}, []);
|
|
3074
|
+
}
|
|
3075
|
+
function compareLocales(baseLocale, compareLocale) {
|
|
3076
|
+
const base = JSON.parse(import_fs_extra.default.readFileSync(baseLocale, "utf-8"));
|
|
3077
|
+
const compare = JSON.parse(import_fs_extra.default.readFileSync(compareLocale, "utf-8"));
|
|
3078
|
+
const baseKeys = new Set(getAllKeys(base));
|
|
3079
|
+
const compareKeys = new Set(getAllKeys(compare));
|
|
3080
|
+
const missing = [...baseKeys].filter((key) => !compareKeys.has(key));
|
|
3081
|
+
const extra = [...compareKeys].filter((key) => !baseKeys.has(key));
|
|
3082
|
+
return { missing, extra };
|
|
3083
|
+
}
|
|
3084
|
+
async function checkLocales() {
|
|
3085
|
+
const localesDir = import_node_path.default.join(__dirname, "../locales");
|
|
3086
|
+
const files = import_fs_extra.default.readdirSync(localesDir).filter((file) => file.endsWith(".json"));
|
|
3087
|
+
const baseLocale = import_node_path.default.join(localesDir, "en.json");
|
|
3088
|
+
if (!files.includes("en.json")) {
|
|
3089
|
+
console.log(source_default.red("\n\u274C Base locale (en.json) not found!"));
|
|
3090
|
+
return false;
|
|
3091
|
+
}
|
|
3092
|
+
const results = [];
|
|
3093
|
+
let hasErrors = false;
|
|
3094
|
+
console.log(source_default.cyan("Checking localizations against en.json...\n"));
|
|
3095
|
+
for (const file of files) {
|
|
3096
|
+
if (file === "en.json") continue;
|
|
3097
|
+
const compareLocale = import_node_path.default.join(localesDir, file);
|
|
3098
|
+
const { missing, extra } = compareLocales(baseLocale, compareLocale);
|
|
3099
|
+
if (missing.length > 0 || extra.length > 0) {
|
|
3100
|
+
hasErrors = true;
|
|
3101
|
+
results.push({
|
|
3102
|
+
locale: file,
|
|
3103
|
+
missing,
|
|
3104
|
+
extra
|
|
3105
|
+
});
|
|
3106
|
+
}
|
|
3107
|
+
}
|
|
3108
|
+
if (results.length > 0) {
|
|
3109
|
+
console.log(source_default.yellow("Found differences in localizations:\n"));
|
|
3110
|
+
for (const result of results) {
|
|
3111
|
+
console.log(source_default.bold(`
|
|
3112
|
+
${result.locale}:`));
|
|
3113
|
+
if (result.missing.length > 0) {
|
|
3114
|
+
console.log(source_default.red("\nMissing keys:"));
|
|
3115
|
+
console.log(result.missing.join(", "));
|
|
3116
|
+
}
|
|
3117
|
+
if (result.extra.length > 0) {
|
|
3118
|
+
console.log(source_default.yellow("\nExtra keys:"));
|
|
3119
|
+
console.log(result.extra.join(", "));
|
|
3120
|
+
}
|
|
3121
|
+
console.log();
|
|
3122
|
+
}
|
|
3123
|
+
console.log(source_default.red("\n\u274C Localization check failed. Please fix the issues above.\n"));
|
|
3124
|
+
return false;
|
|
3125
|
+
}
|
|
3126
|
+
console.log(source_default.green("\u2713 All localizations are in sync with en.json!\n"));
|
|
3127
|
+
return true;
|
|
3128
|
+
}
|
|
3129
|
+
async function cli() {
|
|
3130
|
+
const args = process.argv.slice(2);
|
|
3131
|
+
if (args.length === 0) {
|
|
3132
|
+
const success = await checkLocales();
|
|
3133
|
+
process.exit(success ? 0 : 1);
|
|
3134
|
+
}
|
|
3135
|
+
const userFile = args[0];
|
|
3136
|
+
if (!import_fs_extra.default.existsSync(userFile)) {
|
|
3137
|
+
console.log(source_default.red(`
|
|
3138
|
+
File not found: ${userFile}`));
|
|
3139
|
+
process.exit(1);
|
|
3140
|
+
}
|
|
3141
|
+
const candidates = [
|
|
3142
|
+
import_node_path.default.join(__dirname, "../locales/en.json"),
|
|
3143
|
+
// source (when running via tsx in dev)
|
|
3144
|
+
import_node_path.default.join(__dirname, "../dist/locales/en.json"),
|
|
3145
|
+
// fallback
|
|
3146
|
+
import_node_path.default.join(__dirname, "../locales/en.json")
|
|
3147
|
+
// when bundled as dist/scripts/ → ../locales/
|
|
3148
|
+
];
|
|
3149
|
+
const resolvedBaseline = candidates.find((p) => import_fs_extra.default.existsSync(p));
|
|
3150
|
+
if (!resolvedBaseline) {
|
|
3151
|
+
console.log(source_default.red("\nCould not find framework baseline locale (en.json)"));
|
|
3152
|
+
process.exit(1);
|
|
3153
|
+
}
|
|
3154
|
+
console.log(source_default.cyan(`Checking ${import_node_path.default.basename(userFile)} against framework baseline...
|
|
3155
|
+
`));
|
|
3156
|
+
const { missing, extra } = compareLocales(resolvedBaseline, import_node_path.default.resolve(userFile));
|
|
3157
|
+
if (missing.length > 0) {
|
|
3158
|
+
console.log(source_default.red(`Missing keys (${missing.length}):`));
|
|
3159
|
+
console.log(missing.join("\n"));
|
|
3160
|
+
console.log();
|
|
3161
|
+
}
|
|
3162
|
+
if (extra.length > 0) {
|
|
3163
|
+
console.log(source_default.yellow(`Extra keys (${extra.length}):`));
|
|
3164
|
+
console.log(extra.join("\n"));
|
|
3165
|
+
console.log();
|
|
3166
|
+
}
|
|
3167
|
+
if (missing.length === 0 && extra.length === 0) {
|
|
3168
|
+
console.log(source_default.green(`\u2713 ${import_node_path.default.basename(userFile)} is complete \u2014 all keys match the framework baseline.`));
|
|
3169
|
+
process.exit(0);
|
|
3170
|
+
} else {
|
|
3171
|
+
console.log(source_default.red(`\u2717 Found ${missing.length} missing and ${extra.length} extra keys.`));
|
|
3172
|
+
process.exit(1);
|
|
3173
|
+
}
|
|
3174
|
+
}
|
|
3175
|
+
if (process.argv[1] === __filename || process.argv[1]?.endsWith("/vc-check-locales")) {
|
|
3176
|
+
cli();
|
|
3177
|
+
}
|
|
3178
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
3179
|
+
0 && (module.exports = {
|
|
3180
|
+
checkLocales,
|
|
3181
|
+
compareLocales
|
|
3182
|
+
});
|