1 | fs = require("fs")
|
2 | path = require("path")
|
3 | fu = require("./file-util.coffee")
|
4 |
|
5 | module.exports = class ProjectCreator
|
6 |
|
7 | constructor: (targetDir) ->
|
8 | @targetDir = targetDir
|
9 | @projectDir = "#{__dirname}/project"
|
10 |
|
11 | create: (process) ->
|
12 |
|
13 | if not(fs.existsSync(@targetDir))
|
14 | fs.mkdirSync(@targetDir)
|
15 |
|
16 | fs.readdirSync(@projectDir).forEach (file) =>
|
17 | fu.copySync(path.join(@projectDir, file), path.join(@targetDir, file))
|
18 |
|
19 | fs.renameSync("#{@targetDir}/gitignore", "#{@targetDir}/.gitignore")
|
20 |
|
21 | fs.readdirSync(@targetDir).forEach (file) =>
|
22 | fu.chownSync(path.join(@targetDir, file), process.getuid(), process.getgid())
|
23 |
|
24 | clean: () ->
|
25 | fu.cleanSync(@targetDir, false)
|
26 |
|