43 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-12-01 16:44:03 +01:00
'use strict';
/**
* Module dependencies
*/
// Node.js core.
const path = require('path');
// Public node modules.
const _ = require('lodash');
const fs = require('fs-extra');
/**
* This `before` function is run before generating targets.
* Validate, configure defaults, get extra dependencies, etc.
*
* @param {Object} scope
* @param {Function} cb
*/
module.exports = function (scope, cb) {
if (scope.developerMode) {
fs.mkdirsSync(path.resolve(scope.rootPath));
fs.symlinkSync(path.resolve(__dirname, '..', '..', 'strapi-admin'), path.resolve(scope.rootPath, 'admin'), 'dir');
} else {
// Copy the admin files.
fs.copySync(path.resolve(__dirname, '..', '..', 'strapi-admin'), path.resolve(scope.rootPath, 'admin'), {
// Skip `node_modules` folder.
filter: (file) => (!_.includes(file, 'node_modules') && !_.includes(file, 'package-lock.json'))
});
}
2016-12-01 16:44:03 +01:00
// Take another pass to take advantage of the defaults absorbed in previous passes.
_.defaults(scope, {
rootPath: scope.rootPath,
humanizedPath: '`./admin`'
});
// Trigger callback with no error to proceed.
return cb.success();
};