UNPKG

1.14 kBtext/coffeescriptView Raw
1fs = require("fs")
2path = require("path")
3
4module.exports = class FileUtil
5
6 @cleanSync: (src, deleteFolder=true) ->
7 if fs.existsSync(src)
8 files = fs.readdirSync(src)
9 files.forEach (file) =>
10 curSrc = "#{src}/#{file}"
11 if fs.lstatSync(curSrc).isDirectory()
12 @cleanSync(curSrc);
13 else
14 fs.unlinkSync(curSrc);
15 console.log("delete #{curSrc}")
16
17 if deleteFolder
18 fs.rmdirSync(src);
19 console.log("delete #{src}")
20
21 @copySync: (src, dest) ->
22 stats = fs.statSync(src)
23 isDirectory = stats.isDirectory()
24 if isDirectory
25 fs.mkdirSync(dest)
26 fs.readdirSync(src).forEach (file) =>
27 @copySync(path.join(src, file), path.join(dest, file))
28 else
29 fs.linkSync(src, dest)
30
31 @chownSync: (src, uid, gid) ->
32 uid = 501
33 gid = 20
34
35 stats = fs.statSync(src)
36 isDirectory = stats.isDirectory();
37 if isDirectory
38 fs.readdirSync(src).forEach (file) =>
39 @chownSync(path.join(src, file), uid, gid)
40 fs.chownSync(src, uid, gid)
41 else
42 console.log("chown: #{src}")
43 fs.chownSync(src, uid, gid)