UNPKG

990 BJavaScriptView Raw
1/**
2 * Install icons
3 * @function install
4 * @param {string} dirname - Directory name to install files
5 * @param {Object} [options]
6 * @returns {Promise}
7 */
8'use strict'
9
10const co = require('co')
11const path = require('path')
12const filelink = require('filelink')
13const expandglob = require('expandglob')
14
15const assetDir = `${__dirname}/asset`
16
17let linkFilesInDir = (srcDir, destDir) => co(function * () {
18 let filenames = yield expandglob('*.*', { cwd: srcDir })
19 for (let filename of filenames) {
20 let src = `${srcDir}/${filename}`
21 let dest = `${destDir}/${filename}`
22 yield filelink(src, dest, {
23 force: true,
24 mkdirp: true
25 })
26 console.log(`File installed: ${path.relative(process.cwd(), dest)}`)
27 }
28})
29
30/** @lends install */
31function install (dirname, options = {}) {
32 return co(function * () {
33 yield linkFilesInDir(`${assetDir}/css`, `${dirname}/css`)
34 yield linkFilesInDir(`${assetDir}/fonts`, `${dirname}/fonts`)
35 })
36}
37
38module.exports = install