mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
const fs = require('fs').promises;
|
|
const HEADER_TEMPLATE = `
|
|
---
|
|
title: Core Package Listing
|
|
description: list of all Meteor core packages.
|
|
---
|
|
|
|
[//]: # (Do not edit this file by hand.)
|
|
|
|
[//]: # (This is a generated file.)
|
|
|
|
[//]: # (If you want to change something in this file)
|
|
|
|
[//]: # (go to meteor/docs/generators/packages-listing)
|
|
|
|
# Core Packages
|
|
|
|
|
|
`
|
|
|
|
const OUTSIDE_OF_CORE_PACKAGES = [
|
|
{
|
|
name: 'blaze',
|
|
link: 'https://github.com/meteor/blaze'
|
|
},
|
|
{
|
|
name: 'react-packages',
|
|
link: 'https://github.com/meteor/react-packages'
|
|
}
|
|
];
|
|
|
|
const IGNORED = [
|
|
'depracated',
|
|
'non-core'
|
|
];
|
|
const getPackages = async () => {
|
|
const packages =
|
|
(await fs.readdir('../packages', { withFileTypes: true }))
|
|
.filter(dirent => dirent.isDirectory())
|
|
.map(dirent => dirent.name)
|
|
.filter(name => !IGNORED.includes(name))
|
|
.map(name => {
|
|
return {
|
|
name,
|
|
link: `https://github.com/meteor/meteor/tree/devel/packages/${name}`
|
|
}
|
|
});
|
|
return [...OUTSIDE_OF_CORE_PACKAGES, ...packages, ];
|
|
}
|
|
|
|
const generateMarkdown = (packages) =>
|
|
packages
|
|
.map(({name, link}) => `- [${name}](${link})`)
|
|
.join('\n');
|
|
|
|
|
|
|
|
async function main() {
|
|
console.log("🚂 Started listing 🚂");
|
|
const packages = await getPackages();
|
|
const markdown = generateMarkdown(packages);
|
|
const content = HEADER_TEMPLATE + markdown;
|
|
console.log("📝 Writing to file 📝");
|
|
await fs.writeFile('./source/packages/packages-listing.md', content);
|
|
console.log("🚀 Done 🚀");
|
|
}
|
|
|
|
main();
|