Skip to content

Commit 178a3c4

Browse files
authored
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)
1 parent 5e21509 commit 178a3c4

File tree

136 files changed

+2052
-8968
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+2052
-8968
lines changed

.changeset/red-beers-press.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
"app-builder-lib": patch
3+
"builder-util": patch
4+
"builder-util-runtime": patch
5+
"dmg-builder": patch
6+
"electron-builder": patch
7+
"electron-builder-squirrel-windows": patch
8+
"electron-forge-maker-appimage": patch
9+
"electron-forge-maker-nsis": patch
10+
"electron-forge-maker-nsis-web": patch
11+
"electron-forge-maker-snap": patch
12+
"electron-publish": patch
13+
"electron-updater": patch
14+
---
15+
16+
chore: migrating to typedoc and updating/improving type+interface definitions

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ out/
1515
/test/test-report.xml
1616

1717
/packages/dmg-builder/vendor/
18-
/packages/electron-builder/README.md
1918

2019
/scripts/jsdoc/out/
2120
/scripts/renderer/out/
2221

23-
electron-builder-*.d.ts
22+
docs/
23+
site/
2424

25-
/site/
25+
electron-builder-*.d.ts
2626

2727
tsconfig.tsbuildinfo
2828

Pipfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ verify_ssl = true
44
name = "pypi"
55

66
[packages]
7-
mkdocs-material = "<10"
8-
mkdocs = "<1.7"
9-
markdown-include = "<0.8.1"
10-
pymdown-extensions = "~=10.3"
11-
pygments = "~=2.0"
7+
mkdocs = "*"
8+
mkdocs-include-markdown-plugin = "*"
9+
pymdown-extensions = "*"
10+
pygments = "*"
11+
mkdocs-material = "*"
1212

1313
[dev-packages]
1414

1515
[requires]
16-
python_version = "3"
16+
python_version = "^3.8"

Pipfile.lock

