blob: affa962a7be40c85954b28d25b11939bd22b5cc8 [file] [log] [blame]
// Compiled by ClojureScript 1.10.597 {:target :nodejs}
goog.provide('npm_force_resolutions.core');
goog.require('cljs.core');
goog.require('cljs.nodejs');
goog.require('cljs_http.client');
goog.require('cljs.core.async');
goog.require('clojure.string');
goog.require('cognitect.transit');
npm_force_resolutions.core.node$module$xmlhttprequest = require('xmlhttprequest');
npm_force_resolutions.core.node$module$child_process = require('child_process');
(XMLHttpRequest = npm_force_resolutions.core.node$module$xmlhttprequest.XMLHttpRequest);
npm_force_resolutions.core.node_slurp = (function npm_force_resolutions$core$node_slurp(path){
var fs = cljs.nodejs.require.call(null,"fs");
return fs.readFileSync(path,"utf8");
});
npm_force_resolutions.core.node_spit = (function npm_force_resolutions$core$node_spit(path,data){
var fs = cljs.nodejs.require.call(null,"fs");
return fs.writeFileSync(path,data);
});
npm_force_resolutions.core.read_json = (function npm_force_resolutions$core$read_json(path){
return cognitect.transit.read.call(null,cognitect.transit.reader.call(null,new cljs.core.Keyword(null,"json","json",1279968570)),clojure.string.replace.call(null,npm_force_resolutions.core.node_slurp.call(null,path),/\^/,"\\\\^"));
});
npm_force_resolutions.core.build_dependency_from_dist = (function npm_force_resolutions$core$build_dependency_from_dist(version,dist){
var tarball = cljs.core.get.call(null,dist,new cljs.core.Keyword(null,"tarball","tarball",697016887));
var integrity = cljs.core.get.call(null,dist,new cljs.core.Keyword(null,"integrity","integrity",-562947111));
var shasum = cljs.core.get.call(null,dist,new cljs.core.Keyword(null,"shasum","shasum",-2133358208));
if(cljs.core.truth_(integrity)){
return new cljs.core.PersistentArrayMap(null, 3, ["version",version,"resolved",tarball,"integrity",integrity], null);
} else {
if(cljs.core.truth_(shasum)){
return new cljs.core.PersistentArrayMap(null, 3, ["version",version,"resolved",tarball,"integrity",["sha1-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Buffer.from(shasum,"hex").toString("base64"))].join('')], null);
} else {
return new cljs.core.PersistentArrayMap(null, 1, ["version",version], null);
}
}
});
npm_force_resolutions.core.fetch_resolved_resolution = (function npm_force_resolutions$core$fetch_resolved_resolution(registry_url,key,version){
if(cljs.core.truth_(cljs.core.re_find.call(null,/^\d/,version))){
var c__7247__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__7248__auto__ = (function (){var switch__7230__auto__ = (function (state_8796){
var state_val_8797 = (state_8796[(1)]);
if((state_val_8797 === (1))){
var inst_8783 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(registry_url),cljs.core.str.cljs$core$IFn$_invoke$arity$1(key),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(version)].join('');
var inst_8784 = cljs_http.client.get.call(null,inst_8783);
var state_8796__$1 = state_8796;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_8796__$1,(2),inst_8784);
} else {
if((state_val_8797 === (2))){
var inst_8786 = (state_8796[(2)]);
var inst_8787 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_8788 = [new cljs.core.Keyword(null,"body","body",-2049205669),new cljs.core.Keyword(null,"dist","dist",-1401837144)];
var inst_8789 = (new cljs.core.PersistentVector(null,2,(5),inst_8787,inst_8788,null));
var inst_8790 = cljs.core.get_in.call(null,inst_8786,inst_8789);
var inst_8791 = [key];
var inst_8792 = npm_force_resolutions.core.build_dependency_from_dist.call(null,version,inst_8790);
var inst_8793 = [inst_8792];
var inst_8794 = cljs.core.PersistentHashMap.fromArrays(inst_8791,inst_8793);
var state_8796__$1 = state_8796;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_8796__$1,inst_8794);
} else {
return null;
}
}
});
return (function() {
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__ = null;
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____0 = (function (){
var statearr_8798 = [null,null,null,null,null,null,null];
(statearr_8798[(0)] = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__);
(statearr_8798[(1)] = (1));
return statearr_8798;
});
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____1 = (function (state_8796){
while(true){
var ret_value__7232__auto__ = (function (){try{while(true){
var result__7233__auto__ = switch__7230__auto__.call(null,state_8796);
if(cljs.core.keyword_identical_QMARK_.call(null,result__7233__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__7233__auto__;
}
break;
}
}catch (e8799){if((e8799 instanceof Object)){
var ex__7234__auto__ = e8799;
var statearr_8800_8802 = state_8796;
(statearr_8800_8802[(5)] = ex__7234__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_8796);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e8799;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__7232__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__8803 = state_8796;
state_8796 = G__8803;
continue;
} else {
return ret_value__7232__auto__;
}
break;
}
});
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__ = function(state_8796){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____0.call(this);
case 1:
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____1.call(this,state_8796);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____0;
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto____1;
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__7231__auto__;
})()
})();
var state__7249__auto__ = (function (){var statearr_8801 = f__7248__auto__.call(null);
(statearr_8801[(6)] = c__7247__auto__);
return statearr_8801;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__7249__auto__);
}));
return c__7247__auto__;
} else {
return cljs.core.PersistentArrayMap.createAsIfByAssoc([key,npm_force_resolutions.core.build_dependency_from_dist.call(null,version,cljs.core.PersistentArrayMap.EMPTY)]);
}
});
npm_force_resolutions.core.wait_all = (function npm_force_resolutions$core$wait_all(callbacks){
var c__7247__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__7248__auto__ = (function (){var switch__7230__auto__ = (function (state_8822){
var state_val_8823 = (state_8822[(1)]);
if((state_val_8823 === (1))){
var inst_8804 = cljs.core.async.merge.call(null,callbacks);
var inst_8805 = cljs.core.PersistentHashMap.EMPTY;
var inst_8806 = inst_8805;
var state_8822__$1 = (function (){var statearr_8824 = state_8822;
(statearr_8824[(7)] = inst_8806);
(statearr_8824[(8)] = inst_8804);
return statearr_8824;
})();
var statearr_8825_8836 = state_8822__$1;
(statearr_8825_8836[(2)] = null);
(statearr_8825_8836[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8823 === (2))){
var inst_8806 = (state_8822[(7)]);
var inst_8808 = cljs.core.count.call(null,inst_8806);
var inst_8809 = cljs.core.count.call(null,callbacks);
var inst_8810 = cljs.core._EQ_.call(null,inst_8808,inst_8809);
var state_8822__$1 = state_8822;
if(inst_8810){
var statearr_8826_8837 = state_8822__$1;
(statearr_8826_8837[(1)] = (4));
} else {
var statearr_8827_8838 = state_8822__$1;
(statearr_8827_8838[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8823 === (3))){
var inst_8820 = (state_8822[(2)]);
var state_8822__$1 = state_8822;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_8822__$1,inst_8820);
} else {
if((state_val_8823 === (4))){
var inst_8806 = (state_8822[(7)]);
var state_8822__$1 = state_8822;
var statearr_8828_8839 = state_8822__$1;
(statearr_8828_8839[(2)] = inst_8806);
(statearr_8828_8839[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8823 === (5))){
var inst_8804 = (state_8822[(8)]);
var state_8822__$1 = state_8822;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_8822__$1,(7),inst_8804);
} else {
if((state_val_8823 === (6))){
var inst_8818 = (state_8822[(2)]);
var state_8822__$1 = state_8822;
var statearr_8829_8840 = state_8822__$1;
(statearr_8829_8840[(2)] = inst_8818);
(statearr_8829_8840[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8823 === (7))){
var inst_8806 = (state_8822[(7)]);
var inst_8814 = (state_8822[(2)]);
var inst_8815 = cljs.core.merge.call(null,inst_8806,inst_8814);
var inst_8806__$1 = inst_8815;
var state_8822__$1 = (function (){var statearr_8830 = state_8822;
(statearr_8830[(7)] = inst_8806__$1);
return statearr_8830;
})();
var statearr_8831_8841 = state_8822__$1;
(statearr_8831_8841[(2)] = null);
(statearr_8831_8841[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__ = null;
var npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____0 = (function (){
var statearr_8832 = [null,null,null,null,null,null,null,null,null];
(statearr_8832[(0)] = npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__);
(statearr_8832[(1)] = (1));
return statearr_8832;
});
var npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____1 = (function (state_8822){
while(true){
var ret_value__7232__auto__ = (function (){try{while(true){
var result__7233__auto__ = switch__7230__auto__.call(null,state_8822);
if(cljs.core.keyword_identical_QMARK_.call(null,result__7233__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__7233__auto__;
}
break;
}
}catch (e8833){if((e8833 instanceof Object)){
var ex__7234__auto__ = e8833;
var statearr_8834_8842 = state_8822;
(statearr_8834_8842[(5)] = ex__7234__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_8822);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e8833;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__7232__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__8843 = state_8822;
state_8822 = G__8843;
continue;
} else {
return ret_value__7232__auto__;
}
break;
}
});
npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__ = function(state_8822){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____0.call(this);
case 1:
return npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____1.call(this,state_8822);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____0;
npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$wait_all_$_state_machine__7231__auto____1;
return npm_force_resolutions$core$wait_all_$_state_machine__7231__auto__;
})()
})();
var state__7249__auto__ = (function (){var statearr_8835 = f__7248__auto__.call(null);
(statearr_8835[(6)] = c__7247__auto__);
return statearr_8835;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__7249__auto__);
}));
return c__7247__auto__;
});
npm_force_resolutions.core.get_registry_url = (function npm_force_resolutions$core$get_registry_url(){
return npm_force_resolutions.core.node$module$child_process.execSync("npm config get registry").toString().trim();
});
npm_force_resolutions.core.find_resolutions = (function npm_force_resolutions$core$find_resolutions(folder){
var c__7247__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__7248__auto__ = (function (){var switch__7230__auto__ = (function (state_8871){
var state_val_8872 = (state_8871[(1)]);
if((state_val_8872 === (1))){
var inst_8847 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(folder),"/package.json"].join('');
var inst_8848 = npm_force_resolutions.core.read_json.call(null,inst_8847);
var inst_8849 = cljs.core.get.call(null,inst_8848,"resolutions");
var inst_8850 = npm_force_resolutions.core.get_registry_url.call(null);
var inst_8852 = (function (){var package_json = inst_8848;
var resolutions = inst_8849;
var registry_url = inst_8850;
return (function (p__8851){
var vec__8873 = p__8851;
var k = cljs.core.nth.call(null,vec__8873,(0),null);
var v = cljs.core.nth.call(null,vec__8873,(1),null);
return npm_force_resolutions.core.fetch_resolved_resolution.call(null,registry_url,k,v);
});
})();
var inst_8853 = cljs.core.seq.call(null,inst_8849);
var inst_8854 = cljs.core.map.call(null,inst_8852,inst_8853);
var inst_8855 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_8856 = npm_force_resolutions.core.wait_all.call(null,inst_8854);
var inst_8857 = cljs.core.async.timeout.call(null,(8000));
var inst_8858 = [inst_8856,inst_8857];
var inst_8859 = (new cljs.core.PersistentVector(null,2,(5),inst_8855,inst_8858,null));
var state_8871__$1 = state_8871;
return cljs.core.async.ioc_alts_BANG_.call(null,state_8871__$1,(2),inst_8859);
} else {
if((state_val_8872 === (2))){
var inst_8862 = (state_8871[(7)]);
var inst_8861 = (state_8871[(2)]);
var inst_8862__$1 = cljs.core.nth.call(null,inst_8861,(0),null);
var inst_8863 = cljs.core.nth.call(null,inst_8861,(1),null);
var state_8871__$1 = (function (){var statearr_8876 = state_8871;
(statearr_8876[(8)] = inst_8863);
(statearr_8876[(7)] = inst_8862__$1);
return statearr_8876;
})();
if(cljs.core.truth_(inst_8862__$1)){
var statearr_8877_8885 = state_8871__$1;
(statearr_8877_8885[(1)] = (3));
} else {
var statearr_8878_8886 = state_8871__$1;
(statearr_8878_8886[(1)] = (4));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8872 === (3))){
var inst_8862 = (state_8871[(7)]);
var state_8871__$1 = state_8871;
var statearr_8879_8887 = state_8871__$1;
(statearr_8879_8887[(2)] = inst_8862);
(statearr_8879_8887[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8872 === (4))){
var inst_8866 = (new Error("Timeout trying to fetch resolutions from npm"));
var inst_8867 = (function(){throw inst_8866})();
var state_8871__$1 = state_8871;
var statearr_8880_8888 = state_8871__$1;
(statearr_8880_8888[(2)] = inst_8867);
(statearr_8880_8888[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8872 === (5))){
var inst_8869 = (state_8871[(2)]);
var state_8871__$1 = state_8871;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_8871__$1,inst_8869);
} else {
return null;
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__ = null;
var npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____0 = (function (){
var statearr_8881 = [null,null,null,null,null,null,null,null,null];
(statearr_8881[(0)] = npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__);
(statearr_8881[(1)] = (1));
return statearr_8881;
});
var npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____1 = (function (state_8871){
while(true){
var ret_value__7232__auto__ = (function (){try{while(true){
var result__7233__auto__ = switch__7230__auto__.call(null,state_8871);
if(cljs.core.keyword_identical_QMARK_.call(null,result__7233__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__7233__auto__;
}
break;
}
}catch (e8882){if((e8882 instanceof Object)){
var ex__7234__auto__ = e8882;
var statearr_8883_8889 = state_8871;
(statearr_8883_8889[(5)] = ex__7234__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_8871);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e8882;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__7232__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__8890 = state_8871;
state_8871 = G__8890;
continue;
} else {
return ret_value__7232__auto__;
}
break;
}
});
npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__ = function(state_8871){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____0.call(this);
case 1:
return npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____1.call(this,state_8871);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____0;
npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto____1;
return npm_force_resolutions$core$find_resolutions_$_state_machine__7231__auto__;
})()
})();
var state__7249__auto__ = (function (){var statearr_8884 = f__7248__auto__.call(null);
(statearr_8884[(6)] = c__7247__auto__);
return statearr_8884;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__7249__auto__);
}));
return c__7247__auto__;
});
npm_force_resolutions.core.map_vals = (function npm_force_resolutions$core$map_vals(f,m){
return cljs.core.apply.call(null,cljs.core.merge,cljs.core.map.call(null,(function (p__8891){
var vec__8892 = p__8891;
var k = cljs.core.nth.call(null,vec__8892,(0),null);
var v = cljs.core.nth.call(null,vec__8892,(1),null);
return cljs.core.PersistentArrayMap.createAsIfByAssoc([k,f.call(null,k,v)]);
}),m));
});
npm_force_resolutions.core.update_on_requires = (function npm_force_resolutions$core$update_on_requires(resolutions,dependency){
return cljs.core.update.call(null,dependency,"requires",(function (requires){
return npm_force_resolutions.core.map_vals.call(null,(function (p1__8895_SHARP_,p2__8896_SHARP_){
return (function (key,version){
if(cljs.core.contains_QMARK_.call(null,resolutions,key)){
return cljs.core.get_in.call(null,resolutions,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [key,"version"], null));
} else {
return version;
}
}).call(null,p1__8895_SHARP_,p2__8896_SHARP_);
}),requires);
}));
});
npm_force_resolutions.core.add_dependencies = (function npm_force_resolutions$core$add_dependencies(resolutions,dependency){
var required_dependencies = cljs.core.keys.call(null,cljs.core.get.call(null,dependency,"requires"));
var new_deps = cljs.core.select_keys.call(null,resolutions,required_dependencies);
var dependencies = cljs.core.merge.call(null,new_deps,cljs.core.get.call(null,dependency,"dependencies",cljs.core.PersistentArrayMap.EMPTY));
return cljs.core.merge.call(null,dependency,new cljs.core.PersistentArrayMap(null, 1, ["dependencies",dependencies], null));
});
npm_force_resolutions.core.fix_existing_dependency = (function npm_force_resolutions$core$fix_existing_dependency(resolutions,key,dependency){
if(cljs.core.contains_QMARK_.call(null,resolutions,key)){
var fixed_dep = cljs.core.conj.call(null,cljs.core.dissoc.call(null,dependency,"version","resolved","integrity","bundled"),cljs.core.get.call(null,resolutions,key));
return cljs.core.into.call(null,cljs.core.sorted_map_by.call(null,(function (p1__8897_SHARP_,p2__8898_SHARP_){
return cljs.core.compare.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,fixed_dep,p1__8897_SHARP_)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,fixed_dep,p2__8898_SHARP_)));
})),fixed_dep);
} else {
return dependency;
}
});
npm_force_resolutions.core.order_map = (function npm_force_resolutions$core$order_map(target){
return cljs.core.into.call(null,cljs.core.sorted_map_by.call(null,(function (key1,key2){
return cljs.core.compare.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [key1], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [key2], null));
})),target);
});
npm_force_resolutions.core.sort_or_remove_map = (function npm_force_resolutions$core$sort_or_remove_map(key,dependency){
if(cljs.core.map_QMARK_.call(null,cljs.core.get.call(null,dependency,key))){
return cljs.core.update.call(null,dependency,key,npm_force_resolutions.core.order_map);
} else {
return cljs.core.dissoc.call(null,dependency,key);
}
});
npm_force_resolutions.core.patch_dependency = (function npm_force_resolutions$core$patch_dependency(resolutions,key,dependency){
if(cljs.core.contains_QMARK_.call(null,dependency,"requires")){
return npm_force_resolutions.core.sort_or_remove_map.call(null,"requires",npm_force_resolutions.core.sort_or_remove_map.call(null,"dependencies",npm_force_resolutions.core.patch_all_dependencies.call(null,resolutions,npm_force_resolutions.core.fix_existing_dependency.call(null,resolutions,key,npm_force_resolutions.core.update_on_requires.call(null,resolutions,npm_force_resolutions.core.add_dependencies.call(null,resolutions,dependency))))));
} else {
return npm_force_resolutions.core.fix_existing_dependency.call(null,resolutions,key,dependency);
}
});
npm_force_resolutions.core.patch_all_dependencies = (function npm_force_resolutions$core$patch_all_dependencies(resolutions,package_lock){
return cljs.core.update.call(null,package_lock,"dependencies",(function (dependencies){
return npm_force_resolutions.core.map_vals.call(null,(function (p1__8899_SHARP_,p2__8900_SHARP_){
return npm_force_resolutions.core.patch_dependency.call(null,resolutions,p1__8899_SHARP_,p2__8900_SHARP_);
}),dependencies);
}));
});
npm_force_resolutions.core.update_package_lock = (function npm_force_resolutions$core$update_package_lock(folder){
var c__7247__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__7248__auto__ = (function (){var switch__7230__auto__ = (function (state_8909){
var state_val_8910 = (state_8909[(1)]);
if((state_val_8910 === (1))){
var inst_8901 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(folder),"/package-lock.json"].join('');
var inst_8902 = npm_force_resolutions.core.read_json.call(null,inst_8901);
var inst_8903 = npm_force_resolutions.core.find_resolutions.call(null,folder);
var state_8909__$1 = (function (){var statearr_8911 = state_8909;
(statearr_8911[(7)] = inst_8902);
return statearr_8911;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_8909__$1,(2),inst_8903);
} else {
if((state_val_8910 === (2))){
var inst_8902 = (state_8909[(7)]);
var inst_8905 = (state_8909[(2)]);
var inst_8906 = npm_force_resolutions.core.patch_all_dependencies.call(null,inst_8905,inst_8902);
var inst_8907 = npm_force_resolutions.core.sort_or_remove_map.call(null,"dependencies",inst_8906);
var state_8909__$1 = state_8909;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_8909__$1,inst_8907);
} else {
return null;
}
}
});
return (function() {
var npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__ = null;
var npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____0 = (function (){
var statearr_8912 = [null,null,null,null,null,null,null,null];
(statearr_8912[(0)] = npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__);
(statearr_8912[(1)] = (1));
return statearr_8912;
});
var npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____1 = (function (state_8909){
while(true){
var ret_value__7232__auto__ = (function (){try{while(true){
var result__7233__auto__ = switch__7230__auto__.call(null,state_8909);
if(cljs.core.keyword_identical_QMARK_.call(null,result__7233__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__7233__auto__;
}
break;
}
}catch (e8913){if((e8913 instanceof Object)){
var ex__7234__auto__ = e8913;
var statearr_8914_8916 = state_8909;
(statearr_8914_8916[(5)] = ex__7234__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_8909);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e8913;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__7232__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__8917 = state_8909;
state_8909 = G__8917;
continue;
} else {
return ret_value__7232__auto__;
}
break;
}
});
npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__ = function(state_8909){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____0.call(this);
case 1:
return npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____1.call(this,state_8909);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____0;
npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto____1;
return npm_force_resolutions$core$update_package_lock_$_state_machine__7231__auto__;
})()
})();
var state__7249__auto__ = (function (){var statearr_8915 = f__7248__auto__.call(null);
(statearr_8915[(6)] = c__7247__auto__);
return statearr_8915;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__7249__auto__);
}));
return c__7247__auto__;
});
npm_force_resolutions.core.indent_json = (function npm_force_resolutions$core$indent_json(json){
var json_format = cljs.nodejs.require.call(null,"json-format");
return clojure.string.replace.call(null,clojure.string.replace.call(null,json_format.call(null,JSON.parse(json),(function (){var obj8919 = ({"type":"space","size":(2)});
return obj8919;
})()),/\\\\\^/,"^"),/ +\n/,"");
});
npm_force_resolutions.core.main = (function npm_force_resolutions$core$main(var_args){
var args__4795__auto__ = [];
var len__4789__auto___8947 = arguments.length;
var i__4790__auto___8948 = (0);
while(true){
if((i__4790__auto___8948 < len__4789__auto___8947)){
args__4795__auto__.push((arguments[i__4790__auto___8948]));
var G__8949 = (i__4790__auto___8948 + (1));
i__4790__auto___8948 = G__8949;
continue;
} else {
}
break;
}
var argseq__4796__auto__ = ((((0) < args__4795__auto__.length))?(new cljs.core.IndexedSeq(args__4795__auto__.slice((0)),(0),null)):null);
return npm_force_resolutions.core.main.cljs$core$IFn$_invoke$arity$variadic(argseq__4796__auto__);
});
(npm_force_resolutions.core.main.cljs$core$IFn$_invoke$arity$variadic = (function (args){
var c__7247__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__7248__auto__ = (function (){var switch__7230__auto__ = (function (state_8935){
var state_val_8936 = (state_8935[(1)]);
if((state_val_8936 === (1))){
var inst_8921 = (state_8935[(7)]);
var inst_8921__$1 = cljs.core.first.call(null,args);
var state_8935__$1 = (function (){var statearr_8937 = state_8935;
(statearr_8937[(7)] = inst_8921__$1);
return statearr_8937;
})();
if(cljs.core.truth_(inst_8921__$1)){
var statearr_8938_8950 = state_8935__$1;
(statearr_8938_8950[(1)] = (2));
} else {
var statearr_8939_8951 = state_8935__$1;
(statearr_8939_8951[(1)] = (3));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8936 === (2))){
var inst_8921 = (state_8935[(7)]);
var state_8935__$1 = state_8935;
var statearr_8940_8952 = state_8935__$1;
(statearr_8940_8952[(2)] = inst_8921);
(statearr_8940_8952[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8936 === (3))){
var state_8935__$1 = state_8935;
var statearr_8941_8953 = state_8935__$1;
(statearr_8941_8953[(2)] = ".");
(statearr_8941_8953[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_8936 === (4))){
var inst_8925 = (state_8935[(8)]);
var inst_8925__$1 = (state_8935[(2)]);
var inst_8926 = npm_force_resolutions.core.update_package_lock.call(null,inst_8925__$1);
var state_8935__$1 = (function (){var statearr_8942 = state_8935;
(statearr_8942[(8)] = inst_8925__$1);
return statearr_8942;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_8935__$1,(5),inst_8926);
} else {
if((state_val_8936 === (5))){
var inst_8925 = (state_8935[(8)]);
var inst_8928 = (state_8935[(2)]);
var inst_8929 = cognitect.transit.writer.call(null,new cljs.core.Keyword(null,"json-verbose","json-verbose",-542533531));
var inst_8930 = cognitect.transit.write.call(null,inst_8929,inst_8928);
var inst_8931 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(inst_8925),"/package-lock.json"].join('');
var inst_8932 = npm_force_resolutions.core.indent_json.call(null,inst_8930);
var inst_8933 = npm_force_resolutions.core.node_spit.call(null,inst_8931,inst_8932);
var state_8935__$1 = state_8935;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_8935__$1,inst_8933);
} else {
return null;
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$state_machine__7231__auto__ = null;
var npm_force_resolutions$core$state_machine__7231__auto____0 = (function (){
var statearr_8943 = [null,null,null,null,null,null,null,null,null];
(statearr_8943[(0)] = npm_force_resolutions$core$state_machine__7231__auto__);
(statearr_8943[(1)] = (1));
return statearr_8943;
});
var npm_force_resolutions$core$state_machine__7231__auto____1 = (function (state_8935){
while(true){
var ret_value__7232__auto__ = (function (){try{while(true){
var result__7233__auto__ = switch__7230__auto__.call(null,state_8935);
if(cljs.core.keyword_identical_QMARK_.call(null,result__7233__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__7233__auto__;
}
break;
}
}catch (e8944){if((e8944 instanceof Object)){
var ex__7234__auto__ = e8944;
var statearr_8945_8954 = state_8935;
(statearr_8945_8954[(5)] = ex__7234__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_8935);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e8944;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__7232__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__8955 = state_8935;
state_8935 = G__8955;
continue;
} else {
return ret_value__7232__auto__;
}
break;
}
});
npm_force_resolutions$core$state_machine__7231__auto__ = function(state_8935){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$state_machine__7231__auto____0.call(this);
case 1:
return npm_force_resolutions$core$state_machine__7231__auto____1.call(this,state_8935);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$state_machine__7231__auto____0;
npm_force_resolutions$core$state_machine__7231__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$state_machine__7231__auto____1;
return npm_force_resolutions$core$state_machine__7231__auto__;
})()
})();
var state__7249__auto__ = (function (){var statearr_8946 = f__7248__auto__.call(null);
(statearr_8946[(6)] = c__7247__auto__);
return statearr_8946;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__7249__auto__);
}));
return c__7247__auto__;
}));
(npm_force_resolutions.core.main.cljs$lang$maxFixedArity = (0));
/** @this {Function} */
(npm_force_resolutions.core.main.cljs$lang$applyTo = (function (seq8920){
var self__4777__auto__ = this;
return self__4777__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq8920));
}));
(cljs.core._STAR_main_cli_fn_STAR_ = npm_force_resolutions.core.main);
//# sourceMappingURL=core.js.map