mirror of https://github.com/docker/docs.git
89 lines
2.4 KiB
JavaScript
Executable File
89 lines
2.4 KiB
JavaScript
Executable File
getHomePath = function () {
|
|
return process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'];
|
|
};
|
|
|
|
getBinDir = function () {
|
|
if (process.env.NODE_ENV === 'development') {
|
|
return path.join(path.join(process.env.PWD, '..'), 'resources');
|
|
} else {
|
|
return path.join(process.cwd(), '../../../resources');
|
|
}
|
|
};
|
|
|
|
deleteFolder = function (directory) {
|
|
if (fs.existsSync(directory)) {
|
|
fs.readdirSync(directory).forEach(function (file) {
|
|
var curDirectory = directory + '/' + file;
|
|
if (fs.lstatSync(curDirectory).isDirectory()) {
|
|
// Recurse
|
|
deleteFolder(curDirectory);
|
|
} else {
|
|
// Delete File
|
|
try {
|
|
fs.unlinkSync(curDirectory);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
});
|
|
fs.rmdirSync(directory);
|
|
}
|
|
};
|
|
|
|
copyFolder = function (src, dest) {
|
|
var exists = fs.existsSync(src);
|
|
var stats = exists && fs.statSync(src);
|
|
var isDirectory = exists && stats.isDirectory();
|
|
if (exists && isDirectory) {
|
|
try {
|
|
fs.mkdirSync(dest);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
fs.readdirSync(src).forEach(function (childItemName) {
|
|
copyFolder(path.join(src, childItemName), path.join(dest, childItemName));
|
|
});
|
|
} else {
|
|
try {
|
|
fs.linkSync(src, dest);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
};
|
|
|
|
getImageJSON = function (directory) {
|
|
var KITE_JSON_PATH = path.join(directory, 'image.json');
|
|
if (fs.existsSync(KITE_JSON_PATH)) {
|
|
var data = fs.readFileSync(KITE_JSON_PATH, 'utf8');
|
|
return JSON.parse(data);
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
|
|
copyVolumes = function (directory, appName) {
|
|
var KITE_VOLUMES_PATH = path.join(directory, 'volumes');
|
|
if (fs.existsSync(KITE_VOLUMES_PATH)) {
|
|
var destinationPath = path.join(KITE_PATH, appName);
|
|
copyFolder(KITE_VOLUMES_PATH, destinationPath);
|
|
console.log('Copied volumes for: ' + appName);
|
|
}
|
|
};
|
|
|
|
saveImageFolder = function (directory, imageId, callback) {
|
|
var destinationPath = path.join(KITE_IMAGES_PATH, imageId);
|
|
if (!fs.existsSync(destinationPath)) {
|
|
fs.mkdirSync(destinationPath, function (err) {
|
|
if (err) { callback(err); return; }
|
|
});
|
|
copyFolder(directory, destinationPath);
|
|
console.log('Copied image folder for: ' + imageId);
|
|
callback(null);
|
|
}
|
|
};
|
|
|
|
saveImageFolderSync = function (directory, imageId) {
|
|
return Meteor._wrapAsync(saveImageFolder)(directory, imageId);
|
|
};
|