'use strict';
-const { access, rmdir } = 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'
};
const assetsTarget = join(target, internals.kAssetsDirectoryName);
internals.debuglog(`Removing ${assetsTarget}`);
- await rmdir(assetsTarget, { recursive: true });
+ await rmIfExists(assetsTarget);
for (let i = 0; i < posts.length; ++i) {
const postSourcePath = join(source, `${i}`);
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;
}