MCPcopy Create free account
hub / github.com/alibaba/butterfly / exportCode

Function exportCode

example/pages/code-box/coms/export-code/index.js:31–61  ·  view source on GitHub ↗
(codes)

Source from the content-addressed store, hash-verified

29 * - filename {String} 每个文件的文件名
30 */
31const exportCode = async (codes) => {
32 const zip = new JSZip();
33 const src = zip.folder('src');
34
35 for (let file of codes) {
36 src.file(file.filename, file.code);
37 }
38
39 for (let file of defaultFiles) {
40 zip.file(file.filename, file.code);
41 }
42
43
44 let finalPkg = pkg;
45 let userPkg = codes.find(code => code.filename === 'package.json');
46
47 // 合并依赖,所有的package.json 单独处理
48 if (userPkg) {
49 userPkg = JSON.parse(userPkg.code);
50 finalPkg = _.merge({}, finalPkg, userPkg);
51 }
52
53 zip.file('package.json', JSON.stringify(finalPkg, null, 2));
54
55 const content = await zip.generateAsync({type: 'blob'});
56
57 download.downloadBlob(
58 'demo.zip',
59 content
60 );
61};
62
63export default exportCode;

Callers 1

EditorFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected