12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- var path = require('path')
- var fs = require('graceful-fs')
- var mkdir = require('../mkdirs')
- function createFile (file, callback) {
- function makeFile () {
- fs.writeFile(file, '', function (err) {
- if (err) return callback(err)
- callback()
- })
- }
- fs.exists(file, function (fileExists) {
- if (fileExists) return callback()
- var dir = path.dirname(file)
- fs.exists(dir, function (dirExists) {
- if (dirExists) return makeFile()
- mkdir.mkdirs(dir, function (err) {
- if (err) return callback(err)
- makeFile()
- })
- })
- })
- }
- function createFileSync (file) {
- if (fs.existsSync(file)) return
- var dir = path.dirname(file)
- if (!fs.existsSync(dir)) {
- mkdir.mkdirsSync(dir)
- }
- fs.writeFileSync(file, '')
- }
- module.exports = {
- createFile: createFile,
- createFileSync: createFileSync,
- // alias
- ensureFile: createFile,
- ensureFileSync: createFileSync
- }
|