Skip to content

Commit b4462a2

Browse files
committed
feat: electronCompile option to disable electron-compile integration
1 parent 4c83b3f commit b4462a2

File tree

9 files changed

+67
-67
lines changed

9 files changed

+67
-67
lines changed

.idea/dictionaries/develar.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/Auto Update.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ Emitted on progress. Only supported over Windows build, since `Squirrel.Mac` [do
133133

134134
| Name | Type |
135135
| --- | --- |
136-
| name| <code>string</code> |
137-
| url| <code>string</code> |
136+
| **name**| <code>string</code> |
137+
| **url**| <code>string</code> |
138138
| sha2| <code>string</code> |
139139
| headers| <code>Object</code> |
140140

@@ -146,7 +146,7 @@ Emitted on progress. Only supported over Windows build, since `Squirrel.Mac` [do
146146

147147
| Name | Type |
148148
| --- | --- |
149-
| versionInfo| <code>[VersionInfo](Publishing-Artifacts#VersionInfo)</code> |
149+
| **versionInfo**| <code>[VersionInfo](Publishing-Artifacts#VersionInfo)</code> |
150150
| fileInfo| <code>[FileInfo](#FileInfo)</code> |
151151
| downloadPromise| <code>Promise&lt;any&gt;</code> \| <code>null</code> |
152152
| cancellationToken| <code>[CancellationToken](Developer-API#CancellationToken)</code> |

docs/Developer API.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2380,12 +2380,12 @@
23802380

23812381
| Name | Type |
23822382
| --- | --- |
2383-
| path| <code>string</code> |
2383+
| **path**| <code>string</code> |
23842384
| cert| <code>string</code> \| <code>null</code> |
23852385
| name| <code>string</code> \| <code>null</code> |
23862386
| password| <code>string</code> \| <code>null</code> |
23872387
| site| <code>string</code> \| <code>null</code> |
2388-
| options| <code>[WinBuildOptions](Options#WinBuildOptions)</code> |
2388+
| **options**| <code>[WinBuildOptions](Options#WinBuildOptions)</code> |
23892389

23902390
<a name="module_electron-builder/out/windowsCodeSign.getSignVendorPath"></a>
23912391

@@ -2862,7 +2862,7 @@
28622862

28632863
| Name | Type |
28642864
| --- | --- |
2865-
| name| <code>string</code> |
2865+
| **name**| <code>string</code> |
28662866
| email| <code>string</code> |
28672867

28682868
<a name="BeforeBuildContext"></a>
@@ -2873,10 +2873,10 @@
28732873

28742874
| Name | Type |
28752875
| --- | --- |
2876-
| appDir| <code>string</code> |
2877-
| electronVersion| <code>string</code> |
2878-
| platform| <code>[Platform](#Platform)</code> |
2879-
| arch| <code>string</code> |
2876+
| **appDir**| <code>string</code> |
2877+
| **electronVersion**| <code>string</code> |
2878+
| **platform**| <code>[Platform](#Platform)</code> |
2879+
| **arch**| <code>string</code> |
28802880

28812881
<a name="FileAssociation"></a>
28822882

@@ -2892,7 +2892,7 @@ On Windows works only if [nsis.perMachine](https://github.com/electron-userland/
28922892

28932893
| Name | Type | Description |
28942894
| --- | --- | --- |
2895-
| ext| <code>string</code> \| <code>Array&lt;string&gt;</code> | <a name="FileAssociation-ext"></a>The extension (minus the leading period). e.g. `png`. |
2895+
| **ext**| <code>string</code> \| <code>Array&lt;string&gt;</code> | <a name="FileAssociation-ext"></a>The extension (minus the leading period). e.g. `png`. |
28962896
| name| <code>string</code> \| <code>null</code> | <a name="FileAssociation-name"></a>The name. e.g. `PNG`. Defaults to `ext`. |
28972897
| description| <code>string</code> \| <code>null</code> | <a name="FileAssociation-description"></a>*windows-only.* The description. |
28982898
| icon| <code>string</code> \| <code>null</code> | <a name="FileAssociation-icon"></a>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. |
@@ -2955,9 +2955,9 @@ Please note — on macOS [you need to register an `open-url` event handler](http
29552955

29562956
| Name | Type | Description |
29572957
| --- | --- | --- |
2958-
| name| <code>string</code> | <a name="Protocol-name"></a>The name. e.g. `IRC server URL`. |
2958+
| **name**| <code>string</code> | <a name="Protocol-name"></a>The name. e.g. `IRC server URL`. |
29592959
| role = <code>Editor</code>| <code>"Editor"</code> \| <code>"Viewer"</code> \| <code>"Shell"</code> \| <code>"None"</code> | <a name="Protocol-role"></a>*macOS-only* The app’s role with respect to the type. |
2960-
| schemes| <code>Array&lt;string&gt;</code> | <a name="Protocol-schemes"></a>The schemes. e.g. `["irc", "ircs"]`. |
2960+
| **schemes**| <code>Array&lt;string&gt;</code> | <a name="Protocol-schemes"></a>The schemes. e.g. `["irc", "ircs"]`. |
29612961

29622962
<a name="RepositoryInfo"></a>
29632963

@@ -2967,7 +2967,7 @@ Please note — on macOS [you need to register an `open-url` event handler](http
29672967

29682968
| Name | Type |
29692969
| --- | --- |
2970-
| url| <code>string</code> |
2970+
| **url**| <code>string</code> |
29712971

29722972
<a name="SourceRepositoryInfo"></a>
29732973

@@ -2990,7 +2990,7 @@ Please note — on macOS [you need to register an `open-url` event handler](http
29902990

29912991
| Name | Type | Description |
29922992
| --- | --- | --- |
2993-
| target| <code>string</code> | <a name="TargetConfig-target"></a>The target name. e.g. `snap`. |
2993+
| **target**| <code>string</code> | <a name="TargetConfig-target"></a>The target name. e.g. `snap`. |
29942994
| arch| <code>Array&lt;"x64" \| "ia32" \| "armv7l"&gt;</code> \| <code>string</code> | <a name="TargetConfig-arch"></a>The arch or list of archs. |
29952995

29962996
<a name="TargetSpecificOptions"></a>
@@ -3156,8 +3156,8 @@ Please note — on macOS [you need to register an `open-url` event handler](http
31563156

31573157
| Name | Type |
31583158
| --- | --- |
3159-
| name| <code>string</code> |
3160-
| package| <code>string</code> |
3159+
| **name**| <code>string</code> |
3160+
| **package**| <code>string</code> |
31613161

31623162
<a name="BintrayClient"></a>
31633163

@@ -3363,7 +3363,7 @@ Please note — on macOS [you need to register an `open-url` event handler](http
33633363
| headers| <code>[RequestHeaders](#RequestHeaders)</code> \| <code>null</code> |
33643364
| skipDirCreation| <code>boolean</code> |
33653365
| sha2| <code>string</code> \| <code>null</code> |
3366-
| cancellationToken| <code>[CancellationToken](#CancellationToken)</code> |
3366+
| **cancellationToken**| <code>[CancellationToken](#CancellationToken)</code> |
33673367

33683368
<a name="module_electron-builder-http.DownloadOptions+onProgress"></a>
33693369

@@ -3844,7 +3844,7 @@ Please note — on macOS [you need to register an `open-url` event handler](http
38443844

38453845
| Name | Type |
38463846
| --- | --- |
3847-
| cancellationToken| <code>[CancellationToken](#CancellationToken)</code> |
3847+
| **cancellationToken**| <code>[CancellationToken](#CancellationToken)</code> |
38483848
| progress| <code>[MultiProgress](#MultiProgress)</code> \| <code>null</code> |
38493849

38503850
<a name="PublishOptions"></a>

docs/Options.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ You can use [file macros](#file-macros) in the `from` and `to` fields as well.
126126

127127
| Name | Type |
128128
| --- | --- |
129-
| appOutDir| <code>string</code> |
130-
| packager| <code>[PlatformPackager](Developer-API#PlatformPackager)&lt;any&gt;</code> |
131-
| electronPlatformName| <code>string</code> |
132-
| arch| <code>[Arch](Developer-API#Arch)</code> |
133-
| targets| <code>Array&lt;[Target](Developer-API#Target)&gt;</code> |
129+
| **appOutDir**| <code>string</code> |
130+
| **packager**| <code>[PlatformPackager](Developer-API#PlatformPackager)&lt;any&gt;</code> |
131+
| **electronPlatformName**| <code>string</code> |
132+
| **arch**| <code>[Arch](Developer-API#Arch)</code> |
133+
| **targets**| <code>Array&lt;[Target](Developer-API#Target)&gt;</code> |
134134

135135
<a name="AppXOptions"></a>
136136

@@ -157,7 +157,7 @@ AppX Options
157157

158158
| Name | Type |
159159
| --- | --- |
160-
| packager| <code>[PlatformPackager](Developer-API#PlatformPackager)&lt;any&gt;</code> |
160+
| **packager**| <code>[PlatformPackager](Developer-API#PlatformPackager)&lt;any&gt;</code> |
161161
| target| <code>[Target](Developer-API#Target)</code> \| <code>null</code> |
162162
| file| <code>string</code> |
163163
| data| <code>Buffer</code> |
@@ -172,21 +172,21 @@ AppX Options
172172

173173
| Name | Type |
174174
| --- | --- |
175-
| options| <code>[PackagerOptions](#PackagerOptions)</code> |
176-
| metadata| <code>[Metadata](#Metadata)</code> |
177-
| devMetadata| <code>[Metadata](#Metadata)</code> |
178-
| config| <code>[Config](#Config)</code> |
179-
| projectDir| <code>string</code> |
180-
| appDir| <code>string</code> |
181-
| electronVersion| <code>string</code> |
175+
| **options**| <code>[PackagerOptions](#PackagerOptions)</code> |
176+
| **metadata**| <code>[Metadata](#Metadata)</code> |
177+
| **devMetadata**| <code>[Metadata](#Metadata)</code> |
178+
| **config**| <code>[Config](#Config)</code> |
179+
| **projectDir**| <code>string</code> |
180+
| **appDir**| <code>string</code> |
181+
| **electronVersion**| <code>string</code> |
182182
| muonVersion| <code>string</code> \| <code>null</code> |
183-
| isTwoPackageJsonProjectLayoutUsed| <code>boolean</code> |
184-
| appInfo| <code>[AppInfo](Developer-API#AppInfo)</code> |
185-
| tempDirManager| <code>[TmpDir](Developer-API#TmpDir)</code> |
186-
| repositoryInfo| <code>Promise&lt; \| [SourceRepositoryInfo](Developer-API#SourceRepositoryInfo)&gt;</code> |
187-
| isPrepackedAppAsar| <code>boolean</code> |
183+
| **isTwoPackageJsonProjectLayoutUsed**| <code>boolean</code> |
184+
| **appInfo**| <code>[AppInfo](Developer-API#AppInfo)</code> |
185+
| **tempDirManager**| <code>[TmpDir](Developer-API#TmpDir)</code> |
186+
| **repositoryInfo**| <code>Promise&lt; \| [SourceRepositoryInfo](Developer-API#SourceRepositoryInfo)&gt;</code> |
187+
| **isPrepackedAppAsar**| <code>boolean</code> |
188188
| prepackaged| <code>string</code> \| <code>null</code> |
189-
| cancellationToken| <code>[CancellationToken](Developer-API#CancellationToken)</code> |
189+
| **cancellationToken**| <code>[CancellationToken](Developer-API#CancellationToken)</code> |
190190

191191
<a name="BuildOptions"></a>
192192

@@ -201,8 +201,8 @@ AppX Options
201201

202202
| Name | Type |
203203
| --- | --- |
204-
| outDir| <code>string</code> |
205-
| platformToTargets| <code>Map&lt;[Platform](Developer-API#Platform) \| Map&lt;String \| [Target](Developer-API#Target)&gt;&gt;</code> |
204+
| **outDir**| <code>string</code> |
205+
| **platformToTargets**| <code>Map&lt;[Platform](Developer-API#Platform) \| Map&lt;String \| [Target](Developer-API#Target)&gt;&gt;</code> |
206206

207207
<a name="CliOptions"></a>
208208

@@ -261,6 +261,7 @@ Configuration Options
261261
| muonVersion| <code>string</code> \| <code>null</code> | <a name="Config-muonVersion"></a>The version of muon you are packaging for. |
262262
| artifactName| <code>string</code> \| <code>null</code> | <a name="Config-artifactName"></a>The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern). Defaults to `${productName}-${version}.${ext}` (some target can have another defaults, see corresponding options).<br><br>Currently supported only for `mas`, `pkg`, `dmg` and `nsis`. |
263263
| buildVersion| <code>string</code> \| <code>null</code> | <a name="Config-buildVersion"></a>The build version. Maps to the `CFBundleVersion` on macOS, and `FileVersion` metadata property on Windows. Defaults to the `version`. If `TRAVIS_BUILD_NUMBER` or `APPVEYOR_BUILD_NUMBER` or `CIRCLE_BUILD_NUM` or `BUILD_NUMBER` or `bamboo.buildNumber` env defined, it will be used as a build version (`version.build_number`). |
264+
| electronCompile| <code>boolean</code> | <a name="Config-electronCompile"></a>Whether to use [electron-compile](http://github.com/electron/electron-compile) to compile app. Defaults to `true` if `electron-compile` in the dependencies. And `false` if in the `devDependencies` or doesn't specified. |
264265
| mac| <code>[MacOptions](#MacOptions)</code> \| <code>null</code> | <a name="Config-mac"></a> |
265266
| mas| <code>[MasBuildOptions](#MasBuildOptions)</code> \| <code>null</code> | <a name="Config-mas"></a> |
266267
| dmg| <code>[DmgOptions](#DmgOptions)</code> \| <code>null</code> | <a name="Config-dmg"></a> |

docs/Publishing Artifacts.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,17 @@ Generic (any HTTP(S) server) options.
108108

109109
| Name | Type | Description |
110110
| --- | --- | --- |
111-
| url| <code>string</code> | <a name="GenericServerOptions-url"></a>The base url. e.g. `https://bucket_name.s3.amazonaws.com`. You can use `${os}` (expanded to `mac`, `linux` or `win` according to target platform) and `${arch}` macros. |
111+
| **url**| <code>string</code> | <a name="GenericServerOptions-url"></a>The base url. e.g. `https://bucket_name.s3.amazonaws.com`. You can use `${os}` (expanded to `mac`, `linux` or `win` according to target platform) and `${arch}` macros. |
112112
| channel = <code>&quot;latest&quot;</code>| <code>string</code> \| <code>null</code> | <a name="GenericServerOptions-channel"></a>The channel. |
113113

114114
<a name="GithubOptions"></a>
115115

116116
### `GithubOptions` ⇐ <code>[PublishConfiguration](#PublishConfiguration)</code>
117117
GitHub options.
118118

119+
GitHub [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.
120+
Define `GH_TOKEN` environment variable.
121+
119122
**Kind**: interface of <code>[electron-builder-http/out/publishOptions](#module_electron-builder-http/out/publishOptions)</code>
120123
**Extends**: <code>[PublishConfiguration](#PublishConfiguration)</code>
121124
**Properties**
@@ -143,7 +146,7 @@ If `BT_TOKEN` is set and `GH_TOKEN` is not set — defaults to `[{provider: "bin
143146

144147
| Name | Type | Description |
145148
| --- | --- | --- |
146-
| provider| <code>"github"</code> \| <code>"bintray"</code> \| <code>"s3"</code> \| <code>"generic"</code> | <a name="PublishConfiguration-provider"></a>The provider. |
149+
| **provider**| <code>"github"</code> \| <code>"bintray"</code> \| <code>"s3"</code> \| <code>"generic"</code> | <a name="PublishConfiguration-provider"></a>The provider. |
147150
| owner| <code>string</code> \| <code>null</code> | <a name="PublishConfiguration-owner"></a>The owner. |
148151
| token| <code>string</code> \| <code>null</code> | <a name="PublishConfiguration-token"></a> |
149152

@@ -161,7 +164,7 @@ Define `AWS_SECRET_ACCESS_KEY` and `AWS_ACCESS_KEY_ID` [environment variables](h
161164

162165
| Name | Type | Description |
163166
| --- | --- | --- |
164-
| bucket| <code>string</code> | <a name="S3Options-bucket"></a>The bucket name. |
167+
| **bucket**| <code>string</code> | <a name="S3Options-bucket"></a>The bucket name. |
165168
| path = <code>&quot;/&quot;</code>| <code>string</code> \| <code>null</code> | <a name="S3Options-path"></a>The directory path. |
166169
| region| <code>string</code> \| <code>null</code> | <a name="S3Options-region"></a>The region. Is determined and set automatically when publishing. |
167170
| channel = <code>&quot;latest&quot;</code>| <code>string</code> \| <code>null</code> | <a name="S3Options-channel"></a>The channel. |
@@ -184,12 +187,12 @@ Define `AWS_SECRET_ACCESS_KEY` and `AWS_ACCESS_KEY_ID` [environment variables](h
184187

185188
| Name | Type | Description |
186189
| --- | --- | --- |
187-
| path| <code>string</code> | <a name="UpdateInfo-path"></a> |
190+
| **path**| <code>string</code> | <a name="UpdateInfo-path"></a> |
188191
| githubArtifactName| <code>string</code> \| <code>null</code> | <a name="UpdateInfo-githubArtifactName"></a> |
189-
| sha2| <code>string</code> | <a name="UpdateInfo-sha2"></a> |
192+
| **sha2**| <code>string</code> | <a name="UpdateInfo-sha2"></a> |
190193
| releaseName| <code>string</code> \| <code>null</code> | <a name="UpdateInfo-releaseName"></a>The release name. |
191194
| releaseNotes| <code>string</code> \| <code>null</code> | <a name="UpdateInfo-releaseNotes"></a>The release notes. |
192-
| releaseDate| <code>string</code> | <a name="UpdateInfo-releaseDate"></a>The release date. |
195+
| **releaseDate**| <code>string</code> | <a name="UpdateInfo-releaseDate"></a>The release date. |
193196

194197
<a name="VersionInfo"></a>
195198

@@ -199,7 +202,7 @@ Define `AWS_SECRET_ACCESS_KEY` and `AWS_ACCESS_KEY_ID` [environment variables](h
199202

200203
| Name | Type | Description |
201204
| --- | --- | --- |
202-
| version| <code>string</code> | <a name="VersionInfo-version"></a>The version. |
205+
| **version**| <code>string</code> | <a name="VersionInfo-version"></a>The version. |
203206

204207
<a name="module_electron-builder-http/out/publishOptions.githubUrl"></a>
205208

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"sanitize-filename": "^1.6.1",
5757
"semver": "^5.3.0",
5858
"stat-mode": "^0.2.2",
59-
"ts-jsdoc": "^1.2.0",
59+
"ts-jsdoc": "^1.2.1",
6060
"tunnel-agent": "^0.6.0",
6161
"update-notifier": "^2.1.0",
6262
"uuid-1345": "^0.99.6",

packages/electron-builder/src/fileTransformer.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,13 @@ import * as path from "path"
77
import { BuildInfo } from "./packagerApi"
88

99
export function isElectronCompileUsed(info: BuildInfo): boolean {
10-
const depList = [(<any>info.metadata).devDependencies, info.metadata.dependencies]
11-
if (info.isTwoPackageJsonProjectLayoutUsed) {
12-
depList.push((<any>info.devMetadata).devDependencies)
13-
depList.push(info.devMetadata.dependencies)
10+
if (info.config.electronCompile != null) {
11+
return info.config.electronCompile
1412
}
1513

16-
for (const deps of depList) {
17-
if (deps != null && "electron-compile" in deps) {
18-
return true
19-
}
20-
}
21-
22-
return false
14+
// if in devDependencies - it means that babel is used for precompilation or for some reason user decided to not use electron-compile for production
15+
const deps = info.metadata.dependencies
16+
return deps != null && "electron-compile" in deps
2317
}
2418

2519
export async function createTransformer(srcDir: string, extraMetadata: any): Promise<FileTransformer> {

packages/electron-builder/src/metadata.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@ export interface Config extends PlatformSpecificBuildOptions {
197197
*/
198198
readonly buildVersion?: string | null
199199

200+
/**
201+
* Whether to use [electron-compile](http://github.com/electron/electron-compile) to compile app. Defaults to `true` if `electron-compile` in the dependencies. And `false` if in the `devDependencies` or doesn't specified.
202+
*/
203+
readonly electronCompile?: boolean
204+
200205
readonly mac?: MacOptions | null
201206
readonly mas?: MasBuildOptions | null
202207
readonly dmg?: DmgOptions | null

yarn.lock

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2255,18 +2255,14 @@ mime@^1.3.4:
22552255
dependencies:
22562256
brace-expansion "^1.0.0"
22572257

2258-
minimist@0.0.8:
2258+
minimist@0.0.8, minimist@~0.0.1:
22592259
version "0.0.8"
22602260
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
22612261

22622262
minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
22632263
version "1.2.0"
22642264
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
22652265

2266-
minimist@~0.0.1:
2267-
version "0.0.10"
2268-
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
2269-
22702266
mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
22712267
version "0.5.1"
22722268
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
@@ -3169,9 +3165,9 @@ ts-babel@^3.0.0:
31693165
fs-extra-p "^4.1.0"
31703166
source-map-support "^0.4.14"
31713167

3172-
ts-jsdoc@^1.2.0:
3173-
version "1.2.0"
3174-
resolved "https://registry.yarnpkg.com/ts-jsdoc/-/ts-jsdoc-1.2.0.tgz#7400db16493fe3292bf884122142bd02b755d085"
3168+
ts-jsdoc@^1.2.1:
3169+
version "1.2.1"
3170+
resolved "https://registry.yarnpkg.com/ts-jsdoc/-/ts-jsdoc-1.2.1.tgz#e2b05881c4f8cc4b0972586d01d7a91673d18745"
31753171
dependencies:
31763172
bluebird-lst "^1.0.2"
31773173
chalk "^1.1.3"

0 commit comments

Comments
 (0)