blob: 88ddc39648b0cf428ecffacea5efcae00a3dc14d [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){
var safe_json = clojure.string.replace.call(null,clojure.string.replace.call(null,npm_force_resolutions.core.node_slurp.call(null,path),/\^/,"\\\\^"),/\~/,"\\\\~");
return cognitect.transit.read.call(null,cognitect.transit.reader.call(null,new cljs.core.Keyword(null,"json","json",1279968570)),safe_json);
});
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){
var c__2167__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2168__auto__ = (function (){var switch__2144__auto__ = (function (state_2269){
var state_val_2270 = (state_2269[(1)]);
if((state_val_2270 === (1))){
var inst_2245 = cljs.core.str.cljs$core$IFn$_invoke$arity$1(version);
var inst_2246 = cljs.core.re_find.call(null,/^\d/,inst_2245);
var state_2269__$1 = state_2269;
if(cljs.core.truth_(inst_2246)){
var statearr_2271_2279 = state_2269__$1;
(statearr_2271_2279[(1)] = (2));
} else {
var statearr_2272_2280 = state_2269__$1;
(statearr_2272_2280[(1)] = (3));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2270 === (2))){
var inst_2248 = [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_2249 = cljs_http.client.get.call(null,inst_2248);
var state_2269__$1 = state_2269;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_2269__$1,(5),inst_2249);
} else {
if((state_val_2270 === (3))){
var inst_2261 = [key];
var inst_2262 = cljs.core.PersistentHashMap.EMPTY;
var inst_2263 = npm_force_resolutions.core.build_dependency_from_dist.call(null,version,inst_2262);
var inst_2264 = [inst_2263];
var inst_2265 = cljs.core.PersistentHashMap.fromArrays(inst_2261,inst_2264);
var state_2269__$1 = state_2269;
var statearr_2273_2281 = state_2269__$1;
(statearr_2273_2281[(2)] = inst_2265);
(statearr_2273_2281[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2270 === (4))){
var inst_2267 = (state_2269[(2)]);
var state_2269__$1 = state_2269;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_2269__$1,inst_2267);
} else {
if((state_val_2270 === (5))){
var inst_2251 = (state_2269[(2)]);
var inst_2252 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_2253 = [new cljs.core.Keyword(null,"body","body",-2049205669),new cljs.core.Keyword(null,"dist","dist",-1401837144)];
var inst_2254 = (new cljs.core.PersistentVector(null,2,(5),inst_2252,inst_2253,null));
var inst_2255 = cljs.core.get_in.call(null,inst_2251,inst_2254);
var inst_2256 = [key];
var inst_2257 = npm_force_resolutions.core.build_dependency_from_dist.call(null,version,inst_2255);
var inst_2258 = [inst_2257];
var inst_2259 = cljs.core.PersistentHashMap.fromArrays(inst_2256,inst_2258);
var state_2269__$1 = state_2269;
var statearr_2274_2282 = state_2269__$1;
(statearr_2274_2282[(2)] = inst_2259);
(statearr_2274_2282[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__ = null;
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____0 = (function (){
var statearr_2275 = [null,null,null,null,null,null,null];
(statearr_2275[(0)] = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__);
(statearr_2275[(1)] = (1));
return statearr_2275;
});
var npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____1 = (function (state_2269){
while(true){
var ret_value__2146__auto__ = (function (){try{while(true){
var result__2147__auto__ = switch__2144__auto__.call(null,state_2269);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2147__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2147__auto__;
}
break;
}
}catch (e2276){if((e2276 instanceof Object)){
var ex__2148__auto__ = e2276;
var statearr_2277_2283 = state_2269;
(statearr_2277_2283[(5)] = ex__2148__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_2269);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e2276;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2146__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__2284 = state_2269;
state_2269 = G__2284;
continue;
} else {
return ret_value__2146__auto__;
}
break;
}
});
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__ = function(state_2269){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____0.call(this);
case 1:
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____1.call(this,state_2269);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____0;
npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto____1;
return npm_force_resolutions$core$fetch_resolved_resolution_$_state_machine__2145__auto__;
})()
})();
var state__2169__auto__ = (function (){var statearr_2278 = f__2168__auto__.call(null);
(statearr_2278[(6)] = c__2167__auto__);
return statearr_2278;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2169__auto__);
}));
return c__2167__auto__;
});
npm_force_resolutions.core.wait_all = (function npm_force_resolutions$core$wait_all(callbacks){
var c__2167__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2168__auto__ = (function (){var switch__2144__auto__ = (function (state_2303){
var state_val_2304 = (state_2303[(1)]);
if((state_val_2304 === (1))){
var inst_2285 = cljs.core.async.merge.call(null,callbacks);
var inst_2286 = cljs.core.PersistentHashMap.EMPTY;
var inst_2287 = inst_2286;
var state_2303__$1 = (function (){var statearr_2305 = state_2303;
(statearr_2305[(7)] = inst_2287);
(statearr_2305[(8)] = inst_2285);
return statearr_2305;
})();
var statearr_2306_2317 = state_2303__$1;
(statearr_2306_2317[(2)] = null);
(statearr_2306_2317[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2304 === (2))){
var inst_2287 = (state_2303[(7)]);
var inst_2289 = cljs.core.count.call(null,inst_2287);
var inst_2290 = cljs.core.count.call(null,callbacks);
var inst_2291 = cljs.core._EQ_.call(null,inst_2289,inst_2290);
var state_2303__$1 = state_2303;
if(inst_2291){
var statearr_2307_2318 = state_2303__$1;
(statearr_2307_2318[(1)] = (4));
} else {
var statearr_2308_2319 = state_2303__$1;
(statearr_2308_2319[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2304 === (3))){
var inst_2301 = (state_2303[(2)]);
var state_2303__$1 = state_2303;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_2303__$1,inst_2301);
} else {
if((state_val_2304 === (4))){
var inst_2287 = (state_2303[(7)]);
var state_2303__$1 = state_2303;
var statearr_2309_2320 = state_2303__$1;
(statearr_2309_2320[(2)] = inst_2287);
(statearr_2309_2320[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2304 === (5))){
var inst_2285 = (state_2303[(8)]);
var state_2303__$1 = state_2303;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_2303__$1,(7),inst_2285);
} else {
if((state_val_2304 === (6))){
var inst_2299 = (state_2303[(2)]);
var state_2303__$1 = state_2303;
var statearr_2310_2321 = state_2303__$1;
(statearr_2310_2321[(2)] = inst_2299);
(statearr_2310_2321[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2304 === (7))){
var inst_2287 = (state_2303[(7)]);
var inst_2295 = (state_2303[(2)]);
var inst_2296 = cljs.core.merge.call(null,inst_2287,inst_2295);
var inst_2287__$1 = inst_2296;
var state_2303__$1 = (function (){var statearr_2311 = state_2303;
(statearr_2311[(7)] = inst_2287__$1);
return statearr_2311;
})();
var statearr_2312_2322 = state_2303__$1;
(statearr_2312_2322[(2)] = null);
(statearr_2312_2322[(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__2145__auto__ = null;
var npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____0 = (function (){
var statearr_2313 = [null,null,null,null,null,null,null,null,null];
(statearr_2313[(0)] = npm_force_resolutions$core$wait_all_$_state_machine__2145__auto__);
(statearr_2313[(1)] = (1));
return statearr_2313;
});
var npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____1 = (function (state_2303){
while(true){
var ret_value__2146__auto__ = (function (){try{while(true){
var result__2147__auto__ = switch__2144__auto__.call(null,state_2303);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2147__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2147__auto__;
}
break;
}
}catch (e2314){if((e2314 instanceof Object)){
var ex__2148__auto__ = e2314;
var statearr_2315_2323 = state_2303;
(statearr_2315_2323[(5)] = ex__2148__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_2303);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e2314;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2146__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__2324 = state_2303;
state_2303 = G__2324;
continue;
} else {
return ret_value__2146__auto__;
}
break;
}
});
npm_force_resolutions$core$wait_all_$_state_machine__2145__auto__ = function(state_2303){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____0.call(this);
case 1:
return npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____1.call(this,state_2303);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$wait_all_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____0;
npm_force_resolutions$core$wait_all_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$wait_all_$_state_machine__2145__auto____1;
return npm_force_resolutions$core$wait_all_$_state_machine__2145__auto__;
})()
})();
var state__2169__auto__ = (function (){var statearr_2316 = f__2168__auto__.call(null);
(statearr_2316[(6)] = c__2167__auto__);
return statearr_2316;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2169__auto__);
}));
return c__2167__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__2167__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2168__auto__ = (function (){var switch__2144__auto__ = (function (state_2352){
var state_val_2353 = (state_2352[(1)]);
if((state_val_2353 === (1))){
var inst_2328 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(folder),"/package.json"].join('');
var inst_2329 = npm_force_resolutions.core.read_json.call(null,inst_2328);
var inst_2330 = cljs.core.get.call(null,inst_2329,"resolutions");
var inst_2331 = npm_force_resolutions.core.get_registry_url.call(null);
var inst_2333 = (function (){var package_json = inst_2329;
var resolutions = inst_2330;
var registry_url = inst_2331;
return (function (p__2332){
var vec__2354 = p__2332;
var k = cljs.core.nth.call(null,vec__2354,(0),null);
var v = cljs.core.nth.call(null,vec__2354,(1),null);
return npm_force_resolutions.core.fetch_resolved_resolution.call(null,registry_url,k,v);
});
})();
var inst_2334 = cljs.core.seq.call(null,inst_2330);
var inst_2335 = cljs.core.map.call(null,inst_2333,inst_2334);
var inst_2336 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_2337 = npm_force_resolutions.core.wait_all.call(null,inst_2335);
var inst_2338 = cljs.core.async.timeout.call(null,(8000));
var inst_2339 = [inst_2337,inst_2338];
var inst_2340 = (new cljs.core.PersistentVector(null,2,(5),inst_2336,inst_2339,null));
var state_2352__$1 = state_2352;
return cljs.core.async.ioc_alts_BANG_.call(null,state_2352__$1,(2),inst_2340);
} else {
if((state_val_2353 === (2))){
var inst_2343 = (state_2352[(7)]);
var inst_2342 = (state_2352[(2)]);
var inst_2343__$1 = cljs.core.nth.call(null,inst_2342,(0),null);
var inst_2344 = cljs.core.nth.call(null,inst_2342,(1),null);
var state_2352__$1 = (function (){var statearr_2357 = state_2352;
(statearr_2357[(8)] = inst_2344);
(statearr_2357[(7)] = inst_2343__$1);
return statearr_2357;
})();
if(cljs.core.truth_(inst_2343__$1)){
var statearr_2358_2366 = state_2352__$1;
(statearr_2358_2366[(1)] = (3));
} else {
var statearr_2359_2367 = state_2352__$1;
(statearr_2359_2367[(1)] = (4));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2353 === (3))){
var inst_2343 = (state_2352[(7)]);
var state_2352__$1 = state_2352;
var statearr_2360_2368 = state_2352__$1;
(statearr_2360_2368[(2)] = inst_2343);
(statearr_2360_2368[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2353 === (4))){
var inst_2347 = (new Error("Timeout trying to fetch resolutions from npm"));
var inst_2348 = (function(){throw inst_2347})();
var state_2352__$1 = state_2352;
var statearr_2361_2369 = state_2352__$1;
(statearr_2361_2369[(2)] = inst_2348);
(statearr_2361_2369[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2353 === (5))){
var inst_2350 = (state_2352[(2)]);
var state_2352__$1 = state_2352;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_2352__$1,inst_2350);
} else {
return null;
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__ = null;
var npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____0 = (function (){
var statearr_2362 = [null,null,null,null,null,null,null,null,null];
(statearr_2362[(0)] = npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__);
(statearr_2362[(1)] = (1));
return statearr_2362;
});
var npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____1 = (function (state_2352){
while(true){
var ret_value__2146__auto__ = (function (){try{while(true){
var result__2147__auto__ = switch__2144__auto__.call(null,state_2352);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2147__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2147__auto__;
}
break;
}
}catch (e2363){if((e2363 instanceof Object)){
var ex__2148__auto__ = e2363;
var statearr_2364_2370 = state_2352;
(statearr_2364_2370[(5)] = ex__2148__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_2352);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e2363;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2146__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__2371 = state_2352;
state_2352 = G__2371;
continue;
} else {
return ret_value__2146__auto__;
}
break;
}
});
npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__ = function(state_2352){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____0.call(this);
case 1:
return npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____1.call(this,state_2352);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____0;
npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto____1;
return npm_force_resolutions$core$find_resolutions_$_state_machine__2145__auto__;
})()
})();
var state__2169__auto__ = (function (){var statearr_2365 = f__2168__auto__.call(null);
(statearr_2365[(6)] = c__2167__auto__);
return statearr_2365;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2169__auto__);
}));
return c__2167__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__2372){
var vec__2373 = p__2372;
var k = cljs.core.nth.call(null,vec__2373,(0),null);
var v = cljs.core.nth.call(null,vec__2373,(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__2376_SHARP_,p2__2377_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__2376_SHARP_,p2__2377_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__2378_SHARP_,p2__2379_SHARP_){
return cljs.core.compare.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,fixed_dep,p1__2378_SHARP_)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,fixed_dep,p2__2379_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.remove_node_modules_path = (function npm_force_resolutions$core$remove_node_modules_path(key){
return clojure.string.replace.call(null,key,/.*node_modules\//,"");
});
npm_force_resolutions.core.patch_all_dependencies = (function npm_force_resolutions$core$patch_all_dependencies(resolutions,package_lock){
var updated_dependencies = cljs.core.update.call(null,package_lock,"dependencies",(function (dependencies){
return npm_force_resolutions.core.map_vals.call(null,(function (p1__2380_SHARP_,p2__2381_SHARP_){
return npm_force_resolutions.core.patch_dependency.call(null,resolutions,p1__2380_SHARP_,p2__2381_SHARP_);
}),dependencies);
}));
if(cljs.core.truth_(cljs.core.get.call(null,updated_dependencies,"packages"))){
return cljs.core.update.call(null,updated_dependencies,"packages",(function (dependencies){
return npm_force_resolutions.core.map_vals.call(null,(function (p1__2382_SHARP_,p2__2383_SHARP_){
return npm_force_resolutions.core.patch_dependency.call(null,resolutions,npm_force_resolutions.core.remove_node_modules_path.call(null,p1__2382_SHARP_),p2__2383_SHARP_);
}),dependencies);
}));
} else {
return updated_dependencies;
}
});
npm_force_resolutions.core.update_package_lock = (function npm_force_resolutions$core$update_package_lock(folder){
var c__2167__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2168__auto__ = (function (){var switch__2144__auto__ = (function (state_2392){
var state_val_2393 = (state_2392[(1)]);
if((state_val_2393 === (1))){
var inst_2384 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(folder),"/package-lock.json"].join('');
var inst_2385 = npm_force_resolutions.core.read_json.call(null,inst_2384);
var inst_2386 = npm_force_resolutions.core.find_resolutions.call(null,folder);
var state_2392__$1 = (function (){var statearr_2394 = state_2392;
(statearr_2394[(7)] = inst_2385);
return statearr_2394;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_2392__$1,(2),inst_2386);
} else {
if((state_val_2393 === (2))){
var inst_2385 = (state_2392[(7)]);
var inst_2388 = (state_2392[(2)]);
var inst_2389 = npm_force_resolutions.core.patch_all_dependencies.call(null,inst_2388,inst_2385);
var inst_2390 = npm_force_resolutions.core.sort_or_remove_map.call(null,"dependencies",inst_2389);
var state_2392__$1 = state_2392;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_2392__$1,inst_2390);
} else {
return null;
}
}
});
return (function() {
var npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__ = null;
var npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____0 = (function (){
var statearr_2395 = [null,null,null,null,null,null,null,null];
(statearr_2395[(0)] = npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__);
(statearr_2395[(1)] = (1));
return statearr_2395;
});
var npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____1 = (function (state_2392){
while(true){
var ret_value__2146__auto__ = (function (){try{while(true){
var result__2147__auto__ = switch__2144__auto__.call(null,state_2392);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2147__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2147__auto__;
}
break;
}
}catch (e2396){if((e2396 instanceof Object)){
var ex__2148__auto__ = e2396;
var statearr_2397_2399 = state_2392;
(statearr_2397_2399[(5)] = ex__2148__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_2392);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e2396;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2146__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__2400 = state_2392;
state_2392 = G__2400;
continue;
} else {
return ret_value__2146__auto__;
}
break;
}
});
npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__ = function(state_2392){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____0.call(this);
case 1:
return npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____1.call(this,state_2392);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____0;
npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto____1;
return npm_force_resolutions$core$update_package_lock_$_state_machine__2145__auto__;
})()
})();
var state__2169__auto__ = (function (){var statearr_2398 = f__2168__auto__.call(null);
(statearr_2398[(6)] = c__2167__auto__);
return statearr_2398;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2169__auto__);
}));
return c__2167__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,clojure.string.replace.call(null,json_format.call(null,JSON.parse(json),(function (){var obj2402 = ({"type":"space","size":(2)});
return obj2402;
})()),/\\\\\^/,"^"),/\\\\\~/,"~"),/ +\n/,"");
});
npm_force_resolutions.core.main = (function npm_force_resolutions$core$main(var_args){
var args__4795__auto__ = [];
var len__4789__auto___2430 = arguments.length;
var i__4790__auto___2431 = (0);
while(true){
if((i__4790__auto___2431 < len__4789__auto___2430)){
args__4795__auto__.push((arguments[i__4790__auto___2431]));
var G__2432 = (i__4790__auto___2431 + (1));
i__4790__auto___2431 = G__2432;
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__2167__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,(function (){
var f__2168__auto__ = (function (){var switch__2144__auto__ = (function (state_2418){
var state_val_2419 = (state_2418[(1)]);
if((state_val_2419 === (1))){
var inst_2404 = (state_2418[(7)]);
var inst_2404__$1 = cljs.core.first.call(null,args);
var state_2418__$1 = (function (){var statearr_2420 = state_2418;
(statearr_2420[(7)] = inst_2404__$1);
return statearr_2420;
})();
if(cljs.core.truth_(inst_2404__$1)){
var statearr_2421_2433 = state_2418__$1;
(statearr_2421_2433[(1)] = (2));
} else {
var statearr_2422_2434 = state_2418__$1;
(statearr_2422_2434[(1)] = (3));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2419 === (2))){
var inst_2404 = (state_2418[(7)]);
var state_2418__$1 = state_2418;
var statearr_2423_2435 = state_2418__$1;
(statearr_2423_2435[(2)] = inst_2404);
(statearr_2423_2435[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2419 === (3))){
var state_2418__$1 = state_2418;
var statearr_2424_2436 = state_2418__$1;
(statearr_2424_2436[(2)] = ".");
(statearr_2424_2436[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_2419 === (4))){
var inst_2408 = (state_2418[(8)]);
var inst_2408__$1 = (state_2418[(2)]);
var inst_2409 = npm_force_resolutions.core.update_package_lock.call(null,inst_2408__$1);
var state_2418__$1 = (function (){var statearr_2425 = state_2418;
(statearr_2425[(8)] = inst_2408__$1);
return statearr_2425;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_2418__$1,(5),inst_2409);
} else {
if((state_val_2419 === (5))){
var inst_2408 = (state_2418[(8)]);
var inst_2411 = (state_2418[(2)]);
var inst_2412 = cognitect.transit.writer.call(null,new cljs.core.Keyword(null,"json-verbose","json-verbose",-542533531));
var inst_2413 = cognitect.transit.write.call(null,inst_2412,inst_2411);
var inst_2414 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(inst_2408),"/package-lock.json"].join('');
var inst_2415 = npm_force_resolutions.core.indent_json.call(null,inst_2413);
var inst_2416 = npm_force_resolutions.core.node_spit.call(null,inst_2414,inst_2415);
var state_2418__$1 = state_2418;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_2418__$1,inst_2416);
} else {
return null;
}
}
}
}
}
});
return (function() {
var npm_force_resolutions$core$state_machine__2145__auto__ = null;
var npm_force_resolutions$core$state_machine__2145__auto____0 = (function (){
var statearr_2426 = [null,null,null,null,null,null,null,null,null];
(statearr_2426[(0)] = npm_force_resolutions$core$state_machine__2145__auto__);
(statearr_2426[(1)] = (1));
return statearr_2426;
});
var npm_force_resolutions$core$state_machine__2145__auto____1 = (function (state_2418){
while(true){
var ret_value__2146__auto__ = (function (){try{while(true){
var result__2147__auto__ = switch__2144__auto__.call(null,state_2418);
if(cljs.core.keyword_identical_QMARK_.call(null,result__2147__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__2147__auto__;
}
break;
}
}catch (e2427){if((e2427 instanceof Object)){
var ex__2148__auto__ = e2427;
var statearr_2428_2437 = state_2418;
(statearr_2428_2437[(5)] = ex__2148__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_2418);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e2427;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__2146__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__2438 = state_2418;
state_2418 = G__2438;
continue;
} else {
return ret_value__2146__auto__;
}
break;
}
});
npm_force_resolutions$core$state_machine__2145__auto__ = function(state_2418){
switch(arguments.length){
case 0:
return npm_force_resolutions$core$state_machine__2145__auto____0.call(this);
case 1:
return npm_force_resolutions$core$state_machine__2145__auto____1.call(this,state_2418);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
npm_force_resolutions$core$state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$0 = npm_force_resolutions$core$state_machine__2145__auto____0;
npm_force_resolutions$core$state_machine__2145__auto__.cljs$core$IFn$_invoke$arity$1 = npm_force_resolutions$core$state_machine__2145__auto____1;
return npm_force_resolutions$core$state_machine__2145__auto__;
})()
})();
var state__2169__auto__ = (function (){var statearr_2429 = f__2168__auto__.call(null);
(statearr_2429[(6)] = c__2167__auto__);
return statearr_2429;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__2169__auto__);
}));
return c__2167__auto__;
}));
(npm_force_resolutions.core.main.cljs$lang$maxFixedArity = (0));
/** @this {Function} */
(npm_force_resolutions.core.main.cljs$lang$applyTo = (function (seq2403){
var self__4777__auto__ = this;
return self__4777__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq2403));
}));
(cljs.core._STAR_main_cli_fn_STAR_ = npm_force_resolutions.core.main);
//# sourceMappingURL=core.js.map