You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(docs): migrating to typedoc and upgrading mkdocs+material packages (#8491)
Huge lift to get the documentation site in a much better state.
Upgrading `mkdoc` and related theme packages. Migrated to `typedoc` for
a variety of reasons, most notably that it can provide more info of
properties when rendered (such as `@deprecated` messages)
Migrates `docs` dir to `pages` as template documents. We copy this over
to `docs` before generating `.md` with typedoc into `docs` dir. This is
all automatically handled when we run `pnpm docs:all` (if local) or `sh
./netlify-docs.sh` (if netlify)
Dynamically inserts `.md` files via `{% includes <path> %}` tags to
streamline maintaining parity with released state of typedoc.
Adjusts CSS to allow full width of browser window to be used (better
readability of docs)
| “I want to configure electron-builder” |[See options](https://electron.build/configuration)|
97
+
| “I found a bug or I have a question” |[Open an issue](https://github.com/electron-userland/electron-builder/issues/new)|
98
+
| “I want to support development” |[Donate](https://www.electron.build/donate)|
99
99
100
100
## Installation
101
101
[Yarn](http://yarnpkg.com/) is [strongly](https://github.com/electron-userland/electron-builder/issues/1147#issuecomment-276284477) recommended instead of npm.
@@ -129,9 +129,9 @@ will declare to use node-modules instead of PnP.
129
129
130
130
[electron-webpack-quick-start](https://github.com/electron-userland/electron-webpack-quick-start) is a recommended way to create a new Electron application. See [Boilerplates](https://www.electron.build/#boilerplates).
131
131
132
-
1. Specify the standard fields in the application `package.json` — [name](https://electron.build/configuration/configuration#Metadata-name), `description`, `version` and [author](https://docs.npmjs.com/files/package.json#people-fields-author-contributors).
132
+
1. Specify the standard fields in the application `package.json` — [name](https://electron.build./configuration.md#Metadata-name), `description`, `version` and [author](https://docs.npmjs.com/files/package.json#people-fields-author-contributors).
133
133
134
-
2. Specify the [build](https://electron.build/configuration/configuration#build) configuration in the `package.json` as follows:
134
+
2. Specify the [build](https://electron.build./configuration.md#build) configuration in the `package.json` as follows:
135
135
```json
136
136
"build": {
137
137
"appId": "your.id",
@@ -140,7 +140,7 @@ will declare to use node-modules instead of PnP.
140
140
}
141
141
}
142
142
```
143
-
See [all options](https://www.electron.build/configuration/configuration). Option [files](https://www.electron.build/configuration/contents#files) to indicate which files should be packed in the final application, including the entry file, maybe required.
143
+
See [all options](https://www.electron.build/configuration). Option [files](https://www.electron.build/contents#files) to indicate which files should be packed in the final application, including the entry file, maybe required.
144
144
You can also use separate configuration files, such as `js`, `ts`, `yml`, and `json`/`json5`. See [read-config-file](https://www.npmjs.com/package/read-config-file) for supported extensions. [JS Example for programmatic API](https://www.electron.build/api/programmatic-usage)
145
145
146
146
3. Add [icons](https://www.electron.build/icons).
@@ -156,12 +156,70 @@ will declare to use node-modules instead of PnP.
156
156
157
157
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps"` to your `package.json`.
158
158
159
-
5. If you have native addons of your own that are part of the application (not as a dependency), set [nodeGypRebuild](https://www.electron.build/configuration/configuration#Configuration-nodeGypRebuild) to `true`.
159
+
5. If you have native addons of your own that are part of the application (not as a dependency), set [nodeGypRebuild](https://www.electron.build./configuration.md#Configuration-nodeGypRebuild) to `true`.
160
160
161
-
Please note that everything is packaged into an asar archive [by default](https://electron.build/configuration/configuration#Configuration-asar).
161
+
Please note that everything is packaged into an asar archive [by default](https://electron.build./configuration.md#Configuration-asar).
162
162
163
163
For an app that will be shipped to production, you should sign your application. See [Where to buy code signing certificates](https://www.electron.build/code-signing#where-to-buy-code-signing-certificate).
164
164
165
+
## Programmatic Usage
166
+
See `node_modules/electron-builder/out/index.d.ts`. Typings for TypeScript are provided and also can be found [here](/api/electron-builder.md).
167
+
168
+
Code snippit provided below is also shown "in action" [here](/api/programmatic-usage.md) as well.
169
+
```js
170
+
"use strict"
171
+
172
+
const builder = require("electron-builder")
173
+
const Platform = builder.Platform
174
+
175
+
// Promise is returned
176
+
builder.build({
177
+
targets: Platform.MAC.createTarget(),
178
+
config: {
179
+
"//": "build options, see https://goo.gl/QQXmcV"
180
+
}
181
+
})
182
+
.then(() => {
183
+
// handle result
184
+
})
185
+
.catch((error) => {
186
+
// handle error
187
+
})
188
+
```
189
+
190
+
## Boilerplates
191
+
192
+
*[electron-webpack-quick-start](https://github.com/electron-userland/electron-webpack-quick-start) — A bare minimum project structure to get started developing with [electron-webpack](https://github.com/electron-userland/electron-webpack). Recommended.
193
+
*[electron-react-boilerplate](https://github.com/chentsulin/electron-react-boilerplate) A boilerplate for scalable cross-platform desktop apps.
194
+
*[electron-react-redux-boilerplate](https://github.com/jschr/electron-react-redux-boilerplate) A minimal boilerplate to get started with Electron, React and Redux.
195
+
*[electron-boilerplate](https://github.com/szwacz/electron-boilerplate) A minimalistic yet comprehensive boilerplate application.
196
+
*[Vue CLI 3 plugin for Electron](https://nklayman.github.io/vue-cli-plugin-electron-builder) A Vue CLI 3 plugin for Electron with no required configuration.
197
+
*[electron-vue-vite](https://github.com/caoxiemeihao/electron-vue-vite) A real simple Electron + Vue3 + Vite5 boilerplate.
198
+
*[vite-electron-builder](https://github.com/cawa-93/vite-electron-builder) Secure boilerplate for Electron app based on Vite. TypeScript + Vue/React/Angular/Svelte/Vanilla
199
+
200
+
## Debug
201
+
202
+
Set the `DEBUG` environment variable to debug what electron-builder is doing:
203
+
```bash
204
+
DEBUG=electron-builder
205
+
```
206
+
207
+
`FPM_DEBUG` env to add more details about building linux targets (except snap and appimage).
208
+
209
+
`DEBUG_DMG=true` env var to add more debugging/verbosity from `hdiutil` (macOS).
210
+
211
+
!!! tip "cmd"
212
+
On [Windows](https://github.com/visionmedia/debug#windows-command-prompt-notes) the environment variable is set using the set command.
213
+
```bash
214
+
set DEBUG=electron-builder
215
+
```
216
+
217
+
!!! tip "PowerShell"
218
+
PowerShell uses different syntax to set environment variables.
219
+
```bash
220
+
$env:DEBUG=electron-builder
221
+
```
222
+
165
223
## Donate
166
224
167
225
We do this open source work in our free time. If you'd like us to invest more time on it, please [donate](https://www.electron.build/donate).
0 commit comments