1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use strict'
-
- const u = require('universalify').fromCallback
- const fs = require('graceful-fs')
- const path = require('path')
- const mkdir = require('../mkdirs')
- const pathExists = require('../path-exists').pathExists
-
- function outputFile (file, data, encoding, callback) {
- if (typeof encoding === 'function') {
- callback = encoding
- encoding = 'utf8'
- }
-
- const dir = path.dirname(file)
- pathExists(dir, (err, itDoes) => {
- if (err) return callback(err)
- if (itDoes) return fs.writeFile(file, data, encoding, callback)
-
- mkdir.mkdirs(dir, err => {
- if (err) return callback(err)
-
- fs.writeFile(file, data, encoding, callback)
- })
- })
- }
-
- function outputFileSync (file, data, encoding) {
- const dir = path.dirname(file)
- if (fs.existsSync(dir)) {
- return fs.writeFileSync.apply(fs, arguments)
- }
- mkdir.mkdirsSync(dir)
- fs.writeFileSync.apply(fs, arguments)
- }
-
- module.exports = {
- outputFile: u(outputFile),
- outputFileSync
- }
|