forked from WordPress/gutenberg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
output.js
26 lines (23 loc) · 791 Bytes
/
output.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* External dependencies
*/
const { dirname, join } = require( 'path' );
const makeDir = require( 'make-dir' );
const { render } = require( 'mustache' );
const { writeFile } = require( 'fs' ).promises;
const writeOutputAsset = async ( inputFile, outputFile, view ) => {
const outputFilePath = join( view.slug, 'assets', outputFile );
await makeDir( dirname( outputFilePath ) );
writeFile( outputFilePath, inputFile );
};
const writeOutputTemplate = async ( inputFile, outputFile, view ) => {
const outputFilePath = ! view.plugin
? outputFile
: join( view.slug, outputFile.replace( /\$slug/g, view.slug ) );
await makeDir( dirname( outputFilePath ) );
writeFile( outputFilePath, render( inputFile, view ) );
};
module.exports = {
writeOutputAsset,
writeOutputTemplate,
};