mirror of
				https://github.com/qist/tvbox.git
				synced 2025-10-31 04:02:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import fs from 'node:fs';
 | |
| import path from 'path';
 | |
| import uglifyjs from 'uglify-js';
 | |
| 
 | |
| const copySpider = ['app', 'kunyu77_open', 'alist_open'];
 | |
| 
 | |
| const root = process.cwd();
 | |
| 
 | |
| const src = path.join(root);
 | |
| const out = path.join(root, 'dist');
 | |
| 
 | |
| function minify(s, d) {
 | |
|     var jsContent = fs.readFileSync(s).toString();
 | |
|     jsContent = jsContent.replace('./lib/cat.js', 'assets://js/lib/cat.js');
 | |
|     jsContent = jsContent.replace('./cat.js', 'assets://js/lib/cat.js');
 | |
|     jsContent = uglifyjs.minify(jsContent, {
 | |
|         mangle: false,
 | |
|     });
 | |
|     fs.writeFileSync(d, jsContent.code);
 | |
| }
 | |
| 
 | |
| function listAllFiles(dirPath, arrayOfFiles) {
 | |
|     var files = fs.readdirSync(dirPath);
 | |
| 
 | |
|     arrayOfFiles = arrayOfFiles || [];
 | |
| 
 | |
|     files.forEach(function (file) {
 | |
|         if (fs.statSync(dirPath + '/' + file).isDirectory()) {
 | |
|             arrayOfFiles = listAllFiles(dirPath + '/' + file, arrayOfFiles);
 | |
|         } else {
 | |
|             arrayOfFiles.push(path.join(dirPath, '/', file));
 | |
|         }
 | |
|     });
 | |
| 
 | |
|     return arrayOfFiles;
 | |
| }
 | |
| 
 | |
| function src2Out() {
 | |
|     if (fs.existsSync(out)) fs.rmSync(out, { recursive: true, force: true });
 | |
| 
 | |
|     fs.mkdirSync(out, { recursive: true });
 | |
|     const libSrc = path.join(src, 'lib');
 | |
|     const libOut = path.join(out, 'lib');
 | |
|     fs.mkdirSync(libOut, { recursive: true });
 | |
|     const libs = listAllFiles(libSrc);
 | |
|     for (let index = 0; index < libs.length; index++) {
 | |
|         const element = libs[index];
 | |
|         const relative = path.relative(libSrc, element);
 | |
|         minify(element, path.join(libOut, relative));
 | |
|     }
 | |
| 
 | |
|     for (const sp of copySpider) {
 | |
|         minify(path.join(src, sp + '.js'), path.join(out, sp + '.js'));
 | |
|     }
 | |
| }
 | |
| 
 | |
| src2Out();
 | |
| 
 | |
| fs.copyFileSync(path.join(src, 'config_open.json'), path.join(out, 'config_open.json'));
 | |
| 
 | |
| console.log('done');
 |