|
|
- '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, ...args) {
- const dir = path.dirname(file)
- if (fs.existsSync(dir)) {
- return fs.writeFileSync(file, ...args)
- }
- mkdir.mkdirsSync(dir)
- fs.writeFileSync(file, ...args)
- }
-
- module.exports = {
- outputFile: u(outputFile),
- outputFileSync
- }
|