ghost-portal/scripts/findPackages.js
2020-01-06 16:16:50 +01:00

30 lines
898 B
JavaScript

/* eslint-disable @typescript-eslint/no-var-requires */
// Copyright 2017-2020 @polkadot/apps authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
const fs = require('fs');
const path = require('path');
module.exports = function findPackages () {
const pkgRoot = path.join(__dirname, '..', 'packages');
return fs
.readdirSync(pkgRoot)
.filter((entry) => {
const pkgPath = path.join(pkgRoot, entry);
return !['.', '..'].includes(entry) &&
fs.lstatSync(pkgPath).isDirectory() &&
fs.existsSync(path.join(pkgPath, 'package.json'));
})
.map((dir) => {
const jsonPath = path.join(pkgRoot, dir, 'package.json');
const { name } = JSON.parse(
fs.readFileSync(jsonPath).toString('utf-8')
);
return { dir, name };
});
};