UNPKG

@danielkalen/simplybind

Version:

Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.

28 lines (21 loc) 1.37 kB
Promise = require 'bluebird' fs = Promise.promisifyAll require 'fs-extra' path = require 'path' srcDir = "#{__dirname}/src" distDir = "#{__dirname}/dist" parseVersion = (versionString)-> [versionString, parseFloat(versionString.replace /\./g, '')] newestVersion = parseVersion require('../package.json').version fs.readdirAsync(srcDir).then (files)-> dirs = files.filter (file)-> fs.statSync("#{srcDir}/#{file}").isDirectory() and path.basename(file).toLowerCase().includes 'simplybind' versions = dirs.map (dir)-> parseVersion dir.split('@')[1] latestVersion = Math.max.apply null, versions.map (version)-> version[1] latestVersion = versions.find (version)-> version[1] is latestVersion unless newestVersion[1] is latestVersion[1] fs.copyAsync("#{srcDir}/SimplyBind@#{latestVersion[0]}", "#{srcDir}/SimplyBind@#{newestVersion[0]}").then ()-> fs.readFileAsync("#{srcDir}/SimplyBind@#{newestVersion[0]}/deps.json").then (deps)-> deps = JSON.parse deps newDeps = deps.slice().map (dep)-> dep.replace latestVersion[0], newestVersion[0] fs.outputFileAsync("#{srcDir}/SimplyBind@#{newestVersion[0]}/deps.json", JSON.stringify newDeps).then ()-> newAssetsDir = "#{distDir}/bower_components/simplybind/#{newestVersion[0]}" assetsSourceDir = path.resolve "#{__dirname}", '../dist' fs.copyAsync(assetsSourceDir, newAssetsDir)