MCPcopy Create free account
hub / github.com/bajrangCoder/acode-plugin-packageAdder / addThroughDownload

Method addThroughDownload

src/main.js:353–387  ·  view source on GitHub ↗
(filesArray)

Source from the content-addressed store, hash-verified

351 }
352
353 async addThroughDownload(filesArray){
354 let { activeFile } = editorManager;
355 let { location } = activeFile;
356 let folderNme = 'modules';
357 let importScript = '';
358
359 if(!(await fsOperation(location+folderNme).exists())){
360 await fsOperation(location).createDirectory(folderNme);
361 }
362
363 for (let i=0;i<filesArray.length;i++) {
364 let url = `https://cdnjs.cloudflare.com/ajax/libs/${this.libName.textContent}/${this.versionSelector.value}/${filesArray[i]}`;
365 let fileData = await this.loadFileContent(url);
366 let filename = filesArray[i].split('.');
367 let fileType = filename.slice(-1)[0];
368 let newFileNme = filesArray[i].replace(/^(js|css|esm|cjs|umd|font|iconfont)\//, "");
369 let freshFileName = newFileNme.replace(/\//g, '-');
370 if(!(await fsOperation(`${location}${folderNme}/${freshFileName}`).exists())){
371 loader.create('Downloading',`Downloading selected files of library...\nFile: ${freshFileName}`);
372 await fsOperation(`${location}${folderNme}/`).createFile(freshFileName,fileData);
373 switch (fileType) {
374 case 'js':
375 importScript += `<script src="/${folderNme}/${freshFileName}"></script>\n`;
376 break;
377 case 'css':
378 importScript += `<link rel="stylesheet" href="/${folderNme}/${freshFileName}" />\n`;
379 break;
380 }
381 editorManager.editor.insert(importScript);
382 loader.destroy();
383 window.toast('Success',4000);
384 }
385 //window.toast(`${freshFileName} - is already downloaded in your project folder`,3000)
386 }
387 }
388
389 async addLibrary(){
390 const addLibTypeSelector = await select('Select Type', ["Api","Download Files"], {default: "Api",});

Callers 1

addLibraryMethod · 0.95

Calls 2

loadFileContentMethod · 0.95
destroyMethod · 0.80

Tested by

no test coverage detected