diff --git a/lib/provider.js b/lib/provider.js index c92aa4a..dd6b442 100644 --- a/lib/provider.js +++ b/lib/provider.js @@ -1,2 +1,2 @@ -module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e){e.exports={name:"build-makensis-wine",version:"0.18.1",description:"Atom Build provider for makensis on Wine, compiles NSIS",repository:"https://github.com/idleberg/atom-build-makensis-wine",license:"MIT OR GPL-2.0",scripts:{build:"webpack --mode production",dev:"webpack --mode none --watch",lint:"eslint ./src",test:"npm run lint"},keywords:["buildprovider","compile","nsis","wine","makensis","linux","installer","build tool","compiler","linter","lint"],main:"lib/provider.js",engines:{atom:">=1.0.0 <2.0.0"},activationHooks:["language-nsis:grammar-used"],providedServices:{builder:{description:"Compiles NSIS scripts on Wine",versions:{"2.0.0":"provideBuilder"}}},"package-deps":["build"],dependencies:{"atom-package-deps":"^5.1.0"},devDependencies:{"@babel/core":"^7.4.5","babel-eslint":"^10.0.2","babel-loader":"^8.0.6",eslint:"^6.0.0","eslint-config-atom-build":"^4.0.0",husky:"^2.4.1",webpack:"^4.35.0","webpack-cli":"^3.3.5"},husky:{hooks:{"pre-commit":"npm run lint"}}}},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("events")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.install=async function(e,t=!0){(0,n.default)(e,"[Package-Deps] Package name is required");const r=await i.getDependencies(e);if(!r.length)return;if(t){const t=await i.promptUser(e,r);if("Yes"!==t)return}const s=new o.default(e,r),a=await i.apmInstall(r,function(){s.advance()}),c=[];s.complete(a);for(const e of r)a.has(e.name)||c.push(atom.packages.activatePackage(e.name));await Promise.all(c)};var n=s(r(7)),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(r(8)),o=s(r(16));function s(e){return e&&e.__esModule?e:{default:e}}void 0===window.__steelbrain_package_deps&&(window.__steelbrain_package_deps=new Set)},function(e,t){e.exports=require("os")},function(e,t){e.exports=require("child_process")},function(e,t,r){"use strict";r.r(t),r.d(t,"config",function(){return l}),r.d(t,"satisfyDependencies",function(){return p}),r.d(t,"provideBuilder",function(){return f}),r.d(t,"activate",function(){return d});var n=r(2),i=r(3),o=r(1),s=r(4),a=r(5),c=r(0);const u=Object(o.join)(__dirname,"makensis-wine.sh");console.log(u);const l={customArguments:{title:"Custom Arguments",description:"Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders",type:"string",default:"{FILE_ACTIVE}",order:0},manageDependencies:{title:"Manage Dependencies",description:"When enabled, third-party dependencies will be installed automatically",type:"boolean",default:!0,order:1},alwaysEligible:{title:"Always Eligible",description:"The build provider will be available in your project, even when not eligible",type:"boolean",default:!1,order:2}};function p(){Object(i.install)(c.name),c["package-deps"].forEach(e=>{e&&atom.packages.isPackageDisabled(e)&&(atom.inDevMode()&&console.log(`Enabling package '${e}'`),atom.packages.enablePackage(e))})}function f(){return class extends n.EventEmitter{constructor(e){super(),this.cwd=e,atom.config.observe(`${c.name}.customArguments`,()=>this.emit("refresh"))}getNiceName(){return"NSIS (Wine)"}async isEligible(){if(!0===atom.config.get(`${c.name}.alwaysEligible`))return!0;if("win32"===Object(s.platform)())return!1;const e=await(t="which",r=["wine"],new Promise(function(e,n){const i=Object(a.spawn)(t,r);let o,s;i.stdout.on("data",function(e){o+=e.toString().trim()}),i.stderr.on("data",function(e){s+=e.toString().trim()}),i.on("close",function(t){0===t&&e(o),n(s)})}));var t,r;return!(!e.stdout||!e.stdout.toString())}settings(){const e=['(\\r?\\n)(?.+)(\\r?\\n)Error in script "(?[^"]+)" on line (?\\d+) -- aborting creation process'],t=["[^!]warning: (?.*) \\((?(\\w{1}:)?[^:]+):(?\\d+)\\)"],r=e.concat(t),n=atom.config.get(`${c.name}.customArguments`).trim().split(" "),i=n.includes("-WX")?r:e,o=n.includes("-WX")?null:t;return[{name:"makensis on Wine",exec:u,args:["{FILE_ACTIVE}"],cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"cmd-alt-b",atomCommandName:"MakeNSIS-on-wine:compile",errorMatch:e,warningMatch:t},{name:"makensis on Wine (strict)",exec:u,args:["-WX","{FILE_ACTIVE}"],cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"ctrl-alt-cmd-b",atomCommandName:"MakeNSIS-on-wine:compile-and-stop-at-warning",errorMatch:r},{name:"makensis on Wine (user)",exec:u,args:n,cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"alt-cmd-u",atomCommandName:"MakeNSIS-on-wine:compile-with-user-settings",errorMatch:i,warningMatch:o}]}}}function d(){!0===atom.config.get(`${c.name}.manageDependencies`)&&p()}},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.apmInstall=function(e,t){const r=new Map;return Promise.all(e.map(function(e){return(n=atom.packages.getApmPath(),i=["install",e.url||e.name,"--production","--color","false"],new Promise(function(e){const t={stdout:[],stderr:[]},r=new s.BufferedProcess({command:n,args:i,stdout(e){t.stdout.push(e)},stderr(e){t.stderr.push(e)},exit(){e({stdout:t.stdout.join(""),stderr:t.stderr.join("")})},autoStart:!1});r.start()})).then(function(r){let n=l.test(r.stdout);if(n){const e=l.exec(r.stdout);n=e&&u.has(e[2])}if(t(e.name,!!n),!n){const t=new Error(`Error installing dependency: ${e.name}`);throw t.stack=r.stderr,t}}).catch(function(t){r.set(e.name,t)});var n,i})).then(function(){return r})},t.getDependencies=async function(e){const t=atom.packages.getLoadedPackage(e),r=t&&t.metadata["package-deps"];if(!Array.isArray(r))return console.error(`[Package-Deps] Unable to get loaded package '${e}'`),[];return(await Promise.all(r.map(async function(e){let t=null,r=e,s=null;const a=p.exec(e),c=f.exec(e);if(a?[,r,s]=a:c?[,r,t]=c:r=e,__steelbrain_package_deps.has(r))return null;const u=atom.packages.resolvePackagePath(r);if(u){if(!s)return null;const e=JSON.parse(await n.default.readFile(i.default.join(u,"package.json")));if(o.default.satisfies(e.version,`>=${s}`))return null}return __steelbrain_package_deps.add(r),{name:r,url:t}}))).filter(Boolean)},t.promptUser=async function(e,t){const r=i.default.join(atom.getConfigDirPath(),"package-deps-state.json");let o=atom.config.get("atom-package-deps.ignored")||[];if(await n.default.exists(r)){const e=JSON.parse(await n.default.readFile(r,"utf8"));atom.config.set("atom-package-deps.ignored",o=e.ignored),await n.default.unlink(r)}if(o.includes(e))return"No";atom.packages.isPackageDisabled("notifications")&&console.warn(`Enable notifications to install dependencies for ${e}`);return new Promise(function(r){const n=atom.notifications.addInfo(`${e} needs to install dependencies`,{dismissable:!0,icon:"cloud-download",detail:t.map(e=>e.name).join(", "),description:`Install dependenc${1===t.length?"y":"ies"}?`,buttons:[{text:"Yes",onDidClick:()=>{r("Yes"),n.dismiss()}},{text:"No Thanks",onDidClick:()=>{r("No"),n.dismiss()}},{text:"Never",onDidClick:()=>{o.push(e),atom.config.set("atom-package-deps.ignored",o),c||(c=!0,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"})),r("Never"),n.dismiss()}}]});n.onDidDismiss(()=>r("No"))})};var n=a(r(9)),i=a(r(1)),o=a(r(14)),s=r(15);function a(e){return e&&e.__esModule?e:{default:e}}let c=!1;const u=new Set(["✓","done"]),l=/(?:Installing|Moving) (.*?) to .* (.*)/;const p=/(.*?):.*/,f=/(.*?)#.*/},function(e,t,r){"use strict";var n=s(r(10)),i=r(11),o=s(r(12));function s(e){return e&&e.__esModule?e:{default:e}}const a={},c=["Stats","_toUnixTimestamp","watch","watchFile","unwatchFile"];Object.keys(n.default).forEach(function(e){const t=n.default[e];"function"!=typeof t||e.includes("Sync")||e.includes("Stream")||c.includes(e)?a[e]=t:a[e]=(0,i.promisify)(t)}),a.exists=function(e){return new Promise(function(t){n.default.access(e,n.default.R_OK,function(e){t(null===e)})})},a.readFile=function(e,t){return new Promise(function(r,i){n.default.readFile(e,function(e,n){if(e)return void i(e);let s=(0,o.default)(n);t&&(s=s.toString(t)),r(s)})})},e.exports=a},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("util")},function(e,t,r){"use strict";const n=r(13);e.exports=e=>{if(!Buffer.isBuffer(e))throw new TypeError("Expected a Buffer, got "+typeof e);return 239===e[0]&&187===e[1]&&191===e[2]&&n(e)?e.slice(3):e}},function(e,t){e.exports=function(e){for(var t=0;t)?=?)";var _=a++;s[_]=s[u]+"|x|X|\\*";var P=a++;s[P]=s[c]+"|x|X|\\*";var S=a++;s[S]="[v=\\s]*("+s[P]+")(?:\\.("+s[P]+")(?:\\.("+s[P]+")(?:"+s[m]+")?"+s[w]+"?)?)?";var x=a++;s[x]="[v=\\s]*("+s[_]+")(?:\\.("+s[_]+")(?:\\.("+s[_]+")(?:"+s[v]+")?"+s[w]+"?)?)?";var I=a++;s[I]="^"+s[E]+"\\s*"+s[S]+"$";var $=a++;s[$]="^"+s[E]+"\\s*"+s[x]+"$";var T=a++;s[T]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var O=a++;s[O]="(?:~>?)";var M=a++;s[M]="(\\s*)"+s[O]+"\\s+",o[M]=new RegExp(s[M],"g");var N=a++;s[N]="^"+s[O]+s[S]+"$";var A=a++;s[A]="^"+s[O]+s[x]+"$";var D=a++;s[D]="(?:\\^)";var C=a++;s[C]="(\\s*)"+s[D]+"\\s+",o[C]=new RegExp(s[C],"g");var R=a++;s[R]="^"+s[D]+s[S]+"$";var V=a++;s[V]="^"+s[D]+s[x]+"$";var q=a++;s[q]="^"+s[E]+"\\s*("+k+")$|^$";var B=a++;s[B]="^"+s[E]+"\\s*("+b+")$|^$";var F=a++;s[F]="(\\s*)"+s[E]+"\\s*("+k+"|"+s[S]+")",o[F]=new RegExp(s[F],"g");var W=a++;s[W]="^\\s*("+s[S]+")\\s+-\\s+("+s[S]+")\\s*$";var L=a++;s[L]="^\\s*("+s[x]+")\\s+-\\s+("+s[x]+")\\s*$";var U=a++;s[U]="(<|>)?=?\\s*\\*";for(var X=0;X<35;X++)r(X,s[X]),o[X]||(o[X]=new RegExp(s[X]));function H(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof z)return e;if("string"!=typeof e)return null;if(e.length>n)return null;if(!(t.loose?o[j]:o[y]).test(e))return null;try{return new z(e,t)}catch(e){return null}}function z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>n)throw new TypeError("version is longer than "+n+" characters");if(!(this instanceof z))return new z(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var s=e.trim().match(t.loose?o[j]:o[y]);if(!s)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,n){"string"==typeof r&&(n=r,r=void 0);try{return new z(e,r).inc(t,n).version}catch(e){return null}},t.diff=function(e,t){if(Q(e,t))return null;var r=H(e),n=H(t),i="";if(r.prerelease.length||n.prerelease.length){i="pre";var o="prerelease"}for(var s in r)if(("major"===s||"minor"===s||"patch"===s)&&r[s]!==n[s])return i+s;return o},t.compareIdentifiers=Y;var G=/^[0-9]+$/;function Y(e,t){var r=G.test(e),n=G.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e0}function K(e,t,r){return Z(e,t,r)<0}function Q(e,t,r){return 0===Z(e,t,r)}function ee(e,t,r){return 0!==Z(e,t,r)}function te(e,t,r){return Z(e,t,r)>=0}function re(e,t,r){return Z(e,t,r)<=0}function ne(e,t,r,n){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Q(e,r,n);case"!=":return ee(e,r,n);case">":return J(e,r,n);case">=":return te(e,r,n);case"<":return K(e,r,n);case"<=":return re(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}function ie(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ie){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof ie))return new ie(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===oe?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new z(e,t).major},t.minor=function(e,t){return new z(e,t).minor},t.patch=function(e,t){return new z(e,t).patch},t.compare=Z,t.compareLoose=function(e,t){return Z(e,t,!0)},t.compareBuild=function(e,t,r){var n=new z(e,r),i=new z(t,r);return n.compare(i)||n.compareBuild(i)},t.rcompare=function(e,t,r){return Z(t,e,r)},t.sort=function(e,r){return e.sort(function(e,n){return t.compareBuild(e,n,r)})},t.rsort=function(e,r){return e.sort(function(e,n){return t.compareBuild(n,e,r)})},t.gt=J,t.lt=K,t.eq=Q,t.neq=ee,t.gte=te,t.lte=re,t.cmp=ne,t.Comparator=ie;var oe={};function se(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof se)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new se(e.raw,t);if(e instanceof ie)return new se(e.value,t);if(!(this instanceof se))return new se(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function ae(e,t){for(var r=!0,n=e.slice(),i=n.pop();r&&n.length;)r=n.every(function(e){return i.intersects(e,t)}),i=n.pop();return r}function ce(e){return!e||"x"===e.toLowerCase()||"*"===e}function ue(e,t,r,n,i,o,s,a,c,u,l,p,f){return((t=ce(r)?"":ce(n)?">="+r+".0.0":ce(i)?">="+r+"."+n+".0":">="+t)+" "+(a=ce(c)?"":ce(u)?"<"+(+c+1)+".0.0":ce(l)?"<"+c+"."+(+u+1)+".0":p?"<="+c+"."+u+"."+l+"-"+p:"<="+a)).trim()}function le(e,t,n){for(var i=0;i0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function pe(e,t,r){try{t=new se(t,r)}catch(e){return!1}return t.test(e)}function fe(e,t,r,n){var i,o,s,a,c;switch(e=new z(e,n),t=new se(t,n),r){case">":i=J,o=re,s=K,a=">",c=">=";break;case"<":i=K,o=te,s=J,a="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(pe(e,t,n))return!1;for(var u=0;u=0.0.0")),p=p||e,f=f||e,i(e.semver,p.semver,n)?p=e:s(e.semver,f.semver,n)&&(f=e)}),p.operator===a||p.operator===c)return!1;if((!f.operator||f.operator===a)&&o(e,f.semver))return!1;if(f.operator===c&&s(e,f.semver))return!1}return!0}ie.prototype.parse=function(e){var t=this.options.loose?o[q]:o[B],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new z(r[2],this.options.loose):this.semver=oe},ie.prototype.toString=function(){return this.value},ie.prototype.test=function(e){return r("Comparator.test",e,this.options.loose),this.semver===oe||e===oe||("string"==typeof e&&(e=new z(e,this.options)),ne(e,this.operator,this.semver,this.options))},ie.prototype.intersects=function(e,t){if(!(e instanceof ie))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(r=new se(e.value,t),pe(this.value,r,t));if(""===e.operator)return""===e.value||(r=new se(this.value,t),pe(e.semver,r,t));var n=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=ne(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=ne(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return n||i||o&&s||a||c},t.Range=se,se.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},se.prototype.toString=function(){return this.range},se.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[L]:o[W];e=e.replace(n,ue),r("hyphen replace",e),e=e.replace(o[F],"$1$2$3"),r("comparator trim",e,o[F]),e=(e=(e=e.replace(o[M],"$1~")).replace(o[C],"$1^")).split(/\s+/).join(" ");var i=t?o[q]:o[B],s=e.split(" ").map(function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){r("caret",e,t);var n=t.loose?o[V]:o[R];return e.replace(n,function(t,n,i,o,s){var a;return r("caret",e,t,n,i,o,s),ce(n)?a="":ce(i)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ce(o)?a="0"===n?">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":">="+n+"."+i+".0 <"+(+n+1)+".0.0":s?(r("replaceCaret pr",s),a="0"===n?"0"===i?">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+"-"+s+" <"+(+n+1)+".0.0"):(r("no pr"),a="0"===n?"0"===i?">="+n+"."+i+"."+o+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+" <"+(+n+1)+".0.0"),r("caret return",a),a})}(e,t)}).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){var n=t.loose?o[A]:o[N];return e.replace(n,function(t,n,i,o,s){var a;return r("tilde",e,t,n,i,o,s),ce(n)?a="":ce(i)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ce(o)?a=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":s?(r("replaceTilde pr",s),a=">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+(+i+1)+".0"):a=">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0",r("tilde return",a),a})}(e,t)}).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return function(e,t){e=e.trim();var n=t.loose?o[$]:o[I];return e.replace(n,function(t,n,i,o,s,a){r("xRange",e,t,n,i,o,s,a);var c=ce(i),u=c||ce(o),l=u||ce(s),p=l;return"="===n&&p&&(n=""),c?t=">"===n||"<"===n?"<0.0.0":"*":n&&p?(u&&(o=0),s=0,">"===n?(n=">=",u?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",u?i=+i+1:o=+o+1),t=n+i+"."+o+"."+s):u?t=">="+i+".0.0 <"+(+i+1)+".0.0":l&&(t=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0"),r("xRange return",t),t})}(e,t)}).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(o[U],"")}(e,t),r("stars",e),e}(e,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter(function(e){return!!e.match(i)})),s=s.map(function(e){return new ie(e,this.options)},this)},se.prototype.intersects=function(e,t){if(!(e instanceof se))throw new TypeError("a Range is required");return this.set.some(function(r){return ae(r,t)&&e.set.some(function(e){return ae(e,t)&&r.every(function(r){return e.every(function(e){return r.intersects(e,t)})})})})},t.toComparators=function(e,t){return new se(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})},se.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!J(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new se(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){return fe(e,t,"<",r)},t.gtr=function(e,t,r){return fe(e,t,">",r)},t.outside=fe,t.prerelease=function(e,t){var r=H(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new se(e,r),t=new se(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof z)return e;if("string"!=typeof e)return null;var r=e.match(o[T]);if(null==r)return null;return H(r[1]+"."+(r[2]||"0")+"."+(r[3]||"0"),t)}},function(e,t){e.exports=require("atom")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class{constructor(e,t){this.name=e,this.dependencies=t;const r=atom.notifications.addInfo(`Installing ${e} dependencies`,{detail:`Installing ${t.map(e=>e.name).join(", ")}`,dismissable:!0}),n=document.createElement("progress");this.dispose=function(){r.dismiss()},this.advance=function(){n.value++},n.max=t.length,n.style.width="100%";try{const e=atom.views.getView(r),t=e.querySelector(".detail-content")||e.querySelector(".content");t&&t.appendChild(n)}catch(e){}}complete(e){if(this.dispose(),!e.size)return void atom.notifications.addSuccess(`Installed ${this.name} dependencies`,{detail:`Installed ${this.dependencies.map(e=>e.name).join(", ")}`});const t=[];for(const[r,n]of e)t.push(` • ${r}`),console.error(`[Package-Deps] Unable to install ${r}, Error:`,n&&n.stack||n);atom.notifications.addWarning(`Failed to install ${this.name} dependencies`,{detail:`These packages were not installed, check your console\nfor more info.\n${t.join("\n")}`,dismissable:!0})}}}]); +module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=16)}([function(e){e.exports={name:"build-makensis-wine",version:"0.18.2",description:"Atom Build provider for makensis on Wine, compiles NSIS",repository:"https://github.com/idleberg/atom-build-makensis-wine",license:"MIT OR GPL-2.0",scripts:{build:"webpack --mode production",dev:"webpack --mode none --watch",lint:"eslint ./src",test:"npm run lint"},keywords:["buildprovider","compile","nsis","wine","makensis","linux","installer","build tool","compiler","linter","lint"],main:"lib/provider.js",engines:{atom:">=1.0.0 <2.0.0"},activationHooks:["language-nsis:grammar-used"],providedServices:{builder:{description:"Compiles NSIS scripts on Wine",versions:{"2.0.0":"provideBuilder"}}},"package-deps":["build"],dependencies:{"atom-package-deps":"^5.1.0"},devDependencies:{"@babel/core":"^7.4.5","babel-eslint":"^10.0.2","babel-loader":"^8.0.6",eslint:"^6.0.0","eslint-config-atom-build":"^4.0.0",husky:"^2.4.1",webpack:"^4.35.0","webpack-cli":"^3.3.5"},husky:{hooks:{"pre-commit":"npm run lint"}}}},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("events")},function(e,t){e.exports=require("os")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.install=async function(e,t=!0){(0,n.default)(e,"[Package-Deps] Package name is required");const r=await i.getDependencies(e);if(!r.length)return;if(t){const t=await i.promptUser(e,r);if("Yes"!==t)return}const s=new o.default(e,r),a=await i.apmInstall(r,function(){s.advance()}),c=[];s.complete(a);for(const e of r)a.has(e.name)||c.push(atom.packages.activatePackage(e.name));await Promise.all(c)};var n=s(r(6)),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(r(7)),o=s(r(15));function s(e){return e&&e.__esModule?e:{default:e}}void 0===window.__steelbrain_package_deps&&(window.__steelbrain_package_deps=new Set)},function(e,t){e.exports=require("child_process")},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.apmInstall=function(e,t){const r=new Map;return Promise.all(e.map(function(e){return(n=atom.packages.getApmPath(),i=["install",e.url||e.name,"--production","--color","false"],new Promise(function(e){const t={stdout:[],stderr:[]},r=new s.BufferedProcess({command:n,args:i,stdout(e){t.stdout.push(e)},stderr(e){t.stderr.push(e)},exit(){e({stdout:t.stdout.join(""),stderr:t.stderr.join("")})},autoStart:!1});r.start()})).then(function(r){let n=l.test(r.stdout);if(n){const e=l.exec(r.stdout);n=e&&u.has(e[2])}if(t(e.name,!!n),!n){const t=new Error(`Error installing dependency: ${e.name}`);throw t.stack=r.stderr,t}}).catch(function(t){r.set(e.name,t)});var n,i})).then(function(){return r})},t.getDependencies=async function(e){const t=atom.packages.getLoadedPackage(e),r=t&&t.metadata["package-deps"];if(!Array.isArray(r))return console.error(`[Package-Deps] Unable to get loaded package '${e}'`),[];return(await Promise.all(r.map(async function(e){let t=null,r=e,s=null;const a=p.exec(e),c=f.exec(e);if(a?[,r,s]=a:c?[,r,t]=c:r=e,__steelbrain_package_deps.has(r))return null;const u=atom.packages.resolvePackagePath(r);if(u){if(!s)return null;const e=JSON.parse(await n.default.readFile(i.default.join(u,"package.json")));if(o.default.satisfies(e.version,`>=${s}`))return null}return __steelbrain_package_deps.add(r),{name:r,url:t}}))).filter(Boolean)},t.promptUser=async function(e,t){const r=i.default.join(atom.getConfigDirPath(),"package-deps-state.json");let o=atom.config.get("atom-package-deps.ignored")||[];if(await n.default.exists(r)){const e=JSON.parse(await n.default.readFile(r,"utf8"));atom.config.set("atom-package-deps.ignored",o=e.ignored),await n.default.unlink(r)}if(o.includes(e))return"No";atom.packages.isPackageDisabled("notifications")&&console.warn(`Enable notifications to install dependencies for ${e}`);return new Promise(function(r){const n=atom.notifications.addInfo(`${e} needs to install dependencies`,{dismissable:!0,icon:"cloud-download",detail:t.map(e=>e.name).join(", "),description:`Install dependenc${1===t.length?"y":"ies"}?`,buttons:[{text:"Yes",onDidClick:()=>{r("Yes"),n.dismiss()}},{text:"No Thanks",onDidClick:()=>{r("No"),n.dismiss()}},{text:"Never",onDidClick:()=>{o.push(e),atom.config.set("atom-package-deps.ignored",o),c||(c=!0,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"})),r("Never"),n.dismiss()}}]});n.onDidDismiss(()=>r("No"))})};var n=a(r(8)),i=a(r(1)),o=a(r(13)),s=r(14);function a(e){return e&&e.__esModule?e:{default:e}}let c=!1;const u=new Set(["✓","done"]),l=/(?:Installing|Moving) (.*?) to .* (.*)/;const p=/(.*?):.*/,f=/(.*?)#.*/},function(e,t,r){"use strict";var n=s(r(9)),i=r(10),o=s(r(11));function s(e){return e&&e.__esModule?e:{default:e}}const a={},c=["Stats","_toUnixTimestamp","watch","watchFile","unwatchFile"];Object.keys(n.default).forEach(function(e){const t=n.default[e];"function"!=typeof t||e.includes("Sync")||e.includes("Stream")||c.includes(e)?a[e]=t:a[e]=(0,i.promisify)(t)}),a.exists=function(e){return new Promise(function(t){n.default.access(e,n.default.R_OK,function(e){t(null===e)})})},a.readFile=function(e,t){return new Promise(function(r,i){n.default.readFile(e,function(e,n){if(e)return void i(e);let s=(0,o.default)(n);t&&(s=s.toString(t)),r(s)})})},e.exports=a},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("util")},function(e,t,r){"use strict";const n=r(12);e.exports=e=>{if(!Buffer.isBuffer(e))throw new TypeError("Expected a Buffer, got "+typeof e);return 239===e[0]&&187===e[1]&&191===e[2]&&n(e)?e.slice(3):e}},function(e,t){e.exports=function(e){for(var t=0;t)?=?)";var _=a++;s[_]=s[u]+"|x|X|\\*";var P=a++;s[P]=s[c]+"|x|X|\\*";var x=a++;s[x]="[v=\\s]*("+s[P]+")(?:\\.("+s[P]+")(?:\\.("+s[P]+")(?:"+s[m]+")?"+s[w]+"?)?)?";var S=a++;s[S]="[v=\\s]*("+s[_]+")(?:\\.("+s[_]+")(?:\\.("+s[_]+")(?:"+s[v]+")?"+s[w]+"?)?)?";var I=a++;s[I]="^"+s[E]+"\\s*"+s[x]+"$";var $=a++;s[$]="^"+s[E]+"\\s*"+s[S]+"$";var T=a++;s[T]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var O=a++;s[O]="(?:~>?)";var M=a++;s[M]="(\\s*)"+s[O]+"\\s+",o[M]=new RegExp(s[M],"g");var N=a++;s[N]="^"+s[O]+s[x]+"$";var A=a++;s[A]="^"+s[O]+s[S]+"$";var C=a++;s[C]="(?:\\^)";var D=a++;s[D]="(\\s*)"+s[C]+"\\s+",o[D]=new RegExp(s[D],"g");var R=a++;s[R]="^"+s[C]+s[x]+"$";var V=a++;s[V]="^"+s[C]+s[S]+"$";var q=a++;s[q]="^"+s[E]+"\\s*("+k+")$|^$";var B=a++;s[B]="^"+s[E]+"\\s*("+b+")$|^$";var F=a++;s[F]="(\\s*)"+s[E]+"\\s*("+k+"|"+s[x]+")",o[F]=new RegExp(s[F],"g");var W=a++;s[W]="^\\s*("+s[x]+")\\s+-\\s+("+s[x]+")\\s*$";var L=a++;s[L]="^\\s*("+s[S]+")\\s+-\\s+("+s[S]+")\\s*$";var U=a++;s[U]="(<|>)?=?\\s*\\*";for(var X=0;X<35;X++)r(X,s[X]),o[X]||(o[X]=new RegExp(s[X]));function H(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof z)return e;if("string"!=typeof e)return null;if(e.length>n)return null;if(!(t.loose?o[j]:o[y]).test(e))return null;try{return new z(e,t)}catch(e){return null}}function z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>n)throw new TypeError("version is longer than "+n+" characters");if(!(this instanceof z))return new z(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var s=e.trim().match(t.loose?o[j]:o[y]);if(!s)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,n){"string"==typeof r&&(n=r,r=void 0);try{return new z(e,r).inc(t,n).version}catch(e){return null}},t.diff=function(e,t){if(Q(e,t))return null;var r=H(e),n=H(t),i="";if(r.prerelease.length||n.prerelease.length){i="pre";var o="prerelease"}for(var s in r)if(("major"===s||"minor"===s||"patch"===s)&&r[s]!==n[s])return i+s;return o},t.compareIdentifiers=Y;var G=/^[0-9]+$/;function Y(e,t){var r=G.test(e),n=G.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e0}function K(e,t,r){return Z(e,t,r)<0}function Q(e,t,r){return 0===Z(e,t,r)}function ee(e,t,r){return 0!==Z(e,t,r)}function te(e,t,r){return Z(e,t,r)>=0}function re(e,t,r){return Z(e,t,r)<=0}function ne(e,t,r,n){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Q(e,r,n);case"!=":return ee(e,r,n);case">":return J(e,r,n);case">=":return te(e,r,n);case"<":return K(e,r,n);case"<=":return re(e,r,n);default:throw new TypeError("Invalid operator: "+t)}}function ie(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ie){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof ie))return new ie(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===oe?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new z(e,t).major},t.minor=function(e,t){return new z(e,t).minor},t.patch=function(e,t){return new z(e,t).patch},t.compare=Z,t.compareLoose=function(e,t){return Z(e,t,!0)},t.compareBuild=function(e,t,r){var n=new z(e,r),i=new z(t,r);return n.compare(i)||n.compareBuild(i)},t.rcompare=function(e,t,r){return Z(t,e,r)},t.sort=function(e,r){return e.sort(function(e,n){return t.compareBuild(e,n,r)})},t.rsort=function(e,r){return e.sort(function(e,n){return t.compareBuild(n,e,r)})},t.gt=J,t.lt=K,t.eq=Q,t.neq=ee,t.gte=te,t.lte=re,t.cmp=ne,t.Comparator=ie;var oe={};function se(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof se)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new se(e.raw,t);if(e instanceof ie)return new se(e.value,t);if(!(this instanceof se))return new se(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function ae(e,t){for(var r=!0,n=e.slice(),i=n.pop();r&&n.length;)r=n.every(function(e){return i.intersects(e,t)}),i=n.pop();return r}function ce(e){return!e||"x"===e.toLowerCase()||"*"===e}function ue(e,t,r,n,i,o,s,a,c,u,l,p,f){return((t=ce(r)?"":ce(n)?">="+r+".0.0":ce(i)?">="+r+"."+n+".0":">="+t)+" "+(a=ce(c)?"":ce(u)?"<"+(+c+1)+".0.0":ce(l)?"<"+c+"."+(+u+1)+".0":p?"<="+c+"."+u+"."+l+"-"+p:"<="+a)).trim()}function le(e,t,n){for(var i=0;i0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function pe(e,t,r){try{t=new se(t,r)}catch(e){return!1}return t.test(e)}function fe(e,t,r,n){var i,o,s,a,c;switch(e=new z(e,n),t=new se(t,n),r){case">":i=J,o=re,s=K,a=">",c=">=";break;case"<":i=K,o=te,s=J,a="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(pe(e,t,n))return!1;for(var u=0;u=0.0.0")),p=p||e,f=f||e,i(e.semver,p.semver,n)?p=e:s(e.semver,f.semver,n)&&(f=e)}),p.operator===a||p.operator===c)return!1;if((!f.operator||f.operator===a)&&o(e,f.semver))return!1;if(f.operator===c&&s(e,f.semver))return!1}return!0}ie.prototype.parse=function(e){var t=this.options.loose?o[q]:o[B],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new z(r[2],this.options.loose):this.semver=oe},ie.prototype.toString=function(){return this.value},ie.prototype.test=function(e){return r("Comparator.test",e,this.options.loose),this.semver===oe||e===oe||("string"==typeof e&&(e=new z(e,this.options)),ne(e,this.operator,this.semver,this.options))},ie.prototype.intersects=function(e,t){if(!(e instanceof ie))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(r=new se(e.value,t),pe(this.value,r,t));if(""===e.operator)return""===e.value||(r=new se(this.value,t),pe(e.semver,r,t));var n=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=ne(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=ne(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return n||i||o&&s||a||c},t.Range=se,se.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},se.prototype.toString=function(){return this.range},se.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[L]:o[W];e=e.replace(n,ue),r("hyphen replace",e),e=e.replace(o[F],"$1$2$3"),r("comparator trim",e,o[F]),e=(e=(e=e.replace(o[M],"$1~")).replace(o[D],"$1^")).split(/\s+/).join(" ");var i=t?o[q]:o[B],s=e.split(" ").map(function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){r("caret",e,t);var n=t.loose?o[V]:o[R];return e.replace(n,function(t,n,i,o,s){var a;return r("caret",e,t,n,i,o,s),ce(n)?a="":ce(i)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ce(o)?a="0"===n?">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":">="+n+"."+i+".0 <"+(+n+1)+".0.0":s?(r("replaceCaret pr",s),a="0"===n?"0"===i?">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+"-"+s+" <"+(+n+1)+".0.0"):(r("no pr"),a="0"===n?"0"===i?">="+n+"."+i+"."+o+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+" <"+(+n+1)+".0.0"),r("caret return",a),a})}(e,t)}).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){var n=t.loose?o[A]:o[N];return e.replace(n,function(t,n,i,o,s){var a;return r("tilde",e,t,n,i,o,s),ce(n)?a="":ce(i)?a=">="+n+".0.0 <"+(+n+1)+".0.0":ce(o)?a=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":s?(r("replaceTilde pr",s),a=">="+n+"."+i+"."+o+"-"+s+" <"+n+"."+(+i+1)+".0"):a=">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0",r("tilde return",a),a})}(e,t)}).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return function(e,t){e=e.trim();var n=t.loose?o[$]:o[I];return e.replace(n,function(t,n,i,o,s,a){r("xRange",e,t,n,i,o,s,a);var c=ce(i),u=c||ce(o),l=u||ce(s),p=l;return"="===n&&p&&(n=""),c?t=">"===n||"<"===n?"<0.0.0":"*":n&&p?(u&&(o=0),s=0,">"===n?(n=">=",u?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",u?i=+i+1:o=+o+1),t=n+i+"."+o+"."+s):u?t=">="+i+".0.0 <"+(+i+1)+".0.0":l&&(t=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0"),r("xRange return",t),t})}(e,t)}).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(o[U],"")}(e,t),r("stars",e),e}(e,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter(function(e){return!!e.match(i)})),s=s.map(function(e){return new ie(e,this.options)},this)},se.prototype.intersects=function(e,t){if(!(e instanceof se))throw new TypeError("a Range is required");return this.set.some(function(r){return ae(r,t)&&e.set.some(function(e){return ae(e,t)&&r.every(function(r){return e.every(function(e){return r.intersects(e,t)})})})})},t.toComparators=function(e,t){return new se(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})},se.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!J(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new se(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){return fe(e,t,"<",r)},t.gtr=function(e,t,r){return fe(e,t,">",r)},t.outside=fe,t.prerelease=function(e,t){var r=H(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new se(e,r),t=new se(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof z)return e;if("string"!=typeof e)return null;var r=e.match(o[T]);if(null==r)return null;return H(r[1]+"."+(r[2]||"0")+"."+(r[3]||"0"),t)}},function(e,t){e.exports=require("atom")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class{constructor(e,t){this.name=e,this.dependencies=t;const r=atom.notifications.addInfo(`Installing ${e} dependencies`,{detail:`Installing ${t.map(e=>e.name).join(", ")}`,dismissable:!0}),n=document.createElement("progress");this.dispose=function(){r.dismiss()},this.advance=function(){n.value++},n.max=t.length,n.style.width="100%";try{const e=atom.views.getView(r),t=e.querySelector(".detail-content")||e.querySelector(".content");t&&t.appendChild(n)}catch(e){}}complete(e){if(this.dispose(),!e.size)return void atom.notifications.addSuccess(`Installed ${this.name} dependencies`,{detail:`Installed ${this.dependencies.map(e=>e.name).join(", ")}`});const t=[];for(const[r,n]of e)t.push(` • ${r}`),console.error(`[Package-Deps] Unable to install ${r}, Error:`,n&&n.stack||n);atom.notifications.addWarning(`Failed to install ${this.name} dependencies`,{detail:`These packages were not installed, check your console\nfor more info.\n${t.join("\n")}`,dismissable:!0})}}},function(e,t,r){"use strict";r.r(t);var n=r(0);const i={customArguments:{title:"Custom Arguments",description:"Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders",type:"string",default:"{FILE_ACTIVE}",order:0},manageDependencies:{title:"Manage Dependencies",description:"When enabled, third-party dependencies will be installed automatically",type:"boolean",default:!0,order:1},alwaysEligible:{title:"Always Eligible",description:"The build provider will be available in your project, even when not eligible",type:"boolean",default:!1,order:2}};function o(e){return atom.config.get(`${n.name}.${e}`)}var s=r(2),a=r(1),c=r(3),u=r(4);var l=r(5);r.d(t,"provideBuilder",function(){return f}),r.d(t,"activate",function(){return h}),r.d(t,"config",function(){return i});const p=Object(a.join)(__dirname,"makensis-wine.sh");function f(){return class extends s.EventEmitter{constructor(e){super(),this.cwd=e,atom.config.observe(`${n.name}.customArguments`,()=>this.emit("refresh"))}getNiceName(){return"NSIS (Wine)"}isEligible(){if(!0===o("alwaysEligible"))return!0;if("win32"===Object(c.platform)())return!1;const e=Object(l.spawnSync)("which",["wine"]);return!(!e.stdout||!e.stdout.toString().length)}settings(){const e=['(\\r?\\n)(?.+)(\\r?\\n)Error in script "(?[^"]+)" on line (?\\d+) -- aborting creation process'],t=["[^!]warning: (?.*) \\((?(\\w{1}:)?[^:]+):(?\\d+)\\)"],r=e.concat(t),n=o("customArguments").trim().split(" "),i=n.includes("-WX")?r:e,s=n.includes("-WX")?null:t;return[{name:"makensis on Wine",exec:p,args:["{FILE_ACTIVE}"],cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"cmd-alt-b",atomCommandName:"MakeNSIS-on-wine:compile",errorMatch:e,warningMatch:t},{name:"makensis on Wine (strict)",exec:p,args:["-WX","{FILE_ACTIVE}"],cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"ctrl-alt-cmd-b",atomCommandName:"MakeNSIS-on-wine:compile-and-stop-at-warning",errorMatch:r},{name:"makensis on Wine (user)",exec:p,args:n,cwd:"{FILE_ACTIVE_PATH}",sh:!0,keymap:"alt-cmd-u",atomCommandName:"MakeNSIS-on-wine:compile-with-user-settings",errorMatch:i,warningMatch:s}]}}}async function h(){!0===o("manageDependencies")&&(Object(u.install)(n.name),n["package-deps"].forEach(e=>{e&&atom.packages.isPackageDisabled(e)&&(atom.inDevMode()&&console.log(`Enabling package '${e}'`),atom.packages.enablePackage(e))}))}}]); //# sourceMappingURL=provider.js.map \ No newline at end of file diff --git a/lib/provider.js.map b/lib/provider.js.map index 22a3280..300d4d2 100644 --- a/lib/provider.js.map +++ b/lib/provider.js.map @@ -1 +1 @@ -{"version":3,"sources":["../webpack/bootstrap","../external \"path\"","../external \"events\"",".././node_modules/atom-package-deps/lib/index.js","../external \"os\"","../external \"child_process\"",".././src/provider.js","../external \"assert\"",".././node_modules/atom-package-deps/lib/helpers.js",".././node_modules/sb-fs/lib/index.js","../external \"fs\"","../external \"util\"",".././node_modules/strip-bom-buf/index.js",".././node_modules/is-utf8/is-utf8.js",".././node_modules/atom-package-deps/node_modules/semver/semver.js","../external \"atom\"",".././node_modules/atom-package-deps/lib/view.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","install","async","packageName","promptUser","_assert","default","dependencies","Helpers","getDependencies","length","choice","view","_view","errors","apmInstall","advance","promises","complete","dependency","has","push","atom","packages","activatePackage","Promise","all","_interopRequireDefault","obj","newObj","desc","getOwnPropertyDescriptor","set","_interopRequireWildcard","window","__steelbrain_package_deps","Set","__webpack_exports__","config","satisfyDependencies","provideBuilder","activate","events__WEBPACK_IMPORTED_MODULE_0__","atom_package_deps__WEBPACK_IMPORTED_MODULE_1__","path__WEBPACK_IMPORTED_MODULE_2__","os__WEBPACK_IMPORTED_MODULE_3__","child_process__WEBPACK_IMPORTED_MODULE_4__","_package_json__WEBPACK_IMPORTED_MODULE_5__","pathToScript","join","__dirname","console","log","customArguments","title","description","type","order","manageDependencies","alwaysEligible","meta","forEach","packageDep","isPackageDisabled","inDevMode","enablePackage","EventEmitter","constructor","cwd","super","this","observe","emit","getNiceName","[object Object]","platform","whichCmd","cmd","args","resolve","reject","child","spawn","stdOut","stdErr","stdout","on","line","toString","trim","stderr","code","settings","errorMatch","warningMatch","comboMatch","concat","split","customErrorMatch","includes","customWarningMatch","exec","sh","keymap","atomCommandName","progressCallback","Map","map","dep","command","getApmPath","parameters","url","data","spawnedProcess","_atom","BufferedProcess","chunk","autoStart","start","then","output","successful","VALIDATION_REGEXP","test","match","VALID_TICKS","error","Error","stack","packageModule","getLoadedPackage","packageDependencies","metadata","Array","isArray","entry","version","matchVersion","DEPENDENCY_REGEX_VERSION","matchGiturl","DEPENDENCY_REGEX_GIRURL","resolvedPath","resolvePackagePath","manifest","JSON","parse","_sbFs","readFile","_path","_semver","satisfies","add","filter","Boolean","oldConfigPath","getConfigDirPath","ignoredPackages","exists","oldConfig","ignored","unlink","warn","notification","notifications","addInfo","dismissable","icon","detail","e","buttons","text","onDidClick","dismiss","shownStorageInfo","onDidDismiss","_fs","_util","_stripBomBuf","promisifiedFS","syncMethods","keys","promisify","path","access","R_OK","encoding","buffer","contents","isUtf8","x","Buffer","isBuffer","TypeError","slice","bytes","debug","SemVer","process","env","NODE_DEBUG","arguments","unshift","apply","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","Number","re","src","R","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULL","FULLPLAIN","LOOSEPLAIN","LOOSE","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","XRANGE","XRANGELOOSE","COERCE","LONETILDE","TILDETRIM","RegExp","TILDE","TILDELOOSE","LONECARET","CARETTRIM","CARET","CARETLOOSE","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","HYPHENRANGE","HYPHENRANGELOOSE","STAR","options","loose","includePrerelease","er","raw","major","minor","patch","prerelease","id","num","build","format","valid","v","clean","replace","compare","other","compareMain","comparePre","compareIdentifiers","a","b","undefined","compareBuild","inc","release","identifier","isNaN","diff","version1","version2","eq","v1","v2","prefix","defaultResult","numeric","anum","bnum","gt","lt","neq","gte","lte","cmp","op","Comparator","comp","semver","ANY","operator","rcompareIdentifiers","compareLoose","versionA","versionB","rcompare","sort","list","rsort","Range","range","parseRange","isSatisfiable","comparators","result","remainingComparators","testComparator","pop","every","otherComparator","intersects","isX","toLowerCase","hyphenReplace","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","testSet","allowed","outside","hilo","gtfn","ltefn","ltfn","ecomp","high","low","comparator","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","hr","compRe","_","M","pr","ret","replaceCaret","replaceCarets","replaceTilde","replaceTildes","gtlt","xM","xm","xp","anyX","replaceXRange","replaceXRanges","replaceStars","parseComparator","some","thisComparators","rangeComparators","thisComparator","rangeComparator","toComparators","maxSatisfying","versions","max","maxSV","rangeObj","minSatisfying","min","minSV","minVersion","minver","compver","validRange","ltr","gtr","parsed","r1","r2","coerce","item","progress","document","createElement","dispose","style","width","notificationView","views","getView","notificationContent","querySelector","appendChild","size","addSuccess","addWarning"],"mappings":"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","file":"provider.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n","module.exports = require(\"path\");","module.exports = require(\"events\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.install = installDependencies;\n\nvar _assert = _interopRequireDefault(require(\"assert\"));\n\nvar Helpers = _interopRequireWildcard(require(\"./helpers\"));\n\nvar _view = _interopRequireDefault(require(\"./view\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nif (typeof window.__steelbrain_package_deps === 'undefined') {\n window.__steelbrain_package_deps = new Set();\n}\n\nasync function installDependencies(packageName, promptUser = true) {\n (0, _assert.default)(packageName, '[Package-Deps] Package name is required');\n const dependencies = await Helpers.getDependencies(packageName);\n\n if (!dependencies.length) {\n return;\n }\n\n if (promptUser) {\n const choice = await Helpers.promptUser(packageName, dependencies);\n\n if (choice !== 'Yes') {\n return;\n }\n }\n\n const view = new _view.default(packageName, dependencies);\n const errors = await Helpers.apmInstall(dependencies, function () {\n view.advance();\n });\n const promises = [];\n view.complete(errors);\n\n for (const dependency of dependencies) {\n if (errors.has(dependency.name)) {\n continue;\n }\n\n promises.push(atom.packages.activatePackage(dependency.name));\n }\n\n await Promise.all(promises);\n}","module.exports = require(\"os\");","module.exports = require(\"child_process\");","'use babel';\r\n\r\nimport { EventEmitter } from 'events';\r\nimport { install } from 'atom-package-deps';\r\nimport { join } from 'path';\r\nimport { platform } from 'os';\r\nimport { spawn } from 'child_process';\r\n\r\nimport meta from '../package.json';\r\nconst pathToScript = join(__dirname, 'makensis-wine.sh');\r\nconsole.log(pathToScript);\r\n// Package settings\r\nexport const config = {\r\n customArguments: {\r\n title: 'Custom Arguments',\r\n description: 'Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders',\r\n type: 'string',\r\n default: '{FILE_ACTIVE}',\r\n order: 0\r\n },\r\n manageDependencies: {\r\n title: 'Manage Dependencies',\r\n description: 'When enabled, third-party dependencies will be installed automatically',\r\n type: 'boolean',\r\n default: true,\r\n order: 1\r\n },\r\n alwaysEligible: {\r\n title: 'Always Eligible',\r\n description: 'The build provider will be available in your project, even when not eligible',\r\n type: 'boolean',\r\n default: false,\r\n order: 2\r\n }\r\n};\r\n\r\nexport function satisfyDependencies() {\r\n install(meta.name);\r\n\r\n const packageDeps = meta['package-deps'];\r\n\r\n packageDeps.forEach( packageDep => {\r\n if (packageDep) {\r\n if (atom.packages.isPackageDisabled(packageDep)) {\r\n if (atom.inDevMode()) console.log(`Enabling package '${packageDep}\\'`);\r\n atom.packages.enablePackage(packageDep);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction spawnPromise(cmd, args) {\r\n return new Promise(function (resolve, reject) {\r\n const child = spawn(cmd, args);\r\n let stdOut;\r\n let stdErr;\r\n\r\n child.stdout.on('data', function (line) {\r\n stdOut += line.toString().trim();\r\n });\r\n\r\n child.stderr.on('data', function (line) {\r\n stdErr += line.toString().trim();\r\n });\r\n\r\n child.on('close', function (code) {\r\n if (code === 0) {\r\n resolve(stdOut);\r\n }\r\n\r\n reject(stdErr);\r\n });\r\n });\r\n}\r\n\r\nexport function provideBuilder() {\r\n return class MakensisWineProvider extends EventEmitter {\r\n constructor(cwd) {\r\n super();\r\n this.cwd = cwd;\r\n atom.config.observe(`${meta.name}.customArguments`, () => this.emit('refresh'));\r\n }\r\n\r\n getNiceName() {\r\n return 'NSIS (Wine)';\r\n }\r\n\r\n async isEligible() {\r\n if (atom.config.get(`${meta.name}.alwaysEligible`) === true) {\r\n return true;\r\n }\r\n\r\n if (platform() === 'win32') {\r\n return false;\r\n }\r\n\r\n const whichCmd = await spawnPromise('which', ['wine']);\r\n\r\n if (whichCmd.stdout && whichCmd.stdout.toString()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n settings() {\r\n const errorMatch = [\r\n '(\\\\r?\\\\n)(?.+)(\\\\r?\\\\n)Error in script \"(?[^\"]+)\" on line (?\\\\d+) -- aborting creation process'\r\n ];\r\n const warningMatch = [\r\n '[^!]warning: (?.*) \\\\((?(\\\\w{1}:)?[^:]+):(?\\\\d+)\\\\)'\r\n ];\r\n const comboMatch = errorMatch.concat(warningMatch);\r\n\r\n // User settings\r\n const customArguments = atom.config.get(`${meta.name}.customArguments`).trim().split(' ');\r\n\r\n // Adjust errorMatch and warningMatch\r\n const customErrorMatch = (customArguments.includes('-WX')) ? comboMatch : errorMatch;\r\n const customWarningMatch = (customArguments.includes('-WX')) ? null : warningMatch;\r\n\r\n return [\r\n {\r\n name: 'makensis on Wine',\r\n exec: pathToScript,\r\n args: [ '{FILE_ACTIVE}' ],\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'cmd-alt-b',\r\n atomCommandName: 'MakeNSIS-on-wine:compile',\r\n errorMatch: errorMatch,\r\n warningMatch: warningMatch\r\n },\r\n {\r\n name: 'makensis on Wine (strict)',\r\n exec: pathToScript,\r\n args: [ '-WX', '{FILE_ACTIVE}' ],\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'ctrl-alt-cmd-b',\r\n atomCommandName: 'MakeNSIS-on-wine:compile-and-stop-at-warning',\r\n errorMatch: comboMatch\r\n },\r\n {\r\n name: 'makensis on Wine (user)',\r\n exec: pathToScript,\r\n args: customArguments,\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'alt-cmd-u',\r\n atomCommandName: 'MakeNSIS-on-wine:compile-with-user-settings',\r\n errorMatch: customErrorMatch,\r\n warningMatch: customWarningMatch\r\n }\r\n ];\r\n }\r\n };\r\n}\r\n\r\nexport function activate() {\r\n if (atom.config.get(`${meta.name}.manageDependencies`) === true) {\r\n satisfyDependencies();\r\n }\r\n}\r\n","module.exports = require(\"assert\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apmInstall = apmInstall;\nexports.getDependencies = getDependencies;\nexports.promptUser = promptUser;\n\nvar _sbFs = _interopRequireDefault(require(\"sb-fs\"));\n\nvar _path = _interopRequireDefault(require(\"path\"));\n\nvar _semver = _interopRequireDefault(require(\"semver\"));\n\nvar _atom = require(\"atom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nlet shownStorageInfo = false;\nconst VALID_TICKS = new Set(['✓', 'done']);\nconst VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/;\n\nfunction exec(command, parameters) {\n return new Promise(function (resolve) {\n const data = {\n stdout: [],\n stderr: []\n };\n const spawnedProcess = new _atom.BufferedProcess({\n command,\n args: parameters,\n\n stdout(chunk) {\n data.stdout.push(chunk);\n },\n\n stderr(chunk) {\n data.stderr.push(chunk);\n },\n\n exit() {\n resolve({\n stdout: data.stdout.join(''),\n stderr: data.stderr.join('')\n });\n },\n\n autoStart: false\n });\n spawnedProcess.start();\n });\n}\n\nfunction apmInstall(dependencies, progressCallback) {\n const errors = new Map();\n return Promise.all(dependencies.map(function (dep) {\n return exec(atom.packages.getApmPath(), ['install', dep.url || dep.name, '--production', '--color', 'false']).then(function (output) {\n let successful = VALIDATION_REGEXP.test(output.stdout);\n\n if (successful) {\n const match = VALIDATION_REGEXP.exec(output.stdout);\n successful = match && VALID_TICKS.has(match[2]);\n }\n\n progressCallback(dep.name, !!successful);\n\n if (!successful) {\n const error = new Error(`Error installing dependency: ${dep.name}`);\n error.stack = output.stderr;\n throw error;\n }\n })[\"catch\"](function (error) {\n errors.set(dep.name, error);\n });\n })).then(function () {\n return errors;\n });\n}\n\nconst DEPENDENCY_REGEX_VERSION = /(.*?):.*/;\nconst DEPENDENCY_REGEX_GIRURL = /(.*?)#.*/;\n\nasync function getDependencies(packageName) {\n const packageModule = atom.packages.getLoadedPackage(packageName);\n const packageDependencies = packageModule && packageModule.metadata['package-deps'];\n\n if (!Array.isArray(packageDependencies)) {\n console.error(`[Package-Deps] Unable to get loaded package '${packageName}'`);\n return [];\n }\n\n return (await Promise.all(packageDependencies.map(async function (entry) {\n let url = null;\n let name = entry;\n let version = null;\n const matchVersion = DEPENDENCY_REGEX_VERSION.exec(entry);\n const matchGiturl = DEPENDENCY_REGEX_GIRURL.exec(entry);\n\n if (matchVersion) {\n ;\n [, name, version] = matchVersion;\n } else if (matchGiturl) {\n ;\n [, name, url] = matchGiturl;\n } else {\n name = entry;\n }\n\n if (__steelbrain_package_deps.has(name)) {\n return null;\n }\n\n const resolvedPath = atom.packages.resolvePackagePath(name);\n\n if (resolvedPath) {\n if (!version) {\n return null;\n }\n\n const manifest = JSON.parse((await _sbFs[\"default\"].readFile(_path[\"default\"].join(resolvedPath, 'package.json')))); // $FlowIgnore: Flow is paranoid, this parsed.version is NOT NULL\n\n if (_semver[\"default\"].satisfies(manifest.version, `>=${version}`)) {\n return null;\n }\n }\n\n __steelbrain_package_deps.add(name);\n\n return {\n name,\n url\n };\n }))).filter(Boolean);\n}\n\nasync function promptUser(packageName, dependencies) {\n const oldConfigPath = _path[\"default\"].join(atom.getConfigDirPath(), 'package-deps-state.json');\n\n let ignoredPackages = atom.config.get('atom-package-deps.ignored') || [];\n\n if (await _sbFs[\"default\"].exists(oldConfigPath)) {\n const oldConfig = JSON.parse((await _sbFs[\"default\"].readFile(oldConfigPath, 'utf8')));\n atom.config.set('atom-package-deps.ignored', ignoredPackages = oldConfig.ignored);\n await _sbFs[\"default\"].unlink(oldConfigPath);\n }\n\n if (ignoredPackages.includes(packageName)) {\n return 'No';\n }\n\n if (atom.packages.isPackageDisabled('notifications')) {\n console.warn(`Enable notifications to install dependencies for ${packageName}`);\n }\n\n return new Promise(function (resolve) {\n const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, {\n dismissable: true,\n icon: 'cloud-download',\n detail: dependencies.map(e => e.name).join(', '),\n description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`,\n buttons: [{\n text: 'Yes',\n onDidClick: () => {\n resolve('Yes');\n notification.dismiss();\n }\n }, {\n text: 'No Thanks',\n onDidClick: () => {\n resolve('No');\n notification.dismiss();\n }\n }, {\n text: 'Never',\n onDidClick: () => {\n ignoredPackages.push(packageName);\n atom.config.set('atom-package-deps.ignored', ignoredPackages);\n\n if (!shownStorageInfo) {\n shownStorageInfo = true;\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 resolve('Never');\n notification.dismiss();\n }\n }]\n });\n notification.onDidDismiss(() => resolve('No'));\n });\n}","\"use strict\";\n\nvar _fs = _interopRequireDefault(require(\"fs\"));\n\nvar _util = require(\"util\");\n\nvar _stripBomBuf = _interopRequireDefault(require(\"strip-bom-buf\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst promisifiedFS = {};\nconst syncMethods = ['Stats', '_toUnixTimestamp', 'watch', 'watchFile', 'unwatchFile'];\nObject.keys(_fs.default).forEach(function (key) {\n const value = _fs.default[key];\n\n if (typeof value === 'function' && !key.includes('Sync') && !key.includes('Stream') && !syncMethods.includes(key)) {\n promisifiedFS[key] = (0, _util.promisify)(value);\n } else {\n promisifiedFS[key] = value;\n }\n});\n\npromisifiedFS.exists = function (path) {\n return new Promise(function (resolve) {\n _fs.default.access(path, _fs.default.R_OK, function (error) {\n resolve(error === null);\n });\n });\n};\n\npromisifiedFS.readFile = function (path, encoding) {\n return new Promise(function (resolve, reject) {\n _fs.default.readFile(path, function (error, buffer) {\n if (error) {\n reject(error);\n return;\n }\n\n let contents = (0, _stripBomBuf.default)(buffer);\n\n if (encoding) {\n contents = contents.toString(encoding);\n }\n\n resolve(contents);\n });\n });\n};\n\nmodule.exports = promisifiedFS;","module.exports = require(\"fs\");","module.exports = require(\"util\");","'use strict';\nconst isUtf8 = require('is-utf8');\n\nmodule.exports = x => {\n\tif (!Buffer.isBuffer(x)) {\n\t\tthrow new TypeError('Expected a Buffer, got ' + typeof x);\n\t}\n\n\tif (x[0] === 0xEF && x[1] === 0xBB && x[2] === 0xBF && isUtf8(x)) {\n\t\treturn x.slice(3);\n\t}\n\n\treturn x;\n};\n","\nexports = module.exports = function(bytes)\n{\n var i = 0;\n while(i < bytes.length)\n {\n if( (// ASCII\n bytes[i] == 0x09 ||\n bytes[i] == 0x0A ||\n bytes[i] == 0x0D ||\n (0x20 <= bytes[i] && bytes[i] <= 0x7E)\n )\n ) {\n i += 1;\n continue;\n }\n\n if( (// non-overlong 2-byte\n (0xC2 <= bytes[i] && bytes[i] <= 0xDF) &&\n (0x80 <= bytes[i+1] && bytes[i+1] <= 0xBF)\n )\n ) {\n i += 2;\n continue;\n }\n\n if( (// excluding overlongs\n bytes[i] == 0xE0 &&\n (0xA0 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF)\n ) ||\n (// straight 3-byte\n ((0xE1 <= bytes[i] && bytes[i] <= 0xEC) ||\n bytes[i] == 0xEE ||\n bytes[i] == 0xEF) &&\n (0x80 <= bytes[i + 1] && bytes[i+1] <= 0xBF) &&\n (0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)\n ) ||\n (// excluding surrogates\n bytes[i] == 0xED &&\n (0x80 <= bytes[i+1] && bytes[i+1] <= 0x9F) &&\n (0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)\n )\n ) {\n i += 3;\n continue;\n }\n\n if( (// planes 1-3\n bytes[i] == 0xF0 &&\n (0x90 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n ) ||\n (// planes 4-15\n (0xF1 <= bytes[i] && bytes[i] <= 0xF3) &&\n (0x80 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n ) ||\n (// plane 16\n bytes[i] == 0xF4 &&\n (0x80 <= bytes[i + 1] && bytes[i + 1] <= 0x8F) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n )\n ) {\n i += 4;\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\nSemVer.prototype.compareBuild = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n var i = 0\n do {\n var a = this.build[i]\n var b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.compareBuild = compareBuild\nfunction compareBuild (a, b, loose) {\n var versionA = new SemVer(a, loose)\n var versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(b, a, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'), options)\n}\n","module.exports = require(\"atom\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nclass View {\n constructor(name, dependencies) {\n this.name = name;\n this.dependencies = dependencies;\n const notification = atom.notifications.addInfo(`Installing ${name} dependencies`, {\n detail: `Installing ${dependencies.map(item => item.name).join(', ')}`,\n dismissable: true\n });\n const progress = document.createElement('progress');\n\n this.dispose = function () {\n notification.dismiss();\n };\n\n this.advance = function () {\n progress.value++;\n };\n\n progress.max = dependencies.length;\n progress.style.width = '100%';\n\n try {\n const notificationView = atom.views.getView(notification);\n const notificationContent = notificationView.querySelector('.detail-content') || notificationView.querySelector('.content');\n\n if (notificationContent) {\n notificationContent.appendChild(progress);\n }\n } catch (_) {\n /* Notifications package is disabled */\n }\n }\n\n complete(errors) {\n this.dispose();\n\n if (!errors.size) {\n atom.notifications.addSuccess(`Installed ${this.name} dependencies`, {\n detail: `Installed ${this.dependencies.map(item => item.name).join(', ')}`\n });\n return;\n }\n\n const packages = [];\n\n for (const [packageName, error] of errors) {\n packages.push(` • ${packageName}`);\n console.error(`[Package-Deps] Unable to install ${packageName}, Error:`, error && error.stack || error);\n }\n\n atom.notifications.addWarning(`Failed to install ${this.name} dependencies`, {\n detail: `These packages were not installed, check your console\\nfor more info.\\n${packages.join('\\n')}`,\n dismissable: true\n });\n }\n\n}\n\nexports.default = View;"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../webpack/bootstrap","../external \"path\"","../external \"events\"","../external \"os\"",".././node_modules/atom-package-deps/lib/index.js","../external \"child_process\"","../external \"assert\"",".././node_modules/atom-package-deps/lib/helpers.js",".././node_modules/sb-fs/lib/index.js","../external \"fs\"","../external \"util\"",".././node_modules/strip-bom-buf/index.js",".././node_modules/is-utf8/is-utf8.js",".././node_modules/atom-package-deps/node_modules/semver/semver.js","../external \"atom\"",".././node_modules/atom-package-deps/lib/view.js",".././src/config.js",".././src/provider.js",".././src/util.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","install","async","packageName","promptUser","_assert","default","dependencies","Helpers","getDependencies","length","choice","view","_view","errors","apmInstall","advance","promises","complete","dependency","has","push","atom","packages","activatePackage","Promise","all","_interopRequireDefault","obj","newObj","desc","getOwnPropertyDescriptor","set","_interopRequireWildcard","window","__steelbrain_package_deps","Set","progressCallback","Map","map","dep","command","getApmPath","parameters","url","resolve","data","stdout","stderr","spawnedProcess","_atom","BufferedProcess","args","[object Object]","chunk","join","autoStart","start","then","output","successful","VALIDATION_REGEXP","test","match","exec","VALID_TICKS","error","Error","stack","packageModule","getLoadedPackage","packageDependencies","metadata","Array","isArray","console","entry","version","matchVersion","DEPENDENCY_REGEX_VERSION","matchGiturl","DEPENDENCY_REGEX_GIRURL","resolvedPath","resolvePackagePath","manifest","JSON","parse","_sbFs","readFile","_path","_semver","satisfies","add","filter","Boolean","oldConfigPath","getConfigDirPath","ignoredPackages","config","exists","oldConfig","ignored","unlink","includes","isPackageDisabled","warn","notification","notifications","addInfo","dismissable","icon","detail","e","description","buttons","text","onDidClick","dismiss","shownStorageInfo","onDidDismiss","_fs","_util","_stripBomBuf","promisifiedFS","syncMethods","keys","forEach","promisify","path","access","R_OK","encoding","reject","buffer","contents","toString","isUtf8","x","Buffer","isBuffer","TypeError","slice","bytes","debug","SemVer","process","env","NODE_DEBUG","arguments","unshift","log","apply","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","Number","re","src","R","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULL","FULLPLAIN","LOOSEPLAIN","LOOSE","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","XRANGE","XRANGELOOSE","COERCE","LONETILDE","TILDETRIM","RegExp","TILDE","TILDELOOSE","LONECARET","CARETTRIM","CARET","CARETLOOSE","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","HYPHENRANGE","HYPHENRANGELOOSE","STAR","options","loose","includePrerelease","er","this","trim","raw","major","minor","patch","prerelease","split","id","num","build","format","valid","v","clean","replace","compare","other","compareMain","comparePre","compareIdentifiers","a","b","undefined","compareBuild","inc","release","identifier","isNaN","diff","version1","version2","eq","v1","v2","prefix","defaultResult","numeric","anum","bnum","gt","lt","neq","gte","lte","cmp","op","Comparator","comp","semver","ANY","operator","rcompareIdentifiers","compareLoose","versionA","versionB","rcompare","sort","list","rsort","Range","range","parseRange","isSatisfiable","comparators","result","remainingComparators","testComparator","pop","every","otherComparator","intersects","isX","toLowerCase","hyphenReplace","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","testSet","allowed","outside","hilo","gtfn","ltefn","ltfn","ecomp","high","low","comparator","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","hr","compRe","_","M","pr","ret","replaceCaret","replaceCarets","replaceTilde","replaceTildes","gtlt","xM","xm","xp","anyX","replaceXRange","replaceXRanges","replaceStars","parseComparator","some","thisComparators","rangeComparators","thisComparator","rangeComparator","toComparators","maxSatisfying","versions","max","maxSV","rangeObj","minSatisfying","min","minSV","minVersion","minver","compver","validRange","ltr","gtr","parsed","r1","r2","coerce","item","progress","document","createElement","dispose","style","width","notificationView","views","getView","notificationContent","querySelector","appendChild","size","addSuccess","addWarning","configSchema","customArguments","title","type","order","manageDependencies","alwaysEligible","getConfig","meta","__webpack_exports__","provideBuilder","activate","pathToScript","__dirname","EventEmitter","constructor","cwd","super","observe","emit","getNiceName","isEligible","platform","whichCmd","spawnSync","settings","errorMatch","warningMatch","comboMatch","concat","customErrorMatch","customWarningMatch","sh","keymap","atomCommandName","packageDep","inDevMode","enablePackage"],"mappings":"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","file":"provider.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 16);\n","module.exports = require(\"path\");","module.exports = require(\"events\");","module.exports = require(\"os\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.install = installDependencies;\n\nvar _assert = _interopRequireDefault(require(\"assert\"));\n\nvar Helpers = _interopRequireWildcard(require(\"./helpers\"));\n\nvar _view = _interopRequireDefault(require(\"./view\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nif (typeof window.__steelbrain_package_deps === 'undefined') {\n window.__steelbrain_package_deps = new Set();\n}\n\nasync function installDependencies(packageName, promptUser = true) {\n (0, _assert.default)(packageName, '[Package-Deps] Package name is required');\n const dependencies = await Helpers.getDependencies(packageName);\n\n if (!dependencies.length) {\n return;\n }\n\n if (promptUser) {\n const choice = await Helpers.promptUser(packageName, dependencies);\n\n if (choice !== 'Yes') {\n return;\n }\n }\n\n const view = new _view.default(packageName, dependencies);\n const errors = await Helpers.apmInstall(dependencies, function () {\n view.advance();\n });\n const promises = [];\n view.complete(errors);\n\n for (const dependency of dependencies) {\n if (errors.has(dependency.name)) {\n continue;\n }\n\n promises.push(atom.packages.activatePackage(dependency.name));\n }\n\n await Promise.all(promises);\n}","module.exports = require(\"child_process\");","module.exports = require(\"assert\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apmInstall = apmInstall;\nexports.getDependencies = getDependencies;\nexports.promptUser = promptUser;\n\nvar _sbFs = _interopRequireDefault(require(\"sb-fs\"));\n\nvar _path = _interopRequireDefault(require(\"path\"));\n\nvar _semver = _interopRequireDefault(require(\"semver\"));\n\nvar _atom = require(\"atom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nlet shownStorageInfo = false;\nconst VALID_TICKS = new Set(['✓', 'done']);\nconst VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/;\n\nfunction exec(command, parameters) {\n return new Promise(function (resolve) {\n const data = {\n stdout: [],\n stderr: []\n };\n const spawnedProcess = new _atom.BufferedProcess({\n command,\n args: parameters,\n\n stdout(chunk) {\n data.stdout.push(chunk);\n },\n\n stderr(chunk) {\n data.stderr.push(chunk);\n },\n\n exit() {\n resolve({\n stdout: data.stdout.join(''),\n stderr: data.stderr.join('')\n });\n },\n\n autoStart: false\n });\n spawnedProcess.start();\n });\n}\n\nfunction apmInstall(dependencies, progressCallback) {\n const errors = new Map();\n return Promise.all(dependencies.map(function (dep) {\n return exec(atom.packages.getApmPath(), ['install', dep.url || dep.name, '--production', '--color', 'false']).then(function (output) {\n let successful = VALIDATION_REGEXP.test(output.stdout);\n\n if (successful) {\n const match = VALIDATION_REGEXP.exec(output.stdout);\n successful = match && VALID_TICKS.has(match[2]);\n }\n\n progressCallback(dep.name, !!successful);\n\n if (!successful) {\n const error = new Error(`Error installing dependency: ${dep.name}`);\n error.stack = output.stderr;\n throw error;\n }\n })[\"catch\"](function (error) {\n errors.set(dep.name, error);\n });\n })).then(function () {\n return errors;\n });\n}\n\nconst DEPENDENCY_REGEX_VERSION = /(.*?):.*/;\nconst DEPENDENCY_REGEX_GIRURL = /(.*?)#.*/;\n\nasync function getDependencies(packageName) {\n const packageModule = atom.packages.getLoadedPackage(packageName);\n const packageDependencies = packageModule && packageModule.metadata['package-deps'];\n\n if (!Array.isArray(packageDependencies)) {\n console.error(`[Package-Deps] Unable to get loaded package '${packageName}'`);\n return [];\n }\n\n return (await Promise.all(packageDependencies.map(async function (entry) {\n let url = null;\n let name = entry;\n let version = null;\n const matchVersion = DEPENDENCY_REGEX_VERSION.exec(entry);\n const matchGiturl = DEPENDENCY_REGEX_GIRURL.exec(entry);\n\n if (matchVersion) {\n ;\n [, name, version] = matchVersion;\n } else if (matchGiturl) {\n ;\n [, name, url] = matchGiturl;\n } else {\n name = entry;\n }\n\n if (__steelbrain_package_deps.has(name)) {\n return null;\n }\n\n const resolvedPath = atom.packages.resolvePackagePath(name);\n\n if (resolvedPath) {\n if (!version) {\n return null;\n }\n\n const manifest = JSON.parse((await _sbFs[\"default\"].readFile(_path[\"default\"].join(resolvedPath, 'package.json')))); // $FlowIgnore: Flow is paranoid, this parsed.version is NOT NULL\n\n if (_semver[\"default\"].satisfies(manifest.version, `>=${version}`)) {\n return null;\n }\n }\n\n __steelbrain_package_deps.add(name);\n\n return {\n name,\n url\n };\n }))).filter(Boolean);\n}\n\nasync function promptUser(packageName, dependencies) {\n const oldConfigPath = _path[\"default\"].join(atom.getConfigDirPath(), 'package-deps-state.json');\n\n let ignoredPackages = atom.config.get('atom-package-deps.ignored') || [];\n\n if (await _sbFs[\"default\"].exists(oldConfigPath)) {\n const oldConfig = JSON.parse((await _sbFs[\"default\"].readFile(oldConfigPath, 'utf8')));\n atom.config.set('atom-package-deps.ignored', ignoredPackages = oldConfig.ignored);\n await _sbFs[\"default\"].unlink(oldConfigPath);\n }\n\n if (ignoredPackages.includes(packageName)) {\n return 'No';\n }\n\n if (atom.packages.isPackageDisabled('notifications')) {\n console.warn(`Enable notifications to install dependencies for ${packageName}`);\n }\n\n return new Promise(function (resolve) {\n const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, {\n dismissable: true,\n icon: 'cloud-download',\n detail: dependencies.map(e => e.name).join(', '),\n description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`,\n buttons: [{\n text: 'Yes',\n onDidClick: () => {\n resolve('Yes');\n notification.dismiss();\n }\n }, {\n text: 'No Thanks',\n onDidClick: () => {\n resolve('No');\n notification.dismiss();\n }\n }, {\n text: 'Never',\n onDidClick: () => {\n ignoredPackages.push(packageName);\n atom.config.set('atom-package-deps.ignored', ignoredPackages);\n\n if (!shownStorageInfo) {\n shownStorageInfo = true;\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 resolve('Never');\n notification.dismiss();\n }\n }]\n });\n notification.onDidDismiss(() => resolve('No'));\n });\n}","\"use strict\";\n\nvar _fs = _interopRequireDefault(require(\"fs\"));\n\nvar _util = require(\"util\");\n\nvar _stripBomBuf = _interopRequireDefault(require(\"strip-bom-buf\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst promisifiedFS = {};\nconst syncMethods = ['Stats', '_toUnixTimestamp', 'watch', 'watchFile', 'unwatchFile'];\nObject.keys(_fs.default).forEach(function (key) {\n const value = _fs.default[key];\n\n if (typeof value === 'function' && !key.includes('Sync') && !key.includes('Stream') && !syncMethods.includes(key)) {\n promisifiedFS[key] = (0, _util.promisify)(value);\n } else {\n promisifiedFS[key] = value;\n }\n});\n\npromisifiedFS.exists = function (path) {\n return new Promise(function (resolve) {\n _fs.default.access(path, _fs.default.R_OK, function (error) {\n resolve(error === null);\n });\n });\n};\n\npromisifiedFS.readFile = function (path, encoding) {\n return new Promise(function (resolve, reject) {\n _fs.default.readFile(path, function (error, buffer) {\n if (error) {\n reject(error);\n return;\n }\n\n let contents = (0, _stripBomBuf.default)(buffer);\n\n if (encoding) {\n contents = contents.toString(encoding);\n }\n\n resolve(contents);\n });\n });\n};\n\nmodule.exports = promisifiedFS;","module.exports = require(\"fs\");","module.exports = require(\"util\");","'use strict';\nconst isUtf8 = require('is-utf8');\n\nmodule.exports = x => {\n\tif (!Buffer.isBuffer(x)) {\n\t\tthrow new TypeError('Expected a Buffer, got ' + typeof x);\n\t}\n\n\tif (x[0] === 0xEF && x[1] === 0xBB && x[2] === 0xBF && isUtf8(x)) {\n\t\treturn x.slice(3);\n\t}\n\n\treturn x;\n};\n","\nexports = module.exports = function(bytes)\n{\n var i = 0;\n while(i < bytes.length)\n {\n if( (// ASCII\n bytes[i] == 0x09 ||\n bytes[i] == 0x0A ||\n bytes[i] == 0x0D ||\n (0x20 <= bytes[i] && bytes[i] <= 0x7E)\n )\n ) {\n i += 1;\n continue;\n }\n\n if( (// non-overlong 2-byte\n (0xC2 <= bytes[i] && bytes[i] <= 0xDF) &&\n (0x80 <= bytes[i+1] && bytes[i+1] <= 0xBF)\n )\n ) {\n i += 2;\n continue;\n }\n\n if( (// excluding overlongs\n bytes[i] == 0xE0 &&\n (0xA0 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF)\n ) ||\n (// straight 3-byte\n ((0xE1 <= bytes[i] && bytes[i] <= 0xEC) ||\n bytes[i] == 0xEE ||\n bytes[i] == 0xEF) &&\n (0x80 <= bytes[i + 1] && bytes[i+1] <= 0xBF) &&\n (0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)\n ) ||\n (// excluding surrogates\n bytes[i] == 0xED &&\n (0x80 <= bytes[i+1] && bytes[i+1] <= 0x9F) &&\n (0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)\n )\n ) {\n i += 3;\n continue;\n }\n\n if( (// planes 1-3\n bytes[i] == 0xF0 &&\n (0x90 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n ) ||\n (// planes 4-15\n (0xF1 <= bytes[i] && bytes[i] <= 0xF3) &&\n (0x80 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n ) ||\n (// plane 16\n bytes[i] == 0xF4 &&\n (0x80 <= bytes[i + 1] && bytes[i + 1] <= 0x8F) &&\n (0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&\n (0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)\n )\n ) {\n i += 4;\n continue;\n }\n\n return false;\n }\n\n return true;\n}\n","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\nSemVer.prototype.compareBuild = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n var i = 0\n do {\n var a = this.build[i]\n var b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.compareBuild = compareBuild\nfunction compareBuild (a, b, loose) {\n var versionA = new SemVer(a, loose)\n var versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(b, a, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'), options)\n}\n","module.exports = require(\"atom\");","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nclass View {\n constructor(name, dependencies) {\n this.name = name;\n this.dependencies = dependencies;\n const notification = atom.notifications.addInfo(`Installing ${name} dependencies`, {\n detail: `Installing ${dependencies.map(item => item.name).join(', ')}`,\n dismissable: true\n });\n const progress = document.createElement('progress');\n\n this.dispose = function () {\n notification.dismiss();\n };\n\n this.advance = function () {\n progress.value++;\n };\n\n progress.max = dependencies.length;\n progress.style.width = '100%';\n\n try {\n const notificationView = atom.views.getView(notification);\n const notificationContent = notificationView.querySelector('.detail-content') || notificationView.querySelector('.content');\n\n if (notificationContent) {\n notificationContent.appendChild(progress);\n }\n } catch (_) {\n /* Notifications package is disabled */\n }\n }\n\n complete(errors) {\n this.dispose();\n\n if (!errors.size) {\n atom.notifications.addSuccess(`Installed ${this.name} dependencies`, {\n detail: `Installed ${this.dependencies.map(item => item.name).join(', ')}`\n });\n return;\n }\n\n const packages = [];\n\n for (const [packageName, error] of errors) {\n packages.push(` • ${packageName}`);\n console.error(`[Package-Deps] Unable to install ${packageName}, Error:`, error && error.stack || error);\n }\n\n atom.notifications.addWarning(`Failed to install ${this.name} dependencies`, {\n detail: `These packages were not installed, check your console\\nfor more info.\\n${packages.join('\\n')}`,\n dismissable: true\n });\n }\n\n}\n\nexports.default = View;","import meta from '../package.json';\n\nexport const configSchema = {\n customArguments: {\n title: 'Custom Arguments',\n description: 'Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders',\n type: 'string',\n default: '{FILE_ACTIVE}',\n order: 0\n },\n manageDependencies: {\n title: 'Manage Dependencies',\n description: 'When enabled, third-party dependencies will be installed automatically',\n type: 'boolean',\n default: true,\n order: 1\n },\n alwaysEligible: {\n title: 'Always Eligible',\n description: 'The build provider will be available in your project, even when not eligible',\n type: 'boolean',\n default: false,\n order: 2\n }\n};\n\nexport function getConfig(key) {\n return atom.config.get(`${meta.name}.${key}`);\n}\n","'use babel';\r\n\r\nimport meta from '../package.json';\r\nimport { configSchema, getConfig } from './config';\r\nimport { EventEmitter } from 'events';\r\nimport { join } from 'path';\r\nimport { platform } from 'os';\r\nimport { satisfyDependencies } from './util';\r\nimport { spawnSync } from 'child_process';\r\n\r\nconst pathToScript = join(__dirname, 'makensis-wine.sh');\r\n\r\nexport { configSchema as config };\r\n\r\nexport function provideBuilder() {\r\n return class MakensisWineProvider extends EventEmitter {\r\n constructor(cwd) {\r\n super();\r\n this.cwd = cwd;\r\n atom.config.observe(`${meta.name}.customArguments`, () => this.emit('refresh'));\r\n }\r\n\r\n getNiceName() {\r\n return 'NSIS (Wine)';\r\n }\r\n\r\n isEligible() {\r\n if (getConfig('alwaysEligible') === true) {\r\n return true;\r\n }\r\n\r\n if (platform() === 'win32') {\r\n return false;\r\n }\r\n\r\n const whichCmd = spawnSync('which', ['wine']);\r\n\r\n return (whichCmd.stdout && whichCmd.stdout.toString().length) ? true : false;\r\n }\r\n\r\n settings() {\r\n const errorMatch = [\r\n '(\\\\r?\\\\n)(?.+)(\\\\r?\\\\n)Error in script \"(?[^\"]+)\" on line (?\\\\d+) -- aborting creation process'\r\n ];\r\n const warningMatch = [\r\n '[^!]warning: (?.*) \\\\((?(\\\\w{1}:)?[^:]+):(?\\\\d+)\\\\)'\r\n ];\r\n const comboMatch = errorMatch.concat(warningMatch);\r\n\r\n // User settings\r\n const customArguments = getConfig('customArguments').trim().split(' ');\r\n\r\n // Adjust errorMatch and warningMatch\r\n const customErrorMatch = (customArguments.includes('-WX')) ? comboMatch : errorMatch;\r\n const customWarningMatch = (customArguments.includes('-WX')) ? null : warningMatch;\r\n\r\n return [\r\n {\r\n name: 'makensis on Wine',\r\n exec: pathToScript,\r\n args: [ '{FILE_ACTIVE}' ],\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'cmd-alt-b',\r\n atomCommandName: 'MakeNSIS-on-wine:compile',\r\n errorMatch: errorMatch,\r\n warningMatch: warningMatch\r\n },\r\n {\r\n name: 'makensis on Wine (strict)',\r\n exec: pathToScript,\r\n args: [ '-WX', '{FILE_ACTIVE}' ],\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'ctrl-alt-cmd-b',\r\n atomCommandName: 'MakeNSIS-on-wine:compile-and-stop-at-warning',\r\n errorMatch: comboMatch\r\n },\r\n {\r\n name: 'makensis on Wine (user)',\r\n exec: pathToScript,\r\n args: customArguments,\r\n cwd: '{FILE_ACTIVE_PATH}',\r\n sh: true,\r\n keymap: 'alt-cmd-u',\r\n atomCommandName: 'MakeNSIS-on-wine:compile-with-user-settings',\r\n errorMatch: customErrorMatch,\r\n warningMatch: customWarningMatch\r\n }\r\n ];\r\n }\r\n };\r\n}\r\n\r\nexport async function activate() {\r\n if (getConfig('manageDependencies') === true) {\r\n satisfyDependencies();\r\n }\r\n}\r\n","import meta from '../package.json';\nimport { install } from 'atom-package-deps';\n\nexport function satisfyDependencies() {\n install(meta.name);\n\n const packageDeps = meta['package-deps'];\n\n packageDeps.forEach( packageDep => {\n if (packageDep) {\n if (atom.packages.isPackageDisabled(packageDep)) {\n if (atom.inDevMode()) console.log(`Enabling package '${packageDep}\\'`);\n atom.packages.enablePackage(packageDep);\n }\n }\n });\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..451510a --- /dev/null +++ b/src/config.js @@ -0,0 +1,29 @@ +import meta from '../package.json'; + +export const configSchema = { + customArguments: { + title: 'Custom Arguments', + description: 'Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders', + type: 'string', + default: '{FILE_ACTIVE}', + order: 0 + }, + manageDependencies: { + title: 'Manage Dependencies', + description: 'When enabled, third-party dependencies will be installed automatically', + type: 'boolean', + default: true, + order: 1 + }, + alwaysEligible: { + title: 'Always Eligible', + description: 'The build provider will be available in your project, even when not eligible', + type: 'boolean', + default: false, + order: 2 + } +}; + +export function getConfig(key) { + return atom.config.get(`${meta.name}.${key}`); +} diff --git a/src/provider.js b/src/provider.js index cc5c88e..9c7cddf 100755 --- a/src/provider.js +++ b/src/provider.js @@ -1,77 +1,16 @@ 'use babel'; +import meta from '../package.json'; +import { configSchema, getConfig } from './config'; import { EventEmitter } from 'events'; -import { install } from 'atom-package-deps'; import { join } from 'path'; import { platform } from 'os'; -import { spawn } from 'child_process'; +import { satisfyDependencies } from './util'; +import { spawnSync } from 'child_process'; -import meta from '../package.json'; const pathToScript = join(__dirname, 'makensis-wine.sh'); -// Package settings -export const config = { - customArguments: { - title: 'Custom Arguments', - description: 'Specify your preferred arguments for `makensis`, supports [replacement](https://github.com/noseglid/atom-build#replacement) placeholders', - type: 'string', - default: '{FILE_ACTIVE}', - order: 0 - }, - manageDependencies: { - title: 'Manage Dependencies', - description: 'When enabled, third-party dependencies will be installed automatically', - type: 'boolean', - default: true, - order: 1 - }, - alwaysEligible: { - title: 'Always Eligible', - description: 'The build provider will be available in your project, even when not eligible', - type: 'boolean', - default: false, - order: 2 - } -}; - -export function satisfyDependencies() { - install(meta.name); - - const packageDeps = meta['package-deps']; - - packageDeps.forEach( packageDep => { - if (packageDep) { - if (atom.packages.isPackageDisabled(packageDep)) { - if (atom.inDevMode()) console.log(`Enabling package '${packageDep}\'`); - atom.packages.enablePackage(packageDep); - } - } - }); -} - -function spawnPromise(cmd, args) { - return new Promise(function (resolve, reject) { - const child = spawn(cmd, args); - let stdOut; - let stdErr; - - child.stdout.on('data', function (line) { - stdOut += line.toString().trim(); - }); - - child.stderr.on('data', function (line) { - stdErr += line.toString().trim(); - }); - - child.on('close', function (code) { - if (code === 0) { - resolve(stdOut); - } - - reject(stdErr); - }); - }); -} +export { configSchema as config }; export function provideBuilder() { return class MakensisWineProvider extends EventEmitter { @@ -85,8 +24,8 @@ export function provideBuilder() { return 'NSIS (Wine)'; } - async isEligible() { - if (atom.config.get(`${meta.name}.alwaysEligible`) === true) { + isEligible() { + if (getConfig('alwaysEligible') === true) { return true; } @@ -94,13 +33,9 @@ export function provideBuilder() { return false; } - const whichCmd = await spawnPromise('which', ['wine']); - - if (whichCmd.stdout && whichCmd.stdout.toString()) { - return true; - } + const whichCmd = spawnSync('which', ['wine']); - return false; + return (whichCmd.stdout && whichCmd.stdout.toString().length) ? true : false; } settings() { @@ -113,7 +48,7 @@ export function provideBuilder() { const comboMatch = errorMatch.concat(warningMatch); // User settings - const customArguments = atom.config.get(`${meta.name}.customArguments`).trim().split(' '); + const customArguments = getConfig('customArguments').trim().split(' '); // Adjust errorMatch and warningMatch const customErrorMatch = (customArguments.includes('-WX')) ? comboMatch : errorMatch; @@ -157,8 +92,8 @@ export function provideBuilder() { }; } -export function activate() { - if (atom.config.get(`${meta.name}.manageDependencies`) === true) { +export async function activate() { + if (getConfig('manageDependencies') === true) { satisfyDependencies(); } } diff --git a/src/util.js b/src/util.js new file mode 100644 index 0000000..21a80f1 --- /dev/null +++ b/src/util.js @@ -0,0 +1,17 @@ +import meta from '../package.json'; +import { install } from 'atom-package-deps'; + +export function satisfyDependencies() { + install(meta.name); + + const packageDeps = meta['package-deps']; + + packageDeps.forEach( packageDep => { + if (packageDep) { + if (atom.packages.isPackageDisabled(packageDep)) { + if (atom.inDevMode()) console.log(`Enabling package '${packageDep}\'`); + atom.packages.enablePackage(packageDep); + } + } + }); +}