| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | const stats='';// Merges webpack.common config with this production configconst fs = require('fs');const glob = require('glob');var getDirectories = function (src, callback) {glob(src + '/**/*.gz', callback);};getDirectories('./webpack/', function (err, list) {if (err) {    console.log('Error', err);} else {    const regex = /^(.*\/)([^\/]*)$/    const relativeRegex = /(\w+\/[^\/]*)$/    const makePathRegex = /([^\.].*)$/    let exportDefHead=    '/***********************************\n'+    'webpack_headers\n'+    stats+'\n'+    '***********************************/\n'+    '#pragma once\n'+    '#include <inttypes.h>\n'+    'extern const char * resource_lookups[];\n'+    'extern const uint8_t * resource_map_start[];\n'+    'extern const uint8_t * resource_map_end[];\n';    let exportDef=  '// Automatically generated. Do not edit manually!.\n'+                    '#include <inttypes.h>\n';    let lookupDef='const char * resource_lookups[] = {\n';    let lookupMapStart='const uint8_t * resource_map_start[] = {\n';    let lookupMapEnd='const uint8_t * resource_map_end[] = {\n';    let cMake='';    list.forEach(fileName=>{        console.log(fileName);            let exportName=fileName.match(regex)[2].replace(/[\. \-]/gm,'_');            let relativeName=fileName.match(relativeRegex)[1];            exportDef+=	'extern const uint8_t '+exportName+'_start[] asm("_binary_'+exportName+'_start");\n'+                    'extern const uint8_t '+exportName+'_end[] asm("_binary_'+exportName+'_end");\n';            lookupDef+='\t"/'+relativeName+'",\n';            lookupMapStart+='\t'+ exportName+'_start,\n';            lookupMapEnd+= '\t'+ exportName+'_end,\n';            cMake+='target_add_binary_data( __idf_wifi-manager ./webapp'+fileName.match(makePathRegex)[1]+' BINARY)\n';                });    lookupDef+='""\n};\n';    lookupMapStart=lookupMapStart.substring(0,lookupMapStart.length-2)+'\n};\n';    lookupMapEnd=lookupMapEnd.substring(0,lookupMapEnd.length-2)+'\n};\n';    try {        fs.writeFileSync('webapp.cmake', cMake);        fs.writeFileSync('webpack.c', exportDef+lookupDef+lookupMapStart+lookupMapEnd);        fs.writeFileSync('webpack.h', exportDefHead);        //file written successfully        } catch (err) {        console.error(err);        }        }});                
 |