UNPKG

227 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "additionalProperties": false,
4 "definitions": {
5 "AppImageOptions": {
6 "additionalProperties": false,
7 "properties": {
8 "artifactName": {
9 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
10 "type": [
11 "null",
12 "string"
13 ]
14 },
15 "category": {
16 "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
17 "type": [
18 "null",
19 "string"
20 ]
21 },
22 "description": {
23 "description": "As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.",
24 "type": [
25 "null",
26 "string"
27 ]
28 },
29 "desktop": {
30 "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
31 },
32 "license": {
33 "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.",
34 "type": [
35 "null",
36 "string"
37 ]
38 },
39 "mimeTypes": {
40 "anyOf": [
41 {
42 "items": {
43 "type": "string"
44 },
45 "type": "array"
46 },
47 {
48 "type": "null"
49 }
50 ],
51 "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
52 },
53 "publish": {
54 "anyOf": [
55 {
56 "$ref": "#/definitions/GithubOptions"
57 },
58 {
59 "$ref": "#/definitions/S3Options"
60 },
61 {
62 "$ref": "#/definitions/SpacesOptions"
63 },
64 {
65 "$ref": "#/definitions/GenericServerOptions"
66 },
67 {
68 "$ref": "#/definitions/BintrayOptions"
69 },
70 {
71 "items": {
72 "anyOf": [
73 {
74 "$ref": "#/definitions/GithubOptions"
75 },
76 {
77 "$ref": "#/definitions/S3Options"
78 },
79 {
80 "$ref": "#/definitions/SpacesOptions"
81 },
82 {
83 "$ref": "#/definitions/GenericServerOptions"
84 },
85 {
86 "$ref": "#/definitions/BintrayOptions"
87 },
88 {
89 "type": "string"
90 }
91 ]
92 },
93 "type": "array"
94 },
95 {
96 "type": [
97 "null",
98 "string"
99 ]
100 }
101 ]
102 },
103 "synopsis": {
104 "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
105 "type": [
106 "null",
107 "string"
108 ]
109 },
110 "systemIntegration": {
111 "default": "ask",
112 "description": "The system integration installation.",
113 "enum": [
114 "ask",
115 "doNotAsk"
116 ],
117 "type": "string"
118 }
119 },
120 "title": "AppImageOptions",
121 "type": "object"
122 },
123 "AppXOptions": {
124 "additionalProperties": false,
125 "properties": {
126 "addAutoLaunchExtension": {
127 "description": "Whether to add auto launch extension. Defaults to `true` if [electron-winstore-auto-launch](https://github.com/felixrieseberg/electron-winstore-auto-launch) in the dependencies.",
128 "type": "boolean"
129 },
130 "applicationId": {
131 "description": "The application id. Defaults to `identityName`. Can’t start with numbers.",
132 "type": "string"
133 },
134 "artifactName": {
135 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
136 "type": [
137 "null",
138 "string"
139 ]
140 },
141 "backgroundColor": {
142 "default": "#464646",
143 "description": "The background color of the app tile. See [Visual Elements](https://msdn.microsoft.com/en-us/library/windows/apps/br211471.aspx).",
144 "type": [
145 "null",
146 "string"
147 ]
148 },
149 "displayName": {
150 "description": "A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\nDefaults to the application product name.",
151 "type": [
152 "null",
153 "string"
154 ]
155 },
156 "electronUpdaterAware": {
157 "default": false,
158 "type": "boolean"
159 },
160 "identityName": {
161 "description": "The name. Corresponds to [Identity.Name](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx). Defaults to the [application name](/configuration/configuration#Metadata-name).",
162 "type": [
163 "null",
164 "string"
165 ]
166 },
167 "languages": {
168 "anyOf": [
169 {
170 "items": {
171 "type": "string"
172 },
173 "type": "array"
174 },
175 {
176 "type": [
177 "null",
178 "string"
179 ]
180 }
181 ],
182 "description": "The list of [supported languages](https://docs.microsoft.com/en-us/windows/uwp/globalizing/manage-language-and-region#specify-the-supported-languages-in-the-apps-manifest) that will be listed in the Windows Store.\nThe first entry (index 0) will be the default language.\nDefaults to en-US if omitted."
183 },
184 "makeappxArgs": {
185 "anyOf": [
186 {
187 "items": {
188 "type": "string"
189 },
190 "type": "array"
191 },
192 {
193 "type": "null"
194 }
195 ]
196 },
197 "publish": {
198 "anyOf": [
199 {
200 "$ref": "#/definitions/GithubOptions"
201 },
202 {
203 "$ref": "#/definitions/S3Options"
204 },
205 {
206 "$ref": "#/definitions/SpacesOptions"
207 },
208 {
209 "$ref": "#/definitions/GenericServerOptions"
210 },
211 {
212 "$ref": "#/definitions/BintrayOptions"
213 },
214 {
215 "items": {
216 "anyOf": [
217 {
218 "$ref": "#/definitions/GithubOptions"
219 },
220 {
221 "$ref": "#/definitions/S3Options"
222 },
223 {
224 "$ref": "#/definitions/SpacesOptions"
225 },
226 {
227 "$ref": "#/definitions/GenericServerOptions"
228 },
229 {
230 "$ref": "#/definitions/BintrayOptions"
231 },
232 {
233 "type": "string"
234 }
235 ]
236 },
237 "type": "array"
238 },
239 {
240 "type": [
241 "null",
242 "string"
243 ]
244 }
245 ]
246 },
247 "publisher": {
248 "description": "The Windows Store publisher. Not used if AppX is build for testing. See [AppX Package Code Signing](#appx-package-code-signing) below.",
249 "type": [
250 "null",
251 "string"
252 ]
253 },
254 "publisherDisplayName": {
255 "description": "A friendly name for the publisher that can be displayed to users. Corresponds to [Properties.PublisherDisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211460.aspx).\nDefaults to company name from the application metadata.",
256 "type": [
257 "null",
258 "string"
259 ]
260 }
261 },
262 "title": "AppXOptions",
263 "type": "object"
264 },
265 "AsarOptions": {
266 "additionalProperties": false,
267 "properties": {
268 "externalAllowed": {
269 "default": false,
270 "description": "Allows external asar files.",
271 "type": "boolean"
272 },
273 "ordering": {
274 "type": [
275 "null",
276 "string"
277 ]
278 },
279 "smartUnpack": {
280 "default": true,
281 "description": "Whether to automatically unpack executables files.",
282 "type": "boolean"
283 }
284 },
285 "title": "AsarOptions",
286 "type": "object"
287 },
288 "BintrayOptions": {
289 "additionalProperties": false,
290 "description": "[Bintray](https://bintray.com/) options. Requires an API key. An API key can be obtained from the user [profile](https://bintray.com/profile/edit) page (\"Edit Your Profile\" -> API Key).\nDefine `BT_TOKEN` environment variable.",
291 "properties": {
292 "component": {
293 "description": "The Bintray component (Debian only).",
294 "type": [
295 "null",
296 "string"
297 ]
298 },
299 "distribution": {
300 "default": "stable",
301 "description": "The Bintray distribution (Debian only).",
302 "type": [
303 "null",
304 "string"
305 ]
306 },
307 "owner": {
308 "description": "The owner.",
309 "type": [
310 "null",
311 "string"
312 ]
313 },
314 "package": {
315 "description": "The Bintray package name.",
316 "type": [
317 "null",
318 "string"
319 ]
320 },
321 "provider": {
322 "description": "The provider. Must be `bintray`.",
323 "enum": [
324 "bintray"
325 ],
326 "type": "string"
327 },
328 "publishAutoUpdate": {
329 "default": true,
330 "description": "Whether to publish auto update info files.\n\nAuto update relies only on the first provider in the list (you can specify several publishers).\nThus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.",
331 "type": "boolean"
332 },
333 "publisherName": {
334 "anyOf": [
335 {
336 "items": {
337 "type": "string"
338 },
339 "type": "array"
340 },
341 {
342 "type": "null"
343 }
344 ]
345 },
346 "repo": {
347 "default": "generic",
348 "description": "The Bintray repository name.",
349 "type": [
350 "null",
351 "string"
352 ]
353 },
354 "token": {
355 "type": [
356 "null",
357 "string"
358 ]
359 },
360 "user": {
361 "description": "The Bintray user account. Used in cases where the owner is an organization.",
362 "type": [
363 "null",
364 "string"
365 ]
366 }
367 },
368 "required": [
369 "provider"
370 ],
371 "title": "BintrayOptions",
372 "type": "object"
373 },
374 "DebOptions": {
375 "additionalProperties": false,
376 "properties": {
377 "afterInstall": {
378 "type": [
379 "null",
380 "string"
381 ]
382 },
383 "afterRemove": {
384 "type": [
385 "null",
386 "string"
387 ]
388 },
389 "artifactName": {
390 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
391 "type": [
392 "null",
393 "string"
394 ]
395 },
396 "category": {
397 "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
398 "type": [
399 "null",
400 "string"
401 ]
402 },
403 "compression": {
404 "anyOf": [
405 {
406 "enum": [
407 "bzip2",
408 "gz",
409 "xz"
410 ],
411 "type": "string"
412 },
413 {
414 "type": "null"
415 }
416 ],
417 "default": "xz",
418 "description": "The compression type."
419 },
420 "depends": {
421 "anyOf": [
422 {
423 "items": {
424 "type": "string"
425 },
426 "type": "array"
427 },
428 {
429 "type": "null"
430 }
431 ],
432 "description": "Package dependencies. Defaults to `[\"gconf2\", \"gconf-service\", \"libnotify4\", \"libappindicator1\", \"libxtst6\", \"libnss3\"]`."
433 },
434 "description": {
435 "description": "As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.",
436 "type": [
437 "null",
438 "string"
439 ]
440 },
441 "desktop": {
442 "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
443 },
444 "fpm": {
445 "anyOf": [
446 {
447 "items": {
448 "type": "string"
449 },
450 "type": "array"
451 },
452 {
453 "type": "null"
454 }
455 ],
456 "description": "*Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.\n\nExample: `[\"--before-install=build/deb-preinstall.sh\", \"--after-upgrade=build/deb-postinstall.sh\"]`"
457 },
458 "icon": {
459 "type": "string"
460 },
461 "maintainer": {
462 "type": [
463 "null",
464 "string"
465 ]
466 },
467 "mimeTypes": {
468 "anyOf": [
469 {
470 "items": {
471 "type": "string"
472 },
473 "type": "array"
474 },
475 {
476 "type": "null"
477 }
478 ],
479 "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
480 },
481 "packageCategory": {
482 "description": "The [package category](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Section).",
483 "type": [
484 "null",
485 "string"
486 ]
487 },
488 "priority": {
489 "description": "The [Priority](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Priority) attribute.",
490 "type": [
491 "null",
492 "string"
493 ]
494 },
495 "publish": {
496 "anyOf": [
497 {
498 "$ref": "#/definitions/GithubOptions"
499 },
500 {
501 "$ref": "#/definitions/S3Options"
502 },
503 {
504 "$ref": "#/definitions/SpacesOptions"
505 },
506 {
507 "$ref": "#/definitions/GenericServerOptions"
508 },
509 {
510 "$ref": "#/definitions/BintrayOptions"
511 },
512 {
513 "items": {
514 "anyOf": [
515 {
516 "$ref": "#/definitions/GithubOptions"
517 },
518 {
519 "$ref": "#/definitions/S3Options"
520 },
521 {
522 "$ref": "#/definitions/SpacesOptions"
523 },
524 {
525 "$ref": "#/definitions/GenericServerOptions"
526 },
527 {
528 "$ref": "#/definitions/BintrayOptions"
529 },
530 {
531 "type": "string"
532 }
533 ]
534 },
535 "type": "array"
536 },
537 {
538 "type": [
539 "null",
540 "string"
541 ]
542 }
543 ]
544 },
545 "synopsis": {
546 "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
547 "type": [
548 "null",
549 "string"
550 ]
551 },
552 "vendor": {
553 "type": [
554 "null",
555 "string"
556 ]
557 }
558 },
559 "title": "DebOptions",
560 "type": "object"
561 },
562 "DmgContent": {
563 "additionalProperties": false,
564 "properties": {
565 "name": {
566 "description": "The name of the file within the DMG. Defaults to basename of `path`.",
567 "type": "string"
568 },
569 "path": {
570 "description": "The path of the file within the DMG.",
571 "type": "string"
572 },
573 "type": {
574 "enum": [
575 "dir",
576 "file",
577 "link"
578 ],
579 "type": "string"
580 },
581 "x": {
582 "type": "number"
583 },
584 "y": {
585 "type": "number"
586 }
587 },
588 "required": [
589 "x",
590 "y"
591 ],
592 "title": "DmgContent",
593 "type": "object"
594 },
595 "DmgOptions": {
596 "additionalProperties": false,
597 "properties": {
598 "artifactName": {
599 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
600 "type": [
601 "null",
602 "string"
603 ]
604 },
605 "background": {
606 "description": "The path to background image (default: `build/background.tiff` or `build/background.png` if exists). The resolution of this file determines the resolution of the installer window.\nIf background is not specified, use `window.size`. Default locations expected background size to be 540x380.",
607 "type": [
608 "null",
609 "string"
610 ]
611 },
612 "backgroundColor": {
613 "description": "The background color (accepts css colors). Defaults to `#ffffff` (white) if no background image.",
614 "type": [
615 "null",
616 "string"
617 ]
618 },
619 "contents": {
620 "description": "The content — to customize icon locations.",
621 "items": {
622 "$ref": "#/definitions/DmgContent"
623 },
624 "type": "array"
625 },
626 "format": {
627 "default": "UDZO",
628 "description": "The disk image format. `ULFO` (lzfse-compressed image (OS X 10.11+ only)).",
629 "enum": [
630 "UDBZ",
631 "UDCO",
632 "UDRO",
633 "UDRW",
634 "UDZO",
635 "ULFO"
636 ],
637 "type": "string"
638 },
639 "icon": {
640 "description": "The path to DMG icon (volume icon), which will be shown when mounted, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to the application icon (`build/icon.icns`).",
641 "type": [
642 "null",
643 "string"
644 ]
645 },
646 "iconSize": {
647 "default": 80,
648 "description": "The size of all the icons inside the DMG.",
649 "type": [
650 "null",
651 "number"
652 ]
653 },
654 "iconTextSize": {
655 "default": 12,
656 "description": "The size of all the icon texts inside the DMG.",
657 "type": [
658 "null",
659 "number"
660 ]
661 },
662 "internetEnabled": {
663 "default": false,
664 "description": "Whether to create internet-enabled disk image (when it is downloaded using a browser it will automatically decompress the image, put the application on the desktop, unmount and remove the disk image file).",
665 "type": "boolean"
666 },
667 "publish": {
668 "anyOf": [
669 {
670 "$ref": "#/definitions/GithubOptions"
671 },
672 {
673 "$ref": "#/definitions/S3Options"
674 },
675 {
676 "$ref": "#/definitions/SpacesOptions"
677 },
678 {
679 "$ref": "#/definitions/GenericServerOptions"
680 },
681 {
682 "$ref": "#/definitions/BintrayOptions"
683 },
684 {
685 "items": {
686 "anyOf": [
687 {
688 "$ref": "#/definitions/GithubOptions"
689 },
690 {
691 "$ref": "#/definitions/S3Options"
692 },
693 {
694 "$ref": "#/definitions/SpacesOptions"
695 },
696 {
697 "$ref": "#/definitions/GenericServerOptions"
698 },
699 {
700 "$ref": "#/definitions/BintrayOptions"
701 },
702 {
703 "type": "string"
704 }
705 ]
706 },
707 "type": "array"
708 },
709 {
710 "type": [
711 "null",
712 "string"
713 ]
714 }
715 ]
716 },
717 "title": {
718 "default": "${productName} ${version}",
719 "description": "The title of the produced DMG, which will be shown when mounted (volume name).\n\nMacro `${productName}`, `${version}` and `${name}` are supported.",
720 "type": [
721 "null",
722 "string"
723 ]
724 },
725 "window": {
726 "$ref": "#/definitions/DmgWindow",
727 "description": "The DMG windows position and size."
728 }
729 },
730 "title": "DmgOptions",
731 "type": "object"
732 },
733 "DmgWindow": {
734 "additionalProperties": false,
735 "properties": {
736 "height": {
737 "description": "The height. Defaults to background image height or 380.",
738 "type": "number"
739 },
740 "width": {
741 "description": "The width. Defaults to background image width or 540.",
742 "type": "number"
743 },
744 "x": {
745 "default": 400,
746 "description": "The X position relative to left of the screen.",
747 "type": "number"
748 },
749 "y": {
750 "default": 100,
751 "description": "The Y position relative to top of the screen.",
752 "type": "number"
753 }
754 },
755 "title": "DmgWindow",
756 "type": "object"
757 },
758 "ElectronDownloadOptions": {
759 "additionalProperties": false,
760 "properties": {
761 "arch": {
762 "type": "string"
763 },
764 "cache": {
765 "description": "The [cache location](https://github.com/electron-userland/electron-download#cache-location).",
766 "type": [
767 "null",
768 "string"
769 ]
770 },
771 "customDir": {
772 "type": [
773 "null",
774 "string"
775 ]
776 },
777 "customFilename": {
778 "type": [
779 "null",
780 "string"
781 ]
782 },
783 "force": {
784 "type": "boolean"
785 },
786 "isVerifyChecksum": {
787 "type": "boolean"
788 },
789 "mirror": {
790 "description": "The mirror.",
791 "type": [
792 "null",
793 "string"
794 ]
795 },
796 "platform": {
797 "enum": [
798 "darwin",
799 "linux",
800 "mas",
801 "win32"
802 ],
803 "type": "string"
804 },
805 "quiet": {
806 "type": "boolean"
807 },
808 "strictSSL": {
809 "type": "boolean"
810 },
811 "version": {
812 "type": "string"
813 }
814 },
815 "title": "ElectronDownloadOptions",
816 "type": "object"
817 },
818 "FileAssociation": {
819 "additionalProperties": false,
820 "description": "File associations.\n\nmacOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)) and NSIS only.\n\nOn Windows works only if [nsis.perMachine](https://electron.build/configuration/configuration#NsisOptions-perMachine) is set to `true`.",
821 "properties": {
822 "description": {
823 "description": "*windows-only.* The description.",
824 "type": [
825 "null",
826 "string"
827 ]
828 },
829 "ext": {
830 "anyOf": [
831 {
832 "items": {
833 "type": "string"
834 },
835 "type": "array"
836 },
837 {
838 "type": "string"
839 }
840 ],
841 "description": "The extension (minus the leading period). e.g. `png`."
842 },
843 "icon": {
844 "description": "The path to icon (`.icns` for MacOS and `.ico` for Windows), relative to `build` (build resources directory). Defaults to `${firstExt}.icns`/`${firstExt}.ico` (if several extensions specified, first is used) or to application icon.\n\nNot supported on Linux, file issue if need (default icon will be `x-office-document`).",
845 "type": [
846 "null",
847 "string"
848 ]
849 },
850 "isPackage": {
851 "description": "*macOS-only* Whether the document is distributed as a bundle. If set to true, the bundle directory is treated as a file. Corresponds to `LSTypeIsPackage`.",
852 "type": "boolean"
853 },
854 "mimeType": {
855 "description": "*linux-only.* The mime-type.",
856 "type": [
857 "null",
858 "string"
859 ]
860 },
861 "name": {
862 "description": "The name. e.g. `PNG`. Defaults to `ext`.",
863 "type": [
864 "null",
865 "string"
866 ]
867 },
868 "role": {
869 "default": "Editor",
870 "description": "*macOS-only* The app’s role with respect to the type. The value can be `Editor`, `Viewer`, `Shell`, or `None`. Corresponds to `CFBundleTypeRole`.",
871 "type": "string"
872 }
873 },
874 "required": [
875 "ext"
876 ],
877 "title": "FileAssociation",
878 "type": "object"
879 },
880 "FileSet": {
881 "additionalProperties": false,
882 "properties": {
883 "filter": {
884 "anyOf": [
885 {
886 "items": {
887 "type": "string"
888 },
889 "type": "array"
890 },
891 {
892 "type": "string"
893 }
894 ],
895 "description": "The [glob patterns](/file-patterns.md)."
896 },
897 "from": {
898 "description": "The source path relative to the project directory.",
899 "type": "string"
900 },
901 "to": {
902 "description": "The destination path relative to the app's content directory for `extraFiles` and the app's resource directory for `extraResources`.",
903 "type": "string"
904 }
905 },
906 "title": "FileSet",
907 "type": "object"
908 },
909 "GenericServerOptions": {
910 "additionalProperties": false,
911 "description": "Generic (any HTTP(S) server) options.\nIn all publish options [File Macros](/file-patterns.md#file-macros) are supported.",
912 "properties": {
913 "channel": {
914 "default": "latest",
915 "description": "The channel.",
916 "type": [
917 "null",
918 "string"
919 ]
920 },
921 "provider": {
922 "description": "The provider. Must be `generic`.",
923 "enum": [
924 "generic"
925 ],
926 "type": "string"
927 },
928 "publishAutoUpdate": {
929 "default": true,
930 "description": "Whether to publish auto update info files.\n\nAuto update relies only on the first provider in the list (you can specify several publishers).\nThus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.",
931 "type": "boolean"
932 },
933 "publisherName": {
934 "anyOf": [
935 {
936 "items": {
937 "type": "string"
938 },
939 "type": "array"
940 },
941 {
942 "type": "null"
943 }
944 ]
945 },
946 "url": {
947 "description": "The base url. e.g. `https://bucket_name.s3.amazonaws.com`.",
948 "type": "string"
949 },
950 "useMultipleRangeRequest": {
951 "description": "Whether to use multiple range requests for differential update. Defaults to `true` if `url` doesn't contain `s3.amazonaws.com`.",
952 "type": "boolean"
953 }
954 },
955 "required": [
956 "provider",
957 "url"
958 ],
959 "title": "GenericServerOptions",
960 "type": "object"
961 },
962 "GithubOptions": {
963 "additionalProperties": false,
964 "description": "[GitHub](https://help.github.com/articles/about-releases/) options.\n\nGitHub [personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) is required. You can generate by going to [https://github.com/settings/tokens/new](https://github.com/settings/tokens/new). The access token should have the repo scope/permission.\nDefine `GH_TOKEN` environment variable.",
965 "properties": {
966 "host": {
967 "default": "github.com",
968 "description": "The host (including the port if need).",
969 "type": [
970 "null",
971 "string"
972 ]
973 },
974 "owner": {
975 "description": "The owner.",
976 "type": [
977 "null",
978 "string"
979 ]
980 },
981 "private": {
982 "description": "Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](/auto-update.md#private-github-update-repo).",
983 "type": [
984 "null",
985 "boolean"
986 ]
987 },
988 "protocol": {
989 "anyOf": [
990 {
991 "enum": [
992 "http",
993 "https"
994 ],
995 "type": "string"
996 },
997 {
998 "type": "null"
999 }
1000 ],
1001 "default": "https",
1002 "description": "The protocol. GitHub Publisher supports only `https`."
1003 },
1004 "provider": {
1005 "description": "The provider. Must be `github`.",
1006 "enum": [
1007 "github"
1008 ],
1009 "type": "string"
1010 },
1011 "publishAutoUpdate": {
1012 "default": true,
1013 "description": "Whether to publish auto update info files.\n\nAuto update relies only on the first provider in the list (you can specify several publishers).\nThus, probably, there`s no need to upload the metadata files for the other configured providers. But by default will be uploaded.",
1014 "type": "boolean"
1015 },
1016 "publisherName": {
1017 "anyOf": [
1018 {
1019 "items": {
1020 "type": "string"
1021 },
1022 "type": "array"
1023 },
1024 {
1025 "type": "null"
1026 }
1027 ]
1028 },
1029 "releaseType": {
1030 "anyOf": [
1031 {
1032 "enum": [
1033 "draft",
1034 "prerelease",
1035 "release"
1036 ],
1037 "type": "string"
1038 },
1039 {
1040 "type": "null"
1041 }
1042 ],
1043 "default": "draft",
1044 "description": "The type of release. By default `draft` release will be created.\n\nAlso you can set release type using environment variable. If `EP_DRAFT`is set to `true` — `draft`, if `EP_PRE_RELEASE`is set to `true` — `prerelease`."
1045 },
1046 "repo": {
1047 "description": "The repository name. [Detected automatically](#github-repository-and-bintray-package).",
1048 "type": [
1049 "null",
1050 "string"
1051 ]
1052 },
1053 "token": {
1054 "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](/auto-update.md#appupdatersetfeedurloptions).",
1055 "type": [
1056 "null",
1057 "string"
1058 ]
1059 },
1060 "vPrefixedTagName": {
1061 "default": true,
1062 "description": "Whether to use `v`-prefixed tag name.",
1063 "type": "boolean"
1064 }
1065 },
1066 "required": [
1067 "provider"
1068 ],
1069 "title": "GithubOptions",
1070 "type": "object"
1071 },
1072 "LinuxConfiguration": {
1073 "additionalProperties": false,
1074 "properties": {
1075 "artifactName": {
1076 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
1077 "type": [
1078 "null",
1079 "string"
1080 ]
1081 },
1082 "asar": {
1083 "anyOf": [
1084 {
1085 "$ref": "#/definitions/AsarOptions"
1086 },
1087 {
1088 "type": [
1089 "null",
1090 "boolean"
1091 ]
1092 }
1093 ],
1094 "default": true,
1095 "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#configuration-asarUnpack) - please file an issue if this doesn't work."
1096 },
1097 "asarUnpack": {
1098 "anyOf": [
1099 {
1100 "items": {
1101 "type": "string"
1102 },
1103 "type": "array"
1104 },
1105 {
1106 "type": [
1107 "null",
1108 "string"
1109 ]
1110 }
1111 ],
1112 "description": "A [glob patterns](/file-patterns.md) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
1113 },
1114 "category": {
1115 "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
1116 "type": [
1117 "null",
1118 "string"
1119 ]
1120 },
1121 "compression": {
1122 "anyOf": [
1123 {
1124 "enum": [
1125 "maximum",
1126 "normal",
1127 "store"
1128 ],
1129 "type": "string"
1130 },
1131 {
1132 "type": "null"
1133 }
1134 ],
1135 "default": "normal",
1136 "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time."
1137 },
1138 "cscKeyPassword": {
1139 "type": [
1140 "null",
1141 "string"
1142 ]
1143 },
1144 "cscLink": {
1145 "type": [
1146 "null",
1147 "string"
1148 ]
1149 },
1150 "depends": {
1151 "anyOf": [
1152 {
1153 "items": {
1154 "type": "string"
1155 },
1156 "type": "array"
1157 },
1158 {
1159 "type": "null"
1160 }
1161 ]
1162 },
1163 "description": {
1164 "description": "As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.",
1165 "type": [
1166 "null",
1167 "string"
1168 ]
1169 },
1170 "desktop": {
1171 "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
1172 },
1173 "detectUpdateChannel": {
1174 "default": true,
1175 "description": "Whether to infer update channel from application version pre-release components. e.g. if version `0.12.1-alpha.1`, channel will be set to `alpha`. Otherwise to `latest`.",
1176 "type": "boolean"
1177 },
1178 "executableName": {
1179 "description": "The executable name. Defaults to `productName`.\nCannot be specified per target, allowed only in the `linux`.",
1180 "type": [
1181 "null",
1182 "string"
1183 ]
1184 },
1185 "extraFiles": {
1186 "anyOf": [
1187 {
1188 "$ref": "#/definitions/FileSet"
1189 },
1190 {
1191 "items": {
1192 "anyOf": [
1193 {
1194 "$ref": "#/definitions/FileSet"
1195 },
1196 {
1197 "type": "string"
1198 }
1199 ]
1200 },
1201 "type": "array"
1202 },
1203 {
1204 "type": [
1205 "null",
1206 "string"
1207 ]
1208 }
1209 ]
1210 },
1211 "extraResources": {
1212 "anyOf": [
1213 {
1214 "$ref": "#/definitions/FileSet"
1215 },
1216 {
1217 "items": {
1218 "anyOf": [
1219 {
1220 "$ref": "#/definitions/FileSet"
1221 },
1222 {
1223 "type": "string"
1224 }
1225 ]
1226 },
1227 "type": "array"
1228 },
1229 {
1230 "type": [
1231 "null",
1232 "string"
1233 ]
1234 }
1235 ]
1236 },
1237 "fileAssociations": {
1238 "anyOf": [
1239 {
1240 "$ref": "#/definitions/FileAssociation"
1241 },
1242 {
1243 "items": {
1244 "$ref": "#/definitions/FileAssociation"
1245 },
1246 "type": "array"
1247 }
1248 ],
1249 "description": "The file associations."
1250 },
1251 "files": {
1252 "anyOf": [
1253 {
1254 "$ref": "#/definitions/FileSet"
1255 },
1256 {
1257 "items": {
1258 "anyOf": [
1259 {
1260 "$ref": "#/definitions/FileSet"
1261 },
1262 {
1263 "type": "string"
1264 }
1265 ]
1266 },
1267 "type": "array"
1268 },
1269 {
1270 "type": [
1271 "null",
1272 "string"
1273 ]
1274 }
1275 ]
1276 },
1277 "forceCodeSigning": {
1278 "type": "boolean"
1279 },
1280 "generateUpdatesFilesForAllChannels": {
1281 "default": false,
1282 "description": "Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).",
1283 "type": "boolean"
1284 },
1285 "icon": {
1286 "description": "The path to icon set directory or one png file, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon.\nBy default will be generated automatically based on the macOS icns file.",
1287 "type": "string"
1288 },
1289 "maintainer": {
1290 "description": "The maintainer. Defaults to [author](/configuration/configuration.md#Metadata-author).",
1291 "type": [
1292 "null",
1293 "string"
1294 ]
1295 },
1296 "mimeTypes": {
1297 "anyOf": [
1298 {
1299 "items": {
1300 "type": "string"
1301 },
1302 "type": "array"
1303 },
1304 {
1305 "type": "null"
1306 }
1307 ],
1308 "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
1309 },
1310 "packageCategory": {
1311 "description": "backward compatibility + to allow specify fpm-only category for all possible fpm targets in one place",
1312 "type": [
1313 "null",
1314 "string"
1315 ]
1316 },
1317 "protocols": {
1318 "anyOf": [
1319 {
1320 "$ref": "#/definitions/Protocol"
1321 },
1322 {
1323 "items": {
1324 "$ref": "#/definitions/Protocol"
1325 },
1326 "type": "array"
1327 }
1328 ],
1329 "description": "The URL protocol schemes."
1330 },
1331 "publish": {
1332 "anyOf": [
1333 {
1334 "$ref": "#/definitions/GithubOptions"
1335 },
1336 {
1337 "$ref": "#/definitions/S3Options"
1338 },
1339 {
1340 "$ref": "#/definitions/SpacesOptions"
1341 },
1342 {
1343 "$ref": "#/definitions/GenericServerOptions"
1344 },
1345 {
1346 "$ref": "#/definitions/BintrayOptions"
1347 },
1348 {
1349 "items": {
1350 "anyOf": [
1351 {
1352 "$ref": "#/definitions/GithubOptions"
1353 },
1354 {
1355 "$ref": "#/definitions/S3Options"
1356 },
1357 {
1358 "$ref": "#/definitions/SpacesOptions"
1359 },
1360 {
1361 "$ref": "#/definitions/GenericServerOptions"
1362 },
1363 {
1364 "$ref": "#/definitions/BintrayOptions"
1365 },
1366 {
1367 "type": "string"
1368 }
1369 ]
1370 },
1371 "type": "array"
1372 },
1373 {
1374 "type": [
1375 "null",
1376 "string"
1377 ]
1378 }
1379 ]
1380 },
1381 "releaseInfo": {
1382 "$ref": "#/definitions/ReleaseInfo",
1383 "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
1384 },
1385 "synopsis": {
1386 "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
1387 "type": [
1388 "null",
1389 "string"
1390 ]
1391 },
1392 "target": {
1393 "anyOf": [
1394 {
1395 "$ref": "#/definitions/TargetConfiguration"
1396 },
1397 {
1398 "items": {
1399 "anyOf": [
1400 {
1401 "$ref": "#/definitions/TargetConfiguration"
1402 },
1403 {
1404 "type": "string"
1405 }
1406 ]
1407 },
1408 "type": "array"
1409 },
1410 {
1411 "type": [
1412 "null",
1413 "string"
1414 ]
1415 }
1416 ],
1417 "default": "AppImage",
1418 "description": "Target package type: list of `AppImage`, `snap`, `deb`, `rpm`, `freebsd`, `pacman`, `p5p`, `apk`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`.\n\nelectron-builder [docker image](/multi-platform-build#docker) can be used to build Linux targets on any platform.\n\nPlease [do not put an AppImage into another archive](https://github.com/probonopd/AppImageKit/wiki/Creating-AppImages#common-mistake) like a .zip or .tar.gz."
1419 },
1420 "vendor": {
1421 "description": "The vendor. Defaults to [author](/configuration/configuration.md#Metadata-author).",
1422 "type": [
1423 "null",
1424 "string"
1425 ]
1426 }
1427 },
1428 "title": "LinuxConfiguration",
1429 "type": "object"
1430 },
1431 "LinuxTargetSpecificOptions": {
1432 "additionalProperties": false,
1433 "properties": {
1434 "afterInstall": {
1435 "type": [
1436 "null",
1437 "string"
1438 ]
1439 },
1440 "afterRemove": {
1441 "type": [
1442 "null",
1443 "string"
1444 ]
1445 },
1446 "artifactName": {
1447 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
1448 "type": [
1449 "null",
1450 "string"
1451 ]
1452 },
1453 "category": {
1454 "description": "The [application category](https://specifications.freedesktop.org/menu-spec/latest/apa.html#main-category-registry).",
1455 "type": [
1456 "null",
1457 "string"
1458 ]
1459 },
1460 "compression": {
1461 "anyOf": [
1462 {
1463 "enum": [
1464 "bzip2",
1465 "gz",
1466 "xz"
1467 ],
1468 "type": "string"
1469 },
1470 {
1471 "type": "null"
1472 }
1473 ],
1474 "default": "xz",
1475 "description": "The compression type."
1476 },
1477 "depends": {
1478 "anyOf": [
1479 {
1480 "items": {
1481 "type": "string"
1482 },
1483 "type": "array"
1484 },
1485 {
1486 "type": "null"
1487 }
1488 ],
1489 "description": "Package dependencies."
1490 },
1491 "description": {
1492 "description": "As [description](/configuration/configuration.md#Metadata-description) from application package.json, but allows you to specify different for Linux.",
1493 "type": [
1494 "null",
1495 "string"
1496 ]
1497 },
1498 "desktop": {
1499 "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
1500 },
1501 "fpm": {
1502 "anyOf": [
1503 {
1504 "items": {
1505 "type": "string"
1506 },
1507 "type": "array"
1508 },
1509 {
1510 "type": "null"
1511 }
1512 ],
1513 "description": "*Advanced only* The [fpm](https://github.com/jordansissel/fpm/wiki#usage) options.\n\nExample: `[\"--before-install=build/deb-preinstall.sh\", \"--after-upgrade=build/deb-postinstall.sh\"]`"
1514 },
1515 "icon": {
1516 "type": "string"
1517 },
1518 "maintainer": {
1519 "type": [
1520 "null",
1521 "string"
1522 ]
1523 },
1524 "mimeTypes": {
1525 "anyOf": [
1526 {
1527 "items": {
1528 "type": "string"
1529 },
1530 "type": "array"
1531 },
1532 {
1533 "type": "null"
1534 }
1535 ],
1536 "description": "The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing."
1537 },
1538 "packageCategory": {
1539 "description": "The package category.",
1540 "type": [
1541 "null",
1542 "string"
1543 ]
1544 },
1545 "publish": {
1546 "anyOf": [
1547 {
1548 "$ref": "#/definitions/GithubOptions"
1549 },
1550 {
1551 "$ref": "#/definitions/S3Options"
1552 },
1553 {
1554 "$ref": "#/definitions/SpacesOptions"
1555 },
1556 {
1557 "$ref": "#/definitions/GenericServerOptions"
1558 },
1559 {
1560 "$ref": "#/definitions/BintrayOptions"
1561 },
1562 {
1563 "items": {
1564 "anyOf": [
1565 {
1566 "$ref": "#/definitions/GithubOptions"
1567 },
1568 {
1569 "$ref": "#/definitions/S3Options"
1570 },
1571 {
1572 "$ref": "#/definitions/SpacesOptions"
1573 },
1574 {
1575 "$ref": "#/definitions/GenericServerOptions"
1576 },
1577 {
1578 "$ref": "#/definitions/BintrayOptions"
1579 },
1580 {
1581 "type": "string"
1582 }
1583 ]
1584 },
1585 "type": "array"
1586 },
1587 {
1588 "type": [
1589 "null",
1590 "string"
1591 ]
1592 }
1593 ]
1594 },
1595 "synopsis": {
1596 "description": "The [short description](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description).",
1597 "type": [
1598 "null",
1599 "string"
1600 ]
1601 },
1602 "vendor": {
1603 "type": [
1604 "null",
1605 "string"
1606 ]
1607 }
1608 },
1609 "title": "LinuxTargetSpecificOptions",
1610 "type": "object"
1611 },
1612 "MacConfiguration": {
1613 "additionalProperties": false,
1614 "properties": {
1615 "artifactName": {
1616 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
1617 "type": [
1618 "null",
1619 "string"
1620 ]
1621 },
1622 "asar": {
1623 "anyOf": [
1624 {
1625 "$ref": "#/definitions/AsarOptions"
1626 },
1627 {
1628 "type": [
1629 "null",
1630 "boolean"
1631 ]
1632 }
1633 ],
1634 "default": true,
1635 "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#configuration-asarUnpack) - please file an issue if this doesn't work."
1636 },
1637 "asarUnpack": {
1638 "anyOf": [
1639 {
1640 "items": {
1641 "type": "string"
1642 },
1643 "type": "array"
1644 },
1645 {
1646 "type": [
1647 "null",
1648 "string"
1649 ]
1650 }
1651 ],
1652 "description": "A [glob patterns](/file-patterns.md) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
1653 },
1654 "binaries": {
1655 "anyOf": [
1656 {
1657 "items": {
1658 "type": "string"
1659 },
1660 "type": "array"
1661 },
1662 {
1663 "type": "null"
1664 }
1665 ],
1666 "description": "Paths of any extra binaries that need to be signed."
1667 },
1668 "bundleShortVersion": {
1669 "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.",
1670 "type": [
1671 "null",
1672 "string"
1673 ]
1674 },
1675 "bundleVersion": {
1676 "description": "The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).",
1677 "type": [
1678 "null",
1679 "string"
1680 ]
1681 },
1682 "category": {
1683 "description": "The application category type, as shown in the Finder via *View -> Arrange by Application Category* when viewing the Applications directory.\n\nFor example, `\"category\": \"public.app-category.developer-tools\"` will set the application category to *Developer Tools*.\n\nValid values are listed in [Apple's documentation](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW8).",
1684 "type": [
1685 "null",
1686 "string"
1687 ]
1688 },
1689 "compression": {
1690 "anyOf": [
1691 {
1692 "enum": [
1693 "maximum",
1694 "normal",
1695 "store"
1696 ],
1697 "type": "string"
1698 },
1699 {
1700 "type": "null"
1701 }
1702 ],
1703 "default": "normal",
1704 "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time."
1705 },
1706 "cscInstallerKeyPassword": {
1707 "type": [
1708 "null",
1709 "string"
1710 ]
1711 },
1712 "cscInstallerLink": {
1713 "type": [
1714 "null",
1715 "string"
1716 ]
1717 },
1718 "cscKeyPassword": {
1719 "type": [
1720 "null",
1721 "string"
1722 ]
1723 },
1724 "cscLink": {
1725 "type": [
1726 "null",
1727 "string"
1728 ]
1729 },
1730 "detectUpdateChannel": {
1731 "default": true,
1732 "description": "Whether to infer update channel from application version pre-release components. e.g. if version `0.12.1-alpha.1`, channel will be set to `alpha`. Otherwise to `latest`.",
1733 "type": "boolean"
1734 },
1735 "electronLanguages": {
1736 "anyOf": [
1737 {
1738 "items": {
1739 "type": "string"
1740 },
1741 "type": "array"
1742 },
1743 {
1744 "type": "string"
1745 }
1746 ],
1747 "description": "The electron locales. By default Electron locales used as is."
1748 },
1749 "electronUpdaterCompatibility": {
1750 "description": "The electron-updater compatibility semver range. e.g. `>= 2.16`, `>=1.0.0`. Defaults to `>=1.0.0`\n\n1.0.0 latest-mac.json\n2.15.0 path\n2.16.0 files",
1751 "type": [
1752 "null",
1753 "string"
1754 ]
1755 },
1756 "entitlements": {
1757 "description": "The path to entitlements file for signing the app. `build/entitlements.mac.plist` will be used if exists (it is a recommended way to set).\nMAS entitlements is specified in the [mas](mas.md).",
1758 "type": [
1759 "null",
1760 "string"
1761 ]
1762 },
1763 "entitlementsInherit": {
1764 "description": "The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. `build/entitlements.mac.inherit.plist` will be used if exists (it is a recommended way to set).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.darwin.inherit.plist).\n\nThis option only applies when signing with `entitlements` provided.",
1765 "type": [
1766 "null",
1767 "string"
1768 ]
1769 },
1770 "extendInfo": {
1771 "description": "The extra entries for `Info.plist`."
1772 },
1773 "extraFiles": {
1774 "anyOf": [
1775 {
1776 "$ref": "#/definitions/FileSet"
1777 },
1778 {
1779 "items": {
1780 "anyOf": [
1781 {
1782 "$ref": "#/definitions/FileSet"
1783 },
1784 {
1785 "type": "string"
1786 }
1787 ]
1788 },
1789 "type": "array"
1790 },
1791 {
1792 "type": [
1793 "null",
1794 "string"
1795 ]
1796 }
1797 ]
1798 },
1799 "extraResources": {
1800 "anyOf": [
1801 {
1802 "$ref": "#/definitions/FileSet"
1803 },
1804 {
1805 "items": {
1806 "anyOf": [
1807 {
1808 "$ref": "#/definitions/FileSet"
1809 },
1810 {
1811 "type": "string"
1812 }
1813 ]
1814 },
1815 "type": "array"
1816 },
1817 {
1818 "type": [
1819 "null",
1820 "string"
1821 ]
1822 }
1823 ]
1824 },
1825 "fileAssociations": {
1826 "anyOf": [
1827 {
1828 "$ref": "#/definitions/FileAssociation"
1829 },
1830 {
1831 "items": {
1832 "$ref": "#/definitions/FileAssociation"
1833 },
1834 "type": "array"
1835 }
1836 ],
1837 "description": "The file associations."
1838 },
1839 "files": {
1840 "anyOf": [
1841 {
1842 "$ref": "#/definitions/FileSet"
1843 },
1844 {
1845 "items": {
1846 "anyOf": [
1847 {
1848 "$ref": "#/definitions/FileSet"
1849 },
1850 {
1851 "type": "string"
1852 }
1853 ]
1854 },
1855 "type": "array"
1856 },
1857 {
1858 "type": [
1859 "null",
1860 "string"
1861 ]
1862 }
1863 ]
1864 },
1865 "forceCodeSigning": {
1866 "type": "boolean"
1867 },
1868 "generateUpdatesFilesForAllChannels": {
1869 "default": false,
1870 "description": "Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).",
1871 "type": "boolean"
1872 },
1873 "helperBundleId": {
1874 "default": "${appBundleIdentifier}.helper",
1875 "description": "The bundle identifier to use in the application helper's plist.",
1876 "type": [
1877 "null",
1878 "string"
1879 ]
1880 },
1881 "icon": {
1882 "default": "build/icon.icns",
1883 "description": "The path to application icon.",
1884 "type": [
1885 "null",
1886 "string"
1887 ]
1888 },
1889 "identity": {
1890 "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing.md) instead of specifying this option.\nMAS installer identity is specified in the [mas](mas.md).",
1891 "type": [
1892 "null",
1893 "string"
1894 ]
1895 },
1896 "minimumSystemVersion": {
1897 "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.",
1898 "type": [
1899 "null",
1900 "string"
1901 ]
1902 },
1903 "protocols": {
1904 "anyOf": [
1905 {
1906 "$ref": "#/definitions/Protocol"
1907 },
1908 {
1909 "items": {
1910 "$ref": "#/definitions/Protocol"
1911 },
1912 "type": "array"
1913 }
1914 ],
1915 "description": "The URL protocol schemes."
1916 },
1917 "provisioningProfile": {
1918 "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.",
1919 "type": [
1920 "null",
1921 "string"
1922 ]
1923 },
1924 "publish": {
1925 "anyOf": [
1926 {
1927 "$ref": "#/definitions/GithubOptions"
1928 },
1929 {
1930 "$ref": "#/definitions/S3Options"
1931 },
1932 {
1933 "$ref": "#/definitions/SpacesOptions"
1934 },
1935 {
1936 "$ref": "#/definitions/GenericServerOptions"
1937 },
1938 {
1939 "$ref": "#/definitions/BintrayOptions"
1940 },
1941 {
1942 "items": {
1943 "anyOf": [
1944 {
1945 "$ref": "#/definitions/GithubOptions"
1946 },
1947 {
1948 "$ref": "#/definitions/S3Options"
1949 },
1950 {
1951 "$ref": "#/definitions/SpacesOptions"
1952 },
1953 {
1954 "$ref": "#/definitions/GenericServerOptions"
1955 },
1956 {
1957 "$ref": "#/definitions/BintrayOptions"
1958 },
1959 {
1960 "type": "string"
1961 }
1962 ]
1963 },
1964 "type": "array"
1965 },
1966 {
1967 "type": [
1968 "null",
1969 "string"
1970 ]
1971 }
1972 ]
1973 },
1974 "releaseInfo": {
1975 "$ref": "#/definitions/ReleaseInfo",
1976 "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
1977 },
1978 "requirements": {
1979 "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.",
1980 "type": [
1981 "null",
1982 "string"
1983 ]
1984 },
1985 "target": {
1986 "anyOf": [
1987 {
1988 "$ref": "#/definitions/TargetConfiguration"
1989 },
1990 {
1991 "items": {
1992 "anyOf": [
1993 {
1994 "$ref": "#/definitions/TargetConfiguration"
1995 },
1996 {
1997 "enum": [
1998 "7z",
1999 "default",
2000 "dir",
2001 "dmg",
2002 "mas",
2003 "mas-dev",
2004 "pkg",
2005 "tar.bz2",
2006 "tar.gz",
2007 "tar.lz",
2008 "tar.xz",
2009 "zip"
2010 ],
2011 "type": "string"
2012 }
2013 ]
2014 },
2015 "type": "array"
2016 },
2017 {
2018 "enum": [
2019 "7z",
2020 "default",
2021 "dir",
2022 "dmg",
2023 "mas",
2024 "mas-dev",
2025 "pkg",
2026 "tar.bz2",
2027 "tar.gz",
2028 "tar.lz",
2029 "tar.xz",
2030 "zip"
2031 ],
2032 "type": "string"
2033 },
2034 {
2035 "type": "null"
2036 }
2037 ],
2038 "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (dmg and zip for Squirrel.Mac)."
2039 },
2040 "type": {
2041 "anyOf": [
2042 {
2043 "enum": [
2044 "development",
2045 "distribution"
2046 ],
2047 "type": "string"
2048 },
2049 {
2050 "type": "null"
2051 }
2052 ],
2053 "default": "distribution",
2054 "description": "Whether to sign app for development or for distribution."
2055 }
2056 },
2057 "title": "MacConfiguration",
2058 "type": "object"
2059 },
2060 "MasConfiguration": {
2061 "additionalProperties": false,
2062 "properties": {
2063 "artifactName": {
2064 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template). Defaults to `${productName}-${version}.${ext}` (some target can have other defaults, see corresponding options).",
2065 "type": [
2066 "null",
2067 "string"
2068 ]
2069 },
2070 "asar": {
2071 "anyOf": [
2072 {
2073 "$ref": "#/definitions/AsarOptions"
2074 },
2075 {
2076 "type": [
2077 "null",
2078 "boolean"
2079 ]
2080 }
2081 ],
2082 "default": true,
2083 "description": "Whether to package the application's source code into an archive, using [Electron's archive format](http://electron.atom.io/docs/tutorial/application-packaging/).\n\nNode modules, that must be unpacked, will be detected automatically, you don't need to explicitly set [asarUnpack](#configuration-asarUnpack) - please file an issue if this doesn't work."
2084 },
2085 "asarUnpack": {
2086 "anyOf": [
2087 {
2088 "items": {
2089 "type": "string"
2090 },
2091 "type": "array"
2092 },
2093 {
2094 "type": [
2095 "null",
2096 "string"
2097 ]
2098 }
2099 ],
2100 "description": "A [glob patterns](/file-patterns.md) relative to the [app directory](#MetadataDirectories-app), which specifies which files to unpack when creating the [asar](http://electron.atom.io/docs/tutorial/application-packaging/) archive."
2101 },
2102 "binaries": {
2103 "anyOf": [
2104 {
2105 "items": {
2106 "type": "string"
2107 },
2108 "type": "array"
2109 },
2110 {
2111 "type": "null"
2112 }
2113 ],
2114 "description": "Paths of any extra binaries that need to be signed."
2115 },
2116 "bundleShortVersion": {
2117 "description": "The `CFBundleShortVersionString`. Do not use it unless you need to.",
2118 "type": [
2119 "null",
2120 "string"
2121 ]
2122 },
2123 "bundleVersion": {
2124 "description": "The `CFBundleVersion`. Do not use it unless [you need to](https://github.com/electron-userland/electron-builder/issues/565#issuecomment-230678643).",
2125 "type": [
2126 "null",
2127 "string"
2128 ]
2129 },
2130 "category": {
2131 "description": "The application category type, as shown in the Finder via *View -> Arrange by Application Category* when viewing the Applications directory.\n\nFor example, `\"category\": \"public.app-category.developer-tools\"` will set the application category to *Developer Tools*.\n\nValid values are listed in [Apple's documentation](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW8).",
2132 "type": [
2133 "null",
2134 "string"
2135 ]
2136 },
2137 "compression": {
2138 "anyOf": [
2139 {
2140 "enum": [
2141 "maximum",
2142 "normal",
2143 "store"
2144 ],
2145 "type": "string"
2146 },
2147 {
2148 "type": "null"
2149 }
2150 ],
2151 "default": "normal",
2152 "description": "The compression level. If you want to rapidly test build, `store` can reduce build time significantly. `maximum` doesn't lead to noticeable size difference, but increase build time."
2153 },
2154 "cscInstallerKeyPassword": {
2155 "type": [
2156 "null",
2157 "string"
2158 ]
2159 },
2160 "cscInstallerLink": {
2161 "type": [
2162 "null",
2163 "string"
2164 ]
2165 },
2166 "cscKeyPassword": {
2167 "type": [
2168 "null",
2169 "string"
2170 ]
2171 },
2172 "cscLink": {
2173 "type": [
2174 "null",
2175 "string"
2176 ]
2177 },
2178 "detectUpdateChannel": {
2179 "default": true,
2180 "description": "Whether to infer update channel from application version pre-release components. e.g. if version `0.12.1-alpha.1`, channel will be set to `alpha`. Otherwise to `latest`.",
2181 "type": "boolean"
2182 },
2183 "electronLanguages": {
2184 "anyOf": [
2185 {
2186 "items": {
2187 "type": "string"
2188 },
2189 "type": "array"
2190 },
2191 {
2192 "type": "string"
2193 }
2194 ],
2195 "description": "The electron locales. By default Electron locales used as is."
2196 },
2197 "electronUpdaterCompatibility": {
2198 "description": "The electron-updater compatibility semver range. e.g. `>= 2.16`, `>=1.0.0`. Defaults to `>=1.0.0`\n\n1.0.0 latest-mac.json\n2.15.0 path\n2.16.0 files",
2199 "type": [
2200 "null",
2201 "string"
2202 ]
2203 },
2204 "entitlements": {
2205 "description": "The path to entitlements file for signing the app. `build/entitlements.mas.plist` will be used if exists (it is a recommended way to set).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.plist).",
2206 "type": [
2207 "null",
2208 "string"
2209 ]
2210 },
2211 "entitlementsInherit": {
2212 "description": "The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution. `build/entitlements.mas.inherit.plist` will be used if exists (it is a recommended way to set).\nOtherwise [default](https://github.com/electron-userland/electron-osx-sign/blob/master/default.entitlements.mas.inherit.plist).",
2213 "type": [
2214 "null",
2215 "string"
2216 ]
2217 },
2218 "extendInfo": {
2219 "description": "The extra entries for `Info.plist`."
2220 },
2221 "extraFiles": {
2222 "anyOf": [
2223 {
2224 "$ref": "#/definitions/FileSet"
2225 },
2226 {
2227 "items": {
2228 "anyOf": [
2229 {
2230 "$ref": "#/definitions/FileSet"
2231 },
2232 {
2233 "type": "string"
2234 }
2235 ]
2236 },
2237 "type": "array"
2238 },
2239 {
2240 "type": [
2241 "null",
2242 "string"
2243 ]
2244 }
2245 ]
2246 },
2247 "extraResources": {
2248 "anyOf": [
2249 {
2250 "$ref": "#/definitions/FileSet"
2251 },
2252 {
2253 "items": {
2254 "anyOf": [
2255 {
2256 "$ref": "#/definitions/FileSet"
2257 },
2258 {
2259 "type": "string"
2260 }
2261 ]
2262 },
2263 "type": "array"
2264 },
2265 {
2266 "type": [
2267 "null",
2268 "string"
2269 ]
2270 }
2271 ]
2272 },
2273 "fileAssociations": {
2274 "anyOf": [
2275 {
2276 "$ref": "#/definitions/FileAssociation"
2277 },
2278 {
2279 "items": {
2280 "$ref": "#/definitions/FileAssociation"
2281 },
2282 "type": "array"
2283 }
2284 ],
2285 "description": "The file associations."
2286 },
2287 "files": {
2288 "anyOf": [
2289 {
2290 "$ref": "#/definitions/FileSet"
2291 },
2292 {
2293 "items": {
2294 "anyOf": [
2295 {
2296 "$ref": "#/definitions/FileSet"
2297 },
2298 {
2299 "type": "string"
2300 }
2301 ]
2302 },
2303 "type": "array"
2304 },
2305 {
2306 "type": [
2307 "null",
2308 "string"
2309 ]
2310 }
2311 ]
2312 },
2313 "forceCodeSigning": {
2314 "type": "boolean"
2315 },
2316 "generateUpdatesFilesForAllChannels": {
2317 "default": false,
2318 "description": "Please see [Building and Releasing using Channels](https://github.com/electron-userland/electron-builder/issues/1182#issuecomment-324947139).",
2319 "type": "boolean"
2320 },
2321 "helperBundleId": {
2322 "default": "${appBundleIdentifier}.helper",
2323 "description": "The bundle identifier to use in the application helper's plist.",
2324 "type": [
2325 "null",
2326 "string"
2327 ]
2328 },
2329 "icon": {
2330 "default": "build/icon.icns",
2331 "description": "The path to application icon.",
2332 "type": [
2333 "null",
2334 "string"
2335 ]
2336 },
2337 "identity": {
2338 "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](/code-signing.md) instead of specifying this option.\nMAS installer identity is specified in the [mas](mas.md).",
2339 "type": [
2340 "null",
2341 "string"
2342 ]
2343 },
2344 "minimumSystemVersion": {
2345 "description": "The minimum version of macOS required for the app to run. Corresponds to `LSMinimumSystemVersion`.",
2346 "type": [
2347 "null",
2348 "string"
2349 ]
2350 },
2351 "protocols": {
2352 "anyOf": [
2353 {
2354 "$ref": "#/definitions/Protocol"
2355 },
2356 {
2357 "items": {
2358 "$ref": "#/definitions/Protocol"
2359 },
2360 "type": "array"
2361 }
2362 ],
2363 "description": "The URL protocol schemes."
2364 },
2365 "provisioningProfile": {
2366 "description": "The path to the provisioning profile to use when signing, absolute or relative to the app root.",
2367 "type": [
2368 "null",
2369 "string"
2370 ]
2371 },
2372 "publish": {
2373 "anyOf": [
2374 {
2375 "$ref": "#/definitions/GithubOptions"
2376 },
2377 {
2378 "$ref": "#/definitions/S3Options"
2379 },
2380 {
2381 "$ref": "#/definitions/SpacesOptions"
2382 },
2383 {
2384 "$ref": "#/definitions/GenericServerOptions"
2385 },
2386 {
2387 "$ref": "#/definitions/BintrayOptions"
2388 },
2389 {
2390 "items": {
2391 "anyOf": [
2392 {
2393 "$ref": "#/definitions/GithubOptions"
2394 },
2395 {
2396 "$ref": "#/definitions/S3Options"
2397 },
2398 {
2399 "$ref": "#/definitions/SpacesOptions"
2400 },
2401 {
2402 "$ref": "#/definitions/GenericServerOptions"
2403 },
2404 {
2405 "$ref": "#/definitions/BintrayOptions"
2406 },
2407 {
2408 "type": "string"
2409 }
2410 ]
2411 },
2412 "type": "array"
2413 },
2414 {
2415 "type": [
2416 "null",
2417 "string"
2418 ]
2419 }
2420 ]
2421 },
2422 "releaseInfo": {
2423 "$ref": "#/definitions/ReleaseInfo",
2424 "description": "The release info. Intended for command line usage:\n\n```\n-c.releaseInfo.releaseNotes=\"new features\"\n```"
2425 },
2426 "requirements": {
2427 "description": "Path of [requirements file](https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/RequirementLang/RequirementLang.html) used in signing. Not applicable for MAS.",
2428 "type": [
2429 "null",
2430 "string"
2431 ]
2432 },
2433 "target": {
2434 "anyOf": [
2435 {
2436 "$ref": "#/definitions/TargetConfiguration"
2437 },
2438 {
2439 "items": {
2440 "anyOf": [
2441 {
2442 "$ref": "#/definitions/TargetConfiguration"
2443 },
2444 {
2445 "enum": [
2446 "7z",
2447 "default",
2448 "dir",
2449 "dmg",
2450 "mas",
2451 "mas-dev",
2452 "pkg",
2453 "tar.bz2",
2454 "tar.gz",
2455 "tar.lz",
2456 "tar.xz",
2457 "zip"
2458 ],
2459 "type": "string"
2460 }
2461 ]
2462 },
2463 "type": "array"
2464 },
2465 {
2466 "enum": [
2467 "7z",
2468 "default",
2469 "dir",
2470 "dmg",
2471 "mas",
2472 "mas-dev",
2473 "pkg",
2474 "tar.bz2",
2475 "tar.gz",
2476 "tar.lz",
2477 "tar.xz",
2478 "zip"
2479 ],
2480 "type": "string"
2481 },
2482 {
2483 "type": "null"
2484 }
2485 ],
2486 "description": "The target package type: list of `default`, `dmg`, `mas`, `mas-dev`, `pkg`, `7z`, `zip`, `tar.xz`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir`. Defaults to `default` (dmg and zip for Squirrel.Mac)."
2487 },
2488 "type": {
2489 "anyOf": [
2490 {
2491 "enum": [
2492 "development",
2493 "distribution"
2494 ],
2495 "type": "string"
2496 },
2497 {
2498 "type": "null"
2499 }
2500 ],
2501 "default": "distribution",
2502 "description": "Whether to sign app for development or for distribution."
2503 }
2504 },
2505 "title": "MasConfiguration",
2506 "type": "object"
2507 },
2508 "MetadataDirectories": {
2509 "additionalProperties": false,
2510 "properties": {
2511 "app": {
2512 "description": "The application directory (containing the application package.json), defaults to `app`, `www` or working directory.",
2513 "type": [
2514 "null",
2515 "string"
2516 ]
2517 },
2518 "buildResources": {
2519 "default": "build",
2520 "description": "The path to build resources.\n\nPlease note — build resources is not packed into the app. If you need to use some files, e.g. as tray icon, please include required files explicitly: `\"files\": [\"**\\/*\", \"build/icon.*\"]`",
2521 "type": [
2522 "null",
2523 "string"
2524 ]
2525 },
2526 "output": {
2527 "default": "dist",
2528 "description": "The output directory. [File macros](/file-patterns.md#file-macros) are supported.",
2529 "type": [
2530 "null",
2531 "string"
2532 ]
2533 }
2534 },
2535 "title": "MetadataDirectories",
2536 "type": "object"
2537 },
2538 "MsiOptions": {
2539 "additionalProperties": false,
2540 "properties": {
2541 "artifactName": {
2542 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
2543 "type": [
2544 "null",
2545 "string"
2546 ]
2547 },
2548 "createDesktopShortcut": {
2549 "default": true,
2550 "description": "Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).",
2551 "enum": [
2552 "always",
2553 false,
2554 true
2555 ]
2556 },
2557 "createStartMenuShortcut": {
2558 "default": true,
2559 "description": "Whether to create start menu shortcut.",
2560 "type": "boolean"
2561 },
2562 "menuCategory": {
2563 "default": false,
2564 "description": "Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.",
2565 "type": [
2566 "string",
2567 "boolean"
2568 ]
2569 },
2570 "oneClick": {
2571 "default": true,
2572 "description": "One-click installation.",
2573 "type": "boolean"
2574 },
2575 "perMachine": {
2576 "default": false,
2577 "description": "Whether to install per all users (per-machine).",
2578 "type": "boolean"
2579 },
2580 "publish": {
2581 "anyOf": [
2582 {
2583 "$ref": "#/definitions/GithubOptions"
2584 },
2585 {
2586 "$ref": "#/definitions/S3Options"
2587 },
2588 {
2589 "$ref": "#/definitions/SpacesOptions"
2590 },
2591 {
2592 "$ref": "#/definitions/GenericServerOptions"
2593 },
2594 {
2595 "$ref": "#/definitions/BintrayOptions"
2596 },
2597 {
2598 "items": {
2599 "anyOf": [
2600 {
2601 "$ref": "#/definitions/GithubOptions"
2602 },
2603 {
2604 "$ref": "#/definitions/S3Options"
2605 },
2606 {
2607 "$ref": "#/definitions/SpacesOptions"
2608 },
2609 {
2610 "$ref": "#/definitions/GenericServerOptions"
2611 },
2612 {
2613 "$ref": "#/definitions/BintrayOptions"
2614 },
2615 {
2616 "type": "string"
2617 }
2618 ]
2619 },
2620 "type": "array"
2621 },
2622 {
2623 "type": [
2624 "null",
2625 "string"
2626 ]
2627 }
2628 ]
2629 },
2630 "runAfterFinish": {
2631 "default": true,
2632 "description": "Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.",
2633 "type": "boolean"
2634 },
2635 "shortcutName": {
2636 "description": "The name that will be used for all shortcuts. Defaults to the application name.",
2637 "type": [
2638 "null",
2639 "string"
2640 ]
2641 },
2642 "upgradeCode": {
2643 "description": "The [upgrade code](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372375(v=vs.85).aspx). Optional, by default generated using app id.",
2644 "type": [
2645 "null",
2646 "string"
2647 ]
2648 },
2649 "warningsAsErrors": {
2650 "default": true,
2651 "description": "If `warningsAsErrors` is `true` (default): treat warnings as errors. If `warningsAsErrors` is `false`: allow warnings.",
2652 "type": "boolean"
2653 }
2654 },
2655 "title": "MsiOptions",
2656 "type": "object"
2657 },
2658 "NsisOptions": {
2659 "additionalProperties": false,
2660 "properties": {
2661 "allowElevation": {
2662 "default": true,
2663 "description": "*assisted installer only.* Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.",
2664 "type": "boolean"
2665 },
2666 "allowToChangeInstallationDirectory": {
2667 "default": false,
2668 "description": "*assisted installer only.* Whether to allow user to change installation directory.",
2669 "type": "boolean"
2670 },
2671 "artifactName": {
2672 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template). Defaults to `${productName} Setup ${version}.${ext}`.",
2673 "type": [
2674 "null",
2675 "string"
2676 ]
2677 },
2678 "createDesktopShortcut": {
2679 "default": true,
2680 "description": "Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).",
2681 "enum": [
2682 "always",
2683 false,
2684 true
2685 ]
2686 },
2687 "createStartMenuShortcut": {
2688 "default": true,
2689 "description": "Whether to create start menu shortcut.",
2690 "type": "boolean"
2691 },
2692 "deleteAppDataOnUninstall": {
2693 "default": false,
2694 "description": "*one-click installer only.* Whether to delete app data on uninstall.",
2695 "type": "boolean"
2696 },
2697 "differentialPackage": {
2698 "description": "Defaults to `true` for web installer (`nsis-web`)",
2699 "type": "boolean"
2700 },
2701 "displayLanguageSelector": {
2702 "default": false,
2703 "description": "Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).",
2704 "type": "boolean"
2705 },
2706 "guid": {
2707 "description": "See [GUID vs Application Name](../configuration/nsis.md#guid-vs-application-name).",
2708 "type": [
2709 "null",
2710 "string"
2711 ]
2712 },
2713 "include": {
2714 "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).",
2715 "type": [
2716 "null",
2717 "string"
2718 ]
2719 },
2720 "installerHeader": {
2721 "default": "build/installerHeader.bmp",
2722 "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.",
2723 "type": [
2724 "null",
2725 "string"
2726 ]
2727 },
2728 "installerHeaderIcon": {
2729 "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
2730 "type": [
2731 "null",
2732 "string"
2733 ]
2734 },
2735 "installerIcon": {
2736 "description": "The path to installer icon, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
2737 "type": [
2738 "null",
2739 "string"
2740 ]
2741 },
2742 "installerLanguages": {
2743 "anyOf": [
2744 {
2745 "items": {
2746 "type": "string"
2747 },
2748 "type": "array"
2749 },
2750 {
2751 "type": [
2752 "null",
2753 "string"
2754 ]
2755 }
2756 ],
2757 "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what."
2758 },
2759 "installerSidebar": {
2760 "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
2761 "type": [
2762 "null",
2763 "string"
2764 ]
2765 },
2766 "language": {
2767 "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).",
2768 "type": [
2769 "null",
2770 "string"
2771 ]
2772 },
2773 "license": {
2774 "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).\n\nMultiple license files in different languages are supported — use lang postfix (e.g. `_de`, `_ru`)). For example, create files `license_de.txt` and `license_en.txt` in the build resources.\nIf OS language is german, `license_de.txt` will be displayed. See map of [language code to name](https://github.com/meikidd/iso-639-1/blob/master/src/data.js).\n\nAppropriate license file will be selected by user OS language.",
2775 "type": [
2776 "null",
2777 "string"
2778 ]
2779 },
2780 "menuCategory": {
2781 "default": false,
2782 "description": "Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.",
2783 "type": [
2784 "string",
2785 "boolean"
2786 ]
2787 },
2788 "multiLanguageInstaller": {
2789 "description": "Whether to create multi-language installer. Defaults to `unicode` option value.",
2790 "type": "boolean"
2791 },
2792 "oneClick": {
2793 "default": true,
2794 "description": "Whether to create one-click installer or assisted.",
2795 "type": "boolean"
2796 },
2797 "packElevateHelper": {
2798 "default": true,
2799 "description": "Whether to pack the elevate executable (required for electron-updater if per-machine installer used or can be used in the future). Ignored if `perMachine` is set to `true`.",
2800 "type": "boolean"
2801 },
2802 "perMachine": {
2803 "default": false,
2804 "description": "Whether to show install mode installer page (choice per-machine or per-user) for assisted installer. Or whether installation always per all users (per-machine).\n\nIf `oneClick` is `true` (default): Whether to install per all users (per-machine).\n\nIf `oneClick` is `false` and `perMachine` is `true`: no install mode installer page, always install per-machine.\n\nIf `oneClick` is `false` and `perMachine` is `false` (default): install mode installer page.",
2805 "type": "boolean"
2806 },
2807 "preCompressedFileExtensions": {
2808 "anyOf": [
2809 {
2810 "items": {
2811 "type": "string"
2812 },
2813 "type": "array"
2814 },
2815 {
2816 "type": [
2817 "null",
2818 "string"
2819 ]
2820 }
2821 ],
2822 "default": [
2823 ".avi",
2824 ".mov",
2825 ".m4v",
2826 ".mp4",
2827 ".m4p",
2828 ".qt",
2829 ".mkv",
2830 ".webm",
2831 ".vmdk"
2832 ],
2833 "description": "The file extension of files that will be not compressed. Applicable only for `extraResources` and `extraFiles` files."
2834 },
2835 "publish": {
2836 "anyOf": [
2837 {
2838 "$ref": "#/definitions/GithubOptions"
2839 },
2840 {
2841 "$ref": "#/definitions/S3Options"
2842 },
2843 {
2844 "$ref": "#/definitions/SpacesOptions"
2845 },
2846 {
2847 "$ref": "#/definitions/GenericServerOptions"
2848 },
2849 {
2850 "$ref": "#/definitions/BintrayOptions"
2851 },
2852 {
2853 "items": {
2854 "anyOf": [
2855 {
2856 "$ref": "#/definitions/GithubOptions"
2857 },
2858 {
2859 "$ref": "#/definitions/S3Options"
2860 },
2861 {
2862 "$ref": "#/definitions/SpacesOptions"
2863 },
2864 {
2865 "$ref": "#/definitions/GenericServerOptions"
2866 },
2867 {
2868 "$ref": "#/definitions/BintrayOptions"
2869 },
2870 {
2871 "type": "string"
2872 }
2873 ]
2874 },
2875 "type": "array"
2876 },
2877 {
2878 "type": [
2879 "null",
2880 "string"
2881 ]
2882 }
2883 ]
2884 },
2885 "runAfterFinish": {
2886 "default": true,
2887 "description": "Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.",
2888 "type": "boolean"
2889 },
2890 "script": {
2891 "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).",
2892 "type": [
2893 "null",
2894 "string"
2895 ]
2896 },
2897 "shortcutName": {
2898 "description": "The name that will be used for all shortcuts. Defaults to the application name.",
2899 "type": [
2900 "null",
2901 "string"
2902 ]
2903 },
2904 "unicode": {
2905 "default": true,
2906 "description": "Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).",
2907 "type": "boolean"
2908 },
2909 "uninstallDisplayName": {
2910 "default": "${productName} ${version}",
2911 "description": "The uninstaller display name in the control panel.",
2912 "type": "string"
2913 },
2914 "uninstallerIcon": {
2915 "description": "The path to uninstaller icon, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
2916 "type": [
2917 "null",
2918 "string"
2919 ]
2920 },
2921 "uninstallerSidebar": {
2922 "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
2923 "type": [
2924 "null",
2925 "string"
2926 ]
2927 },
2928 "useZip": {
2929 "default": false,
2930 "type": "boolean"
2931 },
2932 "warningsAsErrors": {
2933 "default": true,
2934 "description": "If `warningsAsErrors` is `true` (default): NSIS will treat warnings as errors. If `warningsAsErrors` is `false`: NSIS will allow warnings.",
2935 "type": "boolean"
2936 }
2937 },
2938 "title": "NsisOptions",
2939 "type": "object"
2940 },
2941 "NsisWebOptions": {
2942 "additionalProperties": false,
2943 "description": "Web Installer options.",
2944 "properties": {
2945 "allowElevation": {
2946 "default": true,
2947 "description": "*assisted installer only.* Allow requesting for elevation. If false, user will have to restart installer with elevated permissions.",
2948 "type": "boolean"
2949 },
2950 "allowToChangeInstallationDirectory": {
2951 "default": false,
2952 "description": "*assisted installer only.* Whether to allow user to change installation directory.",
2953 "type": "boolean"
2954 },
2955 "appPackageUrl": {
2956 "description": "The application package download URL. Optional — by default computed using publish configuration.\n\nURL like `https://example.com/download/latest` allows web installer to be version independent (installer will download latest application package).\nPlease note — it is [full URL](https://github.com/electron-userland/electron-builder/issues/1810#issuecomment-317650878).\n\nCustom `X-Arch` http header is set to `32` or `64`.",
2957 "type": [
2958 "null",
2959 "string"
2960 ]
2961 },
2962 "artifactName": {
2963 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template). Defaults to `${productName} Web Setup ${version}.${ext}`.",
2964 "type": [
2965 "null",
2966 "string"
2967 ]
2968 },
2969 "createDesktopShortcut": {
2970 "default": true,
2971 "description": "Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).",
2972 "enum": [
2973 "always",
2974 false,
2975 true
2976 ]
2977 },
2978 "createStartMenuShortcut": {
2979 "default": true,
2980 "description": "Whether to create start menu shortcut.",
2981 "type": "boolean"
2982 },
2983 "deleteAppDataOnUninstall": {
2984 "default": false,
2985 "description": "*one-click installer only.* Whether to delete app data on uninstall.",
2986 "type": "boolean"
2987 },
2988 "differentialPackage": {
2989 "description": "Defaults to `true` for web installer (`nsis-web`)",
2990 "type": "boolean"
2991 },
2992 "displayLanguageSelector": {
2993 "default": false,
2994 "description": "Whether to display a language selection dialog. Not recommended (by default will be detected using OS language).",
2995 "type": "boolean"
2996 },
2997 "guid": {
2998 "description": "See [GUID vs Application Name](../configuration/nsis.md#guid-vs-application-name).",
2999 "type": [
3000 "null",
3001 "string"
3002 ]
3003 },
3004 "include": {
3005 "description": "The path to NSIS include script to customize installer. Defaults to `build/installer.nsh`. See [Custom NSIS script](#custom-nsis-script).",
3006 "type": [
3007 "null",
3008 "string"
3009 ]
3010 },
3011 "installerHeader": {
3012 "default": "build/installerHeader.bmp",
3013 "description": "*assisted installer only.* `MUI_HEADERIMAGE`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.",
3014 "type": [
3015 "null",
3016 "string"
3017 ]
3018 },
3019 "installerHeaderIcon": {
3020 "description": "*one-click installer only.* The path to header icon (above the progress bar), relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerHeaderIcon.ico` or application icon.",
3021 "type": [
3022 "null",
3023 "string"
3024 ]
3025 },
3026 "installerIcon": {
3027 "description": "The path to installer icon, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerIcon.ico` or application icon.",
3028 "type": [
3029 "null",
3030 "string"
3031 ]
3032 },
3033 "installerLanguages": {
3034 "anyOf": [
3035 {
3036 "items": {
3037 "type": "string"
3038 },
3039 "type": "array"
3040 },
3041 {
3042 "type": [
3043 "null",
3044 "string"
3045 ]
3046 }
3047 ],
3048 "description": "The installer languages (e.g. `en_US`, `de_DE`). Change only if you understand what do you do and for what."
3049 },
3050 "installerSidebar": {
3051 "description": "*assisted installer only.* `MUI_WELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`. Image size 164 × 314 pixels.",
3052 "type": [
3053 "null",
3054 "string"
3055 ]
3056 },
3057 "language": {
3058 "description": "[LCID Dec](https://msdn.microsoft.com/en-au/goglobal/bb964664.aspx), defaults to `1033`(`English - United States`).",
3059 "type": [
3060 "null",
3061 "string"
3062 ]
3063 },
3064 "license": {
3065 "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).\n\nMultiple license files in different languages are supported — use lang postfix (e.g. `_de`, `_ru`)). For example, create files `license_de.txt` and `license_en.txt` in the build resources.\nIf OS language is german, `license_de.txt` will be displayed. See map of [language code to name](https://github.com/meikidd/iso-639-1/blob/master/src/data.js).\n\nAppropriate license file will be selected by user OS language.",
3066 "type": [
3067 "null",
3068 "string"
3069 ]
3070 },
3071 "menuCategory": {
3072 "default": false,
3073 "description": "Whether to create submenu for start menu shortcut and program files directory. If `true`, company name will be used. Or string value.",
3074 "type": [
3075 "string",
3076 "boolean"
3077 ]
3078 },
3079 "multiLanguageInstaller": {
3080 "description": "Whether to create multi-language installer. Defaults to `unicode` option value.",
3081 "type": "boolean"
3082 },
3083 "oneClick": {
3084 "default": true,
3085 "description": "Whether to create one-click installer or assisted.",
3086 "type": "boolean"
3087 },
3088 "packElevateHelper": {
3089 "default": true,
3090 "description": "Whether to pack the elevate executable (required for electron-updater if per-machine installer used or can be used in the future). Ignored if `perMachine` is set to `true`.",
3091 "type": "boolean"
3092 },
3093 "perMachine": {
3094 "default": false,
3095 "description": "Whether to show install mode installer page (choice per-machine or per-user) for assisted installer. Or whether installation always per all users (per-machine).\n\nIf `oneClick` is `true` (default): Whether to install per all users (per-machine).\n\nIf `oneClick` is `false` and `perMachine` is `true`: no install mode installer page, always install per-machine.\n\nIf `oneClick` is `false` and `perMachine` is `false` (default): install mode installer page.",
3096 "type": "boolean"
3097 },
3098 "preCompressedFileExtensions": {
3099 "anyOf": [
3100 {
3101 "items": {
3102 "type": "string"
3103 },
3104 "type": "array"
3105 },
3106 {
3107 "type": [
3108 "null",
3109 "string"
3110 ]
3111 }
3112 ],
3113 "default": [
3114 ".avi",
3115 ".mov",
3116 ".m4v",
3117 ".mp4",
3118 ".m4p",
3119 ".qt",
3120 ".mkv",
3121 ".webm",
3122 ".vmdk"
3123 ],
3124 "description": "The file extension of files that will be not compressed. Applicable only for `extraResources` and `extraFiles` files."
3125 },
3126 "publish": {
3127 "anyOf": [
3128 {
3129 "$ref": "#/definitions/GithubOptions"
3130 },
3131 {
3132 "$ref": "#/definitions/S3Options"
3133 },
3134 {
3135 "$ref": "#/definitions/SpacesOptions"
3136 },
3137 {
3138 "$ref": "#/definitions/GenericServerOptions"
3139 },
3140 {
3141 "$ref": "#/definitions/BintrayOptions"
3142 },
3143 {
3144 "items": {
3145 "anyOf": [
3146 {
3147 "$ref": "#/definitions/GithubOptions"
3148 },
3149 {
3150 "$ref": "#/definitions/S3Options"
3151 },
3152 {
3153 "$ref": "#/definitions/SpacesOptions"
3154 },
3155 {
3156 "$ref": "#/definitions/GenericServerOptions"
3157 },
3158 {
3159 "$ref": "#/definitions/BintrayOptions"
3160 },
3161 {
3162 "type": "string"
3163 }
3164 ]
3165 },
3166 "type": "array"
3167 },
3168 {
3169 "type": [
3170 "null",
3171 "string"
3172 ]
3173 }
3174 ]
3175 },
3176 "runAfterFinish": {
3177 "default": true,
3178 "description": "Whether to run the installed application after finish. For assisted installer corresponding checkbox will be removed.",
3179 "type": "boolean"
3180 },
3181 "script": {
3182 "description": "The path to NSIS script to customize installer. Defaults to `build/installer.nsi`. See [Custom NSIS script](#custom-nsis-script).",
3183 "type": [
3184 "null",
3185 "string"
3186 ]
3187 },
3188 "shortcutName": {
3189 "description": "The name that will be used for all shortcuts. Defaults to the application name.",
3190 "type": [
3191 "null",
3192 "string"
3193 ]
3194 },
3195 "unicode": {
3196 "default": true,
3197 "description": "Whether to create [Unicode installer](http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode).",
3198 "type": "boolean"
3199 },
3200 "uninstallDisplayName": {
3201 "default": "${productName} ${version}",
3202 "description": "The uninstaller display name in the control panel.",
3203 "type": "string"
3204 },
3205 "uninstallerIcon": {
3206 "description": "The path to uninstaller icon, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `build/uninstallerIcon.ico` or application icon.",
3207 "type": [
3208 "null",
3209 "string"
3210 ]
3211 },
3212 "uninstallerSidebar": {
3213 "description": "*assisted installer only.* `MUI_UNWELCOMEFINISHPAGE_BITMAP`, relative to the [build resources](/configuration/configuration.md#MetadataDirectories-buildResources) or to the project directory.\nDefaults to `installerSidebar` option or `build/uninstallerSidebar.bmp` or `build/installerSidebar.bmp` or `${NSISDIR}\\\\Contrib\\\\Graphics\\\\Wizard\\\\nsis3-metro.bmp`",
3214 "type": [
3215 "null",
3216 "string"
3217 ]
3218 },
3219 "useZip": {
3220 "default": false,
3221 "type": "boolean"
3222 },
3223 "warningsAsErrors": {
3224 "default": true,
3225 "description": "If `warningsAsErrors` is `true` (default): NSIS will treat warnings as errors. If `warningsAsErrors` is `false`: NSIS will allow warnings.",
3226 "type": "boolean"
3227 }
3228 },
3229 "title": "NsisWebOptions",
3230 "type": "object"
3231 },
3232 "PkgOptions": {
3233 "additionalProperties": false,
3234 "description": "macOS product archive options.",
3235 "properties": {
3236 "allowAnywhere": {
3237 "default": true,
3238 "description": "Whether can be installed at the root of any volume, including non-system volumes. Otherwise, it cannot be installed at the root of a volume.\n\nCorresponds to [enable_anywhere](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).",
3239 "type": [
3240 "null",
3241 "boolean"
3242 ]
3243 },
3244 "allowCurrentUserHome": {
3245 "default": true,
3246 "description": "Whether can be installed into the current user’s home directory.\nA home directory installation is done as the current user (not as root), and it cannot write outside of the home directory.\nIf the product cannot be installed in the user’s home directory and be not completely functional from user’s home directory.\n\nCorresponds to [enable_currentUserHome](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).",
3247 "type": [
3248 "null",
3249 "boolean"
3250 ]
3251 },
3252 "allowRootDirectory": {
3253 "default": true,
3254 "description": "Whether can be installed into the root directory. Should usually be `true` unless the product can be installed only to the user’s home directory.\n\nCorresponds to [enable_localSystem](https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW70).",
3255 "type": [
3256 "null",
3257 "boolean"
3258 ]
3259 },
3260 "artifactName": {
3261 "description": "The [artifact file name template](/configuration/configuration.md#artifact-file-name-template).",
3262 "type": [
3263 "null",
3264 "string"
3265 ]
3266 },
3267 "hasStrictIdentifier": {
3268 "default": true,
3269 "description": "Require identical bundle identifiers at install path?",
3270 "type": [
3271 "null",
3272 "boolean"
3273 ]
3274 },
3275 "identity": {
3276 "description": "The name of certificate to use when signing. Consider using environment variables [CSC_LINK or CSC_NAME](../code-signing.md) instead of specifying this option.",
3277 "type": [
3278 "null",
3279 "string"
3280 ]
3281 },
3282 "installLocation": {
3283 "default": "/Applications",
3284 "description": "The install location. [Do not use it](https://stackoverflow.com/questions/12863944/how-do-you-specify-a-default-install-location-to-home-with-pkgbuild) to create per-user package.\nMostly never you will need to change this option. `/Applications` would install it as expected into `/Applications` if the local system domain is chosen, or into `$HOME/Applications` if the home installation is chosen.",
3285 "type": [
3286 "null",
3287 "string"
3288 ]
3289 },
3290 "isRelocatable": {
3291 "default": true,
3292 "description": "Install bundle over previous version if moved by user?",
3293 "type": [
3294 "null",
3295 "boolean"
3296 ]
3297 },
3298 "isVersionChecked": {
3299 "default": true,
3300 "description": "Don't install bundle if newer version on disk?",
3301 "type": [
3302 "null",
3303 "boolean"
3304 ]
3305 },
3306 "license": {
3307 "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). In addition to `txt, `rtf` and `html` supported (don't forget to use `target=\"_blank\"` for links).",
3308 "type": [
3309 "null",
3310 "string"
3311 ]
3312 },
3313 "overwriteAction": {
3314