Created
May 22, 2015 00:42
-
-
Save gpleiss/830369c52689e00233ed to your computer and use it in GitHub Desktop.
The magic
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import fs from 'fs-promise'; | |
import DAG from 'dag-map'; | |
import glob from 'glob'; | |
import promisify from 'es6-promisify'; | |
const promisedGlob = promisify(glob); | |
(async function() { | |
const dag = new DAG(); | |
const allPackageFilePaths = await promisedGlob('**/node_modules/*/package.json'); | |
const packages = (await * allPackageFilePaths.map(filePath => fs.readFile(filePath))) | |
.map(JSON.parse) | |
.filter(pkg => Boolean(pkg.style)); | |
const packageNames = packages.map(pkg => pkg.name); | |
for (const packageName of packageNames) { | |
dag.add(packageName); | |
} | |
for (const pkg of packages) { | |
const styleDependencies = Object.keys(pkg.dependencies || {}) | |
.filter(dependency => packageNames.includes(dependency)); | |
for (const styleDependency of styleDependencies) { | |
dag.addEdge(styleDependency, pkg.name); | |
} | |
} | |
const orderedPackageNames = []; | |
dag.topsort(function(vertex, path){ | |
orderedPackageNames.push(vertex.name); | |
}); | |
return orderedPackageNames; | |
})(); |
Author
gpleiss
commented
May 22, 2015
'pui-css-alignment',
'pui-css-backgrounds',
'pui-css-alerts',
'pui-css-avatars',
'pui-css-back-to-top',
'pui-css-buttons',
'pui-css-collapse',
'pui-css-dropdowns',
'pui-css-embeds',
'pui-css-forms',
'pui-css-grids',
'pui-css-images',
'pui-css-labels',
'pui-css-links',
'pui-css-lists',
'pui-css-media',
'pui-css-modals',
'pui-css-panels',
'pui-css-panes',
'pui-css-progress-bars',
'pui-css-tables',
'pui-css-tabs',
'pui-css-code',
'pui-css-spinners',
'pui-css-iconography',
'pui-css-tooltips',
'pui-css-typography',
'pui-css-bootstrap',
'pui-css-colors',
'pui-css-deprecated',
'pui-css-dividers',
'pui-css-ellipsis',
'pui-css-google-maps',
'pui-css-hoverable',
'pui-css-react-animations',
'pui-css-ribbons',
'pui-css-vertical-alignment',
'pui-css-whitespace'
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment