1 | const path = require('path')
|
2 | const fs = require('fs-extra')
|
3 | const slash = require('slash')
|
4 | const CWD = process.cwd()
|
5 |
|
6 | module.exports = function loader (content, { file }) {
|
7 | let callback = this.async()
|
8 | getFiles().then(files => {
|
9 | content = content.replace(/.+\*\//, '')
|
10 | content = content.replace('__FILES__', `[${files.join(',')}]`)
|
11 | callback(null, content)
|
12 | })
|
13 | }
|
14 |
|
15 | async function getFiles () {
|
16 | const files = await fs.readdir(CWD)
|
17 | return files
|
18 | .filter(f => /\.(js|css|less|json)$/.test(f))
|
19 | .map(f => `require.resolve('${slash(path.join(CWD, f))}')`)
|
20 | }
|