]> git.r.bdr.sh - rbdr/blog/blobdiff - lib/generators/static.js
Remove force rms and dependency on ncp
[rbdr/blog] / lib / generators / static.js
index 4713ea7dca51c841fcd695d46c1a377c1643b714..416076c966e084d06bd5d1680cedbfbc238b1282 100644 (file)
@@ -1,14 +1,13 @@
 'use strict';
 
-const { access, rm } = require('fs/promises');
-const { ncp } = require('ncp');
+const { access, cp } = require('fs/promises');
 const { join } = require('path');
-const { debuglog, promisify } = require('util');
+const { debuglog } = require('util');
+const { rmIfExists } = require('../utils');
+const { kFileNotFoundError } = require('../constants');
 
 const internals = {
-  ncp: promisify(ncp),
   debuglog: debuglog('blog'),
-
   kAssetsDirectoryName: 'assets'
 };
 
@@ -25,7 +24,7 @@ module.exports = async function StaticGenerator(source, target, posts) {
   const assetsTarget = join(target, internals.kAssetsDirectoryName);
 
   internals.debuglog(`Removing ${assetsTarget}`);
-  await rm(assetsTarget, { recursive: true, force: true });
+  await rmIfExists(assetsTarget);
 
   for (let i = 0; i < posts.length; ++i) {
     const postSourcePath = join(source, `${i}`);
@@ -36,10 +35,10 @@ module.exports = async function StaticGenerator(source, target, posts) {
       const assetsSource = join(postSourcePath, internals.kAssetsDirectoryName);
 
       internals.debuglog(`Copying ${assetsSource} to ${assetsTarget}`);
-      await internals.ncp(assetsSource, assetsTarget);
+      await cp(assetsSource, assetsTarget, { recursive: true });
     }
     catch (error) {
-      if (error.code === internals.kFileNotFoundError) {
+      if (error.code === kFileNotFoundError) {
         internals.debuglog(`Skipping ${i}`);
         continue;
       }