echogarden 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/lexicons/heteronyms.en.json +1 -1
- package/data/lexicons/words.en.json +32 -0
- package/dist/api/Synthesis.js +2 -2
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/encodings/Ascii.d.ts +1 -3
- package/dist/encodings/Ascii.d.ts.map +1 -1
- package/dist/encodings/Ascii.js +13 -9
- package/dist/encodings/Ascii.js.map +1 -1
- package/dist/encodings/Base64.d.ts.map +1 -1
- package/dist/encodings/Base64.js +9 -0
- package/dist/encodings/Base64.js.map +1 -1
- package/dist/encodings/Hex.d.ts.map +1 -1
- package/dist/encodings/Hex.js +11 -2
- package/dist/encodings/Hex.js.map +1 -1
- package/dist/encodings/LEB128.d.ts +1 -15
- package/dist/encodings/LEB128.d.ts.map +1 -1
- package/dist/encodings/LEB128.js +1 -247
- package/dist/encodings/LEB128.js.map +1 -1
- package/dist/encodings/Utf16.d.ts +1 -3
- package/dist/encodings/Utf16.d.ts.map +1 -1
- package/dist/encodings/Utf16.js +13 -9
- package/dist/encodings/Utf16.js.map +1 -1
- package/dist/encodings/Utf32.d.ts.map +1 -1
- package/dist/encodings/Utf32.js +6 -0
- package/dist/encodings/Utf32.js.map +1 -1
- package/dist/encodings/Utf8.d.ts +9 -5
- package/dist/encodings/Utf8.d.ts.map +1 -1
- package/dist/encodings/Utf8.js +36 -78
- package/dist/encodings/Utf8.js.map +1 -1
- package/dist/nlp/Segmentation.d.ts.map +1 -1
- package/dist/nlp/Segmentation.js +4 -1
- package/dist/nlp/Segmentation.js.map +1 -1
- package/dist/nlp/TextNormalizer.js +8 -1
- package/dist/nlp/TextNormalizer.js.map +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.js +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
- package/dist/synthesis/EspeakTTS.js +1 -1
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/utilities/FileSystem.d.ts +12 -7
- package/dist/utilities/FileSystem.d.ts.map +1 -1
- package/dist/utilities/FileSystem.js +196 -79
- package/dist/utilities/FileSystem.js.map +1 -1
- package/dist/utilities/FileWriter.d.ts +1 -0
- package/dist/utilities/FileWriter.d.ts.map +1 -1
- package/dist/utilities/FileWriter.js +8 -1
- package/dist/utilities/FileWriter.js.map +1 -1
- package/dist/utilities/ObjectUtilities.d.ts.map +1 -1
- package/dist/utilities/ObjectUtilities.js +15 -13
- package/dist/utilities/ObjectUtilities.js.map +1 -1
- package/dist/utilities/PackageManager.js +2 -2
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/PathUtilities.d.ts +1 -0
- package/dist/utilities/PathUtilities.d.ts.map +1 -1
- package/dist/utilities/PathUtilities.js +18 -0
- package/dist/utilities/PathUtilities.js.map +1 -1
- package/dist/utilities/StringUtilities.d.ts.map +1 -1
- package/dist/utilities/StringUtilities.js.map +1 -1
- package/package.json +8 -7
- package/src/api/Synthesis.ts +2 -2
- package/src/encodings/Ascii.ts +14 -10
- package/src/encodings/Base64.ts +9 -0
- package/src/encodings/Hex.ts +11 -2
- package/src/encodings/Utf16.ts +14 -10
- package/src/encodings/Utf32.ts +6 -0
- package/src/encodings/Utf8.ts +45 -82
- package/src/nlp/Segmentation.ts +5 -1
- package/src/nlp/TextNormalizer.ts +12 -1
- package/src/synthesis/AzureCognitiveServicesTTS.ts +1 -1
- package/src/synthesis/EspeakTTS.ts +1 -1
- package/src/synthesis/MicrosoftEdgeTTS.ts +1 -1
- package/src/utilities/FileSystem.ts +224 -85
- package/src/utilities/FileWriter.ts +11 -1
- package/src/utilities/ObjectUtilities.ts +19 -15
- package/src/utilities/PackageManager.ts +2 -2
- package/src/utilities/PathUtilities.ts +19 -0
- package/src/utilities/StringUtilities.ts +0 -2
- package/src/encodings/HtmlEscape.ts +0 -39
- package/src/encodings/LEB128.ts +0 -362
- package/src/utilities/StringBuilder.ts +0 -45
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as fsExtra from 'fs-extra/esm';
|
|
2
2
|
import gracefulFS from 'graceful-fs';
|
|
3
|
-
import * as os from 'node:os';
|
|
4
3
|
import { promisify } from 'node:util';
|
|
5
4
|
import { getRandomHexString, parseJson, stringifyAndFormatJson } from './Utilities.js';
|
|
6
5
|
import { appName } from '../api/Common.js';
|
|
7
6
|
import { getAppTempDir, getDirName, joinPath, normalizePath, parsePath } from './PathUtilities.js';
|
|
8
7
|
import { createDynamicUint8Array } from '../data-structures/DynamicTypedArray.js';
|
|
9
|
-
import { ChunkedUtf8Decoder } from '../encodings/Utf8.js';
|
|
8
|
+
import { ChunkedUtf8Decoder, ChunkedUtf8Encoder } from '../encodings/Utf8.js';
|
|
10
9
|
import { FileWriter } from './FileWriter.js';
|
|
11
10
|
import { FileReader } from './FileReader.js';
|
|
12
11
|
export const open = promisify(gracefulFS.open);
|
|
@@ -19,8 +18,9 @@ export const chmod = promisify(gracefulFS.chmod);
|
|
|
19
18
|
export const access = promisify(gracefulFS.access);
|
|
20
19
|
export const readdir = promisify(gracefulFS.readdir);
|
|
21
20
|
export const copyFile = promisify(gracefulFS.copyFile);
|
|
21
|
+
export const rename = promisify(gracefulFS.rename);
|
|
22
|
+
export const fsync = promisify(gracefulFS.fsync);
|
|
22
23
|
export const remove = fsExtra.remove;
|
|
23
|
-
export const copy = fsExtra.copy;
|
|
24
24
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
25
25
|
// File read operations
|
|
26
26
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -30,23 +30,25 @@ export async function readFileAsBinary(filePath) {
|
|
|
30
30
|
const fileSize = fileInfo.size;
|
|
31
31
|
const fileReader = new FileReader(filePath);
|
|
32
32
|
const buffer = new Uint8Array(chunkSize);
|
|
33
|
-
const
|
|
33
|
+
const fileContent = createDynamicUint8Array(fileSize);
|
|
34
34
|
while (!fileReader.isFinished) {
|
|
35
35
|
const chunk = await fileReader.readChunk(buffer);
|
|
36
|
-
|
|
36
|
+
fileContent.addArray(chunk);
|
|
37
37
|
}
|
|
38
|
-
return
|
|
38
|
+
return fileContent.toTypedArray();
|
|
39
39
|
}
|
|
40
40
|
export async function readFileAsUtf8(filePath) {
|
|
41
|
-
const
|
|
41
|
+
const maxChunkSize = 2 ** 20;
|
|
42
42
|
const fileReader = new FileReader(filePath);
|
|
43
|
-
const buffer = new Uint8Array(
|
|
44
|
-
const
|
|
43
|
+
const buffer = new Uint8Array(maxChunkSize);
|
|
44
|
+
const chunkedUtf8Decoder = new ChunkedUtf8Decoder();
|
|
45
|
+
let fileContent = '';
|
|
45
46
|
while (!fileReader.isFinished) {
|
|
46
|
-
const
|
|
47
|
-
|
|
47
|
+
const utf8Chunk = await fileReader.readChunk(buffer);
|
|
48
|
+
const stringChunk = chunkedUtf8Decoder.writeChunk(utf8Chunk);
|
|
49
|
+
fileContent += stringChunk;
|
|
48
50
|
}
|
|
49
|
-
return
|
|
51
|
+
return fileContent;
|
|
50
52
|
}
|
|
51
53
|
export async function readAndParseJsonFile(jsonFilePath, useJson5 = false) {
|
|
52
54
|
const textContent = await readFileAsUtf8(jsonFilePath);
|
|
@@ -55,60 +57,90 @@ export async function readAndParseJsonFile(jsonFilePath, useJson5 = false) {
|
|
|
55
57
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
56
58
|
// File write operations
|
|
57
59
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
58
|
-
export async function writeFile(filePath, content) {
|
|
60
|
+
export async function writeFile(filePath, content, options) {
|
|
59
61
|
if (content instanceof Uint8Array) {
|
|
60
|
-
return writeBinaryFile(filePath, content);
|
|
62
|
+
return writeBinaryFile(filePath, content, options);
|
|
61
63
|
}
|
|
62
64
|
else if (typeof content === 'string') {
|
|
63
|
-
return writeUtf8File(filePath, content);
|
|
65
|
+
return writeUtf8File(filePath, content, options);
|
|
64
66
|
}
|
|
65
67
|
else {
|
|
66
|
-
throw new Error(`Content can only be a Uint8Array or string
|
|
68
|
+
throw new Error(`Content can only be a Uint8Array or string.`);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
export async function writeBinaryFile(filePath, content) {
|
|
71
|
+
export async function writeBinaryFile(filePath, content, options) {
|
|
70
72
|
const maxChunkSize = 2 ** 20;
|
|
71
73
|
const fileDir = getDirName(filePath);
|
|
72
74
|
await ensureDir(fileDir);
|
|
73
75
|
const fileWriter = new FileWriter(filePath);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
try {
|
|
77
|
+
// The do-while body runs at least once, even for empty content, so the
|
|
78
|
+
// file is always created (or truncated) via FileWriter's first write.
|
|
79
|
+
let readOffset = 0;
|
|
80
|
+
do {
|
|
81
|
+
const chunk = content.subarray(readOffset, readOffset + maxChunkSize);
|
|
82
|
+
readOffset += chunk.length;
|
|
83
|
+
await fileWriter.write(chunk);
|
|
84
|
+
} while (readOffset < content.length);
|
|
85
|
+
if (options?.fsync === true) {
|
|
86
|
+
await fileWriter.fsync();
|
|
79
87
|
}
|
|
80
|
-
await fileWriter.write(chunk);
|
|
81
|
-
readOffset += chunk.length;
|
|
82
88
|
}
|
|
83
|
-
|
|
89
|
+
finally {
|
|
90
|
+
await fileWriter.dispose();
|
|
91
|
+
}
|
|
84
92
|
}
|
|
85
|
-
export async function writeUtf8File(filePath, content) {
|
|
93
|
+
export async function writeUtf8File(filePath, content, options) {
|
|
86
94
|
const maxChunkSize = 2 ** 20;
|
|
87
95
|
const fileDir = getDirName(filePath);
|
|
88
96
|
await ensureDir(fileDir);
|
|
89
97
|
const fileWriter = new FileWriter(filePath);
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
const chunkedUtf8Encoder = new ChunkedUtf8Encoder();
|
|
99
|
+
try {
|
|
100
|
+
// The do-while body runs at least once, even for empty content, so the
|
|
101
|
+
// file is always created (or truncated) via FileWriter's first write.
|
|
102
|
+
let readOffset = 0;
|
|
103
|
+
do {
|
|
104
|
+
const stringChunk = content.substring(readOffset, readOffset + maxChunkSize);
|
|
105
|
+
readOffset += stringChunk.length;
|
|
106
|
+
const utf8Chunk = chunkedUtf8Encoder.writeChunk(stringChunk);
|
|
107
|
+
await fileWriter.write(utf8Chunk);
|
|
108
|
+
} while (readOffset < content.length);
|
|
109
|
+
const finalChunk = chunkedUtf8Encoder.finalize();
|
|
110
|
+
if (finalChunk.length > 0) {
|
|
111
|
+
await fileWriter.write(finalChunk);
|
|
112
|
+
}
|
|
113
|
+
if (options?.fsync === true) {
|
|
114
|
+
await fileWriter.fsync();
|
|
99
115
|
}
|
|
100
116
|
}
|
|
101
|
-
|
|
117
|
+
finally {
|
|
118
|
+
// Always release the file handle, even if an error interrupted the write.
|
|
119
|
+
await fileWriter.dispose();
|
|
120
|
+
}
|
|
102
121
|
}
|
|
103
122
|
export async function writeJsonFile(filePath, content, useJson5 = false) {
|
|
104
123
|
const textContent = stringifyAndFormatJson(content, useJson5);
|
|
105
124
|
await writeUtf8File(filePath, textContent);
|
|
106
125
|
}
|
|
107
126
|
export async function writeFileSafe(filePath, content) {
|
|
108
|
-
const
|
|
127
|
+
const destDir = getDirName(filePath);
|
|
128
|
+
const tempDir = await getTemporaryDirectory(destDir);
|
|
109
129
|
const tempFilePath = joinPath(tempDir, `${getRandomHexString(16)}.partial`);
|
|
110
|
-
|
|
111
|
-
|
|
130
|
+
try {
|
|
131
|
+
await writeFile(tempFilePath, content, { fsync: true });
|
|
132
|
+
await move(tempFilePath, filePath);
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
// Best-effort cleanup so failed writes don't leave orphaned .partial files behind.
|
|
136
|
+
try {
|
|
137
|
+
await remove(tempFilePath);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
// Ignore cleanup errors so the original error is not masked.
|
|
141
|
+
}
|
|
142
|
+
throw e;
|
|
143
|
+
}
|
|
112
144
|
}
|
|
113
145
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
114
146
|
// Directory operations
|
|
@@ -125,17 +157,6 @@ export async function ensureDir(dirPath) {
|
|
|
125
157
|
return fsExtra.ensureDir(dirPath);
|
|
126
158
|
}
|
|
127
159
|
}
|
|
128
|
-
export async function testDirectoryIsWritable(dir) {
|
|
129
|
-
const testFileName = joinPath(dir, getRandomHexString(16));
|
|
130
|
-
try {
|
|
131
|
-
await fsExtra.createFile(testFileName);
|
|
132
|
-
await remove(testFileName);
|
|
133
|
-
}
|
|
134
|
-
catch (e) {
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
160
|
export async function readDirRecursive(dir, pathFilter) {
|
|
140
161
|
if (!(await stat(dir)).isDirectory()) {
|
|
141
162
|
throw new Error(`'${dir}' is not a directory`);
|
|
@@ -161,31 +182,17 @@ export async function readDirRecursive(dir, pathFilter) {
|
|
|
161
182
|
}
|
|
162
183
|
return result;
|
|
163
184
|
}
|
|
164
|
-
export function getAppDataDir(appName) {
|
|
165
|
-
let dataDir;
|
|
166
|
-
const platform = process.platform;
|
|
167
|
-
const homeDir = os.homedir();
|
|
168
|
-
if (platform == 'win32') {
|
|
169
|
-
dataDir = joinPath(homeDir, 'AppData', 'Local', appName);
|
|
170
|
-
}
|
|
171
|
-
else if (platform == 'darwin') {
|
|
172
|
-
dataDir = joinPath(homeDir, 'Library', 'Application Support', appName);
|
|
173
|
-
}
|
|
174
|
-
else if (platform == 'linux') {
|
|
175
|
-
dataDir = joinPath(homeDir, '.local', 'share', appName);
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
throw new Error(`Unsupport platform ${platform}`);
|
|
179
|
-
}
|
|
180
|
-
return dataDir;
|
|
181
|
-
}
|
|
182
185
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
183
|
-
// Copy operations
|
|
186
|
+
// Copy and move operations
|
|
184
187
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
185
188
|
export async function move(source, dest) {
|
|
186
189
|
source = normalizePath(source);
|
|
187
190
|
dest = normalizePath(dest);
|
|
188
|
-
|
|
191
|
+
const destStats = existsSync(dest) ? await stat(dest) : undefined;
|
|
192
|
+
if (destStats?.isDirectory()) {
|
|
193
|
+
throw new Error(`The destination path '${dest}' exists and is a directory. A file cannot be moved over a directory.`);
|
|
194
|
+
}
|
|
195
|
+
if (destStats) {
|
|
189
196
|
const destPathExistsAndIsWritable = await existsAndIsWritable(dest);
|
|
190
197
|
if (!destPathExistsAndIsWritable) {
|
|
191
198
|
throw new Error(`The destination path '${dest}' exists but is not writable. There may be a permissions or locking issue.`);
|
|
@@ -193,25 +200,79 @@ export async function move(source, dest) {
|
|
|
193
200
|
}
|
|
194
201
|
else {
|
|
195
202
|
const destDir = parsePath(dest).dir;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
203
|
+
await ensureDir(destDir);
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
// fs.rename() replaces an existing destination file in a single step on
|
|
207
|
+
// POSIX and on Windows (where libuv uses MoveFileExW with
|
|
208
|
+
// MOVEFILE_REPLACE_EXISTING, the atomic replace flag available to Node).
|
|
209
|
+
await rename(source, dest);
|
|
210
|
+
}
|
|
211
|
+
catch (e) {
|
|
212
|
+
const error = e;
|
|
213
|
+
if (error.code === 'EXDEV') {
|
|
214
|
+
// The source and destination are on different volumes, where an
|
|
215
|
+
// atomic rename is impossible; fall back to a copy and delete.
|
|
216
|
+
await copyFile(source, dest);
|
|
217
|
+
await tryFsyncFile(dest);
|
|
218
|
+
await remove(source);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
throw error;
|
|
199
222
|
}
|
|
200
223
|
}
|
|
201
|
-
|
|
224
|
+
// The rename is now durable: flush the destination directory so the name
|
|
225
|
+
// change survives a crash (best effort, see the helper).
|
|
226
|
+
await tryFsyncDirectory(parsePath(dest).dir);
|
|
202
227
|
}
|
|
203
228
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
204
|
-
//
|
|
229
|
+
// Synchronization operations
|
|
205
230
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
206
|
-
export async function
|
|
231
|
+
export async function tryFsyncFile(filePath) {
|
|
232
|
+
let fileHandle;
|
|
233
|
+
let succeeded = false;
|
|
207
234
|
try {
|
|
208
|
-
await
|
|
235
|
+
fileHandle = await open(filePath, 'r+');
|
|
236
|
+
await fsync(fileHandle);
|
|
237
|
+
succeeded = true;
|
|
209
238
|
}
|
|
210
239
|
catch {
|
|
211
|
-
return false;
|
|
212
240
|
}
|
|
213
|
-
|
|
241
|
+
finally {
|
|
242
|
+
if (fileHandle !== undefined) {
|
|
243
|
+
try {
|
|
244
|
+
await close(fileHandle);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return succeeded;
|
|
251
|
+
}
|
|
252
|
+
export async function tryFsyncDirectory(dirPath) {
|
|
253
|
+
let dirHandle;
|
|
254
|
+
let succeeded = false;
|
|
255
|
+
try {
|
|
256
|
+
dirHandle = await open(dirPath, 'r');
|
|
257
|
+
await fsync(dirHandle);
|
|
258
|
+
succeeded = true;
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
}
|
|
262
|
+
finally {
|
|
263
|
+
if (dirHandle !== undefined) {
|
|
264
|
+
try {
|
|
265
|
+
await close(dirHandle);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return succeeded;
|
|
214
272
|
}
|
|
273
|
+
///////////////////////////////////////////////////////////////////////////////////////////
|
|
274
|
+
// Misc operations
|
|
275
|
+
///////////////////////////////////////////////////////////////////////////////////////////
|
|
215
276
|
export async function chmodRecursive(rootPath, newMode) {
|
|
216
277
|
const rootPathStat = await stat(rootPath);
|
|
217
278
|
await chmod(rootPath, newMode);
|
|
@@ -242,4 +303,60 @@ export async function computeFileSha256Hex(filePath) {
|
|
|
242
303
|
const result = hash.digest('hex');
|
|
243
304
|
return result;
|
|
244
305
|
}
|
|
306
|
+
export async function existsAndIsWritable(targetPath) {
|
|
307
|
+
try {
|
|
308
|
+
await access(targetPath, gracefulFS.constants.W_OK);
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
// The OS temporary directory keeps temporary files away from the caller's
|
|
316
|
+
// directories, and the OS itself eventually cleans it up. It is used when it is
|
|
317
|
+
// on the same volume as the destination, since then the final rename is atomic.
|
|
318
|
+
//
|
|
319
|
+
// When it is on a different volume, the temporary file is written next to the
|
|
320
|
+
// destination instead: an atomic rename across volumes is impossible and would
|
|
321
|
+
// have to fall back to a copy and delete.
|
|
322
|
+
async function getTemporaryDirectory(destDir) {
|
|
323
|
+
const osTempDir = getAppTempDir(appName);
|
|
324
|
+
await ensureDir(osTempDir);
|
|
325
|
+
if (await areOnSameDevice(osTempDir, destDir)) {
|
|
326
|
+
return osTempDir;
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
return destDir;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
async function areOnSameDevice(firstPath, secondPath) {
|
|
333
|
+
const firstDevice = await getDeviceOfExistingPath(firstPath);
|
|
334
|
+
const secondDevice = await getDeviceOfExistingPath(secondPath);
|
|
335
|
+
return firstDevice !== undefined && firstDevice === secondDevice;
|
|
336
|
+
}
|
|
337
|
+
// Resolves the device of the closest existing ancestor directory of a target
|
|
338
|
+
// path, since the path itself may not exist yet. The device identifies the
|
|
339
|
+
// volume a path lives on (on Windows it is the drive number).
|
|
340
|
+
async function getDeviceOfExistingPath(targetPath) {
|
|
341
|
+
let currentPath = normalizePath(targetPath);
|
|
342
|
+
while (true) {
|
|
343
|
+
try {
|
|
344
|
+
const targetStats = await stat(currentPath);
|
|
345
|
+
return targetStats.dev;
|
|
346
|
+
}
|
|
347
|
+
catch (e) {
|
|
348
|
+
const error = e;
|
|
349
|
+
if (error.code !== 'ENOENT') {
|
|
350
|
+
// If the path cannot be inspected, treat the volumes as different;
|
|
351
|
+
// falling back to the destination directory always remains safe.
|
|
352
|
+
return undefined;
|
|
353
|
+
}
|
|
354
|
+
const parentPath = getDirName(currentPath);
|
|
355
|
+
if (parentPath === currentPath) {
|
|
356
|
+
return undefined;
|
|
357
|
+
}
|
|
358
|
+
currentPath = parentPath;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
245
362
|
//# sourceMappingURL=FileSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/utilities/FileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAElG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAEhD,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AAEhC,2FAA2F;AAC3F,uBAAuB;AACvB,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACtD,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,CAAA;IAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAA;IAE9B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAEhD,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAEhD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACpD,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,CAAA;IAEzB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IAExC,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAEvC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAEhD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB,EAAE,QAAQ,GAAG,KAAK;IAChF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAA;IAEtD,OAAO,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,2FAA2F;AAC3F,wBAAwB;AACxB,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAA4B;IAC7E,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC9D,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAmB;IAC1E,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,CAAA;IAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEpC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE3C,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;QAErE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAK;QACN,CAAC;QAED,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE7B,UAAU,IAAI,KAAK,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IACpE,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,CAAA;IAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEpC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE3C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;IAErC,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;QAE5E,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAE7C,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAE7B,UAAU,IAAI,WAAW,CAAC,MAAM,CAAA;QAEhC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAK;QACN,CAAC;IACF,CAAC;IAED,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAY,EAAE,QAAQ,GAAG,KAAK;IACnF,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE7D,MAAM,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,OAA4B;IACjF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAE3E,MAAM,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAEtC,MAAM,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED,2FAA2F;AAC3F,uBAAuB;AACvB,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC9C,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEhC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,kCAAkC,CAAC,CAAA;QACxE,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAW;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACtC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,KAAK,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,UAA0C;IAC7F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,sBAAsB,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,cAAc,GAAa,EAAE,CAAA;IAEnC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,SAAQ;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;IACF,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC5C,IAAI,OAAe,CAAA;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAE5B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;SAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;SAAM,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,2FAA2F;AAC3F,kBAAkB;AAClB,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,IAAY;IACtD,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAE1B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,2BAA2B,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAEnE,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,4EAA4E,CAAC,CAAA;QAC3H,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;QACnC,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAEhE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,qDAAqD,CAAC,CAAA;QAC/F,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,2FAA2F;AAC3F,kBAAkB;AAClB,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC3D,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IACrE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEzC,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE9B,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;QAExC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE7C,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,wBAAgC;IACxF,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAE7D,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;IAE1C,MAAM,wBAAwB,GAAG,WAAW,GAAG,cAAc,CAAA;IAE7D,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,IAAI,CAAA;IAE3D,OAAO,mBAAmB,IAAI,wBAAwB,CAAA;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;IAErC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAExC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAEtC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEjC,OAAO,MAAM,CAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/utilities/FileSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileWriter.d.ts","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;aAKM,QAAQ,EAAE,MAAM;IAJ5C,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAI;IAEvB,YAA4B,QAAQ,EAAE,MAAM,EAC3C;IAEK,KAAK,CAAC,KAAK,EAAE,UAAU,iBAuB5B;YAEa,YAAY;IAYpB,OAAO,kBAeZ;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,UAAU,YAEb;CACD"}
|
|
1
|
+
{"version":3,"file":"FileWriter.d.ts","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;aAKM,QAAQ,EAAE,MAAM;IAJ5C,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAI;IAEvB,YAA4B,QAAQ,EAAE,MAAM,EAC3C;IAEK,KAAK,CAAC,KAAK,EAAE,UAAU,iBAuB5B;YAEa,YAAY;IAYpB,KAAK,kBAQV;IAEK,OAAO,kBAeZ;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,UAAU,YAEb;CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { write, open, close } from
|
|
1
|
+
import { write, open, close, fsync } from './FileSystem.js';
|
|
2
2
|
export class FileWriter {
|
|
3
3
|
filePath;
|
|
4
4
|
fileHandle;
|
|
@@ -35,6 +35,13 @@ export class FileWriter {
|
|
|
35
35
|
}
|
|
36
36
|
this.fileHandle = await open(this.filePath, 'w');
|
|
37
37
|
}
|
|
38
|
+
async fsync() {
|
|
39
|
+
if (this.isDisposed) {
|
|
40
|
+
throw new Error(`FileWriter has been disposed`);
|
|
41
|
+
}
|
|
42
|
+
await this.openIfNeeded();
|
|
43
|
+
await fsync(this.fileHandle);
|
|
44
|
+
}
|
|
38
45
|
async dispose() {
|
|
39
46
|
if (this.isDisposed) {
|
|
40
47
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileWriter.js","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"FileWriter.js","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE3D,MAAM,OAAO,UAAU;IAKM,QAAQ;IAJ5B,UAAU,CAAS;IACnB,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,CAAC,CAAA;IAEvB,YAA4B,QAAgB;wBAAhB,QAAQ;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,IAAI,eAAe,GAAG,CAAC,CAAA;QAEvB,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,YAAoB,CAAA;YAExB,IAAI,CAAC;gBACJ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACxG,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEpB,MAAM,CAAC,CAAA;YACR,CAAC;YAED,eAAe,IAAI,YAAY,CAAA;YAC/B,IAAI,CAAC,WAAW,IAAI,YAAY,CAAA;QACjC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,YAAY;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAM;QACP,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAM;QACP,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACJ,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,CAAA;IACrC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUtilities.d.ts","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"ObjectUtilities.d.ts","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,CAsBzD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEtC;AAoKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,WAErC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function extendDeep(base, extension) {
|
|
2
2
|
const baseClone = deepClone(base);
|
|
3
|
-
if (
|
|
3
|
+
if (extension === undefined) {
|
|
4
4
|
return baseClone;
|
|
5
5
|
}
|
|
6
6
|
const extensionClone = deepClone(extension);
|
|
@@ -16,12 +16,12 @@ export function extendDeep(base, extension) {
|
|
|
16
16
|
return baseClone;
|
|
17
17
|
}
|
|
18
18
|
export function shallowClone(val) {
|
|
19
|
-
return clone(val, false);
|
|
19
|
+
return clone(val, false, new Set());
|
|
20
20
|
}
|
|
21
21
|
export function deepClone(val) {
|
|
22
|
-
return clone(val, true);
|
|
22
|
+
return clone(val, true, new Set());
|
|
23
23
|
}
|
|
24
|
-
function clone(val, deep = true, seenObjects
|
|
24
|
+
function clone(val, deep = true, seenObjects) {
|
|
25
25
|
if (val === undefined || val === null || typeof val !== 'object') {
|
|
26
26
|
return val;
|
|
27
27
|
}
|
|
@@ -29,10 +29,10 @@ function clone(val, deep = true, seenObjects = []) {
|
|
|
29
29
|
const prototypeIdentifier = toString.call(obj);
|
|
30
30
|
switch (prototypeIdentifier) {
|
|
31
31
|
case '[object Array]': {
|
|
32
|
-
if (seenObjects.
|
|
32
|
+
if (seenObjects.has(obj)) {
|
|
33
33
|
throw new Error('deepClone: encountered a cyclic object');
|
|
34
34
|
}
|
|
35
|
-
seenObjects.
|
|
35
|
+
seenObjects.add(obj);
|
|
36
36
|
const clonedArray = new Array(obj.length);
|
|
37
37
|
for (let i = 0; i < obj.length; i++) {
|
|
38
38
|
if (deep) {
|
|
@@ -42,7 +42,7 @@ function clone(val, deep = true, seenObjects = []) {
|
|
|
42
42
|
clonedArray[i] = obj[i];
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
seenObjects.
|
|
45
|
+
seenObjects.delete(obj);
|
|
46
46
|
return clonedArray;
|
|
47
47
|
}
|
|
48
48
|
case '[object ArrayBuffer]': {
|
|
@@ -109,16 +109,18 @@ function clone(val, deep = true, seenObjects = []) {
|
|
|
109
109
|
return new Date(obj.valueOf());
|
|
110
110
|
}
|
|
111
111
|
case '[object RegExp]': {
|
|
112
|
-
|
|
112
|
+
const clonedRegExp = new RegExp(obj.source, obj.flags);
|
|
113
|
+
clonedRegExp.lastIndex = obj.lastIndex;
|
|
114
|
+
return clonedRegExp;
|
|
113
115
|
}
|
|
114
116
|
case '[object Function]': {
|
|
115
117
|
return obj;
|
|
116
118
|
}
|
|
117
119
|
case '[object Object]': {
|
|
118
|
-
if (seenObjects.
|
|
119
|
-
throw new Error('deepClone: encountered a cyclic object');
|
|
120
|
+
if (seenObjects.has(obj)) {
|
|
121
|
+
throw new Error('deepClone: encountered a cyclic object.');
|
|
120
122
|
}
|
|
121
|
-
seenObjects.
|
|
123
|
+
seenObjects.add(obj);
|
|
122
124
|
const clonedObj = {};
|
|
123
125
|
for (const propName in obj) {
|
|
124
126
|
if (!obj.hasOwnProperty(propName)) {
|
|
@@ -131,11 +133,11 @@ function clone(val, deep = true, seenObjects = []) {
|
|
|
131
133
|
clonedObj[propName] = obj[propName];
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
|
-
seenObjects.
|
|
136
|
+
seenObjects.delete(obj);
|
|
135
137
|
return clonedObj;
|
|
136
138
|
}
|
|
137
139
|
default: {
|
|
138
|
-
throw new Error(`Cloning of type ${prototypeIdentifier} is not supported
|
|
140
|
+
throw new Error(`Cloning of type ${prototypeIdentifier} is not supported.`);
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUtilities.js","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAS,EAAE,SAAc;IACnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAEjC,IAAI,
|
|
1
|
+
{"version":3,"file":"ObjectUtilities.js","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { downloadAndExtractTarball } from './FileDownloader.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ensureDir, existsSync, remove } from './FileSystem.js';
|
|
3
3
|
import { appName } from '../api/Common.js';
|
|
4
|
-
import { getAppTempDir, joinPath } from './PathUtilities.js';
|
|
4
|
+
import { getAppDataDir, getAppTempDir, joinPath } from './PathUtilities.js';
|
|
5
5
|
import { getGlobalOption } from '../api/GlobalOptions.js';
|
|
6
6
|
export async function loadPackage(packageName, callbacks) {
|
|
7
7
|
packageName = resolveToVersionedPackageNameIfNeeded(packageName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA2B,MAAM,qBAAqB,CAAA;AACxF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare function getModuleRootDir(): string;
|
|
|
4
4
|
export declare function resolveToModuleRootDir(relativePath: string): string;
|
|
5
5
|
export declare function getLowercaseFileExtension(filename: string): string;
|
|
6
6
|
export declare function getAppTempDir(appName: string): string;
|
|
7
|
+
export declare function getAppDataDir(appName: string): string;
|
|
7
8
|
export declare function joinPath(...paths: string[]): string;
|
|
8
9
|
export declare function resolvePath(...paths: string[]): string;
|
|
9
10
|
export declare function normalizePath(path: string): string;
|