Lines changed: 243 additions & 222 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 78 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Always looking for community contributions! 👀 Setting up a [dev environment](
1212
<td>
1313
<a href="https://workflowy.com">
1414
<div>
15-
<img src="https://workflowy.com/media/i/icon-28x28.png" alt="WorkFlowy" title="WorkFlowy" height="50" align="middle"/>
15+
<img src="https://workflowy.com/media/i/icon-28x28.png" alt="WorkFlowy" title="WorkFlowy" style="height: 50px;" height="50"/>
1616
</div>
1717
Notes, Tasks, Projects.<br>All in a Single Place.
1818
</a>
@@ -24,7 +24,7 @@ Always looking for community contributions! 👀 Setting up a [dev environment](
2424
<br>
2525
<a href="https://tidepool.org">
2626
<div>
27-
<img src="https://www.electron.build/sponsor-logos/Tidepool_Logo_Light.svg" alt="Tidepool" title="Tidepool" height="75" align="middle"/>
27+
<img src="https://www.electron.build/sponsor-logos/Tidepool_Logo_Light.svg" alt="Tidepool" title="Tidepool" style="height: 75px;" height="75" />
2828
</div>
2929
Your gateway to understanding your diabetes data
3030
</a>
@@ -34,7 +34,7 @@ Always looking for community contributions! 👀 Setting up a [dev environment](
3434
<br>
3535
<a href="https://keygen.sh/?via=electron-builder">
3636
<div>
37-
<img src="https://keygen.sh/images/logo-pill.png" alt="Keygen" title="Keygen" height="75" align="middle"/>
37+
<img src="https://keygen.sh/images/logo-pill.png" alt="Keygen" title="Keygen" style="height: 75px;" height="75" />
3838
</div>
3939
An open, source-available software licensing and distribution API
4040
</a>
@@ -46,7 +46,7 @@ Always looking for community contributions! 👀 Setting up a [dev environment](
4646
<br>
4747
<a href="https://www.todesktop.com/electron?utm_source=electron-builder">
4848
<div>
49-
<img src="https://www.todesktop.com/new-logo/todesktop-logo.png" alt="ToDesktop" title="ToDesktop" height="75" align="middle"/>
49+
<img src="https://www.todesktop.com/new-logo/todesktop-logo.png" alt="ToDesktop" title="ToDesktop" style="height: 75px;" height="75" />
5050
</div>
5151
ToDesktop: An all-in-one platform for building and releasing Electron apps
5252
</a>
@@ -56,7 +56,7 @@ Always looking for community contributions! 👀 Setting up a [dev environment](
5656
<br>
5757
<a href="https://www.dashcam.io/?ref=electron_builder">
5858
<div>
59-
<img src="https://user-images.githubusercontent.com/318295/226675216-ab6aad0c-526c-4a45-a0a8-3906ac614b8b.png" alt="Dashcam" title="Dashcam" height="75" align="middle"/>
59+
<img src="https://user-images.githubusercontent.com/318295/226675216-ab6aad0c-526c-4a45-a0a8-3906ac614b8b.png" alt="Dashcam" title="Dashcam" style="height: 75px;" height="75" />
6060
</div>
6161
Dashcam: Capture the steps to reproduce any bug with video crash reports for Electron.
6262
</a>
@@ -78,24 +78,24 @@ See the full documentation on [electron.build](https://www.electron.build).
7878
* [Auto Update](https://www.electron.build/auto-update) ready application packaging.
7979
* Numerous target formats:
8080
* All platforms: `7z`, `zip`, `tar.xz`, `tar.7z`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir` (unpacked directory).
81-
* [macOS](https://www.electron.build/configuration/mac): `dmg`, `pkg`, `mas`.
82-
* [Linux](https://www.electron.build/configuration/linux): [AppImage](http://appimage.org), [snap](http://snapcraft.io), debian package (`deb`), `rpm`, `freebsd`, `pacman`, `p5p`, `apk`.
83-
* [Windows](https://www.electron.build/configuration/win): `nsis` (Installer), `nsis-web` (Web installer), `portable` (portable app without installation), AppX (Windows Store), MSI, Squirrel.Windows.
84-
* [Publishing artifacts](https://www.electron.build/configuration/publish) to GitHub Releases, Amazon S3, DigitalOcean Spaces and Bintray.
81+
* [macOS](https://www.electron.build/mac): `dmg`, `pkg`, `mas`.
82+
* [Linux](https://www.electron.build/linux): [AppImage](http://appimage.org), [snap](http://snapcraft.io), debian package (`deb`), `rpm`, `freebsd`, `pacman`, `p5p`, `apk`.
83+
* [Windows](https://www.electron.build/win): `nsis` (Installer), `nsis-web` (Web installer), `portable` (portable app without installation), AppX (Windows Store), MSI, Squirrel.Windows.
84+
* [Publishing artifacts](https://www.electron.build/publish) to GitHub Releases, Amazon S3, DigitalOcean Spaces and Bintray.
8585
* Advanced building:
8686
* Pack in a distributable format [already packaged app](https://www.electron.build/#pack-only-in-a-distributable-format).
8787
* Separate [build steps](https://github.com/electron-userland/electron-builder/issues/1102#issuecomment-271845854).
8888
* Build and publish in parallel, using hard links on CI server to reduce IO and disk space usage.
8989
* [electron-compile](https://github.com/electron/electron-compile) support (compile for release-time on the fly on build).
9090
* [Docker](https://www.electron.build/multi-platform-build#docker) images to build Electron app for Linux or Windows on any platform.
91-
* [Proton Native](https://www.electron.build/configuration/configuration/#proton-native) support.
91+
* [Proton Native](https://www.electron.build/configuration/#proton-native) support.
9292
* Downloads all required tools files on demand automatically (e.g. to code sign windows application, to make AppX), no need to setup.
9393

94-
| Question | Answer |
95-
|----------|-------|
96-
| “I want to configure electron-builder” | [See options](https://electron.build/configuration/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) |
94+
| Question | Answer |
95+
| -------------------------------------- | --------------------------------------------------------------------------------- |
96+
| “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) |
9999

100100
## Installation
101101
[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.
129129

130130
[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).
131131

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).
133133

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:
135135
```json
136136
"build": {
137137
"appId": "your.id",
@@ -140,7 +140,7 @@ will declare to use node-modules instead of PnP.
140140
}
141141
}
142142
```
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.
144144
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)
145145

146146
3. Add [icons](https://www.electron.build/icons).
@@ -156,12 +156,70 @@ will declare to use node-modules instead of PnP.
156156

157157
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps"` to your `package.json`.
158158

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`.
160160

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).
162162

163163
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).
164164

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+
165223
## Donate
166224

167225
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

Comments
 (0)