@rushstack/lockfile-explorer 0.0.3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/671.7d28fb3bed4d33f53049.js.LICENSE.txt +71 -0
- package/dist/app.d95bf1e71ba0734b9b85.js +1 -0
- package/dist/app.f193c3b9231f507f3e67.css +1 -0
- package/dist/index.html +1 -1
- package/lib/start.js +2 -1
- package/lib/start.js.map +1 -1
- package/package.json +1 -1
- package/dist/app.cb94d72ab05d62c0ad2e.js +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
object-assign
|
|
3
|
+
(c) Sindre Sorhus
|
|
4
|
+
@license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @license React
|
|
9
|
+
* react-is.production.min.js
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
12
|
+
*
|
|
13
|
+
* This source code is licensed under the MIT license found in the
|
|
14
|
+
* LICENSE file in the root directory of this source tree.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @license React
|
|
19
|
+
* use-sync-external-store-shim.production.min.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @license React
|
|
29
|
+
* use-sync-external-store-shim/with-selector.production.min.js
|
|
30
|
+
*
|
|
31
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
32
|
+
*
|
|
33
|
+
* This source code is licensed under the MIT license found in the
|
|
34
|
+
* LICENSE file in the root directory of this source tree.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/** @license React v0.19.1
|
|
38
|
+
* scheduler.production.min.js
|
|
39
|
+
*
|
|
40
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
41
|
+
*
|
|
42
|
+
* This source code is licensed under the MIT license found in the
|
|
43
|
+
* LICENSE file in the root directory of this source tree.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
/** @license React v16.13.1
|
|
47
|
+
* react-dom.production.min.js
|
|
48
|
+
*
|
|
49
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
50
|
+
*
|
|
51
|
+
* This source code is licensed under the MIT license found in the
|
|
52
|
+
* LICENSE file in the root directory of this source tree.
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/** @license React v16.13.1
|
|
56
|
+
* react-is.production.min.js
|
|
57
|
+
*
|
|
58
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
59
|
+
*
|
|
60
|
+
* This source code is licensed under the MIT license found in the
|
|
61
|
+
* LICENSE file in the root directory of this source tree.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/** @license React v16.13.1
|
|
65
|
+
* react.production.min.js
|
|
66
|
+
*
|
|
67
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
68
|
+
*
|
|
69
|
+
* This source code is licensed under the MIT license found in the
|
|
70
|
+
* LICENSE file in the root directory of this source tree.
|
|
71
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){"use strict";var e,t={302:function(e,t,n){var a,r,c=n(823),s=n(998),l="HK80a6ZVkdxoTKzrP9Eq",o=n(201);!function(e){e[e.DEPENDENCY=0]="DEPENDENCY",e[e.DEV_DEPENDENCY=1]="DEV_DEPENDENCY",e[e.PEER_DEPENDENCY=2]="PEER_DEPENDENCY"}(a||(a={}));class i{constructor(e,t,n,r,c){if(this.entryId="",this.name=e,this.version=t,this.dependencyType=n,this.containingEntry=r,this.peerDependencyMeta={},this.version.startsWith("link:")){const t=this.version.substring("link:".length),n=new o.y(".").relative(new o.y(r.packageJsonFolderPath).concat(t));if(!n)return void console.error("No root relative path for dependency!",e);this.entryId="project:"+n.toString()}else this.version.startsWith("/")?this.entryId=this.version:this.dependencyType===a.PEER_DEPENDENCY?(null==c?void 0:c.peerDependencies)?(this.peerDependencyMeta={name:this.name,version:c.peerDependencies[this.name],optional:!(!c.peerDependenciesMeta||!c.peerDependenciesMeta[this.name])&&c.peerDependenciesMeta[this.name].optional},this.entryId="Peer: "+this.name):console.error("Peer dependencies info missing!",c):this.entryId="/"+this.name+"/"+this.version}static parseDependencies(e,t,n){if(n.dependencies)for(const[r,c]of Object.entries(n.dependencies))e.push(new i(r,c,a.DEPENDENCY,t));if(n.devDependencies)for(const[r,c]of Object.entries(n.devDependencies))e.push(new i(r,c,a.DEV_DEPENDENCY,t));if(n.peerDependencies)for(const[r,c]of Object.entries(n.peerDependencies))e.push(new i(r,c,a.PEER_DEPENDENCY,t,n));if(n.transitivePeerDependencies)for(const e of n.transitivePeerDependencies)t.transitivePeerDependencies.add(e)}}!function(e){e[e.Project=0]="Project",e[e.Package=1]="Package",e[e.SideBySide=2]="SideBySide",e[e.Doppelganger=3]="Doppelganger"}(r||(r={}));class d{constructor(e){this.entryId="",this.packageJsonFolderPath="",this.entryPackageName="",this.displayText="",this.dependencies=[],this.transitivePeerDependencies=new Set,this.referrers=[],this.entryPackageVersion="",this.entrySuffix="";const{rawEntryId:t,kind:n,rawYamlData:a}=e;if(this.rawEntryId=t,this.kind=n,"."!==t){if(n===r.Project){const e=new o.y("common/temp/package.json").dirname()||"",n=new o.y(".").relative(new o.y(e).concat(t)),a=new o.y(t).basename();if(!n||!a)return void console.error("Could not construct path for entry: ",t);this.packageJsonFolderPath=n.toString(),this.entryId="project:"+this.packageJsonFolderPath,this.entryPackageName=a.toString(),this.displayText="Project: "+this.entryPackageName}else{this.displayText=t;const e=d._packageEntryIdRegex.exec(t);if(e){const[,t,n]=e;this.entryPackageName=t;const a=n.indexOf("_");if(a>=0){const e=n.substring(0,a),r=n.substring(a+1);this.entryPackageVersion=e,this.entrySuffix=r,this.displayText=t+" "+e+" ("+r+")"}else this.entryPackageVersion=n,this.displayText=t+" "+n}this.packageJsonFolderPath="common/temp/node_modules/.pnpm/"+this.entryPackageName.replace("/","+")+"@"+this.entryPackageVersion+(this.entrySuffix?`_${this.entrySuffix}`:"")+"/node_modules/"+this.entryPackageName}i.parseDependencies(this.dependencies,this,a)}}}d._packageEntryIdRegex=new RegExp("/(.*)/([^/]+)$");const p=window.appContext.serviceUrl;var m="IWEAxDEzQLw3g5TI_6up";const E=null;var u=n(300);const y=u.I0,f=u.v9;var k=n(329);const h="LOCKFILE_EXPLORER_BOOKMARKS",g="LOCKFILE_EXPLORER_PROJECT_FILTER",v="LOCKFILE_EXPLORER_PACKAGE_FILTER",P=e=>e===r.Project?localStorage.getItem(g)||"":localStorage.getItem(v)||"",N={allEntries:[],filters:{[r.Project]:!1,[r.Package]:!0,[r.SideBySide]:!1,[r.Doppelganger]:!1},selectedEntryStack:[],selectedEntryForwardStack:[],bookmarkedEntries:[]},S=(0,k.oM)({name:"entry",initialState:N,reducers:{loadEntries:(e,t)=>{e.allEntries=t.payload;const n=(()=>{const e=JSON.parse(localStorage.getItem(h)||"{}"),t=new Set;for(const n of Object.keys(e))t.add(n);return t})();for(const a of t.payload)n.has(a.rawEntryId)&&e.bookmarkedEntries.push(a)},setFilter:(e,t)=>{e.filters[t.payload.filter]=t.payload.state},clearStackAndPush:(e,t)=>{e.selectedEntryStack=[t.payload],e.selectedEntryForwardStack=[]},pushToStack:(e,t)=>{e.selectedEntryStack.push(t.payload),e.selectedEntryForwardStack=[],t.payload.kind===r.Package?(e.filters[r.Project]=!1,e.filters[r.Package]=!0):(e.filters[r.Project]=!0,e.filters[r.Package]=!1)},popStack:e=>{if(e.selectedEntryStack.length>1){const t=e.selectedEntryStack.pop();e.selectedEntryForwardStack.push(t),e.selectedEntryStack.length>=1&&(e.selectedEntryStack[e.selectedEntryStack.length-1].kind===r.Package?(e.filters[r.Project]=!1,e.filters[r.Package]=!0):(e.filters[r.Project]=!0,e.filters[r.Package]=!1))}},forwardStack:e=>{if(e.selectedEntryForwardStack.length>0){const t=e.selectedEntryForwardStack.pop();e.selectedEntryStack.push(t),t.kind===r.Package?(e.filters[r.Project]=!1,e.filters[r.Package]=!0):(e.filters[r.Project]=!0,e.filters[r.Package]=!1)}},addBookmark:(e,t)=>{e.bookmarkedEntries.includes(t.payload)||(e.bookmarkedEntries.push(t.payload),(e=>{const t=e.rawEntryId,n=JSON.parse(localStorage.getItem(h)||"{}");n[t]=!0,localStorage.setItem(h,JSON.stringify(n))})(t.payload))},removeBookmark:(e,t)=>{e.bookmarkedEntries=e.bookmarkedEntries.filter((e=>e.rawEntryId!==t.payload.rawEntryId)),(e=>{const t=e.rawEntryId,n=JSON.parse(localStorage.getItem(h)||"{}");delete n[t],localStorage.setItem(h,JSON.stringify(n))})(t.payload)}}}),w=e=>e.entry.selectedEntryStack.length?e.entry.selectedEntryStack[e.entry.selectedEntryStack.length-1]:void 0,C=e=>{const t=[];return e.entry.filters[r.Package]?t.push(...e.entry.allEntries.filter((e=>e.kind===r.Package))):e.entry.filters[r.Project]&&t.push(...e.entry.allEntries.filter((e=>e.kind===r.Project))),t},{loadEntries:D,setFilter:b,clearStackAndPush:j,pushToStack:O,popStack:I,forwardStack:x,addBookmark:_,removeBookmark:A}=S.actions,T=S.reducer;const K=({options:e})=>c.createElement("div",{className:"b1H6mzJXpxsG350hyeU_"},e.map((e=>c.createElement("div",{key:e.text,className:"mWhs4CnCA0TKj6CRR8gk "+(e.active?"Q9WEwAuQb3UsVbcHr0oI":""),onClick:e.onClick},e.text)))),R=({group:e})=>{const t=f(w),n=y(),a=(0,c.useRef)(),r=(0,c.useCallback)((e=>()=>{n(O(e))}),[]);return(0,c.useEffect)((()=>{t&&t.entryPackageName===e.entryName&&a.current.scrollIntoView({behavior:"smooth"})}),[t,e]),c.createElement("div",{className:"OcndyDBetZor3ptzTnTX",ref:a},c.createElement("h5",null,e.entryName),e.versions.map((e=>c.createElement("div",{key:e.rawEntryId,onClick:r(e),className:"Wg5pG3RVf6SQ51i0tVkd "+((null==t?void 0:t.rawEntryId)===e.rawEntryId?"NBIr3yosJ9gX6LZcnC7T":"")},c.createElement("p",null,e.entryPackageVersion||e.entryPackageName," ",e.entrySuffix&&`[${e.entrySuffix}]`)))))},F=()=>{const e=y(),[t,n]=(0,c.useState)(""),[a,s]=(0,c.useState)(""),l=f(C),o=f((e=>e.entry.filters)),i=(0,c.useCallback)((e=>t=>{e===r.Project?n(t.target.value):s(t.target.value),((e,t)=>{t===r.Project?localStorage.setItem(g,e):localStorage.setItem(v,e)})(t.target.value,e)}),[]);if((0,c.useEffect)((()=>{n(P(r.Project)),s(P(r.Package))}),[]),!l)return E;const d=(0,c.useCallback)(((t,n)=>()=>{e(b({filter:t,state:n}))}),[]),p=(0,c.useCallback)((t=>()=>{t===r.Project?(e(b({filter:r.Project,state:!0})),e(b({filter:r.Package,state:!1}))):(e(b({filter:r.Package,state:!0})),e(b({filter:r.Project,state:!1})))}),[o]);return c.createElement("div",{className:"yk7wrFMnnNyYLABMBhz_"},c.createElement(K,{options:[{text:"Projects",active:o[r.Project],onClick:p(r.Project)},{text:"Packages",active:o[r.Package],onClick:p(r.Package)}]}),c.createElement("div",{className:"X00sOTmx1ir4Oc41DIvM HK80a6ZVkdxoTKzrP9Eq"},c.createElement("div",{className:"oq4FJVnF_fONdOKuiK0w"},c.createElement("h5",null,"Filter:"),c.createElement("input",{type:"text",value:o[r.Project]?t:a,onChange:i(o[r.Project]?r.Project:r.Package)})),c.createElement("div",{className:"PoJj8_8xv9BXiMVPKFVE"},(()=>{let e=l;t&&o[r.Project]?e=l.filter((e=>-1!==e.entryPackageName.indexOf(t))):a&&o[r.Package]&&(e=l.filter((e=>-1!==e.entryPackageName.indexOf(a))));const n=e.reduce(((e,t)=>{const n=e[t.entryPackageName]||[];return n.push(t),e[t.entryPackageName]=n,e}),{});let c=[];for(const[e,t]of Object.entries(n))c.push({entryName:e,versions:t});return o[r.SideBySide]&&(c=c.filter((e=>e.versions.length>1))),o[r.Doppelganger]&&(c=c.filter((e=>(e=>{const t=new Set;for(const n of e){if(t.has(n.entryPackageVersion))return!0;t.add(n.entryPackageVersion)}return!1})(e.versions)))),c})().map((e=>c.createElement(R,{group:e,key:e.entryName})))),o[r.Package]?c.createElement("div",{className:"K6dDN5KzjLkbPPFWUaly"},c.createElement("h5",null,"Filters"),c.createElement("div",{className:m,onClick:d(r.SideBySide,!o[r.SideBySide])},c.createElement("input",{type:"checkbox",checked:o[r.SideBySide],readOnly:!0}),c.createElement("h5",null,"Must have side-by-side versions")),c.createElement("div",{className:m,onClick:d(r.Doppelganger,!o[r.Doppelganger])},c.createElement("input",{type:"checkbox",checked:o[r.Doppelganger],readOnly:!0}),c.createElement("h5",null,"Must have doppelgangers"))):null))},J=window.appContext.serviceUrl;var M="rXOH6AJQU2eYrNAXbp4V";const H={specChanges:new Map},V=(0,k.oM)({name:"workspace",initialState:H,reducers:{loadSpecChanges:(e,t)=>{e.specChanges=t.payload}}}),{loadSpecChanges:z}=V.actions,Y=V.reducer,G=(e,t)=>{var n;switch(null===(n=e.get(t))||void 0===n?void 0:n.type){case"add":return"[Added by .pnpmfile.cjs]";case"diff":return"[Changed from {specChanges.get(dep)?.from}]";case"remove":return"[Deleted by .pnpmfile.cjs]";default:return"No Change"}},L=(e,t)=>{if(!e)return!1;for(const n of e.dependencies)if(t.has(n.name))return!0;return!1};var Z;!function(e){e[e.PACKAGE_JSON=0]="PACKAGE_JSON",e[e.PACKAGE_SPEC=1]="PACKAGE_SPEC",e[e.PARSED_PACKAGE_JSON=2]="PARSED_PACKAGE_JSON"}(Z||(Z={}));const B=()=>{const e=y(),[t,n]=(0,c.useState)(void 0),[a,r]=(0,c.useState)(void 0),[s,o]=(0,c.useState)(""),i=f(w),d=f((e=>e.workspace.specChanges)),[p,m]=(0,c.useState)(Z.PARSED_PACKAGE_JSON),E=(0,c.useCallback)((e=>()=>m(e)),[]);(0,c.useEffect)((()=>{(async function(){const e=await(async()=>{try{const e=await fetch(`${J}/api/pnpmfile`);return await e.text()}catch(e){return console.error("Could not load cjs file: ",e),"Missing CJS"}})();o(e)})().catch((e=>{console.error(`Failed to load project's pnpm file: ${e}`)}))}),[]),(0,c.useEffect)((()=>{i&&(i.entryPackageName?async function(t){const a=await(async e=>{try{const t=await fetch(`${J}/api/package-json`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e})});return await t.json()}catch(e){return void console.error("Could not load package json file: ",e)}})(t);n(a);const c=await(async e=>{try{const t=await fetch(`${J}/api/package-spec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e})});return await t.json()}catch(e){return void console.error("Could not load cjs file: ",e)}})(t);if(r(c),a&&c){const t=((e,t)=>{const n=new Map,a=new Map;for(const[t,a]of Object.entries(Object.assign(Object.assign(Object.assign({},e.dependencies),e.devDependencies),e.peerDependencies)))n.set(t,a);for(const[e,n]of Object.entries(Object.assign(Object.assign(Object.assign({},t.dependencies),t.devDependencies),t.peerDependencies)))a.set(e,n);const r=new Map;for(const e of n.keys())a.has(e)?a.get(e)!==n.get(e)&&r.set(e,{type:"diff",packageName:e,from:n.get(e),to:a.get(e)}):r.set(e,{type:"remove",packageName:e});for(const e of a.keys())n.has(e)||r.set(e,{type:"add",packageName:e});return r})(a,c);e(z(t))}}(i.packageJsonFolderPath).catch((e=>{console.error(`Failed to load project information: ${e}`)})):console.log("The selected entry has no entry name: ",i.entryPackageName))}),[i]);const u=e=>t=>{var n;const[a,r]=t;if(!d.has(a))return e?c.createElement("p",{key:a},a,":"):c.createElement("p",{key:a},r);switch(null===(n=d.get(a))||void 0===n?void 0:n.type){case"add":return e?c.createElement("p",{key:a},c.createElement("span",{className:"nTIc62ACgp5xMWIvZ4cn"},a)):c.createElement("p",{key:a},r," ",G(d,a));case"diff":return e?c.createElement("p",{key:a},c.createElement("span",{className:"I4A8ZZlpCL3Op0c53VjN"},a)):c.createElement("p",{key:a},r," ",G(d,a));case"remove":return e?c.createElement("p",{key:a},c.createElement("span",{className:"iavWjvHy9s5MhCZ_ncgb"},a)):c.createElement("p",{key:a},r," ",G(d,a));default:return e?c.createElement("p",{key:a},a,":"):c.createElement("p",{key:a},r)}};return c.createElement("div",{className:"kzgyQkswpx6xUEo4zOa8"},c.createElement(K,{options:[{text:"package spec "+(L(i,d)?"*":""),active:p===Z.PARSED_PACKAGE_JSON,onClick:E(Z.PARSED_PACKAGE_JSON)},{text:"package.json",active:p===Z.PACKAGE_JSON,onClick:E(Z.PACKAGE_JSON)},{text:".pnpmfile.cjs",active:p===Z.PACKAGE_SPEC,onClick:E(Z.PACKAGE_SPEC)}]}),c.createElement("div",{className:l},c.createElement("div",{className:"e2KEBfZCHwEMeH4j6wS7"},(()=>{switch(p){case Z.PACKAGE_JSON:return t?c.createElement("pre",null,JSON.stringify(t,null,2)):c.createElement("h5",null,"Please select a Project or Package to view it's package.json");case Z.PACKAGE_SPEC:return s?c.createElement("pre",null,s):c.createElement("h5",null,"Couldn't load the pnpmfile.cjs file - does it exist in the expected location? (/common/config/rush/.pnpmfile.cjs)");case Z.PARSED_PACKAGE_JSON:return a?c.createElement("div",{className:"Ko0YQxSlY0hCIDTfmNlr"},c.createElement("div",{className:M},c.createElement("h5",null,"Package Name:"),c.createElement("p",null,null==i?void 0:i.displayText)),c.createElement("div",{className:M},c.createElement("h5",null,"Version:"),c.createElement("p",null,null==i?void 0:i.entryPackageVersion)),c.createElement("div",{className:"hqNteMkwhYXuZqHE_8MJ"},c.createElement("div",null,c.createElement("h5",null,"Dependencies"),a.dependencies&&Object.entries(a.dependencies).map(u(!0)),c.createElement("h5",null,"Dev Dependencies"),a.devDependencies&&Object.entries(a.devDependencies).map(u(!0)),c.createElement("h5",null,"Peer Dependencies"),a.peerDependencies&&Object.entries(a.peerDependencies).map(u(!0))),c.createElement("div",null,c.createElement("h5",null," "),a.dependencies&&Object.entries(a.dependencies).map(u(!1)),c.createElement("h5",null," "),a.devDependencies&&Object.entries(a.devDependencies).map(u(!1)),c.createElement("h5",null," "),a.peerDependencies&&Object.entries(a.peerDependencies).map(u(!1))))):c.createElement("h5",null,"Please select a Project or Package to view the parsed package.json");default:return null}})())))};var X,q="_R50_3JsFs2FC9kVffQL",Q="mRQWdzXzOM1NpFUpYnhP",W="wzeVrHi3oyOhEe6qD3PX",$="lGp34XdOFjHfZNwiilgC";!function(e){e[e.Determinant=0]="Determinant",e[e.TransitiveReferrer=1]="TransitiveReferrer"}(X||(X={}));const U=()=>{var e,t;const n=f(w),r=f((e=>e.workspace.specChanges)),s=y(),[o,i]=(0,c.useState)(null),[d,p]=(0,c.useState)([]);(0,c.useEffect)((()=>{n&&i(null)}),[n]);const m=(0,c.useCallback)((e=>()=>{if(o&&o.entryId===e.entryId)e.resolvedEntry?s(O(e.resolvedEntry)):((...e)=>{window.appContext.debugMode&&console.log("Diagnostic: ",...e)})("No resolved entry for dependency:",e);else if(n){if(console.log("dependency to trace: ",e),i(e),e.dependencyType!==a.PEER_DEPENDENCY)return;const t=[n],r=new Set,c=new Set,s=new Set;for(s.add(n);t.length;){const n=t.pop();if(n)for(const a of n.referrers){let l=!1;for(const t of a.dependencies)if(t.name===e.name){r.add(a),l=!0;break}if(!l){a.transitivePeerDependencies.has(e.name)?c.add(a):console.error('Error analyzing influencers: A referrer appears to be missing its "transitivePeerDependencies" field in the YAML file: ',e,a,n);for(const e of n.referrers)s.has(e)||(t.push(e),s.add(e))}}}const l=[];for(const e of r.values())l.push({entry:e,type:X.Determinant});for(const e of c.values())l.push({entry:e,type:X.TransitiveReferrer});p(l)}}),[n,o]),u=(0,c.useCallback)((e=>()=>{console.log("going to entry: ",e),s(O(e))}),[n]);return n?c.createElement(c.Fragment,null,c.createElement("div",{className:"KWDuEbG1GmwLxFmPPppw"},c.createElement("div",{className:l},c.createElement("h5",null,"Direct Referrers"),c.createElement("div",{className:q},null===(e=n.referrers)||void 0===e?void 0:e.map((e=>c.createElement("div",{className:Q,key:e.rawEntryId,onClick:u(e)},c.createElement("h5",null,"Name: ",e.displayText),c.createElement("div",null,c.createElement("p",null,"Entry ID: ",e.rawEntryId))))))),c.createElement("div",{className:l},c.createElement("h5",null,"Direct Dependencies"),c.createElement("div",{className:q},null===(t=n.dependencies)||void 0===t?void 0:t.map((e=>c.createElement("div",{className:`mRQWdzXzOM1NpFUpYnhP ${(null==o?void 0:o.entryId)===e.entryId&&"GbZbP1wHbcReGrxpZ3Ra"}`,key:e.entryId||e.name,onClick:m(e)},c.createElement("h5",null,"Name: ",e.name," ",e.dependencyType===a.PEER_DEPENDENCY?(e.peerDependencyMeta.optional?"(Optional)":"(Non-optional)")+" Peer Dependency":""),c.createElement("div",null,c.createElement("p",null,"Version: ",e.version),c.createElement("p",null,"Entry ID: ",e.entryId)))))))),o?c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq xSxHmjxIXTOSskLhma3A"},c.createElement("div",{className:$},c.createElement("h5",null,"Selected Dependency: "),c.createElement("span",null,o.name,": ",o.version)),c.createElement("div",{className:$},c.createElement("h5",null,"package.json spec: "),c.createElement("span",null,o.dependencyType===a.PEER_DEPENDENCY?`"${o.peerDependencyMeta.version}" ${o.peerDependencyMeta.optional?"Optional":"Required"} Peer`:o.version)),c.createElement("div",{className:$},c.createElement("h5",null,".pnpmfile.cjs: "),c.createElement("span",null,r.has(o.name)?G(r,o.name):"No Effect"))):E,n?n.dependencies.filter((e=>e.dependencyType===a.PEER_DEPENDENCY)).length?o&&o.dependencyType===a.PEER_DEPENDENCY?c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq rIv2KvSZ0CKMbctSHL04"},c.createElement("h5",null,"Determinants:"),d.filter((e=>e.type===X.Determinant)).map((({entry:e})=>c.createElement("a",{className:W,key:e.rawEntryId,onClick:u(e)},e.displayText))),c.createElement("h5",null,"Transitive Referencers:"),d.filter((e=>e.type===X.TransitiveReferrer)).map((({entry:e})=>c.createElement("a",{className:W,key:e.rawEntryId,onClick:u(e)},e.displayText)))):c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq rIv2KvSZ0CKMbctSHL04"},c.createElement("h5",null,"Select a peer dependency to view its influencers")):c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq rIv2KvSZ0CKMbctSHL04"},c.createElement("h5",null,"No peer dependencies.")):E):c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq rIv2KvSZ0CKMbctSHL04"},c.createElement("h5",null,"Select an entry to view its details"))};const ee=()=>{const e=f((e=>e.entry.bookmarkedEntries)),t=y(),n=(0,c.useCallback)((e=>()=>{t(j(e))}),[]),a=(0,c.useCallback)((e=>()=>{t(A(e))}),[]);return c.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq aM5oGgiHs9rRHcHdAqFh"},c.createElement("h5",null,"Bookmarks"),c.createElement("hr",null),e.map((e=>c.createElement("div",{key:e.rawEntryId,className:"Ci1rEoM4eR29ZJcnvJJE"},c.createElement("p",{onClick:n(e)},e.displayText),c.createElement("button",{onClick:a(e)},"Remove")))))};var te="dklLbMzvzbuzLd2XJh3W",ne="vJvmAdZ2VafvyXjc16Mz";const ae=()=>{const e=f(w),t=f((t=>!!e&&t.entry.bookmarkedEntries.includes(e))),n=f((e=>e.entry.selectedEntryStack)),a=f((e=>e.entry.selectedEntryForwardStack)),r=y(),s=(0,c.useCallback)((()=>{e&&r(_(e))}),[e]),l=(0,c.useCallback)((()=>{e&&r(A(e))}),[e]),o=(0,c.useCallback)((()=>{r(I())}),[]),i=(0,c.useCallback)((()=>{r(x())}),[]),d=()=>c.createElement("div",{className:"LkGUkEuAC1lrNLYWXZAB"},c.createElement("button",{disabled:n.length<=1,onClick:o},"Back"),c.createElement("button",{disabled:0===a.length,onClick:i},"Forward"),t?c.createElement("button",{onClick:l,disabled:!e},"Remove Bookmark"):c.createElement("button",{onClick:s,disabled:!e},"Add Bookmark"));return e?c.createElement("div",{className:te},c.createElement("div",{className:ne},c.createElement("div",{className:"Hd2WYHIwrFrldD0I8qDj"},c.createElement("h5",null,"Selected entry:"),c.createElement("span",null,e.displayText)),d()),c.createElement("div",null,c.createElement("p",null,"Package Entry: ",e.rawEntryId),c.createElement("p",null,"Package JSON path: ",e.packageJsonFolderPath))):c.createElement("div",{className:te},c.createElement("div",{className:ne},c.createElement("h5",null,"No Entry Selected"),d()))};var re="wR2C2OTixe7QR738j44h",ce="Oo_rkIqOkO0j8slDAm5V";const se=()=>{const e=window.appContext.appVersion;return c.createElement("div",{className:"mqcpXwTQfD4A2eS4QRMa"},c.createElement("div",{className:"gxAXHLK7j_oYpFDmIJLR"},c.createElement("img",{className:re,src:n(769)})),c.createElement("div",null,c.createElement("a",{href:"https://www.npmjs.com/package/@rushstack/lockfile-explorer",target:"_blank",rel:"noreferrer"},c.createElement("div",{className:"rHArsuIMBTbIFs5o2cuw"},c.createElement("img",{className:re,src:n(500)})),c.createElement("div",{className:"P6XzPBuW8Osze59RSui1"},c.createElement("img",{className:re,src:n(126)})),c.createElement("div",{className:ce},e)),c.createElement("a",{href:"https://rushstack.io/",target:"_blank",rel:"noreferrer"},c.createElement("div",{className:ce},"rushstack.io"))))},le=(0,k.xC)({reducer:{entry:T,workspace:Y},middleware:e=>e({serializableCheck:!1})}),oe=document.getElementById("root");s.render(c.createElement(u.zt,{store:le},c.createElement((()=>{const e=y();return(0,c.useEffect)((()=>{(async function(){const t=await(async()=>{const e=await fetch(`${p}/`);return(e=>{const t=[],n={},c=[];if(e.importers)for(const[a,s]of Object.entries(e.importers)){const e=new d({rawEntryId:a,kind:r.Project,rawYamlData:s});c.push(e),t.push(e),n[e.entryId]=e}const s=[];if(e.packages)for(const[a,c]of Object.entries(e.packages)){const e=new d({rawEntryId:a,kind:r.Package,rawYamlData:c});s.push(e),t.push(e),n[a]=e}for(const e of t)for(const t of e.dependencies){if(t.dependencyType===a.PEER_DEPENDENCY)continue;const r=n[t.entryId];r?(t.resolvedEntry=r,r.referrers.push(e)):console.error("Could not resolve dependency entryId: ",t.entryId)}return t})(await e.json())})();e(D(t))})().catch((e=>{console.log(`Failed to read lockfile: ${e}`)}))}),[]),c.createElement("div",{className:"uXEYthi0e8fjYu_FisVm"},c.createElement("div",{className:"ms-Grid",dir:"ltr"},c.createElement("div",{className:"ms-Grid-row"},c.createElement("div",{className:"ms-Grid-col ms-sm3 HqAzbQwu1zc9yH8ZQESI"},c.createElement(F,null)),c.createElement("div",{className:"ms-Grid-col ms-sm7 HqAzbQwu1zc9yH8ZQESI"},c.createElement(ae,null),c.createElement(B,null),c.createElement(U,null)),c.createElement("div",{className:"ms-Grid-col ms-sm2 HqAzbQwu1zc9yH8ZQESI"},c.createElement(se,null),c.createElement(ee,null)))))}),null)),oe)},769:function(e,t,n){e.exports=n.p+"d39919ddc699d58b84ba.svg"},500:function(e,t,n){e.exports=n.p+"d13d30e9b42faf842d2f.svg"},126:function(e,t,n){e.exports=n.p+"510f03f81080fd3cfd63.svg"}},n={};function a(e){var r=n[e];if(void 0!==r)return r.exports;var c=n[e]={exports:{}};return t[e](c,c.exports,a),c.exports}a.m=t,e=[],a.O=function(t,n,r,c){if(!n){var s=1/0;for(d=0;d<e.length;d++){n=e[d][0],r=e[d][1],c=e[d][2];for(var l=!0,o=0;o<n.length;o++)(!1&c||s>=c)&&Object.keys(a.O).every((function(e){return a.O[e](n[o])}))?n.splice(o--,1):(l=!1,c<s&&(s=c));if(l){e.splice(d--,1);var i=r();void 0!==i&&(t=i)}}return t}c=c||0;for(var d=e.length;d>0&&e[d-1][2]>c;d--)e[d]=e[d-1];e[d]=[n,r,c]},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e}(),function(){var e={143:0};a.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,c,s=n[0],l=n[1],o=n[2],i=0;if(s.some((function(t){return 0!==e[t]}))){for(r in l)a.o(l,r)&&(a.m[r]=l[r]);if(o)var d=o(a)}for(t&&t(n);i<s.length;i++)c=s[i],a.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return a.O(d)},n=self.webpackChunk_rushstack_lockfile_explorer_web=self.webpackChunk_rushstack_lockfile_explorer_web||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}();var r=a.O(void 0,[671],(function(){return a(302)}));r=a.O(r)}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.HK80a6ZVkdxoTKzrP9Eq{background-color:#faf9f8;box-shadow:0 3.2px 7.2px 0 rgba(0,0,0,.132),0 .6px 1.8px 0 rgba(0,0,0,.108);padding:24px}.uXEYthi0e8fjYu_FisVm{display:flex;flex-direction:row;flex-wrap:nowrap}.uXEYthi0e8fjYu_FisVm>*{width:100%}.FFuReYR1pIswEW7Az6w9{flex-grow:1}.HqAzbQwu1zc9yH8ZQESI{display:flex;flex-direction:column;height:100vh;overflow-y:scroll}.yk7wrFMnnNyYLABMBhz_{height:calc(100% - 12px);padding-top:12px}.X00sOTmx1ir4Oc41DIvM{display:flex;flex-direction:column;max-height:calc(100% - 105px);min-height:calc(100% - 105px)}.ZcSkxw5an6poYOzXiz_9{border:1px solid #fff;cursor:pointer;padding:4px 8px}.ZcSkxw5an6poYOzXiz_9:hover{border:1px solid #000}.oq4FJVnF_fONdOKuiK0w{align-items:center;display:flex;margin-bottom:12px}.oq4FJVnF_fONdOKuiK0w input{width:100%}.oq4FJVnF_fONdOKuiK0w>*+*{margin-left:12px}.OcndyDBetZor3ptzTnTX h5{margin:0}.OcndyDBetZor3ptzTnTX>*+*{margin-top:4px}.Wg5pG3RVf6SQ51i0tVkd{cursor:pointer;padding:4px 8px}.Wg5pG3RVf6SQ51i0tVkd:hover{background:#dff6dd}.NBIr3yosJ9gX6LZcnC7T{background-color:#dff6dd}.PoJj8_8xv9BXiMVPKFVE{flex:1;overflow:scroll}.PoJj8_8xv9BXiMVPKFVE>*+*{margin-top:12px}.K6dDN5KzjLkbPPFWUaly{border-top:1px solid #000;padding-top:24px}.K6dDN5KzjLkbPPFWUaly>*+*{margin-top:4px}.IWEAxDEzQLw3g5TI_6up{align-items:center;cursor:pointer;display:flex}.IWEAxDEzQLw3g5TI_6up>*+*{margin-left:4px}.b1H6mzJXpxsG350hyeU_{box-shadow:0 3.2px 7.2px 0 rgba(0,0,0,.132),0 .6px 1.8px 0 rgba(0,0,0,.108);display:flex;width:-moz-fit-content;width:fit-content}.b1H6mzJXpxsG350hyeU_>*+*{border-left:1px solid #f3f2f1}.mWhs4CnCA0TKj6CRR8gk{background-color:#faf9f8;cursor:pointer;padding:6px 12px}.Q9WEwAuQb3UsVbcHr0oI{border-bottom:3px solid #107c10}.kzgyQkswpx6xUEo4zOa8{height:30%;margin-top:12px}.e2KEBfZCHwEMeH4j6wS7{height:calc(25vh - 35px);overflow:scroll}.nTIc62ACgp5xMWIvZ4cn{background-color:#107c10}.iavWjvHy9s5MhCZ_ncgb,.nTIc62ACgp5xMWIvZ4cn{border-radius:2px;color:#fff;padding:2px 4px}.iavWjvHy9s5MhCZ_ncgb{background-color:red}.I4A8ZZlpCL3Op0c53VjN{background-color:#b8860b;border-radius:2px;color:#fff;padding:2px 4px}.Ko0YQxSlY0hCIDTfmNlr h5{margin-bottom:12px}.Ko0YQxSlY0hCIDTfmNlr>*+*{margin-top:8px}.rXOH6AJQU2eYrNAXbp4V>*{display:inline}.rXOH6AJQU2eYrNAXbp4V>*+*{margin-left:12px}.hqNteMkwhYXuZqHE_8MJ{align-items:flex-start;display:flex}.hqNteMkwhYXuZqHE_8MJ>*+*{margin-left:12px}.hqNteMkwhYXuZqHE_8MJ div>*+*{margin-top:4px}.KWDuEbG1GmwLxFmPPppw{display:flex;height:30%;justify-content:space-between;padding-top:12px}.KWDuEbG1GmwLxFmPPppw>*{width:calc(50% - 60px)}.KWDuEbG1GmwLxFmPPppw h5{margin:0}._R50_3JsFs2FC9kVffQL{height:calc(25vh - 24px);margin-top:8px;overflow:scroll}.mRQWdzXzOM1NpFUpYnhP{border:1px solid #fff;cursor:pointer;margin-top:12px}.mRQWdzXzOM1NpFUpYnhP:hover{border:1px solid #107c10}.mRQWdzXzOM1NpFUpYnhP p{margin:0}.mRQWdzXzOM1NpFUpYnhP>*+*{margin-top:8px}.GbZbP1wHbcReGrxpZ3Ra{background-color:#dff6dd}.rIv2KvSZ0CKMbctSHL04{height:10%;margin-top:12px;overflow:scroll}.xSxHmjxIXTOSskLhma3A{height:4%;margin-top:12px;overflow:scroll}.wzeVrHi3oyOhEe6qD3PX{cursor:pointer;display:block}.wzeVrHi3oyOhEe6qD3PX:hover{color:#107c10;text-decoration:underline}.lGp34XdOFjHfZNwiilgC{align-items:center;display:flex}.lGp34XdOFjHfZNwiilgC span{font-size:12px;margin-left:4px}.aM5oGgiHs9rRHcHdAqFh{flex:1;margin:12px 0}.Ci1rEoM4eR29ZJcnvJJE{cursor:pointer;margin-top:8px;padding:4px 0}.Ci1rEoM4eR29ZJcnvJJE:hover{background:#dff6dd}.Ci1rEoM4eR29ZJcnvJJE>*+*{margin-top:8px}.dklLbMzvzbuzLd2XJh3W{background-color:#faf9f8;box-shadow:0 3.2px 7.2px 0 rgba(0,0,0,.132),0 .6px 1.8px 0 rgba(0,0,0,.108);height:8%;margin-top:12px;overflow:scroll;padding:12px 24px}.dklLbMzvzbuzLd2XJh3W p{font-size:12px}.dklLbMzvzbuzLd2XJh3W>*+*{margin-top:8px}.vJvmAdZ2VafvyXjc16Mz{display:flex;justify-content:space-between}.Hd2WYHIwrFrldD0I8qDj{align-items:center;display:flex}.Hd2WYHIwrFrldD0I8qDj>*+*{margin-left:8px}.LkGUkEuAC1lrNLYWXZAB{display:flex}.LkGUkEuAC1lrNLYWXZAB>*{height:21px}.LkGUkEuAC1lrNLYWXZAB>*+*{margin-left:8px}.mqcpXwTQfD4A2eS4QRMa{display:flex}.mqcpXwTQfD4A2eS4QRMa>*+*{margin-left:12px}.mqcpXwTQfD4A2eS4QRMa a{text-decoration:none}.gxAXHLK7j_oYpFDmIJLR{height:64px;padding-top:5px}.rHArsuIMBTbIFs5o2cuw{height:20px;padding-top:7px}.P6XzPBuW8Osze59RSui1{height:20px;padding-top:5px}.wR2C2OTixe7QR738j44h{height:100%;-o-object-fit:contain;object-fit:contain}.Oo_rkIqOkO0j8slDAm5V{color:#ab9e8e;font-family:Tahoma,sans-serif;font-size:14px;padding-top:4px}body,html{background-color:#f3f2f1;box-sizing:border-box;font-family:Tahoma,sans-serif;height:100%;margin:0}h5,p{font-size:14px;margin:0}
|
package/dist/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Lockfile Explorer</title><link rel="stylesheet" href="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-core/11.0.0/css/fabric.min.css"/><script defer="defer" src="initappcontext.js"></script><script defer="defer" src="671.7d28fb3bed4d33f53049.js"></script><script defer="defer" src="app.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Lockfile Explorer</title><link rel="stylesheet" href="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-core/11.0.0/css/fabric.min.css"/><script defer="defer" src="initappcontext.js"></script><script defer="defer" src="671.7d28fb3bed4d33f53049.js"></script><script defer="defer" src="app.d95bf1e71ba0734b9b85.js"></script><link href="app.f193c3b9231f507f3e67.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
package/lib/start.js
CHANGED
|
@@ -46,7 +46,8 @@ app.post('/api/package-json', (req, res) => {
|
|
|
46
46
|
const fileLocation = path_1.default.resolve(appState.projectRoot, projectPath, 'package.json');
|
|
47
47
|
if (!fs_1.default.existsSync(fileLocation)) {
|
|
48
48
|
return res.status(400).send({
|
|
49
|
-
message: `Could not load package.json file
|
|
49
|
+
message: `Could not load package.json file for this package. Have you installed all the dependencies for this workspace?`,
|
|
50
|
+
error: `No package.json in location: ${projectPath}`
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
53
|
const packageJson = fs_1.default.readFileSync(fileLocation);
|
package/lib/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;AAE3D,sDAA8B;AAC9B,sDAA2B;AAC3B,gDAAwB;AACxB,4CAAoB;AACpB,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,iCAA8B;AAK9B,MAAM,IAAI,GAAW,IAAI,CAAC;AAC1B,iCAAiC;AACjC,MAAM,WAAW,GAAW,oBAAoB,IAAI,EAAE,CAAC;AACvD,MAAM,OAAO,GAAW,GAAG,WAAW,OAAO,CAAC;AAE9C,MAAM,QAAQ,GAAc,IAAA,WAAI,GAAE,CAAC;AAEnC,iBAAO,CAAC,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1C,MAAM,GAAG,GAAwB,IAAA,iBAAO,GAAE,CAAC;AAC3C,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;AAEhB,kGAAkG;AAClG,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;IAChF,MAAM,UAAU,GAAgB;QAC9B,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;KAChD,CAAC;IACF,MAAM,UAAU,GAAW;QACzB,0CAA0C;QAC1C,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAEpE,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;AAEtG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CACN,mBAAmB,EACnB,CAAC,GAAyD,EAAE,GAAqB,EAAE,EAAE;IACnF,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IACjC,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport express from 'express';\nimport yaml from 'js-yaml';\nimport cors from 'cors';\nimport fs from 'fs';\nimport process from 'process';\nimport path from 'path';\nimport open from 'open';\nimport { init } from './init';\n\nimport { IAppState } from './state';\nimport type { IAppContext } from '@rushstack/lockfile-explorer-web/lib/AppContext';\n\nconst PORT: number = 8091;\n// Must not have a trailing slash\nconst SERVICE_URL: string = `http://localhost:${PORT}`;\nconst APP_URL: string = `${SERVICE_URL}/app/`;\n\nconst appState: IAppState = init();\n\nprocess.chdir(path.join(__dirname, '..'));\nconst app: express.Application = express();\napp.use(express.json());\napp.use(cors());\n\n// This takes precedence over the `/app` static route, which also has an `initappcontext.js` file.\napp.get('/app/initappcontext.js', (req: express.Request, res: express.Response) => {\n const appContext: IAppContext = {\n serviceUrl: SERVICE_URL,\n appVersion: appState.appVersion,\n debugMode: process.argv.indexOf('--debug') >= 0\n };\n const sourceCode: string = [\n `console.log('Loaded initappcontext.js');`,\n `appContext = ${JSON.stringify(appContext)}`\n ].join('\\n');\n\n res.type('application/javascript').send(sourceCode);\n});\n\napp.use('/app', express.static(path.resolve(__dirname, '../dist')));\n\napp.use('/favicon.ico', express.static(path.resolve(__dirname, '../dist'), { index: 'favicon.ico' }));\n\napp.get('/', (req: express.Request, res: express.Response) => {\n const doc = yaml.load(fs.readFileSync(appState.pnpmLockfileLocation).toString());\n res.send(doc);\n});\n\napp.post(\n '/api/package-json',\n (req: express.Request<{}, {}, { projectPath: string }, {}>, res: express.Response) => {\n const { projectPath } = req.body;\n const fileLocation = path.resolve(appState.projectRoot, projectPath, 'package.json');\n if (!fs.existsSync(fileLocation)) {\n return res.status(400).send({\n message: `Could not load package.json file for this package. Have you installed all the dependencies for this workspace?`,\n error: `No package.json in location: ${projectPath}`\n });\n }\n const packageJson = fs.readFileSync(fileLocation);\n res.send(packageJson);\n }\n);\n\napp.get('/api/pnpmfile', (req: express.Request, res: express.Response) => {\n const cjsFile = fs.readFileSync(path.resolve(appState.pnpmfileLocation));\n res.send(cjsFile);\n});\n\napp.post(\n '/api/package-spec',\n (req: express.Request<{}, {}, { projectPath: string }, {}>, res: express.Response) => {\n const { projectPath } = req.body;\n const fileLocation = path.resolve(appState.projectRoot, projectPath, 'package.json');\n if (!fs.existsSync(fileLocation)) {\n return res.status(400).send({\n message: `Could not load package.json file in location: ${projectPath}`\n });\n }\n const packageJson = fs.readFileSync(fileLocation).toString();\n\n const {\n hooks: { readPackage }\n } = require(path.resolve(appState.pnpmfileLocation));\n const parsedPackage = readPackage(JSON.parse(packageJson));\n res.send(parsedPackage);\n }\n);\n\napp.listen(PORT, async () => {\n console.log(`Rush Lockfile Explorer ${appState.appVersion} running at ${APP_URL}`);\n\n if (!process.argv.includes('--debug')) {\n try {\n // Launch the web browser\n await open(APP_URL);\n } catch (e) {\n console.error('Error launching browser: ' + e.toString());\n }\n }\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";var e,t={259:function(e,t,n){var r,a,s=n(823),c=n(998),l="HK80a6ZVkdxoTKzrP9Eq",i=n(201);!function(e){e[e.DEPENDENCY=0]="DEPENDENCY",e[e.DEV_DEPENDENCY=1]="DEV_DEPENDENCY",e[e.PEER_DEPENDENCY=2]="PEER_DEPENDENCY"}(r||(r={}));class o{constructor(e,t,n,a,s){if(this.entryId="",this.name=e,this.version=t,this.dependencyType=n,this.containingEntry=a,this.peerDependencyMeta={},this.version.startsWith("link:")){const t=this.version.substring("link:".length),n=new i.y(".").relative(new i.y(a.packageJsonFolderPath).concat(t));if(!n)return void console.error("No root relative path for dependency!",e);this.entryId="project:"+n.toString()}else this.version.startsWith("/")?this.entryId=this.version:this.dependencyType===r.PEER_DEPENDENCY?(null==s?void 0:s.peerDependencies)?this.peerDependencyMeta={name:this.name,version:s.peerDependencies[this.name],optional:!(!s.peerDependenciesMeta||!s.peerDependenciesMeta[this.name])&&s.peerDependenciesMeta[this.name].optional}:console.error("Peer dependencies info missing!",s):this.entryId="/"+this.name+"/"+this.version}static parseDependencies(e,t,n){if(n.dependencies)for(const[a,s]of Object.entries(n.dependencies))e.push(new o(a,s,r.DEPENDENCY,t));if(n.devDependencies)for(const[a,s]of Object.entries(n.devDependencies))e.push(new o(a,s,r.DEV_DEPENDENCY,t));if(n.peerDependencies)for(const[a,s]of Object.entries(n.peerDependencies))e.push(new o(a,s,r.PEER_DEPENDENCY,t,n));if(n.transitivePeerDependencies)for(const e of n.transitivePeerDependencies)t.transitivePeerDependencies.add(e)}}!function(e){e[e.Project=0]="Project",e[e.Package=1]="Package",e[e.SideBySide=2]="SideBySide",e[e.Doppelganger=3]="Doppelganger"}(a||(a={}));class d{constructor(e){this.entryId="",this.packageJsonFolderPath="",this.entryPackageName="",this.displayText="",this.dependencies=[],this.transitivePeerDependencies=new Set,this.referrers=[],this.entryPackageVersion="",this.entrySuffix="";const{rawEntryId:t,kind:n,rawYamlData:r}=e;if(this.rawEntryId=t,this.kind=n,"."!==t){if(n===a.Project){const e=new i.y("common/temp/package.json").dirname()||"",n=new i.y(".").relative(new i.y(e).concat(t)),r=new i.y(t).basename();if(!n||!r)return void console.error("Could not construct path for entry: ",t);this.packageJsonFolderPath=n.toString(),this.entryId="project:"+this.packageJsonFolderPath,this.entryPackageName=r.toString(),this.displayText="Project: "+this.entryPackageName}else{this.displayText=t;const e=d._packageEntryIdRegex.exec(t);if(e){const[,t,n]=e;this.entryPackageName=t;const r=n.indexOf("_");if(r>=0){const e=n.substring(0,r),a=n.substring(r+1);this.entryPackageVersion=e,this.entrySuffix=a,this.displayText=t+" "+e+" ("+a+")"}else this.entryPackageVersion=n,this.displayText=t+" "+n}this.packageJsonFolderPath="common/temp/node_modules/.pnpm/"+this.entryPackageName.replace("/","+")+"@"+this.entryPackageVersion+(this.entrySuffix?`_${this.entrySuffix}`:"")+"/node_modules/"+this.entryPackageName}o.parseDependencies(this.dependencies,this,r)}}}d._packageEntryIdRegex=new RegExp("/(.*)/([^/]+)$");const p=window.appContext.serviceUrl;var m="IWEAxDEzQLw3g5TI_6up",E=n(300);const u=E.I0,f=E.v9;var y=n(329);const h={allEntries:[],filters:{[a.Project]:!1,[a.Package]:!0,[a.SideBySide]:!1,[a.Doppelganger]:!1},selectedEntryStack:[],bookmarkedEntries:[]},k=(0,y.oM)({name:"entry",initialState:h,reducers:{loadEntries:(e,t)=>{e.allEntries=t.payload},setFilter:(e,t)=>{e.filters[t.payload.filter]=t.payload.state},clearStackAndPush:(e,t)=>{e.selectedEntryStack=[t.payload]},pushToStack:(e,t)=>{e.selectedEntryStack.push(t.payload)},popStack:e=>{e.selectedEntryStack.length>1&&e.selectedEntryStack.pop()},addBookmark:(e,t)=>{e.bookmarkedEntries.includes(t.payload)||e.bookmarkedEntries.push(t.payload)},removeBookmark:(e,t)=>{e.bookmarkedEntries=e.bookmarkedEntries.filter((e=>e.rawEntryId!==t.payload.rawEntryId))}}}),v=e=>e.entry.selectedEntryStack.length?e.entry.selectedEntryStack[e.entry.selectedEntryStack.length-1]:void 0,g=e=>{const t=[];return e.entry.filters[a.Package]?t.push(...e.entry.allEntries.filter((e=>e.kind===a.Package))):e.entry.filters[a.Project]&&t.push(...e.entry.allEntries.filter((e=>e.kind===a.Project))),t},{loadEntries:N,setFilter:P,clearStackAndPush:D,pushToStack:w,popStack:S,addBookmark:b,removeBookmark:C}=k.actions,j=k.reducer;const x=({options:e})=>s.createElement("div",{className:"b1H6mzJXpxsG350hyeU_"},e.map((e=>s.createElement("div",{key:e.text,className:"mWhs4CnCA0TKj6CRR8gk "+(e.active?"Q9WEwAuQb3UsVbcHr0oI":""),onClick:e.onClick},e.text)))),O=({group:e})=>{const t=f(v),n=u(),r=(0,s.useRef)(),a=(0,s.useCallback)((e=>()=>{n(D(e))}),[]);return(0,s.useEffect)((()=>{t&&t.entryPackageName===e.entryName&&r.current.scrollIntoView({behavior:"smooth"})}),[t,e]),s.createElement("div",{className:"OcndyDBetZor3ptzTnTX",ref:r},s.createElement("h5",null,e.entryName),e.versions.map((e=>s.createElement("div",{key:e.rawEntryId,onClick:a(e),className:"Wg5pG3RVf6SQ51i0tVkd "+((null==t?void 0:t.rawEntryId)===e.rawEntryId?"NBIr3yosJ9gX6LZcnC7T":"")},s.createElement("p",null,e.entryPackageVersion||e.entryPackageName," ",e.entrySuffix&&`[${e.entrySuffix}]`)))))},_=()=>{const[e,t]=(0,s.useState)(""),n=f(g),r=f((e=>e.entry.filters)),c=(0,s.useCallback)((e=>t(e.target.value)),[]),l=f((e=>e.entry.selectedEntryStack)),i=u();if(!n)return null;const o=(0,s.useCallback)((()=>{i(S())}),[]),d=(0,s.useCallback)((e=>t=>{i(P({filter:e,state:t.target.checked}))}),[]),p=(0,s.useCallback)((e=>()=>{e===a.Project?(i(P({filter:e,state:!r[e]})),i(P({filter:a.Package,state:!1}))):(i(P({filter:e,state:!r[e]})),i(P({filter:a.Project,state:!1})))}),[r]);return s.createElement(s.Fragment,null,s.createElement(x,{options:[{text:"Projects",active:r[a.Project],onClick:p(a.Project)},{text:"Packages",active:r[a.Package],onClick:p(a.Package)}]}),s.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq yk7wrFMnnNyYLABMBhz_"},s.createElement("div",{className:"oq4FJVnF_fONdOKuiK0w"},l.length>1?s.createElement("button",{onClick:o},"back"):null,s.createElement("h5",null,"filter:"),s.createElement("input",{type:"text",value:e,onChange:c})),s.createElement("div",{className:"PoJj8_8xv9BXiMVPKFVE"},(()=>{let t=[];t=e?n.filter((t=>-1!==t.entryPackageName.indexOf(e))):n;const s=t.reduce(((e,t)=>{const n=e[t.entryPackageName]||[];return n.push(t),e[t.entryPackageName]=n,e}),{});let c=[];for(const[e,t]of Object.entries(s))c.push({entryName:e,versions:t});return r[a.SideBySide]&&(c=c.filter((e=>e.versions.length>1))),r[a.Doppelganger]&&(c=c.filter((e=>(e=>{const t=new Set;for(const n of e){if(t.has(n.entryPackageVersion))return!0;t.add(n.entryPackageVersion)}return!1})(e.versions)))),c})().map((e=>s.createElement(O,{group:e,key:e.entryName})))),s.createElement("div",{className:"K6dDN5KzjLkbPPFWUaly"},s.createElement("h5",null,"Filters"),s.createElement("div",{className:m},s.createElement("input",{type:"checkbox",checked:r[a.SideBySide],onChange:d(a.SideBySide)}),s.createElement("h5",null,"Must have side-by-side versions")),s.createElement("div",{className:m},s.createElement("input",{type:"checkbox",checked:r[a.Doppelganger],onChange:d(a.Doppelganger)}),s.createElement("h5",null,"Must have doppelgangers")))))},I=window.appContext.serviceUrl;var A;!function(e){e[e.PACKAGE_JSON=0]="PACKAGE_JSON",e[e.CJS=1]="CJS",e[e.PARSED_PACKAGE_JSON=2]="PARSED_PACKAGE_JSON"}(A||(A={}));const T=()=>{const[e,t]=(0,s.useState)(void 0),[n,r]=(0,s.useState)(void 0),[a,c]=(0,s.useState)(new Map),[i,o]=(0,s.useState)(""),d=f(v),[p,m]=(0,s.useState)(A.PARSED_PACKAGE_JSON),E=(0,s.useCallback)((e=>()=>m(e)),[]);(0,s.useEffect)((()=>{d&&(d.entryPackageName?async function(e){const n=await(async()=>{try{const e=await fetch(`${I}/api/pnpmfile`);return await e.text()}catch(e){return console.error("Could not load cjs file: ",e),"Missing CJS"}})();o(n);const a=await(async e=>{try{const t=await fetch(`${I}/api/package-json`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e})});return await t.json()}catch(e){return void console.error("Could not load package json file: ",e)}})(e);t(a);const s=await(async e=>{try{const t=await fetch(`${I}/api/package-spec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e})});return await t.json()}catch(e){return void console.error("Could not load cjs file: ",e)}})(e);if(r(s),a&&s){const e=((e,t)=>{const n=new Map,r=new Map;for(const[t,r]of Object.entries(Object.assign(Object.assign(Object.assign({},e.dependencies),e.devDependencies),e.peerDependencies)))n.set(t,r);for(const[e,n]of Object.entries(Object.assign(Object.assign(Object.assign({},t.dependencies),t.devDependencies),t.peerDependencies)))r.set(e,n);const a=new Map;for(const e of n.keys())r.has(e)?r.get(e)!==n.get(e)&&a.set(e,{type:"diff",packageName:e,from:n.get(e),to:r.get(e)}):a.set(e,{type:"remove",packageName:e});for(const e of r.keys())n.has(e)||a.set(e,{type:"add",packageName:e});return a})(a,s);c(e)}}(d.packageJsonFolderPath).catch((e=>{console.error(`Failed to load project information: ${e}`)})):console.log("The selected entry has no entry name: ",d.entryPackageName))}),[d]);const u=e=>{var t,n;const[r,c]=e;if(!a.has(r))return s.createElement("p",{key:r},r,": ",c);switch(null===(t=a.get(r))||void 0===t?void 0:t.type){case"add":return s.createElement("p",{key:r},s.createElement("span",{className:"nTIc62ACgp5xMWIvZ4cn"},r,": ",c)," ","[Added by .pnpmfile.cjs]");case"diff":return s.createElement("p",{key:r},s.createElement("span",{className:"I4A8ZZlpCL3Op0c53VjN"},r,": ",c)," ","[Changed from ",null===(n=a.get(r))||void 0===n?void 0:n.from,"]");case"remove":return s.createElement("p",{key:r},s.createElement("span",{className:"iavWjvHy9s5MhCZ_ncgb"},r,": ",c)," ","[Deleted by .pnpmfile.cjs]");default:return s.createElement("p",{key:r},r,": ",c)}};return s.createElement("div",null,s.createElement(x,{options:[{text:"package spec",active:p===A.PARSED_PACKAGE_JSON,onClick:E(A.PARSED_PACKAGE_JSON)},{text:"package.json",active:p===A.PACKAGE_JSON,onClick:E(A.PACKAGE_JSON)},{text:".pnpmfile.cjs",active:p===A.CJS,onClick:E(A.CJS)}]}),s.createElement("div",{className:l},s.createElement("div",{className:"e2KEBfZCHwEMeH4j6wS7"},(()=>{switch(p){case A.PACKAGE_JSON:return e?s.createElement("pre",null,JSON.stringify(e,null,2)):null;case A.CJS:return s.createElement("pre",null,i);case A.PARSED_PACKAGE_JSON:return n?s.createElement("div",{className:"Ko0YQxSlY0hCIDTfmNlr"},s.createElement("h5",null,"Dependencies"),n.dependencies&&Object.entries(n.dependencies).map(u),s.createElement("h5",null,"Dev Dependencies"),n.devDependencies&&Object.entries(n.devDependencies).map(u),s.createElement("h5",null,"Peer Dependencies"),n.peerDependencies&&Object.entries(n.peerDependencies).map(u)):null;default:return null}})())))};var R,J="_R50_3JsFs2FC9kVffQL",F="mRQWdzXzOM1NpFUpYnhP";!function(e){e[e.Determinant=0]="Determinant",e[e.TransitiveReferrer=1]="TransitiveReferrer"}(R||(R={}));const M=()=>{var e,t;const n=f(v),a=u(),[c,i]=(0,s.useState)(null),[o,d]=(0,s.useState)([]);(0,s.useEffect)((()=>{n&&i(null)}),[n]);const p=(0,s.useCallback)((e=>()=>{if(c&&c.name===e.name)e.resolvedEntry?a(w(e.resolvedEntry)):((...e)=>{console.log("Diagnostic: ",...e)})("No resolved entry for dependency:",e);else if(n){i(e);const t=[n],r=new Set,a=new Set,s=new Set;for(s.add(n);t.length;){const n=t.pop();if(n)for(const c of n.referrers){let l=!1;for(const t of c.dependencies)if(t.name===e.name){r.add(c),l=!0;break}if(!l){c.transitivePeerDependencies.has(e.name)?a.add(c):console.error('Error analyzing influencers: A referrer appears to be missing its "transitivePeerDependencies" field in the YAML file: ',c);for(const e of n.referrers)s.has(e)||(t.push(e),s.add(e))}}}const c=[];for(const e of r.values())c.push({entry:e,type:R.Determinant});for(const e of a.values())c.push({entry:e,type:R.TransitiveReferrer});d(c)}}),[n,c]),m=(0,s.useCallback)((e=>()=>{a(w(e))}),[n]);return n?s.createElement(s.Fragment,null,s.createElement("div",{className:"KWDuEbG1GmwLxFmPPppw"},s.createElement("div",{className:l},s.createElement("h5",null,"Direct Referrers"),s.createElement("div",{className:J},null===(e=n.referrers)||void 0===e?void 0:e.map((e=>s.createElement("div",{className:F,key:e.rawEntryId,onClick:m(e)},s.createElement("h5",null,"Name: ",e.displayText),s.createElement("div",null,s.createElement("p",null,"Entry ID: ",e.rawEntryId))))))),s.createElement("div",{className:l},s.createElement("h5",null,"Direct Dependencies"),s.createElement("div",{className:J},null===(t=n.dependencies)||void 0===t?void 0:t.map((e=>s.createElement("div",{className:`mRQWdzXzOM1NpFUpYnhP ${(null==c?void 0:c.name)===e.name&&"GbZbP1wHbcReGrxpZ3Ra"}`,key:e.entryId||e.name,onClick:p(e)},s.createElement("h5",null,"Name: ",e.name," ",e.dependencyType===r.PEER_DEPENDENCY?(e.peerDependencyMeta.optional?"(Optional)":"(Non-optional)")+" Peer Dependency":""),s.createElement("div",null,s.createElement("p",null,"Version: ",e.version),s.createElement("p",null,"Entry ID: ",e.entryId)))))))),n?n.dependencies.filter((e=>e.dependencyType===r.PEER_DEPENDENCY)).length?c&&c.dependencyType===r.PEER_DEPENDENCY?s.createElement("div",{className:l},s.createElement("h5",null,"Influencers:"),o.filter((e=>e.type===R.Determinant)).map((({entry:e})=>s.createElement("div",{key:e.rawEntryId},e.displayText))),s.createElement("h5",null,"Transitive Referencers:"),o.filter((e=>e.type===R.TransitiveReferrer)).map((({entry:e})=>s.createElement("div",{key:e.rawEntryId},e.displayText)))):s.createElement("div",null,s.createElement("h5",null,"Select a peer dependency to view its influencers")):s.createElement("div",{className:l},s.createElement("h5",null,"No peer dependencies.")):null):s.createElement("div",{className:l},s.createElement("h5",null,"Select an entry to view its details"))};const K=()=>{const e=f((e=>e.entry.bookmarkedEntries)),t=u(),n=(0,s.useCallback)((e=>()=>{t(D(e))}),[]),r=(0,s.useCallback)((e=>()=>{t(C(e))}),[]);return s.createElement("div",{className:"HK80a6ZVkdxoTKzrP9Eq aM5oGgiHs9rRHcHdAqFh"},s.createElement("h5",null,"Bookmarks"),s.createElement("hr",null),e.map((e=>s.createElement("div",{key:e.rawEntryId,className:"Ci1rEoM4eR29ZJcnvJJE"},s.createElement("p",{onClick:n(e)},e.displayText),s.createElement("button",{onClick:r(e)},"Remove")))))};var Y="dklLbMzvzbuzLd2XJh3W";const V=()=>{const e=f(v),t=f((t=>!!e&&t.entry.bookmarkedEntries.includes(e))),n=u(),r=(0,s.useCallback)((()=>{e&&n(b(e))}),[e]),a=(0,s.useCallback)((()=>{e&&n(C(e))}),[e]);return e?s.createElement("div",{className:Y},s.createElement("div",{className:"Hd2WYHIwrFrldD0I8qDj"},s.createElement("h5",null,"Selected entry:"),s.createElement("span",null,e.displayText)),s.createElement("p",null,"Package Entry: ",e.rawEntryId),s.createElement("p",null,"Package JSON path: ",e.packageJsonFolderPath),t?s.createElement("button",{onClick:a},"Remove Bookmark"):s.createElement("button",{onClick:r},"Add Bookmark")):s.createElement("div",{className:Y},s.createElement("h5",null,"No Entry Selected"))};var z="wR2C2OTixe7QR738j44h",B="Oo_rkIqOkO0j8slDAm5V";const G=()=>{const e=window.appContext.appVersion;return s.createElement("div",{className:"mqcpXwTQfD4A2eS4QRMa"},s.createElement("a",{href:"https://www.npmjs.com/package/@rushstack/lockfile-explorer",target:"_blank",rel:"noreferrer"},s.createElement("div",{className:"gxAXHLK7j_oYpFDmIJLR"},s.createElement("img",{className:z,src:n(769)})),s.createElement("div",{className:"rHArsuIMBTbIFs5o2cuw"},s.createElement("img",{className:z,src:n(500)})),s.createElement("div",{className:"P6XzPBuW8Osze59RSui1"},s.createElement("img",{className:z,src:n(126)})),s.createElement("div",{className:B},e),s.createElement("div",{className:B},"rushstack.io")))},H=(0,y.xC)({reducer:{entry:j},middleware:e=>e({serializableCheck:!1})}),W=document.getElementById("root");c.render(s.createElement(E.zt,{store:H},s.createElement((()=>{const e=u();return(0,s.useEffect)((()=>{(async function(){const t=await(async()=>{const e=await fetch(`${p}/`);return(e=>{const t=[],n={},r=[];if(e.importers)for(const[s,c]of Object.entries(e.importers)){const e=new d({rawEntryId:s,kind:a.Project,rawYamlData:c});r.push(e),t.push(e),n[e.entryId]=e}const s=[];if(e.packages)for(const[r,c]of Object.entries(e.packages)){const e=new d({rawEntryId:r,kind:a.Package,rawYamlData:c});s.push(e),t.push(e),n[r]=e}for(const e of t)for(const t of e.dependencies){const r=n[t.entryId];r?(t.resolvedEntry=r,r.referrers.push(e)):console.error("Could not resolve dependency entryId: ",t.entryId)}return t})(await e.json())})();e(N(t))})().catch((e=>{console.log(`Failed to read lockfile: ${e}`)}))}),[]),s.createElement("div",{className:"uXEYthi0e8fjYu_FisVm"},s.createElement("div",{className:"FFuReYR1pIswEW7Az6w9"},s.createElement("div",{className:"ms-Grid",dir:"ltr"},s.createElement("div",{className:"ms-Grid-row"},s.createElement("div",{className:"ms-Grid-col ms-sm3"},s.createElement(_,null)),s.createElement("div",{className:"ms-Grid-col ms-sm7 HqAzbQwu1zc9yH8ZQESI"},s.createElement(V,null),s.createElement(T,null),s.createElement(M,null)),s.createElement("div",{className:"ms-Grid-col ms-sm2"},s.createElement(K,null))))),s.createElement(G,null))}),null)),W)},769:function(e,t,n){e.exports=n.p+"d39919ddc699d58b84ba.svg"},500:function(e,t,n){e.exports=n.p+"d13d30e9b42faf842d2f.svg"},126:function(e,t,n){e.exports=n.p+"510f03f81080fd3cfd63.svg"}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=function(t,n,a,s){if(!n){var c=1/0;for(d=0;d<e.length;d++){n=e[d][0],a=e[d][1],s=e[d][2];for(var l=!0,i=0;i<n.length;i++)(!1&s||c>=s)&&Object.keys(r.O).every((function(e){return r.O[e](n[i])}))?n.splice(i--,1):(l=!1,s<c&&(c=s));if(l){e.splice(d--,1);var o=a();void 0!==o&&(t=o)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[n,a,s]},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e}(),function(){var e={143:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,s,c=n[0],l=n[1],i=n[2],o=0;if(c.some((function(t){return 0!==e[t]}))){for(a in l)r.o(l,a)&&(r.m[a]=l[a]);if(i)var d=i(r)}for(t&&t(n);o<c.length;o++)s=c[o],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(d)},n=self.webpackChunk_rushstack_lockfile_explorer_web=self.webpackChunk_rushstack_lockfile_explorer_web||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}();var a=r.O(void 0,[671],(function(){return r(259)}));a=r.O(a)}();
|