@todesktop/cli 1.1.5 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,7 +20,7 @@ For more information, visit the project [landing page](https://www.todesktop.com
20
20
  Install the package with:
21
21
 
22
22
  ```sh
23
- npm install -g @todesktop/cli
23
+ npm install --location=global @todesktop/cli
24
24
  # or
25
25
  yarn global add @todesktop/cli
26
26
  ```
@@ -37,10 +37,9 @@ Create a ToDesktop application to link to your Electron application. This is cur
37
37
 
38
38
  ### Step 2: Setup your todesktop.json file
39
39
 
40
- Create a todesktop.json file in the root of your Electron project.
40
+ Create a `todesktop.json` file in the root of your Electron project.
41
41
 
42
42
  ```json
43
- // todesktop.json
44
43
  {
45
44
  "id": "your-todesktop-id",
46
45
  "icon": "./desktop-icon.png",
@@ -459,6 +458,14 @@ The path to your application's Linux desktop icon. It must be an ICNS or PNG.
459
458
 
460
459
  Note: to ensure the icon is never missing (e.g. this happens sometimes in Ubuntu), set the [`icon` option](https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions) when creating your `BrowserWindow`s.
461
460
 
461
+ ### `linux.noSandbox` - (optional) boolean
462
+
463
+ Default: `true`
464
+
465
+ This option allows you to configure whether your app should run in a sandboxed environment.
466
+
467
+ We default this to `true` for compatibility reasons because some Linux distributions do not support unprivileged user namespaces.
468
+
462
469
  ### `mac` - (optional) object
463
470
 
464
471
  Default: We have good default settings for Mac.
@@ -606,10 +613,10 @@ Additional attributes can be specified using object instead of just name of plug
606
613
  "browser-sandbox": {
607
614
  "interface": "browser-support",
608
615
  "allow-sandbox": true
609
- },
616
+ }
610
617
  },
611
618
  "another-simple-plug-name"
612
- ]`
619
+ ]
613
620
  ```
614
621
 
615
622
  #### `snap.stagePackages` - (optional) array of strings
@@ -818,6 +825,19 @@ Now you can run `npm run todesktop-build` to build the production app. Or you ca
818
825
 
819
826
  ## Changelog
820
827
 
828
+ ### v1.2.1
829
+
830
+ - Fix: When the build is finished the download link is now an Apple Silicon link if you are on an Apple Silicon Mac.
831
+
832
+ ### v1.2.0
833
+
834
+ - Add support for `linux.noSandbox` configuration option.
835
+ - Fix Resolutions for Yarn 2+.
836
+
837
+ ### 1.1.2
838
+
839
+ - Add support for `asarUnpack` configuration option.
840
+
821
841
  ### v1.1.0
822
842
 
823
843
  - Add support for `beforeInstall` and `afterPack` hooks.
@@ -15,9 +15,9 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel
15
15
  },{"./getEnvironmentVariables":"gwcX","./firestore":"gzUX","./configStore":"ffKF","./getCliVersion":"QfeP"}],"QLfx":[function(require,module,exports) {
16
16
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("ink"),r=require("./analytics"),t=i(require("./firestore")),u=i(require("./logger"));function i(e){return e&&e.__esModule?e:{default:e}}var o=()=>{const{exit:i}=(0,e.useApp)();return e=>{let o;u.default.debug({error:e},"Exit called"),t.default.terminate().catch(e=>u.default.error(e)),Promise.race([new Promise(e=>(0,r.flush)(()=>e())),new Promise(e=>o=setTimeout(()=>e(),1e3))]).catch(()=>{}).finally(()=>{clearTimeout(o);try{i()}catch(r){u.default.error(r)}setTimeout(()=>process.exit(e?1:0),10)})}};exports.default=o;
17
17
  },{"./analytics":"ALju","./firestore":"gzUX","./logger":"XvyO"}],"nKi2":[function(require,module,exports) {
18
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("ink"),t=a(require("ink-link")),r=a(require("prop-types")),u=o(require("react")),l=a(require("../utilities/logForCI")),n=a(require("../utilities/useExit"));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var u={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var o=l?Object.getOwnPropertyDescriptor(e,n):null;o&&(o.get||o.set)?Object.defineProperty(u,n,o):u[n]=e[n]}return u.default=e,r&&r.set(e,u),u}function a(e){return e&&e.__esModule?e:{default:e}}const f=({build:r})=>{const i=(0,n.default)(),o=r.standardUniversalDownloadUrl;return(0,l.default)(`Build complete! ${o}`),(0,u.useEffect)(()=>{o&&setTimeout(i,10)},[i,o]),u.default.createElement(e.Box,{marginBottom:1},u.default.createElement(e.Text,null,u.default.createElement(e.Text,{bold:!0},"Build complete!")," ",u.default.createElement(t.default,{fallback:!1,url:o},o||"")))};f.propTypes={build:r.default.object.isRequired};var d=f;exports.default=d;
18
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("ink"),t=f(require("ink-link")),r=f(require("prop-types")),u=o(require("react")),l=f(require("../utilities/logForCI")),a=f(require("../utilities/useExit")),i=f(require("path"));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var u={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=l?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(u,a,i):u[a]=e[a]}return u.default=e,r&&r.set(e,u),u}function f(e){return e&&e.__esModule?e:{default:e}}const c=({build:r})=>{const n=(0,a.default)();let o=r.standardUniversalDownloadUrl;return"darwin"===process.platform&&(o=i.default.posix.join(o,"mac","zip",process.arch)),(0,l.default)(`Build complete! ${o}`),(0,u.useEffect)(()=>{o&&setTimeout(n,10)},[n,o]),u.default.createElement(e.Box,{marginBottom:1},u.default.createElement(e.Text,null,u.default.createElement(e.Text,{bold:!0},"Build complete!")," ",u.default.createElement(t.default,{fallback:!1,url:o},o||"")))};c.propTypes={build:r.default.object.isRequired};var p=c;exports.default=p;
19
19
  },{"../utilities/logForCI":"Sre8","../utilities/useExit":"QLfx"}],"WIKr":[function(require,module,exports) {
20
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=u(require("react")),t=n(require("prop-types")),r=require("ink"),l=n(require("ink-link"));function n(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}function u(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(t);if(r&&r.has(e))return r.get(e);var l={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var o=n?Object.getOwnPropertyDescriptor(e,u):null;o&&(o.get||o.set)?Object.defineProperty(l,u,o):l[u]=e[u]}return l.default=e,r&&r.set(e,l),l}const o="More info: ".length,i=(t,l)=>{let n="white",a="black";return"error"===l?n="red":100===t&&(n="green",a="black"),e.default.createElement(e.Fragment,null,e.default.createElement(r.Text,{backgroundColor:n,color:a}," ",Math.round(t).toString().padStart(2,"0"),"%"," "),e.default.createElement(r.Text,null," "))},d=({activityName:t,activityType:n,downloadUrl:a,percent:u,platform:d,shouldShowReadyPrefix:f})=>{let c;if("done"===n)c=e.default.createElement(r.Box,{flexDirection:"column",marginBottom:1},e.default.createElement(r.Text,null,i(100),f?"Ready!":""),e.default.createElement(l.default,{fallback:!1,url:a},a));else{let l=t.replace(/(?:\r\n|\r|\n)\s*/g,"↵ ");l.length>64&&(l=`${l.substr(0,61)}...`),c=e.default.createElement(e.Fragment,null,e.default.createElement(r.Box,{flexDirection:"column",marginBottom:1},e.default.createElement(r.Text,null,["preparation","queue"].includes(n)?void 0:i(u,n),l,"error"===n?"":e.default.createElement(r.Text,null,"..."))))}return e.default.createElement(r.Box,null,e.default.createElement(r.Box,{width:o},e.default.createElement(r.Text,null,d[0].toUpperCase()+d.substr(1),": ")),c)};d.propTypes={activityName:t.default.string.isRequired,activityType:t.default.string.isRequired,downloadUrl:t.default.string,percent:t.default.number.isRequired,platform:t.default.string.isRequired,shouldShowReadyPrefix:t.default.bool};var f=d;exports.default=f;
20
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("react")),t=n(require("prop-types")),r=require("ink"),l=n(require("ink-link")),a=n(require("path"));function n(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var l={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var o=a?Object.getOwnPropertyDescriptor(e,n):null;o&&(o.get||o.set)?Object.defineProperty(l,n,o):l[n]=e[n]}return l.default=e,r&&r.set(e,l),l}const i="More info: ".length,d=(t,l)=>{let a="white",n="black";return"error"===l?a="red":100===t&&(a="green",n="black"),e.default.createElement(e.Fragment,null,e.default.createElement(r.Text,{backgroundColor:a,color:n}," ",Math.round(t).toString().padStart(2,"0"),"%"," "),e.default.createElement(r.Text,null," "))},f=({activityName:t,activityType:n,downloadUrl:u,percent:o,platform:f,shouldShowReadyPrefix:c})=>{let p;if("done"===n)"darwin"===process.platform&&(u=a.default.posix.join(u,"mac","zip",process.arch)),p=e.default.createElement(r.Box,{flexDirection:"column",marginBottom:1},e.default.createElement(r.Text,null,d(100),c?"Ready!":""),e.default.createElement(l.default,{fallback:!1,url:u},u));else{let l=t.replace(/(?:\r\n|\r|\n)\s*/g,"↵ ");l.length>64&&(l=`${l.substr(0,61)}...`),p=e.default.createElement(e.Fragment,null,e.default.createElement(r.Box,{flexDirection:"column",marginBottom:1},e.default.createElement(r.Text,null,["preparation","queue"].includes(n)?void 0:d(o,n),l,"error"===n?"":e.default.createElement(r.Text,null,"..."))))}return e.default.createElement(r.Box,null,e.default.createElement(r.Box,{width:i},e.default.createElement(r.Text,null,f[0].toUpperCase()+f.substr(1),": ")),p)};f.propTypes={activityName:t.default.string.isRequired,activityType:t.default.string.isRequired,downloadUrl:t.default.string,percent:t.default.number.isRequired,platform:t.default.string.isRequired,shouldShowReadyPrefix:t.default.bool};var c=f;exports.default=c;
21
21
  },{}],"in6t":[function(require,module,exports) {
22
22
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPlatformBuildRunning=exports.isBuildRunning=exports.isBuildCancellable=exports.hasBuildKickedOff=void 0;const s=s=>!!s&&(s.status&&"preparation"!==s.status);exports.hasBuildKickedOff=s;const e=e=>s(e)&&t(e);exports.isBuildCancellable=e;const t=s=>!!s&&(!["cancelled","succeeded"].includes(s.status)&&["linux","mac","windows"].some(e=>i(s[e])));exports.isBuildRunning=t;const i=s=>!!s&&(!s.shouldSkip&&!["cancelled","succeeded"].includes(s.status)&&("failed"!==s.status||s.numberOfAttemptedBuilds<2));exports.isPlatformBuildRunning=i;
23
23
  },{}],"odFL":[function(require,module,exports) {
@@ -57,7 +57,7 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel
57
57
  },{"./addCustomKeywords":"g5Ig","./schema/packageJSON":"zW94"}],"g5Ig":[function(require,module,exports) {
58
58
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=u(require("email-regex")),r=a(require("fs")),t=a(require("path")),i=u(require("parse-author")),s=a(require("semver")),o=u(require("./validatePackageJSON"));function n(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(n=function(e){return e?t:r})(e)}function a(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n(r);if(t&&t.has(e))return t.get(e);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=s?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(i,o,a):i[o]=e[o]}return i.default=e,t&&t.set(e,i),i}function u(e){return e&&e.__esModule?e:{default:e}}var d=(n,a)=>{n.addKeyword("excludedDependencies",{validate:function e(r,t){let i=r.blacklist.filter(e=>t[e]);return!i.length||(e.errors=[{keyword:"Dependency",message:`${i.join(", ")} should not be in ${r.dependencyKey}`,dataPath:`/${r.dependencyKey}`}],!1)}}),n.addKeyword("email",{type:"string",minLength:5,validate:function r(t,i){return!!(0,e.default)({exact:!0}).test(i)||(r.errors=[{keyword:"email",message:"invalid"}],!1)}}),n.addKeyword("file",{type:"string",validate:function e(i,s){const n=i.mustBeDirectory||i.mustBeElectronApp;if(!s.trim().length)return!!i.isOptional||(e.errors=[{keyword:i.mustBeDirectory?"Directory":"File",message:"is empty"}],!1);const u=t.isAbsolute(s)?s:t.join(i.from,s);if(t.relative(i.from,u).startsWith(".."))return e.errors=[{keyword:n?"Directory":"File",message:`is not in project (${u})`}],!1;if(i.extensions&&!i.extensions.includes(t.extname(u).substr(1)))return e.errors=[{keyword:"File extension",message:`invalid. ${t.extname(s)} Must be${i.extensions>1?"one of the following:":""} "${i.extensions.join('", "')}"`}],!1;if(!r.existsSync(u))return e.errors=[{keyword:n?"Directory":"File",message:`does not exist (${u})`}],!1;const d=r.statSync(u);if(n&&d.isFile())return e.errors=[{keyword:"Directory",message:`must be a directory, not a file (${u})`}],!1;if(i.mustBeFile&&d.isDirectory())return e.errors=[{keyword:"File",message:`must be a file, not a directory (${u})`}],!1;if(i.mustBeElectronApp){const i=t.resolve(u),s=t.join(i,"package.json");if(!r.existsSync(s))return e.errors=[{keyword:"App",message:`invalid. There is no package.json at ${s}`}],!1;let n;try{n=require(s)}catch(l){return e.errors=[{keyword:"App",message:`invalid. Invalid JSON in package.json (${s})`}],!1}a.projectRoot=i,(0,o.default)(n,s,a);const d=n.main;if(d){const s=t.join(i,d);if(!r.existsSync(s))return e.errors=[{keyword:"App",message:`invalid. The "main" file specified in your package.json (${d}) does not exist (${s})`}],!1}else if(!r.existsSync(t.join(i,"index.js")))return e.errors=[{keyword:"App",message:'invalid. There is neither a "main" property in your package.json nor an index.js at the root of your app'}],!1}return!0},errors:!0}),n.addKeyword("npmAuthor",{validate:function r(t,s){const o=typeof s;if("undefined"===o)return!0;if("string"===o){const e=(0,i.default)(s);if(!e||!e.email)return r.errors=[{keyword:"author",message:'invalid. If you\'re using a string, it must look something like "Barney Rubble <b@rubble.com>", see https://docs.npmjs.com/files/package.json#people-fields-author-contributors'}],!1}else{if("object"!==o)return r.errors=[{keyword:"author",message:"invalid. It must either be an object or string. See https://docs.npmjs.com/files/package.json#people-fields-author-contributors"}],!1;if(void 0===s.name)return r.errors=[{keyword:"author",message:'invalid. "name" property is missing.'}],!1;if("string"!=typeof s.name)return r.errors=[{keyword:"author",message:".name invalid. It must be a string"}],!1;if(void 0===s.email)return r.errors=[{keyword:"author",message:'invalid. "email" property is missing.'}],!1;if("string"!=typeof s.email)return r.errors=[{keyword:"author",message:".email invalid. It must be a string."}],!1;if(!(0,e.default)({exact:!0}).test(s.email))return r.errors=[{keyword:"author",message:".email invalid. It does not look like an email."}],!1}return!0},errors:!0}),n.addKeyword("semanticVersion",{type:"string",minLength:5,validate:function e(r,t){const i=(r.packageName?`${r.packageName} `:"")+"version";return s.valid(t)||s.validRange(t)?!r.mustBeExact||!t.startsWith("~")&&!t.startsWith("^")||(e.errors=[{keyword:i,message:"invalid. It must be an exact version. Good: 9.0.0. Bad: ^9.0.0"}],!1):(e.errors=[{keyword:i,message:"invalid. It must be a semantic version (see https://semver.org/)"}],!1)}})};exports.default=d;
59
59
  },{"./validatePackageJSON":"fl4s"}],"CN2N":[function(require,module,exports) {
60
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e=e=>({oneOf:[e,{type:"array",items:e}]});var t=t=>{const n=(e=[])=>({type:"string",file:{from:t.projectRoot,extensions:["icns","png",...e],mustBeFile:!0},minLength:3});return{type:"object",required:["id","icon","schemaVersion"],properties:{appId:{type:"string",minLength:1},appFiles:{type:"array",items:{type:"string",minLength:1},minItems:1},appProtocolScheme:{type:"string",minLength:1},appPath:{type:"string",file:{from:t.projectRoot,isOptional:!0,mustBeElectronApp:!0}},asarUnpack:{oneOf:[{type:"boolean"},{type:"array",items:{type:"string",minLength:1},minItems:1}]},copyright:{type:"string",minLength:1},electronMirror:{type:"string",format:"uri"},electronVersion:{type:"string",minLength:1},extraContentFiles:{type:"array",items:{type:"object",required:["from"],properties:{from:{type:"string",file:{from:t.projectRoot}},to:{type:"string"}}}},extraResources:{type:"array",items:{type:"object",required:["from"],properties:{from:{type:"string",file:{from:t.projectRoot}},to:{type:"string"}}}},fileAssociations:{type:"array",items:{type:"object",required:["ext"],properties:{ext:e({type:"string",minLength:1}),description:{type:"string",minLength:1},name:{type:"string",minLength:1},mimeType:{type:"string",minLength:1},icon:{type:"string",minLength:1},role:{type:"string",minLength:1},isPackage:{type:"boolean"},rank:{type:"string",minLength:1}}},minItems:1},filesForDistribution:{type:"array",items:{type:"string",minLength:1},minItems:1},icon:n(),linux:{properties:{category:{type:"string",minLength:1},icon:n()}},id:{type:"string",minLength:1},mac:{properties:{category:{type:"string",minLength:1},additionalBinariesToSign:{type:"array",items:{type:"string",minLength:1}},entitlements:{type:"string",file:{from:t.projectRoot,extensions:["plist"],mustBeFile:!0},minLength:1},extendInfo:{type:"object"},icon:n()}},dmg:{properties:{background:{type:"string",file:{from:t.projectRoot,extensions:["tiff"],mustBeFile:!0},minLength:1},artifactName:{type:"string",minLength:1},backgroundColor:{type:"string",minLength:1},iconSize:{type:"number"},iconTextSize:{type:"number"},title:{type:"string",minLength:1},contents:{type:"array",items:{type:"object",properties:{x:{type:"number"},y:{type:"number"}}}},window:{type:"object",properties:{x:{type:"number"},y:{type:"number"},width:{type:"number"},height:{type:"number"}}}}},schemaVersion:{type:"number",minimum:1,maximum:1},snap:{properties:{after:{type:"array",items:{type:"string",minLength:1}},appPartStage:{type:"array",items:{type:"string",minLength:1}},assumes:e({type:"string",minLength:1}),autoStart:{type:"boolean"},buildPackages:{type:"array",items:{type:"string",minLength:1}},confinement:{type:"string",enum:["classic","devmode","strict"]},environment:{type:"object"},grade:{type:"string",enum:["devel","stable"]},layout:{type:"object"},plugs:{type:"array",items:{anyOf:[{type:"string",minLength:1},{type:"object"}]}},stagePackages:{type:"array",items:{type:"string",minLength:1}},summary:{type:"string",maxLength:78},useTemplateApp:{type:"boolean"}}},uploadSizeLimit:{type:"number"},windows:{properties:{icon:n(["ico"])}}}}};exports.default=t;
60
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e=e=>({oneOf:[e,{type:"array",items:e}]});var t=t=>{const n=(e=[])=>({type:"string",file:{from:t.projectRoot,extensions:["icns","png",...e],mustBeFile:!0},minLength:3});return{type:"object",required:["id","icon","schemaVersion"],properties:{appId:{type:"string",minLength:1},appFiles:{type:"array",items:{type:"string",minLength:1},minItems:1},appProtocolScheme:{type:"string",minLength:1},appPath:{type:"string",file:{from:t.projectRoot,isOptional:!0,mustBeElectronApp:!0}},asarUnpack:{oneOf:[{type:"boolean"},{type:"array",items:{type:"string",minLength:1},minItems:1}]},copyright:{type:"string",minLength:1},electronMirror:{type:"string",format:"uri"},electronVersion:{type:"string",minLength:1},extraContentFiles:{type:"array",items:{type:"object",required:["from"],properties:{from:{type:"string",file:{from:t.projectRoot}},to:{type:"string"}}}},extraResources:{type:"array",items:{type:"object",required:["from"],properties:{from:{type:"string",file:{from:t.projectRoot}},to:{type:"string"}}}},fileAssociations:{type:"array",items:{type:"object",required:["ext"],properties:{ext:e({type:"string",minLength:1}),description:{type:"string",minLength:1},name:{type:"string",minLength:1},mimeType:{type:"string",minLength:1},icon:{type:"string",minLength:1},role:{type:"string",minLength:1},isPackage:{type:"boolean"},rank:{type:"string",minLength:1}}},minItems:1},filesForDistribution:{type:"array",items:{type:"string",minLength:1},minItems:1},icon:n(),linux:{properties:{category:{type:"string",minLength:1},icon:n(),noSandbox:{type:"boolean"}}},id:{type:"string",minLength:1},mac:{properties:{category:{type:"string",minLength:1},additionalBinariesToSign:{type:"array",items:{type:"string",minLength:1}},entitlements:{type:"string",file:{from:t.projectRoot,extensions:["plist"],mustBeFile:!0},minLength:1},extendInfo:{type:"object"},icon:n()}},dmg:{properties:{background:{type:"string",file:{from:t.projectRoot,extensions:["tiff"],mustBeFile:!0},minLength:1},artifactName:{type:"string",minLength:1},backgroundColor:{type:"string",minLength:1},iconSize:{type:"number"},iconTextSize:{type:"number"},title:{type:"string",minLength:1},contents:{type:"array",items:{type:"object",properties:{x:{type:"number"},y:{type:"number"}}}},window:{type:"object",properties:{x:{type:"number"},y:{type:"number"},width:{type:"number"},height:{type:"number"}}}}},schemaVersion:{type:"number",minimum:1,maximum:1},snap:{properties:{after:{type:"array",items:{type:"string",minLength:1}},appPartStage:{type:"array",items:{type:"string",minLength:1}},assumes:e({type:"string",minLength:1}),autoStart:{type:"boolean"},buildPackages:{type:"array",items:{type:"string",minLength:1}},confinement:{type:"string",enum:["classic","devmode","strict"]},environment:{type:"object"},grade:{type:"string",enum:["devel","stable"]},layout:{type:"object"},plugs:{type:"array",items:{anyOf:[{type:"string",minLength:1},{type:"object"}]}},stagePackages:{type:"array",items:{type:"string",minLength:1}},summary:{type:"string",maxLength:78},useTemplateApp:{type:"boolean"}}},uploadSizeLimit:{type:"number"},windows:{properties:{icon:n(["ico"])}}}}};exports.default=t;
61
61
  },{}],"aYcI":[function(require,module,exports) {
62
62
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=a(require("ajv")),o=a(require("better-ajv-errors")),t=a(require("./addCustomKeywords")),r=a(require("./schema/full"));function a(e){return e&&e.__esModule?e:{default:e}}var n=({config:a,projectRoot:n})=>{const s={projectRoot:n},d=(0,r.default)(s),p=new e.default({allErrors:!0,jsonPointers:!0});(0,t.default)(p,s);const i=p.compile(d);if(!i(a)){const e=(0,o.default)(d,a,i.errors,{indent:2});throw new Error(`todesktop.json invalid. \nLearn more here: https://www.npmjs.com/package/@todesktop/cli#project-configuration-todesktopjson \n\n${e}`)}if(a.productName)throw new Error('todesktop.json invalid.\n\nThe "productName" property is no longer supported in todesktop.json. Please remove it and add it to your app\'s package.json instead.\n\nWe made this change because Electron also uses the "productName" if it exists in your app\'s package.json. If you do not add it to your package.json, your app name will default to the value of the "name" property in your package.json.')};exports.default=n;
63
63
  },{"./addCustomKeywords":"g5Ig","./schema/full":"CN2N"}],"Sx1d":[function(require,module,exports) {
@@ -103,9 +103,9 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel
103
103
  },{"./BuildProgress":"odFL","./ErrorDisplay":"f0Jz","./MainLayout":"T5Az","../utilities/firestore":"gzUX","../utilities/getLatestBuildId":"EqTV","../utilities/projectConfig/getProjectConfig":"Sx1d","../utilities/logForCI":"Sre8","../utilities/shouldExitOnBuildFailure":"ONhe","../utilities/subscribeToBuild":"ohCc","../utilities/useExit":"QLfx"}],"mzsi":[function(require,module,exports) {
104
104
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=require("ink"),t=y(require("ink-select-input")),r=y(require("prop-types")),i=v(require("react")),n=y(require("./CancelBuild")),u=y(require("./CustomSelectInputIndicator")),a=y(require("./CustomSelectInputItem")),l=y(require("./ErrorDisplay")),o=y(require("./ViewBuild")),d=require("../utilities/buildStatus"),s=v(require("../utilities/firestore")),c=y(require("../utilities/projectConfig/getProjectConfig")),f=y(require("../utilities/logger")),p=y(require("../utilities/useInput")),m=y(require("../utilities/useExit")),g=y(require("is-ci"));function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(b=function(e){return e?r:t})(e)}function v(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=b(t);if(r&&r.has(e))return r.get(e);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var a=n?Object.getOwnPropertyDescriptor(e,u):null;a&&(a.get||a.set)?Object.defineProperty(i,u,a):i[u]=e[u]}return i.default=e,r&&r.set(e,i),i}function y(e){return e&&e.__esModule?e:{default:e}}const h=({children:r,commandUsed:b})=>{const{isRawModeSupported:v}=(0,e.useStdin)(),y=(0,p.default)(),h=(0,m.default)(),[{appId:q,builds:E,error:C,isLoading:w,itemChosen:B},O]=(0,i.useState)({appId:null,builds:[],error:null,isLoading:!0,itemChosen:null});if((0,i.useEffect)(()=>{w&&(async()=>{try{const t=(0,c.default)().config.id,r=await s.default.doc(`users/${(0,s.currentUser)().uid}/applications/${t}`).collection("builds").orderBy("createdAt","desc").limit(10).get(),i={appId:t,isLoading:!1,builds:[]};if(!r.empty){const e=r.docs[0].data(),t=(0,d.isBuildRunning)(e)&&"preparation"!==e.status;f.default.debug({isRunning:t},"OngoingBuildGuard component: got latest build"),i.builds=r.docs.map(e=>e.data()).filter(e=>!(!(0,d.isBuildRunning)(e)||"preparation"===e.status))}O(e=>({...e,...i}))}catch(e){O(t=>({...t,error:e}))}})()},[E,B,w,v]),v&&y(()=>{}),C)return i.default.createElement(l.default,{commandUsed:b,error:C});if(w)return i.default.createElement(e.Text,null,"...");if(B){f.default.debug({itemChosen:B},"OngoingBuildGuard component: item chosen");const e=E.find(Boolean);if("view"===B.value)return i.default.createElement(o.default,{commandUsed:b,id:e.id});if("cancel"===B.value)return i.default.createElement(n.default,{appId:q,commandUsed:b,id:e.id},r);if("concurrent"===B.value)return i.default.createElement(i.Fragment,null,r);setTimeout(h,10)}if(E.length&&!1===g.default&&v){const r=E.find(Boolean),n=E.length>1,l=[{label:`View ${n?"latest":"it"}`,value:"view"}];E.some(e=>(0,d.isBuildCancellable)(e))&&(l.push({label:`Cancel ${n?"latest":"it"} and start a new build`,value:"cancel"}),l.push({label:"Start a concurrent build",value:"concurrent"})),l.push({label:"Exit",value:"exit"});const o=e=>O(t=>({...t,itemChosen:e}));return i.default.createElement(i.Fragment,null,i.default.createElement(e.Box,{marginBottom:1},i.default.createElement(e.Text,{bold:!0},n?"There are ongoing builds ":"There is an ongoing build "),i.default.createElement(e.Text,null,"(",r.appName,r.appVersion?` v${r.appVersion}`:"",")")),i.default.createElement(t.default,{indicatorComponent:u.default,itemComponent:a.default,items:l,onSelect:o}))}return i.default.createElement(i.Fragment,null,r)};h.propTypes={commandUsed:r.default.string.isRequired,children:r.default.oneOfType([r.default.array,r.default.object])};var q=h;exports.default=q;
105
105
  },{"./CancelBuild":"J4or","./CustomSelectInputIndicator":"OMIR","./CustomSelectInputItem":"oPeF","./ErrorDisplay":"f0Jz","./ViewBuild":"PlpY","../utilities/buildStatus":"in6t","../utilities/firestore":"gzUX","../utilities/projectConfig/getProjectConfig":"Sx1d","../utilities/logger":"XvyO","../utilities/useInput":"CLRu","../utilities/useExit":"QLfx"}],"AYMC":[function(require,module,exports) {
106
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=i(require("chalk")),t=i(require("is-installed-globally")),o=i(require("latest-version")),r=i(require("pkg-up")),s=i(require("semver"));function i(e){return e&&e.__esModule?e:{default:e}}var u=()=>{if(process.env.AVA_PATH)return;const i=require(r.default.sync({cwd:__dirname}));(0,o.default)(i.name).then(o=>{if(s.default.gt(o,i.version)){const r=e.default.greenBright(`npm install ${t.default?"-g":"--save-dev"} @todesktop/cli`);console.log(`Your version of @todesktop/cli is out of date.\nRun ${r} to update to v${o}.`),s.default.satisfies(o,`^${i.version}`)||(console.log("CLI is exiting because it is out out of date."),process.exit(1))}})};exports.default=u;
106
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=i(require("chalk")),t=i(require("is-installed-globally")),o=i(require("latest-version")),r=i(require("pkg-up")),s=i(require("semver"));function i(e){return e&&e.__esModule?e:{default:e}}var l=()=>{if(process.env.AVA_PATH)return;const i=require(r.default.sync({cwd:__dirname}));(0,o.default)(i.name).then(o=>{if(s.default.gt(o,i.version)){const r=e.default.greenBright(`npm install ${t.default?"--location=global":"--save-dev"} @todesktop/cli`);console.log(`Your version of @todesktop/cli is out of date.\nRun ${r} to update to v${o}.`),s.default.satisfies(o,`^${i.version}`)||(console.log("CLI is exiting because it is out out of date."),process.exit(1))}})};exports.default=l;
107
107
  },{}],"EHrm":[function(require,module,exports) {
108
- module.exports={private:!1,publishConfig:{access:"public"},name:"@todesktop/cli",version:"1.1.4",license:"MIT",author:"Dave Jeffery <dave@todesktop.com> (http://www.todesktop.com/)",homepage:"https://todesktop.com/cli",bugs:{email:"dave@todesktop.com"},bin:{todesktop:"./build/cli.js"},engines:{node:">=12"},scripts:{dev:"cp-cli dev.env .env && pastel dev","dev:prod":"cp-cli prod.env .env && pastel dev",build:"cross-env NODE_ENV=production pastel build && cp-cli prod.env .env && cp node_modules/pastel/boot.js build/boot.js && sed -i'.bak' 's@pastel\\/boot@.\\/boot@g' build/cli.js",lint:"eslint .","lint--fix":"eslint . --fix",release:"npm run build && npx np --tag=latest","release-beta":"npm run build && npx np --any-branch --no-tests --tag=beta",test:"npm run build && ava","test--watch":"npm test -- --watch"},files:["build","docs",".env","LICENSE","README.md"],dependencies:{"@babel/runtime":"^7.18.9","@sentry/node":"^5.27.2",ajv:"^6.12.6","analytics-node":"^4.0.1",archiver:"^5.2.0",axios:"^0.21.1","better-ajv-errors":"^1.2.0",blacklist:"^1.1.4",bunyan:"^1.8.14","camelcase-keys":"^5.2.0",chalk:"^4.1.0",conf:"^7.1.2","date-fns":"^2.28.0",decamelize:"^1.2.0",del:"^6.0.0",dotenv:"^8.2.0",du:"^1.0.0","email-regex":"^4.0.0","fast-glob":"^3.2.4","final-form":"^4.20.1","find-up":"^5.0.0",firebase:"^7.24.0","git-rev-sync":"^3.0.2",ink:"^3.2.0","ink-gradient":"^2.0.0","ink-link":"^2.0.0","ink-select-input":"^4.2.1","ink-text-input":"^4.0.1","is-ci":"^3.0.1","is-installed-globally":"^0.3.2","latest-version":"^5.1.0","lodash.throttle":"^4.1.1","parse-author":"^2.0.0","pkg-up":"^3.1.0","pretty-bytes":"^5.4.1","prop-types":"^15.7.2",react:"^17.0.2","react-final-form":"^6.5.1",semver:"^7.3.2","stream-to-array":"^2.3.0",superagent:"^7.1.3",uuid:"^8.3.1","xdg-basedir":"^4.0.0",yargs:"^15.4.1"},devDependencies:{"@ava/babel":"^1.0.1","@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.11.5","@babel/register":"^7.12.1","@types/bunyan":"^1.8.6",ava:"^4.3.1","babel-preset-es2015":"^6.24.1","cp-cli":"^2.0.0","cross-env":"^7.0.2",eslint:"^7.6.0","eslint-config-prettier":"^6.11.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-promise":"^4.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-react-hooks":"^4.2.0","eslint-plugin-standard":"^4.0.1",execa:"^4.0.3","extract-zip":"^2.0.1","fs-extra":"^9.0.1",husky:"^4.3.0","lint-staged":"^10.2.11",pastel:"^1.1.1",prettier:"^2.1.2",proxyquire:"^2.1.3",sinon:"^9.0.3"},ava:{files:["test/**/*.js","!test/fixtures/**/*","!test/utilities/**/*"],require:["@babel/register"],timeout:"10m"},"lint-staged":{"**/*.js":["eslint . --fix","git add"]},husky:{hooks:{"pre-commit":"lint-staged"}},overrides:{pastel:{"parcel-bundler":{deasync:"0.1.27"}}},resolutions:{"pastel/parcel-bundler/deasync":"0.1.24",ink:"3.2.0",react:"17.0.2"},packageExtensions:{"ink-progress-bar@*":{dependencies:{react:"*",ink:"*"}}}};
108
+ module.exports={private:!1,publishConfig:{access:"public"},name:"@todesktop/cli",version:"1.2.1",license:"MIT",author:"Dave Jeffery <dave@todesktop.com> (http://www.todesktop.com/)",homepage:"https://todesktop.com/cli",bugs:{email:"dave@todesktop.com"},bin:{todesktop:"./build/cli.js"},engines:{node:">=12"},scripts:{prepublishOnly:"npx force-resolutions",dev:"cp-cli dev.env .env && pastel dev","dev:prod":"cp-cli prod.env .env && pastel dev",build:"cross-env NODE_ENV=production pastel build && cp-cli prod.env .env && cp node_modules/pastel/boot.js build/boot.js && sed -i'.bak' 's@pastel\\/boot@.\\/boot@g' build/cli.js",lint:"eslint .","lint--fix":"eslint . --fix",release:"npm run build && npx np --tag=latest","release-beta":"npm run build && npx np --any-branch --no-tests --tag=beta",test:"npm run build && ava","test--watch":"npm test -- --watch"},files:["build","docs",".env","LICENSE","README.md"],dependencies:{"@babel/runtime":"^7.18.9","@sentry/node":"^5.27.2",ajv:"^6.12.6","analytics-node":"^4.0.1",archiver:"^5.2.0",axios:"^0.21.1","better-ajv-errors":"^1.2.0",blacklist:"^1.1.4",bunyan:"^1.8.14","camelcase-keys":"^5.2.0",chalk:"^4.1.0",conf:"^7.1.2","date-fns":"^2.28.0",decamelize:"^1.2.0",del:"^6.0.0",dotenv:"^8.2.0",du:"^1.0.0","email-regex":"^4.0.0","fast-glob":"^3.2.4","final-form":"^4.20.1","find-up":"^5.0.0",firebase:"^7.24.0","git-rev-sync":"^3.0.2",ink:"^3.2.0","ink-gradient":"^2.0.0","ink-link":"^2.0.0","ink-select-input":"^4.2.1","ink-text-input":"^4.0.1","is-ci":"^3.0.1","is-installed-globally":"^0.3.2","latest-version":"^5.1.0","lodash.throttle":"^4.1.1","parse-author":"^2.0.0","pkg-up":"^3.1.0","pretty-bytes":"^5.4.1","prop-types":"^15.7.2",react:"^17.0.2","react-final-form":"^6.5.1",semver:"^7.3.2","stream-to-array":"^2.3.0",superagent:"^7.1.3",uuid:"^8.3.1","xdg-basedir":"^4.0.0",yargs:"^15.4.1"},devDependencies:{"@ava/babel":"^1.0.1","@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.12.1","@babel/preset-env":"^7.11.5","@babel/register":"^7.12.1","@types/bunyan":"^1.8.6",ava:"^4.3.1","babel-preset-es2015":"^6.24.1","cp-cli":"^2.0.0","cross-env":"^7.0.2",eslint:"^7.6.0","eslint-config-prettier":"^6.11.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.1","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.1.4","eslint-plugin-promise":"^4.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-react-hooks":"^4.2.0","eslint-plugin-standard":"^4.0.1",execa:"^4.0.3","extract-zip":"^2.0.1","fs-extra":"^9.0.1",husky:"^4.3.0","lint-staged":"^10.2.11",pastel:"^1.1.1",prettier:"^2.1.2",proxyquire:"^2.1.3",sinon:"^9.0.3"},ava:{files:["test/**/*.js","!test/fixtures/**/*","!test/utilities/**/*"],require:["@babel/register"],timeout:"10m"},"lint-staged":{"**/*.js":["eslint . --fix","git add"]},husky:{hooks:{"pre-commit":"lint-staged"}},overrides:{pastel:{"parcel-bundler":{deasync:"0.1.27"}}},resolutions:{"pastel/parcel-bundler/deasync":"0.1.24",ink:"3.2.0",react:"17.0.2"},packageExtensions:{"ink-progress-bar@*":{dependencies:{react:"*",ink:"*"}}}};
109
109
  },{}],"SYaU":[function(require,module,exports) {
110
110
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=c(require("@sentry/node")),t=u(require("os")),r=u(require("../../package.json")),n=require("../utilities/configStore"),o=u(require("../utilities/projectConfig/getProjectConfig")),a=u(require("path")),i=u(require("./getEnvironmentVariables"));function u(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}function c(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}var f=()=>{const{TODESKTOP_CLI_SENTRY_DSN:a}=(0,i.default)();a&&(e.init({dsn:a}),e.configureScope(e=>{try{e.setUser({email:(0,n.getAuthConfig)().email})}catch(a){}try{e.setContext("os",{name:t.default.platform(),version:t.default.release()})}catch(a){}try{e.setContext("runtime",{name:"Node.js",version:process.version})}catch(a){}try{e.setContext("app",{app_name:r.default.name,app_version:r.default.version})}catch(a){}try{const t=(0,o.default)();e.setExtra("config",t)}catch(a){}}))};exports.default=f;
111
111
  },{"../../package.json":"EHrm","../utilities/configStore":"ffKF","../utilities/projectConfig/getProjectConfig":"Sx1d","./getEnvironmentVariables":"gwcX"}],"rPNZ":[function(require,module,exports) {