appdate

0.1.0 • Public • Published

appdate

version controlled app update with rollback for app users

function start (application) {
  // - @TODO: use levelDB in application
  //   - make BUNDLE.js grab content of BUNDLE.css from github api
  //   - do the same with ASSETS
  debugger;
  // put script into page!
}
if (process.env.NODE_ENV === 'production') {
  // @TODO: use pipeline to CLEAR unused paths!
  console.log('IN PRODUCTION MODE!');
  var v=process.env.npm_package_version;
  var a=localStorage.getItem(location.href+v);
  // @TODO:
  // - cache bootload index.html permanently
  // - ask for versions.json OR ETag to see if there is an update (github)
  // - if fail: load latest version from cache (no new version or OFFLINE)
  // - if success: load latest version, cache (bundle&ETag/version) and load
  // - maybe store many versions AND allow switching to old versions
  if(a){start(a);}else{
    var f='BUNDLE/bundle.'+v+'.js',x=new XMLHttpRequest();
    x.open('GET',f);x.onload=function(){h(this.response);};x.send();
    function h(d){localStorage.setItem(location.href+v,d);start(d);}
  }
} else if (process.env.NODE_ENV === 'development') { // @TODO: use pipeline to CLEAR unused paths!
  console.log('in development mode');
  var f='BUNDLE/bundle.js';
  var x=new XMLHttpRequest();
  x.open('GET',f);x.onload=function(){h(this.response);};x.send();
  function h(d){start(d);}
}
 

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i appdate

      Weekly Downloads

      2

      Version

      0.1.0

      License

      MIT

      Last publish

      Collaborators

      • serapath