diff --git a/CHANGELOG.md b/CHANGELOG.md index 181c47d..2166bb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [0.23.4](https://github.com/atom-community/atom-ide-datatip/compare/v0.23.3...v0.23.4) (2021-02-17) + + +### Bug Fixes + +* add type defs for react ([6a3531f](https://github.com/atom-community/atom-ide-datatip/commit/6a3531f8b96cfbfdd71647672ec0ed7e38d474d4)) + ## [0.23.3](https://github.com/atom-community/atom-ide-datatip/compare/v0.23.2...v0.23.3) (2021-02-10) diff --git a/dist/index-b5a60553.js b/dist/index-41c7c3a8.js similarity index 95% rename from dist/index-b5a60553.js rename to dist/index-41c7c3a8.js index 69ba378..d52dd82 100644 --- a/dist/index-b5a60553.js +++ b/dist/index-41c7c3a8.js @@ -6,5 +6,5 @@ * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */ -var A=/["'&<>]/,x=function(e){var n,t=""+e,r=A.exec(t);if(!r)return t;var a="",o=0,i=0;for(o=r.index;o{const a={stdout:r.stdout?[]:null,stderr:r.stderr?[]:null};r.on("error",n),r.stdout&&r.stdout.on("data",(function(e){a.stdout.push(e),t.handleStdout&&t.handleStdout(e)})),r.stderr&&r.stderr.on("data",(function(e){a.stderr.push(e),t.handleStderr&&t.handleStderr(e)})),r.on("close",(n=>{let r=null;null!=a.stdout&&(r=null===t.encoding||"buffer"===t.encoding?Buffer.concat(a.stdout):a.stdout.join(""));let o=null;null!=a.stderr&&(o=null===t.encoding||"buffer"===t.encoding?Buffer.concat(a.stderr):a.stderr.join("")),e({exitCode:n,stdout:r,stderr:o})}))}));return t.handleChildProcess(r),a}(e,n,{...t,handleChildProcess(e){r=e}});return a.kill=function(e){return r.kill(e)},a}async function D(e){if(j){const n=await async function(e){var n;const t=atom.packages.getLoadedPackage(e.name);return null==t?null:null!==(n=t.metadata.version)&&void 0!==n?n:null}(e);if(n)return n}return async function(e){var n,t;const{directory:r}=e;if(null==r)return null;let a=null;try{a=JSON.parse(await u.default.promises.readFile(p.default.join(r,"package.json"),"utf8"))}catch(e){return null}return null!==(n=null===(t=a)||void 0===t?void 0:t.version)&&void 0!==n?n:null}(e)}const N=j?async function(e){return atom.packages.resolvePackagePath(e)}:async function(e){var n;const t=p.default.join(null!==(n=process.env.ATOM_HOME)&&void 0!==n?n:p.default.join(d.default.homedir(),".atom"),"packages",e);try{return await u.default.promises.access(t,u.default.constants.R_OK),t}catch(e){return null}};function S(e,n){if(!e)throw new Error(null!=n?n:"Invariant violation")}async function T(e){const n=await(j?async function(e){const n=atom.packages.getLoadedPackage(e),t=n&&n.metadata["package-deps"];return Array.isArray(t)?t:[]}(e):async function(e){let n=null;try{n=await u.default.promises.stat(e)}catch(e){}if(null==n||!n.isDirectory())throw new Error("[Package-Deps] Expected packageName to be a readable directory in Node.js invocation");let t=null;try{const n=await u.default.promises.readFile(p.default.join(e,"package.json"),"utf8");t=JSON.parse(n)}catch(e){}const r=null==t||"object"!=typeof t?[]:t["package-deps"];return Array.isArray(r)?r:[]}(e));return P&&(S(Array.isArray(n),`Dependencies for ${e} are not a valid array`),n.forEach(((n,t)=>{if(Array.isArray(n))n.forEach(((n,r)=>{const a=`Dependency#${t}#${r} for ${e} is invalid`;S("string"==typeof n.name&&n.name.length>0,a),S(null==n.minimumVersion||"string"==typeof n.minimumVersion&&n.minimumVersion.length>0,a)})),S(n.length>0,`Dependency#${t} for ${e} has no group items`);else{const r=`Dependency#${t} for ${e} is invalid`;S("string"==typeof n.name&&n.name.length>0,r),S(null==n.minimumVersion||"string"==typeof n.minimumVersion&&n.minimumVersion.length>0,r)}}))),n}async function I(e){if(null==e.directory)return!0;if(null==e.minimumVersion)return!1;const n=await D(e);return null==n||1===function(e,n){for(var t=e.split("."),r=n.split("."),a=0;a<3;a++){var o=Number(t[a]),i=Number(r[a]);if(o>i)return 1;if(i>o)return-1;if(!isNaN(o)&&isNaN(i))return 1;if(isNaN(o)&&!isNaN(i))return-1}return 0}(e.minimumVersion,n)}const O=new Set(["✓","done"]),M=/(?:Installing|Moving) (.*?) to .* (.*)/;async function q(e){if("string"==typeof e)return{name:e,directory:await N(e)};if("name"in e)return{...e,directory:await N(e.name)};throw console.error("This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works",{entry:e}),Error("The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works")}let V=!0;const L=j?function({packageName:e,dependencies:n}){const t=[],r=atom.notifications.addInfo(`Installing ${e} dependencies`,{detail:`Installing ${n.map((e=>e.name)).join(", ")}`,dismissable:!0}),a=document.createElement("progress");a.max=n.length,a.style.width="100%";try{var o;const e=atom.views.getView(r),n=null!==(o=null==e?void 0:e.element)&&void 0!==o?o:null;if(null==n)throw new Error("Unable to get notification element from view");const t=n.querySelector(".detail-content");if(null==t)throw new Error("Content detail container not found inside the notification");t.appendChild(a)}catch(e){console.error("[Package-Deps] Error during showing installation progress to user",e)}return{handleFailure({dependency:e,error:n}){var r;t.push(e.name),a.value+=1,console.error(`[Package-Deps] Unable to install ${e.name}, Error:`,null!==(r=null==n?void 0:n.stack)&&void 0!==r?r:n)},handleDependencyInstalled(e){a.value+=1},handleComplete(){r.dismiss(),t.length>0?atom.notifications.addWarning(`Failed to install ${e} dependencies`,{detail:`These packages were not installed, check your console\nfor more info.\n${t.join("\n")}`,dismissable:!0}):atom.notifications.addSuccess(`Installed ${e} dependencies`,{detail:`Installed ${n.map((e=>e.name)).join(", ")}`}),Promise.all(n.map((e=>t.includes(e.name)?null:atom.packages.activatePackage(e.name)))).catch((n=>{console.error(`[Package-Deps] Error activating installed packages for ${e}`,n)}))}}}:function({dependencies:e}){let n=!1;return console.log(`Installing dependencies:\n${e.map((e=>` - ${e.name}`)).join("\n")}`),{handleFailure({dependency:e,error:t}){var r;n=!0,console.error(`Unable to install ${e.name}, Error:`,null!==(r=null==t?void 0:t.stack)&&void 0!==r?r:t)},handleDependencyInstalled(e){console.log("Successfully installed",e.name)},handleComplete(){console.log("Installation complete"),n&&(process.exitCode=1)}}},_=j?function({packageName:e,dependencies:n}){return new Promise((t=>{const r=n.filter((e=>!Array.isArray(e))),a=n.filter((e=>Array.isArray(e))),o=0===a.length,i=o?r.map((e=>e.name)).join(", "):"Something went wrong. Check your developer console",s=a.map((e=>e[0]));atom.packages.isPackageDisabled("notifications")&&console.warn(`Enable notifications to install dependencies for ${e}`);const l=atom.notifications.addInfo(`${e} needs to install dependencies`,{dismissable:!0,icon:"cloud-download",detail:i,description:`Install dependenc${1===n.length?"y":"ies"}?`,buttons:[{text:"Yes",onDidClick:()=>{t(o?[]:r.concat(s)),l.dismiss()}},{text:"No Thanks",onDidClick:()=>{l.dismiss()}},{text:"Never",onDidClick:()=>{!function(e){var n;if(!j)return;const t=new Set(null!==(n=atom.config.get("atom-package-deps.ignored"))&&void 0!==n?n:[]);t.add(e),atom.config.set("atom-package-deps.ignored",Array.from(t))}(e),V&&(V=!1,atom.notifications.addInfo("How to reset package-deps memory",{dismissable:!0,description:"To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section"})),l.dismiss()}}]});if(l.onDidDismiss((()=>t([]))),!o)try{var c;const e=atom.views.getView(l),n=null!==(c=null==e?void 0:e.element)&&void 0!==c?c:null;if(null==n)throw new Error("Unable to get notification element from view");const t=n.querySelector(".detail-content");if(null==t)throw new Error("Content detail container not found inside the notification");if(t.innerHTML="",r.length>0){const e=document.createElement("div");e.innerHTML=`Packages without choices:
`,t.appendChild(e)}const o=document.createElement("div");o.innerHTML="Packages with choices:",t.appendChild(o);const i=document.createElement("ul");a.forEach(((e,n)=>{const t=document.createElement("li"),r=document.createElement("select");r.innerHTML=e.map((e=>``)).join("\n"),r.addEventListener("change",(()=>{const t=e.find((e=>e.name===r.value));null!=t&&(s[n]=t)})),t.style.marginTop="5px",t.appendChild(r),i.appendChild(t)})),t.appendChild(i)}catch(e){console.error("[Package-Deps] Error during showing package choices to user",e)}}))}:async function({dependencies:e}){return e.map((e=>Array.isArray(e)?e[0]:e))};var F=async function(e,n=!1){if(S("string"==typeof e&&e.length>0,"[Package-Deps] Package name is required"),t=e,j&&(null!==(r=atom.config.get("atom-package-deps.ignored"))&&void 0!==r?r:[]).includes(t))return;var t,r;const a=await T(e);if(0===a.length)return;const o=await Promise.all(a.map((async e=>Array.isArray(e)?Promise.all(e.map(q)):q(e)))),i=await E(o,(async function(e){return Array.isArray(e)?(await Promise.all(e.map((e=>I(e))))).every(Boolean):I(e)}));if(0===i.length)return;let s;if(s=n?i.map((e=>Array.isArray(e)?e[0]:e)):await _({packageName:e,dependencies:i}),0===s.length)return;const l=L({packageName:e,dependencies:s});await(async(e,n,{concurrency:t=1/0,stopOnError:r=!0}={})=>new Promise(((a,o)=>{if("function"!=typeof n)throw new TypeError("Mapper function is required");if(!Number.isSafeInteger(t)&&t!==1/0||!(t>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${t}\` (${typeof t})`);const i=[],s=[],l=e[Symbol.iterator]();let c=!1,d=!1,u=0,p=0;const f=()=>{if(c)return;const e=l.next(),t=p;if(p++,e.done)return d=!0,void(0===u&&(r||0===s.length?a(i):o(new h(s))));u++,(async()=>{try{const r=await e.value;i[t]=await n(r,t),u--,f()}catch(e){r?(c=!0,o(e)):(s.push(e),u--,f())}})()};for(let e=0;e]/,x=function(e){var n,t=""+e,r=A.exec(t);if(!r)return t;var a="",o=0,i=0;for(o=r.index;o{const a={stdout:r.stdout?[]:null,stderr:r.stderr?[]:null};r.on("error",n),r.stdout&&r.stdout.on("data",(function(e){a.stdout.push(e),t.handleStdout&&t.handleStdout(e)})),r.stderr&&r.stderr.on("data",(function(e){a.stderr.push(e),t.handleStderr&&t.handleStderr(e)})),r.on("close",(n=>{let r=null;null!=a.stdout&&(r=null===t.encoding||"buffer"===t.encoding?Buffer.concat(a.stdout):a.stdout.join(""));let o=null;null!=a.stderr&&(o=null===t.encoding||"buffer"===t.encoding?Buffer.concat(a.stderr):a.stderr.join("")),e({exitCode:n,stdout:r,stderr:o})}))}));return t.handleChildProcess(r),a}(e,n,{...t,handleChildProcess(e){r=e}});return a.kill=function(e){return r.kill(e)},a}async function D(e){if(j){const n=await async function(e){var n;const t=atom.packages.getLoadedPackage(e.name);return null==t?null:null!==(n=t.metadata.version)&&void 0!==n?n:null}(e);if(n)return n}return async function(e){var n,t;const{directory:r}=e;if(null==r)return null;let a=null;try{a=JSON.parse(await u.default.promises.readFile(p.default.join(r,"package.json"),"utf8"))}catch(e){return null}return null!==(n=null===(t=a)||void 0===t?void 0:t.version)&&void 0!==n?n:null}(e)}const N=j?async function(e){return atom.packages.resolvePackagePath(e)}:async function(e){var n;const t=p.default.join(null!==(n=process.env.ATOM_HOME)&&void 0!==n?n:p.default.join(d.default.homedir(),".atom"),"packages",e);try{return await u.default.promises.access(t,u.default.constants.R_OK),t}catch(e){return null}};function S(e,n){if(!e)throw new Error(null!=n?n:"Invariant violation")}async function T(e){const n=await(j?async function(e){const n=atom.packages.getLoadedPackage(e),t=n&&n.metadata["package-deps"];return Array.isArray(t)?t:[]}(e):async function(e){let n=null;try{n=await u.default.promises.stat(e)}catch(e){}if(null==n||!n.isDirectory())throw new Error("[Package-Deps] Expected packageName to be a readable directory in Node.js invocation");let t=null;try{const n=await u.default.promises.readFile(p.default.join(e,"package.json"),"utf8");t=JSON.parse(n)}catch(e){}const r=null==t||"object"!=typeof t?[]:t["package-deps"];return Array.isArray(r)?r:[]}(e));return P&&(S(Array.isArray(n),`Dependencies for ${e} are not a valid array`),n.forEach(((n,t)=>{if(Array.isArray(n))n.forEach(((n,r)=>{const a=`Dependency#${t}#${r} for ${e} is invalid`;S("string"==typeof n.name&&n.name.length>0,a),S(null==n.minimumVersion||"string"==typeof n.minimumVersion&&n.minimumVersion.length>0,a)})),S(n.length>0,`Dependency#${t} for ${e} has no group items`);else{const r=`Dependency#${t} for ${e} is invalid`;S("string"==typeof n.name&&n.name.length>0,r),S(null==n.minimumVersion||"string"==typeof n.minimumVersion&&n.minimumVersion.length>0,r)}}))),n}async function I(e){if(null==e.directory)return!0;if(null==e.minimumVersion)return!1;const n=await D(e);return null==n||1===function(e,n){for(var t=e.split("."),r=n.split("."),a=0;a<3;a++){var o=Number(t[a]),i=Number(r[a]);if(o>i)return 1;if(i>o)return-1;if(!isNaN(o)&&isNaN(i))return 1;if(isNaN(o)&&!isNaN(i))return-1}return 0}(e.minimumVersion,n)}const O=new Set(["✓","done"]),M=/(?:Installing|Moving) (.*?) to .* (.*)/;async function q(e){if("string"==typeof e)return{name:e,directory:await N(e)};if("name"in e)return{...e,directory:await N(e.name)};throw console.error("This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works",{entry:e}),Error("The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works")}let V=!0;const L=j?function({packageName:e,dependencies:n}){const t=[],r=atom.notifications.addInfo(`Installing ${e} dependencies`,{detail:`Installing ${n.map((e=>e.name)).join(", ")}`,dismissable:!0}),a=document.createElement("progress");a.max=n.length,a.style.width="100%";try{var o;const e=atom.views.getView(r),n=null!==(o=null==e?void 0:e.element)&&void 0!==o?o:null;if(null==n)throw new Error("Unable to get notification element from view");const t=n.querySelector(".detail-content");if(null==t)throw new Error("Content detail container not found inside the notification");t.appendChild(a)}catch(e){console.error("[Package-Deps] Error during showing installation progress to user",e)}return{handleFailure({dependency:e,error:n}){var r;t.push(e.name),a.value+=1,console.error(`[Package-Deps] Unable to install ${e.name}, Error:`,null!==(r=null==n?void 0:n.stack)&&void 0!==r?r:n)},handleDependencyInstalled(e){a.value+=1},handleComplete(){r.dismiss(),t.length>0?atom.notifications.addWarning(`Failed to install ${e} dependencies`,{detail:`These packages were not installed, check your console\nfor more info.\n${t.join("\n")}`,dismissable:!0}):atom.notifications.addSuccess(`Installed ${e} dependencies`,{detail:`Installed ${n.map((e=>e.name)).join(", ")}`}),Promise.all(n.map((e=>t.includes(e.name)?null:atom.packages.activatePackage(e.name)))).catch((n=>{console.error(`[Package-Deps] Error activating installed packages for ${e}`,n)}))}}}:function({dependencies:e}){let n=!1;return console.log(`Installing dependencies:\n${e.map((e=>` - ${e.name}`)).join("\n")}`),{handleFailure({dependency:e,error:t}){var r;n=!0,console.error(`Unable to install ${e.name}, Error:`,null!==(r=null==t?void 0:t.stack)&&void 0!==r?r:t)},handleDependencyInstalled(e){console.log("Successfully installed",e.name)},handleComplete(){console.log("Installation complete"),n&&(process.exitCode=1)}}},_=j?function({packageName:e,dependencies:n}){return new Promise((t=>{const r=n.filter((e=>!Array.isArray(e))),a=n.filter((e=>Array.isArray(e))),o=0===a.length,i=o?r.map((e=>e.name)).join(", "):"Something went wrong. Check your developer console",s=a.map((e=>e[0]));atom.packages.isPackageDisabled("notifications")&&console.warn(`Enable notifications to install dependencies for ${e}`);const l=atom.notifications.addInfo(`${e} needs to install dependencies`,{dismissable:!0,icon:"cloud-download",detail:i,description:`Install dependenc${1===n.length?"y":"ies"}?`,buttons:[{text:"Yes",onDidClick:()=>{t(o?[]:r.concat(s)),l.dismiss()}},{text:"No Thanks",onDidClick:()=>{l.dismiss()}},{text:"Never",onDidClick:()=>{!function(e){var n;if(!j)return;const t=new Set(null!==(n=atom.config.get("atom-package-deps.ignored"))&&void 0!==n?n:[]);t.add(e),atom.config.set("atom-package-deps.ignored",Array.from(t))}(e),V&&(V=!1,atom.notifications.addInfo("How to reset package-deps memory",{dismissable:!0,description:"To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section"})),l.dismiss()}}]});if(l.onDidDismiss((()=>t([]))),!o)try{var c;const e=atom.views.getView(l),n=null!==(c=null==e?void 0:e.element)&&void 0!==c?c:null;if(null==n)throw new Error("Unable to get notification element from view");const t=n.querySelector(".detail-content");if(null==t)throw new Error("Content detail container not found inside the notification");if(t.innerHTML="",r.length>0){const e=document.createElement("div");e.innerHTML=`Packages without choices:
  • ${r.map((e=>x(e.name))).join("
  • ")}
`,t.appendChild(e)}const o=document.createElement("div");o.innerHTML="Packages with choices:",t.appendChild(o);const i=document.createElement("ul");a.forEach(((e,n)=>{const t=document.createElement("li"),r=document.createElement("select");r.innerHTML=e.map((e=>``)).join("\n"),r.addEventListener("change",(()=>{const t=e.find((e=>e.name===r.value));null!=t&&(s[n]=t)})),t.style.marginTop="5px",t.appendChild(r),i.appendChild(t)})),t.appendChild(i)}catch(e){console.error("[Package-Deps] Error during showing package choices to user",e)}}))}:async function({dependencies:e}){return e.map((e=>Array.isArray(e)?e[0]:e))};var F=async function(e,n=!1){if(S("string"==typeof e&&e.length>0,"[Package-Deps] Package name is required"),t=e,j&&(null!==(r=atom.config.get("atom-package-deps.ignored"))&&void 0!==r?r:[]).includes(t))return;var t,r;const a=await T(e);if(0===a.length)return;const o=await Promise.all(a.map((async e=>Array.isArray(e)?Promise.all(e.map(q)):q(e)))),i=await E(o,(async function(e){return Array.isArray(e)?(await Promise.all(e.map((e=>I(e))))).every(Boolean):I(e)}));if(0===i.length)return;let s;if(s=n?i.map((e=>Array.isArray(e)?e[0]:e)):await _({packageName:e,dependencies:i}),0===s.length)return;const l=L({packageName:e,dependencies:s});await(async(e,n,{concurrency:t=1/0,stopOnError:r=!0}={})=>new Promise(((a,o)=>{if("function"!=typeof n)throw new TypeError("Mapper function is required");if(!Number.isSafeInteger(t)&&t!==1/0||!(t>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${t}\` (${typeof t})`);const i=[],s=[],l=e[Symbol.iterator]();let c=!1,d=!1,u=0,p=0;const f=()=>{if(c)return;const e=l.next(),t=p;if(p++,e.done)return d=!0,void(0===u&&(r||0===s.length?a(i):o(new h(s))));u++,(async()=>{try{const r=await e.value;i[t]=await n(r,t),u--,f()}catch(e){r?(c=!0,o(e)):(s.push(e),u--,f())}})()};for(let e=0;e {\n\toptions = {\n\t\tindent: ' ',\n\t\tincludeEmptyLines: false,\n\t\t...options\n\t};\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (typeof options.indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof options.indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, options.indent.repeat(count));\n};\n\nconst extractPathRegex = /\\s+at.*(?:\\(|\\s)(.*)\\)?/;\nconst pathRegex = /^(?:(?:(?:node|(?:internal\\/[\\w/]*|.*node_modules\\/(?:babel-polyfill|pirates)\\/.*)?\\w+)\\.js:\\d+:\\d+)|native)/;\nconst homeDir = typeof os__default['default'].homedir === 'undefined' ? '' : os__default['default'].homedir();\n\nvar cleanStack = (stack, options) => {\n\toptions = Object.assign({pretty: false}, options);\n\n\treturn stack.replace(/\\\\/g, '/')\n\t\t.split('\\n')\n\t\t.filter(line => {\n\t\t\tconst pathMatches = line.match(extractPathRegex);\n\t\t\tif (pathMatches === null || !pathMatches[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst match = pathMatches[1];\n\n\t\t\t// Electron\n\t\t\tif (\n\t\t\t\tmatch.includes('.app/Contents/Resources/electron.asar') ||\n\t\t\t\tmatch.includes('.app/Contents/Resources/default_app.asar')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !pathRegex.test(match);\n\t\t})\n\t\t.filter(line => line.trim() !== '')\n\t\t.map(line => {\n\t\t\tif (options.pretty) {\n\t\t\t\treturn line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~')));\n\t\t\t}\n\n\t\t\treturn line;\n\t\t})\n\t\t.join('\\n');\n};\n\nconst cleanInternalStack = stack => stack.replace(/\\s+at .*aggregate-error\\/index.js:\\d+:\\d+\\)?/g, '');\n\nclass AggregateError extends Error {\n\tconstructor(errors) {\n\t\tif (!Array.isArray(errors)) {\n\t\t\tthrow new TypeError(`Expected input to be an Array, got ${typeof errors}`);\n\t\t}\n\n\t\terrors = [...errors].map(error => {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn error;\n\t\t\t}\n\n\t\t\tif (error !== null && typeof error === 'object') {\n\t\t\t\t// Handle plain error objects with message property and/or possibly other metadata\n\t\t\t\treturn Object.assign(new Error(error.message), error);\n\t\t\t}\n\n\t\t\treturn new Error(error);\n\t\t});\n\n\t\tlet message = errors\n\t\t\t.map(error => {\n\t\t\t\t// The `stack` property is not standardized, so we can't assume it exists\n\t\t\t\treturn typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error);\n\t\t\t})\n\t\t\t.join('\\n');\n\t\tmessage = '\\n' + indentString(message, 4);\n\t\tsuper(message);\n\n\t\tthis.name = 'AggregateError';\n\n\t\tObject.defineProperty(this, '_errors', {value: errors});\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const error of this._errors) {\n\t\t\tyield error;\n\t\t}\n\t}\n}\n\nvar aggregateError = AggregateError;\n\nvar pMap = async (\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Infinity,\n\t\tstopOnError = true\n\t} = {}\n) => {\n\treturn new Promise((resolve, reject) => {\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst iterator = iterable[Symbol.iterator]();\n\t\tlet isRejected = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\n\t\tconst next = () => {\n\t\t\tif (isRejected) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = iterator.next();\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0) {\n\t\t\t\t\tif (!stopOnError && errors.length !== 0) {\n\t\t\t\t\t\treject(new aggregateError(errors));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\t\t\t\t\tresult[index] = await mapper(element, index);\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (stopOnError) {\n\t\t\t\t\t\tisRejected = true;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.push(error);\n\t\t\t\t\t\tresolvingCount--;\n\t\t\t\t\t\tnext();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t};\n\n\t\tfor (let i = 0; i < concurrency; i++) {\n\t\t\tnext();\n\n\t\t\tif (isIterableDone) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst pMap$1 = (iterable, mapper, options) => new Promise((resolve, reject) => {\n\toptions = Object.assign({\n\t\tconcurrency: Infinity\n\t}, options);\n\n\tif (typeof mapper !== 'function') {\n\t\tthrow new TypeError('Mapper function is required');\n\t}\n\n\tconst {concurrency} = options;\n\n\tif (!(typeof concurrency === 'number' && concurrency >= 1)) {\n\t\tthrow new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t}\n\n\tconst ret = [];\n\tconst iterator = iterable[Symbol.iterator]();\n\tlet isRejected = false;\n\tlet isIterableDone = false;\n\tlet resolvingCount = 0;\n\tlet currentIndex = 0;\n\n\tconst next = () => {\n\t\tif (isRejected) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItem = iterator.next();\n\t\tconst i = currentIndex;\n\t\tcurrentIndex++;\n\n\t\tif (nextItem.done) {\n\t\t\tisIterableDone = true;\n\n\t\t\tif (resolvingCount === 0) {\n\t\t\t\tresolve(ret);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tresolvingCount++;\n\n\t\tPromise.resolve(nextItem.value)\n\t\t\t.then(element => mapper(element, i))\n\t\t\t.then(\n\t\t\t\tvalue => {\n\t\t\t\t\tret[i] = value;\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terror => {\n\t\t\t\t\tisRejected = true;\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t);\n\t};\n\n\tfor (let i = 0; i < concurrency; i++) {\n\t\tnext();\n\n\t\tif (isIterableDone) {\n\t\t\tbreak;\n\t\t}\n\t}\n});\n\nvar pMap_1 = pMap$1;\n// TODO: Remove this for the next major release\nvar _default = pMap$1;\npMap_1.default = _default;\n\nconst pFilter = async (iterable, filterer, options) => {\n\tconst values = await pMap_1(\n\t\titerable,\n\t\t(element, index) => Promise.all([filterer(element, index), element]),\n\t\toptions\n\t);\n\treturn values.filter(value => Boolean(value[0])).map(value => value[1]);\n};\n\nvar pFilter_1 = pFilter;\n// TODO: Remove this for the next major release\nvar _default$1 = pFilter;\npFilter_1.default = _default$1;\n\nconst IS_ATOM = typeof atom !== 'undefined';\nconst IS_DEV = typeof atom !== 'undefined' && (atom.inDevMode() || atom.inSpecMode());\nconst IGNORED_CONFIG_NAME = 'atom-package-deps.ignored';\n\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nvar escapeHtml_1 = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n\nasync function spawnInternal(command, args, options) {\n const spawnedProcess = child_process.spawn(command, args, options);\n const promise = new Promise((resolve, reject) => {\n const output = {\n stdout: spawnedProcess.stdout ? [] : null,\n stderr: spawnedProcess.stderr ? [] : null,\n };\n spawnedProcess.on('error', reject);\n if (spawnedProcess.stdout) {\n spawnedProcess.stdout.on('data', function (chunk) {\n output.stdout.push(chunk);\n if (options.handleStdout) {\n options.handleStdout(chunk);\n }\n });\n }\n if (spawnedProcess.stderr) {\n spawnedProcess.stderr.on('data', function (chunk) {\n output.stderr.push(chunk);\n if (options.handleStderr) {\n options.handleStderr(chunk);\n }\n });\n }\n spawnedProcess.on('close', code => {\n let outputStdout = null;\n if (output.stdout != null) {\n outputStdout =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stdout)\n : output.stdout.join('');\n }\n let outputStderr = null;\n if (output.stderr != null) {\n outputStderr =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stderr)\n : output.stderr.join('');\n }\n resolve({\n exitCode: code,\n stdout: outputStdout,\n stderr: outputStderr,\n });\n });\n });\n options.handleChildProcess(spawnedProcess);\n return promise;\n}\nfunction spawn(command, args, options) {\n let spawnedProcess;\n const promise = spawnInternal(command, args, {\n ...options,\n handleChildProcess(_spawnedProcess) {\n spawnedProcess = _spawnedProcess;\n },\n });\n promise.kill = function (signal) {\n // TODO: kill all subprocesses on windows with wmic?\n return spawnedProcess.kill(signal);\n };\n return promise;\n}\n\nvar semverCompare = function cmp (a, b) {\n var pa = a.split('.');\n var pb = b.split('.');\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n return 0;\n};\n\nasync function getDependencies(packageName) {\n const packageModule = atom.packages.getLoadedPackage(packageName);\n const packageDependencies = packageModule && packageModule.metadata['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath(packageName) {\n return atom.packages.resolvePackagePath(packageName);\n}\nasync function getInstalledDependencyVersion(dependency) {\n var _packageModule$metada;\n\n const packageModule = atom.packages.getLoadedPackage(dependency.name);\n return packageModule == null ? null : (_packageModule$metada = packageModule.metadata.version) !== null && _packageModule$metada !== void 0 ? _packageModule$metada : null;\n}\n\nasync function getDependencies$1(packageName) {\n let packageStats = null;\n\n try {\n packageStats = await fs__default['default'].promises.stat(packageName);\n } catch (_) {// No Op\n }\n\n if (packageStats == null || !packageStats.isDirectory()) {\n throw new Error(`[Package-Deps] Expected packageName to be a readable directory in Node.js invocation`);\n }\n\n let parsed = null;\n\n try {\n const contents = await fs__default['default'].promises.readFile(path__default['default'].join(packageName, 'package.json'), 'utf8');\n parsed = JSON.parse(contents);\n } catch (_) {// Ignore JSON read errors and such\n }\n\n const packageDependencies = parsed == null || typeof parsed !== 'object' ? [] : parsed['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath$1(packageName) {\n var _process$env$ATOM_HOM;\n\n const packageDirectory = path__default['default'].join((_process$env$ATOM_HOM = process.env.ATOM_HOME) !== null && _process$env$ATOM_HOM !== void 0 ? _process$env$ATOM_HOM : path__default['default'].join(os__default['default'].homedir(), '.atom'), 'packages', packageName);\n\n try {\n await fs__default['default'].promises.access(packageDirectory, fs__default['default'].constants.R_OK);\n return packageDirectory;\n } catch (_) {\n return null;\n }\n}\nasync function getInstalledDependencyVersion$1(dependency) {\n var _manifest$version, _manifest;\n\n const {\n directory\n } = dependency;\n\n if (directory == null) {\n // Not possible to get version without resolved directory in Node.js version\n return null;\n }\n\n let manifest = null;\n\n try {\n manifest = JSON.parse(await fs__default['default'].promises.readFile(path__default['default'].join(directory, 'package.json'), 'utf8'));\n } catch (_) {\n return null;\n }\n\n return (_manifest$version = (_manifest = manifest) === null || _manifest === void 0 ? void 0 : _manifest.version) !== null && _manifest$version !== void 0 ? _manifest$version : null;\n}\n\n/**\n * Internal helpers\n */\n\nasync function getInstalledDependencyVersion$2(dependency) {\n if (IS_ATOM) {\n const atomPackageVersion = await getInstalledDependencyVersion(dependency);\n\n if (atomPackageVersion) {\n return atomPackageVersion;\n } // If the package isn't activated, it won't be loaded, so fallback to reading manifest file instead\n\n }\n\n return getInstalledDependencyVersion$1(dependency);\n}\n/**\n * Exported helpers\n */\n\n\nconst resolveDependencyPath$2 = IS_ATOM ? resolveDependencyPath : resolveDependencyPath$1;\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(message !== null && message !== void 0 ? message : 'Invariant violation');\n }\n}\nasync function getDependencies$2(name) {\n const dependencies = await (IS_ATOM ? getDependencies(name) : getDependencies$1(name));\n\n if (IS_DEV) {\n invariant(Array.isArray(dependencies), `Dependencies for ${name} are not a valid array`);\n dependencies.forEach((item, index) => {\n if (Array.isArray(item)) {\n item.forEach((subitem, subindex) => {\n const invalidMessage = `Dependency#${index}#${subindex} for ${name} is invalid`;\n invariant(typeof subitem.name === 'string' && subitem.name.length > 0, invalidMessage);\n invariant(subitem.minimumVersion == null || typeof subitem.minimumVersion === 'string' && subitem.minimumVersion.length > 0, invalidMessage);\n });\n invariant(item.length > 0, `Dependency#${index} for ${name} has no group items`);\n } else {\n const invalidMessage = `Dependency#${index} for ${name} is invalid`;\n invariant(typeof item.name === 'string' && item.name.length > 0, invalidMessage);\n invariant(item.minimumVersion == null || typeof item.minimumVersion === 'string' && item.minimumVersion.length > 0, invalidMessage);\n }\n });\n }\n\n return dependencies;\n}\nasync function shouldInstallDependency(dependency) {\n if (dependency.directory == null) {\n // Not installed, so install\n return true;\n }\n\n if (dependency.minimumVersion == null) {\n // Already installed and no version defined, so skip\n return false;\n }\n\n const version = await getInstalledDependencyVersion$2(dependency);\n\n if (version == null) {\n // Unable to get current version, so install\n return true;\n }\n\n return semverCompare(dependency.minimumVersion, version) === 1;\n}\nfunction isPackageIgnored(name) {\n var _atom$config$get;\n\n if (!IS_ATOM) {\n // Never ignored in CLI\n return false;\n }\n\n const ignoredPackages = (_atom$config$get = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get !== void 0 ? _atom$config$get : [];\n\n if (ignoredPackages.includes(name)) {\n return true;\n }\n\n return false;\n}\nfunction markPackageAsIgnored(name) {\n var _atom$config$get2;\n\n if (!IS_ATOM) {\n // No op in CLI\n return;\n }\n\n const ignoredPackages = new Set((_atom$config$get2 = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get2 !== void 0 ? _atom$config$get2 : []);\n ignoredPackages.add(name);\n atom.config.set(IGNORED_CONFIG_NAME, Array.from(ignoredPackages));\n}\nconst INSTALL_VALID_TICKS = new Set(['✓', 'done']);\nconst INSTALL_VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/; // Example success output: Uninstalling linter-ui-default ✓\n\nasync function installPackage(dependency) {\n const apmPath = IS_ATOM ? `\"${atom.packages.getApmPath()}\"` : 'apm';\n const {\n stdout,\n stderr\n } = await spawn(apmPath, ['install', dependency.name, '--production', '--color', 'false'], {\n shell: true\n });\n const match = INSTALL_VALIDATION_REGEXP.exec(stdout.trim());\n\n if (match != null && INSTALL_VALID_TICKS.has(match[2])) {\n // Installation complete and verified\n return;\n }\n\n const error = new Error(`Error installing dependency: ${dependency.name}`);\n error.stack = stderr.trim();\n throw error;\n}\nasync function getResolvedDependency(item) {\n // string entry\n if (typeof item === 'string') {\n return {\n name: item,\n directory: await resolveDependencyPath$2(item)\n };\n }\n\n if ('name' in item) {\n return { ...item,\n directory: await resolveDependencyPath$2(item.name)\n };\n }\n\n console.error(`This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`, {\n entry: item\n });\n throw Error(`The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`);\n}\n\nlet showResetInstruction = true;\nfunction confirmPackagesToInstall({\n packageName,\n dependencies\n}) {\n return new Promise(resolve => {\n const ungroupedDependencies = dependencies.filter(item => !Array.isArray(item));\n const groupedDependencies = dependencies.filter(item => Array.isArray(item));\n const skipGroups = groupedDependencies.length === 0;\n const detail = skipGroups ? ungroupedDependencies.map(item => item.name).join(', ') : 'Something went wrong. Check your developer console';\n const groupChoices = groupedDependencies.map(item => item[0]); // If Atom \"notifications\" package is disabled output a warning in case no other notifications package is installed.\n\n if (atom.packages.isPackageDisabled('notifications')) {\n console.warn(`Enable notifications to install dependencies for ${packageName}`);\n }\n\n const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, {\n dismissable: true,\n icon: 'cloud-download',\n detail,\n description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`,\n buttons: [{\n text: 'Yes',\n onDidClick: () => {\n if (skipGroups) {\n resolve([]);\n } else {\n resolve(ungroupedDependencies.concat(groupChoices));\n }\n\n notification.dismiss();\n }\n }, {\n text: 'No Thanks',\n onDidClick: () => {\n notification.dismiss();\n }\n }, {\n text: 'Never',\n onDidClick: () => {\n markPackageAsIgnored(packageName);\n\n if (showResetInstruction) {\n showResetInstruction = false;\n atom.notifications.addInfo('How to reset package-deps memory', {\n dismissable: true,\n description: \"To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section\"\n });\n }\n\n notification.dismiss();\n }\n }]\n });\n notification.onDidDismiss(() => resolve([]));\n\n if (skipGroups) {\n return;\n } // Handle groups\n\n\n try {\n var _notificationView$ele;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele !== void 0 ? _notificationView$ele : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n } // Clear the contents and add some skel\n\n\n notificationContent.innerHTML = ''; // Add list of ungroup dependencies to the top of the notification\n\n if (ungroupedDependencies.length > 0) {\n const ungroupedLine = document.createElement('div');\n ungroupedLine.innerHTML = `Packages without choices:
  • ${ungroupedDependencies.map(item => escapeHtml_1(item.name)).join('
  • ')}
`;\n notificationContent.appendChild(ungroupedLine);\n } // Create a label line for groups\n\n\n const groupLabelLine = document.createElement('div');\n groupLabelLine.innerHTML = `Packages with choices:`;\n notificationContent.appendChild(groupLabelLine); // Create one line per group with a select inside\n\n const groupedList = document.createElement('ul');\n groupedDependencies.forEach((item, index) => {\n const listItem = document.createElement('li');\n const select = document.createElement('select');\n select.innerHTML = item.map(subitem => ``).join('\\n');\n select.addEventListener('change', () => {\n // Change the selected value for this index for resolve to use\n const subitem = item.find(entry => entry.name === select.value);\n\n if (subitem != null) {\n groupChoices[index] = subitem;\n }\n });\n listItem.style.marginTop = '5px';\n listItem.appendChild(select);\n groupedList.appendChild(listItem);\n });\n notificationContent.appendChild(groupedList);\n } catch (err) {\n console.error('[Package-Deps] Error during showing package choices to user', err);\n }\n });\n}\nfunction getView({\n packageName,\n dependencies\n}) {\n const failed = [];\n const notification = atom.notifications.addInfo(`Installing ${packageName} dependencies`, {\n detail: `Installing ${dependencies.map(item => item.name).join(', ')}`,\n dismissable: true\n });\n const progress = document.createElement('progress');\n progress.max = dependencies.length;\n progress.style.width = '100%';\n\n try {\n var _notificationView$ele2;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele2 = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele2 !== void 0 ? _notificationView$ele2 : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n }\n\n notificationContent.appendChild(progress);\n } catch (err) {\n console.error('[Package-Deps] Error during showing installation progress to user', err);\n }\n\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed.push(dependency.name);\n progress.value += 1;\n console.error(`[Package-Deps] Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n progress.value += 1;\n },\n\n handleComplete() {\n notification.dismiss();\n\n if (failed.length > 0) {\n atom.notifications.addWarning(`Failed to install ${packageName} dependencies`, {\n detail: `These packages were not installed, check your console\\nfor more info.\\n${failed.join('\\n')}`,\n dismissable: true\n });\n } else {\n atom.notifications.addSuccess(`Installed ${packageName} dependencies`, {\n detail: `Installed ${dependencies.map(item => item.name).join(', ')}`\n });\n }\n\n Promise.all(dependencies.map(item => {\n if (!failed.includes(item.name)) {\n return atom.packages.activatePackage(item.name);\n }\n\n return null;\n })).catch(err => {\n console.error(`[Package-Deps] Error activating installed packages for ${packageName}`, err);\n });\n }\n\n };\n}\n\nasync function confirmPackagesToInstall$1({\n dependencies\n}) {\n // No user interaction on the CLI. Install the first (aka \"default\" choice) package\n return dependencies.map(item => Array.isArray(item) ? item[0] : item);\n}\nfunction getView$1({\n dependencies\n}) {\n let failed = false;\n console.log(`Installing dependencies:\\n${dependencies.map(item => ` - ${item.name}`).join('\\n')}`);\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed = true;\n console.error(`Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n console.log('Successfully installed', dependency.name);\n },\n\n handleComplete() {\n console.log('Installation complete');\n\n if (failed) {\n // Fail the invocation\n process.exitCode = 1;\n }\n }\n\n };\n}\n\nconst getView$2 = IS_ATOM ? getView : getView$1;\nconst confirmPackagesToInstall$2 = IS_ATOM ? confirmPackagesToInstall : confirmPackagesToInstall$1;\n\nasync function install(packageName, hideUserPrompt = false) {\n invariant(typeof packageName === 'string' && packageName.length > 0, '[Package-Deps] Package name is required');\n\n if (isPackageIgnored(packageName)) {\n // User ignored this package\n return;\n } // Get list of relevant dependencies\n\n\n const dependencies = await getDependencies$2(packageName);\n\n if (dependencies.length === 0) {\n // Short-circuit\n return;\n } // Resolve directories of relevant dependencies\n\n\n const resolvedDependencies = await Promise.all(dependencies.map(async item => {\n if (Array.isArray(item)) {\n return Promise.all(item.map(getResolvedDependency));\n }\n\n return getResolvedDependency(item);\n })); // Filter out already installed, in range dependencies\n // If one dependency from a group is already installed, whole group is ignored\n\n const dependenciesToInstall = await pFilter_1(resolvedDependencies, async function (item) {\n if (Array.isArray(item)) {\n return (await Promise.all(item.map(subitem => shouldInstallDependency(subitem)))).every(Boolean);\n }\n\n return shouldInstallDependency(item);\n });\n\n if (dependenciesToInstall.length === 0) {\n // Short-circuit if all have been skipped\n return;\n }\n\n let chosenDependencies;\n\n if (!hideUserPrompt) {\n chosenDependencies = await confirmPackagesToInstall$2({\n packageName,\n dependencies: dependenciesToInstall\n });\n } else {\n // prompt-less installation\n chosenDependencies = dependenciesToInstall.map(dep => {\n if (Array.isArray(dep)) {\n return dep[0];\n }\n\n return dep;\n });\n }\n\n if (chosenDependencies.length === 0) {\n // Short-circuit if user interaction cancelled all\n return;\n }\n\n const view = getView$2({\n packageName,\n dependencies: chosenDependencies\n });\n await pMap(chosenDependencies, async function (dependency) {\n try {\n await installPackage(dependency);\n view.handleDependencyInstalled(dependency);\n } catch (err) {\n view.handleFailure({\n dependency,\n error: err\n });\n }\n }, {\n concurrency: 2\n });\n view.handleComplete();\n}\n\nexports.install = install;\n"],"names":["_interopDefaultLegacy","e","default","os__default","os","fs__default","fs","path__default","path","extractPathRegex","pathRegex","homeDir","homedir","AggregateError","Error","[object Object]","errors","Array","isArray","TypeError","message","map","error","Object","assign","stack","replace","cleanInternalStack","options","pretty","split","filter","line","pathMatches","match","includes","test","trim","m","p1","join","String","string","count","indent","includeEmptyLines","regex","repeat","indentString","super","this","name","defineProperty","value","Symbol","iterator","_errors","aggregateError","pMap$1","iterable","mapper","Promise","resolve","reject","concurrency","Infinity","ret","isRejected","isIterableDone","resolvingCount","currentIndex","next","nextItem","i","done","then","element","pMap_1","_default","pFilter","async","filterer","index","all","Boolean","pFilter_1","_default$1","IS_ATOM","atom","IS_DEV","inDevMode","inSpecMode","matchHtmlRegExp","escapeHtml_1","escape","str","exec","html","lastIndex","length","charCodeAt","substring","spawn","command","args","spawnedProcess","promise","child_process","output","stdout","stderr","on","chunk","push","handleStdout","handleStderr","code","outputStdout","encoding","Buffer","concat","outputStderr","exitCode","handleChildProcess","spawnInternal","_spawnedProcess","kill","signal","getInstalledDependencyVersion$2","dependency","atomPackageVersion","_packageModule$metada","packageModule","packages","getLoadedPackage","metadata","version","getInstalledDependencyVersion","_manifest$version","_manifest","directory","manifest","JSON","parse","promises","readFile","_","getInstalledDependencyVersion$1","resolveDependencyPath$2","packageName","resolvePackagePath","_process$env$ATOM_HOM","packageDirectory","process","env","ATOM_HOME","access","constants","R_OK","invariant","condition","getDependencies$2","dependencies","packageDependencies","getDependencies","packageStats","stat","isDirectory","parsed","contents","getDependencies$1","forEach","item","subitem","subindex","invalidMessage","minimumVersion","shouldInstallDependency","a","b","pa","pb","na","Number","nb","isNaN","semverCompare","INSTALL_VALID_TICKS","Set","INSTALL_VALIDATION_REGEXP","getResolvedDependency","console","entry","showResetInstruction","getView$2","failed","notification","notifications","addInfo","detail","dismissable","progress","document","createElement","max","style","width","_notificationView$ele2","notificationView","views","getView","notificationElement","notificationContent","querySelector","appendChild","err","_error$stack","dismiss","addWarning","addSuccess","activatePackage","catch","log","confirmPackagesToInstall$2","ungroupedDependencies","groupedDependencies","skipGroups","groupChoices","isPackageDisabled","warn","icon","description","buttons","text","onDidClick","_atom$config$get2","ignoredPackages","config","get","add","set","from","markPackageAsIgnored","onDidDismiss","_notificationView$ele","innerHTML","ungroupedLine","groupLabelLine","groupedList","listItem","select","addEventListener","find","marginTop","hideUserPrompt","_atom$config$get","resolvedDependencies","dependenciesToInstall","every","chosenDependencies","dep","view","stopOnError","isSafeInteger","result","pMap","apmPath","getApmPath","shell","has","installPackage","handleDependencyInstalled","handleFailure","handleComplete"],"mappings":"sMASA,SAASA,EAAuBC,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAEC,QAAWD,GAE5G,IAAIE,EAA2BH,EAAsBI,WACjDC,EAA2BL,EAAsBM,WACjDC,EAA6BP,EAAsBQ,WAoCvD,MAAMC,EAAmB,0BACnBC,EAAY,+GACZC,OAAoD,IAAnCR,EAAqB,QAAES,QAA0B,GAAKT,EAAqB,QAAES,UAsCpG,MAAMC,UAAuBC,MAC5BC,YAAYC,GACX,IAAKC,MAAMC,QAAQF,GAClB,MAAM,IAAIG,UAAU,6CAA6CH,GAgBlE,IAAII,GAbJJ,EAAS,IAAIA,GAAQK,KAAIC,GACpBA,aAAiBR,MACbQ,EAGM,OAAVA,GAAmC,iBAAVA,EAErBC,OAAOC,OAAO,IAAIV,MAAMQ,EAAMF,SAAUE,GAGzC,IAAIR,MAAMQ,MAIhBD,KAAIC,IAEJ,MAA8B,iBAAhBA,EAAMG,MAxBGA,CAAAA,GAASA,EAAMC,QAAQ,gDAAiD,IAwBtDC,EA1D3BF,EA0DyDH,EAAMG,MAzDhFG,EAAUL,OAAOC,OAAO,CAACK,QAAQ,GAAQD,GAElCH,EAAMC,QAAQ,MAAO,KAC1BI,MAAM,MACNC,QAAOC,IACP,MAAMC,EAAcD,EAAKE,MAAMzB,GAC/B,GAAoB,OAAhBwB,IAAyBA,EAAY,GACxC,OAAO,EAGR,MAAMC,EAAQD,EAAY,GAG1B,OACCC,EAAMC,SAAS,2CACfD,EAAMC,SAAS,8CAKRzB,EAAU0B,KAAKF,MAEvBH,QAAOC,GAAwB,KAAhBA,EAAKK,SACpBhB,KAAIW,GACAJ,EAAQC,OACJG,EAAKN,QAAQjB,GAAkB,CAAC6B,EAAGC,IAAOD,EAAEZ,QAAQa,EAAIA,EAAGb,QAAQf,EAAS,QAG7EqB,IAEPQ,KAAK,QA2BmFC,OAAOnB,GA1DjF,IAACG,EAAOG,KA4DrBY,KAAK,MACPpB,EAAU,KAnGO,EAACsB,EAAQC,EAAQ,EAAGf,KAOtC,GANAA,EAAU,CACTgB,OAAQ,IACRC,mBAAmB,KAChBjB,GAGkB,iBAAXc,EACV,MAAM,IAAIvB,UACT,uDAAuDuB,OAIzD,GAAqB,iBAAVC,EACV,MAAM,IAAIxB,UACT,uDAAuDwB,OAIzD,GAA8B,iBAAnBf,EAAQgB,OAClB,MAAM,IAAIzB,UACT,gEAAgES,EAAQgB,YAI1E,GAAc,IAAVD,EACH,OAAOD,EAGR,MAAMI,EAAQlB,EAAQiB,kBAAoB,MAAQ,cAElD,OAAOH,EAAOhB,QAAQoB,EAAOlB,EAAQgB,OAAOG,OAAOJ,KAoEjCK,CAAa5B,EAAS,GACvC6B,MAAM7B,GAEN8B,KAAKC,KAAO,iBAEZ5B,OAAO6B,eAAeF,KAAM,UAAW,CAACG,MAAOrC,IAGhDD,EAAGuC,OAAOC,YACT,IAAK,MAAMjC,KAAS4B,KAAKM,cAClBlC,GAKT,IAAImC,EAAiB5C,EAiFrB,MAAM6C,EAAS,CAACC,EAAUC,EAAQhC,IAAY,IAAIiC,SAAQ,CAACC,EAASC,KAKnE,GAJAnC,EAAUL,OAAOC,OAAO,CACvBwC,YAAaC,EAAAA,GACXrC,GAEmB,mBAAXgC,EACV,MAAM,IAAIzC,UAAU,+BAGrB,MAAM6C,YAACA,GAAepC,EAEtB,KAA6B,iBAAhBoC,GAA4BA,GAAe,GACvD,MAAM,IAAI7C,UAAU,gEAAgE6C,eAAyBA,MAG9G,MAAME,EAAM,GACNX,EAAWI,EAASL,OAAOC,YACjC,IAAIY,GAAa,EACbC,GAAiB,EACjBC,EAAiB,EACjBC,EAAe,EAEnB,MAAMC,EAAO,KACZ,GAAIJ,EACH,OAGD,MAAMK,EAAWjB,EAASgB,OACpBE,EAAIH,EAGV,GAFAA,IAEIE,EAASE,KAOZ,OANAN,GAAiB,OAEM,IAAnBC,GACHP,EAAQI,IAMVG,IAEAR,QAAQC,QAAQU,EAASnB,OACvBsB,MAAKC,GAAWhB,EAAOgB,EAASH,KAChCE,MACAtB,IACCa,EAAIO,GAAKpB,EACTgB,IACAE,OAEDjD,IACC6C,GAAa,EACbJ,EAAOzC,OAKX,IAAK,IAAImD,EAAI,EAAGA,EAAIT,IACnBO,KAEIH,GAH4BK,SASlC,IAAII,EAASnB,EAEToB,EAAWpB,EACfmB,EAAO3E,QAAU4E,EAEjB,MAAMC,EAAUC,MAAOrB,EAAUsB,EAAUrD,WACrBiD,EACpBlB,GACA,CAACiB,EAASM,IAAUrB,QAAQsB,IAAI,CAACF,EAASL,EAASM,GAAQN,KAC3DhD,IAEaG,QAAOsB,GAAS+B,QAAQ/B,EAAM,MAAKhC,KAAIgC,GAASA,EAAM,KAGrE,IAAIgC,EAAYN,EAEZO,EAAaP,EACjBM,EAAUnF,QAAUoF,EAEpB,MAAMC,EAA0B,oBAATC,KACjBC,EAAyB,oBAATD,OAAyBA,KAAKE,aAAeF,KAAKG;;;;;;;;AAgBxE,IAAIC,EAAkB,UAOlBC,EAUJ,SAAoBnD,GAClB,IAOIoD,EAPAC,EAAM,GAAKrD,EACXR,EAAQ0D,EAAgBI,KAAKD,GAEjC,IAAK7D,EACH,OAAO6D,EAIT,IAAIE,EAAO,GACPf,EAAQ,EACRgB,EAAY,EAEhB,IAAKhB,EAAQhD,EAAMgD,MAAOA,EAAQa,EAAII,OAAQjB,IAAS,CACrD,OAAQa,EAAIK,WAAWlB,IACrB,KAAK,GACHY,EAAS,SACT,MACF,KAAK,GACHA,EAAS,QACT,MACF,KAAK,GACHA,EAAS,QACT,MACF,KAAK,GACHA,EAAS,OACT,MACF,KAAK,GACHA,EAAS,OACT,MACF,QACE,SAGAI,IAAchB,IAChBe,GAAQF,EAAIM,UAAUH,EAAWhB,IAGnCgB,EAAYhB,EAAQ,EACpBe,GAAQH,EAGV,OAAOI,IAAchB,EACjBe,EAAOF,EAAIM,UAAUH,EAAWhB,GAChCe,GAoDN,SAASK,EAAMC,EAASC,EAAM5E,GAC1B,IAAI6E,EACJ,MAAMC,EAnDV1B,eAA6BuB,EAASC,EAAM5E,GACxC,MAAM6E,EAAiBE,UAAcL,MAAMC,EAASC,EAAM5E,GACpD8E,EAAU,IAAI7C,SAAQ,CAACC,EAASC,KAClC,MAAM6C,EAAS,CACXC,OAAQJ,EAAeI,OAAS,GAAK,KACrCC,OAAQL,EAAeK,OAAS,GAAK,MAEzCL,EAAeM,GAAG,QAAShD,GACvB0C,EAAeI,QACfJ,EAAeI,OAAOE,GAAG,QAAQ,SAAUC,GACvCJ,EAAOC,OAAOI,KAAKD,GACfpF,EAAQsF,cACRtF,EAAQsF,aAAaF,MAI7BP,EAAeK,QACfL,EAAeK,OAAOC,GAAG,QAAQ,SAAUC,GACvCJ,EAAOE,OAAOG,KAAKD,GACfpF,EAAQuF,cACRvF,EAAQuF,aAAaH,MAIjCP,EAAeM,GAAG,SAASK,IACvB,IAAIC,EAAe,KACE,MAAjBT,EAAOC,SACPQ,EACyB,OAArBzF,EAAQ0F,UAA0C,WAArB1F,EAAQ0F,SAC/BC,OAAOC,OAAOZ,EAAOC,QACrBD,EAAOC,OAAOrE,KAAK,KAEjC,IAAIiF,EAAe,KACE,MAAjBb,EAAOE,SACPW,EACyB,OAArB7F,EAAQ0F,UAA0C,WAArB1F,EAAQ0F,SAC/BC,OAAOC,OAAOZ,EAAOE,QACrBF,EAAOE,OAAOtE,KAAK,KAEjCsB,EAAQ,CACJ4D,SAAUN,EACVP,OAAQQ,EACRP,OAAQW,UAKpB,OADA7F,EAAQ+F,mBAAmBlB,GACpBC,EAISkB,CAAcrB,EAASC,EAAM,IACtC5E,EACHb,mBAAmB8G,GACfpB,EAAiBoB,KAOzB,OAJAnB,EAAQoB,KAAO,SAAUC,GAErB,OAAOtB,EAAeqB,KAAKC,IAExBrB,EA8FX1B,eAAegD,EAAgCC,GAC7C,GAAI1C,EAAS,CACX,MAAM2C,QAvEVlD,eAA6CiD,GAC3C,IAAIE,EAEJ,MAAMC,EAAgB5C,KAAK6C,SAASC,iBAAiBL,EAAW9E,MAChE,OAAwB,MAAjBiF,EAAwB,KAAoE,QAA5DD,EAAwBC,EAAcG,SAASC,eAA+C,IAA1BL,EAAmCA,EAAwB,KAmEnIM,CAA8BR,GAE/D,GAAIC,EACF,OAAOA,EAKX,OArCFlD,eAA+CiD,GAC7C,IAAIS,EAAmBC,EAEvB,MAAMC,UACJA,GACEX,EAEJ,GAAiB,MAAbW,EAEF,OAAO,KAGT,IAAIC,EAAW,KAEf,IACEA,EAAWC,KAAKC,YAAY1I,EAAqB,QAAE2I,SAASC,SAAS1I,EAAuB,QAAEiC,KAAKoG,EAAW,gBAAiB,SAC/H,MAAOM,GACP,OAAO,KAGT,OAAsH,QAA9GR,EAA+C,QAA1BC,EAAYE,SAAoC,IAAdF,OAAuB,EAASA,EAAUH,eAA2C,IAAtBE,EAA+BA,EAAoB,KAiB1KS,CAAgClB,GAOzC,MAAMmB,EAA0B7D,EAzFhCP,eAAqCqE,GACnC,OAAO7D,KAAK6C,SAASiB,mBAAmBD,IAgC1CrE,eAAuCqE,GACrC,IAAIE,EAEJ,MAAMC,EAAmBjJ,EAAuB,QAAEiC,KAAyD,QAAnD+G,EAAwBE,QAAQC,IAAIC,iBAAiD,IAA1BJ,EAAmCA,EAAwBhJ,EAAuB,QAAEiC,KAAKrC,EAAqB,QAAES,UAAW,SAAU,WAAYyI,GAEpQ,IAEE,aADMhJ,EAAqB,QAAE2I,SAASY,OAAOJ,EAAkBnJ,EAAqB,QAAEwJ,UAAUC,MACzFN,EACP,MAAON,GACP,OAAO,OAgDX,SAASa,EAAUC,EAAW5I,GAC5B,IAAK4I,EACH,MAAM,IAAIlJ,MAAMM,MAAAA,EAAyCA,EAAU,uBAGvE4D,eAAeiF,EAAkB9G,GAC/B,MAAM+G,QAAsB3E,EArG9BP,eAA+BqE,GAC7B,MAAMjB,EAAgB5C,KAAK6C,SAASC,iBAAiBe,GAC/Cc,EAAsB/B,GAAiBA,EAAcG,SAAS,gBACpE,OAAOtH,MAAMC,QAAQiJ,GAAuBA,EAAsB,GAkG5BC,CAAgBjH,GAtFxD6B,eAAiCqE,GAC/B,IAAIgB,EAAe,KAEnB,IACEA,QAAqBhK,EAAqB,QAAE2I,SAASsB,KAAKjB,GAC1D,MAAOH,IAGT,GAAoB,MAAhBmB,IAAyBA,EAAaE,cACxC,MAAM,IAAIzJ,MAAM,wFAGlB,IAAI0J,EAAS,KAEb,IACE,MAAMC,QAAiBpK,EAAqB,QAAE2I,SAASC,SAAS1I,EAAuB,QAAEiC,KAAK6G,EAAa,gBAAiB,QAC5HmB,EAAS1B,KAAKC,MAAM0B,GACpB,MAAOvB,IAGT,MAAMiB,EAAgC,MAAVK,GAAoC,iBAAXA,EAAsB,GAAKA,EAAO,gBACvF,OAAOvJ,MAAMC,QAAQiJ,GAAuBA,EAAsB,GAiEJO,CAAkBvH,IAoBhF,OAlBIsC,IACFsE,EAAU9I,MAAMC,QAAQgJ,GAAe,oBAAoB/G,2BAC3D+G,EAAaS,SAAQ,CAACC,EAAM1F,KAC1B,GAAIjE,MAAMC,QAAQ0J,GAChBA,EAAKD,SAAQ,CAACE,EAASC,KACrB,MAAMC,EAAiB,cAAc7F,KAAS4F,SAAgB3H,eAC9D4G,EAAkC,iBAAjBc,EAAQ1H,MAAqB0H,EAAQ1H,KAAKgD,OAAS,EAAG4E,GACvEhB,EAAoC,MAA1Bc,EAAQG,gBAA4D,iBAA3BH,EAAQG,gBAA+BH,EAAQG,eAAe7E,OAAS,EAAG4E,MAE/HhB,EAAUa,EAAKzE,OAAS,EAAG,cAAcjB,SAAa/B,4BACjD,CACL,MAAM4H,EAAiB,cAAc7F,SAAa/B,eAClD4G,EAA+B,iBAAda,EAAKzH,MAAqByH,EAAKzH,KAAKgD,OAAS,EAAG4E,GACjEhB,EAAiC,MAAvBa,EAAKI,gBAAyD,iBAAxBJ,EAAKI,gBAA+BJ,EAAKI,eAAe7E,OAAS,EAAG4E,QAKnHb,EAETlF,eAAeiG,EAAwBhD,GACrC,GAA4B,MAAxBA,EAAWW,UAEb,OAAO,EAGT,GAAiC,MAA7BX,EAAW+C,eAEb,OAAO,EAGT,MAAMxC,QAAgBR,EAAgCC,GAEtD,OAAe,MAAXO,GAKyD,IA3J3C,SAAc0C,EAAGC,GAGjC,IAFA,IAAIC,EAAKF,EAAEpJ,MAAM,KACbuJ,EAAKF,EAAErJ,MAAM,KACR2C,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACxB,IAAI6G,EAAKC,OAAOH,EAAG3G,IACf+G,EAAKD,OAAOF,EAAG5G,IACnB,GAAI6G,EAAKE,EAAI,OAAO,EACpB,GAAIA,EAAKF,EAAI,OAAQ,EACrB,IAAKG,MAAMH,IAAOG,MAAMD,GAAK,OAAO,EACpC,GAAIC,MAAMH,KAAQG,MAAMD,GAAK,OAAQ,EAEzC,OAAO,EAgJFE,CAAczD,EAAW+C,eAAgBxC,GA8BlD,MAAMmD,EAAsB,IAAIC,IAAI,CAAC,IAAK,SACpCC,EAA4B,yCAqBlC7G,eAAe8G,EAAsBlB,GAEnC,GAAoB,iBAATA,EACT,MAAO,CACLzH,KAAMyH,EACNhC,gBAAiBQ,EAAwBwB,IAI7C,GAAI,SAAUA,EACZ,MAAO,IAAKA,EACVhC,gBAAiBQ,EAAwBwB,EAAKzH,OAOlD,MAHA4I,QAAQzK,MAAM,2GAA4G,CACxH0K,MAAOpB,IAEH9J,MAAM,2GAGd,IAAImL,GAAuB,EAsO3B,MAAMC,EAAY3G,EApHlB,UAAiB8D,YACfA,EAAWa,aACXA,IAEA,MAAMiC,EAAS,GACTC,EAAe5G,KAAK6G,cAAcC,QAAQ,cAAcjD,iBAA4B,CACxFkD,OAAQ,cAAcrC,EAAa7I,KAAIuJ,GAAQA,EAAKzH,OAAMX,KAAK,QAC/DgK,aAAa,IAETC,EAAWC,SAASC,cAAc,YACxCF,EAASG,IAAM1C,EAAa/D,OAC5BsG,EAASI,MAAMC,MAAQ,OAEvB,IACE,IAAIC,EAEJ,MAAMC,EAAmBxH,KAAKyH,MAAMC,QAAQd,GACtCe,EAAkJ,QAA3HJ,EAAyBC,MAAAA,OAA2D,EAASA,EAAiBpI,eAAgD,IAA3BmI,EAAoCA,EAAyB,KAE7N,GAA2B,MAAvBI,EACF,MAAM,IAAIrM,MAAM,gDAGlB,MAAMsM,EAAsBD,EAAoBE,cAAc,mBAE9D,GAA2B,MAAvBD,EACF,MAAM,IAAItM,MAAM,8DAGlBsM,EAAoBE,YAAYb,GAChC,MAAOc,GACPxB,QAAQzK,MAAM,oEAAqEiM,GAGrF,MAAO,CACLxM,eAAckH,WACZA,EAAU3G,MACVA,IAEA,IAAIkM,EAEJrB,EAAOlF,KAAKgB,EAAW9E,MACvBsJ,EAASpJ,OAAS,EAClB0I,QAAQzK,MAAM,oCAAoC2G,EAAW9E,eAA+F,QAA9EqK,EAAelM,MAAAA,OAAqC,EAASA,EAAMG,aAAoC,IAAjB+L,EAA0BA,EAAelM,IAG/MP,0BAA0BkH,GACxBwE,EAASpJ,OAAS,GAGpBtC,iBACEqL,EAAaqB,UAETtB,EAAOhG,OAAS,EAClBX,KAAK6G,cAAcqB,WAAW,qBAAqBrE,iBAA4B,CAC7EkD,OAAQ,0EAA0EJ,EAAO3J,KAAK,QAC9FgK,aAAa,IAGfhH,KAAK6G,cAAcsB,WAAW,aAAatE,iBAA4B,CACrEkD,OAAQ,aAAarC,EAAa7I,KAAIuJ,GAAQA,EAAKzH,OAAMX,KAAK,UAIlEqB,QAAQsB,IAAI+E,EAAa7I,KAAIuJ,GACtBuB,EAAOhK,SAASyI,EAAKzH,MAInB,KAHEqC,KAAK6C,SAASuF,gBAAgBhD,EAAKzH,SAI1C0K,OAAMN,IACRxB,QAAQzK,MAAM,0DAA0D+H,IAAekE,SAa/F,UAAmBrD,aACjBA,IAEA,IAAIiC,GAAS,EAEb,OADAJ,QAAQ+B,IAAI,6BAA6B5D,EAAa7I,KAAIuJ,GAAQ,OAAOA,EAAKzH,SAAQX,KAAK,SACpF,CACLzB,eAAckH,WACZA,EAAU3G,MACVA,IAEA,IAAIkM,EAEJrB,GAAS,EACTJ,QAAQzK,MAAM,qBAAqB2G,EAAW9E,eAA+F,QAA9EqK,EAAelM,MAAAA,OAAqC,EAASA,EAAMG,aAAoC,IAAjB+L,EAA0BA,EAAelM,IAGhMP,0BAA0BkH,GACxB8D,QAAQ+B,IAAI,yBAA0B7F,EAAW9E,OAGnDpC,iBACEgL,QAAQ+B,IAAI,yBAER3B,IAEF1C,QAAQ/B,SAAW,MAQrBqG,EAA6BxI,EAtOnC,UAAkC8D,YAChCA,EAAWa,aACXA,IAEA,OAAO,IAAIrG,SAAQC,IACjB,MAAMkK,EAAwB9D,EAAanI,QAAO6I,IAAS3J,MAAMC,QAAQ0J,KACnEqD,EAAsB/D,EAAanI,QAAO6I,GAAQ3J,MAAMC,QAAQ0J,KAChEsD,EAA4C,IAA/BD,EAAoB9H,OACjCoG,EAAS2B,EAAaF,EAAsB3M,KAAIuJ,GAAQA,EAAKzH,OAAMX,KAAK,MAAQ,qDAChF2L,EAAeF,EAAoB5M,KAAIuJ,GAAQA,EAAK,KAEtDpF,KAAK6C,SAAS+F,kBAAkB,kBAClCrC,QAAQsC,KAAK,oDAAoDhF,KAGnE,MAAM+C,EAAe5G,KAAK6G,cAAcC,QAAQ,GAAGjD,kCAA6C,CAC9FmD,aAAa,EACb8B,KAAM,iBACN/B,OAAAA,EACAgC,YAAa,oBAA4C,IAAxBrE,EAAa/D,OAAe,IAAM,SACnEqI,QAAS,CAAC,CACRC,KAAM,MACNC,WAAY,KAER5K,EADEoK,EACM,GAEAF,EAAsBxG,OAAO2G,IAGvC/B,EAAaqB,YAEd,CACDgB,KAAM,YACNC,WAAY,KACVtC,EAAaqB,YAEd,CACDgB,KAAM,QACNC,WAAY,MA9FpB,SAA8BvL,GAC5B,IAAIwL,EAEJ,IAAKpJ,EAEH,OAGF,MAAMqJ,EAAkB,IAAIhD,IAAmE,QAA9D+C,EAAoBnJ,KAAKqJ,OAAOC,IApUvC,oCAoUmG,IAAtBH,EAA+BA,EAAoB,IAC1JC,EAAgBG,IAAI5L,GACpBqC,KAAKqJ,OAAOG,IAtUc,4BAsUW/N,MAAMgO,KAAKL,IAqFxCM,CAAqB7F,GAEjB4C,IACFA,GAAuB,EACvBzG,KAAK6G,cAAcC,QAAQ,mCAAoC,CAC7DE,aAAa,EACb+B,YAAa,2HAIjBnC,EAAaqB,eAMnB,GAFArB,EAAa+C,cAAa,IAAMrL,EAAQ,OAEpCoK,EAKJ,IACE,IAAIkB,EAEJ,MAAMpC,EAAmBxH,KAAKyH,MAAMC,QAAQd,GACtCe,EAAiJ,QAA1HiC,EAAwBpC,MAAAA,OAA2D,EAASA,EAAiBpI,eAA+C,IAA1BwK,EAAmCA,EAAwB,KAE1N,GAA2B,MAAvBjC,EACF,MAAM,IAAIrM,MAAM,gDAGlB,MAAMsM,EAAsBD,EAAoBE,cAAc,mBAE9D,GAA2B,MAAvBD,EACF,MAAM,IAAItM,MAAM,8DAMlB,GAFAsM,EAAoBiC,UAAY,GAE5BrB,EAAsB7H,OAAS,EAAG,CACpC,MAAMmJ,EAAgB5C,SAASC,cAAc,OAC7C2C,EAAcD,UAAY,2CAA2CrB,EAAsB3M,KAAIuJ,GAAQ/E,EAAa+E,EAAKzH,QAAOX,KAAK,yBACrI4K,EAAoBE,YAAYgC,GAIlC,MAAMC,EAAiB7C,SAASC,cAAc,OAC9C4C,EAAeF,UAAY,yBAC3BjC,EAAoBE,YAAYiC,GAEhC,MAAMC,EAAc9C,SAASC,cAAc,MAC3CsB,EAAoBtD,SAAQ,CAACC,EAAM1F,KACjC,MAAMuK,EAAW/C,SAASC,cAAc,MAClC+C,EAAShD,SAASC,cAAc,UACtC+C,EAAOL,UAAYzE,EAAKvJ,KAAIwJ,GAAW,WAAWhF,EAAagF,EAAQ1H,mBAAkBX,KAAK,MAC9FkN,EAAOC,iBAAiB,UAAU,KAEhC,MAAM9E,EAAUD,EAAKgF,MAAK5D,GAASA,EAAM7I,OAASuM,EAAOrM,QAE1C,MAAXwH,IACFsD,EAAajJ,GAAS2F,MAG1B4E,EAAS5C,MAAMgD,UAAY,MAC3BJ,EAASnC,YAAYoC,GACrBF,EAAYlC,YAAYmC,MAE1BrC,EAAoBE,YAAYkC,GAChC,MAAOjC,GACPxB,QAAQzK,MAAM,8DAA+DiM,QAkFnFvI,gBAA0CkF,aACxCA,IAGA,OAAOA,EAAa7I,KAAIuJ,GAAQ3J,MAAMC,QAAQ0J,GAAQA,EAAK,GAAKA,KAuHlE,MAlFA5F,eAAuBqE,EAAayG,GAAiB,GAGnD,GAFA/F,EAAiC,iBAAhBV,GAA4BA,EAAYlD,OAAS,EAAG,2CAjT7ChD,EAmTHkG,EAhThB9D,IAKiF,QAA7DwK,EAAmBvK,KAAKqJ,OAAOC,IApT9B,oCAoTyF,IAArBiB,EAA8BA,EAAmB,IAE3H5N,SAASgB,GA2S3B,OArTJ,IAA0BA,EACpB4M,EAwTJ,MAAM7F,QAAqBD,EAAkBZ,GAE7C,GAA4B,IAAxBa,EAAa/D,OAEf,OAIF,MAAM6J,QAA6BnM,QAAQsB,IAAI+E,EAAa7I,KAAI2D,MAAAA,GAC1D/D,MAAMC,QAAQ0J,GACT/G,QAAQsB,IAAIyF,EAAKvJ,IAAIyK,IAGvBA,EAAsBlB,MAIzBqF,QAA8B5K,EAAU2K,GAAsBhL,eAAgB4F,GAClF,OAAI3J,MAAMC,QAAQ0J,UACF/G,QAAQsB,IAAIyF,EAAKvJ,KAAIwJ,GAAWI,EAAwBJ,OAAYqF,MAAM9K,SAGnF6F,EAAwBL,MAGjC,GAAqC,IAAjCqF,EAAsB9J,OAExB,OAGF,IAAIgK,EAkBJ,GATEA,EAPGL,EAOkBG,EAAsB5O,KAAI+O,GACzCnP,MAAMC,QAAQkP,GACTA,EAAI,GAGNA,UAXkBrC,EAA2B,CACpD1E,YAAAA,EACAa,aAAc+F,IAagB,IAA9BE,EAAmBhK,OAErB,OAGF,MAAMkK,EAAOnE,EAAU,CACrB7C,YAAAA,EACAa,aAAciG,SAn0BPnL,OACVrB,EACAC,GAECI,YAAAA,EAAcC,EAAAA,EACdqM,YAAAA,GAAc,GACX,KAEG,IAAIzM,SAAQ,CAACC,EAASC,KAC5B,GAAsB,mBAAXH,EACV,MAAM,IAAIzC,UAAU,+BAGrB,IAAOoK,OAAOgF,cAAcvM,IAAgBA,IAAgBC,EAAAA,KAAaD,GAAe,GACvF,MAAM,IAAI7C,UAAU,kFAAkF6C,eAAyBA,MAGhI,MAAMwM,EAAS,GACTxP,EAAS,GACTuC,EAAWI,EAASL,OAAOC,YACjC,IAAIY,GAAa,EACbC,GAAiB,EACjBC,EAAiB,EACjBC,EAAe,EAEnB,MAAMC,EAAO,KACZ,GAAIJ,EACH,OAGD,MAAMK,EAAWjB,EAASgB,OACpBW,EAAQZ,EAGd,GAFAA,IAEIE,EAASE,KAWZ,OAVAN,GAAiB,OAEM,IAAnBC,IACEiM,GAAiC,IAAlBtP,EAAOmF,OAG1BrC,EAAQ0M,GAFRzM,EAAO,IAAIN,EAAezC,MAS7BqD,IAEA,WACC,IACC,MAAMO,QAAgBJ,EAASnB,MAC/BmN,EAAOtL,SAAetB,EAAOgB,EAASM,GACtCb,IACAE,IACC,MAAOjD,GACJgP,GACHnM,GAAa,EACbJ,EAAOzC,KAEPN,EAAOiG,KAAK3F,GACZ+C,IACAE,OAbH,IAmBD,IAAK,IAAIE,EAAI,EAAGA,EAAIT,IACnBO,KAEIH,GAH4BK,SAgwB3BgM,CAAKN,GAAoBnL,eAAgBiD,GAC7C,UApVJjD,eAA8BiD,GAC5B,MAAMyI,EAAUnL,EAAU,IAAIC,KAAK6C,SAASsI,gBAAkB,OACxD9J,OACJA,EAAMC,OACNA,SACQR,EAAMoK,EAAS,CAAC,UAAWzI,EAAW9E,KAAM,eAAgB,UAAW,SAAU,CACzFyN,OAAO,IAEH1O,EAAQ2J,EAA0B7F,KAAKa,EAAOxE,QAEpD,GAAa,MAATH,GAAiByJ,EAAoBkF,IAAI3O,EAAM,IAEjD,OAGF,MAAMZ,EAAQ,IAAIR,MAAM,gCAAgCmH,EAAW9E,QAEnE,MADA7B,EAAMG,MAAQqF,EAAOzE,OACff,EAoUIwP,CAAe7I,GACrBoI,EAAKU,0BAA0B9I,GAC/B,MAAOsF,GACP8C,EAAKW,cAAc,CACjB/I,WAAAA,EACA3G,MAAOiM,OAGV,CACDvJ,YAAa,IAEfqM,EAAKY"} \ No newline at end of file diff --git a/dist/index-b5a60553.js.map b/dist/index-b5a60553.js.map deleted file mode 100644 index 32d3934..0000000 --- a/dist/index-b5a60553.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-b5a60553.js","sources":["../node_modules/atom-package-deps/lib/index.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar os = require('os');\nvar child_process = require('child_process');\nvar fs = require('fs');\nvar path = require('path');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar os__default = /*#__PURE__*/_interopDefaultLegacy(os);\nvar fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);\nvar path__default = /*#__PURE__*/_interopDefaultLegacy(path);\n\nvar indentString = (string, count = 1, options) => {\n\toptions = {\n\t\tindent: ' ',\n\t\tincludeEmptyLines: false,\n\t\t...options\n\t};\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (typeof options.indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof options.indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, options.indent.repeat(count));\n};\n\nconst extractPathRegex = /\\s+at.*(?:\\(|\\s)(.*)\\)?/;\nconst pathRegex = /^(?:(?:(?:node|(?:internal\\/[\\w/]*|.*node_modules\\/(?:babel-polyfill|pirates)\\/.*)?\\w+)\\.js:\\d+:\\d+)|native)/;\nconst homeDir = typeof os__default['default'].homedir === 'undefined' ? '' : os__default['default'].homedir();\n\nvar cleanStack = (stack, options) => {\n\toptions = Object.assign({pretty: false}, options);\n\n\treturn stack.replace(/\\\\/g, '/')\n\t\t.split('\\n')\n\t\t.filter(line => {\n\t\t\tconst pathMatches = line.match(extractPathRegex);\n\t\t\tif (pathMatches === null || !pathMatches[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst match = pathMatches[1];\n\n\t\t\t// Electron\n\t\t\tif (\n\t\t\t\tmatch.includes('.app/Contents/Resources/electron.asar') ||\n\t\t\t\tmatch.includes('.app/Contents/Resources/default_app.asar')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !pathRegex.test(match);\n\t\t})\n\t\t.filter(line => line.trim() !== '')\n\t\t.map(line => {\n\t\t\tif (options.pretty) {\n\t\t\t\treturn line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~')));\n\t\t\t}\n\n\t\t\treturn line;\n\t\t})\n\t\t.join('\\n');\n};\n\nconst cleanInternalStack = stack => stack.replace(/\\s+at .*aggregate-error\\/index.js:\\d+:\\d+\\)?/g, '');\n\nclass AggregateError extends Error {\n\tconstructor(errors) {\n\t\tif (!Array.isArray(errors)) {\n\t\t\tthrow new TypeError(`Expected input to be an Array, got ${typeof errors}`);\n\t\t}\n\n\t\terrors = [...errors].map(error => {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn error;\n\t\t\t}\n\n\t\t\tif (error !== null && typeof error === 'object') {\n\t\t\t\t// Handle plain error objects with message property and/or possibly other metadata\n\t\t\t\treturn Object.assign(new Error(error.message), error);\n\t\t\t}\n\n\t\t\treturn new Error(error);\n\t\t});\n\n\t\tlet message = errors\n\t\t\t.map(error => {\n\t\t\t\t// The `stack` property is not standardized, so we can't assume it exists\n\t\t\t\treturn typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error);\n\t\t\t})\n\t\t\t.join('\\n');\n\t\tmessage = '\\n' + indentString(message, 4);\n\t\tsuper(message);\n\n\t\tthis.name = 'AggregateError';\n\n\t\tObject.defineProperty(this, '_errors', {value: errors});\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const error of this._errors) {\n\t\t\tyield error;\n\t\t}\n\t}\n}\n\nvar aggregateError = AggregateError;\n\nvar pMap = async (\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Infinity,\n\t\tstopOnError = true\n\t} = {}\n) => {\n\treturn new Promise((resolve, reject) => {\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst iterator = iterable[Symbol.iterator]();\n\t\tlet isRejected = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\n\t\tconst next = () => {\n\t\t\tif (isRejected) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = iterator.next();\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0) {\n\t\t\t\t\tif (!stopOnError && errors.length !== 0) {\n\t\t\t\t\t\treject(new aggregateError(errors));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\t\t\t\t\tresult[index] = await mapper(element, index);\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (stopOnError) {\n\t\t\t\t\t\tisRejected = true;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.push(error);\n\t\t\t\t\t\tresolvingCount--;\n\t\t\t\t\t\tnext();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t};\n\n\t\tfor (let i = 0; i < concurrency; i++) {\n\t\t\tnext();\n\n\t\t\tif (isIterableDone) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst pMap$1 = (iterable, mapper, options) => new Promise((resolve, reject) => {\n\toptions = Object.assign({\n\t\tconcurrency: Infinity\n\t}, options);\n\n\tif (typeof mapper !== 'function') {\n\t\tthrow new TypeError('Mapper function is required');\n\t}\n\n\tconst {concurrency} = options;\n\n\tif (!(typeof concurrency === 'number' && concurrency >= 1)) {\n\t\tthrow new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t}\n\n\tconst ret = [];\n\tconst iterator = iterable[Symbol.iterator]();\n\tlet isRejected = false;\n\tlet isIterableDone = false;\n\tlet resolvingCount = 0;\n\tlet currentIndex = 0;\n\n\tconst next = () => {\n\t\tif (isRejected) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItem = iterator.next();\n\t\tconst i = currentIndex;\n\t\tcurrentIndex++;\n\n\t\tif (nextItem.done) {\n\t\t\tisIterableDone = true;\n\n\t\t\tif (resolvingCount === 0) {\n\t\t\t\tresolve(ret);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tresolvingCount++;\n\n\t\tPromise.resolve(nextItem.value)\n\t\t\t.then(element => mapper(element, i))\n\t\t\t.then(\n\t\t\t\tvalue => {\n\t\t\t\t\tret[i] = value;\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terror => {\n\t\t\t\t\tisRejected = true;\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t);\n\t};\n\n\tfor (let i = 0; i < concurrency; i++) {\n\t\tnext();\n\n\t\tif (isIterableDone) {\n\t\t\tbreak;\n\t\t}\n\t}\n});\n\nvar pMap_1 = pMap$1;\n// TODO: Remove this for the next major release\nvar _default = pMap$1;\npMap_1.default = _default;\n\nconst pFilter = async (iterable, filterer, options) => {\n\tconst values = await pMap_1(\n\t\titerable,\n\t\t(element, index) => Promise.all([filterer(element, index), element]),\n\t\toptions\n\t);\n\treturn values.filter(value => Boolean(value[0])).map(value => value[1]);\n};\n\nvar pFilter_1 = pFilter;\n// TODO: Remove this for the next major release\nvar _default$1 = pFilter;\npFilter_1.default = _default$1;\n\nconst IS_ATOM = typeof atom !== 'undefined';\nconst IS_DEV = typeof atom !== 'undefined' && (atom.inDevMode() || atom.inSpecMode());\nconst IGNORED_CONFIG_NAME = 'atom-package-deps.ignored';\n\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nvar escapeHtml_1 = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n\nasync function spawnInternal(command, args, options) {\n const spawnedProcess = child_process.spawn(command, args, options);\n const promise = new Promise((resolve, reject) => {\n const output = {\n stdout: spawnedProcess.stdout ? [] : null,\n stderr: spawnedProcess.stderr ? [] : null,\n };\n spawnedProcess.on('error', reject);\n if (spawnedProcess.stdout) {\n spawnedProcess.stdout.on('data', function (chunk) {\n output.stdout.push(chunk);\n if (options.handleStdout) {\n options.handleStdout(chunk);\n }\n });\n }\n if (spawnedProcess.stderr) {\n spawnedProcess.stderr.on('data', function (chunk) {\n output.stderr.push(chunk);\n if (options.handleStderr) {\n options.handleStderr(chunk);\n }\n });\n }\n spawnedProcess.on('close', code => {\n let outputStdout = null;\n if (output.stdout != null) {\n outputStdout =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stdout)\n : output.stdout.join('');\n }\n let outputStderr = null;\n if (output.stderr != null) {\n outputStderr =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stderr)\n : output.stderr.join('');\n }\n resolve({\n exitCode: code,\n stdout: outputStdout,\n stderr: outputStderr,\n });\n });\n });\n options.handleChildProcess(spawnedProcess);\n return promise;\n}\nfunction spawn(command, args, options) {\n let spawnedProcess;\n const promise = spawnInternal(command, args, {\n ...options,\n handleChildProcess(_spawnedProcess) {\n spawnedProcess = _spawnedProcess;\n },\n });\n promise.kill = function (signal) {\n // TODO: kill all subprocesses on windows with wmic?\n return spawnedProcess.kill(signal);\n };\n return promise;\n}\n\nvar semverCompare = function cmp (a, b) {\n var pa = a.split('.');\n var pb = b.split('.');\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n return 0;\n};\n\nasync function getDependencies(packageName) {\n const packageModule = atom.packages.getLoadedPackage(packageName);\n const packageDependencies = packageModule && packageModule.metadata['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath(packageName) {\n return atom.packages.resolvePackagePath(packageName);\n}\nasync function getInstalledDependencyVersion(dependency) {\n var _packageModule$metada;\n\n const packageModule = atom.packages.getLoadedPackage(dependency.name);\n return packageModule == null ? null : (_packageModule$metada = packageModule.metadata.version) !== null && _packageModule$metada !== void 0 ? _packageModule$metada : null;\n}\n\nasync function getDependencies$1(packageName) {\n let packageStats = null;\n\n try {\n packageStats = await fs__default['default'].promises.stat(packageName);\n } catch (_) {// No Op\n }\n\n if (packageStats == null || !packageStats.isDirectory()) {\n throw new Error(`[Package-Deps] Expected packageName to be a readable directory in Node.js invocation`);\n }\n\n let parsed = null;\n\n try {\n const contents = await fs__default['default'].promises.readFile(path__default['default'].join(packageName, 'package.json'), 'utf8');\n parsed = JSON.parse(contents);\n } catch (_) {// Ignore JSON read errors and such\n }\n\n const packageDependencies = parsed == null || typeof parsed !== 'object' ? [] : parsed['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath$1(packageName) {\n var _process$env$ATOM_HOM;\n\n const packageDirectory = path__default['default'].join((_process$env$ATOM_HOM = process.env.ATOM_HOME) !== null && _process$env$ATOM_HOM !== void 0 ? _process$env$ATOM_HOM : path__default['default'].join(os__default['default'].homedir(), '.atom'), 'packages', packageName);\n\n try {\n await fs__default['default'].promises.access(packageDirectory, fs__default['default'].constants.R_OK);\n return packageDirectory;\n } catch (_) {\n return null;\n }\n}\nasync function getInstalledDependencyVersion$1(dependency) {\n var _manifest$version, _manifest;\n\n const {\n directory\n } = dependency;\n\n if (directory == null) {\n // Not possible to get version without resolved directory in Node.js version\n return null;\n }\n\n let manifest = null;\n\n try {\n manifest = JSON.parse(await fs__default['default'].promises.readFile(path__default['default'].join(directory, 'package.json'), 'utf8'));\n } catch (_) {\n return null;\n }\n\n return (_manifest$version = (_manifest = manifest) === null || _manifest === void 0 ? void 0 : _manifest.version) !== null && _manifest$version !== void 0 ? _manifest$version : null;\n}\n\n/**\n * Internal helpers\n */\n\nasync function getInstalledDependencyVersion$2(dependency) {\n if (IS_ATOM) {\n const atomPackageVersion = await getInstalledDependencyVersion(dependency);\n\n if (atomPackageVersion) {\n return atomPackageVersion;\n } // If the package isn't activated, it won't be loaded, so fallback to reading manifest file instead\n\n }\n\n return getInstalledDependencyVersion$1(dependency);\n}\n/**\n * Exported helpers\n */\n\n\nconst resolveDependencyPath$2 = IS_ATOM ? resolveDependencyPath : resolveDependencyPath$1;\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(message !== null && message !== void 0 ? message : 'Invariant violation');\n }\n}\nasync function getDependencies$2(name) {\n const dependencies = await (IS_ATOM ? getDependencies(name) : getDependencies$1(name));\n\n if (IS_DEV) {\n invariant(Array.isArray(dependencies), `Dependencies for ${name} are not a valid array`);\n dependencies.forEach((item, index) => {\n if (Array.isArray(item)) {\n item.forEach((subitem, subindex) => {\n const invalidMessage = `Dependency#${index}#${subindex} for ${name} is invalid`;\n invariant(typeof subitem.name === 'string' && subitem.name.length > 0, invalidMessage);\n invariant(subitem.minimumVersion == null || typeof subitem.minimumVersion === 'string' && subitem.minimumVersion.length > 0, invalidMessage);\n });\n invariant(item.length > 0, `Dependency#${index} for ${name} has no group items`);\n } else {\n const invalidMessage = `Dependency#${index} for ${name} is invalid`;\n invariant(typeof item.name === 'string' && item.name.length > 0, invalidMessage);\n invariant(item.minimumVersion == null || typeof item.minimumVersion === 'string' && item.minimumVersion.length > 0, invalidMessage);\n }\n });\n }\n\n return dependencies;\n}\nasync function shouldInstallDependency(dependency) {\n if (dependency.directory == null) {\n // Not installed, so install\n return true;\n }\n\n if (dependency.minimumVersion == null) {\n // Already installed and no version defined, so skip\n return false;\n }\n\n const version = await getInstalledDependencyVersion$2(dependency);\n\n if (version == null) {\n // Unable to get current version, so install\n return true;\n }\n\n return semverCompare(dependency.minimumVersion, version) === 1;\n}\nfunction isPackageIgnored(name) {\n var _atom$config$get;\n\n if (!IS_ATOM) {\n // Never ignored in CLI\n return false;\n }\n\n const ignoredPackages = (_atom$config$get = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get !== void 0 ? _atom$config$get : [];\n\n if (ignoredPackages.includes(name)) {\n return true;\n }\n\n return false;\n}\nfunction markPackageAsIgnored(name) {\n var _atom$config$get2;\n\n if (!IS_ATOM) {\n // No op in CLI\n return;\n }\n\n const ignoredPackages = new Set((_atom$config$get2 = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get2 !== void 0 ? _atom$config$get2 : []);\n ignoredPackages.add(name);\n atom.config.set(IGNORED_CONFIG_NAME, Array.from(ignoredPackages));\n}\nconst INSTALL_VALID_TICKS = new Set(['✓', 'done']);\nconst INSTALL_VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/; // Example success output: Uninstalling linter-ui-default ✓\n\nasync function installPackage(dependency) {\n const apmPath = IS_ATOM ? atom.packages.getApmPath() : 'apm';\n const {\n stdout,\n stderr\n } = await spawn(apmPath, ['install', dependency.name, '--production', '--color', 'false'], {\n shell: true\n });\n const match = INSTALL_VALIDATION_REGEXP.exec(stdout.trim());\n\n if (match != null && INSTALL_VALID_TICKS.has(match[2])) {\n // Installation complete and verified\n return;\n }\n\n const error = new Error(`Error installing dependency: ${dependency.name}`);\n error.stack = stderr.trim();\n throw error;\n}\nasync function getResolvedDependency(item) {\n // string entry\n if (typeof item === 'string') {\n return {\n name: item,\n directory: await resolveDependencyPath$2(item)\n };\n }\n\n if ('name' in item) {\n return { ...item,\n directory: await resolveDependencyPath$2(item.name)\n };\n }\n\n console.error(`This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`, {\n entry: item\n });\n throw Error(`The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`);\n}\n\nlet showResetInstruction = true;\nfunction confirmPackagesToInstall({\n packageName,\n dependencies\n}) {\n return new Promise(resolve => {\n const ungroupedDependencies = dependencies.filter(item => !Array.isArray(item));\n const groupedDependencies = dependencies.filter(item => Array.isArray(item));\n const skipGroups = groupedDependencies.length === 0;\n const detail = skipGroups ? ungroupedDependencies.map(item => item.name).join(', ') : 'Something went wrong. Check your developer console';\n const groupChoices = groupedDependencies.map(item => item[0]); // If Atom \"notifications\" package is disabled output a warning in case no other notifications package is installed.\n\n if (atom.packages.isPackageDisabled('notifications')) {\n console.warn(`Enable notifications to install dependencies for ${packageName}`);\n }\n\n const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, {\n dismissable: true,\n icon: 'cloud-download',\n detail,\n description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`,\n buttons: [{\n text: 'Yes',\n onDidClick: () => {\n if (skipGroups) {\n resolve([]);\n } else {\n resolve(ungroupedDependencies.concat(groupChoices));\n }\n\n notification.dismiss();\n }\n }, {\n text: 'No Thanks',\n onDidClick: () => {\n notification.dismiss();\n }\n }, {\n text: 'Never',\n onDidClick: () => {\n markPackageAsIgnored(packageName);\n\n if (showResetInstruction) {\n showResetInstruction = false;\n atom.notifications.addInfo('How to reset package-deps memory', {\n dismissable: true,\n description: \"To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section\"\n });\n }\n\n notification.dismiss();\n }\n }]\n });\n notification.onDidDismiss(() => resolve([]));\n\n if (skipGroups) {\n return;\n } // Handle groups\n\n\n try {\n var _notificationView$ele;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele !== void 0 ? _notificationView$ele : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n } // Clear the contents and add some skel\n\n\n notificationContent.innerHTML = ''; // Add list of ungroup dependencies to the top of the notification\n\n if (ungroupedDependencies.length > 0) {\n const ungroupedLine = document.createElement('div');\n ungroupedLine.innerHTML = `Packages without choices:
  • ${ungroupedDependencies.map(item => escapeHtml_1(item.name)).join('
  • ')}
`;\n notificationContent.appendChild(ungroupedLine);\n } // Create a label line for groups\n\n\n const groupLabelLine = document.createElement('div');\n groupLabelLine.innerHTML = `Packages with choices:`;\n notificationContent.appendChild(groupLabelLine); // Create one line per group with a select inside\n\n const groupedList = document.createElement('ul');\n groupedDependencies.forEach((item, index) => {\n const listItem = document.createElement('li');\n const select = document.createElement('select');\n select.innerHTML = item.map(subitem => ``).join('\\n');\n select.addEventListener('change', () => {\n // Change the selected value for this index for resolve to use\n const subitem = item.find(entry => entry.name === select.value);\n\n if (subitem != null) {\n groupChoices[index] = subitem;\n }\n });\n listItem.style.marginTop = '5px';\n listItem.appendChild(select);\n groupedList.appendChild(listItem);\n });\n notificationContent.appendChild(groupedList);\n } catch (err) {\n console.error('[Package-Deps] Error during showing package choices to user', err);\n }\n });\n}\nfunction getView({\n packageName,\n dependencies\n}) {\n const failed = [];\n const notification = atom.notifications.addInfo(`Installing ${packageName} dependencies`, {\n detail: `Installing ${dependencies.map(item => item.name).join(', ')}`,\n dismissable: true\n });\n const progress = document.createElement('progress');\n progress.max = dependencies.length;\n progress.style.width = '100%';\n\n try {\n var _notificationView$ele2;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele2 = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele2 !== void 0 ? _notificationView$ele2 : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n }\n\n notificationContent.appendChild(progress);\n } catch (err) {\n console.error('[Package-Deps] Error during showing installation progress to user', err);\n }\n\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed.push(dependency.name);\n progress.value += 1;\n console.error(`[Package-Deps] Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n progress.value += 1;\n },\n\n handleComplete() {\n notification.dismiss();\n\n if (failed.length > 0) {\n atom.notifications.addWarning(`Failed to install ${packageName} dependencies`, {\n detail: `These packages were not installed, check your console\\nfor more info.\\n${failed.join('\\n')}`,\n dismissable: true\n });\n } else {\n atom.notifications.addSuccess(`Installed ${packageName} dependencies`, {\n detail: `Installed ${dependencies.map(item => item.name).join(', ')}`\n });\n }\n\n Promise.all(dependencies.map(item => {\n if (!failed.includes(item.name)) {\n return atom.packages.activatePackage(item.name);\n }\n\n return null;\n })).catch(err => {\n console.error(`[Package-Deps] Error activating installed packages for ${packageName}`, err);\n });\n }\n\n };\n}\n\nasync function confirmPackagesToInstall$1({\n dependencies\n}) {\n // No user interaction on the CLI. Install the first (aka \"default\" choice) package\n return dependencies.map(item => Array.isArray(item) ? item[0] : item);\n}\nfunction getView$1({\n dependencies\n}) {\n let failed = false;\n console.log(`Installing dependencies:\\n${dependencies.map(item => ` - ${item.name}`).join('\\n')}`);\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed = true;\n console.error(`Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n console.log('Successfully installed', dependency.name);\n },\n\n handleComplete() {\n console.log('Installation complete');\n\n if (failed) {\n // Fail the invocation\n process.exitCode = 1;\n }\n }\n\n };\n}\n\nconst getView$2 = IS_ATOM ? getView : getView$1;\nconst confirmPackagesToInstall$2 = IS_ATOM ? confirmPackagesToInstall : confirmPackagesToInstall$1;\n\nasync function install(packageName, hideUserPrompt = false) {\n invariant(typeof packageName === 'string' && packageName.length > 0, '[Package-Deps] Package name is required');\n\n if (isPackageIgnored(packageName)) {\n // User ignored this package\n return;\n } // Get list of relevant dependencies\n\n\n const dependencies = await getDependencies$2(packageName);\n\n if (dependencies.length === 0) {\n // Short-circuit\n return;\n } // Resolve directories of relevant dependencies\n\n\n const resolvedDependencies = await Promise.all(dependencies.map(async item => {\n if (Array.isArray(item)) {\n return Promise.all(item.map(getResolvedDependency));\n }\n\n return getResolvedDependency(item);\n })); // Filter out already installed, in range dependencies\n // If one dependency from a group is already installed, whole group is ignored\n\n const dependenciesToInstall = await pFilter_1(resolvedDependencies, async function (item) {\n if (Array.isArray(item)) {\n return (await Promise.all(item.map(subitem => shouldInstallDependency(subitem)))).every(Boolean);\n }\n\n return shouldInstallDependency(item);\n });\n\n if (dependenciesToInstall.length === 0) {\n // Short-circuit if all have been skipped\n return;\n }\n\n let chosenDependencies;\n\n if (!hideUserPrompt) {\n chosenDependencies = await confirmPackagesToInstall$2({\n packageName,\n dependencies: dependenciesToInstall\n });\n } else {\n // prompt-less installation\n chosenDependencies = dependenciesToInstall.map(dep => {\n if (Array.isArray(dep)) {\n return dep[0];\n }\n\n return dep;\n });\n }\n\n if (chosenDependencies.length === 0) {\n // Short-circuit if user interaction cancelled all\n return;\n }\n\n const view = getView$2({\n packageName,\n dependencies: chosenDependencies\n });\n await pMap(chosenDependencies, async function (dependency) {\n try {\n await installPackage(dependency);\n view.handleDependencyInstalled(dependency);\n } catch (err) {\n view.handleFailure({\n dependency,\n error: err\n });\n }\n }, {\n concurrency: 2\n });\n view.handleComplete();\n}\n\nexports.install = install;\n"],"names":["_interopDefaultLegacy","e","default","os__default","os","fs__default","fs","path__default","path","extractPathRegex","pathRegex","homeDir","homedir","AggregateError","Error","[object Object]","errors","Array","isArray","TypeError","message","map","error","Object","assign","stack","replace","cleanInternalStack","options","pretty","split","filter","line","pathMatches","match","includes","test","trim","m","p1","join","String","string","count","indent","includeEmptyLines","regex","repeat","indentString","super","this","name","defineProperty","value","Symbol","iterator","_errors","aggregateError","pMap$1","iterable","mapper","Promise","resolve","reject","concurrency","Infinity","ret","isRejected","isIterableDone","resolvingCount","currentIndex","next","nextItem","i","done","then","element","pMap_1","_default","pFilter","async","filterer","index","all","Boolean","pFilter_1","_default$1","IS_ATOM","atom","IS_DEV","inDevMode","inSpecMode","matchHtmlRegExp","escapeHtml_1","escape","str","exec","html","lastIndex","length","charCodeAt","substring","spawn","command","args","spawnedProcess","promise","child_process","output","stdout","stderr","on","chunk","push","handleStdout","handleStderr","code","outputStdout","encoding","Buffer","concat","outputStderr","exitCode","handleChildProcess","spawnInternal","_spawnedProcess","kill","signal","getInstalledDependencyVersion$2","dependency","atomPackageVersion","_packageModule$metada","packageModule","packages","getLoadedPackage","metadata","version","getInstalledDependencyVersion","_manifest$version","_manifest","directory","manifest","JSON","parse","promises","readFile","_","getInstalledDependencyVersion$1","resolveDependencyPath$2","packageName","resolvePackagePath","_process$env$ATOM_HOM","packageDirectory","process","env","ATOM_HOME","access","constants","R_OK","invariant","condition","getDependencies$2","dependencies","packageDependencies","getDependencies","packageStats","stat","isDirectory","parsed","contents","getDependencies$1","forEach","item","subitem","subindex","invalidMessage","minimumVersion","shouldInstallDependency","a","b","pa","pb","na","Number","nb","isNaN","semverCompare","INSTALL_VALID_TICKS","Set","INSTALL_VALIDATION_REGEXP","getResolvedDependency","console","entry","showResetInstruction","getView$2","failed","notification","notifications","addInfo","detail","dismissable","progress","document","createElement","max","style","width","_notificationView$ele2","notificationView","views","getView","notificationElement","notificationContent","querySelector","appendChild","err","_error$stack","dismiss","addWarning","addSuccess","activatePackage","catch","log","confirmPackagesToInstall$2","ungroupedDependencies","groupedDependencies","skipGroups","groupChoices","isPackageDisabled","warn","icon","description","buttons","text","onDidClick","_atom$config$get2","ignoredPackages","config","get","add","set","from","markPackageAsIgnored","onDidDismiss","_notificationView$ele","innerHTML","ungroupedLine","groupLabelLine","groupedList","listItem","select","addEventListener","find","marginTop","hideUserPrompt","_atom$config$get","resolvedDependencies","dependenciesToInstall","every","chosenDependencies","dep","view","stopOnError","isSafeInteger","result","pMap","apmPath","getApmPath","shell","has","installPackage","handleDependencyInstalled","handleFailure","handleComplete"],"mappings":"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"} \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index 1919766..18467df 100644 --- a/dist/main.js +++ b/dist/main.js @@ -72,5 +72,5 @@ i((function(e,t){})),i((function(e){e.exports=_d})), * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -i((function(e,t){}));var Ed=i((function(e){!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=xd})),Td=i((function(e,t){var n=r&&r.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=r&&r.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return a(t,e),t},o=r&&r.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ViewContainer=t.DATATIP_ACTIONS=void 0;const l=i(d),s=o(Ed);t.DATATIP_ACTIONS=Object.freeze({PIN:"PIN",CLOSE:"CLOSE"});const u={[t.DATATIP_ACTIONS.PIN]:"pin",[t.DATATIP_ACTIONS.CLOSE]:"x"};class c extends l.Component{constructor(){super(...arguments),this.children=[],this.rootElement=document.createElement("div")}render(){var e;return this.actionButton=this.ActionClick(this.props.action,this.props.actionTitle),this.updateChildren(),l.createElement("div",Object.assign({className:null!==(e=this.props.className)&&void 0!==e?e:"datatip-element"},this.props.onMouseDown,this.props.onClickCapture),this.children,this.actionButton)}get element(){return s.default.render(this.render(),this.rootElement)}updateChildren(){this.props.component&&this.children.push(l.createElement(vn.ReactView,Object.assign({},this.props.component))),this.props.snippet&&this.children.push(l.createElement(gn.SnippetView,Object.assign({},this.props.snippet))),this.props.markdown&&this.children.push(l.createElement(mn.MarkdownView,Object.assign({},this.props.markdown)))}ActionClick(e,t){let n;if(null!=e&&null!=u[e]){const r=u[e];n=l.createElement("div",{className:`datatip-pin-button icon-${r}`,onClick:e=>{this.props.onActionClick()},title:t})}return n}async destroy(){}}t.ViewContainer=c})),Cd=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProviderRegistry=void 0;t.ProviderRegistry=class{constructor(){this.providers=[]}addProvider(e){const t=this.providers.findIndex((t=>e.priority>t.priority));return-1===t?this.providers.push(e):this.providers.splice(t,0,e),new n.default.Disposable((()=>{this.removeProvider(e)}))}removeProvider(e){const t=this.providers.indexOf(e);-1!==t&&this.providers.splice(t,1)}getProviderForEditor(e){const t=e.getGrammar().scopeName;return this.findProvider(t)}getAllProvidersForEditor(e){const t=e.getGrammar().scopeName;return this.findAllProviders(t)}findProvider(e){for(const t of this.findAllProviders(e))return t;return null}*findAllProviders(e){for(const t of this.providers)null!=t.grammarScopes&&-1===t.grammarScopes.indexOf(e)||(yield t)}}})),Md=i((function(e,t){function n(e,t){const n=atom.views.getView(e).getComponent();t.addEventListener("mousedown",(()=>{a(n),t.addEventListener("mouseleave",(()=>{r(n)}))}))}function r(e){null==e||e.didFocus()}function a(e){null==e||e.didBlurHiddenInput({relatedTarget:null})}async function i(e){var t,n;if(e.preventDefault(),e.ctrlKey&&"c"===e.key){const e=null!==(n=null===(t=document.getSelection())||void 0===t?void 0:t.toString())&&void 0!==n?n:"";await navigator.clipboard.writeText(e)}}Object.defineProperty(t,"__esModule",{value:!0}),t.copyListener=t.makeOverLayCopyable=t.blurEditor=t.focusEditor=t.overlayFocusFix=t.makeOverlaySelectable=void 0,t.makeOverlaySelectable=function(e,t,r=!0){t.setAttribute("tabindex","-1"),t.style.userSelect&&"none"!==t.style.userSelect||(t.style.userSelect="text"),r&&n(e,t),t.classList.add("native-key-bindings")},t.overlayFocusFix=n,t.focusEditor=r,t.blurEditor=a,t.makeOverLayCopyable=function(e){e.addEventListener("mouseenter",(()=>{e.addEventListener("keydown",i)})),e.addEventListener("mouseleave",(()=>{e.removeEventListener("keydown",i)}))},t.copyListener=i}));class Nd{constructor(){this.subscriptions=new e.CompositeDisposable,this.providerRegistry=new Cd.ProviderRegistry,this.watchedEditors=new WeakSet,this.editor=null,this.editorView=null,this.editorSubscriptions=null,this.dataTipMarkerDisposables=null,this.showDataTipOnCursorMove=!1,this.showDataTipOnMouseMove=!0,this.currentMarkerRange=null,this.mouseMoveTimer=null,this.cursorMoveTimer=null,this.hoverTime=atom.config.get("atom-ide-datatip.hoverTime"),this.glowClass=atom.config.get("atom-ide-datatip.glowOnHover")?"datatip-glow":"",this.onMouseMoveEvt=this.onMouseMoveEvt.bind(this),this.onCursorMoveEvt=this.onCursorMoveEvt.bind(this)}initialize(){this.subscriptions.add(atom.workspace.observeTextEditors((e=>{const t=this.watchEditor(e);e.onDidDestroy((()=>null==t?void 0:t.dispose()))})),atom.commands.add("atom-text-editor",{"datatip:toggle":e=>this.onCommandEvt(e)}),atom.config.observe("atom-ide-datatip.showDataTipOnCursorMove",(e=>{this.showDataTipOnCursorMove=e;const t=this.editor;this.editor=null,this.updateCurrentEditor(t)})),atom.config.observe("atom-ide-datatip.showDataTipOnMouseMove",(e=>{this.showDataTipOnMouseMove=e;const t=this.editor;this.editor=null,this.updateCurrentEditor(t)})))}dispose(){this.dataTipMarkerDisposables&&this.dataTipMarkerDisposables.dispose(),this.dataTipMarkerDisposables=null,this.editorSubscriptions&&this.editorSubscriptions.dispose(),this.editorSubscriptions=null,this.subscriptions&&this.subscriptions.dispose()}get datatipService(){return this.providerRegistry}watchEditor(t){if(this.watchedEditors.has(t))return;const n=atom.views.getView(t);n.hasFocus()&&this.updateCurrentEditor(t);const r=()=>this.updateCurrentEditor(t);n.addEventListener("focus",r);const a=()=>this.unmountDataTip();n.addEventListener("blur",a);const i=new e.Disposable((()=>{n.removeEventListener("focus",r),n.removeEventListener("blur",a),this.editor===t&&this.updateCurrentEditor(null)}));return this.watchedEditors.add(t),this.subscriptions.add(i),new e.Disposable((()=>{i.dispose(),null!=this.subscriptions&&this.subscriptions.remove(i),this.watchedEditors.delete(t)}))}updateCurrentEditor(t){t!==this.editor&&(this.editorSubscriptions&&this.editorSubscriptions.dispose(),this.editorSubscriptions=null,this.unmountDataTip(),this.editor=null,this.editorView=null,null!=t&&atom.workspace.isTextEditor(t)&&(this.editor=t,this.editorView=atom.views.getView(this.editor),this.showDataTipOnMouseMove&&this.editorView.addEventListener("mousemove",this.onMouseMoveEvt),this.editorSubscriptions=new e.CompositeDisposable,this.editorSubscriptions.add(this.editor.onDidChangeCursorPosition(this.onCursorMoveEvt),this.editor.getBuffer().onDidChangeText((e=>{0!==e.changes.length&&this.unmountDataTip()})),new e.Disposable((()=>{var e;null===(e=this.editorView)||void 0===e||e.removeEventListener("mousemove",this.onMouseMoveEvt)})))))}onCursorMoveEvt(e){this.cursorMoveTimer&&clearTimeout(this.cursorMoveTimer),this.cursorMoveTimer=setTimeout((e=>{if(e.textChanged||!this.showDataTipOnCursorMove)return;const t=e.cursor.editor,n=e.cursor.getBufferPosition();null!==this.currentMarkerRange&&this.currentMarkerRange.containsPoint(n)||this.showDataTip(t,n)}),this.hoverTime,e)}onMouseMoveEvt(e){this.mouseMoveTimer&&clearTimeout(this.mouseMoveTimer),this.mouseMoveTimer=setTimeout((e=>{if(null==this.editorView||null==this.editor)return;const t=this.editorView.getComponent(),n=t.screenPositionForMouseEvent(e),r=t.pixelPositionForMouseEvent(e),a=t.pixelPositionForScreenPosition(n);if(Math.abs(r.left-a.left)>=this.editor.getDefaultCharWidth())return this.unmountDataTip();const i=this.editor.bufferPositionForScreenPosition(n);null!==this.currentMarkerRange&&this.currentMarkerRange.containsPoint(i)||this.showDataTip(this.editor,i)}),this.hoverTime,e)}onMouseWheel(e){e.stopPropagation()}onCommandEvt(e){var t;const n=e.currentTarget.getModel();if(atom.workspace.isTextEditor(n)){const r=e.currentTarget.getModel().getCursorBufferPosition();if(null===(t=this.currentMarkerRange)||void 0===t?void 0:t.containsPoint(r))return this.unmountDataTip();this.showDataTip(n,r)}}async showDataTip(e,t){try{let n=null;for(const r of this.providerRegistry.getAllProvidersForEditor(e)){const a=await r.datatip(e,t);if(a){n=a;break}}if(n){if(null!=this.currentMarkerRange&&n.range.intersectsWith(this.currentMarkerRange))return;if(!n.range.containsPoint(t))return;if(this.unmountDataTip(),this.currentMarkerRange=n.range,"component"in n){const r=new Td.ViewContainer({component:{component:n.component,containerClassName:"datatip-component-container",contentClassName:"datatip-component"},className:`datatip-element select-list popover-list ${this.glowClass}`});this.dataTipMarkerDisposables=this.mountDataTipWithMarker(e,n.range,t,r)}else if(n.markedStrings.length>0){const r=e.getGrammar().scopeName.toLowerCase(),a=[],i=[];for(const e of n.markedStrings)"snippet"===e.type?a.push(e.value):"markdown"===e.type&&i.push(e.value);let o,l;a.length>0&&(o={snippet:a,grammarName:r,containerClassName:"datatip-snippet-container",contentClassName:"datatip-snippet"}),i.length>0&&(l={markdown:i,grammarName:r,containerClassName:"datatip-markdown-container",contentClassName:"datatip-markdown"});const s=new Td.ViewContainer({snippet:o,markdown:l,className:`datatip-element select-list popover-list ${this.glowClass}`});this.dataTipMarkerDisposables=this.mountDataTipWithMarker(e,n.range,t,s)}}else this.unmountDataTip()}catch(e){this.unmountDataTip(),console.error(e)}}mountDataTipWithMarker(t,n,r,a){const i=a.element;if(!i)return this.dataTipMarkerDisposables;const o=new e.CompositeDisposable,l=t.markBufferRange(n,{invalidate:"never"});if(t.getOverlayDecorations().filter((e=>1==e.getMarker().compare(l)?e:null)).length>0)return l.destroy(),this.dataTipMarkerDisposables;o.add(new e.Disposable((()=>l.destroy()))),t.decorateMarker(l,{type:"highlight",class:"datatip-highlight-region"});const s=t.markBufferRange(new e.Range(r,r),{invalidate:"never"});return Md.makeOverlaySelectable(t,i),t.decorateMarker(s,{type:"overlay",class:"datatip-overlay",position:"tail",item:i}),o.add(new e.Disposable((()=>s.destroy()))),i.addEventListener("mouseenter",(()=>{var e;null===(e=this.editorView)||void 0===e||e.removeEventListener("mousemove",this.onMouseMoveEvt)})),i.addEventListener("mouseleave",(()=>{var e;null===(e=this.editorView)||void 0===e||e.addEventListener("mousemove",this.onMouseMoveEvt)})),i.addEventListener("wheel",this.onMouseWheel,{passive:!0}),o.add(new e.Disposable((()=>{var e;null===(e=this.editorView)||void 0===e||e.addEventListener("mousemove",this.onMouseMoveEvt),a.destroy()}))),o}unmountDataTip(){var e;this.currentMarkerRange=null,null===(e=this.dataTipMarkerDisposables)||void 0===e||e.dispose(),this.dataTipMarkerDisposables=null}}var Od={showDataTipOnCursorMove:{title:"Show datatip automatically on 'cursor' stay",description:"If set to true, the data tip is shown as soon as you move your cursor stays on a word. Otherwise you will have to activate it via keypress.",type:"boolean",default:!1},showDataTipOnMouseMove:{description:"If set to true, the data tip is shown as soon as mouse hovers on a word.",title:"Show datatip automatically on 'mouse' hover",type:"boolean",default:!0},hoverTime:{title:"Hover/Stay Time",description:"The time that the mouse/cursor should hover/stay to show a datatip. Also specifies the time that the datatip is still shown when the mouse/cursor moves [ms].",type:"number",default:80},glowOnHover:{title:"Glow on hover",description:"Should the datatip glow when you hover on it?",type:"boolean",default:!0}};let zd,Ad;exports.activate=async function(){zd=new e.CompositeDisposable,Ad||(Ad=new Nd),zd.add(Ad),async function(){atom.packages.isPackageLoaded("busy-signal")||await Promise.resolve().then((function(){return require("./index-b5a60553.js")})).then((function(e){return e.index})).then((e=>{e.install("atom-ide-datatip",!0)}))}().then((()=>{Ad.initialize()}))},exports.config=Od,exports.deactivate=function(){zd&&zd.dispose()},exports.provideDatatipService=function(){return Ad.datatipService}; +i((function(e,t){}));var Ed=i((function(e){!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=xd})),Td=i((function(e,t){var n=r&&r.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=r&&r.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return a(t,e),t},o=r&&r.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ViewContainer=t.DATATIP_ACTIONS=void 0;const l=i(d),s=o(Ed);t.DATATIP_ACTIONS=Object.freeze({PIN:"PIN",CLOSE:"CLOSE"});const u={[t.DATATIP_ACTIONS.PIN]:"pin",[t.DATATIP_ACTIONS.CLOSE]:"x"};class c extends l.Component{constructor(){super(...arguments),this.children=[],this.rootElement=document.createElement("div")}render(){var e;return this.actionButton=this.ActionClick(this.props.action,this.props.actionTitle),this.updateChildren(),l.createElement("div",Object.assign({className:null!==(e=this.props.className)&&void 0!==e?e:"datatip-element"},this.props.onMouseDown,this.props.onClickCapture),this.children,this.actionButton)}get element(){return s.default.render(this.render(),this.rootElement)}updateChildren(){this.props.component&&this.children.push(l.createElement(vn.ReactView,Object.assign({},this.props.component))),this.props.snippet&&this.children.push(l.createElement(gn.SnippetView,Object.assign({},this.props.snippet))),this.props.markdown&&this.children.push(l.createElement(mn.MarkdownView,Object.assign({},this.props.markdown)))}ActionClick(e,t){let n;if(null!=e&&null!=u[e]){const r=u[e];n=l.createElement("div",{className:`datatip-pin-button icon-${r}`,onClick:e=>{this.props.onActionClick()},title:t})}return n}async destroy(){}}t.ViewContainer=c})),Cd=i((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProviderRegistry=void 0;t.ProviderRegistry=class{constructor(){this.providers=[]}addProvider(e){const t=this.providers.findIndex((t=>e.priority>t.priority));return-1===t?this.providers.push(e):this.providers.splice(t,0,e),new n.default.Disposable((()=>{this.removeProvider(e)}))}removeProvider(e){const t=this.providers.indexOf(e);-1!==t&&this.providers.splice(t,1)}getProviderForEditor(e){const t=e.getGrammar().scopeName;return this.findProvider(t)}getAllProvidersForEditor(e){const t=e.getGrammar().scopeName;return this.findAllProviders(t)}findProvider(e){for(const t of this.findAllProviders(e))return t;return null}*findAllProviders(e){for(const t of this.providers)null!=t.grammarScopes&&-1===t.grammarScopes.indexOf(e)||(yield t)}}})),Md=i((function(e,t){function n(e,t){const n=atom.views.getView(e).getComponent();t.addEventListener("mousedown",(()=>{a(n),t.addEventListener("mouseleave",(()=>{r(n)}))}))}function r(e){null==e||e.didFocus()}function a(e){null==e||e.didBlurHiddenInput({relatedTarget:null})}async function i(e){var t,n;if(e.preventDefault(),e.ctrlKey&&"c"===e.key){const e=null!==(n=null===(t=document.getSelection())||void 0===t?void 0:t.toString())&&void 0!==n?n:"";await navigator.clipboard.writeText(e)}}Object.defineProperty(t,"__esModule",{value:!0}),t.copyListener=t.makeOverLayCopyable=t.blurEditor=t.focusEditor=t.overlayFocusFix=t.makeOverlaySelectable=void 0,t.makeOverlaySelectable=function(e,t,r=!0){t.setAttribute("tabindex","-1"),t.style.userSelect&&"none"!==t.style.userSelect||(t.style.userSelect="text"),r&&n(e,t),t.classList.add("native-key-bindings")},t.overlayFocusFix=n,t.focusEditor=r,t.blurEditor=a,t.makeOverLayCopyable=function(e){e.addEventListener("mouseenter",(()=>{e.addEventListener("keydown",i)})),e.addEventListener("mouseleave",(()=>{e.removeEventListener("keydown",i)}))},t.copyListener=i}));class Nd{constructor(){this.subscriptions=new e.CompositeDisposable,this.providerRegistry=new Cd.ProviderRegistry,this.watchedEditors=new WeakSet,this.editor=null,this.editorView=null,this.editorSubscriptions=null,this.dataTipMarkerDisposables=null,this.showDataTipOnCursorMove=!1,this.showDataTipOnMouseMove=!0,this.currentMarkerRange=null,this.mouseMoveTimer=null,this.cursorMoveTimer=null,this.hoverTime=atom.config.get("atom-ide-datatip.hoverTime"),this.glowClass=atom.config.get("atom-ide-datatip.glowOnHover")?"datatip-glow":"",this.onMouseMoveEvt=this.onMouseMoveEvt.bind(this),this.onCursorMoveEvt=this.onCursorMoveEvt.bind(this)}initialize(){this.subscriptions.add(atom.workspace.observeTextEditors((e=>{const t=this.watchEditor(e);e.onDidDestroy((()=>null==t?void 0:t.dispose()))})),atom.commands.add("atom-text-editor",{"datatip:toggle":e=>this.onCommandEvt(e)}),atom.config.observe("atom-ide-datatip.showDataTipOnCursorMove",(e=>{this.showDataTipOnCursorMove=e;const t=this.editor;this.editor=null,this.updateCurrentEditor(t)})),atom.config.observe("atom-ide-datatip.showDataTipOnMouseMove",(e=>{this.showDataTipOnMouseMove=e;const t=this.editor;this.editor=null,this.updateCurrentEditor(t)})))}dispose(){this.dataTipMarkerDisposables&&this.dataTipMarkerDisposables.dispose(),this.dataTipMarkerDisposables=null,this.editorSubscriptions&&this.editorSubscriptions.dispose(),this.editorSubscriptions=null,this.subscriptions&&this.subscriptions.dispose()}get datatipService(){return this.providerRegistry}watchEditor(t){if(this.watchedEditors.has(t))return;const n=atom.views.getView(t);n.hasFocus()&&this.updateCurrentEditor(t);const r=()=>this.updateCurrentEditor(t);n.addEventListener("focus",r);const a=()=>this.unmountDataTip();n.addEventListener("blur",a);const i=new e.Disposable((()=>{n.removeEventListener("focus",r),n.removeEventListener("blur",a),this.editor===t&&this.updateCurrentEditor(null)}));return this.watchedEditors.add(t),this.subscriptions.add(i),new e.Disposable((()=>{i.dispose(),null!=this.subscriptions&&this.subscriptions.remove(i),this.watchedEditors.delete(t)}))}updateCurrentEditor(t){t!==this.editor&&(this.editorSubscriptions&&this.editorSubscriptions.dispose(),this.editorSubscriptions=null,this.unmountDataTip(),this.editor=null,this.editorView=null,null!=t&&atom.workspace.isTextEditor(t)&&(this.editor=t,this.editorView=atom.views.getView(this.editor),this.showDataTipOnMouseMove&&this.editorView.addEventListener("mousemove",this.onMouseMoveEvt),this.editorSubscriptions=new e.CompositeDisposable,this.editorSubscriptions.add(this.editor.onDidChangeCursorPosition(this.onCursorMoveEvt),this.editor.getBuffer().onDidChangeText((e=>{0!==e.changes.length&&this.unmountDataTip()})),new e.Disposable((()=>{var e;null===(e=this.editorView)||void 0===e||e.removeEventListener("mousemove",this.onMouseMoveEvt)})))))}onCursorMoveEvt(e){this.cursorMoveTimer&&clearTimeout(this.cursorMoveTimer),this.cursorMoveTimer=setTimeout((e=>{if(e.textChanged||!this.showDataTipOnCursorMove)return;const t=e.cursor.editor,n=e.cursor.getBufferPosition();null!==this.currentMarkerRange&&this.currentMarkerRange.containsPoint(n)||this.showDataTip(t,n)}),this.hoverTime,e)}onMouseMoveEvt(e){this.mouseMoveTimer&&clearTimeout(this.mouseMoveTimer),this.mouseMoveTimer=setTimeout((e=>{if(null==this.editorView||null==this.editor)return;const t=this.editorView.getComponent(),n=t.screenPositionForMouseEvent(e),r=t.pixelPositionForMouseEvent(e),a=t.pixelPositionForScreenPosition(n);if(Math.abs(r.left-a.left)>=this.editor.getDefaultCharWidth())return this.unmountDataTip();const i=this.editor.bufferPositionForScreenPosition(n);null!==this.currentMarkerRange&&this.currentMarkerRange.containsPoint(i)||this.showDataTip(this.editor,i)}),this.hoverTime,e)}onMouseWheel(e){e.stopPropagation()}onCommandEvt(e){var t;const n=e.currentTarget.getModel();if(atom.workspace.isTextEditor(n)){const r=e.currentTarget.getModel().getCursorBufferPosition();if(null===(t=this.currentMarkerRange)||void 0===t?void 0:t.containsPoint(r))return this.unmountDataTip();this.showDataTip(n,r)}}async showDataTip(e,t){try{let n=null;for(const r of this.providerRegistry.getAllProvidersForEditor(e)){const a=await r.datatip(e,t);if(a){n=a;break}}if(n){if(null!=this.currentMarkerRange&&n.range.intersectsWith(this.currentMarkerRange))return;if(!n.range.containsPoint(t))return;if(this.unmountDataTip(),this.currentMarkerRange=n.range,"component"in n){const r=new Td.ViewContainer({component:{component:n.component,containerClassName:"datatip-component-container",contentClassName:"datatip-component"},className:`datatip-element select-list popover-list ${this.glowClass}`});this.dataTipMarkerDisposables=this.mountDataTipWithMarker(e,n.range,t,r)}else if(n.markedStrings.length>0){const r=e.getGrammar().scopeName.toLowerCase(),a=[],i=[];for(const e of n.markedStrings)"snippet"===e.type?a.push(e.value):"markdown"===e.type&&i.push(e.value);let o,l;a.length>0&&(o={snippet:a,grammarName:r,containerClassName:"datatip-snippet-container",contentClassName:"datatip-snippet"}),i.length>0&&(l={markdown:i,grammarName:r,containerClassName:"datatip-markdown-container",contentClassName:"datatip-markdown"});const s=new Td.ViewContainer({snippet:o,markdown:l,className:`datatip-element select-list popover-list ${this.glowClass}`});this.dataTipMarkerDisposables=this.mountDataTipWithMarker(e,n.range,t,s)}}else this.unmountDataTip()}catch(e){this.unmountDataTip(),console.error(e)}}mountDataTipWithMarker(t,n,r,a){const i=a.element;if(!i)return this.dataTipMarkerDisposables;const o=new e.CompositeDisposable,l=t.markBufferRange(n,{invalidate:"never"});if(t.getOverlayDecorations().filter((e=>1==e.getMarker().compare(l)?e:null)).length>0)return l.destroy(),this.dataTipMarkerDisposables;o.add(new e.Disposable((()=>l.destroy()))),t.decorateMarker(l,{type:"highlight",class:"datatip-highlight-region"});const s=t.markBufferRange(new e.Range(r,r),{invalidate:"never"});return Md.makeOverlaySelectable(t,i),t.decorateMarker(s,{type:"overlay",class:"datatip-overlay",position:"tail",item:i}),o.add(new e.Disposable((()=>s.destroy()))),i.addEventListener("mouseenter",(()=>{var e;null===(e=this.editorView)||void 0===e||e.removeEventListener("mousemove",this.onMouseMoveEvt)})),i.addEventListener("mouseleave",(()=>{var e;null===(e=this.editorView)||void 0===e||e.addEventListener("mousemove",this.onMouseMoveEvt)})),i.addEventListener("wheel",this.onMouseWheel,{passive:!0}),o.add(new e.Disposable((()=>{var e;null===(e=this.editorView)||void 0===e||e.addEventListener("mousemove",this.onMouseMoveEvt),a.destroy()}))),o}unmountDataTip(){var e;this.currentMarkerRange=null,null===(e=this.dataTipMarkerDisposables)||void 0===e||e.dispose(),this.dataTipMarkerDisposables=null}}var Od={showDataTipOnCursorMove:{title:"Show datatip automatically on 'cursor' stay",description:"If set to true, the data tip is shown as soon as you move your cursor stays on a word. Otherwise you will have to activate it via keypress.",type:"boolean",default:!1},showDataTipOnMouseMove:{description:"If set to true, the data tip is shown as soon as mouse hovers on a word.",title:"Show datatip automatically on 'mouse' hover",type:"boolean",default:!0},hoverTime:{title:"Hover/Stay Time",description:"The time that the mouse/cursor should hover/stay to show a datatip. Also specifies the time that the datatip is still shown when the mouse/cursor moves [ms].",type:"number",default:80},glowOnHover:{title:"Glow on hover",description:"Should the datatip glow when you hover on it?",type:"boolean",default:!0}};let zd,Ad;exports.activate=async function(){zd=new e.CompositeDisposable,Ad||(Ad=new Nd),zd.add(Ad),async function(){atom.packages.isPackageLoaded("busy-signal")||await Promise.resolve().then((function(){return require("./index-41c7c3a8.js")})).then((function(e){return e.index})).then((e=>{e.install("atom-ide-datatip",!0)}))}().then((()=>{Ad.initialize()}))},exports.config=Od,exports.deactivate=function(){zd&&zd.dispose()},exports.provideDatatipService=function(){return Ad.datatipService}; //# sourceMappingURL=main.js.map diff --git a/dist/tsconfig.tsbuildinfo b/dist/tsconfig.tsbuildinfo index 650b62e..961e90b 100644 --- a/dist/tsconfig.tsbuildinfo +++ b/dist/tsconfig.tsbuildinfo @@ -152,198 +152,198 @@ "affectsGlobalScope": true }, "../node_modules/@types/node/async_hooks.d.ts": { - "version": "c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50", - "signature": "c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50", + "version": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", + "signature": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", "affectsGlobalScope": false }, "../node_modules/@types/node/buffer.d.ts": { - "version": "bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152", - "signature": "bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152", + "version": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "signature": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", "affectsGlobalScope": false }, "../node_modules/@types/node/child_process.d.ts": { - "version": "a4b5411d87995b9fb847f491f4388b38f829d8ab39be3e2fd65a3e40709f29a8", - "signature": "a4b5411d87995b9fb847f491f4388b38f829d8ab39be3e2fd65a3e40709f29a8", + "version": "89a3409a743c2a408d02bd68255a61d8416225b76c2c66d8e2e74dad3e00bc5d", + "signature": "89a3409a743c2a408d02bd68255a61d8416225b76c2c66d8e2e74dad3e00bc5d", "affectsGlobalScope": false }, "../node_modules/@types/node/cluster.d.ts": { - "version": "123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803", - "signature": "123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803", + "version": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "signature": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", "affectsGlobalScope": false }, "../node_modules/@types/node/console.d.ts": { - "version": "eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6", - "signature": "eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6", + "version": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "signature": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", "affectsGlobalScope": true }, "../node_modules/@types/node/constants.d.ts": { - "version": "90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720", - "signature": "90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720", + "version": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "signature": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", "affectsGlobalScope": false }, "../node_modules/@types/node/crypto.d.ts": { - "version": "3d9c3ccc05ebc6e288bef007bcc47a2fc0dce748ea634093ef0732b9be743805", - "signature": "3d9c3ccc05ebc6e288bef007bcc47a2fc0dce748ea634093ef0732b9be743805", + "version": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", + "signature": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", "affectsGlobalScope": false }, "../node_modules/@types/node/dgram.d.ts": { - "version": "7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191", - "signature": "7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191", + "version": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "signature": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", "affectsGlobalScope": false }, "../node_modules/@types/node/dns.d.ts": { - "version": "51f82a7e0819a91c170eb1ad39ad1917a0cbb8f9354fdaed66a5189745f63f71", - "signature": "51f82a7e0819a91c170eb1ad39ad1917a0cbb8f9354fdaed66a5189745f63f71", + "version": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "signature": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", "affectsGlobalScope": false }, "../node_modules/@types/node/domain.d.ts": { - "version": "2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5", - "signature": "2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5", + "version": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "signature": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", "affectsGlobalScope": true }, "../node_modules/@types/node/events.d.ts": { - "version": "153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce", - "signature": "153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce", + "version": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "signature": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", "affectsGlobalScope": true }, "../node_modules/@types/node/fs.d.ts": { - "version": "2e204fb437b8e98937c933cb7e739b24b871872161997d7dfe98841b861a14f0", - "signature": "2e204fb437b8e98937c933cb7e739b24b871872161997d7dfe98841b861a14f0", + "version": "c6e08c755c7dad4c282d2701c2c370fee96a1570d66b1d4ae9be36f34763c9bb", + "signature": "c6e08c755c7dad4c282d2701c2c370fee96a1570d66b1d4ae9be36f34763c9bb", "affectsGlobalScope": false }, "../node_modules/@types/node/fs/promises.d.ts": { - "version": "1c0692002778565d9b3ee0edea6ca133caadd714597228525fec8e2fd9846755", - "signature": "1c0692002778565d9b3ee0edea6ca133caadd714597228525fec8e2fd9846755", + "version": "1c082a7783c301909a8da31748ef54bd84d85120f9d78c7d299ce08949f73c88", + "signature": "1c082a7783c301909a8da31748ef54bd84d85120f9d78c7d299ce08949f73c88", "affectsGlobalScope": false }, "../node_modules/@types/node/http.d.ts": { - "version": "f2f8a385694fd71a421616cbaca477a539f30f4098f11261b1d188d72dc3478a", - "signature": "f2f8a385694fd71a421616cbaca477a539f30f4098f11261b1d188d72dc3478a", + "version": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "signature": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", "affectsGlobalScope": false }, "../node_modules/@types/node/http2.d.ts": { - "version": "f15f1f1104aaf47d25124de81949375416e3f8ee704e3d221bea339e35421edb", - "signature": "f15f1f1104aaf47d25124de81949375416e3f8ee704e3d221bea339e35421edb", + "version": "4c260129d649d69f0608cd123e7016e61364b553a5ca2de9b66b0398594959cf", + "signature": "4c260129d649d69f0608cd123e7016e61364b553a5ca2de9b66b0398594959cf", "affectsGlobalScope": false }, "../node_modules/@types/node/https.d.ts": { - "version": "c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a", - "signature": "c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a", + "version": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "signature": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", "affectsGlobalScope": false }, "../node_modules/@types/node/inspector.d.ts": { - "version": "6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947", - "signature": "6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947", + "version": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "signature": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", "affectsGlobalScope": false }, "../node_modules/@types/node/module.d.ts": { - "version": "bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665", - "signature": "bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665", + "version": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "signature": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", "affectsGlobalScope": false }, "../node_modules/@types/node/net.d.ts": { - "version": "3c5edfced8c5cd35e3680789deabbe4f478b67a42b26d82d91eea9d3f07f4771", - "signature": "3c5edfced8c5cd35e3680789deabbe4f478b67a42b26d82d91eea9d3f07f4771", + "version": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "signature": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", "affectsGlobalScope": false }, "../node_modules/@types/node/os.d.ts": { - "version": "ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34", - "signature": "ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34", + "version": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "signature": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", "affectsGlobalScope": false }, "../node_modules/@types/node/path.d.ts": { - "version": "84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35", - "signature": "84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35", + "version": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "signature": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", "affectsGlobalScope": false }, "../node_modules/@types/node/perf_hooks.d.ts": { - "version": "4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0", - "signature": "4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0", + "version": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "signature": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", "affectsGlobalScope": false }, "../node_modules/@types/node/process.d.ts": { - "version": "ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8", - "signature": "ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8", + "version": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "signature": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", "affectsGlobalScope": true }, "../node_modules/@types/node/punycode.d.ts": { - "version": "3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c", - "signature": "3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c", + "version": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "signature": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", "affectsGlobalScope": false }, "../node_modules/@types/node/querystring.d.ts": { - "version": "884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0", - "signature": "884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0", + "version": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "signature": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", "affectsGlobalScope": false }, "../node_modules/@types/node/readline.d.ts": { - "version": "6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9", - "signature": "6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9", + "version": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "signature": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", "affectsGlobalScope": false }, "../node_modules/@types/node/repl.d.ts": { - "version": "acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da", - "signature": "acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da", + "version": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "signature": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", "affectsGlobalScope": false }, "../node_modules/@types/node/stream.d.ts": { - "version": "e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0", - "signature": "e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0", + "version": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "signature": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", "affectsGlobalScope": false }, "../node_modules/@types/node/string_decoder.d.ts": { - "version": "d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457", - "signature": "d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457", + "version": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "signature": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", "affectsGlobalScope": false }, "../node_modules/@types/node/timers.d.ts": { - "version": "b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9", - "signature": "b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9", + "version": "2f9c94d2805d249de1ed836937ce1c62dd051bae445661e62ecf238b69893b29", + "signature": "2f9c94d2805d249de1ed836937ce1c62dd051bae445661e62ecf238b69893b29", "affectsGlobalScope": false }, "../node_modules/@types/node/tls.d.ts": { - "version": "01c351e71743ff26450789ec4ca6a1421c647c9c459aa8007e9e1914073b5db2", - "signature": "01c351e71743ff26450789ec4ca6a1421c647c9c459aa8007e9e1914073b5db2", + "version": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "signature": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", "affectsGlobalScope": false }, "../node_modules/@types/node/trace_events.d.ts": { - "version": "a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638", - "signature": "a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638", + "version": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "signature": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", "affectsGlobalScope": false }, "../node_modules/@types/node/tty.d.ts": { - "version": "3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748", - "signature": "3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748", + "version": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "signature": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", "affectsGlobalScope": false }, "../node_modules/@types/node/url.d.ts": { - "version": "4001971b90f18161f7bd46d68150d32a5da47e3f177956a267a2b29a2771896a", - "signature": "4001971b90f18161f7bd46d68150d32a5da47e3f177956a267a2b29a2771896a", + "version": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "signature": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", "affectsGlobalScope": false }, "../node_modules/@types/node/util.d.ts": { - "version": "f28704c27e1bd58068052f5407541a3306f0ffc77f068e2891f46527a4569e25", - "signature": "f28704c27e1bd58068052f5407541a3306f0ffc77f068e2891f46527a4569e25", + "version": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "signature": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", "affectsGlobalScope": false }, "../node_modules/@types/node/v8.d.ts": { - "version": "289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953", - "signature": "289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953", + "version": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "signature": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", "affectsGlobalScope": false }, "../node_modules/@types/node/vm.d.ts": { - "version": "baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f", - "signature": "baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f", + "version": "9311a490af2c8590ecb1459efb3cf5faedc11a55e509de6dfaaa733925c88a01", + "signature": "9311a490af2c8590ecb1459efb3cf5faedc11a55e509de6dfaaa733925c88a01", "affectsGlobalScope": false }, "../node_modules/@types/node/worker_threads.d.ts": { - "version": "c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab", - "signature": "c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab", + "version": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "signature": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", "affectsGlobalScope": false }, "../node_modules/@types/node/zlib.d.ts": { - "version": "15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab", - "signature": "15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab", + "version": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "signature": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", "affectsGlobalScope": false }, "../node_modules/@types/node/ts3.4/base.d.ts": { @@ -357,8 +357,8 @@ "affectsGlobalScope": true }, "../node_modules/@types/node/wasi.d.ts": { - "version": "4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3", - "signature": "4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3", + "version": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "signature": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", "affectsGlobalScope": false }, "../node_modules/@types/node/ts3.6/base.d.ts": { @@ -367,8 +367,8 @@ "affectsGlobalScope": false }, "../node_modules/@types/node/assert.d.ts": { - "version": "b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76", - "signature": "b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76", + "version": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "signature": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", "affectsGlobalScope": false }, "../node_modules/@types/node/base.d.ts": { @@ -377,8 +377,8 @@ "affectsGlobalScope": false }, "../node_modules/@types/node/index.d.ts": { - "version": "744e6430bafc6f39f66c4fc1e6a0d8c9551260ffd1782aa7e3f5166ac6aa1f86", - "signature": "744e6430bafc6f39f66c4fc1e6a0d8c9551260ffd1782aa7e3f5166ac6aa1f86", + "version": "50110c7d2a07edf10beabf49b33fd89e79a19d73db0369cc5a64c9d03725cfc6", + "signature": "50110c7d2a07edf10beabf49b33fd89e79a19d73db0369cc5a64c9d03725cfc6", "affectsGlobalScope": false }, "../node_modules/@types/atom/index.d.ts": { @@ -451,6 +451,26 @@ "signature": "777c4e1049f5153eb1f5e61bdbd8f6d614a96618fc4bdf9a17b5ca6f9b27bb32", "affectsGlobalScope": false }, + "../node_modules/@types/react/global.d.ts": { + "version": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "signature": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "affectsGlobalScope": true + }, + "../node_modules/csstype/index.d.ts": { + "version": "2421504d4ad8486abdb522b7bcdd4caafbcf4a320cdf7b19e780df258c639d7f", + "signature": "2421504d4ad8486abdb522b7bcdd4caafbcf4a320cdf7b19e780df258c639d7f", + "affectsGlobalScope": false + }, + "../node_modules/@types/prop-types/index.d.ts": { + "version": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "signature": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "affectsGlobalScope": false + }, + "../node_modules/@types/react/index.d.ts": { + "version": "9692a141afe8f30a5542189ffceb1a043f3d1fbaf0e07d28a8e9ac6d32c4cb01", + "signature": "9692a141afe8f30a5542189ffceb1a043f3d1fbaf0e07d28a8e9ac6d32c4cb01", + "affectsGlobalScope": true + }, "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts": { "version": "6ecb5886ac8b397791989b9f8cd2fb8f832e1e33a766b2615072b49a174763fb", "signature": "6ecb5886ac8b397791989b9f8cd2fb8f832e1e33a766b2615072b49a174763fb", @@ -521,6 +541,11 @@ "signature": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", "affectsGlobalScope": false }, + "../node_modules/@types/react-dom/index.d.ts": { + "version": "5e7837730e7ef63981cbd8d878388c4b37acc70dc3190881e230a23e3b4f9514", + "signature": "5e7837730e7ef63981cbd8d878388c4b37acc70dc3190881e230a23e3b4f9514", + "affectsGlobalScope": false + }, "../node_modules/@types/resolve/index.d.ts": { "version": "8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede", "signature": "8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede", @@ -596,11 +621,21 @@ "../node_modules/@types/atom/index.d.ts", "../node_modules/@types/atom/linter/config.d.ts" ], + "../node_modules/@types/node/assert.d.ts": [ + "../node_modules/@types/node/assert.d.ts" + ], + "../node_modules/@types/node/async_hooks.d.ts": [ + "../node_modules/@types/node/async_hooks.d.ts" + ], "../node_modules/@types/node/base.d.ts": [ "../node_modules/@types/node/assert.d.ts", "../node_modules/@types/node/ts3.6/base.d.ts" ], + "../node_modules/@types/node/buffer.d.ts": [ + "../node_modules/@types/node/buffer.d.ts" + ], "../node_modules/@types/node/child_process.d.ts": [ + "../node_modules/@types/node/child_process.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/net.d.ts", @@ -608,6 +643,7 @@ ], "../node_modules/@types/node/cluster.d.ts": [ "../node_modules/@types/node/child_process.d.ts", + "../node_modules/@types/node/cluster.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/net.d.ts" ], @@ -615,19 +651,26 @@ "../node_modules/@types/node/util.d.ts" ], "../node_modules/@types/node/constants.d.ts": [ + "../node_modules/@types/node/constants.d.ts", "../node_modules/@types/node/crypto.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/os.d.ts" ], "../node_modules/@types/node/crypto.d.ts": [ + "../node_modules/@types/node/crypto.d.ts", "../node_modules/@types/node/stream.d.ts" ], "../node_modules/@types/node/dgram.d.ts": [ + "../node_modules/@types/node/dgram.d.ts", "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/net.d.ts" ], + "../node_modules/@types/node/dns.d.ts": [ + "../node_modules/@types/node/dns.d.ts" + ], "../node_modules/@types/node/domain.d.ts": [ + "../node_modules/@types/node/domain.d.ts", "../node_modules/@types/node/events.d.ts" ], "../node_modules/@types/node/events.d.ts": [ @@ -635,14 +678,17 @@ ], "../node_modules/@types/node/fs.d.ts": [ "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/fs/promises.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/fs/promises.d.ts": [ - "../node_modules/@types/node/fs.d.ts" + "../node_modules/@types/node/fs.d.ts", + "../node_modules/@types/node/fs/promises.d.ts" ], "../node_modules/@types/node/http.d.ts": [ + "../node_modules/@types/node/http.d.ts", "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts" @@ -651,14 +697,15 @@ "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/http.d.ts", + "../node_modules/@types/node/http2.d.ts", "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/tls.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/https.d.ts": [ - "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/http.d.ts", + "../node_modules/@types/node/https.d.ts", "../node_modules/@types/node/tls.d.ts", "../node_modules/@types/node/url.d.ts" ], @@ -666,39 +713,64 @@ "../node_modules/@types/node/base.d.ts" ], "../node_modules/@types/node/inspector.d.ts": [ - "../node_modules/@types/node/events.d.ts" + "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/inspector.d.ts" ], "../node_modules/@types/node/module.d.ts": [ + "../node_modules/@types/node/module.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/net.d.ts": [ "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts" ], + "../node_modules/@types/node/os.d.ts": [ + "../node_modules/@types/node/os.d.ts" + ], + "../node_modules/@types/node/path.d.ts": [ + "../node_modules/@types/node/path.d.ts" + ], "../node_modules/@types/node/perf_hooks.d.ts": [ - "../node_modules/@types/node/async_hooks.d.ts" + "../node_modules/@types/node/async_hooks.d.ts", + "../node_modules/@types/node/perf_hooks.d.ts" ], "../node_modules/@types/node/process.d.ts": [ "../node_modules/@types/node/tty.d.ts" ], + "../node_modules/@types/node/punycode.d.ts": [ + "../node_modules/@types/node/punycode.d.ts" + ], + "../node_modules/@types/node/querystring.d.ts": [ + "../node_modules/@types/node/querystring.d.ts" + ], "../node_modules/@types/node/readline.d.ts": [ "../node_modules/@types/node/events.d.ts", - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/readline.d.ts" ], "../node_modules/@types/node/repl.d.ts": [ "../node_modules/@types/node/readline.d.ts", + "../node_modules/@types/node/repl.d.ts", "../node_modules/@types/node/util.d.ts", "../node_modules/@types/node/vm.d.ts" ], "../node_modules/@types/node/stream.d.ts": [ - "../node_modules/@types/node/events.d.ts" + "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/stream.d.ts" + ], + "../node_modules/@types/node/string_decoder.d.ts": [ + "../node_modules/@types/node/string_decoder.d.ts" + ], + "../node_modules/@types/node/timers.d.ts": [ + "../node_modules/@types/node/timers.d.ts" ], "../node_modules/@types/node/tls.d.ts": [ - "../node_modules/@types/node/crypto.d.ts", - "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/net.d.ts", - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/tls.d.ts" + ], + "../node_modules/@types/node/trace_events.d.ts": [ + "../node_modules/@types/node/trace_events.d.ts" ], "../node_modules/@types/node/ts3.4/base.d.ts": [ "../node_modules/@types/node/async_hooks.d.ts", @@ -748,23 +820,45 @@ "../node_modules/@types/node/wasi.d.ts" ], "../node_modules/@types/node/tty.d.ts": [ - "../node_modules/@types/node/net.d.ts" + "../node_modules/@types/node/net.d.ts", + "../node_modules/@types/node/tty.d.ts" ], "../node_modules/@types/node/url.d.ts": [ - "../node_modules/@types/node/querystring.d.ts" + "../node_modules/@types/node/querystring.d.ts", + "../node_modules/@types/node/url.d.ts" + ], + "../node_modules/@types/node/util.d.ts": [ + "../node_modules/@types/node/util.d.ts" ], "../node_modules/@types/node/v8.d.ts": [ - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/stream.d.ts", + "../node_modules/@types/node/v8.d.ts" + ], + "../node_modules/@types/node/vm.d.ts": [ + "../node_modules/@types/node/vm.d.ts" + ], + "../node_modules/@types/node/wasi.d.ts": [ + "../node_modules/@types/node/wasi.d.ts" ], "../node_modules/@types/node/worker_threads.d.ts": [ "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs/promises.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts", - "../node_modules/@types/node/vm.d.ts" + "../node_modules/@types/node/vm.d.ts", + "../node_modules/@types/node/worker_threads.d.ts" ], "../node_modules/@types/node/zlib.d.ts": [ - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/stream.d.ts", + "../node_modules/@types/node/zlib.d.ts" + ], + "../node_modules/@types/react-dom/index.d.ts": [ + "../node_modules/@types/react/index.d.ts" + ], + "../node_modules/@types/react/index.d.ts": [ + "../node_modules/@types/prop-types/index.d.ts", + "../node_modules/@types/react/global.d.ts", + "../node_modules/csstype/index.d.ts" ], "../node_modules/@types/resolve/index.d.ts": [ "../node_modules/@types/node/index.d.ts" @@ -774,12 +868,18 @@ "../node_modules/atom-ide-base/types-packages/main.d.ts" ], "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/types-packages/main.d.ts" ], + "../node_modules/atom-ide-base/commons-ui/float-pane/ReactView.d.ts": [ + "../node_modules/@types/react/index.d.ts" + ], "../node_modules/atom-ide-base/commons-ui/float-pane/SnippetView.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/types-packages/main.d.ts" ], "../node_modules/atom-ide-base/commons-ui/float-pane/ViewContainer.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/ReactView.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/SnippetView.d.ts" @@ -848,11 +948,21 @@ "../node_modules/@types/atom/index.d.ts", "../node_modules/@types/atom/linter/config.d.ts" ], + "../node_modules/@types/node/assert.d.ts": [ + "../node_modules/@types/node/assert.d.ts" + ], + "../node_modules/@types/node/async_hooks.d.ts": [ + "../node_modules/@types/node/async_hooks.d.ts" + ], "../node_modules/@types/node/base.d.ts": [ "../node_modules/@types/node/assert.d.ts", "../node_modules/@types/node/ts3.6/base.d.ts" ], + "../node_modules/@types/node/buffer.d.ts": [ + "../node_modules/@types/node/buffer.d.ts" + ], "../node_modules/@types/node/child_process.d.ts": [ + "../node_modules/@types/node/child_process.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/net.d.ts", @@ -860,6 +970,7 @@ ], "../node_modules/@types/node/cluster.d.ts": [ "../node_modules/@types/node/child_process.d.ts", + "../node_modules/@types/node/cluster.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/net.d.ts" ], @@ -867,19 +978,26 @@ "../node_modules/@types/node/util.d.ts" ], "../node_modules/@types/node/constants.d.ts": [ + "../node_modules/@types/node/constants.d.ts", "../node_modules/@types/node/crypto.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/os.d.ts" ], "../node_modules/@types/node/crypto.d.ts": [ + "../node_modules/@types/node/crypto.d.ts", "../node_modules/@types/node/stream.d.ts" ], "../node_modules/@types/node/dgram.d.ts": [ + "../node_modules/@types/node/dgram.d.ts", "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/net.d.ts" ], + "../node_modules/@types/node/dns.d.ts": [ + "../node_modules/@types/node/dns.d.ts" + ], "../node_modules/@types/node/domain.d.ts": [ + "../node_modules/@types/node/domain.d.ts", "../node_modules/@types/node/events.d.ts" ], "../node_modules/@types/node/events.d.ts": [ @@ -887,14 +1005,17 @@ ], "../node_modules/@types/node/fs.d.ts": [ "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/fs/promises.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/fs/promises.d.ts": [ - "../node_modules/@types/node/fs.d.ts" + "../node_modules/@types/node/fs.d.ts", + "../node_modules/@types/node/fs/promises.d.ts" ], "../node_modules/@types/node/http.d.ts": [ + "../node_modules/@types/node/http.d.ts", "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts" @@ -903,14 +1024,15 @@ "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs.d.ts", "../node_modules/@types/node/http.d.ts", + "../node_modules/@types/node/http2.d.ts", "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/tls.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/https.d.ts": [ - "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/http.d.ts", + "../node_modules/@types/node/https.d.ts", "../node_modules/@types/node/tls.d.ts", "../node_modules/@types/node/url.d.ts" ], @@ -918,39 +1040,64 @@ "../node_modules/@types/node/base.d.ts" ], "../node_modules/@types/node/inspector.d.ts": [ - "../node_modules/@types/node/events.d.ts" + "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/inspector.d.ts" ], "../node_modules/@types/node/module.d.ts": [ + "../node_modules/@types/node/module.d.ts", "../node_modules/@types/node/url.d.ts" ], "../node_modules/@types/node/net.d.ts": [ "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/net.d.ts", "../node_modules/@types/node/stream.d.ts" ], + "../node_modules/@types/node/os.d.ts": [ + "../node_modules/@types/node/os.d.ts" + ], + "../node_modules/@types/node/path.d.ts": [ + "../node_modules/@types/node/path.d.ts" + ], "../node_modules/@types/node/perf_hooks.d.ts": [ - "../node_modules/@types/node/async_hooks.d.ts" + "../node_modules/@types/node/async_hooks.d.ts", + "../node_modules/@types/node/perf_hooks.d.ts" ], "../node_modules/@types/node/process.d.ts": [ "../node_modules/@types/node/tty.d.ts" ], + "../node_modules/@types/node/punycode.d.ts": [ + "../node_modules/@types/node/punycode.d.ts" + ], + "../node_modules/@types/node/querystring.d.ts": [ + "../node_modules/@types/node/querystring.d.ts" + ], "../node_modules/@types/node/readline.d.ts": [ "../node_modules/@types/node/events.d.ts", - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/readline.d.ts" ], "../node_modules/@types/node/repl.d.ts": [ "../node_modules/@types/node/readline.d.ts", + "../node_modules/@types/node/repl.d.ts", "../node_modules/@types/node/util.d.ts", "../node_modules/@types/node/vm.d.ts" ], "../node_modules/@types/node/stream.d.ts": [ - "../node_modules/@types/node/events.d.ts" + "../node_modules/@types/node/events.d.ts", + "../node_modules/@types/node/stream.d.ts" + ], + "../node_modules/@types/node/string_decoder.d.ts": [ + "../node_modules/@types/node/string_decoder.d.ts" + ], + "../node_modules/@types/node/timers.d.ts": [ + "../node_modules/@types/node/timers.d.ts" ], "../node_modules/@types/node/tls.d.ts": [ - "../node_modules/@types/node/crypto.d.ts", - "../node_modules/@types/node/dns.d.ts", "../node_modules/@types/node/net.d.ts", - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/tls.d.ts" + ], + "../node_modules/@types/node/trace_events.d.ts": [ + "../node_modules/@types/node/trace_events.d.ts" ], "../node_modules/@types/node/ts3.4/base.d.ts": [ "../node_modules/@types/node/async_hooks.d.ts", @@ -1000,23 +1147,45 @@ "../node_modules/@types/node/wasi.d.ts" ], "../node_modules/@types/node/tty.d.ts": [ - "../node_modules/@types/node/net.d.ts" + "../node_modules/@types/node/net.d.ts", + "../node_modules/@types/node/tty.d.ts" ], "../node_modules/@types/node/url.d.ts": [ - "../node_modules/@types/node/querystring.d.ts" + "../node_modules/@types/node/querystring.d.ts", + "../node_modules/@types/node/url.d.ts" + ], + "../node_modules/@types/node/util.d.ts": [ + "../node_modules/@types/node/util.d.ts" ], "../node_modules/@types/node/v8.d.ts": [ - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/stream.d.ts", + "../node_modules/@types/node/v8.d.ts" + ], + "../node_modules/@types/node/vm.d.ts": [ + "../node_modules/@types/node/vm.d.ts" + ], + "../node_modules/@types/node/wasi.d.ts": [ + "../node_modules/@types/node/wasi.d.ts" ], "../node_modules/@types/node/worker_threads.d.ts": [ "../node_modules/@types/node/events.d.ts", "../node_modules/@types/node/fs/promises.d.ts", "../node_modules/@types/node/stream.d.ts", "../node_modules/@types/node/url.d.ts", - "../node_modules/@types/node/vm.d.ts" + "../node_modules/@types/node/vm.d.ts", + "../node_modules/@types/node/worker_threads.d.ts" ], "../node_modules/@types/node/zlib.d.ts": [ - "../node_modules/@types/node/stream.d.ts" + "../node_modules/@types/node/stream.d.ts", + "../node_modules/@types/node/zlib.d.ts" + ], + "../node_modules/@types/react-dom/index.d.ts": [ + "../node_modules/@types/react/index.d.ts" + ], + "../node_modules/@types/react/index.d.ts": [ + "../node_modules/@types/prop-types/index.d.ts", + "../node_modules/@types/react/global.d.ts", + "../node_modules/csstype/index.d.ts" ], "../node_modules/@types/resolve/index.d.ts": [ "../node_modules/@types/node/index.d.ts" @@ -1026,12 +1195,18 @@ "../node_modules/atom-ide-base/types-packages/main.d.ts" ], "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/types-packages/main.d.ts" ], + "../node_modules/atom-ide-base/commons-ui/float-pane/ReactView.d.ts": [ + "../node_modules/@types/react/index.d.ts" + ], "../node_modules/atom-ide-base/commons-ui/float-pane/SnippetView.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/types-packages/main.d.ts" ], "../node_modules/atom-ide-base/commons-ui/float-pane/ViewContainer.d.ts": [ + "../node_modules/@types/react/index.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/ReactView.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/SnippetView.d.ts" @@ -1079,27 +1254,7 @@ }, "semanticDiagnosticsPerFile": [ "../lib/config.json", - [ - "../lib/datatip-manager.ts", - [ - { - "file": "../lib/datatip-manager.ts", - "start": 11861, - "length": 300, - "messageText": "Expected 0 arguments, but got 1.", - "category": 1, - "code": 2554 - }, - { - "file": "../lib/datatip-manager.ts", - "start": 13457, - "length": 141, - "messageText": "Expected 0 arguments, but got 1.", - "category": 1, - "code": 2554 - } - ] - ], + "../lib/datatip-manager.ts", "../lib/main.ts", "../node_modules/@types/atom/index.d.ts", "../node_modules/@types/atom/linter/config.d.ts", @@ -1155,6 +1310,10 @@ "../node_modules/@types/node/wasi.d.ts", "../node_modules/@types/node/worker_threads.d.ts", "../node_modules/@types/node/zlib.d.ts", + "../node_modules/@types/prop-types/index.d.ts", + "../node_modules/@types/react-dom/index.d.ts", + "../node_modules/@types/react/global.d.ts", + "../node_modules/@types/react/index.d.ts", "../node_modules/@types/resolve/index.d.ts", "../node_modules/atom-ide-base/commons-atom/ProviderRegistry.d.ts", "../node_modules/atom-ide-base/commons-ui/float-pane/MarkdownView.d.ts", @@ -1174,6 +1333,7 @@ "../node_modules/atom-ide-base/types-packages/outline.d.ts", "../node_modules/atom-ide-base/types-packages/sig-help.d.ts", "../node_modules/atom-package-deps/lib/index.d.ts", + "../node_modules/csstype/index.d.ts", "../node_modules/tslib/tslib.d.ts", "../node_modules/typescript/lib/lib.dom.d.ts", "../node_modules/typescript/lib/lib.es2015.collection.d.ts", @@ -1205,5 +1365,5 @@ "../node_modules/typescript/lib/lib.esnext.intl.d.ts" ] }, - "version": "4.1.3" + "version": "4.1.5" } \ No newline at end of file diff --git a/package.json b/package.json index 32ae62c..96fe7f0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "atom-ide-datatip", "main": "./dist/main.js", - "version": "0.23.3", + "version": "0.23.4", "description": "A replacement for the Data Tooltip provider that was originally part of the Atom IDE package from Facebook.", "keywords": [ "atom-package",