37 lines
865 B
JavaScript
37 lines
865 B
JavaScript
import rdir from 'recursive-readdir'
|
|
import { join, basename } from 'path'
|
|
|
|
// Files to not download
|
|
const avoid = {
|
|
files: [
|
|
'README.md',
|
|
'package.json',
|
|
'CHANGELOG.md',
|
|
'version-pickers.js',
|
|
'pattern-picker.js',
|
|
'header.js',
|
|
],
|
|
dirs: ['node_modules', 'layouts', 'e2e'],
|
|
}
|
|
|
|
// Method to check what files to keep
|
|
const keep = (file) => {
|
|
if (avoid.files.indexOf(basename(file)) !== -1) return false
|
|
for (const dir of avoid.dirs) {
|
|
if (file.indexOf(dir) !== -1) return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
const getFiles = async (site) => {
|
|
const all = await rdir(join('..', '..', 'sites', site))
|
|
|
|
return all.filter((file) => keep(file)).map((file) => file.slice(12))
|
|
}
|
|
|
|
getFiles('shared').then((shared) => {
|
|
getFiles(join('lab', 'components')).then((lab) => {
|
|
console.log(JSON.stringify([...shared, ...lab], null, 2))
|
|
})
|
|
})
|