24 lines
796 B
JavaScript
24 lines
796 B
JavaScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
function collect(location) {
|
|
const element = { name: path.basename(location) };
|
|
const stat = fs.statSync(location);
|
|
|
|
if (!stat.isDirectory()) {
|
|
return { element, incompressible: true };
|
|
}
|
|
|
|
const children = fs.readdirSync(location)
|
|
.map(child => path.join(location, child))
|
|
.map(collect);
|
|
|
|
return { element, children };
|
|
}
|
|
|
|
console.log(JSON.stringify(collect(process.cwd()))); |