UNPKG

invision-dsm-style-renderer

Version:

add your url endpoints from invision DSM and the script will create your stylesheets locally

50 lines (38 loc) 1.1 kB
// import rp from 'request-promise' // import fs from 'fs' const fs = require('fs') const rp = require('request-promise') const request = require('request') const invisionData = require('../../designtokens.config.js') const Zip = require('adm-zip'); renderStyles = async (dataArray) => { try{ await dataArray.map(async data => { if(data.location === 'icons.zip'){ await request(data.url).pipe(fs.createWriteStream(data.location)).on('close', function () { renderIcons() }); } let e = await rp(data.url) let options = {encoding: 'UTF8'}; let writeStream = fs.createWriteStream(data.location, options); writeStream.write(String(e)) writeStream.on('finish', () => { }) }) }catch(e){ console.log(e) } } renderIcons = async () => { try{ let zip = new Zip("icons.zip"); // get all entries and iterate them zip.getEntries().forEach(function() { zip.extractAllTo("./icons", true) }) }catch(e){ console.log('the zip file came back bad please run again', e) } } renderStyles(invisionData)