Initial commit
This commit is contained in:
commit
e49726988c
5445 files changed
+1089914
No files matched your search
+2252
File diff suppressed because it is too large.
Load diff
+93
@@ -0,0 +1,93 @@
|
||||
/* eslint-disable global-require */
|
||||
/* eslint-disable no-console */
|
||||
/* global DICT */
|
||||
|
||||
'use strict';
|
||||
|
||||
(function installDiagnostic() {
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const win32 = process.platform === 'win32';
|
||||
|
||||
if (process.env.DEBUG_PKG === '2') {
|
||||
console.log(Object.entries(DICT));
|
||||
}
|
||||
function dumpLevel(filename, level, tree) {
|
||||
let totalSize = 0;
|
||||
const d = fs.readdirSync(filename);
|
||||
for (let j = 0; j < d.length; j += 1) {
|
||||
const f = path.join(filename, d[j]);
|
||||
const realPath = fs.realpathSync(f);
|
||||
const isSymbolicLink2 = f !== realPath;
|
||||
|
||||
const s = fs.statSync(f);
|
||||
totalSize += s.size;
|
||||
|
||||
if (s.isDirectory() && !isSymbolicLink2) {
|
||||
const tree1 = [];
|
||||
totalSize += dumpLevel(f, level + 1, tree1);
|
||||
const str =
|
||||
(' '.padStart(level * 2, ' ') + d[j]).padEnd(40, ' ') +
|
||||
(totalSize.toString().padStart(10, ' ') +
|
||||
(isSymbolicLink2 ? `=> ${realPath}` : ' '));
|
||||
tree.push(str);
|
||||
tree1.forEach((x) => tree.push(x));
|
||||
} else {
|
||||
const str =
|
||||
(' '.padStart(level * 2, ' ') + d[j]).padEnd(40, ' ') +
|
||||
(s.size.toString().padStart(10, ' ') +
|
||||
(isSymbolicLink2 ? `=> ${realPath}` : ' '));
|
||||
tree.push(str);
|
||||
}
|
||||
}
|
||||
return totalSize;
|
||||
}
|
||||
function wrap(obj, name) {
|
||||
const f = fs[name];
|
||||
obj[name] = (...args) => {
|
||||
const args1 = Object.values(args);
|
||||
console.log(
|
||||
`fs.${name}`,
|
||||
args1.filter((x) => typeof x === 'string')
|
||||
);
|
||||
return f.apply(this, args1);
|
||||
};
|
||||
}
|
||||
if (process.env.DEBUG_PKG) {
|
||||
console.log('------------------------------- virtual file system');
|
||||
const startFolder = win32 ? 'C:\\snapshot' : '/snapshot';
|
||||
console.log(startFolder);
|
||||
|
||||
const tree = [];
|
||||
const totalSize = dumpLevel(startFolder, 1, tree);
|
||||
console.log(tree.join('\n'));
|
||||
|
||||
console.log('Total size = ', totalSize);
|
||||
if (process.env.DEBUG_PKG === '2') {
|
||||
wrap(fs, 'openSync');
|
||||
wrap(fs, 'open');
|
||||
wrap(fs, 'readSync');
|
||||
wrap(fs, 'read');
|
||||
wrap(fs, 'writeSync');
|
||||
wrap(fs, 'write');
|
||||
wrap(fs, 'closeSync');
|
||||
wrap(fs, 'readFileSync');
|
||||
wrap(fs, 'close');
|
||||
wrap(fs, 'readFile');
|
||||
wrap(fs, 'readdirSync');
|
||||
wrap(fs, 'readdir');
|
||||
wrap(fs, 'realpathSync');
|
||||
wrap(fs, 'realpath');
|
||||
wrap(fs, 'statSync');
|
||||
wrap(fs, 'stat');
|
||||
wrap(fs, 'lstatSync');
|
||||
wrap(fs, 'lstat');
|
||||
wrap(fs, 'fstatSync');
|
||||
wrap(fs, 'fstat');
|
||||
wrap(fs, 'existsSync');
|
||||
wrap(fs, 'exists');
|
||||
wrap(fs, 'accessSync');
|
||||
wrap(fs, 'access');
|
||||
}
|
||||
}
|
||||
})();
|
||||
Reference in new issue
Block a user