@cyklang/cli
Advanced tools
Comparing version 0.5.5 to 0.5.6
@@ -357,7 +357,5 @@ "use strict"; | ||
if (remoteDesc === undefined || remoteDesc.mtime.getTime() + 1000 < localDesc.mtime.getTime()) { | ||
if (remoteDesc === undefined) | ||
logger.debug('remoteDesc undefined'); | ||
else | ||
logger.debug('remoteDesc.mtime ' + remoteDesc.mtime.getTime(), 'localDesc.mtime ' + localDesc.mtime.getTime()); | ||
logger.info(localDesc.path); | ||
// if (remoteDesc === undefined) logger.debug('remoteDesc undefined') | ||
// else logger.debug('remoteDesc.mtime ' + remoteDesc.mtime.getTime(), 'localDesc.mtime ' + localDesc.mtime.getTime()) | ||
// logger.info(localDesc.path) | ||
result.push(localDesc); | ||
@@ -421,3 +419,3 @@ } | ||
const route = dest + upload.path.substring(dirName.length); | ||
logger.debug('upload ' + upload.path + ' to ' + route); | ||
// logger.debug('upload ' + upload.path + ' to ' + route) | ||
await uploadAsset(upload, route, dbManager, dbRemote, auth); | ||
@@ -456,3 +454,3 @@ } | ||
dbAsset.id = await dbManager?.dbAssetInsert(dbAsset); | ||
logger.info('inserted asset ' + dbAsset.id + ' route ' + dbAsset.route); | ||
logger.info('inserted asset ' + dbAsset.route); | ||
} | ||
@@ -492,3 +490,3 @@ else { | ||
async function uploadAssetContent(dbAsset, fileName, dbRemote) { | ||
logger.debug('uploadAssetContent file ' + fileName + ' to path ' + path_1.default); | ||
// logger.debug('uploadAssetContent file ' + fileName + ' to path ' + path) | ||
try { | ||
@@ -495,0 +493,0 @@ const file = fs.createReadStream(fileName); |
@@ -23,3 +23,3 @@ #!/usr/bin/env node | ||
program.name('cyk').description('cyklang CLI') | ||
.version('0.5.5'); | ||
.version('0.5.6'); | ||
program.addCommand(new InstallCommand_1.InstallCommand('install')); | ||
@@ -26,0 +26,0 @@ program.addCommand(new InstallCommand_1.InstallCommand('i')); |
@@ -75,3 +75,3 @@ "use strict"; | ||
*/ | ||
await installNodePackage(node_package, dbManager); | ||
await installNodePackage(node_package, dbManager, dbRemote); | ||
const installScript = await lookupInstallScript(node_package); | ||
@@ -121,4 +121,2 @@ if (installScript) { | ||
console.log('upload assets to server ...'); | ||
if (!dbManager) | ||
throw 'dbManager undefined'; | ||
const items = fs.readdirSync(assetFolder); | ||
@@ -173,3 +171,3 @@ for (let ind = 0; ind < items.length; ind++) { | ||
*/ | ||
async function installNodePackage(node_package, dbManager) { | ||
async function installNodePackage(node_package, dbManager, dbRemote) { | ||
try { | ||
@@ -182,3 +180,3 @@ const packageJson = await (0, Cmd_1.readPackageJson)(); | ||
throw 'dbManager undefined'; | ||
await (0, UninstallCommand_1.uninstallPackage)(node_package, dbManager); | ||
await (0, UninstallCommand_1.uninstallPackage)(node_package, dbManager, dbRemote); | ||
} | ||
@@ -185,0 +183,0 @@ await (0, Cmd_1.runShellCommand)('npm', ['install', '--save-dev', node_package]); |
import { Cmd } from "./Cmd"; | ||
import { DBManager } from "@cyklang/core"; | ||
import { DBManager, DBRemote } from "@cyklang/core"; | ||
export declare class UninstallCommand extends Cmd { | ||
@@ -20,2 +20,2 @@ /** | ||
*/ | ||
export declare function uninstallPackage(node_package: string, dbManager: DBManager): Promise<void>; | ||
export declare function uninstallPackage(node_package: string, dbManager: DBManager, dbRemote: DBRemote): Promise<void>; |
@@ -59,5 +59,5 @@ "use strict"; | ||
await this.prologue(options); | ||
if (this.dbManager === undefined) | ||
throw 'dbManager undefined'; | ||
await uninstallPackage(node_package, this.dbManager); | ||
if (!this.dbManager || !this.dbRemote) | ||
throw 'dbManager or dbRemote undefined'; | ||
await uninstallPackage(node_package, this.dbManager, this.dbRemote); | ||
} | ||
@@ -74,3 +74,3 @@ catch (err) { | ||
*/ | ||
async function uninstallPackage(node_package, dbManager) { | ||
async function uninstallPackage(node_package, dbManager, dbRemote) { | ||
const uninstallScript = await lookupUninstallScript(node_package); | ||
@@ -88,3 +88,3 @@ if (uninstallScript) { | ||
*/ | ||
await defaultUninstallScript(node_package, dbManager); | ||
await defaultUninstallScript(node_package, dbManager, dbRemote); | ||
} | ||
@@ -101,3 +101,3 @@ /** | ||
*/ | ||
async function defaultUninstallScript(node_package, dbManager) { | ||
async function defaultUninstallScript(node_package, dbManager, dbRemote) { | ||
console.log(); | ||
@@ -109,4 +109,51 @@ console.log('Default uninstall script'); | ||
await deletePackageModules(node_package, dbManager); | ||
/** | ||
* delete package assets from server | ||
*/ | ||
await deletePackageAssets(node_package, dbManager, dbRemote); | ||
} | ||
/** | ||
* function deletePackageAssets | ||
* @param node_package | ||
* @param dbManager | ||
* @param dbRemote | ||
*/ | ||
async function deletePackageAssets(node_package, dbManager, dbRemote) { | ||
const assetFolder = path.join('node_modules', node_package, 'asset'); | ||
if (!fs.existsSync(assetFolder) || !fs.statSync(assetFolder).isDirectory()) { | ||
return; | ||
} | ||
console.log(); | ||
console.log('delete assets from server ...'); | ||
await browseFolder(assetFolder, async (filePath) => { | ||
const route = '/' + path.relative(assetFolder, filePath); | ||
const dbAsset = await dbManager.dbAssetExist(route); | ||
if (!dbAsset) { | ||
logger.info('asset ' + route + ' not found'); | ||
return; | ||
} | ||
await dbManager.dbAssetDelete(dbAsset); | ||
logger.info('asset ' + route + ' deleted'); | ||
}); | ||
console.log((0, kolorist_1.green)('*') + ' delete assets from server'); | ||
} | ||
/** | ||
* browseFolder | ||
* @param folder | ||
* @param treatment | ||
*/ | ||
async function browseFolder(folder, treatment) { | ||
const files = fs.readdirSync(folder); | ||
for (let ind = 0; ind < files.length; ind++) { | ||
const file = files[ind]; | ||
const pathName = folder + '/' + file; | ||
if (fs.statSync(pathName).isDirectory()) { | ||
await browseFolder(pathName, treatment); | ||
} | ||
else { | ||
await treatment(pathName); | ||
} | ||
} | ||
} | ||
/** | ||
* function deletePackageModules | ||
@@ -113,0 +160,0 @@ * @param node_package |
{ | ||
"name": "@cyklang/cli", | ||
"version": "0.5.5", | ||
"version": "0.5.6", | ||
"description": "cyklang CLI", | ||
@@ -5,0 +5,0 @@ "main": "build/index.js", |
@@ -369,5 +369,5 @@ import { Command } from "commander" | ||
if (remoteDesc === undefined || remoteDesc.mtime.getTime() + 1000 < localDesc.mtime.getTime()) { | ||
if (remoteDesc === undefined) logger.debug('remoteDesc undefined') | ||
else logger.debug('remoteDesc.mtime ' + remoteDesc.mtime.getTime(), 'localDesc.mtime ' + localDesc.mtime.getTime()) | ||
logger.info(localDesc.path) | ||
// if (remoteDesc === undefined) logger.debug('remoteDesc undefined') | ||
// else logger.debug('remoteDesc.mtime ' + remoteDesc.mtime.getTime(), 'localDesc.mtime ' + localDesc.mtime.getTime()) | ||
// logger.info(localDesc.path) | ||
result.push(localDesc) | ||
@@ -430,3 +430,3 @@ } | ||
const route = dest + upload.path.substring(dirName.length) | ||
logger.debug('upload ' + upload.path + ' to ' + route) | ||
// logger.debug('upload ' + upload.path + ' to ' + route) | ||
await uploadAsset(upload, route, dbManager, dbRemote, auth) | ||
@@ -468,3 +468,3 @@ } | ||
dbAsset.id = await dbManager?.dbAssetInsert(dbAsset) | ||
logger.info('inserted asset ' + dbAsset.id + ' route ' + dbAsset.route) | ||
logger.info('inserted asset ' + dbAsset.route) | ||
} | ||
@@ -506,3 +506,3 @@ else { | ||
async function uploadAssetContent(dbAsset: DBAsset, fileName: string, dbRemote: DBRemote | undefined) { | ||
logger.debug('uploadAssetContent file ' + fileName + ' to path ' + path) | ||
// logger.debug('uploadAssetContent file ' + fileName + ' to path ' + path) | ||
try { | ||
@@ -509,0 +509,0 @@ const file = fs.createReadStream(fileName) |
@@ -19,3 +19,3 @@ #!/usr/bin/env node | ||
program.name('cyk').description('cyklang CLI') | ||
.version('0.5.5') | ||
.version('0.5.6') | ||
@@ -22,0 +22,0 @@ program.addCommand(new InstallCommand('install')) |
@@ -51,3 +51,3 @@ import { Cmd, readPackageJson, runShellCommand } from "./Cmd"; | ||
*/ | ||
await installNodePackage(node_package, dbManager) | ||
await installNodePackage(node_package, dbManager, dbRemote) | ||
@@ -104,3 +104,2 @@ const installScript = await lookupInstallScript(node_package) | ||
if (!dbManager) throw 'dbManager undefined' | ||
const items = fs.readdirSync(assetFolder) | ||
@@ -158,3 +157,3 @@ for (let ind = 0; ind < items.length; ind++) { | ||
*/ | ||
async function installNodePackage(node_package: string, dbManager: DBManager) { | ||
async function installNodePackage(node_package: string, dbManager: DBManager, dbRemote: DBRemote) { | ||
@@ -167,3 +166,3 @@ try { | ||
if (!dbManager) throw 'dbManager undefined' | ||
await uninstallPackage(node_package, dbManager) | ||
await uninstallPackage(node_package, dbManager, dbRemote) | ||
} | ||
@@ -170,0 +169,0 @@ |
@@ -8,3 +8,3 @@ import { Cmd, runShellCommand } from "./Cmd"; | ||
import { deleteModule } from "./ModuleCommand"; | ||
import { DBManager } from "@cyklang/core"; | ||
import { DBManager, DBRemote } from "@cyklang/core"; | ||
const logger = loglevel.getLogger('UninstallCommand.ts') | ||
@@ -35,5 +35,5 @@ logger.setLevel('debug') | ||
await this.prologue(options) | ||
if (this.dbManager === undefined) throw 'dbManager undefined' | ||
if (! this.dbManager || ! this.dbRemote) throw 'dbManager or dbRemote undefined' | ||
await uninstallPackage(node_package, this.dbManager) | ||
await uninstallPackage(node_package, this.dbManager, this.dbRemote) | ||
} | ||
@@ -50,3 +50,3 @@ catch (err) { | ||
*/ | ||
export async function uninstallPackage(node_package: string, dbManager: DBManager) { | ||
export async function uninstallPackage(node_package: string, dbManager: DBManager, dbRemote: DBRemote) { | ||
@@ -65,3 +65,3 @@ const uninstallScript = await lookupUninstallScript(node_package) | ||
*/ | ||
await defaultUninstallScript(node_package, dbManager) | ||
await defaultUninstallScript(node_package, dbManager, dbRemote) | ||
} | ||
@@ -79,3 +79,3 @@ | ||
*/ | ||
async function defaultUninstallScript(node_package: string, dbManager: DBManager) { | ||
async function defaultUninstallScript(node_package: string, dbManager: DBManager, dbRemote: DBRemote) { | ||
console.log() | ||
@@ -87,2 +87,6 @@ console.log('Default uninstall script') | ||
await deletePackageModules(node_package, dbManager) | ||
/** | ||
* delete package assets from server | ||
*/ | ||
await deletePackageAssets(node_package, dbManager, dbRemote) | ||
@@ -92,2 +96,49 @@ } | ||
/** | ||
* function deletePackageAssets | ||
* @param node_package | ||
* @param dbManager | ||
* @param dbRemote | ||
*/ | ||
async function deletePackageAssets(node_package: string, dbManager: DBManager, dbRemote: DBRemote) { | ||
const assetFolder = path.join('node_modules', node_package, 'asset') | ||
if (!fs.existsSync(assetFolder) || !fs.statSync(assetFolder).isDirectory()) { | ||
return | ||
} | ||
console.log() | ||
console.log('delete assets from server ...') | ||
await browseFolder(assetFolder, async (filePath: string) => { | ||
const route = '/' + path.relative(assetFolder, filePath) | ||
const dbAsset = await dbManager.dbAssetExist(route) | ||
if (!dbAsset) { | ||
logger.info('asset ' + route + ' not found') | ||
return | ||
} | ||
await dbManager.dbAssetDelete(dbAsset) | ||
logger.info('asset ' + route + ' deleted') | ||
}) | ||
console.log(green('*') + ' delete assets from server') | ||
} | ||
/** | ||
* browseFolder | ||
* @param folder | ||
* @param treatment | ||
*/ | ||
async function browseFolder(folder: string, treatment: (filePath: string) => Promise<void>) { | ||
const files = fs.readdirSync(folder) | ||
for(let ind = 0; ind < files.length; ind++) { | ||
const file = files[ind] | ||
const pathName = folder + '/' + file | ||
if (fs.statSync(pathName).isDirectory()) { | ||
await browseFolder(pathName, treatment) | ||
} | ||
else { | ||
await treatment(pathName) | ||
} | ||
} | ||
} | ||
/** | ||
* function deletePackageModules | ||
@@ -94,0 +145,0 @@ * @param node_package |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
402862
6591