diff --git a/.babelrc b/.babelrc index 03cb4152f8..18a53aba78 100644 --- a/.babelrc +++ b/.babelrc @@ -1,12 +1,7 @@ { "sourceMaps": "inline", - "ignore": [ - "./tmpl" - ], - "plugins": [ - "@babel/plugin-proposal-class-properties", - "source-map-support" - ], + "ignore": ["./tmpl"], + "plugins": ["@babel/plugin-proposal-class-properties", "source-map-support"], "presets": [ [ "@babel/preset-env", diff --git a/.eslintignore b/.eslintignore index 7b0fc151ae..2b6fe7c12c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,8 @@ dist +docs/ node_modules *.d.ts +packages/*/*/doc packages/*/*/index.ts +packages/**/bad.js tmpl diff --git a/.eslintrc.json b/.eslintrc.json index 256cfdf5fe..71a173c149 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,90 +1,92 @@ { - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 8, - "sourceType": "module" - }, - "plugins": [ - "mocha", - "@typescript-eslint" - ], + "plugins": ["mocha"], "env": { - "mocha": true, - "node": true + "mocha": true }, - "extends": [ - "airbnb-base", - "plugin:import/typescript" - ], + "extends": ["@malept/eslint-config/src/common"], "globals": { "NodeJS": "readonly" }, "rules": { - "class-methods-use-this": "off", - "import/extensions": [ + "no-unused-vars": [ "error", - "always", { - "js": "never", - "ts": "never" + "args": "after-used", + "argsIgnorePattern": "^_", + "ignoreRestSiblings": true, + "vars": "all" } ], - "import/no-cycle": "off", - "import/no-extraneous-dependencies": ["error", { "devDependencies": ["packages/**/test/**/*_spec*.ts"] }], - "mocha/no-exclusive-tests": "error", - "no-await-in-loop": "off", - "no-param-reassign": "off", - "no-restricted-syntax": [ - "error", - { - "selector": "ForInStatement", - "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array." - }, - { - "selector": "LabeledStatement", - "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." - }, - { - "selector": "WithStatement", - "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." - } - ], - "no-shadow": "off", - "@typescript-eslint/no-shadow": ["error"], - "no-unused-vars": "off", - "@typescript-eslint/no-this-alias": ["error", { - "allowDestructuring": true - }], - "@typescript-eslint/no-unused-vars": ["error", { - "args": "after-used", - "argsIgnorePattern": "^_", - "ignoreRestSiblings": true, - "vars": "all" - }], - "no-use-before-define": "off", - "@typescript-eslint/no-use-before-define": ["error"] + "mocha/no-exclusive-tests": "error" }, "overrides": [ + { + "files": ["**/*.ts"], + "extends": ["@malept/eslint-config/src/typescript"], + "rules": { + "@typescript-eslint/no-unused-vars": [ + "error", + { + "args": "after-used", + "argsIgnorePattern": "^_", + "ignoreRestSiblings": true, + "vars": "all" + } + ] + } + }, { "files": ["packages/*/*/test/**/*_spec*.ts"], "rules": { "global-require": "off", "import/no-dynamic-require": "off" } - } - ], - "settings": { - "import/extensions": [ - ".js", - ".ts" - ], - "import/parsers": { - "@typescript-eslint/parser": [".ts"] }, - "import/resolver": { - "node": { - "extensions": [".js", ".json", ".ts"] + { + "files": ["packages/api/cli/src/**/*.ts", "tools/*.{js,ts}"], + "rules": { + "no-process-exit": "off" + } + }, + { + "files": ["packages/api/core/test/**/*.ts", "packages/maker/*/src/Maker*.ts"], + "rules": { + "@typescript-eslint/no-var-requires": "off" + } + }, + { + "files": ["packages/*/*/test/fixture/**/*.js", "packages/*/*/test/fixtures/**/*.js"], + "rules": { + "node/no-extraneous-require": "off", + "node/no-missing-require": "off", + "node/no-unpublished-require": "off" + } + }, + { + "files": ["packages/plugin/webpack/test/fixtures/**/*.js"], + "rules": { + "no-process-exit": "off", + "no-undef": "off", + "import/no-unresolved": "off", + "node/no-missing-import": "off", + "node/no-unpublished-import": "off", + "node/no-unsupported-features/es-syntax": "off" + } + }, + { + "files": ["packages/utils/web-multi-logger/static/*.js"], + "env": { + "browser": true, + "node": false + } + }, + { + "files": ["tools/*.{js,ts}"], + "rules": { + "node/no-unpublished-import": "off", + "node/no-unpublished-require": "off", + "node/shebang": "off" } } - } + ] } diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 0d42fff426..65957f23e9 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,6 +1,6 @@ name: Bug report description: Create a report to help us improve Electron Forge -labels: "Bug" +labels: 'Bug' body: - type: checkboxes diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c3fcb6032e..c58637170a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,7 +3,7 @@ blank_issues_enabled: false contact_links: - name: Question url: https://discord.gg/electron - about: "Please ask questions about using Electron Forge in the official Electron Discord server, at the #electron-forge channel." + about: 'Please ask questions about using Electron Forge in the official Electron Discord server, at the #electron-forge channel.' - name: Website Issues url: https://github.com/electron-forge/electron-forge-docs/issues/new about: Website issues / pull requests should be filed in the website repository. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 15b32fdb25..4f7912d333 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,6 +1,6 @@ name: Feature request description: Suggest an idea for Electron Forge -labels: "Enhancement" +labels: 'Enhancement' body: - type: checkboxes diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9fc9fcd661..9bf3a3c1de 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,16 +1,16 @@ version: 2 updates: - - package-ecosystem: "npm" - directory: "/" + - package-ecosystem: 'npm' + directory: '/' # Check the npm registry for updates every weekday schedule: - interval: "daily" + interval: 'daily' ignore: # Everything not annotated here is documented in tools/update-dependencies.js # @aws-sdk/* upgrades too often, do this manually - - dependency-name: "@aws-sdk/client-s3" - - dependency-name: "@aws-sdk/lib-storage" - - dependency-name: "@aws-sdk/types" - - dependency-name: "@types/node-fetch" + - dependency-name: '@aws-sdk/client-s3' + - dependency-name: '@aws-sdk/lib-storage' + - dependency-name: '@aws-sdk/types' + - dependency-name: '@types/node-fetch' - dependency-name: commander - dependency-name: electron-notarize - dependency-name: find-up @@ -18,23 +18,23 @@ updates: - dependency-name: node-fetch - dependency-name: ora - dependency-name: username - - package-ecosystem: "npm" - directory: "/packages/template/typescript/tmpl" + - package-ecosystem: 'npm' + directory: '/packages/template/typescript/tmpl' # Check the npm registry for updates every weekday schedule: - interval: "daily" - - package-ecosystem: "npm" - directory: "/packages/template/typescript-webpack/tmpl" + interval: 'daily' + - package-ecosystem: 'npm' + directory: '/packages/template/typescript-webpack/tmpl' # Check the npm registry for updates every weekday schedule: - interval: "daily" - - package-ecosystem: "npm" - directory: "/packages/template/webpack/tmpl" + interval: 'daily' + - package-ecosystem: 'npm' + directory: '/packages/template/webpack/tmpl' # Check the npm registry for updates every weekday schedule: - interval: "daily" - - package-ecosystem: "github-actions" - directory: "/" + interval: 'daily' + - package-ecosystem: 'github-actions' + directory: '/' schedule: # Check for updates to GitHub Actions every weekday - interval: "daily" + interval: 'daily' diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 292b69d3f3..a564a3b34b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -3,12 +3,10 @@ Thanks for filing a pull request! Please check off all of the steps as they are completed by replacing [ ] with [x]. --> -* [ ] I have read the [contribution documentation](https://github.com/electron-userland/electron-forge/blob/master/CONTRIBUTING.md) for this project. -* [ ] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project follows, as appropriate. -* [ ] The changes are appropriately documented (if applicable). -* [ ] The changes have sufficient test coverage (if applicable). -* [ ] The testsuite passes successfully on my local machine (if applicable). +- [ ] I have read the [contribution documentation](https://github.com/electron-userland/electron-forge/blob/master/CONTRIBUTING.md) for this project. +- [ ] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project follows, as appropriate. +- [ ] The changes are appropriately documented (if applicable). +- [ ] The changes have sufficient test coverage (if applicable). +- [ ] The testsuite passes successfully on my local machine (if applicable). **Summarize your changes:** - - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e0b9de1be..eed2e49c0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,18 +12,18 @@ jobs: dependabolt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.4 - - name: Use Node.js LTS - uses: actions/setup-node@v2.4.0 - with: - node-version: 14.x - cache: yarn - - name: Run dependabolt - if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.head.ref, 'dependabot/npm_and_yarn') && !contains(github.event.pull_request.head.ref, 'npm_and_yarn/packages') }} - uses: malept/github-action-dependabolt@v4.0.1 - env: - DEPENDABOLT_SSH_DEPLOY_KEY: ${{ secrets.DEPENDABOLT_SSH_DEPLOY_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/checkout@v2.3.4 + - name: Use Node.js LTS + uses: actions/setup-node@v2.4.0 + with: + node-version: 14.x + cache: yarn + - name: Run dependabolt + if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.head.ref, 'dependabot/npm_and_yarn') && !contains(github.event.pull_request.head.ref, 'npm_and_yarn/packages') }} + uses: malept/github-action-dependabolt@v4.0.1 + env: + DEPENDABOLT_SSH_DEPLOY_KEY: ${{ secrets.DEPENDABOLT_SSH_DEPLOY_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} fast-tests: runs-on: ${{ matrix.os }} needs: dependabolt diff --git a/.mocharc.js b/.mocharc.js index ea986709f4..5035b610da 100644 --- a/.mocharc.js +++ b/.mocharc.js @@ -1,11 +1,7 @@ -const path = require('path') +const path = require('path'); module.exports = { - "require": [ - "ts-node/register", - "@babel/register", - path.join(__dirname, "tools", "test-setup.ts") - ], - "timeout": 800000, - "recursive": true -} + require: ['ts-node/register', '@babel/register', path.join(__dirname, 'tools', 'test-setup.ts')], + timeout: 800000, + recursive: true, +}; diff --git a/.now.json b/.now.json index c05d639837..5a89f5e6aa 100644 --- a/.now.json +++ b/.now.json @@ -1,7 +1,5 @@ { "name": "forge-docs", "type": "static", - "alias": [ - "js.electronforge.io" - ] -} \ No newline at end of file + "alias": ["js.electronforge.io"] +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..d76f89cf49 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,10 @@ +.nyc_output +dist/ +docs/ +packages/*/*/dist +packages/*/*/doc +packages/*/*/index.d.ts +packages/*/*/index.ts +packages/*/*/README.md +packages/*/*/tsconfig.json +packages/api/core/test/fixture/bad_external_forge_config/bad.js diff --git a/CHANGELOG.md b/CHANGELOG.md index fca26c21e5..59afb469d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,2261 +2,2261 @@ ##### New Features -* **publisher-github:** add debug support for Octokit (#2499) ([73252c30](https://github.com/electron-userland/electron-forge/commit/73252c30)) +- **publisher-github:** add debug support for Octokit (#2499) ([73252c30](https://github.com/electron-userland/electron-forge/commit/73252c30)) ##### Bug Fixes -* unpin electron-notarize (#2515) ([af78353b](https://github.com/electron-userland/electron-forge/commit/af78353b)) +- unpin electron-notarize (#2515) ([af78353b](https://github.com/electron-userland/electron-forge/commit/af78353b)) #### [6.0.0-beta.60](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.60) (2021-08-30) ##### New Features -* **plugin-webpack:** allow most webpack-dev-server options to be configurable (#2444) ([699d4862](https://github.com/electron-userland/electron-forge/commit/699d4862)) -* **deps:** upgrade to electron-rebuild@^3.1.1 (#2434) ([60778998](https://github.com/electron-userland/electron-forge/commit/60778998)) +- **plugin-webpack:** allow most webpack-dev-server options to be configurable (#2444) ([699d4862](https://github.com/electron-userland/electron-forge/commit/699d4862)) +- **deps:** upgrade to electron-rebuild@^3.1.1 (#2434) ([60778998](https://github.com/electron-userland/electron-forge/commit/60778998)) ##### Bug Fixes -* **core:** - * better errors when maker names are invalid (#2467) ([ca41d9ba](https://github.com/electron-userland/electron-forge/commit/ca41d9ba)) - * add support for finding electron for npm 7 workspaces (#2446) ([4c601519](https://github.com/electron-userland/electron-forge/commit/4c601519)) -* **plugin-webpack:** - * fix deprecation warnings for dev-server@4.0.0 (#2457) ([99797449](https://github.com/electron-userland/electron-forge/commit/99797449)) - * don't specify resolve.modules by default (#2149) ([4a992b76](https://github.com/electron-userland/electron-forge/commit/4a992b76)) - * don't show the error message if packagerConfig.ignore is a function (#2424) ([4b4f16c3](https://github.com/electron-userland/electron-forge/commit/4b4f16c3)) -* **template-webpack:** only use node-loader if the .node files are in native_modules/ (#2449) ([bd2526b3](https://github.com/electron-userland/electron-forge/commit/bd2526b3)) -* **maker-dmg:** add the arch to the default dmg name (#2431) ([0c65f17d](https://github.com/electron-userland/electron-forge/commit/0c65f17d)) +- **core:** + - better errors when maker names are invalid (#2467) ([ca41d9ba](https://github.com/electron-userland/electron-forge/commit/ca41d9ba)) + - add support for finding electron for npm 7 workspaces (#2446) ([4c601519](https://github.com/electron-userland/electron-forge/commit/4c601519)) +- **plugin-webpack:** + - fix deprecation warnings for dev-server@4.0.0 (#2457) ([99797449](https://github.com/electron-userland/electron-forge/commit/99797449)) + - don't specify resolve.modules by default (#2149) ([4a992b76](https://github.com/electron-userland/electron-forge/commit/4a992b76)) + - don't show the error message if packagerConfig.ignore is a function (#2424) ([4b4f16c3](https://github.com/electron-userland/electron-forge/commit/4b4f16c3)) +- **template-webpack:** only use node-loader if the .node files are in native_modules/ (#2449) ([bd2526b3](https://github.com/electron-userland/electron-forge/commit/bd2526b3)) +- **maker-dmg:** add the arch to the default dmg name (#2431) ([0c65f17d](https://github.com/electron-userland/electron-forge/commit/0c65f17d)) ##### Other Changes -* **core:** add required Forge version for templates (#2415) ([c094d168](https://github.com/electron-userland/electron-forge/commit/c094d168)) +- **core:** add required Forge version for templates (#2415) ([c094d168](https://github.com/electron-userland/electron-forge/commit/c094d168)) #### [6.0.0-beta.59](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.59) (2021-07-26) ##### Bug Fixes -* **template-typescript-webpack:** lint tsx files by default (#2403) ([c2e6c49f](https://github.com/electron-userland/electron-forge/commit/c2e6c49f)) -* **template:** add plugin:import/electron to TypeScript ESLint config (#2399) ([f42c962a](https://github.com/electron-userland/electron-forge/commit/f42c962a)) -* **webpack-plugin:** Ensure asset relocator injected code works with nodeIntegration disabled (#2396) ([146fc311](https://github.com/electron-userland/electron-forge/commit/146fc311)) +- **template-typescript-webpack:** lint tsx files by default (#2403) ([c2e6c49f](https://github.com/electron-userland/electron-forge/commit/c2e6c49f)) +- **template:** add plugin:import/electron to TypeScript ESLint config (#2399) ([f42c962a](https://github.com/electron-userland/electron-forge/commit/f42c962a)) +- **webpack-plugin:** Ensure asset relocator injected code works with nodeIntegration disabled (#2396) ([146fc311](https://github.com/electron-userland/electron-forge/commit/146fc311)) #### [6.0.0-beta.58](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.58) (2021-07-18) ##### New Features -* **plugin-webpack:** - * improve native asset relocation without forking Vercel loader (#2320) ([db8a3f39](https://github.com/electron-userland/electron-forge/commit/db8a3f39)) - * add devContentSecurityPolicy config option (#2332) ([7d461090](https://github.com/electron-userland/electron-forge/commit/7d461090)) - * add nodeIntegration config for renderers (#2330) ([6e0a6248](https://github.com/electron-userland/electron-forge/commit/6e0a6248)) -* **core:** add `platform` and `arch` to `generateAssets` hook parameters (#2327) ([e3af089d](https://github.com/electron-userland/electron-forge/commit/e3af089d)) +- **plugin-webpack:** + - improve native asset relocation without forking Vercel loader (#2320) ([db8a3f39](https://github.com/electron-userland/electron-forge/commit/db8a3f39)) + - add devContentSecurityPolicy config option (#2332) ([7d461090](https://github.com/electron-userland/electron-forge/commit/7d461090)) + - add nodeIntegration config for renderers (#2330) ([6e0a6248](https://github.com/electron-userland/electron-forge/commit/6e0a6248)) +- **core:** add `platform` and `arch` to `generateAssets` hook parameters (#2327) ([e3af089d](https://github.com/electron-userland/electron-forge/commit/e3af089d)) ##### Bug Fixes -* **core:** search for electron in a `node_modules` folder with electron in it (#2326) ([43cbb0a6](https://github.com/electron-userland/electron-forge/commit/43cbb0a6)) -* **plugin-electronegativity:** add parserPlugins option (#2323) ([c7eff261](https://github.com/electron-userland/electron-forge/commit/c7eff261)) -* **plugin-webpack:** throw error if something bad happened in preload compilation (#2334) ([755a4502](https://github.com/electron-userland/electron-forge/commit/755a4502)) -* **maker-squirrel:** use executableName for exe when available (#2365) ([52f71443](https://github.com/electron-userland/electron-forge/commit/52f71443)) +- **core:** search for electron in a `node_modules` folder with electron in it (#2326) ([43cbb0a6](https://github.com/electron-userland/electron-forge/commit/43cbb0a6)) +- **plugin-electronegativity:** add parserPlugins option (#2323) ([c7eff261](https://github.com/electron-userland/electron-forge/commit/c7eff261)) +- **plugin-webpack:** throw error if something bad happened in preload compilation (#2334) ([755a4502](https://github.com/electron-userland/electron-forge/commit/755a4502)) +- **maker-squirrel:** use executableName for exe when available (#2365) ([52f71443](https://github.com/electron-userland/electron-forge/commit/52f71443)) #### [6.0.0-beta.57](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.57) (2021-05-23) ##### Chores -* set up typeRoots for package tsconfig (#2286) ([d378b201](https://github.com/electron-userland/electron-forge/commit/d378b201)) +- set up typeRoots for package tsconfig (#2286) ([d378b201](https://github.com/electron-userland/electron-forge/commit/d378b201)) ##### Bug Fixes -* **webpack-plugin:** add web as a target for the renderer process (#2285) ([9f2bc411](https://github.com/electron-userland/electron-forge/commit/9f2bc411)) +- **webpack-plugin:** add web as a target for the renderer process (#2285) ([9f2bc411](https://github.com/electron-userland/electron-forge/commit/9f2bc411)) #### [6.0.0-beta.56](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.56) (2021-05-22) ##### Build System / Dependencies -* **deps-dev:** - * bump ts-loader (#2282) ([8293fe75](https://github.com/electron-userland/electron-forge/commit/8293fe75)) - * bump node-loader (#2219) ([0c980dae](https://github.com/electron-userland/electron-forge/commit/0c980dae)) - * bump node-loader in /packages/template/webpack/tmpl (#2218) ([0ff2a518](https://github.com/electron-userland/electron-forge/commit/0ff2a518)) +- **deps-dev:** + - bump ts-loader (#2282) ([8293fe75](https://github.com/electron-userland/electron-forge/commit/8293fe75)) + - bump node-loader (#2219) ([0c980dae](https://github.com/electron-userland/electron-forge/commit/0c980dae)) + - bump node-loader in /packages/template/webpack/tmpl (#2218) ([0ff2a518](https://github.com/electron-userland/electron-forge/commit/0ff2a518)) ##### Chores -* require Node 12 for all packages (#2281) ([8fbbad24](https://github.com/electron-userland/electron-forge/commit/8fbbad24)) +- require Node 12 for all packages (#2281) ([8fbbad24](https://github.com/electron-userland/electron-forge/commit/8fbbad24)) ##### Bug Fixes -* **plugin-local-electron:** bind methods correctly (#2280) ([e60445d7](https://github.com/electron-userland/electron-forge/commit/e60445d7)) +- **plugin-local-electron:** bind methods correctly (#2280) ([e60445d7](https://github.com/electron-userland/electron-forge/commit/e60445d7)) ##### Other Changes -* **webpack-plugin:** upgrade to Webpack 5 (#2225) ([564a4451](https://github.com/electron-userland/electron-forge/commit/564a4451)) +- **webpack-plugin:** upgrade to Webpack 5 (#2225) ([564a4451](https://github.com/electron-userland/electron-forge/commit/564a4451)) #### [6.0.0-beta.55](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.55) (2021-05-18) ##### Build System / Dependencies -* **deps:** - * upgrade transitive dependencies ([a06b5b7d](https://github.com/electron-userland/electron-forge/commit/a06b5b7d)) - * bump ssri from 6.0.1 to 6.0.2 ([2215dac5](https://github.com/electron-userland/electron-forge/commit/2215dac5)) - * upgrade xterm to 4.12.0 ([0a8b1fb1](https://github.com/electron-userland/electron-forge/commit/0a8b1fb1)) - * upgrade webpack-dev-middleware to 4.2.0 ([790647dc](https://github.com/electron-userland/electron-forge/commit/790647dc)) - * upgrade semver to 7.3.5 ([30be10a6](https://github.com/electron-userland/electron-forge/commit/30be10a6)) - * upgrade ora to 5.4.0 ([c1866c46](https://github.com/electron-userland/electron-forge/commit/c1866c46)) - * upgrade mime-types to 2.1.30 ([679b3610](https://github.com/electron-userland/electron-forge/commit/679b3610)) - * upgrade glob to 7.1.7 ([ce94a505](https://github.com/electron-userland/electron-forge/commit/ce94a505)) - * upgrade electron-wix-msi to 3.2.0 ([cfce085e](https://github.com/electron-userland/electron-forge/commit/cfce085e)) - * upgrade aws-sdk to 2.908.0 ([f7a9dd53](https://github.com/electron-userland/electron-forge/commit/f7a9dd53)) - * upgrade @octokit/types to 6.14.2 ([c636a05b](https://github.com/electron-userland/electron-forge/commit/c636a05b)) - * upgrade @octokit/rest to 18.5.3 ([f5e57ae6](https://github.com/electron-userland/electron-forge/commit/f5e57ae6)) - * upgrade @octokit/core to 3.4.0 ([33d51315](https://github.com/electron-userland/electron-forge/commit/33d51315)) - * upgrade @malept/electron-installer-flatpak to 0.11.3 ([31449bcd](https://github.com/electron-userland/electron-forge/commit/31449bcd)) - * upgrade @doyensec/electronegativity to 1.9.0 ([f07333c6](https://github.com/electron-userland/electron-forge/commit/f07333c6)) - * bump codecov/codecov-action from 1.3.2 to 1.5.0 ([17693ba0](https://github.com/electron-userland/electron-forge/commit/17693ba0)) - * bump actions/checkout from 2 to 2.3.4 ([e4501d4e](https://github.com/electron-userland/electron-forge/commit/e4501d4e)) - * bump actions/setup-node from 2.1.4 to 2.1.5 ([cc4d2965](https://github.com/electron-userland/electron-forge/commit/cc4d2965)) - * bump actions/cache from 2 to 2.1.5 ([5024a135](https://github.com/electron-userland/electron-forge/commit/5024a135)) - * bump hosted-git-info from 2.8.8 to 2.8.9 ([534ac327](https://github.com/electron-userland/electron-forge/commit/534ac327)) - * bump codecov/codecov-action from v1.3.1 to v1.3.2 ([e1c218c1](https://github.com/electron-userland/electron-forge/commit/e1c218c1)) - * bump codecov/codecov-action from v1.2.2 to v1.3.1 ([785e9c0d](https://github.com/electron-userland/electron-forge/commit/785e9c0d)) - * bump codecov/codecov-action from v1.1.1 to v1.2.2 (#2195) ([60765e3f](https://github.com/electron-userland/electron-forge/commit/60765e3f)) - * upgrade xterm to 4.11.0 ([a4f187f5](https://github.com/electron-userland/electron-forge/commit/a4f187f5)) - * upgrade aws-sdk to 2.861.0 ([bfa508dc](https://github.com/electron-userland/electron-forge/commit/bfa508dc)) - * upgrade @octokit/core to 3.3.0 ([ae4c7862](https://github.com/electron-userland/electron-forge/commit/ae4c7862)) - * upgrade aws-sdk to 2.859.0 ([a9392ec6](https://github.com/electron-userland/electron-forge/commit/a9392ec6)) - * upgrade @octokit/types to 6.12.2 ([862a442b](https://github.com/electron-userland/electron-forge/commit/862a442b)) - * upgrade @octokit/rest to 18.3.5 ([42fbffaa](https://github.com/electron-userland/electron-forge/commit/42fbffaa)) - * upgrade xterm-addon-search to ^0.8.0 ([97bd764e](https://github.com/electron-userland/electron-forge/commit/97bd764e)) - * upgrade xterm-addon-fit to ^0.5.0 ([57b6ef94](https://github.com/electron-userland/electron-forge/commit/57b6ef94)) - * upgrade xterm to 4.10.0 ([c79a75e7](https://github.com/electron-userland/electron-forge/commit/c79a75e7)) - * upgrade webpack-dev-middleware to 4.1.0 ([80be342c](https://github.com/electron-userland/electron-forge/commit/80be342c)) - * upgrade ora to 5.3.0 ([0f68143a](https://github.com/electron-userland/electron-forge/commit/0f68143a)) - * upgrade mime-types to 2.1.29 ([6a00d05c](https://github.com/electron-userland/electron-forge/commit/6a00d05c)) - * upgrade lodash to 4.17.21 ([5507ecec](https://github.com/electron-userland/electron-forge/commit/5507ecec)) - * upgrade inquirer to ^8.0.0 ([ab086543](https://github.com/electron-userland/electron-forge/commit/ab086543)) - * upgrade fs-extra to 9.1.0 ([6a62710f](https://github.com/electron-userland/electron-forge/commit/6a62710f)) - * upgrade form-data to ^4.0.0 ([d83d8cc6](https://github.com/electron-userland/electron-forge/commit/d83d8cc6)) - * upgrade electron-winstaller to ^5.0.0 ([e93631a3](https://github.com/electron-userland/electron-forge/commit/e93631a3)) - * upgrade electron-rebuild to 2.3.5 ([5b9dc99d](https://github.com/electron-userland/electron-forge/commit/5b9dc99d)) - * upgrade electron-installer-redhat to 3.3.0 ([a6a82b8b](https://github.com/electron-userland/electron-forge/commit/a6a82b8b)) - * upgrade aws-sdk to 2.856.0 ([75d14090](https://github.com/electron-userland/electron-forge/commit/75d14090)) - * upgrade @octokit/types to 6.11.2 ([7a5fd8cc](https://github.com/electron-userland/electron-forge/commit/7a5fd8cc)) - * upgrade @octokit/rest to 18.3.2 ([6276eb9f](https://github.com/electron-userland/electron-forge/commit/6276eb9f)) - * upgrade @octokit/core to 3.2.5 ([dbe228bb](https://github.com/electron-userland/electron-forge/commit/dbe228bb)) - * upgrade @electron/get to 1.12.4 ([b1aea91d](https://github.com/electron-userland/electron-forge/commit/b1aea91d)) - * upgrade @doyensec/electronegativity to 1.8.1 ([5374adf4](https://github.com/electron-userland/electron-forge/commit/5374adf4)) - * bump @types/which from 1.3.2 to 2.0.0 ([a098defc](https://github.com/electron-userland/electron-forge/commit/a098defc)) - * bump webpack-merge from 5.7.2 to 5.7.3 (#2108) ([68e1b262](https://github.com/electron-userland/electron-forge/commit/68e1b262)) - * bump @octokit/types from 6.1.1 to 6.1.2 (#2103) ([665c91a9](https://github.com/electron-userland/electron-forge/commit/665c91a9)) - * bump codecov/codecov-action from v1.1.0 to v1.1.1 ([ad7e1854](https://github.com/electron-userland/electron-forge/commit/ad7e1854)) - * bump codecov/codecov-action from v1.0.15 to v1.1.0 ([70505507](https://github.com/electron-userland/electron-forge/commit/70505507)) - * bump webpack-merge from 5.7.0 to 5.7.2 (#2096) ([4824af6f](https://github.com/electron-userland/electron-forge/commit/4824af6f)) - * bump actions/setup-node from v2.1.3 to v2.1.4 ([a5b11e93](https://github.com/electron-userland/electron-forge/commit/a5b11e93)) - * bump webpack-merge from 5.5.0 to 5.7.0 (#2086) ([3bef3127](https://github.com/electron-userland/electron-forge/commit/3bef3127)) - * bump electron-wix-msi from 3.0.4 to 3.0.6 (#2082) ([6a08ccfd](https://github.com/electron-userland/electron-forge/commit/6a08ccfd)) - * bump webpack-merge from 5.4.1 to 5.5.0 (#2080) ([cd43d4ec](https://github.com/electron-userland/electron-forge/commit/cd43d4ec)) - * bump actions/setup-node from v2.1.2 to v2.1.3 ([975926ac](https://github.com/electron-userland/electron-forge/commit/975926ac)) - * bump ini from 1.3.5 to 1.3.7 ([814f7cef](https://github.com/electron-userland/electron-forge/commit/814f7cef)) - * upgrade transitive dependencies ([da3d2f28](https://github.com/electron-userland/electron-forge/commit/da3d2f28)) - * upgrade webpack-merge to 5.4.1 ([c6d88238](https://github.com/electron-userland/electron-forge/commit/c6d88238)) - * upgrade aws-sdk to 2.806.0 ([362fed28](https://github.com/electron-userland/electron-forge/commit/362fed28)) - * upgrade @octokit/types to 6.1.1 ([c3f3a88f](https://github.com/electron-userland/electron-forge/commit/c3f3a88f)) - * bump @malept/cross-spawn-promise from 1.1.0 to 1.1.1 (#2068) ([6739d2ca](https://github.com/electron-userland/electron-forge/commit/6739d2ca)) - * upgrade transitive dependencies ([c883d49e](https://github.com/electron-userland/electron-forge/commit/c883d49e)) - * upgrade electron-packager to 15.2.0 ([f21d1705](https://github.com/electron-userland/electron-forge/commit/f21d1705)) - * upgrade aws-sdk to 2.804.0 ([e32441ec](https://github.com/electron-userland/electron-forge/commit/e32441ec)) - * upgrade @octokit/types to 6.1.0 ([c25ca682](https://github.com/electron-userland/electron-forge/commit/c25ca682)) - * upgrade @octokit/rest to 18.0.12 ([3e780fb4](https://github.com/electron-userland/electron-forge/commit/3e780fb4)) - * bump highlight.js from 10.4.0 to 10.4.1 ([fc0857fb](https://github.com/electron-userland/electron-forge/commit/fc0857fb)) - * bump @octokit/core from 3.2.3 to 3.2.4 (#2064) ([b391ee54](https://github.com/electron-userland/electron-forge/commit/b391ee54)) - * bump @octokit/rest from 18.0.9 to 18.0.11 (#2062) ([25efb2a0](https://github.com/electron-userland/electron-forge/commit/25efb2a0)) - * upgrade @octokit dependencies ([600f4618](https://github.com/electron-userland/electron-forge/commit/600f4618)) - * upgrade semver to 7.3.4 ([723ef8c6](https://github.com/electron-userland/electron-forge/commit/723ef8c6)) - * upgrade electron-rebuild to 2.3.4 ([1cdc424a](https://github.com/electron-userland/electron-forge/commit/1cdc424a)) - * upgrade aws-sdk to 2.802.0 ([65412fd7](https://github.com/electron-userland/electron-forge/commit/65412fd7)) - * upgrade aws-sdk to 2.798.0 ([8e44d15b](https://github.com/electron-userland/electron-forge/commit/8e44d15b)) - * bump debug from 4.2.0 to 4.3.1 (#2046) ([d343a631](https://github.com/electron-userland/electron-forge/commit/d343a631)) - * upgrade transitive dependencies ([183129d4](https://github.com/electron-userland/electron-forge/commit/183129d4)) - * upgrade aws-sdk to 2.795.0 ([d6c62e14](https://github.com/electron-userland/electron-forge/commit/d6c62e14)) - * bump codecov/codecov-action from v1.0.14 to v1.0.15 (#2041) ([1357ab07](https://github.com/electron-userland/electron-forge/commit/1357ab07)) - * upgrade aws-sdk to 2.793.0 ([44d26b72](https://github.com/electron-userland/electron-forge/commit/44d26b72)) - * bump webpack-merge from 5.3.0 to 5.4.0 (#2037) ([b83edf44](https://github.com/electron-userland/electron-forge/commit/b83edf44)) - * bump webpack-dev-middleware from 4.0.0 to 4.0.2 (#2032) ([34e4eb57](https://github.com/electron-userland/electron-forge/commit/34e4eb57)) - * upgrade webpack-merge to 5.3.0 ([8a0f6f07](https://github.com/electron-userland/electron-forge/commit/8a0f6f07)) - * upgrade webpack-dev-middleware to ^4.0.0 ([ea548c96](https://github.com/electron-userland/electron-forge/commit/ea548c96)) - * upgrade electron-osx-sign to ^0.5.0 ([654a6ca9](https://github.com/electron-userland/electron-forge/commit/654a6ca9)) - * upgrade aws-sdk to 2.787.0 ([fff66f25](https://github.com/electron-userland/electron-forge/commit/fff66f25)) - * upgrade @octokit/rest to 18.0.9 ([5fb6be80](https://github.com/electron-userland/electron-forge/commit/5fb6be80)) - * upgrade @octokit/core to 3.2.1 ([813ef397](https://github.com/electron-userland/electron-forge/commit/813ef397)) - * upgrade @octokit/rest to 18.0.7 ([87d0dfd7](https://github.com/electron-userland/electron-forge/commit/87d0dfd7)) - * upgrade aws-sdk to 2.782.0 ([7c97efb7](https://github.com/electron-userland/electron-forge/commit/7c97efb7)) - * upgrade @octokit/core to 3.2.0 ([216b7c36](https://github.com/electron-userland/electron-forge/commit/216b7c36)) - * bump @octokit/core from 3.1.3 to 3.1.4 (#2007) ([eb5c55ab](https://github.com/electron-userland/electron-forge/commit/eb5c55ab)) - * bump electron-rebuild from 2.3.1 to 2.3.2 (#2001) ([02ee708a](https://github.com/electron-userland/electron-forge/commit/02ee708a)) -* **deps-dev:** - * upgrade typedoc to 0.20.36 ([0d119e3a](https://github.com/electron-userland/electron-forge/commit/0d119e3a)) - * upgrade sinon to ^10.0.0 ([a4769789](https://github.com/electron-userland/electron-forge/commit/a4769789)) - * upgrade mocha to 8.4.0 ([83b3ebf6](https://github.com/electron-userland/electron-forge/commit/83b3ebf6)) - * upgrade husky to ^6.0.0 ([ee947071](https://github.com/electron-userland/electron-forge/commit/ee947071)) - * upgrade globby to 11.0.3 ([6ccbbbff](https://github.com/electron-userland/electron-forge/commit/6ccbbbff)) - * upgrade eslint-plugin-import to 2.23.2 ([50dbec78](https://github.com/electron-userland/electron-forge/commit/50dbec78)) - * upgrade eslint to 7.26.0 ([ea50e376](https://github.com/electron-userland/electron-forge/commit/ea50e376)) - * upgrade commitizen to 4.2.4 ([1576e25f](https://github.com/electron-userland/electron-forge/commit/1576e25f)) - * upgrade chai to 4.3.4 ([98d81402](https://github.com/electron-userland/electron-forge/commit/98d81402)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.24.0 ([017dbf5f](https://github.com/electron-userland/electron-forge/commit/017dbf5f)) - * upgrade @types/sinon to ^10.0.0 ([14952e4a](https://github.com/electron-userland/electron-forge/commit/14952e4a)) - * upgrade @types/semver to 7.3.6 ([06c37b6c](https://github.com/electron-userland/electron-forge/commit/06c37b6c)) - * upgrade @types/node-fetch to 2.5.10 ([3a9ba43f](https://github.com/electron-userland/electron-forge/commit/3a9ba43f)) - * upgrade @types/node to ^15.3.0 ([36c66456](https://github.com/electron-userland/electron-forge/commit/36c66456)) - * upgrade @types/mocha to 8.2.2 ([3c5a0014](https://github.com/electron-userland/electron-forge/commit/3c5a0014)) - * upgrade @types/lodash to 4.14.169 ([74fefb75](https://github.com/electron-userland/electron-forge/commit/74fefb75)) - * upgrade @types/listr to 0.14.3 ([26de3130](https://github.com/electron-userland/electron-forge/commit/26de3130)) - * upgrade @types/fs-extra to 9.0.11 ([5880ef22](https://github.com/electron-userland/electron-forge/commit/5880ef22)) - * upgrade @types/chai-as-promised to 7.1.4 ([488c4ac2](https://github.com/electron-userland/electron-forge/commit/488c4ac2)) - * upgrade @types/chai to 4.2.18 ([249513f1](https://github.com/electron-userland/electron-forge/commit/249513f1)) - * upgrade @babel/register to 7.13.16 ([16772f4b](https://github.com/electron-userland/electron-forge/commit/16772f4b)) - * upgrade @babel/preset-env to 7.14.2 ([ae6b91cd](https://github.com/electron-userland/electron-forge/commit/ae6b91cd)) - * upgrade @babel/core to 7.14.3 ([53ab5f94](https://github.com/electron-userland/electron-forge/commit/53ab5f94)) - * upgrade @babel/cli to 7.14.3 ([3bfe8176](https://github.com/electron-userland/electron-forge/commit/3bfe8176)) - * update typescript-eslint packages for typescript template ([18e30359](https://github.com/electron-userland/electron-forge/commit/18e30359)) - * upgrade @types/node to 14.14.33 ([25e48545](https://github.com/electron-userland/electron-forge/commit/25e48545)) - * upgrade typedoc to 0.20.30 ([4a679aca](https://github.com/electron-userland/electron-forge/commit/4a679aca)) - * upgrade mocha to 8.3.1 ([53d7413c](https://github.com/electron-userland/electron-forge/commit/53d7413c)) - * upgrade eslint-plugin-mocha to 8.1.0 ([8e6a87b1](https://github.com/electron-userland/electron-forge/commit/8e6a87b1)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.17.0 ([5236ac37](https://github.com/electron-userland/electron-forge/commit/5236ac37)) - * upgrade @types/webpack-merge to ^5.0.0 ([f3b6488d](https://github.com/electron-userland/electron-forge/commit/f3b6488d)) - * upgrade @types/sinon to 9.0.11 ([29b613e4](https://github.com/electron-userland/electron-forge/commit/29b613e4)) - * upgrade @types/node to 14.14.32 ([f293d773](https://github.com/electron-userland/electron-forge/commit/f293d773)) - * upgrade @babel/preset-env to 7.13.10 ([d0eafade](https://github.com/electron-userland/electron-forge/commit/d0eafade)) - * upgrade @babel/core to 7.13.10 ([a2940d32](https://github.com/electron-userland/electron-forge/commit/a2940d32)) - * upgrade @babel/cli to 7.13.10 ([a3b12994](https://github.com/electron-userland/electron-forge/commit/a3b12994)) - * upgrade husky to ^5.1.3 ([b987f85d](https://github.com/electron-userland/electron-forge/commit/b987f85d)) - * upgrade typedoc to ^0.20.29 ([159be54f](https://github.com/electron-userland/electron-forge/commit/159be54f)) - * upgrade sinon to 9.2.4 ([8be991ac](https://github.com/electron-userland/electron-forge/commit/8be991ac)) - * upgrade nodemon to 2.0.7 ([32df8518](https://github.com/electron-userland/electron-forge/commit/32df8518)) - * upgrade mocha to 8.3.0 ([a11ad79b](https://github.com/electron-userland/electron-forge/commit/a11ad79b)) - * upgrade lint-staged to 10.5.4 ([7ffab319](https://github.com/electron-userland/electron-forge/commit/7ffab319)) - * upgrade chai to ^4.3.3 ([bd14bf0a](https://github.com/electron-userland/electron-forge/commit/bd14bf0a)) - * upgrade globby to 11.0.2 ([8a0a61d7](https://github.com/electron-userland/electron-forge/commit/8a0a61d7)) - * upgrade eslint to 7.21.0 ([7096fb8d](https://github.com/electron-userland/electron-forge/commit/7096fb8d)) - * upgrade commitizen to 4.2.3 ([0d9a26f4](https://github.com/electron-userland/electron-forge/commit/0d9a26f4)) - * upgrade chai to 4.3.3 ([1d4df1bc](https://github.com/electron-userland/electron-forge/commit/1d4df1bc)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.16.1 ([988fcdc6](https://github.com/electron-userland/electron-forge/commit/988fcdc6)) - * upgrade @types/webpack-dev-middleware to ^4.1.0 ([ea7cce95](https://github.com/electron-userland/electron-forge/commit/ea7cce95)) - * upgrade @types/node-fetch to 2.5.8 ([3e9b516b](https://github.com/electron-userland/electron-forge/commit/3e9b516b)) - * upgrade @types/node to 14.14.31 ([34c8c426](https://github.com/electron-userland/electron-forge/commit/34c8c426)) - * upgrade @types/mocha to 8.2.1 ([c93c3aa2](https://github.com/electron-userland/electron-forge/commit/c93c3aa2)) - * upgrade @types/lodash to 4.14.168 ([9d92b736](https://github.com/electron-userland/electron-forge/commit/9d92b736)) - * upgrade @types/fs-extra to 9.0.8 ([443dec6a](https://github.com/electron-userland/electron-forge/commit/443dec6a)) - * upgrade @types/express to 4.17.11 ([33cf1dc6](https://github.com/electron-userland/electron-forge/commit/33cf1dc6)) - * upgrade @types/chai to 4.2.15 ([03210cd5](https://github.com/electron-userland/electron-forge/commit/03210cd5)) - * upgrade @babel/register to 7.13.8 ([67617440](https://github.com/electron-userland/electron-forge/commit/67617440)) - * upgrade @babel/preset-typescript to 7.13.0 ([60405f09](https://github.com/electron-userland/electron-forge/commit/60405f09)) - * upgrade @babel/preset-env to 7.13.9 ([f13ee5c0](https://github.com/electron-userland/electron-forge/commit/f13ee5c0)) - * upgrade @babel/plugin-proposal-class-properties to 7.13.0 ([cabf671b](https://github.com/electron-userland/electron-forge/commit/cabf671b)) - * upgrade @babel/core to 7.13.8 ([8f412408](https://github.com/electron-userland/electron-forge/commit/8f412408)) - * upgrade @babel/cli to 7.13.0 ([e23f2876](https://github.com/electron-userland/electron-forge/commit/e23f2876)) - * bump @types/node from 14.14.14 to 14.14.16 (#2110) ([646c159d](https://github.com/electron-userland/electron-forge/commit/646c159d)) - * bump @types/lodash from 4.14.165 to 4.14.166 ([27fcade7](https://github.com/electron-userland/electron-forge/commit/27fcade7)) - * bump @types/fs-extra from 9.0.5 to 9.0.6 (#2112) ([41f6811b](https://github.com/electron-userland/electron-forge/commit/41f6811b)) - * bump @types/sinon from 9.0.9 to 9.0.10 ([a09762a4](https://github.com/electron-userland/electron-forge/commit/a09762a4)) - * bump @typescript-eslint/eslint-plugin ([ada51b6f](https://github.com/electron-userland/electron-forge/commit/ada51b6f)) - * bump eslint from 7.15.0 to 7.16.0 (#2102) ([78a980d5](https://github.com/electron-userland/electron-forge/commit/78a980d5)) - * bump @typescript-eslint/parser from 4.10.0 to 4.11.0 ([d9a512f0](https://github.com/electron-userland/electron-forge/commit/d9a512f0)) - * bump @babel/preset-env from 7.12.10 to 7.12.11 (#2095) ([678e63c6](https://github.com/electron-userland/electron-forge/commit/678e63c6)) - * bump @types/node from 14.14.13 to 14.14.14 (#2094) ([cccf0e8b](https://github.com/electron-userland/electron-forge/commit/cccf0e8b)) - * bump @typescript-eslint/eslint-plugin from 4.9.1 to 4.10.0 (#2093) ([30217375](https://github.com/electron-userland/electron-forge/commit/30217375)) - * bump @typescript-eslint/parser from 4.9.1 to 4.10.0 ([2c9ac0fc](https://github.com/electron-userland/electron-forge/commit/2c9ac0fc)) - * bump husky from 4.3.5 to 4.3.6 ([2ceda33a](https://github.com/electron-userland/electron-forge/commit/2ceda33a)) - * bump @types/node from 14.14.12 to 14.14.13 (#2085) ([7d5f7ac6](https://github.com/electron-userland/electron-forge/commit/7d5f7ac6)) - * bump sinon from 9.2.1 to 9.2.2 (#2084) ([932da126](https://github.com/electron-userland/electron-forge/commit/932da126)) - * bump @types/fs-extra from 9.0.4 to 9.0.5 ([286f96ac](https://github.com/electron-userland/electron-forge/commit/286f96ac)) - * bump @types/node from 14.14.11 to 14.14.12 (#2079) ([268699bb](https://github.com/electron-userland/electron-forge/commit/268699bb)) - * bump @babel/core from 7.12.9 to 7.12.10 ([201c1377](https://github.com/electron-userland/electron-forge/commit/201c1377)) - * bump @babel/register from 7.12.1 to 7.12.10 ([7789e9c1](https://github.com/electron-userland/electron-forge/commit/7789e9c1)) - * bump @babel/preset-env from 7.12.7 to 7.12.10 (#2076) ([0b0efaca](https://github.com/electron-userland/electron-forge/commit/0b0efaca)) - * bump @babel/cli from 7.12.8 to 7.12.10 ([17e20b68](https://github.com/electron-userland/electron-forge/commit/17e20b68)) - * upgrade @typescript-eslint/eslint-plugin to ^4.9.1 ([ee25aede](https://github.com/electron-userland/electron-forge/commit/ee25aede)) - * upgrade ts-node to 9.1.1 ([9e87385b](https://github.com/electron-userland/electron-forge/commit/9e87385b)) - * upgrade husky to 4.3.5 ([5c90c0e5](https://github.com/electron-userland/electron-forge/commit/5c90c0e5)) - * upgrade @types/node to 14.14.11 ([1e47c39b](https://github.com/electron-userland/electron-forge/commit/1e47c39b)) - * upgrade @types/mocha to 8.2.0 ([0ef47768](https://github.com/electron-userland/electron-forge/commit/0ef47768)) - * bump @typescript-eslint/parser from 4.9.0 to 4.9.1 ([d70f444c](https://github.com/electron-userland/electron-forge/commit/d70f444c)) - * bump eslint from 7.14.0 to 7.15.0 ([c81945dd](https://github.com/electron-userland/electron-forge/commit/c81945dd)) - * upgrade lint-staged to 10.5.3 ([a1d72ba9](https://github.com/electron-userland/electron-forge/commit/a1d72ba9)) - * bump ts-node from 9.0.0 to 9.1.0 ([dc36029c](https://github.com/electron-userland/electron-forge/commit/dc36029c)) - * upgrade cross-env to 7.0.3 ([b53cf670](https://github.com/electron-userland/electron-forge/commit/b53cf670)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.9.0 ([7e1df029](https://github.com/electron-userland/electron-forge/commit/7e1df029)) - * bump @types/node from 14.14.9 to 14.14.10 (#2058) ([9c6f7d36](https://github.com/electron-userland/electron-forge/commit/9c6f7d36)) - * bump @babel/core from 7.12.8 to 7.12.9 (#2057) ([5e7c22df](https://github.com/electron-userland/electron-forge/commit/5e7c22df)) - * upgrade lint-staged to 10.5.2 ([7e3227b4](https://github.com/electron-userland/electron-forge/commit/7e3227b4)) - * upgrade fetch-mock to 9.11.0 ([d7897f43](https://github.com/electron-userland/electron-forge/commit/d7897f43)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.2 ([6844f11e](https://github.com/electron-userland/electron-forge/commit/6844f11e)) - * upgrade @types/sinon to 9.0.9 ([a2b8abff](https://github.com/electron-userland/electron-forge/commit/a2b8abff)) - * upgrade @babel/preset-env to 7.12.7 ([11f6f8ed](https://github.com/electron-userland/electron-forge/commit/11f6f8ed)) - * upgrade @babel/core to 7.12.8 ([48735ffe](https://github.com/electron-userland/electron-forge/commit/48735ffe)) - * upgrade @babel/cli to 7.12.8 ([b6a7df6f](https://github.com/electron-userland/electron-forge/commit/b6a7df6f)) - * bump @babel/preset-typescript from 7.12.1 to 7.12.7 (#2050) ([2e46aaaa](https://github.com/electron-userland/electron-forge/commit/2e46aaaa)) - * bump eslint from 7.13.0 to 7.14.0 ([3b2259f4](https://github.com/electron-userland/electron-forge/commit/3b2259f4)) - * bump @types/node from 14.14.8 to 14.14.9 (#2047) ([001ff243](https://github.com/electron-userland/electron-forge/commit/001ff243)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.1 ([faccc69b](https://github.com/electron-userland/electron-forge/commit/faccc69b)) - * upgrade @types/node to 14.14.8 ([868ca145](https://github.com/electron-userland/electron-forge/commit/868ca145)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.0 ([770dd11b](https://github.com/electron-userland/electron-forge/commit/770dd11b)) - * upgrade @types/minimist to 1.2.1 ([50b07fbb](https://github.com/electron-userland/electron-forge/commit/50b07fbb)) - * upgrade @types/fs-extra to 9.0.4 ([fe2fe457](https://github.com/electron-userland/electron-forge/commit/fe2fe457)) - * bump @types/mocha from 8.0.3 to 8.0.4 ([b2961cfa](https://github.com/electron-userland/electron-forge/commit/b2961cfa)) - * bump @types/express from 4.17.8 to 4.17.9 (#2033) ([32091854](https://github.com/electron-userland/electron-forge/commit/32091854)) - * bump @typescript-eslint/parser from 4.6.1 to 4.7.0 ([9d1264da](https://github.com/electron-userland/electron-forge/commit/9d1264da)) - * bump fork-ts-checker-webpack-plugin ([a36e63b6](https://github.com/electron-userland/electron-forge/commit/a36e63b6)) - * bump @types/node from 14.14.6 to 14.14.7 (#2028) ([edaec935](https://github.com/electron-userland/electron-forge/commit/edaec935)) - * upgrade mocha to 8.2.1 ([c183deca](https://github.com/electron-userland/electron-forge/commit/c183deca)) - * upgrade lint-staged to 10.5.1 ([c13c5aa5](https://github.com/electron-userland/electron-forge/commit/c13c5aa5)) - * upgrade eslint-config-airbnb-base to 14.2.1 ([e1065df2](https://github.com/electron-userland/electron-forge/commit/e1065df2)) - * upgrade eslint to 7.13.0 ([47d8281a](https://github.com/electron-userland/electron-forge/commit/47d8281a)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.6.1 ([77c16bc2](https://github.com/electron-userland/electron-forge/commit/77c16bc2)) - * upgrade @types/lodash to 4.14.165 ([ec44c020](https://github.com/electron-userland/electron-forge/commit/ec44c020)) - * upgrade @types/fs-extra to 9.0.3 ([dce3dcfb](https://github.com/electron-userland/electron-forge/commit/dce3dcfb)) - * bump style-loader in /packages/template/webpack/tmpl ([d12f3038](https://github.com/electron-userland/electron-forge/commit/d12f3038)) - * bump style-loader ([654d10fd](https://github.com/electron-userland/electron-forge/commit/654d10fd)) - * bump css-loader ([74455a8c](https://github.com/electron-userland/electron-forge/commit/74455a8c)) - * bump css-loader in /packages/template/webpack/tmpl ([fed82389](https://github.com/electron-userland/electron-forge/commit/fed82389)) - * upgrade typescript to 4.0.5 ([0ecb061f](https://github.com/electron-userland/electron-forge/commit/0ecb061f)) - * upgrade sinon to 9.2.1 ([146a745c](https://github.com/electron-userland/electron-forge/commit/146a745c)) - * upgrade lint-staged to 10.5.0 ([f0d506b0](https://github.com/electron-userland/electron-forge/commit/f0d506b0)) - * upgrade eslint to 7.12.1 ([e51a61e6](https://github.com/electron-userland/electron-forge/commit/e51a61e6)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.6.0 ([4b99c35f](https://github.com/electron-userland/electron-forge/commit/4b99c35f)) - * upgrade @types/webpack to 4.41.24 ([9376bf9c](https://github.com/electron-userland/electron-forge/commit/9376bf9c)) - * upgrade @types/node to 14.14.6 ([587d18cf](https://github.com/electron-userland/electron-forge/commit/587d18cf)) - * upgrade @types/lodash to 4.14.163 ([cb6dd659](https://github.com/electron-userland/electron-forge/commit/cb6dd659)) - * bump eslint from 7.11.0 to 7.12.0 ([c3bc236d](https://github.com/electron-userland/electron-forge/commit/c3bc236d)) - * bump @types/node from 14.14.0 to 14.14.2 (#2004) ([3aa2f8ae](https://github.com/electron-userland/electron-forge/commit/3aa2f8ae)) -* **dependabot:** ignore other problematic packages ([051e4f14](https://github.com/electron-userland/electron-forge/commit/051e4f14)) -* add @types/webpack to mass update dependencies blacklist ([1abf5e4d](https://github.com/electron-userland/electron-forge/commit/1abf5e4d)) -* add cross-zip & webpack to the do not upgrade list ([5f7fad30](https://github.com/electron-userland/electron-forge/commit/5f7fad30)) +- **deps:** + - upgrade transitive dependencies ([a06b5b7d](https://github.com/electron-userland/electron-forge/commit/a06b5b7d)) + - bump ssri from 6.0.1 to 6.0.2 ([2215dac5](https://github.com/electron-userland/electron-forge/commit/2215dac5)) + - upgrade xterm to 4.12.0 ([0a8b1fb1](https://github.com/electron-userland/electron-forge/commit/0a8b1fb1)) + - upgrade webpack-dev-middleware to 4.2.0 ([790647dc](https://github.com/electron-userland/electron-forge/commit/790647dc)) + - upgrade semver to 7.3.5 ([30be10a6](https://github.com/electron-userland/electron-forge/commit/30be10a6)) + - upgrade ora to 5.4.0 ([c1866c46](https://github.com/electron-userland/electron-forge/commit/c1866c46)) + - upgrade mime-types to 2.1.30 ([679b3610](https://github.com/electron-userland/electron-forge/commit/679b3610)) + - upgrade glob to 7.1.7 ([ce94a505](https://github.com/electron-userland/electron-forge/commit/ce94a505)) + - upgrade electron-wix-msi to 3.2.0 ([cfce085e](https://github.com/electron-userland/electron-forge/commit/cfce085e)) + - upgrade aws-sdk to 2.908.0 ([f7a9dd53](https://github.com/electron-userland/electron-forge/commit/f7a9dd53)) + - upgrade @octokit/types to 6.14.2 ([c636a05b](https://github.com/electron-userland/electron-forge/commit/c636a05b)) + - upgrade @octokit/rest to 18.5.3 ([f5e57ae6](https://github.com/electron-userland/electron-forge/commit/f5e57ae6)) + - upgrade @octokit/core to 3.4.0 ([33d51315](https://github.com/electron-userland/electron-forge/commit/33d51315)) + - upgrade @malept/electron-installer-flatpak to 0.11.3 ([31449bcd](https://github.com/electron-userland/electron-forge/commit/31449bcd)) + - upgrade @doyensec/electronegativity to 1.9.0 ([f07333c6](https://github.com/electron-userland/electron-forge/commit/f07333c6)) + - bump codecov/codecov-action from 1.3.2 to 1.5.0 ([17693ba0](https://github.com/electron-userland/electron-forge/commit/17693ba0)) + - bump actions/checkout from 2 to 2.3.4 ([e4501d4e](https://github.com/electron-userland/electron-forge/commit/e4501d4e)) + - bump actions/setup-node from 2.1.4 to 2.1.5 ([cc4d2965](https://github.com/electron-userland/electron-forge/commit/cc4d2965)) + - bump actions/cache from 2 to 2.1.5 ([5024a135](https://github.com/electron-userland/electron-forge/commit/5024a135)) + - bump hosted-git-info from 2.8.8 to 2.8.9 ([534ac327](https://github.com/electron-userland/electron-forge/commit/534ac327)) + - bump codecov/codecov-action from v1.3.1 to v1.3.2 ([e1c218c1](https://github.com/electron-userland/electron-forge/commit/e1c218c1)) + - bump codecov/codecov-action from v1.2.2 to v1.3.1 ([785e9c0d](https://github.com/electron-userland/electron-forge/commit/785e9c0d)) + - bump codecov/codecov-action from v1.1.1 to v1.2.2 (#2195) ([60765e3f](https://github.com/electron-userland/electron-forge/commit/60765e3f)) + - upgrade xterm to 4.11.0 ([a4f187f5](https://github.com/electron-userland/electron-forge/commit/a4f187f5)) + - upgrade aws-sdk to 2.861.0 ([bfa508dc](https://github.com/electron-userland/electron-forge/commit/bfa508dc)) + - upgrade @octokit/core to 3.3.0 ([ae4c7862](https://github.com/electron-userland/electron-forge/commit/ae4c7862)) + - upgrade aws-sdk to 2.859.0 ([a9392ec6](https://github.com/electron-userland/electron-forge/commit/a9392ec6)) + - upgrade @octokit/types to 6.12.2 ([862a442b](https://github.com/electron-userland/electron-forge/commit/862a442b)) + - upgrade @octokit/rest to 18.3.5 ([42fbffaa](https://github.com/electron-userland/electron-forge/commit/42fbffaa)) + - upgrade xterm-addon-search to ^0.8.0 ([97bd764e](https://github.com/electron-userland/electron-forge/commit/97bd764e)) + - upgrade xterm-addon-fit to ^0.5.0 ([57b6ef94](https://github.com/electron-userland/electron-forge/commit/57b6ef94)) + - upgrade xterm to 4.10.0 ([c79a75e7](https://github.com/electron-userland/electron-forge/commit/c79a75e7)) + - upgrade webpack-dev-middleware to 4.1.0 ([80be342c](https://github.com/electron-userland/electron-forge/commit/80be342c)) + - upgrade ora to 5.3.0 ([0f68143a](https://github.com/electron-userland/electron-forge/commit/0f68143a)) + - upgrade mime-types to 2.1.29 ([6a00d05c](https://github.com/electron-userland/electron-forge/commit/6a00d05c)) + - upgrade lodash to 4.17.21 ([5507ecec](https://github.com/electron-userland/electron-forge/commit/5507ecec)) + - upgrade inquirer to ^8.0.0 ([ab086543](https://github.com/electron-userland/electron-forge/commit/ab086543)) + - upgrade fs-extra to 9.1.0 ([6a62710f](https://github.com/electron-userland/electron-forge/commit/6a62710f)) + - upgrade form-data to ^4.0.0 ([d83d8cc6](https://github.com/electron-userland/electron-forge/commit/d83d8cc6)) + - upgrade electron-winstaller to ^5.0.0 ([e93631a3](https://github.com/electron-userland/electron-forge/commit/e93631a3)) + - upgrade electron-rebuild to 2.3.5 ([5b9dc99d](https://github.com/electron-userland/electron-forge/commit/5b9dc99d)) + - upgrade electron-installer-redhat to 3.3.0 ([a6a82b8b](https://github.com/electron-userland/electron-forge/commit/a6a82b8b)) + - upgrade aws-sdk to 2.856.0 ([75d14090](https://github.com/electron-userland/electron-forge/commit/75d14090)) + - upgrade @octokit/types to 6.11.2 ([7a5fd8cc](https://github.com/electron-userland/electron-forge/commit/7a5fd8cc)) + - upgrade @octokit/rest to 18.3.2 ([6276eb9f](https://github.com/electron-userland/electron-forge/commit/6276eb9f)) + - upgrade @octokit/core to 3.2.5 ([dbe228bb](https://github.com/electron-userland/electron-forge/commit/dbe228bb)) + - upgrade @electron/get to 1.12.4 ([b1aea91d](https://github.com/electron-userland/electron-forge/commit/b1aea91d)) + - upgrade @doyensec/electronegativity to 1.8.1 ([5374adf4](https://github.com/electron-userland/electron-forge/commit/5374adf4)) + - bump @types/which from 1.3.2 to 2.0.0 ([a098defc](https://github.com/electron-userland/electron-forge/commit/a098defc)) + - bump webpack-merge from 5.7.2 to 5.7.3 (#2108) ([68e1b262](https://github.com/electron-userland/electron-forge/commit/68e1b262)) + - bump @octokit/types from 6.1.1 to 6.1.2 (#2103) ([665c91a9](https://github.com/electron-userland/electron-forge/commit/665c91a9)) + - bump codecov/codecov-action from v1.1.0 to v1.1.1 ([ad7e1854](https://github.com/electron-userland/electron-forge/commit/ad7e1854)) + - bump codecov/codecov-action from v1.0.15 to v1.1.0 ([70505507](https://github.com/electron-userland/electron-forge/commit/70505507)) + - bump webpack-merge from 5.7.0 to 5.7.2 (#2096) ([4824af6f](https://github.com/electron-userland/electron-forge/commit/4824af6f)) + - bump actions/setup-node from v2.1.3 to v2.1.4 ([a5b11e93](https://github.com/electron-userland/electron-forge/commit/a5b11e93)) + - bump webpack-merge from 5.5.0 to 5.7.0 (#2086) ([3bef3127](https://github.com/electron-userland/electron-forge/commit/3bef3127)) + - bump electron-wix-msi from 3.0.4 to 3.0.6 (#2082) ([6a08ccfd](https://github.com/electron-userland/electron-forge/commit/6a08ccfd)) + - bump webpack-merge from 5.4.1 to 5.5.0 (#2080) ([cd43d4ec](https://github.com/electron-userland/electron-forge/commit/cd43d4ec)) + - bump actions/setup-node from v2.1.2 to v2.1.3 ([975926ac](https://github.com/electron-userland/electron-forge/commit/975926ac)) + - bump ini from 1.3.5 to 1.3.7 ([814f7cef](https://github.com/electron-userland/electron-forge/commit/814f7cef)) + - upgrade transitive dependencies ([da3d2f28](https://github.com/electron-userland/electron-forge/commit/da3d2f28)) + - upgrade webpack-merge to 5.4.1 ([c6d88238](https://github.com/electron-userland/electron-forge/commit/c6d88238)) + - upgrade aws-sdk to 2.806.0 ([362fed28](https://github.com/electron-userland/electron-forge/commit/362fed28)) + - upgrade @octokit/types to 6.1.1 ([c3f3a88f](https://github.com/electron-userland/electron-forge/commit/c3f3a88f)) + - bump @malept/cross-spawn-promise from 1.1.0 to 1.1.1 (#2068) ([6739d2ca](https://github.com/electron-userland/electron-forge/commit/6739d2ca)) + - upgrade transitive dependencies ([c883d49e](https://github.com/electron-userland/electron-forge/commit/c883d49e)) + - upgrade electron-packager to 15.2.0 ([f21d1705](https://github.com/electron-userland/electron-forge/commit/f21d1705)) + - upgrade aws-sdk to 2.804.0 ([e32441ec](https://github.com/electron-userland/electron-forge/commit/e32441ec)) + - upgrade @octokit/types to 6.1.0 ([c25ca682](https://github.com/electron-userland/electron-forge/commit/c25ca682)) + - upgrade @octokit/rest to 18.0.12 ([3e780fb4](https://github.com/electron-userland/electron-forge/commit/3e780fb4)) + - bump highlight.js from 10.4.0 to 10.4.1 ([fc0857fb](https://github.com/electron-userland/electron-forge/commit/fc0857fb)) + - bump @octokit/core from 3.2.3 to 3.2.4 (#2064) ([b391ee54](https://github.com/electron-userland/electron-forge/commit/b391ee54)) + - bump @octokit/rest from 18.0.9 to 18.0.11 (#2062) ([25efb2a0](https://github.com/electron-userland/electron-forge/commit/25efb2a0)) + - upgrade @octokit dependencies ([600f4618](https://github.com/electron-userland/electron-forge/commit/600f4618)) + - upgrade semver to 7.3.4 ([723ef8c6](https://github.com/electron-userland/electron-forge/commit/723ef8c6)) + - upgrade electron-rebuild to 2.3.4 ([1cdc424a](https://github.com/electron-userland/electron-forge/commit/1cdc424a)) + - upgrade aws-sdk to 2.802.0 ([65412fd7](https://github.com/electron-userland/electron-forge/commit/65412fd7)) + - upgrade aws-sdk to 2.798.0 ([8e44d15b](https://github.com/electron-userland/electron-forge/commit/8e44d15b)) + - bump debug from 4.2.0 to 4.3.1 (#2046) ([d343a631](https://github.com/electron-userland/electron-forge/commit/d343a631)) + - upgrade transitive dependencies ([183129d4](https://github.com/electron-userland/electron-forge/commit/183129d4)) + - upgrade aws-sdk to 2.795.0 ([d6c62e14](https://github.com/electron-userland/electron-forge/commit/d6c62e14)) + - bump codecov/codecov-action from v1.0.14 to v1.0.15 (#2041) ([1357ab07](https://github.com/electron-userland/electron-forge/commit/1357ab07)) + - upgrade aws-sdk to 2.793.0 ([44d26b72](https://github.com/electron-userland/electron-forge/commit/44d26b72)) + - bump webpack-merge from 5.3.0 to 5.4.0 (#2037) ([b83edf44](https://github.com/electron-userland/electron-forge/commit/b83edf44)) + - bump webpack-dev-middleware from 4.0.0 to 4.0.2 (#2032) ([34e4eb57](https://github.com/electron-userland/electron-forge/commit/34e4eb57)) + - upgrade webpack-merge to 5.3.0 ([8a0f6f07](https://github.com/electron-userland/electron-forge/commit/8a0f6f07)) + - upgrade webpack-dev-middleware to ^4.0.0 ([ea548c96](https://github.com/electron-userland/electron-forge/commit/ea548c96)) + - upgrade electron-osx-sign to ^0.5.0 ([654a6ca9](https://github.com/electron-userland/electron-forge/commit/654a6ca9)) + - upgrade aws-sdk to 2.787.0 ([fff66f25](https://github.com/electron-userland/electron-forge/commit/fff66f25)) + - upgrade @octokit/rest to 18.0.9 ([5fb6be80](https://github.com/electron-userland/electron-forge/commit/5fb6be80)) + - upgrade @octokit/core to 3.2.1 ([813ef397](https://github.com/electron-userland/electron-forge/commit/813ef397)) + - upgrade @octokit/rest to 18.0.7 ([87d0dfd7](https://github.com/electron-userland/electron-forge/commit/87d0dfd7)) + - upgrade aws-sdk to 2.782.0 ([7c97efb7](https://github.com/electron-userland/electron-forge/commit/7c97efb7)) + - upgrade @octokit/core to 3.2.0 ([216b7c36](https://github.com/electron-userland/electron-forge/commit/216b7c36)) + - bump @octokit/core from 3.1.3 to 3.1.4 (#2007) ([eb5c55ab](https://github.com/electron-userland/electron-forge/commit/eb5c55ab)) + - bump electron-rebuild from 2.3.1 to 2.3.2 (#2001) ([02ee708a](https://github.com/electron-userland/electron-forge/commit/02ee708a)) +- **deps-dev:** + - upgrade typedoc to 0.20.36 ([0d119e3a](https://github.com/electron-userland/electron-forge/commit/0d119e3a)) + - upgrade sinon to ^10.0.0 ([a4769789](https://github.com/electron-userland/electron-forge/commit/a4769789)) + - upgrade mocha to 8.4.0 ([83b3ebf6](https://github.com/electron-userland/electron-forge/commit/83b3ebf6)) + - upgrade husky to ^6.0.0 ([ee947071](https://github.com/electron-userland/electron-forge/commit/ee947071)) + - upgrade globby to 11.0.3 ([6ccbbbff](https://github.com/electron-userland/electron-forge/commit/6ccbbbff)) + - upgrade eslint-plugin-import to 2.23.2 ([50dbec78](https://github.com/electron-userland/electron-forge/commit/50dbec78)) + - upgrade eslint to 7.26.0 ([ea50e376](https://github.com/electron-userland/electron-forge/commit/ea50e376)) + - upgrade commitizen to 4.2.4 ([1576e25f](https://github.com/electron-userland/electron-forge/commit/1576e25f)) + - upgrade chai to 4.3.4 ([98d81402](https://github.com/electron-userland/electron-forge/commit/98d81402)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.24.0 ([017dbf5f](https://github.com/electron-userland/electron-forge/commit/017dbf5f)) + - upgrade @types/sinon to ^10.0.0 ([14952e4a](https://github.com/electron-userland/electron-forge/commit/14952e4a)) + - upgrade @types/semver to 7.3.6 ([06c37b6c](https://github.com/electron-userland/electron-forge/commit/06c37b6c)) + - upgrade @types/node-fetch to 2.5.10 ([3a9ba43f](https://github.com/electron-userland/electron-forge/commit/3a9ba43f)) + - upgrade @types/node to ^15.3.0 ([36c66456](https://github.com/electron-userland/electron-forge/commit/36c66456)) + - upgrade @types/mocha to 8.2.2 ([3c5a0014](https://github.com/electron-userland/electron-forge/commit/3c5a0014)) + - upgrade @types/lodash to 4.14.169 ([74fefb75](https://github.com/electron-userland/electron-forge/commit/74fefb75)) + - upgrade @types/listr to 0.14.3 ([26de3130](https://github.com/electron-userland/electron-forge/commit/26de3130)) + - upgrade @types/fs-extra to 9.0.11 ([5880ef22](https://github.com/electron-userland/electron-forge/commit/5880ef22)) + - upgrade @types/chai-as-promised to 7.1.4 ([488c4ac2](https://github.com/electron-userland/electron-forge/commit/488c4ac2)) + - upgrade @types/chai to 4.2.18 ([249513f1](https://github.com/electron-userland/electron-forge/commit/249513f1)) + - upgrade @babel/register to 7.13.16 ([16772f4b](https://github.com/electron-userland/electron-forge/commit/16772f4b)) + - upgrade @babel/preset-env to 7.14.2 ([ae6b91cd](https://github.com/electron-userland/electron-forge/commit/ae6b91cd)) + - upgrade @babel/core to 7.14.3 ([53ab5f94](https://github.com/electron-userland/electron-forge/commit/53ab5f94)) + - upgrade @babel/cli to 7.14.3 ([3bfe8176](https://github.com/electron-userland/electron-forge/commit/3bfe8176)) + - update typescript-eslint packages for typescript template ([18e30359](https://github.com/electron-userland/electron-forge/commit/18e30359)) + - upgrade @types/node to 14.14.33 ([25e48545](https://github.com/electron-userland/electron-forge/commit/25e48545)) + - upgrade typedoc to 0.20.30 ([4a679aca](https://github.com/electron-userland/electron-forge/commit/4a679aca)) + - upgrade mocha to 8.3.1 ([53d7413c](https://github.com/electron-userland/electron-forge/commit/53d7413c)) + - upgrade eslint-plugin-mocha to 8.1.0 ([8e6a87b1](https://github.com/electron-userland/electron-forge/commit/8e6a87b1)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.17.0 ([5236ac37](https://github.com/electron-userland/electron-forge/commit/5236ac37)) + - upgrade @types/webpack-merge to ^5.0.0 ([f3b6488d](https://github.com/electron-userland/electron-forge/commit/f3b6488d)) + - upgrade @types/sinon to 9.0.11 ([29b613e4](https://github.com/electron-userland/electron-forge/commit/29b613e4)) + - upgrade @types/node to 14.14.32 ([f293d773](https://github.com/electron-userland/electron-forge/commit/f293d773)) + - upgrade @babel/preset-env to 7.13.10 ([d0eafade](https://github.com/electron-userland/electron-forge/commit/d0eafade)) + - upgrade @babel/core to 7.13.10 ([a2940d32](https://github.com/electron-userland/electron-forge/commit/a2940d32)) + - upgrade @babel/cli to 7.13.10 ([a3b12994](https://github.com/electron-userland/electron-forge/commit/a3b12994)) + - upgrade husky to ^5.1.3 ([b987f85d](https://github.com/electron-userland/electron-forge/commit/b987f85d)) + - upgrade typedoc to ^0.20.29 ([159be54f](https://github.com/electron-userland/electron-forge/commit/159be54f)) + - upgrade sinon to 9.2.4 ([8be991ac](https://github.com/electron-userland/electron-forge/commit/8be991ac)) + - upgrade nodemon to 2.0.7 ([32df8518](https://github.com/electron-userland/electron-forge/commit/32df8518)) + - upgrade mocha to 8.3.0 ([a11ad79b](https://github.com/electron-userland/electron-forge/commit/a11ad79b)) + - upgrade lint-staged to 10.5.4 ([7ffab319](https://github.com/electron-userland/electron-forge/commit/7ffab319)) + - upgrade chai to ^4.3.3 ([bd14bf0a](https://github.com/electron-userland/electron-forge/commit/bd14bf0a)) + - upgrade globby to 11.0.2 ([8a0a61d7](https://github.com/electron-userland/electron-forge/commit/8a0a61d7)) + - upgrade eslint to 7.21.0 ([7096fb8d](https://github.com/electron-userland/electron-forge/commit/7096fb8d)) + - upgrade commitizen to 4.2.3 ([0d9a26f4](https://github.com/electron-userland/electron-forge/commit/0d9a26f4)) + - upgrade chai to 4.3.3 ([1d4df1bc](https://github.com/electron-userland/electron-forge/commit/1d4df1bc)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.16.1 ([988fcdc6](https://github.com/electron-userland/electron-forge/commit/988fcdc6)) + - upgrade @types/webpack-dev-middleware to ^4.1.0 ([ea7cce95](https://github.com/electron-userland/electron-forge/commit/ea7cce95)) + - upgrade @types/node-fetch to 2.5.8 ([3e9b516b](https://github.com/electron-userland/electron-forge/commit/3e9b516b)) + - upgrade @types/node to 14.14.31 ([34c8c426](https://github.com/electron-userland/electron-forge/commit/34c8c426)) + - upgrade @types/mocha to 8.2.1 ([c93c3aa2](https://github.com/electron-userland/electron-forge/commit/c93c3aa2)) + - upgrade @types/lodash to 4.14.168 ([9d92b736](https://github.com/electron-userland/electron-forge/commit/9d92b736)) + - upgrade @types/fs-extra to 9.0.8 ([443dec6a](https://github.com/electron-userland/electron-forge/commit/443dec6a)) + - upgrade @types/express to 4.17.11 ([33cf1dc6](https://github.com/electron-userland/electron-forge/commit/33cf1dc6)) + - upgrade @types/chai to 4.2.15 ([03210cd5](https://github.com/electron-userland/electron-forge/commit/03210cd5)) + - upgrade @babel/register to 7.13.8 ([67617440](https://github.com/electron-userland/electron-forge/commit/67617440)) + - upgrade @babel/preset-typescript to 7.13.0 ([60405f09](https://github.com/electron-userland/electron-forge/commit/60405f09)) + - upgrade @babel/preset-env to 7.13.9 ([f13ee5c0](https://github.com/electron-userland/electron-forge/commit/f13ee5c0)) + - upgrade @babel/plugin-proposal-class-properties to 7.13.0 ([cabf671b](https://github.com/electron-userland/electron-forge/commit/cabf671b)) + - upgrade @babel/core to 7.13.8 ([8f412408](https://github.com/electron-userland/electron-forge/commit/8f412408)) + - upgrade @babel/cli to 7.13.0 ([e23f2876](https://github.com/electron-userland/electron-forge/commit/e23f2876)) + - bump @types/node from 14.14.14 to 14.14.16 (#2110) ([646c159d](https://github.com/electron-userland/electron-forge/commit/646c159d)) + - bump @types/lodash from 4.14.165 to 4.14.166 ([27fcade7](https://github.com/electron-userland/electron-forge/commit/27fcade7)) + - bump @types/fs-extra from 9.0.5 to 9.0.6 (#2112) ([41f6811b](https://github.com/electron-userland/electron-forge/commit/41f6811b)) + - bump @types/sinon from 9.0.9 to 9.0.10 ([a09762a4](https://github.com/electron-userland/electron-forge/commit/a09762a4)) + - bump @typescript-eslint/eslint-plugin ([ada51b6f](https://github.com/electron-userland/electron-forge/commit/ada51b6f)) + - bump eslint from 7.15.0 to 7.16.0 (#2102) ([78a980d5](https://github.com/electron-userland/electron-forge/commit/78a980d5)) + - bump @typescript-eslint/parser from 4.10.0 to 4.11.0 ([d9a512f0](https://github.com/electron-userland/electron-forge/commit/d9a512f0)) + - bump @babel/preset-env from 7.12.10 to 7.12.11 (#2095) ([678e63c6](https://github.com/electron-userland/electron-forge/commit/678e63c6)) + - bump @types/node from 14.14.13 to 14.14.14 (#2094) ([cccf0e8b](https://github.com/electron-userland/electron-forge/commit/cccf0e8b)) + - bump @typescript-eslint/eslint-plugin from 4.9.1 to 4.10.0 (#2093) ([30217375](https://github.com/electron-userland/electron-forge/commit/30217375)) + - bump @typescript-eslint/parser from 4.9.1 to 4.10.0 ([2c9ac0fc](https://github.com/electron-userland/electron-forge/commit/2c9ac0fc)) + - bump husky from 4.3.5 to 4.3.6 ([2ceda33a](https://github.com/electron-userland/electron-forge/commit/2ceda33a)) + - bump @types/node from 14.14.12 to 14.14.13 (#2085) ([7d5f7ac6](https://github.com/electron-userland/electron-forge/commit/7d5f7ac6)) + - bump sinon from 9.2.1 to 9.2.2 (#2084) ([932da126](https://github.com/electron-userland/electron-forge/commit/932da126)) + - bump @types/fs-extra from 9.0.4 to 9.0.5 ([286f96ac](https://github.com/electron-userland/electron-forge/commit/286f96ac)) + - bump @types/node from 14.14.11 to 14.14.12 (#2079) ([268699bb](https://github.com/electron-userland/electron-forge/commit/268699bb)) + - bump @babel/core from 7.12.9 to 7.12.10 ([201c1377](https://github.com/electron-userland/electron-forge/commit/201c1377)) + - bump @babel/register from 7.12.1 to 7.12.10 ([7789e9c1](https://github.com/electron-userland/electron-forge/commit/7789e9c1)) + - bump @babel/preset-env from 7.12.7 to 7.12.10 (#2076) ([0b0efaca](https://github.com/electron-userland/electron-forge/commit/0b0efaca)) + - bump @babel/cli from 7.12.8 to 7.12.10 ([17e20b68](https://github.com/electron-userland/electron-forge/commit/17e20b68)) + - upgrade @typescript-eslint/eslint-plugin to ^4.9.1 ([ee25aede](https://github.com/electron-userland/electron-forge/commit/ee25aede)) + - upgrade ts-node to 9.1.1 ([9e87385b](https://github.com/electron-userland/electron-forge/commit/9e87385b)) + - upgrade husky to 4.3.5 ([5c90c0e5](https://github.com/electron-userland/electron-forge/commit/5c90c0e5)) + - upgrade @types/node to 14.14.11 ([1e47c39b](https://github.com/electron-userland/electron-forge/commit/1e47c39b)) + - upgrade @types/mocha to 8.2.0 ([0ef47768](https://github.com/electron-userland/electron-forge/commit/0ef47768)) + - bump @typescript-eslint/parser from 4.9.0 to 4.9.1 ([d70f444c](https://github.com/electron-userland/electron-forge/commit/d70f444c)) + - bump eslint from 7.14.0 to 7.15.0 ([c81945dd](https://github.com/electron-userland/electron-forge/commit/c81945dd)) + - upgrade lint-staged to 10.5.3 ([a1d72ba9](https://github.com/electron-userland/electron-forge/commit/a1d72ba9)) + - bump ts-node from 9.0.0 to 9.1.0 ([dc36029c](https://github.com/electron-userland/electron-forge/commit/dc36029c)) + - upgrade cross-env to 7.0.3 ([b53cf670](https://github.com/electron-userland/electron-forge/commit/b53cf670)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.9.0 ([7e1df029](https://github.com/electron-userland/electron-forge/commit/7e1df029)) + - bump @types/node from 14.14.9 to 14.14.10 (#2058) ([9c6f7d36](https://github.com/electron-userland/electron-forge/commit/9c6f7d36)) + - bump @babel/core from 7.12.8 to 7.12.9 (#2057) ([5e7c22df](https://github.com/electron-userland/electron-forge/commit/5e7c22df)) + - upgrade lint-staged to 10.5.2 ([7e3227b4](https://github.com/electron-userland/electron-forge/commit/7e3227b4)) + - upgrade fetch-mock to 9.11.0 ([d7897f43](https://github.com/electron-userland/electron-forge/commit/d7897f43)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.2 ([6844f11e](https://github.com/electron-userland/electron-forge/commit/6844f11e)) + - upgrade @types/sinon to 9.0.9 ([a2b8abff](https://github.com/electron-userland/electron-forge/commit/a2b8abff)) + - upgrade @babel/preset-env to 7.12.7 ([11f6f8ed](https://github.com/electron-userland/electron-forge/commit/11f6f8ed)) + - upgrade @babel/core to 7.12.8 ([48735ffe](https://github.com/electron-userland/electron-forge/commit/48735ffe)) + - upgrade @babel/cli to 7.12.8 ([b6a7df6f](https://github.com/electron-userland/electron-forge/commit/b6a7df6f)) + - bump @babel/preset-typescript from 7.12.1 to 7.12.7 (#2050) ([2e46aaaa](https://github.com/electron-userland/electron-forge/commit/2e46aaaa)) + - bump eslint from 7.13.0 to 7.14.0 ([3b2259f4](https://github.com/electron-userland/electron-forge/commit/3b2259f4)) + - bump @types/node from 14.14.8 to 14.14.9 (#2047) ([001ff243](https://github.com/electron-userland/electron-forge/commit/001ff243)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.1 ([faccc69b](https://github.com/electron-userland/electron-forge/commit/faccc69b)) + - upgrade @types/node to 14.14.8 ([868ca145](https://github.com/electron-userland/electron-forge/commit/868ca145)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.8.0 ([770dd11b](https://github.com/electron-userland/electron-forge/commit/770dd11b)) + - upgrade @types/minimist to 1.2.1 ([50b07fbb](https://github.com/electron-userland/electron-forge/commit/50b07fbb)) + - upgrade @types/fs-extra to 9.0.4 ([fe2fe457](https://github.com/electron-userland/electron-forge/commit/fe2fe457)) + - bump @types/mocha from 8.0.3 to 8.0.4 ([b2961cfa](https://github.com/electron-userland/electron-forge/commit/b2961cfa)) + - bump @types/express from 4.17.8 to 4.17.9 (#2033) ([32091854](https://github.com/electron-userland/electron-forge/commit/32091854)) + - bump @typescript-eslint/parser from 4.6.1 to 4.7.0 ([9d1264da](https://github.com/electron-userland/electron-forge/commit/9d1264da)) + - bump fork-ts-checker-webpack-plugin ([a36e63b6](https://github.com/electron-userland/electron-forge/commit/a36e63b6)) + - bump @types/node from 14.14.6 to 14.14.7 (#2028) ([edaec935](https://github.com/electron-userland/electron-forge/commit/edaec935)) + - upgrade mocha to 8.2.1 ([c183deca](https://github.com/electron-userland/electron-forge/commit/c183deca)) + - upgrade lint-staged to 10.5.1 ([c13c5aa5](https://github.com/electron-userland/electron-forge/commit/c13c5aa5)) + - upgrade eslint-config-airbnb-base to 14.2.1 ([e1065df2](https://github.com/electron-userland/electron-forge/commit/e1065df2)) + - upgrade eslint to 7.13.0 ([47d8281a](https://github.com/electron-userland/electron-forge/commit/47d8281a)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.6.1 ([77c16bc2](https://github.com/electron-userland/electron-forge/commit/77c16bc2)) + - upgrade @types/lodash to 4.14.165 ([ec44c020](https://github.com/electron-userland/electron-forge/commit/ec44c020)) + - upgrade @types/fs-extra to 9.0.3 ([dce3dcfb](https://github.com/electron-userland/electron-forge/commit/dce3dcfb)) + - bump style-loader in /packages/template/webpack/tmpl ([d12f3038](https://github.com/electron-userland/electron-forge/commit/d12f3038)) + - bump style-loader ([654d10fd](https://github.com/electron-userland/electron-forge/commit/654d10fd)) + - bump css-loader ([74455a8c](https://github.com/electron-userland/electron-forge/commit/74455a8c)) + - bump css-loader in /packages/template/webpack/tmpl ([fed82389](https://github.com/electron-userland/electron-forge/commit/fed82389)) + - upgrade typescript to 4.0.5 ([0ecb061f](https://github.com/electron-userland/electron-forge/commit/0ecb061f)) + - upgrade sinon to 9.2.1 ([146a745c](https://github.com/electron-userland/electron-forge/commit/146a745c)) + - upgrade lint-staged to 10.5.0 ([f0d506b0](https://github.com/electron-userland/electron-forge/commit/f0d506b0)) + - upgrade eslint to 7.12.1 ([e51a61e6](https://github.com/electron-userland/electron-forge/commit/e51a61e6)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.6.0 ([4b99c35f](https://github.com/electron-userland/electron-forge/commit/4b99c35f)) + - upgrade @types/webpack to 4.41.24 ([9376bf9c](https://github.com/electron-userland/electron-forge/commit/9376bf9c)) + - upgrade @types/node to 14.14.6 ([587d18cf](https://github.com/electron-userland/electron-forge/commit/587d18cf)) + - upgrade @types/lodash to 4.14.163 ([cb6dd659](https://github.com/electron-userland/electron-forge/commit/cb6dd659)) + - bump eslint from 7.11.0 to 7.12.0 ([c3bc236d](https://github.com/electron-userland/electron-forge/commit/c3bc236d)) + - bump @types/node from 14.14.0 to 14.14.2 (#2004) ([3aa2f8ae](https://github.com/electron-userland/electron-forge/commit/3aa2f8ae)) +- **dependabot:** ignore other problematic packages ([051e4f14](https://github.com/electron-userland/electron-forge/commit/051e4f14)) +- add @types/webpack to mass update dependencies blacklist ([1abf5e4d](https://github.com/electron-userland/electron-forge/commit/1abf5e4d)) +- add cross-zip & webpack to the do not upgrade list ([5f7fad30](https://github.com/electron-userland/electron-forge/commit/5f7fad30)) ##### Chores -* add more ignored packages ([da7ac6fa](https://github.com/electron-userland/electron-forge/commit/da7ac6fa)) -* forgot to block html-webpack-plugin v5 ([730b7127](https://github.com/electron-userland/electron-forge/commit/730b7127)) -* sync dependabot ignore with update-dependencies ignore ([71173621](https://github.com/electron-userland/electron-forge/commit/71173621)) -* upgrade transitive dependencies ([a92f6af8](https://github.com/electron-userland/electron-forge/commit/a92f6af8)) -* ignore html-webpack-plugin & open in the update dependency script ([38c75236](https://github.com/electron-userland/electron-forge/commit/38c75236)) -* prevent TypeScript from updating the minor version automatically ([912fa65e](https://github.com/electron-userland/electron-forge/commit/912fa65e)) -* **template-typescript:** add test script ([191781ff](https://github.com/electron-userland/electron-forge/commit/191781ff)) -* **deps:** ignore webpack 5.x auto-upgrade since it needs work ([9c01a08e](https://github.com/electron-userland/electron-forge/commit/9c01a08e)) -* **plugin-webpack:** fix test script (#2015) ([903a43cd](https://github.com/electron-userland/electron-forge/commit/903a43cd)) +- add more ignored packages ([da7ac6fa](https://github.com/electron-userland/electron-forge/commit/da7ac6fa)) +- forgot to block html-webpack-plugin v5 ([730b7127](https://github.com/electron-userland/electron-forge/commit/730b7127)) +- sync dependabot ignore with update-dependencies ignore ([71173621](https://github.com/electron-userland/electron-forge/commit/71173621)) +- upgrade transitive dependencies ([a92f6af8](https://github.com/electron-userland/electron-forge/commit/a92f6af8)) +- ignore html-webpack-plugin & open in the update dependency script ([38c75236](https://github.com/electron-userland/electron-forge/commit/38c75236)) +- prevent TypeScript from updating the minor version automatically ([912fa65e](https://github.com/electron-userland/electron-forge/commit/912fa65e)) +- **template-typescript:** add test script ([191781ff](https://github.com/electron-userland/electron-forge/commit/191781ff)) +- **deps:** ignore webpack 5.x auto-upgrade since it needs work ([9c01a08e](https://github.com/electron-userland/electron-forge/commit/9c01a08e)) +- **plugin-webpack:** fix test script (#2015) ([903a43cd](https://github.com/electron-userland/electron-forge/commit/903a43cd)) ##### Continuous Integration -* pin Ubuntu 18.04 for slow tests, not fast tests ([fe649cf5](https://github.com/electron-userland/electron-forge/commit/fe649cf5)) -* pin Ubuntu to 18.04 for the time being ([ac186b2b](https://github.com/electron-userland/electron-forge/commit/ac186b2b)) -* use dependabolt v2.1.3 (#2031) ([75bbd22c](https://github.com/electron-userland/electron-forge/commit/75bbd22c)) +- pin Ubuntu 18.04 for slow tests, not fast tests ([fe649cf5](https://github.com/electron-userland/electron-forge/commit/fe649cf5)) +- pin Ubuntu to 18.04 for the time being ([ac186b2b](https://github.com/electron-userland/electron-forge/commit/ac186b2b)) +- use dependabolt v2.1.3 (#2031) ([75bbd22c](https://github.com/electron-userland/electron-forge/commit/75bbd22c)) ##### Documentation Changes -* advertise the Discord server (#2181) ([5ca1dd9d](https://github.com/electron-userland/electron-forge/commit/5ca1dd9d)) -* **async-ora:** clarify use with DEBUG ([b63f4a02](https://github.com/electron-userland/electron-forge/commit/b63f4a02)) +- advertise the Discord server (#2181) ([5ca1dd9d](https://github.com/electron-userland/electron-forge/commit/5ca1dd9d)) +- **async-ora:** clarify use with DEBUG ([b63f4a02](https://github.com/electron-userland/electron-forge/commit/b63f4a02)) ##### Bug Fixes -* **core:** better error detection for electron-prebuilt-compile (#2268) ([fdc82117](https://github.com/electron-userland/electron-forge/commit/fdc82117)) -* **template/typescript-webpack:** - * magic constant is a string w/comments about what it's for (#2166) ([f15b5c7a](https://github.com/electron-userland/electron-forge/commit/f15b5c7a)) - * add ts/tsx to known eslint-plugin-import extensions (#2139) ([90f122c2](https://github.com/electron-userland/electron-forge/commit/90f122c2)) -* **plugin-webpack:** correctly define the asset relocator base dir (#2022) ([390219fd](https://github.com/electron-userland/electron-forge/commit/390219fd)) -* **template-typescript:** add eslint-plugin-import/typescript rules (#2048) ([c27ca4bf](https://github.com/electron-userland/electron-forge/commit/c27ca4bf)) -* **cli:** don't hardcode the minimum required Node version (#2003) ([704db4b1](https://github.com/electron-userland/electron-forge/commit/704db4b1)) +- **core:** better error detection for electron-prebuilt-compile (#2268) ([fdc82117](https://github.com/electron-userland/electron-forge/commit/fdc82117)) +- **template/typescript-webpack:** + - magic constant is a string w/comments about what it's for (#2166) ([f15b5c7a](https://github.com/electron-userland/electron-forge/commit/f15b5c7a)) + - add ts/tsx to known eslint-plugin-import extensions (#2139) ([90f122c2](https://github.com/electron-userland/electron-forge/commit/90f122c2)) +- **plugin-webpack:** correctly define the asset relocator base dir (#2022) ([390219fd](https://github.com/electron-userland/electron-forge/commit/390219fd)) +- **template-typescript:** add eslint-plugin-import/typescript rules (#2048) ([c27ca4bf](https://github.com/electron-userland/electron-forge/commit/c27ca4bf)) +- **cli:** don't hardcode the minimum required Node version (#2003) ([704db4b1](https://github.com/electron-userland/electron-forge/commit/704db4b1)) #### [6.0.0-beta.54](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.54) (2020-10-20) ##### Build System / Dependencies -* **deps:** - * upgrade transitive dependencies ([1c1352aa](https://github.com/electron-userland/electron-forge/commit/1c1352aa)) - * upgrade pretty-ms to 7.0.1 ([08bddc31](https://github.com/electron-userland/electron-forge/commit/08bddc31)) - * upgrade open to 7.3.0 ([1cdd4931](https://github.com/electron-userland/electron-forge/commit/1cdd4931)) - * upgrade html-webpack-plugin to 4.5.0 ([ae282da7](https://github.com/electron-userland/electron-forge/commit/ae282da7)) - * upgrade electron-wix-msi to 3.0.4 ([d4c920c3](https://github.com/electron-userland/electron-forge/commit/d4c920c3)) - * upgrade electron-rebuild to 2.3.1 ([9c1b3a65](https://github.com/electron-userland/electron-forge/commit/9c1b3a65)) - * upgrade debug to 4.2.0 ([166e1a3a](https://github.com/electron-userland/electron-forge/commit/166e1a3a)) - * upgrade aws-sdk to 2.775.0 ([4acb8116](https://github.com/electron-userland/electron-forge/commit/4acb8116)) - * upgrade @octokit/core to 3.1.3 ([79553a78](https://github.com/electron-userland/electron-forge/commit/79553a78)) - * bump codecov/codecov-action from v1.0.13 to v1.0.14 ([76e6f967](https://github.com/electron-userland/electron-forge/commit/76e6f967)) - * bump electron-wix-msi from 3.0.0 to 3.0.2 (#1975) ([b1b762cd](https://github.com/electron-userland/electron-forge/commit/b1b762cd)) - * bump webpack from 4.44.1 to 4.44.2 (#1973) ([bad313a1](https://github.com/electron-userland/electron-forge/commit/bad313a1)) - * bump @doyensec/electronegativity from 1.6.0 to 1.7.0 (#1965) ([266eeb6a](https://github.com/electron-userland/electron-forge/commit/266eeb6a)) - * bump @octokit/rest from 18.0.5 to 18.0.6 (#1966) ([9fb889ae](https://github.com/electron-userland/electron-forge/commit/9fb889ae)) - * bump webpack-merge from 5.1.3 to 5.1.4 (#1957) ([4f7da840](https://github.com/electron-userland/electron-forge/commit/4f7da840)) - * bump electron-rebuild from 2.0.2 to 2.0.3 (#1959) ([6be0ac05](https://github.com/electron-userland/electron-forge/commit/6be0ac05)) - * bump @octokit/types from 5.4.1 to 5.5.0 (#1961) ([3d1c5406](https://github.com/electron-userland/electron-forge/commit/3d1c5406)) - * bump xterm from 4.8.1 to 4.9.0 (#1956) ([be2deb8d](https://github.com/electron-userland/electron-forge/commit/be2deb8d)) - * upgrade electron-rebuild to 2.0.2 ([c8714a0c](https://github.com/electron-userland/electron-forge/commit/c8714a0c)) - * upgrade transitive dependencies ([7ebac11a](https://github.com/electron-userland/electron-forge/commit/7ebac11a)) - * upgrade aws-sdk to 2.747.0 ([876eae44](https://github.com/electron-userland/electron-forge/commit/876eae44)) - * upgrade ora to 5.1.0 ([124a8bc6](https://github.com/electron-userland/electron-forge/commit/124a8bc6)) - * upgrade node-fetch to 2.6.1 ([c6694efc](https://github.com/electron-userland/electron-forge/commit/c6694efc)) - * upgrade @octokit/rest to 18.0.5 ([645dc469](https://github.com/electron-userland/electron-forge/commit/645dc469)) - * bump webpack-merge from 5.1.2 to 5.1.3 (#1943) ([7f2e00f0](https://github.com/electron-userland/electron-forge/commit/7f2e00f0)) - * bump open from 7.2.0 to 7.2.1 (#1938) ([fde5435f](https://github.com/electron-userland/electron-forge/commit/fde5435f)) - * bump html-webpack-plugin from 4.3.0 to 4.4.1 (#1940) ([6639803c](https://github.com/electron-userland/electron-forge/commit/6639803c)) - * bump @octokit/rest from 18.0.3 to 18.0.4 (#1933) ([ef2bf1fe](https://github.com/electron-userland/electron-forge/commit/ef2bf1fe)) -* add script to batch update dependencies ([ca0035f8](https://github.com/electron-userland/electron-forge/commit/ca0035f8)) -* **deps-dev:** - * upgrade typescript to 4.0.3 ([9cf56e4c](https://github.com/electron-userland/electron-forge/commit/9cf56e4c)) - * upgrade typedoc to 0.19.2 ([bdf1c5dd](https://github.com/electron-userland/electron-forge/commit/bdf1c5dd)) - * upgrade sinon to 9.2.0 ([840093e6](https://github.com/electron-userland/electron-forge/commit/840093e6)) - * upgrade nodemon to 2.0.6 ([b6cbc7c3](https://github.com/electron-userland/electron-forge/commit/b6cbc7c3)) - * upgrade mocha to 8.2.0 ([2cf9ddeb](https://github.com/electron-userland/electron-forge/commit/2cf9ddeb)) - * upgrade lint-staged to 10.4.2 ([9851181b](https://github.com/electron-userland/electron-forge/commit/9851181b)) - * upgrade eslint-plugin-import to 2.22.1 ([7866c5b0](https://github.com/electron-userland/electron-forge/commit/7866c5b0)) - * upgrade eslint to 7.11.0 ([2018a93b](https://github.com/electron-userland/electron-forge/commit/2018a93b)) - * upgrade commitizen to 4.2.2 ([f4336fdc](https://github.com/electron-userland/electron-forge/commit/f4336fdc)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 4.5.0 ([26db59ae](https://github.com/electron-userland/electron-forge/commit/26db59ae)) - * upgrade @types/webpack to 4.41.23 ([b344ea1e](https://github.com/electron-userland/electron-forge/commit/b344ea1e)) - * upgrade @types/username to ^5.0.0 ([aaa3ef1a](https://github.com/electron-userland/electron-forge/commit/aaa3ef1a)) - * upgrade @types/sinon to 9.0.8 ([03a0d210](https://github.com/electron-userland/electron-forge/commit/03a0d210)) - * upgrade @types/lodash to 4.14.162 ([2f397255](https://github.com/electron-userland/electron-forge/commit/2f397255)) - * upgrade @types/html-minifier-terser to 5.1.1 ([c04f4784](https://github.com/electron-userland/electron-forge/commit/c04f4784)) - * upgrade @types/fs-extra to 9.0.2 ([9411c872](https://github.com/electron-userland/electron-forge/commit/9411c872)) - * upgrade @types/chai to 4.2.14 ([29d6f4a5](https://github.com/electron-userland/electron-forge/commit/29d6f4a5)) - * upgrade @babel/register to 7.12.1 ([87ca1d72](https://github.com/electron-userland/electron-forge/commit/87ca1d72)) - * upgrade @babel/preset-typescript to 7.12.1 ([7c9bb970](https://github.com/electron-userland/electron-forge/commit/7c9bb970)) - * upgrade @babel/preset-env to 7.12.1 ([da77c360](https://github.com/electron-userland/electron-forge/commit/da77c360)) - * upgrade @babel/plugin-proposal-class-properties to 7.12.1 ([3ae646be](https://github.com/electron-userland/electron-forge/commit/3ae646be)) - * upgrade @babel/core to 7.12.3 ([8814a2ff](https://github.com/electron-userland/electron-forge/commit/8814a2ff)) - * upgrade @babel/cli to 7.12.1 ([22981839](https://github.com/electron-userland/electron-forge/commit/22981839)) - * bump actions/setup-node from v2.1.1 to v2.1.2 (#1986) ([9ae5f75e](https://github.com/electron-userland/electron-forge/commit/9ae5f75e)) - * bump @types/node from 14.10.3 to 14.11.1 (#1974) ([56a52668](https://github.com/electron-userland/electron-forge/commit/56a52668)) - * bump lint-staged from 10.3.0 to 10.4.0 ([3aebc3e2](https://github.com/electron-userland/electron-forge/commit/3aebc3e2)) - * bump @types/node from 14.10.2 to 14.10.3 (#1971) ([4f3f62d7](https://github.com/electron-userland/electron-forge/commit/4f3f62d7)) - * bump @types/node from 14.10.1 to 14.10.2 (#1970) ([f5ed0c96](https://github.com/electron-userland/electron-forge/commit/f5ed0c96)) - * bump @types/semver from 7.3.3 to 7.3.4 ([41cf57d4](https://github.com/electron-userland/electron-forge/commit/41cf57d4)) - * upgrade eslint to 7.9.0 ([efd823ac](https://github.com/electron-userland/electron-forge/commit/efd823ac)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 4.1.1 ([600b01ce](https://github.com/electron-userland/electron-forge/commit/600b01ce)) - * bump @types/node from 14.6.4 to 14.10.0 (#1960) ([31d0bfd9](https://github.com/electron-userland/electron-forge/commit/31d0bfd9)) - * bump @typescript-eslint/eslint-plugin ([a21d9d3f](https://github.com/electron-userland/electron-forge/commit/a21d9d3f)) - * bump @typescript-eslint/parser from 4.0.1 to 4.1.0 ([31dbe544](https://github.com/electron-userland/electron-forge/commit/31dbe544)) - * bump husky from 4.2.5 to 4.3.0 ([1f9cde52](https://github.com/electron-userland/electron-forge/commit/1f9cde52)) - * upgrade @babel/{preset-env,register} to 7.11.5 ([8a4866d2](https://github.com/electron-userland/electron-forge/commit/8a4866d2)) - * upgrade @babel/{cli,core} to 7.11.6 ([cd2aa984](https://github.com/electron-userland/electron-forge/commit/cd2aa984)) - * upgrade typedoc to 0.19.1 ([90071f73](https://github.com/electron-userland/electron-forge/commit/90071f73)) - * upgrade lint-staged to 10.3.0 ([68d400e0](https://github.com/electron-userland/electron-forge/commit/68d400e0)) - * upgrade eslint to 7.8.1 ([690ffff6](https://github.com/electron-userland/electron-forge/commit/690ffff6)) - * upgrade babel-plugin-source-map-support to 2.1.3 ([9b143ea1](https://github.com/electron-userland/electron-forge/commit/9b143ea1)) - * upgrade @types/webpack to 4.41.22 ([f68abbeb](https://github.com/electron-userland/electron-forge/commit/f68abbeb)) - * upgrade @types/node to 14.6.4 ([adefaa5f](https://github.com/electron-userland/electron-forge/commit/adefaa5f)) - * upgrade @types/fetch-mock to 7.3.3 ([fd526250](https://github.com/electron-userland/electron-forge/commit/fd526250)) - * upgrade @types/express to 4.17.8 ([e9d84618](https://github.com/electron-userland/electron-forge/commit/e9d84618)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to ^4.0.1 ([0b631ed2](https://github.com/electron-userland/electron-forge/commit/0b631ed2)) - * bump @types/lodash from 4.14.160 to 4.14.161 ([ee5735dc](https://github.com/electron-userland/electron-forge/commit/ee5735dc)) - * bump @typescript-eslint/eslint-plugin ([5542b8ec](https://github.com/electron-userland/electron-forge/commit/5542b8ec)) - * bump @typescript-eslint/parser ([ea406744](https://github.com/electron-userland/electron-forge/commit/ea406744)) - * bump mocha from 8.1.2 to 8.1.3 (#1937) ([06ddc78e](https://github.com/electron-userland/electron-forge/commit/06ddc78e)) - * bump typedoc from 0.18.0 to 0.19.0 (#1939) ([13b53482](https://github.com/electron-userland/electron-forge/commit/13b53482)) - * bump @types/node from 14.6.0 to 14.6.1 ([e47f3183](https://github.com/electron-userland/electron-forge/commit/e47f3183)) - * bump lint-staged from 10.2.12 to 10.2.13 ([6d6db23a](https://github.com/electron-userland/electron-forge/commit/6d6db23a)) - * bump mocha from 8.1.1 to 8.1.2 (#1931) ([a94777d3](https://github.com/electron-userland/electron-forge/commit/a94777d3)) - * bump commitizen from 4.2.0 to 4.2.1 ([74a2a428](https://github.com/electron-userland/electron-forge/commit/74a2a428)) -* **ci:** - * fix grep command ([38b3dca4](https://github.com/electron-userland/electron-forge/commit/38b3dca4)) - * remove opensuse sources ([3f7f80e7](https://github.com/electron-userland/electron-forge/commit/3f7f80e7)) - -##### Bug Fixes - -* **publisher-github:** - * use new @octokit .auth property (#1989) ([dae97c40](https://github.com/electron-userland/electron-forge/commit/dae97c40)) - * don't reexport Octokit type (#1962) ([af79fa1c](https://github.com/electron-userland/electron-forge/commit/af79fa1c)) -* **core:** init should install the latest caret version of Forge (#1963) ([b1693f09](https://github.com/electron-userland/electron-forge/commit/b1693f09)) +- **deps:** + - upgrade transitive dependencies ([1c1352aa](https://github.com/electron-userland/electron-forge/commit/1c1352aa)) + - upgrade pretty-ms to 7.0.1 ([08bddc31](https://github.com/electron-userland/electron-forge/commit/08bddc31)) + - upgrade open to 7.3.0 ([1cdd4931](https://github.com/electron-userland/electron-forge/commit/1cdd4931)) + - upgrade html-webpack-plugin to 4.5.0 ([ae282da7](https://github.com/electron-userland/electron-forge/commit/ae282da7)) + - upgrade electron-wix-msi to 3.0.4 ([d4c920c3](https://github.com/electron-userland/electron-forge/commit/d4c920c3)) + - upgrade electron-rebuild to 2.3.1 ([9c1b3a65](https://github.com/electron-userland/electron-forge/commit/9c1b3a65)) + - upgrade debug to 4.2.0 ([166e1a3a](https://github.com/electron-userland/electron-forge/commit/166e1a3a)) + - upgrade aws-sdk to 2.775.0 ([4acb8116](https://github.com/electron-userland/electron-forge/commit/4acb8116)) + - upgrade @octokit/core to 3.1.3 ([79553a78](https://github.com/electron-userland/electron-forge/commit/79553a78)) + - bump codecov/codecov-action from v1.0.13 to v1.0.14 ([76e6f967](https://github.com/electron-userland/electron-forge/commit/76e6f967)) + - bump electron-wix-msi from 3.0.0 to 3.0.2 (#1975) ([b1b762cd](https://github.com/electron-userland/electron-forge/commit/b1b762cd)) + - bump webpack from 4.44.1 to 4.44.2 (#1973) ([bad313a1](https://github.com/electron-userland/electron-forge/commit/bad313a1)) + - bump @doyensec/electronegativity from 1.6.0 to 1.7.0 (#1965) ([266eeb6a](https://github.com/electron-userland/electron-forge/commit/266eeb6a)) + - bump @octokit/rest from 18.0.5 to 18.0.6 (#1966) ([9fb889ae](https://github.com/electron-userland/electron-forge/commit/9fb889ae)) + - bump webpack-merge from 5.1.3 to 5.1.4 (#1957) ([4f7da840](https://github.com/electron-userland/electron-forge/commit/4f7da840)) + - bump electron-rebuild from 2.0.2 to 2.0.3 (#1959) ([6be0ac05](https://github.com/electron-userland/electron-forge/commit/6be0ac05)) + - bump @octokit/types from 5.4.1 to 5.5.0 (#1961) ([3d1c5406](https://github.com/electron-userland/electron-forge/commit/3d1c5406)) + - bump xterm from 4.8.1 to 4.9.0 (#1956) ([be2deb8d](https://github.com/electron-userland/electron-forge/commit/be2deb8d)) + - upgrade electron-rebuild to 2.0.2 ([c8714a0c](https://github.com/electron-userland/electron-forge/commit/c8714a0c)) + - upgrade transitive dependencies ([7ebac11a](https://github.com/electron-userland/electron-forge/commit/7ebac11a)) + - upgrade aws-sdk to 2.747.0 ([876eae44](https://github.com/electron-userland/electron-forge/commit/876eae44)) + - upgrade ora to 5.1.0 ([124a8bc6](https://github.com/electron-userland/electron-forge/commit/124a8bc6)) + - upgrade node-fetch to 2.6.1 ([c6694efc](https://github.com/electron-userland/electron-forge/commit/c6694efc)) + - upgrade @octokit/rest to 18.0.5 ([645dc469](https://github.com/electron-userland/electron-forge/commit/645dc469)) + - bump webpack-merge from 5.1.2 to 5.1.3 (#1943) ([7f2e00f0](https://github.com/electron-userland/electron-forge/commit/7f2e00f0)) + - bump open from 7.2.0 to 7.2.1 (#1938) ([fde5435f](https://github.com/electron-userland/electron-forge/commit/fde5435f)) + - bump html-webpack-plugin from 4.3.0 to 4.4.1 (#1940) ([6639803c](https://github.com/electron-userland/electron-forge/commit/6639803c)) + - bump @octokit/rest from 18.0.3 to 18.0.4 (#1933) ([ef2bf1fe](https://github.com/electron-userland/electron-forge/commit/ef2bf1fe)) +- add script to batch update dependencies ([ca0035f8](https://github.com/electron-userland/electron-forge/commit/ca0035f8)) +- **deps-dev:** + - upgrade typescript to 4.0.3 ([9cf56e4c](https://github.com/electron-userland/electron-forge/commit/9cf56e4c)) + - upgrade typedoc to 0.19.2 ([bdf1c5dd](https://github.com/electron-userland/electron-forge/commit/bdf1c5dd)) + - upgrade sinon to 9.2.0 ([840093e6](https://github.com/electron-userland/electron-forge/commit/840093e6)) + - upgrade nodemon to 2.0.6 ([b6cbc7c3](https://github.com/electron-userland/electron-forge/commit/b6cbc7c3)) + - upgrade mocha to 8.2.0 ([2cf9ddeb](https://github.com/electron-userland/electron-forge/commit/2cf9ddeb)) + - upgrade lint-staged to 10.4.2 ([9851181b](https://github.com/electron-userland/electron-forge/commit/9851181b)) + - upgrade eslint-plugin-import to 2.22.1 ([7866c5b0](https://github.com/electron-userland/electron-forge/commit/7866c5b0)) + - upgrade eslint to 7.11.0 ([2018a93b](https://github.com/electron-userland/electron-forge/commit/2018a93b)) + - upgrade commitizen to 4.2.2 ([f4336fdc](https://github.com/electron-userland/electron-forge/commit/f4336fdc)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 4.5.0 ([26db59ae](https://github.com/electron-userland/electron-forge/commit/26db59ae)) + - upgrade @types/webpack to 4.41.23 ([b344ea1e](https://github.com/electron-userland/electron-forge/commit/b344ea1e)) + - upgrade @types/username to ^5.0.0 ([aaa3ef1a](https://github.com/electron-userland/electron-forge/commit/aaa3ef1a)) + - upgrade @types/sinon to 9.0.8 ([03a0d210](https://github.com/electron-userland/electron-forge/commit/03a0d210)) + - upgrade @types/lodash to 4.14.162 ([2f397255](https://github.com/electron-userland/electron-forge/commit/2f397255)) + - upgrade @types/html-minifier-terser to 5.1.1 ([c04f4784](https://github.com/electron-userland/electron-forge/commit/c04f4784)) + - upgrade @types/fs-extra to 9.0.2 ([9411c872](https://github.com/electron-userland/electron-forge/commit/9411c872)) + - upgrade @types/chai to 4.2.14 ([29d6f4a5](https://github.com/electron-userland/electron-forge/commit/29d6f4a5)) + - upgrade @babel/register to 7.12.1 ([87ca1d72](https://github.com/electron-userland/electron-forge/commit/87ca1d72)) + - upgrade @babel/preset-typescript to 7.12.1 ([7c9bb970](https://github.com/electron-userland/electron-forge/commit/7c9bb970)) + - upgrade @babel/preset-env to 7.12.1 ([da77c360](https://github.com/electron-userland/electron-forge/commit/da77c360)) + - upgrade @babel/plugin-proposal-class-properties to 7.12.1 ([3ae646be](https://github.com/electron-userland/electron-forge/commit/3ae646be)) + - upgrade @babel/core to 7.12.3 ([8814a2ff](https://github.com/electron-userland/electron-forge/commit/8814a2ff)) + - upgrade @babel/cli to 7.12.1 ([22981839](https://github.com/electron-userland/electron-forge/commit/22981839)) + - bump actions/setup-node from v2.1.1 to v2.1.2 (#1986) ([9ae5f75e](https://github.com/electron-userland/electron-forge/commit/9ae5f75e)) + - bump @types/node from 14.10.3 to 14.11.1 (#1974) ([56a52668](https://github.com/electron-userland/electron-forge/commit/56a52668)) + - bump lint-staged from 10.3.0 to 10.4.0 ([3aebc3e2](https://github.com/electron-userland/electron-forge/commit/3aebc3e2)) + - bump @types/node from 14.10.2 to 14.10.3 (#1971) ([4f3f62d7](https://github.com/electron-userland/electron-forge/commit/4f3f62d7)) + - bump @types/node from 14.10.1 to 14.10.2 (#1970) ([f5ed0c96](https://github.com/electron-userland/electron-forge/commit/f5ed0c96)) + - bump @types/semver from 7.3.3 to 7.3.4 ([41cf57d4](https://github.com/electron-userland/electron-forge/commit/41cf57d4)) + - upgrade eslint to 7.9.0 ([efd823ac](https://github.com/electron-userland/electron-forge/commit/efd823ac)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 4.1.1 ([600b01ce](https://github.com/electron-userland/electron-forge/commit/600b01ce)) + - bump @types/node from 14.6.4 to 14.10.0 (#1960) ([31d0bfd9](https://github.com/electron-userland/electron-forge/commit/31d0bfd9)) + - bump @typescript-eslint/eslint-plugin ([a21d9d3f](https://github.com/electron-userland/electron-forge/commit/a21d9d3f)) + - bump @typescript-eslint/parser from 4.0.1 to 4.1.0 ([31dbe544](https://github.com/electron-userland/electron-forge/commit/31dbe544)) + - bump husky from 4.2.5 to 4.3.0 ([1f9cde52](https://github.com/electron-userland/electron-forge/commit/1f9cde52)) + - upgrade @babel/{preset-env,register} to 7.11.5 ([8a4866d2](https://github.com/electron-userland/electron-forge/commit/8a4866d2)) + - upgrade @babel/{cli,core} to 7.11.6 ([cd2aa984](https://github.com/electron-userland/electron-forge/commit/cd2aa984)) + - upgrade typedoc to 0.19.1 ([90071f73](https://github.com/electron-userland/electron-forge/commit/90071f73)) + - upgrade lint-staged to 10.3.0 ([68d400e0](https://github.com/electron-userland/electron-forge/commit/68d400e0)) + - upgrade eslint to 7.8.1 ([690ffff6](https://github.com/electron-userland/electron-forge/commit/690ffff6)) + - upgrade babel-plugin-source-map-support to 2.1.3 ([9b143ea1](https://github.com/electron-userland/electron-forge/commit/9b143ea1)) + - upgrade @types/webpack to 4.41.22 ([f68abbeb](https://github.com/electron-userland/electron-forge/commit/f68abbeb)) + - upgrade @types/node to 14.6.4 ([adefaa5f](https://github.com/electron-userland/electron-forge/commit/adefaa5f)) + - upgrade @types/fetch-mock to 7.3.3 ([fd526250](https://github.com/electron-userland/electron-forge/commit/fd526250)) + - upgrade @types/express to 4.17.8 ([e9d84618](https://github.com/electron-userland/electron-forge/commit/e9d84618)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to ^4.0.1 ([0b631ed2](https://github.com/electron-userland/electron-forge/commit/0b631ed2)) + - bump @types/lodash from 4.14.160 to 4.14.161 ([ee5735dc](https://github.com/electron-userland/electron-forge/commit/ee5735dc)) + - bump @typescript-eslint/eslint-plugin ([5542b8ec](https://github.com/electron-userland/electron-forge/commit/5542b8ec)) + - bump @typescript-eslint/parser ([ea406744](https://github.com/electron-userland/electron-forge/commit/ea406744)) + - bump mocha from 8.1.2 to 8.1.3 (#1937) ([06ddc78e](https://github.com/electron-userland/electron-forge/commit/06ddc78e)) + - bump typedoc from 0.18.0 to 0.19.0 (#1939) ([13b53482](https://github.com/electron-userland/electron-forge/commit/13b53482)) + - bump @types/node from 14.6.0 to 14.6.1 ([e47f3183](https://github.com/electron-userland/electron-forge/commit/e47f3183)) + - bump lint-staged from 10.2.12 to 10.2.13 ([6d6db23a](https://github.com/electron-userland/electron-forge/commit/6d6db23a)) + - bump mocha from 8.1.1 to 8.1.2 (#1931) ([a94777d3](https://github.com/electron-userland/electron-forge/commit/a94777d3)) + - bump commitizen from 4.2.0 to 4.2.1 ([74a2a428](https://github.com/electron-userland/electron-forge/commit/74a2a428)) +- **ci:** + - fix grep command ([38b3dca4](https://github.com/electron-userland/electron-forge/commit/38b3dca4)) + - remove opensuse sources ([3f7f80e7](https://github.com/electron-userland/electron-forge/commit/3f7f80e7)) + +##### Bug Fixes + +- **publisher-github:** + - use new @octokit .auth property (#1989) ([dae97c40](https://github.com/electron-userland/electron-forge/commit/dae97c40)) + - don't reexport Octokit type (#1962) ([af79fa1c](https://github.com/electron-userland/electron-forge/commit/af79fa1c)) +- **core:** init should install the latest caret version of Forge (#1963) ([b1693f09](https://github.com/electron-userland/electron-forge/commit/b1693f09)) ##### Tests -* fix deletes with TypeScript 4.0 ([5f0266dd](https://github.com/electron-userland/electron-forge/commit/5f0266dd)) +- fix deletes with TypeScript 4.0 ([5f0266dd](https://github.com/electron-userland/electron-forge/commit/5f0266dd)) #### [6.0.0-beta.53](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.53) (2020-08-25) ##### Build System / Dependencies -* upgrade transitive dependencies ([1e62bb0b](https://github.com/electron-userland/electron-forge/commit/1e62bb0b)) -* refactor GitHub Action jobs (#1875) ([4afa3dca](https://github.com/electron-userland/electron-forge/commit/4afa3dca)) -* use the rolling v2 branch for dependabolt ([0793b20b](https://github.com/electron-userland/electron-forge/commit/0793b20b)) -* add GitHub Actions to Dependabot for real this time ([01d2d393](https://github.com/electron-userland/electron-forge/commit/01d2d393)) -* add Dependabot config (#1811) ([765e8f25](https://github.com/electron-userland/electron-forge/commit/765e8f25)) -* **deps:** - * upgrade aws-sdk to 2.739.0 ([57915f85](https://github.com/electron-userland/electron-forge/commit/57915f85)) - * upgrade electron-rebuild to 2.0.1 ([1b4a68da](https://github.com/electron-userland/electron-forge/commit/1b4a68da)) - * upgrade webpack-merge to 5.1.2 ([3a6c6f04](https://github.com/electron-userland/electron-forge/commit/3a6c6f04)) - * upgrade electron-rebuild to ^2.0.0 ([5924aef4](https://github.com/electron-userland/electron-forge/commit/5924aef4)) - * upgrade electron-packager to 15.1.0 ([ccac56e2](https://github.com/electron-userland/electron-forge/commit/ccac56e2)) - * bump open from 7.1.0 to 7.2.0 (#1927) ([2821473b](https://github.com/electron-userland/electron-forge/commit/2821473b)) - * bump @octokit/types from 5.4.0 to 5.4.1 (#1925) ([6bfa4ab9](https://github.com/electron-userland/electron-forge/commit/6bfa4ab9)) - * bump codecov/codecov-action from v1.0.12 to v1.0.13 ([9da35377](https://github.com/electron-userland/electron-forge/commit/9da35377)) - * bump lodash from 4.17.19 to 4.17.20 (#1917) ([a8db2000](https://github.com/electron-userland/electron-forge/commit/a8db2000)) - * bump find-up from 4.1.0 to 5.0.0 (#1902) ([174baa26](https://github.com/electron-userland/electron-forge/commit/174baa26)) - * upgrade @octokit/types to 5.4.0 ([a311e323](https://github.com/electron-userland/electron-forge/commit/a311e323)) - * upgrade ora to ^5.0.0 ([4d8356a2](https://github.com/electron-userland/electron-forge/commit/4d8356a2)) - * upgrade @octokit/types to 5.3.0 ([5e2bdd81](https://github.com/electron-userland/electron-forge/commit/5e2bdd81)) - * upgrade electron-wix-msi to ^3.0.0 ([fafe0d26](https://github.com/electron-userland/electron-forge/commit/fafe0d26)) - * upgrade ora to 4.1.0 ([387d7224](https://github.com/electron-userland/electron-forge/commit/387d7224)) - * bump @octokit/core from 3.1.1 to 3.1.2 (#1886) ([6ae3d5e8](https://github.com/electron-userland/electron-forge/commit/6ae3d5e8)) - * bump @octokit/types from 5.2.0 to 5.2.1 (#1887) ([9e93f3cc](https://github.com/electron-userland/electron-forge/commit/9e93f3cc)) - * bump webpack-merge from 5.0.9 to 5.1.1 (#1883) ([b0ca86af](https://github.com/electron-userland/electron-forge/commit/b0ca86af)) - * update codecov/codecov-action requirement to v1.0.12 (#1880) ([0be4195a](https://github.com/electron-userland/electron-forge/commit/0be4195a)) - * update actions/setup-node requirement to v2.1.1 (#1881) ([2172d157](https://github.com/electron-userland/electron-forge/commit/2172d157)) - * upgrade webpack to 4.44.1 ([3263c7db](https://github.com/electron-userland/electron-forge/commit/3263c7db)) - * upgrade aws-sdk to 2.720.0 ([65f3e05b](https://github.com/electron-userland/electron-forge/commit/65f3e05b)) - * upgrade webpack to 4.44.0 ([16ff101d](https://github.com/electron-userland/electron-forge/commit/16ff101d)) - * upgrade @octokit/rest to 18.0.3 ([88940331](https://github.com/electron-userland/electron-forge/commit/88940331)) - * upgrade transitive dependencies ([ab893497](https://github.com/electron-userland/electron-forge/commit/ab893497)) - * bump electron-installer-redhat from 3.1.0 to 3.2.0 (#1866) ([7fe7e6f8](https://github.com/electron-userland/electron-forge/commit/7fe7e6f8)) - * bump @octokit/types from 5.1.0 to ^5.1.1 (#1861) ([ee889bf6](https://github.com/electron-userland/electron-forge/commit/ee889bf6)) - * bump codecov/codecov-action from v1.0.11 to v1.0.12 ([c18c3dea](https://github.com/electron-userland/electron-forge/commit/c18c3dea)) - * bump inquirer from 7.3.2 to 7.3.3 (#1860) ([889a63b9](https://github.com/electron-userland/electron-forge/commit/889a63b9)) - * bump actions/setup-node from v2.1.0 to v2.1.1 ([027e4320](https://github.com/electron-userland/electron-forge/commit/027e4320)) - * bump ora from 4.0.4 to 4.0.5 (#1850) ([307a1631](https://github.com/electron-userland/electron-forge/commit/307a1631)) - * bump open from 7.0.4 to 7.1.0 (#1849) ([ec41d582](https://github.com/electron-userland/electron-forge/commit/ec41d582)) - * bump @octokit/rest from 18.0.0 to 18.0.1 (#1842) ([5d9b8f15](https://github.com/electron-userland/electron-forge/commit/5d9b8f15)) - * bump @octokit/core from 3.1.0 to 3.1.1 (#1844) ([f051a76e](https://github.com/electron-userland/electron-forge/commit/f051a76e)) - * bump @octokit/types from 5.0.1 to 5.1.0 (#1841) ([e106ca03](https://github.com/electron-userland/electron-forge/commit/e106ca03)) - * upgrade aws-sdk to 2.713.0 ([c8b65bb8](https://github.com/electron-userland/electron-forge/commit/c8b65bb8)) - * upgrade inquirer to 7.3.2 ([35ebc8ca](https://github.com/electron-userland/electron-forge/commit/35ebc8ca)) - * bump xterm from 4.7.0 to 4.8.1 (#1834) ([2a2fa4fc](https://github.com/electron-userland/electron-forge/commit/2a2fa4fc)) - * bump webpack-merge from 5.0.8 to 5.0.9 (#1830) ([b30945c7](https://github.com/electron-userland/electron-forge/commit/b30945c7)) - * bump lodash from 4.17.15 to 4.17.19 (#1829) ([f7cb5a4e](https://github.com/electron-userland/electron-forge/commit/f7cb5a4e)) - * bump webpack-merge from 4.2.2 to 5.0.8 (#1827) ([d0258786](https://github.com/electron-userland/electron-forge/commit/d0258786)) - * bump electron-winstaller from 4.0.0 to 4.0.1 (#1825) ([89b66397](https://github.com/electron-userland/electron-forge/commit/89b66397)) - * upgrade transitive dependencies ([92d2adc1](https://github.com/electron-userland/electron-forge/commit/92d2adc1)) - * bump @octokit/rest from 16.43.1 to 18.0.0 (#1813) ([0a8d66ee](https://github.com/electron-userland/electron-forge/commit/0a8d66ee)) - * bump actions/setup-node from v1 to v2.1.0 ([27e1aea6](https://github.com/electron-userland/electron-forge/commit/27e1aea6)) - * bump actions/cache from v1 to v2 ([9c91acf5](https://github.com/electron-userland/electron-forge/commit/9c91acf5)) - * upgrade inquirer to 7.3.0 ([6bdb2a96](https://github.com/electron-userland/electron-forge/commit/6bdb2a96)) - * upgrade electron-installer-redhat to 3.1.0 ([ea35be30](https://github.com/electron-userland/electron-forge/commit/ea35be30)) - * upgrade electron-installer-debian to 3.1.0 ([c624b017](https://github.com/electron-userland/electron-forge/commit/c624b017)) -* **deps-dev:** - * upgrade lint-staged to 10.2.12 ([2434f042](https://github.com/electron-userland/electron-forge/commit/2434f042)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.10.1 ([96b79d54](https://github.com/electron-userland/electron-forge/commit/96b79d54)) - * upgrade typescript to ^4.0.2 ([89905835](https://github.com/electron-userland/electron-forge/commit/89905835)) - * upgrade ts-node to ^9.0.0 ([d6556bdf](https://github.com/electron-userland/electron-forge/commit/d6556bdf)) - * upgrade commitizen to 4.2.0 ([d0435b02](https://github.com/electron-userland/electron-forge/commit/d0435b02)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.10.0 ([482c8386](https://github.com/electron-userland/electron-forge/commit/482c8386)) - * upgrade @types/lodash to 4.14.160 ([37f04228](https://github.com/electron-userland/electron-forge/commit/37f04228)) - * upgrade commitizen to 4.1.5 ([0421b2ad](https://github.com/electron-userland/electron-forge/commit/0421b2ad)) - * upgrade @types/webpack-dev-middleware to 3.7.2 ([80ec76d5](https://github.com/electron-userland/electron-forge/commit/80ec76d5)) - * upgrade @types/mocha to 8.0.3 ([b59510ed](https://github.com/electron-userland/electron-forge/commit/b59510ed)) - * upgrade @types/inquirer to 7.3.1 ([2ee537a2](https://github.com/electron-userland/electron-forge/commit/2ee537a2)) - * upgrade @babel/core to 7.11.4 ([a50b3565](https://github.com/electron-userland/electron-forge/commit/a50b3565)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.9.1 ([34ff23c3](https://github.com/electron-userland/electron-forge/commit/34ff23c3)) - * bump @types/sinon from 9.0.4 to 9.0.5 ([56082c2b](https://github.com/electron-userland/electron-forge/commit/56082c2b)) - * bump typescript in /packages/template/typescript/tmpl ([cff9c915](https://github.com/electron-userland/electron-forge/commit/cff9c915)) - * bump typescript ([7d69849e](https://github.com/electron-userland/electron-forge/commit/7d69849e)) - * bump @types/semver from 7.3.2 to 7.3.3 ([f5590e7e](https://github.com/electron-userland/electron-forge/commit/f5590e7e)) - * bump fetch-mock from 9.10.6 to 9.10.7 (#1919) ([36715e0e](https://github.com/electron-userland/electron-forge/commit/36715e0e)) - * bump @types/node from 14.0.27 to 14.6.0 ([5f1decb8](https://github.com/electron-userland/electron-forge/commit/5f1decb8)) - * bump eslint from 7.6.0 to 7.7.0 (#1918) ([ac413c8e](https://github.com/electron-userland/electron-forge/commit/ac413c8e)) - * bump @types/semver from 7.3.1 to 7.3.2 ([3c28358e](https://github.com/electron-userland/electron-forge/commit/3c28358e)) - * bump style-loader ([8eab75a1](https://github.com/electron-userland/electron-forge/commit/8eab75a1)) - * bump node-loader ([401c5b6e](https://github.com/electron-userland/electron-forge/commit/401c5b6e)) - * bump node-loader in /packages/template/webpack/tmpl ([dcdc6581](https://github.com/electron-userland/electron-forge/commit/dcdc6581)) - * bump fork-ts-checker-webpack-plugin ([7c45045b](https://github.com/electron-userland/electron-forge/commit/7c45045b)) - * bump css-loader ([0fdb0c4a](https://github.com/electron-userland/electron-forge/commit/0fdb0c4a)) - * bump eslint to ^7 and @typescript-eslint to ^3 ([3d8bf0ea](https://github.com/electron-userland/electron-forge/commit/3d8bf0ea)) - * bump ts-loader ([7a574427](https://github.com/electron-userland/electron-forge/commit/7a574427)) - * bump style-loader in /packages/template/webpack/tmpl ([895bc947](https://github.com/electron-userland/electron-forge/commit/895bc947)) - * bump css-loader in /packages/template/webpack/tmpl ([c841c73b](https://github.com/electron-userland/electron-forge/commit/c841c73b)) - * bump sinon from 9.0.2 to 9.0.3 (#1901) ([3bc9c4a0](https://github.com/electron-userland/electron-forge/commit/3bc9c4a0)) - * bump @types/mocha from 8.0.1 to 8.0.2 ([789a8bec](https://github.com/electron-userland/electron-forge/commit/789a8bec)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.9.0 ([5602da63](https://github.com/electron-userland/electron-forge/commit/5602da63)) - * upgrade typedoc to ^0.18.0 ([ccb7dd74](https://github.com/electron-userland/electron-forge/commit/ccb7dd74)) - * upgrade eslint-plugin-mocha@^8.0.0 ([cd0c80ac](https://github.com/electron-userland/electron-forge/commit/cd0c80ac)) - * bump @types/lodash from 4.14.158 to 4.14.159 ([d8eadf3c](https://github.com/electron-userland/electron-forge/commit/d8eadf3c)) - * bump @babel/core from 7.11.0 to 7.11.1 (#1888) ([5e126423](https://github.com/electron-userland/electron-forge/commit/5e126423)) - * bump mocha from 8.1.0 to 8.1.1 (#1889) ([d5264904](https://github.com/electron-userland/electron-forge/commit/d5264904)) - * bump cz-customizable from 6.2.1 to 6.3.0 (#1885) ([02a0ed20](https://github.com/electron-userland/electron-forge/commit/02a0ed20)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.8.0 ([35109cf3](https://github.com/electron-userland/electron-forge/commit/35109cf3)) - * bump @types/mocha from 8.0.0 to 8.0.1 (#1877) ([fdd5799e](https://github.com/electron-userland/electron-forge/commit/fdd5799e)) - * bump fetch-mock from 9.10.5 to 9.10.6 (#1878) ([941d1630](https://github.com/electron-userland/electron-forge/commit/941d1630)) - * bump eslint from 7.5.0 to 7.6.0 (#1879) ([f7449307](https://github.com/electron-userland/electron-forge/commit/f7449307)) - * upgrade mocha to 8.1.0 ([83be715f](https://github.com/electron-userland/electron-forge/commit/83be715f)) - * ugprade @babel/{core,preset-env} to 7.11.0 ([10fee376](https://github.com/electron-userland/electron-forge/commit/10fee376)) - * upgrade @types/node to 14.0.27 ([f4a252ea](https://github.com/electron-userland/electron-forge/commit/f4a252ea)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.7.1 ([ba79a25b](https://github.com/electron-userland/electron-forge/commit/ba79a25b)) - * upgrade fetch-mock to 9.10.5 ([7a866af9](https://github.com/electron-userland/electron-forge/commit/7a866af9)) - * upgrade @types/node to 14.0.26 ([57739ba6](https://github.com/electron-userland/electron-forge/commit/57739ba6)) - * bump @types/node from 14.0.24 to 14.0.25 ([00b17d1d](https://github.com/electron-userland/electron-forge/commit/00b17d1d)) - * bump @types/chai from 4.2.11 to 4.2.12 ([dbbf2edf](https://github.com/electron-userland/electron-forge/commit/dbbf2edf)) - * upgrade @types/inquirer to ^7.3.0 ([a1dcb63f](https://github.com/electron-userland/electron-forge/commit/a1dcb63f)) - * upgrade @types/lodash to 4.14.158 ([95bbcd6c](https://github.com/electron-userland/electron-forge/commit/95bbcd6c)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.7.0 ([44bac784](https://github.com/electron-userland/electron-forge/commit/44bac784)) - * bump @types/node from 14.0.23 to 14.0.24 ([2a99544f](https://github.com/electron-userland/electron-forge/commit/2a99544f)) - * bump fetch-mock from 9.10.3 to 9.10.4 (#1847) ([1da33f3a](https://github.com/electron-userland/electron-forge/commit/1da33f3a)) - * bump eslint from 7.4.0 to 7.5.0 (#1848) ([b3bdfd53](https://github.com/electron-userland/electron-forge/commit/b3bdfd53)) - * bump typescript from 3.9.6 to 3.9.7 ([a8bbc448](https://github.com/electron-userland/electron-forge/commit/a8bbc448)) - * upgrade @babel/{cli,core,register} to 7.10.5 ([4d0e216f](https://github.com/electron-userland/electron-forge/commit/4d0e216f)) - * upgrade @types/node to 14.0.23 ([2a2cf774](https://github.com/electron-userland/electron-forge/commit/2a2cf774)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.6.1 ([05ad967c](https://github.com/electron-userland/electron-forge/commit/05ad967c)) - * bump @types/mocha from 7.0.2 to 8.0.0 ([e945d3f0](https://github.com/electron-userland/electron-forge/commit/e945d3f0)) - * bump @types/node from 14.0.19 to 14.0.20 ([09279a34](https://github.com/electron-userland/electron-forge/commit/09279a34)) - * bump @types/node from 14.0.18 to 14.0.19 ([c916bc40](https://github.com/electron-userland/electron-forge/commit/c916bc40)) - * bump @types/webpack from 4.41.20 to 4.41.21 (#1824) ([d189b207](https://github.com/electron-userland/electron-forge/commit/d189b207)) - * upgrade cz-customizable to 6.2.1 ([78bea45d](https://github.com/electron-userland/electron-forge/commit/78bea45d)) - * upgrade @types/node to 14.0.18 ([df72966b](https://github.com/electron-userland/electron-forge/commit/df72966b)) - * upgrade @types/glob to ^7.1.3 ([35d8346a](https://github.com/electron-userland/electron-forge/commit/35d8346a)) - * upgrade @types/chai-as-promised to 7.1.3 ([249adf65](https://github.com/electron-userland/electron-forge/commit/249adf65)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.6.0 ([beb6f024](https://github.com/electron-userland/electron-forge/commit/beb6f024)) - * bump @types/express from 4.17.6 to 4.17.7 (#1821) ([6b771c82](https://github.com/electron-userland/electron-forge/commit/6b771c82)) - * bump @types/webpack from 4.41.18 to 4.41.20 (#1819) ([54eecde3](https://github.com/electron-userland/electron-forge/commit/54eecde3)) - * bump eslint from 7.3.1 to 7.4.0 (#1812) ([d87635f2](https://github.com/electron-userland/electron-forge/commit/d87635f2)) - * upgrade typescript to 3.9.6 ([602bc11c](https://github.com/electron-userland/electron-forge/commit/602bc11c)) - * upgrade @babel/* to 7.10.4 ([885950aa](https://github.com/electron-userland/electron-forge/commit/885950aa)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 3.5.0 ([3674b174](https://github.com/electron-userland/electron-forge/commit/3674b174)) - * upgrade typedoc to 0.17.8 ([93a696c3](https://github.com/electron-userland/electron-forge/commit/93a696c3)) -* **ci:** - * codecov/codecov-action@v1 isn't actually updated to latest v1.x.y ([ba00d28e](https://github.com/electron-userland/electron-forge/commit/ba00d28e)) - * use Codecov Action instead of devDependency (#1854) ([623539c8](https://github.com/electron-userland/electron-forge/commit/623539c8)) +- upgrade transitive dependencies ([1e62bb0b](https://github.com/electron-userland/electron-forge/commit/1e62bb0b)) +- refactor GitHub Action jobs (#1875) ([4afa3dca](https://github.com/electron-userland/electron-forge/commit/4afa3dca)) +- use the rolling v2 branch for dependabolt ([0793b20b](https://github.com/electron-userland/electron-forge/commit/0793b20b)) +- add GitHub Actions to Dependabot for real this time ([01d2d393](https://github.com/electron-userland/electron-forge/commit/01d2d393)) +- add Dependabot config (#1811) ([765e8f25](https://github.com/electron-userland/electron-forge/commit/765e8f25)) +- **deps:** + - upgrade aws-sdk to 2.739.0 ([57915f85](https://github.com/electron-userland/electron-forge/commit/57915f85)) + - upgrade electron-rebuild to 2.0.1 ([1b4a68da](https://github.com/electron-userland/electron-forge/commit/1b4a68da)) + - upgrade webpack-merge to 5.1.2 ([3a6c6f04](https://github.com/electron-userland/electron-forge/commit/3a6c6f04)) + - upgrade electron-rebuild to ^2.0.0 ([5924aef4](https://github.com/electron-userland/electron-forge/commit/5924aef4)) + - upgrade electron-packager to 15.1.0 ([ccac56e2](https://github.com/electron-userland/electron-forge/commit/ccac56e2)) + - bump open from 7.1.0 to 7.2.0 (#1927) ([2821473b](https://github.com/electron-userland/electron-forge/commit/2821473b)) + - bump @octokit/types from 5.4.0 to 5.4.1 (#1925) ([6bfa4ab9](https://github.com/electron-userland/electron-forge/commit/6bfa4ab9)) + - bump codecov/codecov-action from v1.0.12 to v1.0.13 ([9da35377](https://github.com/electron-userland/electron-forge/commit/9da35377)) + - bump lodash from 4.17.19 to 4.17.20 (#1917) ([a8db2000](https://github.com/electron-userland/electron-forge/commit/a8db2000)) + - bump find-up from 4.1.0 to 5.0.0 (#1902) ([174baa26](https://github.com/electron-userland/electron-forge/commit/174baa26)) + - upgrade @octokit/types to 5.4.0 ([a311e323](https://github.com/electron-userland/electron-forge/commit/a311e323)) + - upgrade ora to ^5.0.0 ([4d8356a2](https://github.com/electron-userland/electron-forge/commit/4d8356a2)) + - upgrade @octokit/types to 5.3.0 ([5e2bdd81](https://github.com/electron-userland/electron-forge/commit/5e2bdd81)) + - upgrade electron-wix-msi to ^3.0.0 ([fafe0d26](https://github.com/electron-userland/electron-forge/commit/fafe0d26)) + - upgrade ora to 4.1.0 ([387d7224](https://github.com/electron-userland/electron-forge/commit/387d7224)) + - bump @octokit/core from 3.1.1 to 3.1.2 (#1886) ([6ae3d5e8](https://github.com/electron-userland/electron-forge/commit/6ae3d5e8)) + - bump @octokit/types from 5.2.0 to 5.2.1 (#1887) ([9e93f3cc](https://github.com/electron-userland/electron-forge/commit/9e93f3cc)) + - bump webpack-merge from 5.0.9 to 5.1.1 (#1883) ([b0ca86af](https://github.com/electron-userland/electron-forge/commit/b0ca86af)) + - update codecov/codecov-action requirement to v1.0.12 (#1880) ([0be4195a](https://github.com/electron-userland/electron-forge/commit/0be4195a)) + - update actions/setup-node requirement to v2.1.1 (#1881) ([2172d157](https://github.com/electron-userland/electron-forge/commit/2172d157)) + - upgrade webpack to 4.44.1 ([3263c7db](https://github.com/electron-userland/electron-forge/commit/3263c7db)) + - upgrade aws-sdk to 2.720.0 ([65f3e05b](https://github.com/electron-userland/electron-forge/commit/65f3e05b)) + - upgrade webpack to 4.44.0 ([16ff101d](https://github.com/electron-userland/electron-forge/commit/16ff101d)) + - upgrade @octokit/rest to 18.0.3 ([88940331](https://github.com/electron-userland/electron-forge/commit/88940331)) + - upgrade transitive dependencies ([ab893497](https://github.com/electron-userland/electron-forge/commit/ab893497)) + - bump electron-installer-redhat from 3.1.0 to 3.2.0 (#1866) ([7fe7e6f8](https://github.com/electron-userland/electron-forge/commit/7fe7e6f8)) + - bump @octokit/types from 5.1.0 to ^5.1.1 (#1861) ([ee889bf6](https://github.com/electron-userland/electron-forge/commit/ee889bf6)) + - bump codecov/codecov-action from v1.0.11 to v1.0.12 ([c18c3dea](https://github.com/electron-userland/electron-forge/commit/c18c3dea)) + - bump inquirer from 7.3.2 to 7.3.3 (#1860) ([889a63b9](https://github.com/electron-userland/electron-forge/commit/889a63b9)) + - bump actions/setup-node from v2.1.0 to v2.1.1 ([027e4320](https://github.com/electron-userland/electron-forge/commit/027e4320)) + - bump ora from 4.0.4 to 4.0.5 (#1850) ([307a1631](https://github.com/electron-userland/electron-forge/commit/307a1631)) + - bump open from 7.0.4 to 7.1.0 (#1849) ([ec41d582](https://github.com/electron-userland/electron-forge/commit/ec41d582)) + - bump @octokit/rest from 18.0.0 to 18.0.1 (#1842) ([5d9b8f15](https://github.com/electron-userland/electron-forge/commit/5d9b8f15)) + - bump @octokit/core from 3.1.0 to 3.1.1 (#1844) ([f051a76e](https://github.com/electron-userland/electron-forge/commit/f051a76e)) + - bump @octokit/types from 5.0.1 to 5.1.0 (#1841) ([e106ca03](https://github.com/electron-userland/electron-forge/commit/e106ca03)) + - upgrade aws-sdk to 2.713.0 ([c8b65bb8](https://github.com/electron-userland/electron-forge/commit/c8b65bb8)) + - upgrade inquirer to 7.3.2 ([35ebc8ca](https://github.com/electron-userland/electron-forge/commit/35ebc8ca)) + - bump xterm from 4.7.0 to 4.8.1 (#1834) ([2a2fa4fc](https://github.com/electron-userland/electron-forge/commit/2a2fa4fc)) + - bump webpack-merge from 5.0.8 to 5.0.9 (#1830) ([b30945c7](https://github.com/electron-userland/electron-forge/commit/b30945c7)) + - bump lodash from 4.17.15 to 4.17.19 (#1829) ([f7cb5a4e](https://github.com/electron-userland/electron-forge/commit/f7cb5a4e)) + - bump webpack-merge from 4.2.2 to 5.0.8 (#1827) ([d0258786](https://github.com/electron-userland/electron-forge/commit/d0258786)) + - bump electron-winstaller from 4.0.0 to 4.0.1 (#1825) ([89b66397](https://github.com/electron-userland/electron-forge/commit/89b66397)) + - upgrade transitive dependencies ([92d2adc1](https://github.com/electron-userland/electron-forge/commit/92d2adc1)) + - bump @octokit/rest from 16.43.1 to 18.0.0 (#1813) ([0a8d66ee](https://github.com/electron-userland/electron-forge/commit/0a8d66ee)) + - bump actions/setup-node from v1 to v2.1.0 ([27e1aea6](https://github.com/electron-userland/electron-forge/commit/27e1aea6)) + - bump actions/cache from v1 to v2 ([9c91acf5](https://github.com/electron-userland/electron-forge/commit/9c91acf5)) + - upgrade inquirer to 7.3.0 ([6bdb2a96](https://github.com/electron-userland/electron-forge/commit/6bdb2a96)) + - upgrade electron-installer-redhat to 3.1.0 ([ea35be30](https://github.com/electron-userland/electron-forge/commit/ea35be30)) + - upgrade electron-installer-debian to 3.1.0 ([c624b017](https://github.com/electron-userland/electron-forge/commit/c624b017)) +- **deps-dev:** + - upgrade lint-staged to 10.2.12 ([2434f042](https://github.com/electron-userland/electron-forge/commit/2434f042)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.10.1 ([96b79d54](https://github.com/electron-userland/electron-forge/commit/96b79d54)) + - upgrade typescript to ^4.0.2 ([89905835](https://github.com/electron-userland/electron-forge/commit/89905835)) + - upgrade ts-node to ^9.0.0 ([d6556bdf](https://github.com/electron-userland/electron-forge/commit/d6556bdf)) + - upgrade commitizen to 4.2.0 ([d0435b02](https://github.com/electron-userland/electron-forge/commit/d0435b02)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.10.0 ([482c8386](https://github.com/electron-userland/electron-forge/commit/482c8386)) + - upgrade @types/lodash to 4.14.160 ([37f04228](https://github.com/electron-userland/electron-forge/commit/37f04228)) + - upgrade commitizen to 4.1.5 ([0421b2ad](https://github.com/electron-userland/electron-forge/commit/0421b2ad)) + - upgrade @types/webpack-dev-middleware to 3.7.2 ([80ec76d5](https://github.com/electron-userland/electron-forge/commit/80ec76d5)) + - upgrade @types/mocha to 8.0.3 ([b59510ed](https://github.com/electron-userland/electron-forge/commit/b59510ed)) + - upgrade @types/inquirer to 7.3.1 ([2ee537a2](https://github.com/electron-userland/electron-forge/commit/2ee537a2)) + - upgrade @babel/core to 7.11.4 ([a50b3565](https://github.com/electron-userland/electron-forge/commit/a50b3565)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.9.1 ([34ff23c3](https://github.com/electron-userland/electron-forge/commit/34ff23c3)) + - bump @types/sinon from 9.0.4 to 9.0.5 ([56082c2b](https://github.com/electron-userland/electron-forge/commit/56082c2b)) + - bump typescript in /packages/template/typescript/tmpl ([cff9c915](https://github.com/electron-userland/electron-forge/commit/cff9c915)) + - bump typescript ([7d69849e](https://github.com/electron-userland/electron-forge/commit/7d69849e)) + - bump @types/semver from 7.3.2 to 7.3.3 ([f5590e7e](https://github.com/electron-userland/electron-forge/commit/f5590e7e)) + - bump fetch-mock from 9.10.6 to 9.10.7 (#1919) ([36715e0e](https://github.com/electron-userland/electron-forge/commit/36715e0e)) + - bump @types/node from 14.0.27 to 14.6.0 ([5f1decb8](https://github.com/electron-userland/electron-forge/commit/5f1decb8)) + - bump eslint from 7.6.0 to 7.7.0 (#1918) ([ac413c8e](https://github.com/electron-userland/electron-forge/commit/ac413c8e)) + - bump @types/semver from 7.3.1 to 7.3.2 ([3c28358e](https://github.com/electron-userland/electron-forge/commit/3c28358e)) + - bump style-loader ([8eab75a1](https://github.com/electron-userland/electron-forge/commit/8eab75a1)) + - bump node-loader ([401c5b6e](https://github.com/electron-userland/electron-forge/commit/401c5b6e)) + - bump node-loader in /packages/template/webpack/tmpl ([dcdc6581](https://github.com/electron-userland/electron-forge/commit/dcdc6581)) + - bump fork-ts-checker-webpack-plugin ([7c45045b](https://github.com/electron-userland/electron-forge/commit/7c45045b)) + - bump css-loader ([0fdb0c4a](https://github.com/electron-userland/electron-forge/commit/0fdb0c4a)) + - bump eslint to ^7 and @typescript-eslint to ^3 ([3d8bf0ea](https://github.com/electron-userland/electron-forge/commit/3d8bf0ea)) + - bump ts-loader ([7a574427](https://github.com/electron-userland/electron-forge/commit/7a574427)) + - bump style-loader in /packages/template/webpack/tmpl ([895bc947](https://github.com/electron-userland/electron-forge/commit/895bc947)) + - bump css-loader in /packages/template/webpack/tmpl ([c841c73b](https://github.com/electron-userland/electron-forge/commit/c841c73b)) + - bump sinon from 9.0.2 to 9.0.3 (#1901) ([3bc9c4a0](https://github.com/electron-userland/electron-forge/commit/3bc9c4a0)) + - bump @types/mocha from 8.0.1 to 8.0.2 ([789a8bec](https://github.com/electron-userland/electron-forge/commit/789a8bec)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.9.0 ([5602da63](https://github.com/electron-userland/electron-forge/commit/5602da63)) + - upgrade typedoc to ^0.18.0 ([ccb7dd74](https://github.com/electron-userland/electron-forge/commit/ccb7dd74)) + - upgrade eslint-plugin-mocha@^8.0.0 ([cd0c80ac](https://github.com/electron-userland/electron-forge/commit/cd0c80ac)) + - bump @types/lodash from 4.14.158 to 4.14.159 ([d8eadf3c](https://github.com/electron-userland/electron-forge/commit/d8eadf3c)) + - bump @babel/core from 7.11.0 to 7.11.1 (#1888) ([5e126423](https://github.com/electron-userland/electron-forge/commit/5e126423)) + - bump mocha from 8.1.0 to 8.1.1 (#1889) ([d5264904](https://github.com/electron-userland/electron-forge/commit/d5264904)) + - bump cz-customizable from 6.2.1 to 6.3.0 (#1885) ([02a0ed20](https://github.com/electron-userland/electron-forge/commit/02a0ed20)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.8.0 ([35109cf3](https://github.com/electron-userland/electron-forge/commit/35109cf3)) + - bump @types/mocha from 8.0.0 to 8.0.1 (#1877) ([fdd5799e](https://github.com/electron-userland/electron-forge/commit/fdd5799e)) + - bump fetch-mock from 9.10.5 to 9.10.6 (#1878) ([941d1630](https://github.com/electron-userland/electron-forge/commit/941d1630)) + - bump eslint from 7.5.0 to 7.6.0 (#1879) ([f7449307](https://github.com/electron-userland/electron-forge/commit/f7449307)) + - upgrade mocha to 8.1.0 ([83be715f](https://github.com/electron-userland/electron-forge/commit/83be715f)) + - ugprade @babel/{core,preset-env} to 7.11.0 ([10fee376](https://github.com/electron-userland/electron-forge/commit/10fee376)) + - upgrade @types/node to 14.0.27 ([f4a252ea](https://github.com/electron-userland/electron-forge/commit/f4a252ea)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.7.1 ([ba79a25b](https://github.com/electron-userland/electron-forge/commit/ba79a25b)) + - upgrade fetch-mock to 9.10.5 ([7a866af9](https://github.com/electron-userland/electron-forge/commit/7a866af9)) + - upgrade @types/node to 14.0.26 ([57739ba6](https://github.com/electron-userland/electron-forge/commit/57739ba6)) + - bump @types/node from 14.0.24 to 14.0.25 ([00b17d1d](https://github.com/electron-userland/electron-forge/commit/00b17d1d)) + - bump @types/chai from 4.2.11 to 4.2.12 ([dbbf2edf](https://github.com/electron-userland/electron-forge/commit/dbbf2edf)) + - upgrade @types/inquirer to ^7.3.0 ([a1dcb63f](https://github.com/electron-userland/electron-forge/commit/a1dcb63f)) + - upgrade @types/lodash to 4.14.158 ([95bbcd6c](https://github.com/electron-userland/electron-forge/commit/95bbcd6c)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.7.0 ([44bac784](https://github.com/electron-userland/electron-forge/commit/44bac784)) + - bump @types/node from 14.0.23 to 14.0.24 ([2a99544f](https://github.com/electron-userland/electron-forge/commit/2a99544f)) + - bump fetch-mock from 9.10.3 to 9.10.4 (#1847) ([1da33f3a](https://github.com/electron-userland/electron-forge/commit/1da33f3a)) + - bump eslint from 7.4.0 to 7.5.0 (#1848) ([b3bdfd53](https://github.com/electron-userland/electron-forge/commit/b3bdfd53)) + - bump typescript from 3.9.6 to 3.9.7 ([a8bbc448](https://github.com/electron-userland/electron-forge/commit/a8bbc448)) + - upgrade @babel/{cli,core,register} to 7.10.5 ([4d0e216f](https://github.com/electron-userland/electron-forge/commit/4d0e216f)) + - upgrade @types/node to 14.0.23 ([2a2cf774](https://github.com/electron-userland/electron-forge/commit/2a2cf774)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.6.1 ([05ad967c](https://github.com/electron-userland/electron-forge/commit/05ad967c)) + - bump @types/mocha from 7.0.2 to 8.0.0 ([e945d3f0](https://github.com/electron-userland/electron-forge/commit/e945d3f0)) + - bump @types/node from 14.0.19 to 14.0.20 ([09279a34](https://github.com/electron-userland/electron-forge/commit/09279a34)) + - bump @types/node from 14.0.18 to 14.0.19 ([c916bc40](https://github.com/electron-userland/electron-forge/commit/c916bc40)) + - bump @types/webpack from 4.41.20 to 4.41.21 (#1824) ([d189b207](https://github.com/electron-userland/electron-forge/commit/d189b207)) + - upgrade cz-customizable to 6.2.1 ([78bea45d](https://github.com/electron-userland/electron-forge/commit/78bea45d)) + - upgrade @types/node to 14.0.18 ([df72966b](https://github.com/electron-userland/electron-forge/commit/df72966b)) + - upgrade @types/glob to ^7.1.3 ([35d8346a](https://github.com/electron-userland/electron-forge/commit/35d8346a)) + - upgrade @types/chai-as-promised to 7.1.3 ([249adf65](https://github.com/electron-userland/electron-forge/commit/249adf65)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.6.0 ([beb6f024](https://github.com/electron-userland/electron-forge/commit/beb6f024)) + - bump @types/express from 4.17.6 to 4.17.7 (#1821) ([6b771c82](https://github.com/electron-userland/electron-forge/commit/6b771c82)) + - bump @types/webpack from 4.41.18 to 4.41.20 (#1819) ([54eecde3](https://github.com/electron-userland/electron-forge/commit/54eecde3)) + - bump eslint from 7.3.1 to 7.4.0 (#1812) ([d87635f2](https://github.com/electron-userland/electron-forge/commit/d87635f2)) + - upgrade typescript to 3.9.6 ([602bc11c](https://github.com/electron-userland/electron-forge/commit/602bc11c)) + - upgrade @babel/\* to 7.10.4 ([885950aa](https://github.com/electron-userland/electron-forge/commit/885950aa)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 3.5.0 ([3674b174](https://github.com/electron-userland/electron-forge/commit/3674b174)) + - upgrade typedoc to 0.17.8 ([93a696c3](https://github.com/electron-userland/electron-forge/commit/93a696c3)) +- **ci:** + - codecov/codecov-action@v1 isn't actually updated to latest v1.x.y ([ba00d28e](https://github.com/electron-userland/electron-forge/commit/ba00d28e)) + - use Codecov Action instead of devDependency (#1854) ([623539c8](https://github.com/electron-userland/electron-forge/commit/623539c8)) ##### New Features -* add Electronegativity plugin (#1900) ([a6a65cae](https://github.com/electron-userland/electron-forge/commit/a6a65cae)) -* **core:** add params to the postPackage hook (#1896) ([e9a2ba07](https://github.com/electron-userland/electron-forge/commit/e9a2ba07)) +- add Electronegativity plugin (#1900) ([a6a65cae](https://github.com/electron-userland/electron-forge/commit/a6a65cae)) +- **core:** add params to the postPackage hook (#1896) ([e9a2ba07](https://github.com/electron-userland/electron-forge/commit/e9a2ba07)) ##### Bug Fixes -* **template:** remove TS warning while scaffolding TS templates (#1664) ([e447adc6](https://github.com/electron-userland/electron-forge/commit/e447adc6)) -* **plugin-webpack:** prevent the renderer config from overriding its preload config's target (#1853) ([8126a736](https://github.com/electron-userland/electron-forge/commit/8126a736)) -* **core:** Re-throw non-require errors when using requireSearch (#1876) ([301d6e17](https://github.com/electron-userland/electron-forge/commit/301d6e17)) +- **template:** remove TS warning while scaffolding TS templates (#1664) ([e447adc6](https://github.com/electron-userland/electron-forge/commit/e447adc6)) +- **plugin-webpack:** prevent the renderer config from overriding its preload config's target (#1853) ([8126a736](https://github.com/electron-userland/electron-forge/commit/8126a736)) +- **core:** Re-throw non-require errors when using requireSearch (#1876) ([301d6e17](https://github.com/electron-userland/electron-forge/commit/301d6e17)) ##### Refactors -* **template:** move devDependencies to fake package.json for Dependabot (#1904) ([559a9f87](https://github.com/electron-userland/electron-forge/commit/559a9f87)) +- **template:** move devDependencies to fake package.json for Dependabot (#1904) ([559a9f87](https://github.com/electron-userland/electron-forge/commit/559a9f87)) #### [6.0.0-beta.52](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.52) (2020-06-27) ##### Build System / Dependencies -* **deps-dev:** - * remove obsolete @types/electron-packager ([dc4f8bf6](https://github.com/electron-userland/electron-forge/commit/dc4f8bf6)) - * upgrade mocha transitive dependencies ([33f2af80](https://github.com/electron-userland/electron-forge/commit/33f2af80)) - * upgrade eslint-plugin-import to 2.22.0 ([70fe2802](https://github.com/electron-userland/electron-forge/commit/70fe2802)) - * bump @types/webpack from 4.41.17 to 4.41.18 (#1797) ([139dfd4e](https://github.com/electron-userland/electron-forge/commit/139dfd4e)) - * bump @types/semver from 7.2.0 to 7.3.1 ([c7e506c8](https://github.com/electron-userland/electron-forge/commit/c7e506c8)) - * bump fetch-mock from 9.10.2 to 9.10.3 (#1794) ([b0d72043](https://github.com/electron-userland/electron-forge/commit/b0d72043)) - * bump @types/node from 14.0.13 to 14.0.14 ([6bb2622f](https://github.com/electron-userland/electron-forge/commit/6bb2622f)) - * bump @types/lodash from 4.14.156 to 4.14.157 ([885acb15](https://github.com/electron-userland/electron-forge/commit/885acb15)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.4.0 ([4e7e08d5](https://github.com/electron-userland/electron-forge/commit/4e7e08d5)) - * upgrade eslint to 7.3.1 ([a32766ec](https://github.com/electron-userland/electron-forge/commit/a32766ec)) - * bump @babel/register from 7.10.1 to 7.10.3 (#1778) ([e8688563](https://github.com/electron-userland/electron-forge/commit/e8688563)) - * bump @babel/preset-env from 7.10.2 to 7.10.3 (#1782) ([79a18e2a](https://github.com/electron-userland/electron-forge/commit/79a18e2a)) - * bump @babel/cli from 7.10.1 to 7.10.3 ([13129f0f](https://github.com/electron-userland/electron-forge/commit/13129f0f)) - * bump @babel/core from 7.10.2 to 7.10.3 (#1779) ([774a6da2](https://github.com/electron-userland/electron-forge/commit/774a6da2)) - * bump @types/lodash from 4.14.155 to 4.14.156 ([1824698f](https://github.com/electron-userland/electron-forge/commit/1824698f)) - * bump fetch-mock from 9.10.1 to 9.10.2 (#1783) ([1489ab5b](https://github.com/electron-userland/electron-forge/commit/1489ab5b)) - * bump lint-staged from 10.2.10 to 10.2.11 (#1773) ([deff81a6](https://github.com/electron-userland/electron-forge/commit/deff81a6)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.3.0 ([f763b1c4](https://github.com/electron-userland/electron-forge/commit/f763b1c4)) - * bump eslint-config-airbnb-base from 14.1.0 to 14.2.0 (#1765) ([fd692b96](https://github.com/electron-userland/electron-forge/commit/fd692b96)) - * bump lint-staged from 10.2.9 to 10.2.10 (#1768) ([e29fea68](https://github.com/electron-userland/electron-forge/commit/e29fea68)) - * bump mocha from 7.2.0 to 8.0.1 (#1757) ([a3c3cb7b](https://github.com/electron-userland/electron-forge/commit/a3c3cb7b)) - * bump eslint-plugin-import from 2.21.1 to 2.21.2 ([1fe89939](https://github.com/electron-userland/electron-forge/commit/1fe89939)) - * bump @types/node from 14.0.12 to 14.0.13 ([cdea61c7](https://github.com/electron-userland/electron-forge/commit/cdea61c7)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.2.0 ([c5e4d2ac](https://github.com/electron-userland/electron-forge/commit/c5e4d2ac)) - * bump @types/node from 14.0.11 to 14.0.12 ([ea88a193](https://github.com/electron-userland/electron-forge/commit/ea88a193)) - * bump babel-plugin-source-map-support ([4176ce24](https://github.com/electron-userland/electron-forge/commit/4176ce24)) - * bump eslint-plugin-import from 2.20.2 to 2.21.1 (#1746) ([56de51a1](https://github.com/electron-userland/electron-forge/commit/56de51a1)) - * upgrade eslint to 7.2.0 ([69b1893b](https://github.com/electron-userland/electron-forge/commit/69b1893b)) - * bump @types/glob from 7.1.1 to 7.1.2 ([29f577eb](https://github.com/electron-userland/electron-forge/commit/29f577eb)) - * bump typescript from 3.9.3 to 3.9.5 ([0cc15e8f](https://github.com/electron-userland/electron-forge/commit/0cc15e8f)) - * bump @types/node from 14.0.10 to 14.0.11 ([09dee37d](https://github.com/electron-userland/electron-forge/commit/09dee37d)) - * bump lint-staged from 10.2.8 to 10.2.9 ([9b3ba871](https://github.com/electron-userland/electron-forge/commit/9b3ba871)) - * bump @types/lodash from 4.14.154 to 4.14.155 ([2f22e8ae](https://github.com/electron-userland/electron-forge/commit/2f22e8ae)) - * bump @types/node from 14.0.9 to 14.0.10 ([aed0f74d](https://github.com/electron-userland/electron-forge/commit/aed0f74d)) - * bump lint-staged from 10.2.7 to 10.2.8 (#1737) ([da8ba8f9](https://github.com/electron-userland/electron-forge/commit/da8ba8f9)) - * upgrade @types/webpack to 4.41.17 ([4164fc7f](https://github.com/electron-userland/electron-forge/commit/4164fc7f)) - * bump @types/node from 14.0.6 to 14.0.9 ([e6fcf04e](https://github.com/electron-userland/electron-forge/commit/e6fcf04e)) - * upgrade @babel/{core,preset-env} to 7.10.2 ([dd187997](https://github.com/electron-userland/electron-forge/commit/dd187997)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.1.0 ([445a7d55](https://github.com/electron-userland/electron-forge/commit/445a7d55)) - * bump @types/webpack from 4.41.14 to 4.41.16 ([d818ab3d](https://github.com/electron-userland/electron-forge/commit/d818ab3d)) - * bump eslint-plugin-mocha from 7.0.0 to 7.0.1 ([9328a394](https://github.com/electron-userland/electron-forge/commit/9328a394)) - * bump @types/lodash from 4.14.153 to 4.14.154 ([fb47fe59](https://github.com/electron-userland/electron-forge/commit/fb47fe59)) - * bump nyc from 15.0.1 to 15.1.0 (#1730) ([b87f9e8f](https://github.com/electron-userland/electron-forge/commit/b87f9e8f)) - * upgrade @types/webpack to 4.41.14 ([3a4bcc83](https://github.com/electron-userland/electron-forge/commit/3a4bcc83)) - * upgrade @types/node to 14.0.6 ([c26af2a1](https://github.com/electron-userland/electron-forge/commit/c26af2a1)) - * bump lint-staged from 10.2.6 to 10.2.7 (#1723) ([f77a0875](https://github.com/electron-userland/electron-forge/commit/f77a0875)) - * bump ts-node from 8.10.1 to 8.10.2 ([b4d9d286](https://github.com/electron-userland/electron-forge/commit/b4d9d286)) - * upgrade @babel/* to 7.10.1 ([ada8453b](https://github.com/electron-userland/electron-forge/commit/ada8453b)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.0.2 ([9abbd6f5](https://github.com/electron-userland/electron-forge/commit/9abbd6f5)) - * upgrade @babel/{cli,core,preset-env} to 7.10.0 ([e53c0162](https://github.com/electron-userland/electron-forge/commit/e53c0162)) - * bump @types/lodash from 4.14.152 to 4.14.153 ([9b3e110e](https://github.com/electron-userland/electron-forge/commit/9b3e110e)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 3.0.1 ([3c14609f](https://github.com/electron-userland/electron-forge/commit/3c14609f)) - * bump fetch-mock from 9.10.0 to 9.10.1 (#1704) ([0152dbf0](https://github.com/electron-userland/electron-forge/commit/0152dbf0)) - * upgrade mocha to 7.2.0 ([49a9ba6b](https://github.com/electron-userland/electron-forge/commit/49a9ba6b)) - * upgrade eslint to 7.1.0 ([bf6fb421](https://github.com/electron-userland/electron-forge/commit/bf6fb421)) - * upgrade typescript to 3.9.3 ([6f85bd4f](https://github.com/electron-userland/electron-forge/commit/6f85bd4f)) - * upgrade eslint & eslint-plugin-mocha to ^7.0.0 ([738720d6](https://github.com/electron-userland/electron-forge/commit/738720d6)) - * upgrade @types/semver to 7.2.0 ([c682a419](https://github.com/electron-userland/electron-forge/commit/c682a419)) - * upgrade @types/sinon to 9.0.4 ([2a2440a4](https://github.com/electron-userland/electron-forge/commit/2a2440a4)) - * upgrade @types/lodash to 4.14.152 ([4331ccb1](https://github.com/electron-userland/electron-forge/commit/4331ccb1)) - * upgrade @types/fs-extra to ^9.0.1 ([b8c74ae5](https://github.com/electron-userland/electron-forge/commit/b8c74ae5)) - * upgrade @types/cross-spawn to 6.0.2 ([5ed084f1](https://github.com/electron-userland/electron-forge/commit/5ed084f1)) - * upgrade @types/node to ^14.0.5 ([61effdc3](https://github.com/electron-userland/electron-forge/commit/61effdc3)) - * upgrade @types/webpack* ([7896392f](https://github.com/electron-userland/electron-forge/commit/7896392f)) - * upgrade fetch-mock to 9.10.0 ([d6647095](https://github.com/electron-userland/electron-forge/commit/d6647095)) - * upgrade nodemon to 2.0.4 ([6dc77a83](https://github.com/electron-userland/electron-forge/commit/6dc77a83)) - * upgrade lint-staged to 10.2.6 ([bc7066fd](https://github.com/electron-userland/electron-forge/commit/bc7066fd)) - * upgrade typedoc to 0.17.7 ([1d5f4338](https://github.com/electron-userland/electron-forge/commit/1d5f4338)) - * upgrade codecov to 3.7.0 ([3ed74b37](https://github.com/electron-userland/electron-forge/commit/3ed74b37)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to ^3.0.0 ([50b32fb5](https://github.com/electron-userland/electron-forge/commit/50b32fb5)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.32.0 ([1cfe0498](https://github.com/electron-userland/electron-forge/commit/1cfe0498)) - * upgrade fetch-mock to 9.7.0 ([5053757c](https://github.com/electron-userland/electron-forge/commit/5053757c)) - * upgrade @types/node to 13.13.5 ([77e3a9ea](https://github.com/electron-userland/electron-forge/commit/77e3a9ea)) - * upgrade fetch-mock to 9.5.0 ([c4c6dfbd](https://github.com/electron-userland/electron-forge/commit/c4c6dfbd)) - * upgrade commitizen to 4.1.2 ([23a4376a](https://github.com/electron-userland/electron-forge/commit/23a4376a)) - * upgrade @types/html-minifier-terser to 5.1.0 ([0dbbd266](https://github.com/electron-userland/electron-forge/commit/0dbbd266)) - * upgrade lint-staged to 10.2.2 ([20eaa06f](https://github.com/electron-userland/electron-forge/commit/20eaa06f)) - * upgrade ts-node to 8.10.1 ([02443605](https://github.com/electron-userland/electron-forge/commit/02443605)) - * upgrade commitizen to 4.1.0 ([7a235ba4](https://github.com/electron-userland/electron-forge/commit/7a235ba4)) - * upgrade @babel/{core,preset-env} to 7.9.6 ([82281eed](https://github.com/electron-userland/electron-forge/commit/82281eed)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.31.0 ([c26da14a](https://github.com/electron-userland/electron-forge/commit/c26da14a)) -* **deps:** - * upgrade electron-packager to ^15.0.0 ([3046754b](https://github.com/electron-userland/electron-forge/commit/3046754b)) - * bump inquirer from 7.1.0 to 7.2.0 (#1769) ([3fc875f5](https://github.com/electron-userland/electron-forge/commit/3fc875f5)) - * bump electron-osx-sign from 0.4.16 to 0.4.17 (#1764) ([ccbb865a](https://github.com/electron-userland/electron-forge/commit/ccbb865a)) - * bump xterm from 4.6.0 to 4.7.0 (#1763) ([50abcd40](https://github.com/electron-userland/electron-forge/commit/50abcd40)) - * upgrade @malept/electron-installer-flatpak to ^0.11.2 ([d56e3e8e](https://github.com/electron-userland/electron-forge/commit/d56e3e8e)) - * bump fs-extra from 9.0.0 to 9.0.1 (#1739) ([ffc2332c](https://github.com/electron-userland/electron-forge/commit/ffc2332c)) - * upgrade transitive dependencies for electron tooling modules ([39510226](https://github.com/electron-userland/electron-forge/commit/39510226)) - * upgrade webpack-related transitive dependencies ([5f5130ea](https://github.com/electron-userland/electron-forge/commit/5f5130ea)) - * bump cross-spawn from 7.0.2 to 7.0.3 (#1707) ([7fe1002e](https://github.com/electron-userland/electron-forge/commit/7fe1002e)) - * upgrade xterm-addon-search to ^0.7.0 ([4cdfed67](https://github.com/electron-userland/electron-forge/commit/4cdfed67)) - * upgrade xterm-addon-fit to ^0.4.0 ([5aebc9b9](https://github.com/electron-userland/electron-forge/commit/5aebc9b9)) - * upgrade xterm to 4.6.0 ([b526c521](https://github.com/electron-userland/electron-forge/commit/b526c521)) - * upgrade open to 7.0.4 ([3f17826e](https://github.com/electron-userland/electron-forge/commit/3f17826e)) - * upgrade electron-osx-sign to 0.4.16 ([27c15e31](https://github.com/electron-userland/electron-forge/commit/27c15e31)) - * upgrade electron-rebuild to 1.11.0 ([e2f23f34](https://github.com/electron-userland/electron-forge/commit/e2f23f34)) - * upgrade cross-zip to 3.1.0 ([5ff74664](https://github.com/electron-userland/electron-forge/commit/5ff74664)) - * upgrade @electron/get to 1.12.2 ([68201f24](https://github.com/electron-userland/electron-forge/commit/68201f24)) - * upgrade transitive dependencies ([8b4e0cf8](https://github.com/electron-userland/electron-forge/commit/8b4e0cf8)) - * upgrade pretty-ms to ^7.0.0 ([62e55a0a](https://github.com/electron-userland/electron-forge/commit/62e55a0a)) - * upgrade html-webpack-plugin to 4.3.0 ([612656d6](https://github.com/electron-userland/electron-forge/commit/612656d6)) - * upgrade sudo-prompt to 9.2.1 ([d32d2b1f](https://github.com/electron-userland/electron-forge/commit/d32d2b1f)) -* remove some CI workarounds ([d7d3d384](https://github.com/electron-userland/electron-forge/commit/d7d3d384)) -* remove an unused but broken apt repo from CI ([33d0362a](https://github.com/electron-userland/electron-forge/commit/33d0362a)) -* **ci:** remove yet another malfunctioning, unrelated apt repo from CI ([471b0517](https://github.com/electron-userland/electron-forge/commit/471b0517)) +- **deps-dev:** + - remove obsolete @types/electron-packager ([dc4f8bf6](https://github.com/electron-userland/electron-forge/commit/dc4f8bf6)) + - upgrade mocha transitive dependencies ([33f2af80](https://github.com/electron-userland/electron-forge/commit/33f2af80)) + - upgrade eslint-plugin-import to 2.22.0 ([70fe2802](https://github.com/electron-userland/electron-forge/commit/70fe2802)) + - bump @types/webpack from 4.41.17 to 4.41.18 (#1797) ([139dfd4e](https://github.com/electron-userland/electron-forge/commit/139dfd4e)) + - bump @types/semver from 7.2.0 to 7.3.1 ([c7e506c8](https://github.com/electron-userland/electron-forge/commit/c7e506c8)) + - bump fetch-mock from 9.10.2 to 9.10.3 (#1794) ([b0d72043](https://github.com/electron-userland/electron-forge/commit/b0d72043)) + - bump @types/node from 14.0.13 to 14.0.14 ([6bb2622f](https://github.com/electron-userland/electron-forge/commit/6bb2622f)) + - bump @types/lodash from 4.14.156 to 4.14.157 ([885acb15](https://github.com/electron-userland/electron-forge/commit/885acb15)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.4.0 ([4e7e08d5](https://github.com/electron-userland/electron-forge/commit/4e7e08d5)) + - upgrade eslint to 7.3.1 ([a32766ec](https://github.com/electron-userland/electron-forge/commit/a32766ec)) + - bump @babel/register from 7.10.1 to 7.10.3 (#1778) ([e8688563](https://github.com/electron-userland/electron-forge/commit/e8688563)) + - bump @babel/preset-env from 7.10.2 to 7.10.3 (#1782) ([79a18e2a](https://github.com/electron-userland/electron-forge/commit/79a18e2a)) + - bump @babel/cli from 7.10.1 to 7.10.3 ([13129f0f](https://github.com/electron-userland/electron-forge/commit/13129f0f)) + - bump @babel/core from 7.10.2 to 7.10.3 (#1779) ([774a6da2](https://github.com/electron-userland/electron-forge/commit/774a6da2)) + - bump @types/lodash from 4.14.155 to 4.14.156 ([1824698f](https://github.com/electron-userland/electron-forge/commit/1824698f)) + - bump fetch-mock from 9.10.1 to 9.10.2 (#1783) ([1489ab5b](https://github.com/electron-userland/electron-forge/commit/1489ab5b)) + - bump lint-staged from 10.2.10 to 10.2.11 (#1773) ([deff81a6](https://github.com/electron-userland/electron-forge/commit/deff81a6)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.3.0 ([f763b1c4](https://github.com/electron-userland/electron-forge/commit/f763b1c4)) + - bump eslint-config-airbnb-base from 14.1.0 to 14.2.0 (#1765) ([fd692b96](https://github.com/electron-userland/electron-forge/commit/fd692b96)) + - bump lint-staged from 10.2.9 to 10.2.10 (#1768) ([e29fea68](https://github.com/electron-userland/electron-forge/commit/e29fea68)) + - bump mocha from 7.2.0 to 8.0.1 (#1757) ([a3c3cb7b](https://github.com/electron-userland/electron-forge/commit/a3c3cb7b)) + - bump eslint-plugin-import from 2.21.1 to 2.21.2 ([1fe89939](https://github.com/electron-userland/electron-forge/commit/1fe89939)) + - bump @types/node from 14.0.12 to 14.0.13 ([cdea61c7](https://github.com/electron-userland/electron-forge/commit/cdea61c7)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.2.0 ([c5e4d2ac](https://github.com/electron-userland/electron-forge/commit/c5e4d2ac)) + - bump @types/node from 14.0.11 to 14.0.12 ([ea88a193](https://github.com/electron-userland/electron-forge/commit/ea88a193)) + - bump babel-plugin-source-map-support ([4176ce24](https://github.com/electron-userland/electron-forge/commit/4176ce24)) + - bump eslint-plugin-import from 2.20.2 to 2.21.1 (#1746) ([56de51a1](https://github.com/electron-userland/electron-forge/commit/56de51a1)) + - upgrade eslint to 7.2.0 ([69b1893b](https://github.com/electron-userland/electron-forge/commit/69b1893b)) + - bump @types/glob from 7.1.1 to 7.1.2 ([29f577eb](https://github.com/electron-userland/electron-forge/commit/29f577eb)) + - bump typescript from 3.9.3 to 3.9.5 ([0cc15e8f](https://github.com/electron-userland/electron-forge/commit/0cc15e8f)) + - bump @types/node from 14.0.10 to 14.0.11 ([09dee37d](https://github.com/electron-userland/electron-forge/commit/09dee37d)) + - bump lint-staged from 10.2.8 to 10.2.9 ([9b3ba871](https://github.com/electron-userland/electron-forge/commit/9b3ba871)) + - bump @types/lodash from 4.14.154 to 4.14.155 ([2f22e8ae](https://github.com/electron-userland/electron-forge/commit/2f22e8ae)) + - bump @types/node from 14.0.9 to 14.0.10 ([aed0f74d](https://github.com/electron-userland/electron-forge/commit/aed0f74d)) + - bump lint-staged from 10.2.7 to 10.2.8 (#1737) ([da8ba8f9](https://github.com/electron-userland/electron-forge/commit/da8ba8f9)) + - upgrade @types/webpack to 4.41.17 ([4164fc7f](https://github.com/electron-userland/electron-forge/commit/4164fc7f)) + - bump @types/node from 14.0.6 to 14.0.9 ([e6fcf04e](https://github.com/electron-userland/electron-forge/commit/e6fcf04e)) + - upgrade @babel/{core,preset-env} to 7.10.2 ([dd187997](https://github.com/electron-userland/electron-forge/commit/dd187997)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.1.0 ([445a7d55](https://github.com/electron-userland/electron-forge/commit/445a7d55)) + - bump @types/webpack from 4.41.14 to 4.41.16 ([d818ab3d](https://github.com/electron-userland/electron-forge/commit/d818ab3d)) + - bump eslint-plugin-mocha from 7.0.0 to 7.0.1 ([9328a394](https://github.com/electron-userland/electron-forge/commit/9328a394)) + - bump @types/lodash from 4.14.153 to 4.14.154 ([fb47fe59](https://github.com/electron-userland/electron-forge/commit/fb47fe59)) + - bump nyc from 15.0.1 to 15.1.0 (#1730) ([b87f9e8f](https://github.com/electron-userland/electron-forge/commit/b87f9e8f)) + - upgrade @types/webpack to 4.41.14 ([3a4bcc83](https://github.com/electron-userland/electron-forge/commit/3a4bcc83)) + - upgrade @types/node to 14.0.6 ([c26af2a1](https://github.com/electron-userland/electron-forge/commit/c26af2a1)) + - bump lint-staged from 10.2.6 to 10.2.7 (#1723) ([f77a0875](https://github.com/electron-userland/electron-forge/commit/f77a0875)) + - bump ts-node from 8.10.1 to 8.10.2 ([b4d9d286](https://github.com/electron-userland/electron-forge/commit/b4d9d286)) + - upgrade @babel/\* to 7.10.1 ([ada8453b](https://github.com/electron-userland/electron-forge/commit/ada8453b)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.0.2 ([9abbd6f5](https://github.com/electron-userland/electron-forge/commit/9abbd6f5)) + - upgrade @babel/{cli,core,preset-env} to 7.10.0 ([e53c0162](https://github.com/electron-userland/electron-forge/commit/e53c0162)) + - bump @types/lodash from 4.14.152 to 4.14.153 ([9b3e110e](https://github.com/electron-userland/electron-forge/commit/9b3e110e)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 3.0.1 ([3c14609f](https://github.com/electron-userland/electron-forge/commit/3c14609f)) + - bump fetch-mock from 9.10.0 to 9.10.1 (#1704) ([0152dbf0](https://github.com/electron-userland/electron-forge/commit/0152dbf0)) + - upgrade mocha to 7.2.0 ([49a9ba6b](https://github.com/electron-userland/electron-forge/commit/49a9ba6b)) + - upgrade eslint to 7.1.0 ([bf6fb421](https://github.com/electron-userland/electron-forge/commit/bf6fb421)) + - upgrade typescript to 3.9.3 ([6f85bd4f](https://github.com/electron-userland/electron-forge/commit/6f85bd4f)) + - upgrade eslint & eslint-plugin-mocha to ^7.0.0 ([738720d6](https://github.com/electron-userland/electron-forge/commit/738720d6)) + - upgrade @types/semver to 7.2.0 ([c682a419](https://github.com/electron-userland/electron-forge/commit/c682a419)) + - upgrade @types/sinon to 9.0.4 ([2a2440a4](https://github.com/electron-userland/electron-forge/commit/2a2440a4)) + - upgrade @types/lodash to 4.14.152 ([4331ccb1](https://github.com/electron-userland/electron-forge/commit/4331ccb1)) + - upgrade @types/fs-extra to ^9.0.1 ([b8c74ae5](https://github.com/electron-userland/electron-forge/commit/b8c74ae5)) + - upgrade @types/cross-spawn to 6.0.2 ([5ed084f1](https://github.com/electron-userland/electron-forge/commit/5ed084f1)) + - upgrade @types/node to ^14.0.5 ([61effdc3](https://github.com/electron-userland/electron-forge/commit/61effdc3)) + - upgrade @types/webpack\* ([7896392f](https://github.com/electron-userland/electron-forge/commit/7896392f)) + - upgrade fetch-mock to 9.10.0 ([d6647095](https://github.com/electron-userland/electron-forge/commit/d6647095)) + - upgrade nodemon to 2.0.4 ([6dc77a83](https://github.com/electron-userland/electron-forge/commit/6dc77a83)) + - upgrade lint-staged to 10.2.6 ([bc7066fd](https://github.com/electron-userland/electron-forge/commit/bc7066fd)) + - upgrade typedoc to 0.17.7 ([1d5f4338](https://github.com/electron-userland/electron-forge/commit/1d5f4338)) + - upgrade codecov to 3.7.0 ([3ed74b37](https://github.com/electron-userland/electron-forge/commit/3ed74b37)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to ^3.0.0 ([50b32fb5](https://github.com/electron-userland/electron-forge/commit/50b32fb5)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.32.0 ([1cfe0498](https://github.com/electron-userland/electron-forge/commit/1cfe0498)) + - upgrade fetch-mock to 9.7.0 ([5053757c](https://github.com/electron-userland/electron-forge/commit/5053757c)) + - upgrade @types/node to 13.13.5 ([77e3a9ea](https://github.com/electron-userland/electron-forge/commit/77e3a9ea)) + - upgrade fetch-mock to 9.5.0 ([c4c6dfbd](https://github.com/electron-userland/electron-forge/commit/c4c6dfbd)) + - upgrade commitizen to 4.1.2 ([23a4376a](https://github.com/electron-userland/electron-forge/commit/23a4376a)) + - upgrade @types/html-minifier-terser to 5.1.0 ([0dbbd266](https://github.com/electron-userland/electron-forge/commit/0dbbd266)) + - upgrade lint-staged to 10.2.2 ([20eaa06f](https://github.com/electron-userland/electron-forge/commit/20eaa06f)) + - upgrade ts-node to 8.10.1 ([02443605](https://github.com/electron-userland/electron-forge/commit/02443605)) + - upgrade commitizen to 4.1.0 ([7a235ba4](https://github.com/electron-userland/electron-forge/commit/7a235ba4)) + - upgrade @babel/{core,preset-env} to 7.9.6 ([82281eed](https://github.com/electron-userland/electron-forge/commit/82281eed)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.31.0 ([c26da14a](https://github.com/electron-userland/electron-forge/commit/c26da14a)) +- **deps:** + - upgrade electron-packager to ^15.0.0 ([3046754b](https://github.com/electron-userland/electron-forge/commit/3046754b)) + - bump inquirer from 7.1.0 to 7.2.0 (#1769) ([3fc875f5](https://github.com/electron-userland/electron-forge/commit/3fc875f5)) + - bump electron-osx-sign from 0.4.16 to 0.4.17 (#1764) ([ccbb865a](https://github.com/electron-userland/electron-forge/commit/ccbb865a)) + - bump xterm from 4.6.0 to 4.7.0 (#1763) ([50abcd40](https://github.com/electron-userland/electron-forge/commit/50abcd40)) + - upgrade @malept/electron-installer-flatpak to ^0.11.2 ([d56e3e8e](https://github.com/electron-userland/electron-forge/commit/d56e3e8e)) + - bump fs-extra from 9.0.0 to 9.0.1 (#1739) ([ffc2332c](https://github.com/electron-userland/electron-forge/commit/ffc2332c)) + - upgrade transitive dependencies for electron tooling modules ([39510226](https://github.com/electron-userland/electron-forge/commit/39510226)) + - upgrade webpack-related transitive dependencies ([5f5130ea](https://github.com/electron-userland/electron-forge/commit/5f5130ea)) + - bump cross-spawn from 7.0.2 to 7.0.3 (#1707) ([7fe1002e](https://github.com/electron-userland/electron-forge/commit/7fe1002e)) + - upgrade xterm-addon-search to ^0.7.0 ([4cdfed67](https://github.com/electron-userland/electron-forge/commit/4cdfed67)) + - upgrade xterm-addon-fit to ^0.4.0 ([5aebc9b9](https://github.com/electron-userland/electron-forge/commit/5aebc9b9)) + - upgrade xterm to 4.6.0 ([b526c521](https://github.com/electron-userland/electron-forge/commit/b526c521)) + - upgrade open to 7.0.4 ([3f17826e](https://github.com/electron-userland/electron-forge/commit/3f17826e)) + - upgrade electron-osx-sign to 0.4.16 ([27c15e31](https://github.com/electron-userland/electron-forge/commit/27c15e31)) + - upgrade electron-rebuild to 1.11.0 ([e2f23f34](https://github.com/electron-userland/electron-forge/commit/e2f23f34)) + - upgrade cross-zip to 3.1.0 ([5ff74664](https://github.com/electron-userland/electron-forge/commit/5ff74664)) + - upgrade @electron/get to 1.12.2 ([68201f24](https://github.com/electron-userland/electron-forge/commit/68201f24)) + - upgrade transitive dependencies ([8b4e0cf8](https://github.com/electron-userland/electron-forge/commit/8b4e0cf8)) + - upgrade pretty-ms to ^7.0.0 ([62e55a0a](https://github.com/electron-userland/electron-forge/commit/62e55a0a)) + - upgrade html-webpack-plugin to 4.3.0 ([612656d6](https://github.com/electron-userland/electron-forge/commit/612656d6)) + - upgrade sudo-prompt to 9.2.1 ([d32d2b1f](https://github.com/electron-userland/electron-forge/commit/d32d2b1f)) +- remove some CI workarounds ([d7d3d384](https://github.com/electron-userland/electron-forge/commit/d7d3d384)) +- remove an unused but broken apt repo from CI ([33d0362a](https://github.com/electron-userland/electron-forge/commit/33d0362a)) +- **ci:** remove yet another malfunctioning, unrelated apt repo from CI ([471b0517](https://github.com/electron-userland/electron-forge/commit/471b0517)) ##### Chores -* **core:** silence lint warning ([116c11fd](https://github.com/electron-userland/electron-forge/commit/116c11fd)) -* add funding information ([2d364e22](https://github.com/electron-userland/electron-forge/commit/2d364e22)) +- **core:** silence lint warning ([116c11fd](https://github.com/electron-userland/electron-forge/commit/116c11fd)) +- add funding information ([2d364e22](https://github.com/electron-userland/electron-forge/commit/2d364e22)) ##### Documentation Changes -* **template:** fix explanation of darwin auto-quit prevention (#1756) ([50ffbc9a](https://github.com/electron-userland/electron-forge/commit/50ffbc9a)) +- **template:** fix explanation of darwin auto-quit prevention (#1756) ([50ffbc9a](https://github.com/electron-userland/electron-forge/commit/50ffbc9a)) ##### Bug Fixes -* **shared-types:** don't use @types/electron-packager ([cdeddce2](https://github.com/electron-userland/electron-forge/commit/cdeddce2)) -* **maker-snap:** allow MakerSnapConfig to also be SnapcraftConfig (#1725) ([19b64ef5](https://github.com/electron-userland/electron-forge/commit/19b64ef5)) -* **maker-flatpak:** add eu-strip to required external binaries (#1703) ([4314e1d5](https://github.com/electron-userland/electron-forge/commit/4314e1d5)) +- **shared-types:** don't use @types/electron-packager ([cdeddce2](https://github.com/electron-userland/electron-forge/commit/cdeddce2)) +- **maker-snap:** allow MakerSnapConfig to also be SnapcraftConfig (#1725) ([19b64ef5](https://github.com/electron-userland/electron-forge/commit/19b64ef5)) +- **maker-flatpak:** add eu-strip to required external binaries (#1703) ([4314e1d5](https://github.com/electron-userland/electron-forge/commit/4314e1d5)) ##### Refactors -* **core:** use electron-installer-common to read package.json from packaged app (#1798) ([5279272d](https://github.com/electron-userland/electron-forge/commit/5279272d)) -* sudo-prompt provides its own typings (#1799) ([3cc007fd](https://github.com/electron-userland/electron-forge/commit/3cc007fd)) -* **maker-squirrel:** inherit the config & docs from electron-winstaller (#1791) ([69c27228](https://github.com/electron-userland/electron-forge/commit/69c27228)) +- **core:** use electron-installer-common to read package.json from packaged app (#1798) ([5279272d](https://github.com/electron-userland/electron-forge/commit/5279272d)) +- sudo-prompt provides its own typings (#1799) ([3cc007fd](https://github.com/electron-userland/electron-forge/commit/3cc007fd)) +- **maker-squirrel:** inherit the config & docs from electron-winstaller (#1791) ([69c27228](https://github.com/electron-userland/electron-forge/commit/69c27228)) #### [6.0.0-beta.51](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.51) (2020-04-27) ##### Build System / Dependencies -* **deps-dev:** - * bump typedoc from 0.17.4 to 0.17.6 (#1648) ([3be58d00](https://github.com/electron-userland/electron-forge/commit/3be58d00)) - * bump @types/node from 13.13.2 to 13.13.4 ([ec4e3b68](https://github.com/electron-userland/electron-forge/commit/ec4e3b68)) - * bump mocha from 7.1.1 to 7.1.2 (#1650) ([5ce9d765](https://github.com/electron-userland/electron-forge/commit/5ce9d765)) - * bump ts-node from 8.9.0 to 8.9.1 ([d85e33c5](https://github.com/electron-userland/electron-forge/commit/d85e33c5)) - * upgrade @types/express to 4.17.6 ([e1e8413f](https://github.com/electron-userland/electron-forge/commit/e1e8413f)) - * upgrade @types/webpack-hot-middleware to 2.25.2 ([0f519dd9](https://github.com/electron-userland/electron-forge/commit/0f519dd9)) - * upgrade @types/webpack to 4.41.12 ([812736b0](https://github.com/electron-userland/electron-forge/commit/812736b0)) - * upgrade ts-node to 8.9.0 ([969ce317](https://github.com/electron-userland/electron-forge/commit/969ce317)) - * upgrade @types/lodash to 4.14.150 ([94a1dd01](https://github.com/electron-userland/electron-forge/commit/94a1dd01)) - * upgrade lint-staged to 10.1.7 ([5e1043e1](https://github.com/electron-userland/electron-forge/commit/5e1043e1)) - * upgrade fetch-mock to 9.4.0 ([694102bc](https://github.com/electron-userland/electron-forge/commit/694102bc)) - * upgrade @types/node to 13.13.2 ([ba3521fd](https://github.com/electron-userland/electron-forge/commit/ba3521fd)) - * upgrade @types/node-fetch to 2.5.7 ([b6a1cf85](https://github.com/electron-userland/electron-forge/commit/b6a1cf85)) - * upgrade @typescript-eslint/{eslint-plugin,parser} to 2.29.0 ([968aae60](https://github.com/electron-userland/electron-forge/commit/968aae60)) - * bump lint-staged from 10.1.2 to 10.1.3 ([e134a612](https://github.com/electron-userland/electron-forge/commit/e134a612)) - * bump husky from 4.2.3 to 4.2.5 (#1622) ([c3308e9d](https://github.com/electron-userland/electron-forge/commit/c3308e9d)) - * bump nodemon from 2.0.2 to 2.0.3 ([b9000c59](https://github.com/electron-userland/electron-forge/commit/b9000c59)) - * bump sinon from 9.0.1 to 9.0.2 (#1617) ([cc9c2f58](https://github.com/electron-userland/electron-forge/commit/cc9c2f58)) - * bump @types/node from 13.11.0 to 13.11.1 ([66069bab](https://github.com/electron-userland/electron-forge/commit/66069bab)) - * bump @babel/preset-env from 7.9.0 to 7.9.5 (#1613) ([9059e69e](https://github.com/electron-userland/electron-forge/commit/9059e69e)) - * bump commitizen from 4.0.3 to 4.0.4 (#1614) ([0de385c5](https://github.com/electron-userland/electron-forge/commit/0de385c5)) - * bump typedoc from 0.17.3 to 0.17.4 ([2ae60f84](https://github.com/electron-userland/electron-forge/commit/2ae60f84)) - * upgrade ts-node to 8.8.2 ([7f6afc0e](https://github.com/electron-userland/electron-forge/commit/7f6afc0e)) - * upgrade lint-staged to 10.1.2 ([c2abd0bc](https://github.com/electron-userland/electron-forge/commit/c2abd0bc)) - * upgrade nyc to 15.0.1 ([0792db7f](https://github.com/electron-userland/electron-forge/commit/0792db7f)) - * bump @types/node from 13.9.8 to 13.11.0 ([f073e92a](https://github.com/electron-userland/electron-forge/commit/f073e92a)) - * upgrade @types/sinon to ^9.0.0 ([23d02c5e](https://github.com/electron-userland/electron-forge/commit/23d02c5e)) - * ugprade @types/express to 4.17.4 ([20149686](https://github.com/electron-userland/electron-forge/commit/20149686)) - * upgrade html-webpack-plugin to 4.0.4 ([d4686138](https://github.com/electron-userland/electron-forge/commit/d4686138)) - * upgrade lint-staged to 10.1.1 ([3a46a3b5](https://github.com/electron-userland/electron-forge/commit/3a46a3b5)) - * upgrade transitive dependencies ([466113a5](https://github.com/electron-userland/electron-forge/commit/466113a5)) - * upgrade @types/node to 13.9.8 ([18072957](https://github.com/electron-userland/electron-forge/commit/18072957)) - * upgrade asar to 3.0.3 ([917ac487](https://github.com/electron-userland/electron-forge/commit/917ac487)) - * upgrade @types/webpack to 4.41.10 ([ce8f49cc](https://github.com/electron-userland/electron-forge/commit/ce8f49cc)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.26.0 ([98b4f8c2](https://github.com/electron-userland/electron-forge/commit/98b4f8c2)) - * upgrade @types/webpack to 4.41.9 ([c71bc263](https://github.com/electron-userland/electron-forge/commit/c71bc263)) - * upgrade @types/node to 13.9.6 ([9f3853d3](https://github.com/electron-userland/electron-forge/commit/9f3853d3)) - * upgrade eslint-plugin-import to 2.20.2 ([fc1a764d](https://github.com/electron-userland/electron-forge/commit/fc1a764d)) - * upgrade lint-staged to 10.1.0 ([a017a84e](https://github.com/electron-userland/electron-forge/commit/a017a84e)) - * upgrade @types/node to 13.9.5 ([d65a8f12](https://github.com/electron-userland/electron-forge/commit/d65a8f12)) - * bump @types/node from 13.9.3 to 13.9.4 ([3b753b6e](https://github.com/electron-userland/electron-forge/commit/3b753b6e)) - * relax commitizen's minimist dependency to ^1.2.5 ([ca17ddcc](https://github.com/electron-userland/electron-forge/commit/ca17ddcc)) - * upgrade lint-staged to 10.0.9 ([2c3594fe](https://github.com/electron-userland/electron-forge/commit/2c3594fe)) - * upgrade fetch-mock to 9.3.1 ([573f5f76](https://github.com/electron-userland/electron-forge/commit/573f5f76)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.25.0 ([1aadc7b9](https://github.com/electron-userland/electron-forge/commit/1aadc7b9)) - * upgrade asar to 3.0.2 ([432fe6f8](https://github.com/electron-userland/electron-forge/commit/432fe6f8)) - * upgrade @babel/* to 7.9.0 ([b22900f3](https://github.com/electron-userland/electron-forge/commit/b22900f3)) - * bump ts-node from 8.7.0 to 8.8.1 ([78c5aeb3](https://github.com/electron-userland/electron-forge/commit/78c5aeb3)) - * bump @types/webpack from 4.41.7 to 4.41.8 (#1583) ([98ba2879](https://github.com/electron-userland/electron-forge/commit/98ba2879)) - * bump @types/node from 13.9.2 to 13.9.3 ([2cbef700](https://github.com/electron-userland/electron-forge/commit/2cbef700)) - * bump typedoc from 0.17.1 to 0.17.3 ([9b97b704](https://github.com/electron-userland/electron-forge/commit/9b97b704)) - * upgrade @types/node to 13.9.2 ([f4bb5435](https://github.com/electron-userland/electron-forge/commit/f4bb5435)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.24.0 ([75e92f9b](https://github.com/electron-userland/electron-forge/commit/75e92f9b)) - * bump fetch-mock from 9.1.2 to 9.2.1 (#1568) ([77dcecd0](https://github.com/electron-userland/electron-forge/commit/77dcecd0)) - * bump typedoc from 0.16.11 to 0.17.1 (#1573) ([794d0738](https://github.com/electron-userland/electron-forge/commit/794d0738)) - * bump ts-node from 8.6.2 to 8.7.0 (#1575) ([c97b6566](https://github.com/electron-userland/electron-forge/commit/c97b6566)) - * bump eslint-config-airbnb-base from 14.0.0 to 14.1.0 ([3059b3fe](https://github.com/electron-userland/electron-forge/commit/3059b3fe)) - * bump @types/chai from 4.2.10 to 4.2.11 ([a7a2246e](https://github.com/electron-userland/electron-forge/commit/a7a2246e)) - * bump mocha from 7.1.0 to 7.1.1 (#1574) ([40a601a9](https://github.com/electron-userland/electron-forge/commit/40a601a9)) - * upgrade eslint dependencies ([180cac4d](https://github.com/electron-userland/electron-forge/commit/180cac4d)) - * bump fetch-mock from 9.1.1 to 9.1.2 (#1564) ([1c0e5d8a](https://github.com/electron-userland/electron-forge/commit/1c0e5d8a)) - * bump minimist from 1.2.4 to 1.2.5 ([fe2cdd51](https://github.com/electron-userland/electron-forge/commit/fe2cdd51)) - * bump @types/node from 13.9.0 to 13.9.1 ([236c3afb](https://github.com/electron-userland/electron-forge/commit/236c3afb)) - * bump asar from 3.0.0 to 3.0.1 (#1561) ([0f212202](https://github.com/electron-userland/electron-forge/commit/0f212202)) - * bump minimist from 1.2.3 to 1.2.4 ([b579c167](https://github.com/electron-userland/electron-forge/commit/b579c167)) - * upgrade asar to ^3.0.0 ([56c61cfd](https://github.com/electron-userland/electron-forge/commit/56c61cfd)) - * upgrade minimist to 1.2.3 ([821be096](https://github.com/electron-userland/electron-forge/commit/821be096)) - * upgrade sinon to 9.0.1 ([650ee07b](https://github.com/electron-userland/electron-forge/commit/650ee07b)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.23.0 ([e1661474](https://github.com/electron-userland/electron-forge/commit/e1661474)) - * upgrade @types/node to 13.9.0 ([da229e81](https://github.com/electron-userland/electron-forge/commit/da229e81)) - * bump fetch-mock from 9.1.0 to 9.1.1 (#1555) ([c8ff9128](https://github.com/electron-userland/electron-forge/commit/c8ff9128)) - * bump cross-env from 7.0.1 to 7.0.2 ([0f08a02d](https://github.com/electron-userland/electron-forge/commit/0f08a02d)) - * bump @babel/preset-env from 7.8.6 to 7.8.7 (#1552) ([6e5c7dfb](https://github.com/electron-userland/electron-forge/commit/6e5c7dfb)) - * bump @babel/core from 7.8.6 to 7.8.7 ([6dd4f3ed](https://github.com/electron-userland/electron-forge/commit/6dd4f3ed)) - * bump fetch-mock from 9.0.0 to 9.1.0 (#1548) ([8874746e](https://github.com/electron-userland/electron-forge/commit/8874746e)) - * bump cross-env from 7.0.0 to 7.0.1 ([d7b80c7e](https://github.com/electron-userland/electron-forge/commit/d7b80c7e)) - * bump @types/mocha from 7.0.1 to 7.0.2 ([6c0b114f](https://github.com/electron-userland/electron-forge/commit/6c0b114f)) - * bump @types/express from 4.17.2 to 4.17.3 (#1545) ([0dca3f8e](https://github.com/electron-userland/electron-forge/commit/0dca3f8e)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.22.0 ([28dbb194](https://github.com/electron-userland/electron-forge/commit/28dbb194)) - * bump @types/chai from 4.2.9 to 4.2.10 ([1c8668db](https://github.com/electron-userland/electron-forge/commit/1c8668db)) - * bump typescript from 3.8.2 to 3.8.3 ([d1f09a5b](https://github.com/electron-userland/electron-forge/commit/d1f09a5b)) - * bump @types/node from 13.7.6 to 13.7.7 ([fb725329](https://github.com/electron-userland/electron-forge/commit/fb725329)) - * bump fetch-mock from 8.3.2 to 9.0.0 (#1534) ([d4b7e9ce](https://github.com/electron-userland/electron-forge/commit/d4b7e9ce)) - * bump typedoc from 0.16.10 to 0.16.11 (#1526) ([0fd31fb0](https://github.com/electron-userland/electron-forge/commit/0fd31fb0)) - * bump mocha from 7.0.1 to 7.1.0 (#1519) ([cd4785bb](https://github.com/electron-userland/electron-forge/commit/cd4785bb)) - * bump @types/webpack-dev-middleware from 2.0.3 to 3.7.0 (#1517) ([fa8dfc8e](https://github.com/electron-userland/electron-forge/commit/fa8dfc8e)) - * bump @types/node from 13.7.5 to 13.7.6 ([59777cf8](https://github.com/electron-userland/electron-forge/commit/59777cf8)) -* **deps:** - * bump log-symbols from 3.0.0 to 4.0.0 (#1649) ([6c8e4439](https://github.com/electron-userland/electron-forge/commit/6c8e4439)) - * upgrade electron-installer-snap to ^5.1.0 (#1644) ([0e22ba18](https://github.com/electron-userland/electron-forge/commit/0e22ba18)) - * upgrade xterm-addon-search to ^0.6.0 ([f4ff3317](https://github.com/electron-userland/electron-forge/commit/f4ff3317)) - * upgrade html-webpack-plugin to 4.2.0 ([f092af56](https://github.com/electron-userland/electron-forge/commit/f092af56)) - * upgrade webpack to 4.43.0 ([e75754f7](https://github.com/electron-userland/electron-forge/commit/e75754f7)) - * upgrade source-map-support to 0.5.19 ([197eac7d](https://github.com/electron-userland/electron-forge/commit/197eac7d)) - * upgrade semver to 7.3.2 ([b053d3b7](https://github.com/electron-userland/electron-forge/commit/b053d3b7)) - * upgrade ora to 4.0.4 ([ee410671](https://github.com/electron-userland/electron-forge/commit/ee410671)) - * upgrade mime-types to 2.1.27 ([dc84cbdb](https://github.com/electron-userland/electron-forge/commit/dc84cbdb)) - * upgrade @electron/get to 1.10.0 ([2b3cfbec](https://github.com/electron-userland/electron-forge/commit/2b3cfbec)) - * bump xterm from 4.4.0 to 4.5.0 (#1624) ([c8e301a2](https://github.com/electron-userland/electron-forge/commit/c8e301a2)) - * bump semver from 7.1.3 to 7.2.1 (#1611) ([00f0b29b](https://github.com/electron-userland/electron-forge/commit/00f0b29b)) - * upgrade cross-spawn to 7.0.2 ([e04f1a43](https://github.com/electron-userland/electron-forge/commit/e04f1a43)) - * upgrade html-webpack-plugin to 4.0.3 ([3cbd0f11](https://github.com/electron-userland/electron-forge/commit/3cbd0f11)) - * bump @malept/cross-spawn-promise from 1.0.0 to 1.1.0 (#1593) ([edd6071a](https://github.com/electron-userland/electron-forge/commit/edd6071a)) - * bump html-webpack-plugin from 4.0.1 to 4.0.2 (#1588) ([50d57b3d](https://github.com/electron-userland/electron-forge/commit/50d57b3d)) - * upgrade webpack to 4.42.1 ([aec996d6](https://github.com/electron-userland/electron-forge/commit/aec996d6)) - * upgrade html-webpack-plugin to ^4.0.1 ([9a975ebd](https://github.com/electron-userland/electron-forge/commit/9a975ebd)) - * bump fs-extra from 8.1.0 to 9.0.0 (#1577) ([16b1e870](https://github.com/electron-userland/electron-forge/commit/16b1e870)) - * [security] bump acorn from 6.4.0 to 6.4.1 ([37a0904d](https://github.com/electron-userland/electron-forge/commit/37a0904d)) - * upgrade inquirer to 7.1.0 ([2786fdbe](https://github.com/electron-userland/electron-forge/commit/2786fdbe)) - * upgrade electron-rebuild to 1.10.1 ([d63fcdc3](https://github.com/electron-userland/electron-forge/commit/d63fcdc3)) - * bump open from 7.0.2 to 7.0.3 (#1558) ([683fbf32](https://github.com/electron-userland/electron-forge/commit/683fbf32)) - * upgrade dependencies for electron-rebuild ([56be8ee1](https://github.com/electron-userland/electron-forge/commit/56be8ee1)) - * bump @electron/get from 1.8.0 to 1.9.0 (#1554) ([dc6a5970](https://github.com/electron-userland/electron-forge/commit/dc6a5970)) - * bump inquirer from 7.0.5 to 7.0.6 (#1551) ([a75d0e0d](https://github.com/electron-userland/electron-forge/commit/a75d0e0d)) - * bump pretty-ms from 6.0.0 to 6.0.1 (#1542) ([7589343f](https://github.com/electron-userland/electron-forge/commit/7589343f)) - * bump webpack from 4.41.6 to 4.42.0 (#1540) ([99f2ccd4](https://github.com/electron-userland/electron-forge/commit/99f2ccd4)) - * bump inquirer from 7.0.4 to 7.0.5 (#1532) ([16d8331c](https://github.com/electron-userland/electron-forge/commit/16d8331c)) -* have lint-staged only check changed files ([508727eb](https://github.com/electron-userland/electron-forge/commit/508727eb)) -* update Heroku CLI repo key on Linux CI workers ([d838b8ed](https://github.com/electron-userland/electron-forge/commit/d838b8ed)) +- **deps-dev:** + - bump typedoc from 0.17.4 to 0.17.6 (#1648) ([3be58d00](https://github.com/electron-userland/electron-forge/commit/3be58d00)) + - bump @types/node from 13.13.2 to 13.13.4 ([ec4e3b68](https://github.com/electron-userland/electron-forge/commit/ec4e3b68)) + - bump mocha from 7.1.1 to 7.1.2 (#1650) ([5ce9d765](https://github.com/electron-userland/electron-forge/commit/5ce9d765)) + - bump ts-node from 8.9.0 to 8.9.1 ([d85e33c5](https://github.com/electron-userland/electron-forge/commit/d85e33c5)) + - upgrade @types/express to 4.17.6 ([e1e8413f](https://github.com/electron-userland/electron-forge/commit/e1e8413f)) + - upgrade @types/webpack-hot-middleware to 2.25.2 ([0f519dd9](https://github.com/electron-userland/electron-forge/commit/0f519dd9)) + - upgrade @types/webpack to 4.41.12 ([812736b0](https://github.com/electron-userland/electron-forge/commit/812736b0)) + - upgrade ts-node to 8.9.0 ([969ce317](https://github.com/electron-userland/electron-forge/commit/969ce317)) + - upgrade @types/lodash to 4.14.150 ([94a1dd01](https://github.com/electron-userland/electron-forge/commit/94a1dd01)) + - upgrade lint-staged to 10.1.7 ([5e1043e1](https://github.com/electron-userland/electron-forge/commit/5e1043e1)) + - upgrade fetch-mock to 9.4.0 ([694102bc](https://github.com/electron-userland/electron-forge/commit/694102bc)) + - upgrade @types/node to 13.13.2 ([ba3521fd](https://github.com/electron-userland/electron-forge/commit/ba3521fd)) + - upgrade @types/node-fetch to 2.5.7 ([b6a1cf85](https://github.com/electron-userland/electron-forge/commit/b6a1cf85)) + - upgrade @typescript-eslint/{eslint-plugin,parser} to 2.29.0 ([968aae60](https://github.com/electron-userland/electron-forge/commit/968aae60)) + - bump lint-staged from 10.1.2 to 10.1.3 ([e134a612](https://github.com/electron-userland/electron-forge/commit/e134a612)) + - bump husky from 4.2.3 to 4.2.5 (#1622) ([c3308e9d](https://github.com/electron-userland/electron-forge/commit/c3308e9d)) + - bump nodemon from 2.0.2 to 2.0.3 ([b9000c59](https://github.com/electron-userland/electron-forge/commit/b9000c59)) + - bump sinon from 9.0.1 to 9.0.2 (#1617) ([cc9c2f58](https://github.com/electron-userland/electron-forge/commit/cc9c2f58)) + - bump @types/node from 13.11.0 to 13.11.1 ([66069bab](https://github.com/electron-userland/electron-forge/commit/66069bab)) + - bump @babel/preset-env from 7.9.0 to 7.9.5 (#1613) ([9059e69e](https://github.com/electron-userland/electron-forge/commit/9059e69e)) + - bump commitizen from 4.0.3 to 4.0.4 (#1614) ([0de385c5](https://github.com/electron-userland/electron-forge/commit/0de385c5)) + - bump typedoc from 0.17.3 to 0.17.4 ([2ae60f84](https://github.com/electron-userland/electron-forge/commit/2ae60f84)) + - upgrade ts-node to 8.8.2 ([7f6afc0e](https://github.com/electron-userland/electron-forge/commit/7f6afc0e)) + - upgrade lint-staged to 10.1.2 ([c2abd0bc](https://github.com/electron-userland/electron-forge/commit/c2abd0bc)) + - upgrade nyc to 15.0.1 ([0792db7f](https://github.com/electron-userland/electron-forge/commit/0792db7f)) + - bump @types/node from 13.9.8 to 13.11.0 ([f073e92a](https://github.com/electron-userland/electron-forge/commit/f073e92a)) + - upgrade @types/sinon to ^9.0.0 ([23d02c5e](https://github.com/electron-userland/electron-forge/commit/23d02c5e)) + - ugprade @types/express to 4.17.4 ([20149686](https://github.com/electron-userland/electron-forge/commit/20149686)) + - upgrade html-webpack-plugin to 4.0.4 ([d4686138](https://github.com/electron-userland/electron-forge/commit/d4686138)) + - upgrade lint-staged to 10.1.1 ([3a46a3b5](https://github.com/electron-userland/electron-forge/commit/3a46a3b5)) + - upgrade transitive dependencies ([466113a5](https://github.com/electron-userland/electron-forge/commit/466113a5)) + - upgrade @types/node to 13.9.8 ([18072957](https://github.com/electron-userland/electron-forge/commit/18072957)) + - upgrade asar to 3.0.3 ([917ac487](https://github.com/electron-userland/electron-forge/commit/917ac487)) + - upgrade @types/webpack to 4.41.10 ([ce8f49cc](https://github.com/electron-userland/electron-forge/commit/ce8f49cc)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.26.0 ([98b4f8c2](https://github.com/electron-userland/electron-forge/commit/98b4f8c2)) + - upgrade @types/webpack to 4.41.9 ([c71bc263](https://github.com/electron-userland/electron-forge/commit/c71bc263)) + - upgrade @types/node to 13.9.6 ([9f3853d3](https://github.com/electron-userland/electron-forge/commit/9f3853d3)) + - upgrade eslint-plugin-import to 2.20.2 ([fc1a764d](https://github.com/electron-userland/electron-forge/commit/fc1a764d)) + - upgrade lint-staged to 10.1.0 ([a017a84e](https://github.com/electron-userland/electron-forge/commit/a017a84e)) + - upgrade @types/node to 13.9.5 ([d65a8f12](https://github.com/electron-userland/electron-forge/commit/d65a8f12)) + - bump @types/node from 13.9.3 to 13.9.4 ([3b753b6e](https://github.com/electron-userland/electron-forge/commit/3b753b6e)) + - relax commitizen's minimist dependency to ^1.2.5 ([ca17ddcc](https://github.com/electron-userland/electron-forge/commit/ca17ddcc)) + - upgrade lint-staged to 10.0.9 ([2c3594fe](https://github.com/electron-userland/electron-forge/commit/2c3594fe)) + - upgrade fetch-mock to 9.3.1 ([573f5f76](https://github.com/electron-userland/electron-forge/commit/573f5f76)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.25.0 ([1aadc7b9](https://github.com/electron-userland/electron-forge/commit/1aadc7b9)) + - upgrade asar to 3.0.2 ([432fe6f8](https://github.com/electron-userland/electron-forge/commit/432fe6f8)) + - upgrade @babel/\* to 7.9.0 ([b22900f3](https://github.com/electron-userland/electron-forge/commit/b22900f3)) + - bump ts-node from 8.7.0 to 8.8.1 ([78c5aeb3](https://github.com/electron-userland/electron-forge/commit/78c5aeb3)) + - bump @types/webpack from 4.41.7 to 4.41.8 (#1583) ([98ba2879](https://github.com/electron-userland/electron-forge/commit/98ba2879)) + - bump @types/node from 13.9.2 to 13.9.3 ([2cbef700](https://github.com/electron-userland/electron-forge/commit/2cbef700)) + - bump typedoc from 0.17.1 to 0.17.3 ([9b97b704](https://github.com/electron-userland/electron-forge/commit/9b97b704)) + - upgrade @types/node to 13.9.2 ([f4bb5435](https://github.com/electron-userland/electron-forge/commit/f4bb5435)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.24.0 ([75e92f9b](https://github.com/electron-userland/electron-forge/commit/75e92f9b)) + - bump fetch-mock from 9.1.2 to 9.2.1 (#1568) ([77dcecd0](https://github.com/electron-userland/electron-forge/commit/77dcecd0)) + - bump typedoc from 0.16.11 to 0.17.1 (#1573) ([794d0738](https://github.com/electron-userland/electron-forge/commit/794d0738)) + - bump ts-node from 8.6.2 to 8.7.0 (#1575) ([c97b6566](https://github.com/electron-userland/electron-forge/commit/c97b6566)) + - bump eslint-config-airbnb-base from 14.0.0 to 14.1.0 ([3059b3fe](https://github.com/electron-userland/electron-forge/commit/3059b3fe)) + - bump @types/chai from 4.2.10 to 4.2.11 ([a7a2246e](https://github.com/electron-userland/electron-forge/commit/a7a2246e)) + - bump mocha from 7.1.0 to 7.1.1 (#1574) ([40a601a9](https://github.com/electron-userland/electron-forge/commit/40a601a9)) + - upgrade eslint dependencies ([180cac4d](https://github.com/electron-userland/electron-forge/commit/180cac4d)) + - bump fetch-mock from 9.1.1 to 9.1.2 (#1564) ([1c0e5d8a](https://github.com/electron-userland/electron-forge/commit/1c0e5d8a)) + - bump minimist from 1.2.4 to 1.2.5 ([fe2cdd51](https://github.com/electron-userland/electron-forge/commit/fe2cdd51)) + - bump @types/node from 13.9.0 to 13.9.1 ([236c3afb](https://github.com/electron-userland/electron-forge/commit/236c3afb)) + - bump asar from 3.0.0 to 3.0.1 (#1561) ([0f212202](https://github.com/electron-userland/electron-forge/commit/0f212202)) + - bump minimist from 1.2.3 to 1.2.4 ([b579c167](https://github.com/electron-userland/electron-forge/commit/b579c167)) + - upgrade asar to ^3.0.0 ([56c61cfd](https://github.com/electron-userland/electron-forge/commit/56c61cfd)) + - upgrade minimist to 1.2.3 ([821be096](https://github.com/electron-userland/electron-forge/commit/821be096)) + - upgrade sinon to 9.0.1 ([650ee07b](https://github.com/electron-userland/electron-forge/commit/650ee07b)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.23.0 ([e1661474](https://github.com/electron-userland/electron-forge/commit/e1661474)) + - upgrade @types/node to 13.9.0 ([da229e81](https://github.com/electron-userland/electron-forge/commit/da229e81)) + - bump fetch-mock from 9.1.0 to 9.1.1 (#1555) ([c8ff9128](https://github.com/electron-userland/electron-forge/commit/c8ff9128)) + - bump cross-env from 7.0.1 to 7.0.2 ([0f08a02d](https://github.com/electron-userland/electron-forge/commit/0f08a02d)) + - bump @babel/preset-env from 7.8.6 to 7.8.7 (#1552) ([6e5c7dfb](https://github.com/electron-userland/electron-forge/commit/6e5c7dfb)) + - bump @babel/core from 7.8.6 to 7.8.7 ([6dd4f3ed](https://github.com/electron-userland/electron-forge/commit/6dd4f3ed)) + - bump fetch-mock from 9.0.0 to 9.1.0 (#1548) ([8874746e](https://github.com/electron-userland/electron-forge/commit/8874746e)) + - bump cross-env from 7.0.0 to 7.0.1 ([d7b80c7e](https://github.com/electron-userland/electron-forge/commit/d7b80c7e)) + - bump @types/mocha from 7.0.1 to 7.0.2 ([6c0b114f](https://github.com/electron-userland/electron-forge/commit/6c0b114f)) + - bump @types/express from 4.17.2 to 4.17.3 (#1545) ([0dca3f8e](https://github.com/electron-userland/electron-forge/commit/0dca3f8e)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.22.0 ([28dbb194](https://github.com/electron-userland/electron-forge/commit/28dbb194)) + - bump @types/chai from 4.2.9 to 4.2.10 ([1c8668db](https://github.com/electron-userland/electron-forge/commit/1c8668db)) + - bump typescript from 3.8.2 to 3.8.3 ([d1f09a5b](https://github.com/electron-userland/electron-forge/commit/d1f09a5b)) + - bump @types/node from 13.7.6 to 13.7.7 ([fb725329](https://github.com/electron-userland/electron-forge/commit/fb725329)) + - bump fetch-mock from 8.3.2 to 9.0.0 (#1534) ([d4b7e9ce](https://github.com/electron-userland/electron-forge/commit/d4b7e9ce)) + - bump typedoc from 0.16.10 to 0.16.11 (#1526) ([0fd31fb0](https://github.com/electron-userland/electron-forge/commit/0fd31fb0)) + - bump mocha from 7.0.1 to 7.1.0 (#1519) ([cd4785bb](https://github.com/electron-userland/electron-forge/commit/cd4785bb)) + - bump @types/webpack-dev-middleware from 2.0.3 to 3.7.0 (#1517) ([fa8dfc8e](https://github.com/electron-userland/electron-forge/commit/fa8dfc8e)) + - bump @types/node from 13.7.5 to 13.7.6 ([59777cf8](https://github.com/electron-userland/electron-forge/commit/59777cf8)) +- **deps:** + - bump log-symbols from 3.0.0 to 4.0.0 (#1649) ([6c8e4439](https://github.com/electron-userland/electron-forge/commit/6c8e4439)) + - upgrade electron-installer-snap to ^5.1.0 (#1644) ([0e22ba18](https://github.com/electron-userland/electron-forge/commit/0e22ba18)) + - upgrade xterm-addon-search to ^0.6.0 ([f4ff3317](https://github.com/electron-userland/electron-forge/commit/f4ff3317)) + - upgrade html-webpack-plugin to 4.2.0 ([f092af56](https://github.com/electron-userland/electron-forge/commit/f092af56)) + - upgrade webpack to 4.43.0 ([e75754f7](https://github.com/electron-userland/electron-forge/commit/e75754f7)) + - upgrade source-map-support to 0.5.19 ([197eac7d](https://github.com/electron-userland/electron-forge/commit/197eac7d)) + - upgrade semver to 7.3.2 ([b053d3b7](https://github.com/electron-userland/electron-forge/commit/b053d3b7)) + - upgrade ora to 4.0.4 ([ee410671](https://github.com/electron-userland/electron-forge/commit/ee410671)) + - upgrade mime-types to 2.1.27 ([dc84cbdb](https://github.com/electron-userland/electron-forge/commit/dc84cbdb)) + - upgrade @electron/get to 1.10.0 ([2b3cfbec](https://github.com/electron-userland/electron-forge/commit/2b3cfbec)) + - bump xterm from 4.4.0 to 4.5.0 (#1624) ([c8e301a2](https://github.com/electron-userland/electron-forge/commit/c8e301a2)) + - bump semver from 7.1.3 to 7.2.1 (#1611) ([00f0b29b](https://github.com/electron-userland/electron-forge/commit/00f0b29b)) + - upgrade cross-spawn to 7.0.2 ([e04f1a43](https://github.com/electron-userland/electron-forge/commit/e04f1a43)) + - upgrade html-webpack-plugin to 4.0.3 ([3cbd0f11](https://github.com/electron-userland/electron-forge/commit/3cbd0f11)) + - bump @malept/cross-spawn-promise from 1.0.0 to 1.1.0 (#1593) ([edd6071a](https://github.com/electron-userland/electron-forge/commit/edd6071a)) + - bump html-webpack-plugin from 4.0.1 to 4.0.2 (#1588) ([50d57b3d](https://github.com/electron-userland/electron-forge/commit/50d57b3d)) + - upgrade webpack to 4.42.1 ([aec996d6](https://github.com/electron-userland/electron-forge/commit/aec996d6)) + - upgrade html-webpack-plugin to ^4.0.1 ([9a975ebd](https://github.com/electron-userland/electron-forge/commit/9a975ebd)) + - bump fs-extra from 8.1.0 to 9.0.0 (#1577) ([16b1e870](https://github.com/electron-userland/electron-forge/commit/16b1e870)) + - [security] bump acorn from 6.4.0 to 6.4.1 ([37a0904d](https://github.com/electron-userland/electron-forge/commit/37a0904d)) + - upgrade inquirer to 7.1.0 ([2786fdbe](https://github.com/electron-userland/electron-forge/commit/2786fdbe)) + - upgrade electron-rebuild to 1.10.1 ([d63fcdc3](https://github.com/electron-userland/electron-forge/commit/d63fcdc3)) + - bump open from 7.0.2 to 7.0.3 (#1558) ([683fbf32](https://github.com/electron-userland/electron-forge/commit/683fbf32)) + - upgrade dependencies for electron-rebuild ([56be8ee1](https://github.com/electron-userland/electron-forge/commit/56be8ee1)) + - bump @electron/get from 1.8.0 to 1.9.0 (#1554) ([dc6a5970](https://github.com/electron-userland/electron-forge/commit/dc6a5970)) + - bump inquirer from 7.0.5 to 7.0.6 (#1551) ([a75d0e0d](https://github.com/electron-userland/electron-forge/commit/a75d0e0d)) + - bump pretty-ms from 6.0.0 to 6.0.1 (#1542) ([7589343f](https://github.com/electron-userland/electron-forge/commit/7589343f)) + - bump webpack from 4.41.6 to 4.42.0 (#1540) ([99f2ccd4](https://github.com/electron-userland/electron-forge/commit/99f2ccd4)) + - bump inquirer from 7.0.4 to 7.0.5 (#1532) ([16d8331c](https://github.com/electron-userland/electron-forge/commit/16d8331c)) +- have lint-staged only check changed files ([508727eb](https://github.com/electron-userland/electron-forge/commit/508727eb)) +- update Heroku CLI repo key on Linux CI workers ([d838b8ed](https://github.com/electron-userland/electron-forge/commit/d838b8ed)) ##### Chores -* **deps-dev:** upgrade @babel/{core,preset-env,register} to 7.8.6 ([ff3a2a7a](https://github.com/electron-userland/electron-forge/commit/ff3a2a7a)) +- **deps-dev:** upgrade @babel/{core,preset-env,register} to 7.8.6 ([ff3a2a7a](https://github.com/electron-userland/electron-forge/commit/ff3a2a7a)) ##### Documentation Changes -* clean up README wording (#1625) ([3ad264df](https://github.com/electron-userland/electron-forge/commit/3ad264df)) -* add note about conventional commits to the pull request docs ([155b739f](https://github.com/electron-userland/electron-forge/commit/155b739f)) +- clean up README wording (#1625) ([3ad264df](https://github.com/electron-userland/electron-forge/commit/3ad264df)) +- add note about conventional commits to the pull request docs ([155b739f](https://github.com/electron-userland/electron-forge/commit/155b739f)) ##### New Features -* **s3:** add options to allow use custom instance (#1601) ([38e63d15](https://github.com/electron-userland/electron-forge/commit/38e63d15)) +- **s3:** add options to allow use custom instance (#1601) ([38e63d15](https://github.com/electron-userland/electron-forge/commit/38e63d15)) ##### Bug Fixes -* **cli:** fix the minimum version of Node in the CLI error message ([45ac8ddf](https://github.com/electron-userland/electron-forge/commit/45ac8ddf)) -* **core:** overrideTargets inherit the named maker config in the Forge config (#1549) ([e133b607](https://github.com/electron-userland/electron-forge/commit/e133b607)) -* **publisher-electron-release-server:** throw an exception for 4xx/5xx HTTP status codes (#1538) ([f223fc8f](https://github.com/electron-userland/electron-forge/commit/f223fc8f)) -* **template-base:** update Travis CI config to best practices (#1539) ([a34656b2](https://github.com/electron-userland/electron-forge/commit/a34656b2)) -* **plugin-webpack:** change preload target from electron-renderer to electron-preload (#1521) ([5f1b240f](https://github.com/electron-userland/electron-forge/commit/5f1b240f)) +- **cli:** fix the minimum version of Node in the CLI error message ([45ac8ddf](https://github.com/electron-userland/electron-forge/commit/45ac8ddf)) +- **core:** overrideTargets inherit the named maker config in the Forge config (#1549) ([e133b607](https://github.com/electron-userland/electron-forge/commit/e133b607)) +- **publisher-electron-release-server:** throw an exception for 4xx/5xx HTTP status codes (#1538) ([f223fc8f](https://github.com/electron-userland/electron-forge/commit/f223fc8f)) +- **template-base:** update Travis CI config to best practices (#1539) ([a34656b2](https://github.com/electron-userland/electron-forge/commit/a34656b2)) +- **plugin-webpack:** change preload target from electron-renderer to electron-preload (#1521) ([5f1b240f](https://github.com/electron-userland/electron-forge/commit/5f1b240f)) #### [6.0.0-beta.50](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.50) (2020-02-25) ##### Build System / Dependencies -* **deps-dev:** - * upgrade @types/sinon to 7.5.2 ([26f58633](https://github.com/electron-userland/electron-forge/commit/26f58633)) - * upgrade @types/node to 13.7.5 ([75c14c57](https://github.com/electron-userland/electron-forge/commit/75c14c57)) - * bump @types/node-fetch from 2.5.4 to 2.5.5 ([9f55a6c9](https://github.com/electron-userland/electron-forge/commit/9f55a6c9)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.21.0 ([b00446fa](https://github.com/electron-userland/electron-forge/commit/b00446fa)) - * bump typescript from 3.7.5 to 3.8.2 ([dcaa3c2e](https://github.com/electron-userland/electron-forge/commit/dcaa3c2e)) - * bump eslint-plugin-mocha from 6.2.2 to 6.3.0 ([0cb70c23](https://github.com/electron-userland/electron-forge/commit/0cb70c23)) - * bump @types/node from 13.7.2 to 13.7.4 ([3354084e](https://github.com/electron-userland/electron-forge/commit/3354084e)) - * bump sinon from 8.1.1 to 9.0.0 (#1505) ([da87172e](https://github.com/electron-userland/electron-forge/commit/da87172e)) - * upgrade asar to 2.1.0 (#1504) ([53ce8149](https://github.com/electron-userland/electron-forge/commit/53ce8149)) - * bump @types/node from 13.7.1 to 13.7.2 ([a5c5084a](https://github.com/electron-userland/electron-forge/commit/a5c5084a)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.20.0 ([167e4f2d](https://github.com/electron-userland/electron-forge/commit/167e4f2d)) - * bump @types/fs-extra from 8.0.1 to 8.1.0 ([5a9444dc](https://github.com/electron-userland/electron-forge/commit/5a9444dc)) - * upgrade typedoc to 0.16.10 ([ff3863a3](https://github.com/electron-userland/electron-forge/commit/ff3863a3)) - * bump @types/chai from 4.2.8 to 4.2.9 ([d4e44ab7](https://github.com/electron-userland/electron-forge/commit/d4e44ab7)) - * bump @types/node from 13.7.0 to 13.7.1 ([2d112566](https://github.com/electron-userland/electron-forge/commit/2d112566)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.19.2 ([a4ef9b47](https://github.com/electron-userland/electron-forge/commit/a4ef9b47)) - * upgrade @types/webpack to 4.41.6 ([ec1256df](https://github.com/electron-userland/electron-forge/commit/ec1256df)) - * upgrade codecov to 3.6.5 ([2e7dcda5](https://github.com/electron-userland/electron-forge/commit/2e7dcda5)) - * upgrade rimraf to 3.0.2 ([3e39cf7b](https://github.com/electron-userland/electron-forge/commit/3e39cf7b)) -* **deps:** - * upgrade @electron/get to 1.8.0 ([a15eb934](https://github.com/electron-userland/electron-forge/commit/a15eb934)) - * upgrade electron-installer-common to 0.10.1 ([d015bab7](https://github.com/electron-userland/electron-forge/commit/d015bab7)) - * bump pretty-ms from 5.1.0 to 6.0.0 (#1495) ([fe800f64](https://github.com/electron-userland/electron-forge/commit/fe800f64)) - * bump semver from 7.1.2 to 7.1.3 (#1490) ([8a7c8c5c](https://github.com/electron-userland/electron-forge/commit/8a7c8c5c)) - * bump webpack from 4.41.5 to 4.41.6 (#1494) ([196def64](https://github.com/electron-userland/electron-forge/commit/196def64)) - * bump @electron/get from 1.7.5 to 1.7.6 (#1493) ([1b1efe86](https://github.com/electron-userland/electron-forge/commit/1b1efe86)) - * bump xterm-addon-search from 0.4.0 to 0.5.0 (#1489) ([edda336d](https://github.com/electron-userland/electron-forge/commit/edda336d)) - * upgrade @electron/get to 1.7.5 ([ffe4a050](https://github.com/electron-userland/electron-forge/commit/ffe4a050)) - * upgrade electron-packager to 14.2.1 ([3f1c9590](https://github.com/electron-userland/electron-forge/commit/3f1c9590)) - * bump @octokit/rest from 16.42.2 to 16.43.1 (#1471) ([60c0f07b](https://github.com/electron-userland/electron-forge/commit/60c0f07b)) -* emit Node 10 compatible code ([53a824a5](https://github.com/electron-userland/electron-forge/commit/53a824a5)) +- **deps-dev:** + - upgrade @types/sinon to 7.5.2 ([26f58633](https://github.com/electron-userland/electron-forge/commit/26f58633)) + - upgrade @types/node to 13.7.5 ([75c14c57](https://github.com/electron-userland/electron-forge/commit/75c14c57)) + - bump @types/node-fetch from 2.5.4 to 2.5.5 ([9f55a6c9](https://github.com/electron-userland/electron-forge/commit/9f55a6c9)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.21.0 ([b00446fa](https://github.com/electron-userland/electron-forge/commit/b00446fa)) + - bump typescript from 3.7.5 to 3.8.2 ([dcaa3c2e](https://github.com/electron-userland/electron-forge/commit/dcaa3c2e)) + - bump eslint-plugin-mocha from 6.2.2 to 6.3.0 ([0cb70c23](https://github.com/electron-userland/electron-forge/commit/0cb70c23)) + - bump @types/node from 13.7.2 to 13.7.4 ([3354084e](https://github.com/electron-userland/electron-forge/commit/3354084e)) + - bump sinon from 8.1.1 to 9.0.0 (#1505) ([da87172e](https://github.com/electron-userland/electron-forge/commit/da87172e)) + - upgrade asar to 2.1.0 (#1504) ([53ce8149](https://github.com/electron-userland/electron-forge/commit/53ce8149)) + - bump @types/node from 13.7.1 to 13.7.2 ([a5c5084a](https://github.com/electron-userland/electron-forge/commit/a5c5084a)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.20.0 ([167e4f2d](https://github.com/electron-userland/electron-forge/commit/167e4f2d)) + - bump @types/fs-extra from 8.0.1 to 8.1.0 ([5a9444dc](https://github.com/electron-userland/electron-forge/commit/5a9444dc)) + - upgrade typedoc to 0.16.10 ([ff3863a3](https://github.com/electron-userland/electron-forge/commit/ff3863a3)) + - bump @types/chai from 4.2.8 to 4.2.9 ([d4e44ab7](https://github.com/electron-userland/electron-forge/commit/d4e44ab7)) + - bump @types/node from 13.7.0 to 13.7.1 ([2d112566](https://github.com/electron-userland/electron-forge/commit/2d112566)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.19.2 ([a4ef9b47](https://github.com/electron-userland/electron-forge/commit/a4ef9b47)) + - upgrade @types/webpack to 4.41.6 ([ec1256df](https://github.com/electron-userland/electron-forge/commit/ec1256df)) + - upgrade codecov to 3.6.5 ([2e7dcda5](https://github.com/electron-userland/electron-forge/commit/2e7dcda5)) + - upgrade rimraf to 3.0.2 ([3e39cf7b](https://github.com/electron-userland/electron-forge/commit/3e39cf7b)) +- **deps:** + - upgrade @electron/get to 1.8.0 ([a15eb934](https://github.com/electron-userland/electron-forge/commit/a15eb934)) + - upgrade electron-installer-common to 0.10.1 ([d015bab7](https://github.com/electron-userland/electron-forge/commit/d015bab7)) + - bump pretty-ms from 5.1.0 to 6.0.0 (#1495) ([fe800f64](https://github.com/electron-userland/electron-forge/commit/fe800f64)) + - bump semver from 7.1.2 to 7.1.3 (#1490) ([8a7c8c5c](https://github.com/electron-userland/electron-forge/commit/8a7c8c5c)) + - bump webpack from 4.41.5 to 4.41.6 (#1494) ([196def64](https://github.com/electron-userland/electron-forge/commit/196def64)) + - bump @electron/get from 1.7.5 to 1.7.6 (#1493) ([1b1efe86](https://github.com/electron-userland/electron-forge/commit/1b1efe86)) + - bump xterm-addon-search from 0.4.0 to 0.5.0 (#1489) ([edda336d](https://github.com/electron-userland/electron-forge/commit/edda336d)) + - upgrade @electron/get to 1.7.5 ([ffe4a050](https://github.com/electron-userland/electron-forge/commit/ffe4a050)) + - upgrade electron-packager to 14.2.1 ([3f1c9590](https://github.com/electron-userland/electron-forge/commit/3f1c9590)) + - bump @octokit/rest from 16.42.2 to 16.43.1 (#1471) ([60c0f07b](https://github.com/electron-userland/electron-forge/commit/60c0f07b)) +- emit Node 10 compatible code ([53a824a5](https://github.com/electron-userland/electron-forge/commit/53a824a5)) ##### Chores -* changes to TypeScript files have eslint --fix run on them (#1516) ([dcf3bb18](https://github.com/electron-userland/electron-forge/commit/dcf3bb18)) -* ignore yarn.lock in subdirectories ([76217769](https://github.com/electron-userland/electron-forge/commit/76217769)) +- changes to TypeScript files have eslint --fix run on them (#1516) ([dcf3bb18](https://github.com/electron-userland/electron-forge/commit/dcf3bb18)) +- ignore yarn.lock in subdirectories ([76217769](https://github.com/electron-userland/electron-forge/commit/76217769)) ##### Bug Fixes -* **core:** throw an error when no make targets for the given platform are found (#1515) ([bc370aab](https://github.com/electron-userland/electron-forge/commit/bc370aab)) -* **typescript-webpack:** remove async=false option from ts-checker to avoid preload compile hang (#1497) ([fe5b33c9](https://github.com/electron-userland/electron-forge/commit/fe5b33c9)) +- **core:** throw an error when no make targets for the given platform are found (#1515) ([bc370aab](https://github.com/electron-userland/electron-forge/commit/bc370aab)) +- **typescript-webpack:** remove async=false option from ts-checker to avoid preload compile hang (#1497) ([fe5b33c9](https://github.com/electron-userland/electron-forge/commit/fe5b33c9)) ##### Refactors -* use @malept/cross-spawn-promise instead of cross-spawn-promise (#1496) ([62998e5c](https://github.com/electron-userland/electron-forge/commit/62998e5c)) +- use @malept/cross-spawn-promise instead of cross-spawn-promise (#1496) ([62998e5c](https://github.com/electron-userland/electron-forge/commit/62998e5c)) #### [6.0.0-beta.49](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.49) (2020-02-06) ##### Build System / Dependencies -* **deps:** - * bump xterm from 4.3.0 to 4.4.0 (#1474) ([b1f3b722](https://github.com/electron-userland/electron-forge/commit/b1f3b722)) - * bump commander from 4.1.0 to 4.1.1 (#1470) ([ab1f3e00](https://github.com/electron-userland/electron-forge/commit/ab1f3e00)) - * upgrade transitive dependency node-abi to 2.14.0 ([bd708083](https://github.com/electron-userland/electron-forge/commit/bd708083)) -* **deps-dev:** - * bump @types/webpack from 4.41.4 to 4.41.5 ([3c914539](https://github.com/electron-userland/electron-forge/commit/3c914539)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.19.0 ([e1a3b02e](https://github.com/electron-userland/electron-forge/commit/e1a3b02e)) +- **deps:** + - bump xterm from 4.3.0 to 4.4.0 (#1474) ([b1f3b722](https://github.com/electron-userland/electron-forge/commit/b1f3b722)) + - bump commander from 4.1.0 to 4.1.1 (#1470) ([ab1f3e00](https://github.com/electron-userland/electron-forge/commit/ab1f3e00)) + - upgrade transitive dependency node-abi to 2.14.0 ([bd708083](https://github.com/electron-userland/electron-forge/commit/bd708083)) +- **deps-dev:** + - bump @types/webpack from 4.41.4 to 4.41.5 ([3c914539](https://github.com/electron-userland/electron-forge/commit/3c914539)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.19.0 ([e1a3b02e](https://github.com/electron-userland/electron-forge/commit/e1a3b02e)) ##### Bug Fixes -* **plugin-webpack:** lazily load config generator so isProd is set correctly (#1480) ([9f6a445c](https://github.com/electron-userland/electron-forge/commit/9f6a445c)) +- **plugin-webpack:** lazily load config generator so isProd is set correctly (#1480) ([9f6a445c](https://github.com/electron-userland/electron-forge/commit/9f6a445c)) #### [6.0.0-beta.48](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.48) (2020-02-03) ##### Build System / Dependencies -* **deps:** - * bump @octokit/rest from 16.41.1 to 16.42.2 (#1465) ([0193c277](https://github.com/electron-userland/electron-forge/commit/0193c277)) - * upgrade @octokit/rest to 16.41.1 ([37ae0060](https://github.com/electron-userland/electron-forge/commit/37ae0060)) - * upgrade open to 7.0.2 ([45240a87](https://github.com/electron-userland/electron-forge/commit/45240a87)) - * bump semver from 7.1.1 to 7.1.2 (#1458) ([b29b74a3](https://github.com/electron-userland/electron-forge/commit/b29b74a3)) - * bump @octokit/rest from 16.40.1 to 16.41.0 (#1460) ([205d3ef4](https://github.com/electron-userland/electron-forge/commit/205d3ef4)) - * bump open from 7.0.0 to 7.0.1 (#1454) ([a167fd36](https://github.com/electron-userland/electron-forge/commit/a167fd36)) - * upgrade electron-rebuild to 1.10.0 ([fc2a0574](https://github.com/electron-userland/electron-forge/commit/fc2a0574)) - * bump @octokit/rest from 16.39.0 to 16.40.1 (#1448) ([cf725c56](https://github.com/electron-userland/electron-forge/commit/cf725c56)) - * bump @octokit/rest from 16.38.2 to 16.39.0 (#1434) ([e63a0323](https://github.com/electron-userland/electron-forge/commit/e63a0323)) - * bump inquirer from 7.0.3 to 7.0.4 (#1437) ([f8a6f44c](https://github.com/electron-userland/electron-forge/commit/f8a6f44c)) - * upgrade @octokit/rest to 16.38.2 ([76d01ac9](https://github.com/electron-userland/electron-forge/commit/76d01ac9)) - * bump @octokit/rest from 16.37.0 to 16.38.1 (#1430) ([966cf49d](https://github.com/electron-userland/electron-forge/commit/966cf49d)) - * upgrade to electron-rebuild 1.9.0 ([c18c6596](https://github.com/electron-userland/electron-forge/commit/c18c6596)) - * upgrade electron-installer-redhat to ^3.0.0 ([d07a203f](https://github.com/electron-userland/electron-forge/commit/d07a203f)) - * upgrade electron-installer-debian to ^3.0.0 ([c790a6ba](https://github.com/electron-userland/electron-forge/commit/c790a6ba)) - * upgrade @malept/electron-installer-flatpak to 0.11.1 ([0e2ea612](https://github.com/electron-userland/electron-forge/commit/0e2ea612)) - * upgrade electron-installer-snap to ^5.0.0 ([7d289d98](https://github.com/electron-userland/electron-forge/commit/7d289d98)) - * bump @octokit/rest from 16.36.0 to 16.37.0 (#1426) ([b6dcb011](https://github.com/electron-userland/electron-forge/commit/b6dcb011)) - * upgrade transient dependencies ([14a8d224](https://github.com/electron-userland/electron-forge/commit/14a8d224)) - * upgrade cross-zip to ^3.0.0 ([f3aa4ac6](https://github.com/electron-userland/electron-forge/commit/f3aa4ac6)) - * upgrade commander to 4.1.0 ([20660e17](https://github.com/electron-userland/electron-forge/commit/20660e17)) - * upgrade mime-types to 2.1.26 ([21896a92](https://github.com/electron-userland/electron-forge/commit/21896a92)) - * bump electron-packager from 14.1.1 to 14.2.0 (#1400) ([f27b2558](https://github.com/electron-userland/electron-forge/commit/f27b2558)) - * bump @octokit/rest from 16.35.2 to 16.36.0 (#1397) ([834f5c0a](https://github.com/electron-userland/electron-forge/commit/834f5c0a)) - * bump inquirer from 7.0.0 to 7.0.3 (#1350) ([11e9e163](https://github.com/electron-userland/electron-forge/commit/11e9e163)) - * bump webpack from 4.41.2 to 4.41.5 (#1367) ([226ee45d](https://github.com/electron-userland/electron-forge/commit/226ee45d)) -* ensure Yarn repo key is up-to-date ([c11fdaa7](https://github.com/electron-userland/electron-forge/commit/c11fdaa7)) -* use actions/checkout@v2 ([ee8ee0f1](https://github.com/electron-userland/electron-forge/commit/ee8ee0f1)) -* cache yarn directory instead of node_modules (#1404) ([ded1a5ff](https://github.com/electron-userland/electron-forge/commit/ded1a5ff)) -* integrate Dependabolt job into CI (#1403) ([bb0b3dc9](https://github.com/electron-userland/electron-forge/commit/bb0b3dc9)) -* re-enable the macOS/yarn CI tests ([7519befe](https://github.com/electron-userland/electron-forge/commit/7519befe)) -* add support for specifying a custom glob with the test runner ([2dc04018](https://github.com/electron-userland/electron-forge/commit/2dc04018)) -* **deps-dev:** - * upgrade @types/webpack to 4.41.4 & @types/html-webpack-plugin to 3.2.2 ([63e52f0d](https://github.com/electron-userland/electron-forge/commit/63e52f0d)) - * upgrade @types/node to 13.7.0 ([7461586a](https://github.com/electron-userland/electron-forge/commit/7461586a)) - * upgrade codecov to 3.6.4 ([3344e4b3](https://github.com/electron-userland/electron-forge/commit/3344e4b3)) - * upgrade eslint-plugin-import to 2.20.1 ([41fee16d](https://github.com/electron-userland/electron-forge/commit/41fee16d)) - * upgrade @babel/{core,cli,preset-env} to 7.8.4 ([b5c25413](https://github.com/electron-userland/electron-forge/commit/b5c25413)) - * bump @types/mocha from 5.2.7 to 7.0.1 ([cde6399b](https://github.com/electron-userland/electron-forge/commit/cde6399b)) - * bump @types/node from 13.5.2 to 13.5.3 ([201f702c](https://github.com/electron-userland/electron-forge/commit/201f702c)) - * bump @types/chai from 4.2.7 to 4.2.8 ([feaf3d52](https://github.com/electron-userland/electron-forge/commit/feaf3d52)) - * bump @types/node from 13.5.1 to 13.5.2 ([95f71f98](https://github.com/electron-userland/electron-forge/commit/95f71f98)) - * upgrade @types/semver to ^7.1.0 ([14b7d884](https://github.com/electron-userland/electron-forge/commit/14b7d884)) - * upgrade @types/node to 13.5.1 ([422f454f](https://github.com/electron-userland/electron-forge/commit/422f454f)) - * bump rimraf from 3.0.0 to 3.0.1 ([d5253af2](https://github.com/electron-userland/electron-forge/commit/d5253af2)) - * upgrade @typescript-eslint packages to 2.18.0 ([9905be6d](https://github.com/electron-userland/electron-forge/commit/9905be6d)) - * bump mocha from 7.0.0 to 7.0.1 (#1436) ([bf8d58d4](https://github.com/electron-userland/electron-forge/commit/bf8d58d4)) - * bump cross-env from 6.0.3 to 7.0.0 ([952f0b5d](https://github.com/electron-userland/electron-forge/commit/952f0b5d)) - * bump typedoc from 0.16.8 to 0.16.9 (#1433) ([ee0d806f](https://github.com/electron-userland/electron-forge/commit/ee0d806f)) - * upgrade fetch-mock to 8.3.2 ([685f0a0a](https://github.com/electron-userland/electron-forge/commit/685f0a0a)) - * upgrade codecov to 3.6.2 ([b65ec57e](https://github.com/electron-userland/electron-forge/commit/b65ec57e)) - * upgrade sinon to 8.1.1 ([6c5b9f2d](https://github.com/electron-userland/electron-forge/commit/6c5b9f2d)) - * upgrade typedoc to ^0.16.8 ([e98a2ee0](https://github.com/electron-userland/electron-forge/commit/e98a2ee0)) - * upgrade @types/webpack to 4.41.3 ([a6c98fd0](https://github.com/electron-userland/electron-forge/commit/a6c98fd0)) - * upgrade typescript-eslint packages to 2.17.0 ([0a3900eb](https://github.com/electron-userland/electron-forge/commit/0a3900eb)) - * bump @types/node from 13.1.7 to 13.1.8 ([0eb14589](https://github.com/electron-userland/electron-forge/commit/0eb14589)) - * bump typescript from 3.7.4 to 3.7.5 (#1423) ([06195e4c](https://github.com/electron-userland/electron-forge/commit/06195e4c)) - * bump sinon from 8.0.4 to 8.1.0 (#1422) ([d9a2197d](https://github.com/electron-userland/electron-forge/commit/d9a2197d)) - * bump typedoc from 0.16.6 to 0.16.7 (#1420) ([bf73f374](https://github.com/electron-userland/electron-forge/commit/bf73f374)) - * upgrade mocha to ^7.0.0 ([cfbd7bf7](https://github.com/electron-userland/electron-forge/commit/cfbd7bf7)) - * upgrade typedoc to ^0.16.6 ([13075b78](https://github.com/electron-userland/electron-forge/commit/13075b78)) - * upgrade typescript to 3.7.4 ([71fd34a2](https://github.com/electron-userland/electron-forge/commit/71fd34a2)) - * upgrade typescript-eslint packages to 2.16.0 ([c98fb2cf](https://github.com/electron-userland/electron-forge/commit/c98fb2cf)) - * upgrade eslint-plugin-import to 2.20.0 ([311c75d3](https://github.com/electron-userland/electron-forge/commit/311c75d3)) - * upgrade nyc to ^15.0.0 & @istanbuljs/nyc-config-typescript to ^1.0.1 ([03f797bb](https://github.com/electron-userland/electron-forge/commit/03f797bb)) - * bump sinon from 7.5.0 to 8.0.4 (#1399) ([23f02cc8](https://github.com/electron-userland/electron-forge/commit/23f02cc8)) - * bump fetch-mock from 8.0.1 to 8.3.1 (#1347) ([219385ce](https://github.com/electron-userland/electron-forge/commit/219385ce)) - * bump ts-node from 8.5.4 to 8.6.2 (#1391) ([1512bb71](https://github.com/electron-userland/electron-forge/commit/1512bb71)) - * bump eslint from 6.7.2 to 6.8.0 (#1398) ([3cd7c28b](https://github.com/electron-userland/electron-forge/commit/3cd7c28b)) - * upgrade babel packages to 7.8.3 ([42269942](https://github.com/electron-userland/electron-forge/commit/42269942)) - * bump @types/node from 12.12.20 to 13.1.5 ([4883037b](https://github.com/electron-userland/electron-forge/commit/4883037b)) - * bump @types/node from 12.12.18 to 12.12.20 ([9b8a2a6a](https://github.com/electron-userland/electron-forge/commit/9b8a2a6a)) -* **dev-deps:** upgrade @types/webpack to 4.41.2 ([062af9c9](https://github.com/electron-userland/electron-forge/commit/062af9c9)) +- **deps:** + - bump @octokit/rest from 16.41.1 to 16.42.2 (#1465) ([0193c277](https://github.com/electron-userland/electron-forge/commit/0193c277)) + - upgrade @octokit/rest to 16.41.1 ([37ae0060](https://github.com/electron-userland/electron-forge/commit/37ae0060)) + - upgrade open to 7.0.2 ([45240a87](https://github.com/electron-userland/electron-forge/commit/45240a87)) + - bump semver from 7.1.1 to 7.1.2 (#1458) ([b29b74a3](https://github.com/electron-userland/electron-forge/commit/b29b74a3)) + - bump @octokit/rest from 16.40.1 to 16.41.0 (#1460) ([205d3ef4](https://github.com/electron-userland/electron-forge/commit/205d3ef4)) + - bump open from 7.0.0 to 7.0.1 (#1454) ([a167fd36](https://github.com/electron-userland/electron-forge/commit/a167fd36)) + - upgrade electron-rebuild to 1.10.0 ([fc2a0574](https://github.com/electron-userland/electron-forge/commit/fc2a0574)) + - bump @octokit/rest from 16.39.0 to 16.40.1 (#1448) ([cf725c56](https://github.com/electron-userland/electron-forge/commit/cf725c56)) + - bump @octokit/rest from 16.38.2 to 16.39.0 (#1434) ([e63a0323](https://github.com/electron-userland/electron-forge/commit/e63a0323)) + - bump inquirer from 7.0.3 to 7.0.4 (#1437) ([f8a6f44c](https://github.com/electron-userland/electron-forge/commit/f8a6f44c)) + - upgrade @octokit/rest to 16.38.2 ([76d01ac9](https://github.com/electron-userland/electron-forge/commit/76d01ac9)) + - bump @octokit/rest from 16.37.0 to 16.38.1 (#1430) ([966cf49d](https://github.com/electron-userland/electron-forge/commit/966cf49d)) + - upgrade to electron-rebuild 1.9.0 ([c18c6596](https://github.com/electron-userland/electron-forge/commit/c18c6596)) + - upgrade electron-installer-redhat to ^3.0.0 ([d07a203f](https://github.com/electron-userland/electron-forge/commit/d07a203f)) + - upgrade electron-installer-debian to ^3.0.0 ([c790a6ba](https://github.com/electron-userland/electron-forge/commit/c790a6ba)) + - upgrade @malept/electron-installer-flatpak to 0.11.1 ([0e2ea612](https://github.com/electron-userland/electron-forge/commit/0e2ea612)) + - upgrade electron-installer-snap to ^5.0.0 ([7d289d98](https://github.com/electron-userland/electron-forge/commit/7d289d98)) + - bump @octokit/rest from 16.36.0 to 16.37.0 (#1426) ([b6dcb011](https://github.com/electron-userland/electron-forge/commit/b6dcb011)) + - upgrade transient dependencies ([14a8d224](https://github.com/electron-userland/electron-forge/commit/14a8d224)) + - upgrade cross-zip to ^3.0.0 ([f3aa4ac6](https://github.com/electron-userland/electron-forge/commit/f3aa4ac6)) + - upgrade commander to 4.1.0 ([20660e17](https://github.com/electron-userland/electron-forge/commit/20660e17)) + - upgrade mime-types to 2.1.26 ([21896a92](https://github.com/electron-userland/electron-forge/commit/21896a92)) + - bump electron-packager from 14.1.1 to 14.2.0 (#1400) ([f27b2558](https://github.com/electron-userland/electron-forge/commit/f27b2558)) + - bump @octokit/rest from 16.35.2 to 16.36.0 (#1397) ([834f5c0a](https://github.com/electron-userland/electron-forge/commit/834f5c0a)) + - bump inquirer from 7.0.0 to 7.0.3 (#1350) ([11e9e163](https://github.com/electron-userland/electron-forge/commit/11e9e163)) + - bump webpack from 4.41.2 to 4.41.5 (#1367) ([226ee45d](https://github.com/electron-userland/electron-forge/commit/226ee45d)) +- ensure Yarn repo key is up-to-date ([c11fdaa7](https://github.com/electron-userland/electron-forge/commit/c11fdaa7)) +- use actions/checkout@v2 ([ee8ee0f1](https://github.com/electron-userland/electron-forge/commit/ee8ee0f1)) +- cache yarn directory instead of node_modules (#1404) ([ded1a5ff](https://github.com/electron-userland/electron-forge/commit/ded1a5ff)) +- integrate Dependabolt job into CI (#1403) ([bb0b3dc9](https://github.com/electron-userland/electron-forge/commit/bb0b3dc9)) +- re-enable the macOS/yarn CI tests ([7519befe](https://github.com/electron-userland/electron-forge/commit/7519befe)) +- add support for specifying a custom glob with the test runner ([2dc04018](https://github.com/electron-userland/electron-forge/commit/2dc04018)) +- **deps-dev:** + - upgrade @types/webpack to 4.41.4 & @types/html-webpack-plugin to 3.2.2 ([63e52f0d](https://github.com/electron-userland/electron-forge/commit/63e52f0d)) + - upgrade @types/node to 13.7.0 ([7461586a](https://github.com/electron-userland/electron-forge/commit/7461586a)) + - upgrade codecov to 3.6.4 ([3344e4b3](https://github.com/electron-userland/electron-forge/commit/3344e4b3)) + - upgrade eslint-plugin-import to 2.20.1 ([41fee16d](https://github.com/electron-userland/electron-forge/commit/41fee16d)) + - upgrade @babel/{core,cli,preset-env} to 7.8.4 ([b5c25413](https://github.com/electron-userland/electron-forge/commit/b5c25413)) + - bump @types/mocha from 5.2.7 to 7.0.1 ([cde6399b](https://github.com/electron-userland/electron-forge/commit/cde6399b)) + - bump @types/node from 13.5.2 to 13.5.3 ([201f702c](https://github.com/electron-userland/electron-forge/commit/201f702c)) + - bump @types/chai from 4.2.7 to 4.2.8 ([feaf3d52](https://github.com/electron-userland/electron-forge/commit/feaf3d52)) + - bump @types/node from 13.5.1 to 13.5.2 ([95f71f98](https://github.com/electron-userland/electron-forge/commit/95f71f98)) + - upgrade @types/semver to ^7.1.0 ([14b7d884](https://github.com/electron-userland/electron-forge/commit/14b7d884)) + - upgrade @types/node to 13.5.1 ([422f454f](https://github.com/electron-userland/electron-forge/commit/422f454f)) + - bump rimraf from 3.0.0 to 3.0.1 ([d5253af2](https://github.com/electron-userland/electron-forge/commit/d5253af2)) + - upgrade @typescript-eslint packages to 2.18.0 ([9905be6d](https://github.com/electron-userland/electron-forge/commit/9905be6d)) + - bump mocha from 7.0.0 to 7.0.1 (#1436) ([bf8d58d4](https://github.com/electron-userland/electron-forge/commit/bf8d58d4)) + - bump cross-env from 6.0.3 to 7.0.0 ([952f0b5d](https://github.com/electron-userland/electron-forge/commit/952f0b5d)) + - bump typedoc from 0.16.8 to 0.16.9 (#1433) ([ee0d806f](https://github.com/electron-userland/electron-forge/commit/ee0d806f)) + - upgrade fetch-mock to 8.3.2 ([685f0a0a](https://github.com/electron-userland/electron-forge/commit/685f0a0a)) + - upgrade codecov to 3.6.2 ([b65ec57e](https://github.com/electron-userland/electron-forge/commit/b65ec57e)) + - upgrade sinon to 8.1.1 ([6c5b9f2d](https://github.com/electron-userland/electron-forge/commit/6c5b9f2d)) + - upgrade typedoc to ^0.16.8 ([e98a2ee0](https://github.com/electron-userland/electron-forge/commit/e98a2ee0)) + - upgrade @types/webpack to 4.41.3 ([a6c98fd0](https://github.com/electron-userland/electron-forge/commit/a6c98fd0)) + - upgrade typescript-eslint packages to 2.17.0 ([0a3900eb](https://github.com/electron-userland/electron-forge/commit/0a3900eb)) + - bump @types/node from 13.1.7 to 13.1.8 ([0eb14589](https://github.com/electron-userland/electron-forge/commit/0eb14589)) + - bump typescript from 3.7.4 to 3.7.5 (#1423) ([06195e4c](https://github.com/electron-userland/electron-forge/commit/06195e4c)) + - bump sinon from 8.0.4 to 8.1.0 (#1422) ([d9a2197d](https://github.com/electron-userland/electron-forge/commit/d9a2197d)) + - bump typedoc from 0.16.6 to 0.16.7 (#1420) ([bf73f374](https://github.com/electron-userland/electron-forge/commit/bf73f374)) + - upgrade mocha to ^7.0.0 ([cfbd7bf7](https://github.com/electron-userland/electron-forge/commit/cfbd7bf7)) + - upgrade typedoc to ^0.16.6 ([13075b78](https://github.com/electron-userland/electron-forge/commit/13075b78)) + - upgrade typescript to 3.7.4 ([71fd34a2](https://github.com/electron-userland/electron-forge/commit/71fd34a2)) + - upgrade typescript-eslint packages to 2.16.0 ([c98fb2cf](https://github.com/electron-userland/electron-forge/commit/c98fb2cf)) + - upgrade eslint-plugin-import to 2.20.0 ([311c75d3](https://github.com/electron-userland/electron-forge/commit/311c75d3)) + - upgrade nyc to ^15.0.0 & @istanbuljs/nyc-config-typescript to ^1.0.1 ([03f797bb](https://github.com/electron-userland/electron-forge/commit/03f797bb)) + - bump sinon from 7.5.0 to 8.0.4 (#1399) ([23f02cc8](https://github.com/electron-userland/electron-forge/commit/23f02cc8)) + - bump fetch-mock from 8.0.1 to 8.3.1 (#1347) ([219385ce](https://github.com/electron-userland/electron-forge/commit/219385ce)) + - bump ts-node from 8.5.4 to 8.6.2 (#1391) ([1512bb71](https://github.com/electron-userland/electron-forge/commit/1512bb71)) + - bump eslint from 6.7.2 to 6.8.0 (#1398) ([3cd7c28b](https://github.com/electron-userland/electron-forge/commit/3cd7c28b)) + - upgrade babel packages to 7.8.3 ([42269942](https://github.com/electron-userland/electron-forge/commit/42269942)) + - bump @types/node from 12.12.20 to 13.1.5 ([4883037b](https://github.com/electron-userland/electron-forge/commit/4883037b)) + - bump @types/node from 12.12.18 to 12.12.20 ([9b8a2a6a](https://github.com/electron-userland/electron-forge/commit/9b8a2a6a)) +- **dev-deps:** upgrade @types/webpack to 4.41.2 ([062af9c9](https://github.com/electron-userland/electron-forge/commit/062af9c9)) ##### Chores -* upgrade dependabolt to 2.1.1 ([6b6476dc](https://github.com/electron-userland/electron-forge/commit/6b6476dc)) -* bump minimum Node version to 10 (#1405) ([01905382](https://github.com/electron-userland/electron-forge/commit/01905382)) -* ignore nyc coverage folders ([9bf28caf](https://github.com/electron-userland/electron-forge/commit/9bf28caf)) +- upgrade dependabolt to 2.1.1 ([6b6476dc](https://github.com/electron-userland/electron-forge/commit/6b6476dc)) +- bump minimum Node version to 10 (#1405) ([01905382](https://github.com/electron-userland/electron-forge/commit/01905382)) +- ignore nyc coverage folders ([9bf28caf](https://github.com/electron-userland/electron-forge/commit/9bf28caf)) ##### New Features -* **plugin-webpack:** add an option to export webpack compilation stats (#639) ([7275f390](https://github.com/electron-userland/electron-forge/commit/7275f390)) +- **plugin-webpack:** add an option to export webpack compilation stats (#639) ([7275f390](https://github.com/electron-userland/electron-forge/commit/7275f390)) ##### Bug Fixes -* **template:** stop holding a reference to mainWindow (#1468) ([af8be3f0](https://github.com/electron-userland/electron-forge/commit/af8be3f0)) -* **core:** find electron when app is in a yarn workspace (#1450) ([8613386d](https://github.com/electron-userland/electron-forge/commit/8613386d)) -* **template-typescript-webpack:** adjust ts-loader module rule syntax (#1388) ([1df98710](https://github.com/electron-userland/electron-forge/commit/1df98710)) -* **web-multi-logger:** xterm 4 compatibility (#1387) ([9f66342a](https://github.com/electron-userland/electron-forge/commit/9f66342a)) +- **template:** stop holding a reference to mainWindow (#1468) ([af8be3f0](https://github.com/electron-userland/electron-forge/commit/af8be3f0)) +- **core:** find electron when app is in a yarn workspace (#1450) ([8613386d](https://github.com/electron-userland/electron-forge/commit/8613386d)) +- **template-typescript-webpack:** adjust ts-loader module rule syntax (#1388) ([1df98710](https://github.com/electron-userland/electron-forge/commit/1df98710)) +- **web-multi-logger:** xterm 4 compatibility (#1387) ([9f66342a](https://github.com/electron-userland/electron-forge/commit/9f66342a)) ##### Refactors -* migrate templates from using tslint to eslint (#1467) ([37431b3c](https://github.com/electron-userland/electron-forge/commit/37431b3c)) -* consolidate lodash dependencies (#1464) ([8693a1ef](https://github.com/electron-userland/electron-forge/commit/8693a1ef)) -* **plugin-webpack:** - * cast HtmlWebpackPlugin as webpack.Plugin ([2ab4a761](https://github.com/electron-userland/electron-forge/commit/2ab4a761)) - * move webpack config generation code to its own file (#1401) ([a7d93bb3](https://github.com/electron-userland/electron-forge/commit/a7d93bb3)) -* **core:** avoid forEach and increase test coverage for forge-config (#1395) ([4db41a48](https://github.com/electron-userland/electron-forge/commit/4db41a48)) +- migrate templates from using tslint to eslint (#1467) ([37431b3c](https://github.com/electron-userland/electron-forge/commit/37431b3c)) +- consolidate lodash dependencies (#1464) ([8693a1ef](https://github.com/electron-userland/electron-forge/commit/8693a1ef)) +- **plugin-webpack:** + - cast HtmlWebpackPlugin as webpack.Plugin ([2ab4a761](https://github.com/electron-userland/electron-forge/commit/2ab4a761)) + - move webpack config generation code to its own file (#1401) ([a7d93bb3](https://github.com/electron-userland/electron-forge/commit/a7d93bb3)) +- **core:** avoid forEach and increase test coverage for forge-config (#1395) ([4db41a48](https://github.com/electron-userland/electron-forge/commit/4db41a48)) ##### Tests -* **plugin-webpack:** add tests for resolveForgeConfig (#1447) ([2c6e233f](https://github.com/electron-userland/electron-forge/commit/2c6e233f)) +- **plugin-webpack:** add tests for resolveForgeConfig (#1447) ([2c6e233f](https://github.com/electron-userland/electron-forge/commit/2c6e233f)) #### [6.0.0-beta.47](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.47) (2019-12-18) ##### Build System / Dependencies -* **deps-dev:** - * upgrade typescript-eslint modules to 2.12.0 ([2e72ddf4](https://github.com/electron-userland/electron-forge/commit/2e72ddf4)) - * bump typedoc from 0.15.4 to 0.15.5 ([1cf3c47e](https://github.com/electron-userland/electron-forge/commit/1cf3c47e)) - * bump @types/node from 12.12.17 to 12.12.18 ([b939452f](https://github.com/electron-userland/electron-forge/commit/b939452f)) - * upgrade asar to 2.0.3 ([d92434d0](https://github.com/electron-userland/electron-forge/commit/d92434d0)) - * bump nodemon from 2.0.1 to 2.0.2 ([29470fb0](https://github.com/electron-userland/electron-forge/commit/29470fb0)) - * bump @types/webpack-hot-middleware ([006d62fc](https://github.com/electron-userland/electron-forge/commit/006d62fc)) - * bump @types/node from 12.12.16 to 12.12.17 ([4484eec9](https://github.com/electron-userland/electron-forge/commit/4484eec9)) - * bump @types/chai from 4.2.6 to 4.2.7 ([083cbe87](https://github.com/electron-userland/electron-forge/commit/083cbe87)) - * upgrade typedoc to 0.15.4 ([afa5e0a5](https://github.com/electron-userland/electron-forge/commit/afa5e0a5)) - * upgrade some eslint plugins ([a9a80684](https://github.com/electron-userland/electron-forge/commit/a9a80684)) - * upgrade @types/node to 12.12.16 ([4ebf49dd](https://github.com/electron-userland/electron-forge/commit/4ebf49dd)) - * upgrade babel packages to latest 7.7.x version ([5e9667a6](https://github.com/electron-userland/electron-forge/commit/5e9667a6)) - * bump fetch-mock from 8.0.0 to 8.0.1 (#1322) ([bb72f662](https://github.com/electron-userland/electron-forge/commit/bb72f662)) - * bump typescript from 3.7.2 to 3.7.3 ([e7c3cb34](https://github.com/electron-userland/electron-forge/commit/e7c3cb34)) -* fix CI codecov step conditional ([66bd0e2a](https://github.com/electron-userland/electron-forge/commit/66bd0e2a)) -* disable docs CI step until NOW_TOKEN is defined (#1343) ([40f6b990](https://github.com/electron-userland/electron-forge/commit/40f6b990)) -* fix up eslint config for imports + typescript ([d3fc0770](https://github.com/electron-userland/electron-forge/commit/d3fc0770)) -* **deps:** - * upgrade @octokit/rest to 16.35.2 ([f1412e5f](https://github.com/electron-userland/electron-forge/commit/f1412e5f)) - * upgrade @electron/get to 1.7.2 ([603fca9c](https://github.com/electron-userland/electron-forge/commit/603fca9c)) - * upgrade dependencies of webpack ([8870594a](https://github.com/electron-userland/electron-forge/commit/8870594a)) - * upgrade xterm to 4.3.0 ([beefaf1f](https://github.com/electron-userland/electron-forge/commit/beefaf1f)) +- **deps-dev:** + - upgrade typescript-eslint modules to 2.12.0 ([2e72ddf4](https://github.com/electron-userland/electron-forge/commit/2e72ddf4)) + - bump typedoc from 0.15.4 to 0.15.5 ([1cf3c47e](https://github.com/electron-userland/electron-forge/commit/1cf3c47e)) + - bump @types/node from 12.12.17 to 12.12.18 ([b939452f](https://github.com/electron-userland/electron-forge/commit/b939452f)) + - upgrade asar to 2.0.3 ([d92434d0](https://github.com/electron-userland/electron-forge/commit/d92434d0)) + - bump nodemon from 2.0.1 to 2.0.2 ([29470fb0](https://github.com/electron-userland/electron-forge/commit/29470fb0)) + - bump @types/webpack-hot-middleware ([006d62fc](https://github.com/electron-userland/electron-forge/commit/006d62fc)) + - bump @types/node from 12.12.16 to 12.12.17 ([4484eec9](https://github.com/electron-userland/electron-forge/commit/4484eec9)) + - bump @types/chai from 4.2.6 to 4.2.7 ([083cbe87](https://github.com/electron-userland/electron-forge/commit/083cbe87)) + - upgrade typedoc to 0.15.4 ([afa5e0a5](https://github.com/electron-userland/electron-forge/commit/afa5e0a5)) + - upgrade some eslint plugins ([a9a80684](https://github.com/electron-userland/electron-forge/commit/a9a80684)) + - upgrade @types/node to 12.12.16 ([4ebf49dd](https://github.com/electron-userland/electron-forge/commit/4ebf49dd)) + - upgrade babel packages to latest 7.7.x version ([5e9667a6](https://github.com/electron-userland/electron-forge/commit/5e9667a6)) + - bump fetch-mock from 8.0.0 to 8.0.1 (#1322) ([bb72f662](https://github.com/electron-userland/electron-forge/commit/bb72f662)) + - bump typescript from 3.7.2 to 3.7.3 ([e7c3cb34](https://github.com/electron-userland/electron-forge/commit/e7c3cb34)) +- fix CI codecov step conditional ([66bd0e2a](https://github.com/electron-userland/electron-forge/commit/66bd0e2a)) +- disable docs CI step until NOW_TOKEN is defined (#1343) ([40f6b990](https://github.com/electron-userland/electron-forge/commit/40f6b990)) +- fix up eslint config for imports + typescript ([d3fc0770](https://github.com/electron-userland/electron-forge/commit/d3fc0770)) +- **deps:** + - upgrade @octokit/rest to 16.35.2 ([f1412e5f](https://github.com/electron-userland/electron-forge/commit/f1412e5f)) + - upgrade @electron/get to 1.7.2 ([603fca9c](https://github.com/electron-userland/electron-forge/commit/603fca9c)) + - upgrade dependencies of webpack ([8870594a](https://github.com/electron-userland/electron-forge/commit/8870594a)) + - upgrade xterm to 4.3.0 ([beefaf1f](https://github.com/electron-userland/electron-forge/commit/beefaf1f)) ##### Chores -* disable macOS/npm tests due to weirdness with fsevents ([01c417da](https://github.com/electron-userland/electron-forge/commit/01c417da)) -* use the already-installed WiX installer to install the WiX toolset ([371a068a](https://github.com/electron-userland/electron-forge/commit/371a068a)) +- disable macOS/npm tests due to weirdness with fsevents ([01c417da](https://github.com/electron-userland/electron-forge/commit/01c417da)) +- use the already-installed WiX installer to install the WiX toolset ([371a068a](https://github.com/electron-userland/electron-forge/commit/371a068a)) ##### New Features -* add typescript-webpack template (#1344) ([7c8259dd](https://github.com/electron-userland/electron-forge/commit/7c8259dd)) -* add template for typescript (#1319) ([cece7da7](https://github.com/electron-userland/electron-forge/commit/cece7da7)) +- add typescript-webpack template (#1344) ([7c8259dd](https://github.com/electron-userland/electron-forge/commit/7c8259dd)) +- add template for typescript (#1319) ([cece7da7](https://github.com/electron-userland/electron-forge/commit/cece7da7)) ##### Bug Fixes -* **plugin-webpack:** handle package.json files without config keys (#1342) ([4db53f89](https://github.com/electron-userland/electron-forge/commit/4db53f89)) -* **core:** use loadFile instead of loadURL in the default template (#1341) ([51fbf715](https://github.com/electron-userland/electron-forge/commit/51fbf715)) +- **plugin-webpack:** handle package.json files without config keys (#1342) ([4db53f89](https://github.com/electron-userland/electron-forge/commit/4db53f89)) +- **core:** use loadFile instead of loadURL in the default template (#1341) ([51fbf715](https://github.com/electron-userland/electron-forge/commit/51fbf715)) ##### Refactors -* **core:** remove unused config-fn utility file ([40c13d3a](https://github.com/electron-userland/electron-forge/commit/40c13d3a)) -* create base template & test utils (#1351) ([3e5a64c0](https://github.com/electron-userland/electron-forge/commit/3e5a64c0)) -* create the ElectronProcess type (ChildProcess + restarted property) (#1346) ([abbf0311](https://github.com/electron-userland/electron-forge/commit/abbf0311)) -* replace indexOf with includes/startsWith where applicable (#1337) ([a3eae4df](https://github.com/electron-userland/electron-forge/commit/a3eae4df)) -* **template-typescript:** use main script to start app (#1345) ([ef0b2baf](https://github.com/electron-userland/electron-forge/commit/ef0b2baf)) +- **core:** remove unused config-fn utility file ([40c13d3a](https://github.com/electron-userland/electron-forge/commit/40c13d3a)) +- create base template & test utils (#1351) ([3e5a64c0](https://github.com/electron-userland/electron-forge/commit/3e5a64c0)) +- create the ElectronProcess type (ChildProcess + restarted property) (#1346) ([abbf0311](https://github.com/electron-userland/electron-forge/commit/abbf0311)) +- replace indexOf with includes/startsWith where applicable (#1337) ([a3eae4df](https://github.com/electron-userland/electron-forge/commit/a3eae4df)) +- **template-typescript:** use main script to start app (#1345) ([ef0b2baf](https://github.com/electron-userland/electron-forge/commit/ef0b2baf)) ##### Tests -* **template-typescript:** run lint for template & adjust default rules (#1321) ([a83b46cd](https://github.com/electron-userland/electron-forge/commit/a83b46cd)) +- **template-typescript:** run lint for template & adjust default rules (#1321) ([a83b46cd](https://github.com/electron-userland/electron-forge/commit/a83b46cd)) #### [6.0.0-beta.46](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.46) (2019-12-04) ##### Build System / Dependencies -* **deps-dev:** - * bump @types/chai from 4.2.5 to 4.2.6 ([41b38743](https://github.com/electron-userland/electron-forge/commit/41b38743)) - * upgrade @typescript-eslint packages to 2.10.0 ([7b20fcf5](https://github.com/electron-userland/electron-forge/commit/7b20fcf5)) - * bump ts-node from 8.5.2 to 8.5.4 (#1310) ([fa99c527](https://github.com/electron-userland/electron-forge/commit/fa99c527)) - * bump eslint from 6.7.1 to 6.7.2 (#1313) ([a7941b54](https://github.com/electron-userland/electron-forge/commit/a7941b54)) - * upgrade @typescript-eslint packages to 2.9.0 ([93745109](https://github.com/electron-userland/electron-forge/commit/93745109)) - * upgrade @types/node to 12.12.14 ([ca728a44](https://github.com/electron-userland/electron-forge/commit/ca728a44)) - * bump eslint from 6.7.0 to 6.7.1 (#1302) ([a2de8ea5](https://github.com/electron-userland/electron-forge/commit/a2de8ea5)) - * bump @types/node-fetch from 2.5.2 to 2.5.3 ([ee2a403d](https://github.com/electron-userland/electron-forge/commit/ee2a403d)) - * bump @types/express from 4.17.1 to 4.17.2 ([3702255e](https://github.com/electron-userland/electron-forge/commit/3702255e)) - * bump @types/sinon from 7.5.0 to 7.5.1 ([5238748b](https://github.com/electron-userland/electron-forge/commit/5238748b)) - * bump nodemon from 1.19.4 to 2.0.0 ([d0877e0c](https://github.com/electron-userland/electron-forge/commit/d0877e0c)) -* distinguish between coverage for different CI workers ([f4a90077](https://github.com/electron-userland/electron-forge/commit/f4a90077)) -* use v2 of dependabolt (#1160) ([23a629d3](https://github.com/electron-userland/electron-forge/commit/23a629d3)) -* **deps:** - * bump electron-osx-sign from 0.4.14 to 0.4.15 (#1309) ([513e0a5d](https://github.com/electron-userland/electron-forge/commit/513e0a5d)) - * bump form-data from 2.5.1 to 3.0.0 (#1296) ([8405e1ba](https://github.com/electron-userland/electron-forge/commit/8405e1ba)) - * bump which from 2.0.1 to 2.0.2 (#1293) ([b5b2ad56](https://github.com/electron-userland/electron-forge/commit/b5b2ad56)) - * bump mime-types from 2.1.24 to 2.1.25 (#1298) ([622c3b8c](https://github.com/electron-userland/electron-forge/commit/622c3b8c)) - * bump ora from 4.0.2 to 4.0.3 (#1297) ([f93e706e](https://github.com/electron-userland/electron-forge/commit/f93e706e)) - * bump commander from 3.0.2 to 4.0.1 (#1290) ([384cb90b](https://github.com/electron-userland/electron-forge/commit/384cb90b)) +- **deps-dev:** + - bump @types/chai from 4.2.5 to 4.2.6 ([41b38743](https://github.com/electron-userland/electron-forge/commit/41b38743)) + - upgrade @typescript-eslint packages to 2.10.0 ([7b20fcf5](https://github.com/electron-userland/electron-forge/commit/7b20fcf5)) + - bump ts-node from 8.5.2 to 8.5.4 (#1310) ([fa99c527](https://github.com/electron-userland/electron-forge/commit/fa99c527)) + - bump eslint from 6.7.1 to 6.7.2 (#1313) ([a7941b54](https://github.com/electron-userland/electron-forge/commit/a7941b54)) + - upgrade @typescript-eslint packages to 2.9.0 ([93745109](https://github.com/electron-userland/electron-forge/commit/93745109)) + - upgrade @types/node to 12.12.14 ([ca728a44](https://github.com/electron-userland/electron-forge/commit/ca728a44)) + - bump eslint from 6.7.0 to 6.7.1 (#1302) ([a2de8ea5](https://github.com/electron-userland/electron-forge/commit/a2de8ea5)) + - bump @types/node-fetch from 2.5.2 to 2.5.3 ([ee2a403d](https://github.com/electron-userland/electron-forge/commit/ee2a403d)) + - bump @types/express from 4.17.1 to 4.17.2 ([3702255e](https://github.com/electron-userland/electron-forge/commit/3702255e)) + - bump @types/sinon from 7.5.0 to 7.5.1 ([5238748b](https://github.com/electron-userland/electron-forge/commit/5238748b)) + - bump nodemon from 1.19.4 to 2.0.0 ([d0877e0c](https://github.com/electron-userland/electron-forge/commit/d0877e0c)) +- distinguish between coverage for different CI workers ([f4a90077](https://github.com/electron-userland/electron-forge/commit/f4a90077)) +- use v2 of dependabolt (#1160) ([23a629d3](https://github.com/electron-userland/electron-forge/commit/23a629d3)) +- **deps:** + - bump electron-osx-sign from 0.4.14 to 0.4.15 (#1309) ([513e0a5d](https://github.com/electron-userland/electron-forge/commit/513e0a5d)) + - bump form-data from 2.5.1 to 3.0.0 (#1296) ([8405e1ba](https://github.com/electron-userland/electron-forge/commit/8405e1ba)) + - bump which from 2.0.1 to 2.0.2 (#1293) ([b5b2ad56](https://github.com/electron-userland/electron-forge/commit/b5b2ad56)) + - bump mime-types from 2.1.24 to 2.1.25 (#1298) ([622c3b8c](https://github.com/electron-userland/electron-forge/commit/622c3b8c)) + - bump ora from 4.0.2 to 4.0.3 (#1297) ([f93e706e](https://github.com/electron-userland/electron-forge/commit/f93e706e)) + - bump commander from 3.0.2 to 4.0.1 (#1290) ([384cb90b](https://github.com/electron-userland/electron-forge/commit/384cb90b)) ##### Chores -* **cli:** fix lint warning ([704375c3](https://github.com/electron-userland/electron-forge/commit/704375c3)) -* add separate types of issue templates, plus links to the community & website repo ([82560c41](https://github.com/electron-userland/electron-forge/commit/82560c41)) -* **deps:** - * upgrade dependencies ([ed8be390](https://github.com/electron-userland/electron-forge/commit/ed8be390)) - * upgrade electron-packager to 14.1.1 and @electron/get to 1.7.1 ([015cc386](https://github.com/electron-userland/electron-forge/commit/015cc386)) - * upgrade electron-installer-snap to 4.1.0 ([0879c2e2](https://github.com/electron-userland/electron-forge/commit/0879c2e2)) - * upgrade electron-packager, @malept/electron-installer-flatpak, & electron-wix-msi ([e1fbfe6a](https://github.com/electron-userland/electron-forge/commit/e1fbfe6a)) - * bump xterm from 4.1.0 to 4.2.0 (#1267) ([5f11002f](https://github.com/electron-userland/electron-forge/commit/5f11002f)) - * bump @octokit/rest from 16.33.1 to 16.35.0 (#1260) ([35ed2402](https://github.com/electron-userland/electron-forge/commit/35ed2402)) - * bump glob from 7.1.4 to 7.1.6 (#1252) ([8aad8548](https://github.com/electron-userland/electron-forge/commit/8aad8548)) - * bump sudo-prompt from 9.0.0 to 9.1.1 (#1289) ([c3c7fc35](https://github.com/electron-userland/electron-forge/commit/c3c7fc35)) - * [security] bump https-proxy-agent from 2.2.2 to 2.2.4 ([f6617a4c](https://github.com/electron-userland/electron-forge/commit/f6617a4c)) - * upgrade electron-rebuild to 1.8.8 ([915572b1](https://github.com/electron-userland/electron-forge/commit/915572b1)) - * update electron-rebuild dependencies ([32d9abf9](https://github.com/electron-userland/electron-forge/commit/32d9abf9)) - * bump open from 6.4.0 to 7.0.0 (#1242) ([ed112f2b](https://github.com/electron-userland/electron-forge/commit/ed112f2b)) - * bump webpack from 4.41.1 to 4.41.2 (#1241) ([bb7baf65](https://github.com/electron-userland/electron-forge/commit/bb7baf65)) - * bump @octokit/rest from 16.33.0 to 16.33.1 (#1237) ([dfa4a402](https://github.com/electron-userland/electron-forge/commit/dfa4a402)) - * bump webpack from 4.41.0 to 4.41.1 (#1236) ([422f16fa](https://github.com/electron-userland/electron-forge/commit/422f16fa)) - * bump @types/which from 1.3.1 to 1.3.2 ([c5f11d68](https://github.com/electron-userland/electron-forge/commit/c5f11d68)) - * bump @octokit/rest from 16.32.0 to 16.33.0 (#1227) ([007e34f1](https://github.com/electron-userland/electron-forge/commit/007e34f1)) - * bump cross-spawn from 7.0.0 to 7.0.1 (#1221) ([86182a98](https://github.com/electron-userland/electron-forge/commit/86182a98)) - * bump xterm from 4.0.2 to 4.1.0 (#1220) ([c3013b17](https://github.com/electron-userland/electron-forge/commit/c3013b17)) - * bump @octokit/rest from 16.30.2 to 16.32.0 (#1217) ([4691b91d](https://github.com/electron-userland/electron-forge/commit/4691b91d)) - * bump @octokit/rest from 16.30.1 to 16.30.2 (#1211) ([210d280f](https://github.com/electron-userland/electron-forge/commit/210d280f)) - * bump which from 1.3.1 to 2.0.1 (#1212) ([16ca1303](https://github.com/electron-userland/electron-forge/commit/16ca1303)) - * bump ora from 4.0.1 to 4.0.2 (#1203) ([85348b84](https://github.com/electron-userland/electron-forge/commit/85348b84)) - * bump webpack-dev-middleware from 3.7.1 to 3.7.2 (#1201) ([b5983a34](https://github.com/electron-userland/electron-forge/commit/b5983a34)) - * bump electron-osx-sign from 0.4.13 to 0.4.14 (#1194) ([eb67c47d](https://github.com/electron-userland/electron-forge/commit/eb67c47d)) - * bump commander from 3.0.1 to 3.0.2 (#1195) ([f246234a](https://github.com/electron-userland/electron-forge/commit/f246234a)) - * bump xterm from 4.0.1 to 4.0.2 (#1190) ([62dc2c05](https://github.com/electron-userland/electron-forge/commit/62dc2c05)) - * bump webpack from 4.40.2 to 4.41.0 (#1189) ([32bc411b](https://github.com/electron-userland/electron-forge/commit/32bc411b)) - * bump @octokit/rest from 16.30.0 to 16.30.1 (#1187) ([3acbc02c](https://github.com/electron-userland/electron-forge/commit/3acbc02c)) - * bump ora from 4.0.0 to 4.0.1 (#1182) ([6d0612b3](https://github.com/electron-userland/electron-forge/commit/6d0612b3)) - * bump ora from 3.4.0 to 4.0.0 (#1176) ([6199d9ff](https://github.com/electron-userland/electron-forge/commit/6199d9ff)) - * bump @octokit/rest from 16.29.0 to 16.30.0 (#1178) ([7cb85522](https://github.com/electron-userland/electron-forge/commit/7cb85522)) - * bump colors from 1.3.3 to 1.4.0 (#1177) ([c5284d0d](https://github.com/electron-userland/electron-forge/commit/c5284d0d)) - * bump @octokit/rest from 16.28.9 to 16.29.0 (#1169) ([bc60759f](https://github.com/electron-userland/electron-forge/commit/bc60759f)) - * bump webpack from 4.40.0 to 4.40.2 (#1162) ([599bf394](https://github.com/electron-userland/electron-forge/commit/599bf394)) - * bump xterm from 4.0.0 to 4.0.1 (#1156) ([9c8bfa71](https://github.com/electron-userland/electron-forge/commit/9c8bfa71)) - * bump webpack from 4.39.3 to 4.40.0 (#1155) ([5fc546d1](https://github.com/electron-userland/electron-forge/commit/5fc546d1)) - * upgrade electron-installer-debian to 2.0.1 ([6fc64c6d](https://github.com/electron-userland/electron-forge/commit/6fc64c6d)) - * bump xterm from 3.14.5 to 4.0.0 (#1151) ([e0606d0b](https://github.com/electron-userland/electron-forge/commit/e0606d0b)) - * bump electron-packager from 14.0.5 to 14.0.6 (#1148) ([3eece850](https://github.com/electron-userland/electron-forge/commit/3eece850)) - * bump electron-osx-sign from 0.4.12 to 0.4.13 (#1146) ([97fa43f5](https://github.com/electron-userland/electron-forge/commit/97fa43f5)) -* **deps-dev:** - * upgrade babel, typescript, & eslint dependencies ([e030285e](https://github.com/electron-userland/electron-forge/commit/e030285e)) - * upgrade fetch-mock to ^8.0.0 & @types/fetch-mock to 7.3.2 ([84997c3d](https://github.com/electron-userland/electron-forge/commit/84997c3d)) - * bump fetch-mock from 7.5.1 to 7.7.3 (#1268) ([38c32ca6](https://github.com/electron-userland/electron-forge/commit/38c32ca6)) - * bump eslint from 6.5.1 to 6.6.0 (#1265) ([ab6d9fa5](https://github.com/electron-userland/electron-forge/commit/ab6d9fa5)) - * bump @types/webpack from 4.39.4 to 4.41.0 (#1254) ([ea3d906d](https://github.com/electron-userland/electron-forge/commit/ea3d906d)) - * bump @types/chai from 4.2.3 to 4.2.5 ([756a6843](https://github.com/electron-userland/electron-forge/commit/756a6843)) - * bump @types/semver from 6.0.2 to 6.2.0 ([2553424e](https://github.com/electron-userland/electron-forge/commit/2553424e)) - * bump @types/node from 12.11.1 to 12.12.11 ([18881913](https://github.com/electron-userland/electron-forge/commit/18881913)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.5.0 ([bed3051f](https://github.com/electron-userland/electron-forge/commit/bed3051f)) - * bump mocha from 6.2.1 to 6.2.2 (#1248) ([f88b4b3e](https://github.com/electron-userland/electron-forge/commit/f88b4b3e)) - * bump @types/webpack from 4.39.3 to 4.39.4 ([9cc38ce7](https://github.com/electron-userland/electron-forge/commit/9cc38ce7)) - * bump @types/node from 12.7.12 to 12.11.1 ([adddb7ba](https://github.com/electron-userland/electron-forge/commit/adddb7ba)) - * bump @types/fs-extra from 8.0.0 to 8.0.1 (#1246) ([6c66c04b](https://github.com/electron-userland/electron-forge/commit/6c66c04b)) - * bump nodemon from 1.19.3 to 1.19.4 (#1243) ([4e5084a8](https://github.com/electron-userland/electron-forge/commit/4e5084a8)) - * bump eslint-plugin-mocha from 6.1.1 to 6.2.0 ([17198e1a](https://github.com/electron-userland/electron-forge/commit/17198e1a)) - * upgrade @typescript-eslint/{parser,eslint-plugin} to 2.4.0 ([c3628e51](https://github.com/electron-userland/electron-forge/commit/c3628e51)) - * bump @babel/cli from 7.6.3 to 7.6.4 ([844c7691](https://github.com/electron-userland/electron-forge/commit/844c7691)) - * bump @babel/core from 7.6.3 to 7.6.4 (#1234) ([e93b18b9](https://github.com/electron-userland/electron-forge/commit/e93b18b9)) - * bump @types/webpack from 4.39.2 to 4.39.3 ([139035e0](https://github.com/electron-userland/electron-forge/commit/139035e0)) - * bump @types/node from 12.7.9 to 12.7.12 (#1229) ([79331447](https://github.com/electron-userland/electron-forge/commit/79331447)) - * bump typescript from 3.6.3 to 3.6.4 ([e919abc7](https://github.com/electron-userland/electron-forge/commit/e919abc7)) - * bump @babel/core from 7.6.2 to 7.6.3 ([b2b8c6de](https://github.com/electron-userland/electron-forge/commit/b2b8c6de)) - * bump @babel/cli from 7.6.2 to 7.6.3 ([f0e01484](https://github.com/electron-userland/electron-forge/commit/f0e01484)) - * bump @babel/preset-env from 7.6.2 to 7.6.3 ([8b8a6185](https://github.com/electron-userland/electron-forge/commit/8b8a6185)) - * bump @typescript-eslint/eslint-plugin ([1389de91](https://github.com/electron-userland/electron-forge/commit/1389de91)) - * bump @typescript-eslint/parser from 2.3.2 to 2.3.3 ([8de1e5bd](https://github.com/electron-userland/electron-forge/commit/8de1e5bd)) - * bump @types/cross-spawn from 6.0.0 to 6.0.1 (#1218) ([80c5ad7e](https://github.com/electron-userland/electron-forge/commit/80c5ad7e)) - * bump fetch-mock from 7.4.0 to 7.5.1 (#1216) ([9d0c3dca](https://github.com/electron-userland/electron-forge/commit/9d0c3dca)) - * bump cross-env from 6.0.2 to 6.0.3 ([31cdd4b9](https://github.com/electron-userland/electron-forge/commit/31cdd4b9)) - * bump @typescript-eslint/eslint-plugin ([27a28ee4](https://github.com/electron-userland/electron-forge/commit/27a28ee4)) - * bump cross-env from 6.0.0 to 6.0.2 ([47490fa1](https://github.com/electron-userland/electron-forge/commit/47490fa1)) - * bump @types/sinon from 7.0.13 to 7.5.0 ([1bd50aa2](https://github.com/electron-userland/electron-forge/commit/1bd50aa2)) - * bump @types/node from 12.7.8 to 12.7.9 ([84140c00](https://github.com/electron-userland/electron-forge/commit/84140c00)) - * bump eslint from 6.5.0 to 6.5.1 ([0a106a75](https://github.com/electron-userland/electron-forge/commit/0a106a75)) - * bump @typescript-eslint/parser from 2.3.1 to 2.3.2 ([6246416a](https://github.com/electron-userland/electron-forge/commit/6246416a)) - * bump nodemon from 1.19.2 to 1.19.3 ([c4ee7381](https://github.com/electron-userland/electron-forge/commit/c4ee7381)) - * bump fetch-mock from 7.3.9 to 7.4.0 (#1202) ([0e3baafc](https://github.com/electron-userland/electron-forge/commit/0e3baafc)) - * bump @types/webpack from 4.39.1 to 4.39.2 ([f7b98791](https://github.com/electron-userland/electron-forge/commit/f7b98791)) - * bump mocha from 6.2.0 to 6.2.1 (#1198) ([49cec989](https://github.com/electron-userland/electron-forge/commit/49cec989)) - * bump eslint from 6.4.0 to 6.5.0 (#1197) ([5d11be6e](https://github.com/electron-userland/electron-forge/commit/5d11be6e)) - * bump @types/node from 12.7.7 to 12.7.8 ([b8ae8443](https://github.com/electron-userland/electron-forge/commit/b8ae8443)) - * bump @types/node from 12.7.5 to 12.7.7 ([6059c7df](https://github.com/electron-userland/electron-forge/commit/6059c7df)) - * bump @types/node-fetch from 2.5.1 to 2.5.2 ([493ff084](https://github.com/electron-userland/electron-forge/commit/493ff084)) - * bump sinon from 7.4.2 to 7.5.0 (#1185) ([d38c417b](https://github.com/electron-userland/electron-forge/commit/d38c417b)) - * upgrade @babel/* to 7.6.2 and @typescript-eslint/* to 2.3.1 ([fde7a4eb](https://github.com/electron-userland/electron-forge/commit/fde7a4eb)) - * bump codecov from 3.6.0 to 3.6.1 ([adb89354](https://github.com/electron-userland/electron-forge/commit/adb89354)) - * bump codecov from 3.5.0 to 3.6.0 ([f72f7483](https://github.com/electron-userland/electron-forge/commit/f72f7483)) - * bump @types/node-fetch from 2.5.0 to 2.5.1 ([f8a5715a](https://github.com/electron-userland/electron-forge/commit/f8a5715a)) - * bump cross-env from 5.2.1 to 6.0.0 ([6b2b71ab](https://github.com/electron-userland/electron-forge/commit/6b2b71ab)) - * bump @types/chai from 4.2.2 to 4.2.3 ([4d028f73](https://github.com/electron-userland/electron-forge/commit/4d028f73)) - * bump @typescript-eslint/eslint-plugin ([c64f043d](https://github.com/electron-userland/electron-forge/commit/c64f043d)) - * bump @typescript-eslint/parser from 2.2.0 to 2.3.0 ([3f4f62c3](https://github.com/electron-userland/electron-forge/commit/3f4f62c3)) - * bump ts-node from 8.3.0 to 8.4.1 (#1161) ([26920134](https://github.com/electron-userland/electron-forge/commit/26920134)) - * bump eslint from 6.3.0 to 6.4.0 (#1163) ([7d370e0f](https://github.com/electron-userland/electron-forge/commit/7d370e0f)) - * bump eslint-plugin-mocha from 6.1.0 to 6.1.1 ([c6895d15](https://github.com/electron-userland/electron-forge/commit/c6895d15)) - * bump @types/node from 12.7.4 to 12.7.5 ([14e0d393](https://github.com/electron-userland/electron-forge/commit/14e0d393)) - * bump typescript from 3.6.2 to 3.6.3 ([a18c5004](https://github.com/electron-userland/electron-forge/commit/a18c5004)) - * bump @babel/preset-typescript from 7.3.3 to 7.6.0 ([2ad170cd](https://github.com/electron-userland/electron-forge/commit/2ad170cd)) - * bump @typescript-eslint/parser from 2.1.0 to 2.2.0 ([98098515](https://github.com/electron-userland/electron-forge/commit/98098515)) - * bump @typescript-eslint/eslint-plugin ([05a72772](https://github.com/electron-userland/electron-forge/commit/05a72772)) - * bump @types/chai from 4.2.1 to 4.2.2 ([13506d6a](https://github.com/electron-userland/electron-forge/commit/13506d6a)) - * bump @babel/register from 7.5.5 to 7.6.0 ([acd2fbd6](https://github.com/electron-userland/electron-forge/commit/acd2fbd6)) - * bump @babel/preset-env from 7.5.5 to 7.6.0 ([af9cbee6](https://github.com/electron-userland/electron-forge/commit/af9cbee6)) - * bump @babel/core from 7.5.5 to 7.6.0 ([6229b0b1](https://github.com/electron-userland/electron-forge/commit/6229b0b1)) - * bump @babel/cli from 7.5.5 to 7.6.0 (#1141) ([2cd8c1b7](https://github.com/electron-userland/electron-forge/commit/2cd8c1b7)) - * bump @types/semver from 6.0.1 to 6.0.2 (#1139) ([d8284570](https://github.com/electron-userland/electron-forge/commit/d8284570)) - -##### Bug Fixes - -* **maker-squirrel:** handle versions with prerelease information ([d4e402d3](https://github.com/electron-userland/electron-forge/commit/d4e402d3)) -* **maker-wix:** handle versions with prerelease information ([be4b29f0](https://github.com/electron-userland/electron-forge/commit/be4b29f0)) -* **cli:** - * only run unknown command code when it's actually unknown ([771b0b04](https://github.com/electron-userland/electron-forge/commit/771b0b04)) - * warn on unknown commands (#1304) ([a0c15d94](https://github.com/electron-userland/electron-forge/commit/a0c15d94)) -* **async-ora:** print the result of the timing function, not the function code ([1bcf036f](https://github.com/electron-userland/electron-forge/commit/1bcf036f)) -* **maker-base:** throw a better error when external binaries are missing (#1306) ([c8baa1e5](https://github.com/electron-userland/electron-forge/commit/c8baa1e5)) -* bump @electron/get from 1.5.0 to 1.7.0 & always enable proxy support in CLI (#1264) ([d65f33e7](https://github.com/electron-userland/electron-forge/commit/d65f33e7)) +- **cli:** fix lint warning ([704375c3](https://github.com/electron-userland/electron-forge/commit/704375c3)) +- add separate types of issue templates, plus links to the community & website repo ([82560c41](https://github.com/electron-userland/electron-forge/commit/82560c41)) +- **deps:** + - upgrade dependencies ([ed8be390](https://github.com/electron-userland/electron-forge/commit/ed8be390)) + - upgrade electron-packager to 14.1.1 and @electron/get to 1.7.1 ([015cc386](https://github.com/electron-userland/electron-forge/commit/015cc386)) + - upgrade electron-installer-snap to 4.1.0 ([0879c2e2](https://github.com/electron-userland/electron-forge/commit/0879c2e2)) + - upgrade electron-packager, @malept/electron-installer-flatpak, & electron-wix-msi ([e1fbfe6a](https://github.com/electron-userland/electron-forge/commit/e1fbfe6a)) + - bump xterm from 4.1.0 to 4.2.0 (#1267) ([5f11002f](https://github.com/electron-userland/electron-forge/commit/5f11002f)) + - bump @octokit/rest from 16.33.1 to 16.35.0 (#1260) ([35ed2402](https://github.com/electron-userland/electron-forge/commit/35ed2402)) + - bump glob from 7.1.4 to 7.1.6 (#1252) ([8aad8548](https://github.com/electron-userland/electron-forge/commit/8aad8548)) + - bump sudo-prompt from 9.0.0 to 9.1.1 (#1289) ([c3c7fc35](https://github.com/electron-userland/electron-forge/commit/c3c7fc35)) + - [security] bump https-proxy-agent from 2.2.2 to 2.2.4 ([f6617a4c](https://github.com/electron-userland/electron-forge/commit/f6617a4c)) + - upgrade electron-rebuild to 1.8.8 ([915572b1](https://github.com/electron-userland/electron-forge/commit/915572b1)) + - update electron-rebuild dependencies ([32d9abf9](https://github.com/electron-userland/electron-forge/commit/32d9abf9)) + - bump open from 6.4.0 to 7.0.0 (#1242) ([ed112f2b](https://github.com/electron-userland/electron-forge/commit/ed112f2b)) + - bump webpack from 4.41.1 to 4.41.2 (#1241) ([bb7baf65](https://github.com/electron-userland/electron-forge/commit/bb7baf65)) + - bump @octokit/rest from 16.33.0 to 16.33.1 (#1237) ([dfa4a402](https://github.com/electron-userland/electron-forge/commit/dfa4a402)) + - bump webpack from 4.41.0 to 4.41.1 (#1236) ([422f16fa](https://github.com/electron-userland/electron-forge/commit/422f16fa)) + - bump @types/which from 1.3.1 to 1.3.2 ([c5f11d68](https://github.com/electron-userland/electron-forge/commit/c5f11d68)) + - bump @octokit/rest from 16.32.0 to 16.33.0 (#1227) ([007e34f1](https://github.com/electron-userland/electron-forge/commit/007e34f1)) + - bump cross-spawn from 7.0.0 to 7.0.1 (#1221) ([86182a98](https://github.com/electron-userland/electron-forge/commit/86182a98)) + - bump xterm from 4.0.2 to 4.1.0 (#1220) ([c3013b17](https://github.com/electron-userland/electron-forge/commit/c3013b17)) + - bump @octokit/rest from 16.30.2 to 16.32.0 (#1217) ([4691b91d](https://github.com/electron-userland/electron-forge/commit/4691b91d)) + - bump @octokit/rest from 16.30.1 to 16.30.2 (#1211) ([210d280f](https://github.com/electron-userland/electron-forge/commit/210d280f)) + - bump which from 1.3.1 to 2.0.1 (#1212) ([16ca1303](https://github.com/electron-userland/electron-forge/commit/16ca1303)) + - bump ora from 4.0.1 to 4.0.2 (#1203) ([85348b84](https://github.com/electron-userland/electron-forge/commit/85348b84)) + - bump webpack-dev-middleware from 3.7.1 to 3.7.2 (#1201) ([b5983a34](https://github.com/electron-userland/electron-forge/commit/b5983a34)) + - bump electron-osx-sign from 0.4.13 to 0.4.14 (#1194) ([eb67c47d](https://github.com/electron-userland/electron-forge/commit/eb67c47d)) + - bump commander from 3.0.1 to 3.0.2 (#1195) ([f246234a](https://github.com/electron-userland/electron-forge/commit/f246234a)) + - bump xterm from 4.0.1 to 4.0.2 (#1190) ([62dc2c05](https://github.com/electron-userland/electron-forge/commit/62dc2c05)) + - bump webpack from 4.40.2 to 4.41.0 (#1189) ([32bc411b](https://github.com/electron-userland/electron-forge/commit/32bc411b)) + - bump @octokit/rest from 16.30.0 to 16.30.1 (#1187) ([3acbc02c](https://github.com/electron-userland/electron-forge/commit/3acbc02c)) + - bump ora from 4.0.0 to 4.0.1 (#1182) ([6d0612b3](https://github.com/electron-userland/electron-forge/commit/6d0612b3)) + - bump ora from 3.4.0 to 4.0.0 (#1176) ([6199d9ff](https://github.com/electron-userland/electron-forge/commit/6199d9ff)) + - bump @octokit/rest from 16.29.0 to 16.30.0 (#1178) ([7cb85522](https://github.com/electron-userland/electron-forge/commit/7cb85522)) + - bump colors from 1.3.3 to 1.4.0 (#1177) ([c5284d0d](https://github.com/electron-userland/electron-forge/commit/c5284d0d)) + - bump @octokit/rest from 16.28.9 to 16.29.0 (#1169) ([bc60759f](https://github.com/electron-userland/electron-forge/commit/bc60759f)) + - bump webpack from 4.40.0 to 4.40.2 (#1162) ([599bf394](https://github.com/electron-userland/electron-forge/commit/599bf394)) + - bump xterm from 4.0.0 to 4.0.1 (#1156) ([9c8bfa71](https://github.com/electron-userland/electron-forge/commit/9c8bfa71)) + - bump webpack from 4.39.3 to 4.40.0 (#1155) ([5fc546d1](https://github.com/electron-userland/electron-forge/commit/5fc546d1)) + - upgrade electron-installer-debian to 2.0.1 ([6fc64c6d](https://github.com/electron-userland/electron-forge/commit/6fc64c6d)) + - bump xterm from 3.14.5 to 4.0.0 (#1151) ([e0606d0b](https://github.com/electron-userland/electron-forge/commit/e0606d0b)) + - bump electron-packager from 14.0.5 to 14.0.6 (#1148) ([3eece850](https://github.com/electron-userland/electron-forge/commit/3eece850)) + - bump electron-osx-sign from 0.4.12 to 0.4.13 (#1146) ([97fa43f5](https://github.com/electron-userland/electron-forge/commit/97fa43f5)) +- **deps-dev:** + - upgrade babel, typescript, & eslint dependencies ([e030285e](https://github.com/electron-userland/electron-forge/commit/e030285e)) + - upgrade fetch-mock to ^8.0.0 & @types/fetch-mock to 7.3.2 ([84997c3d](https://github.com/electron-userland/electron-forge/commit/84997c3d)) + - bump fetch-mock from 7.5.1 to 7.7.3 (#1268) ([38c32ca6](https://github.com/electron-userland/electron-forge/commit/38c32ca6)) + - bump eslint from 6.5.1 to 6.6.0 (#1265) ([ab6d9fa5](https://github.com/electron-userland/electron-forge/commit/ab6d9fa5)) + - bump @types/webpack from 4.39.4 to 4.41.0 (#1254) ([ea3d906d](https://github.com/electron-userland/electron-forge/commit/ea3d906d)) + - bump @types/chai from 4.2.3 to 4.2.5 ([756a6843](https://github.com/electron-userland/electron-forge/commit/756a6843)) + - bump @types/semver from 6.0.2 to 6.2.0 ([2553424e](https://github.com/electron-userland/electron-forge/commit/2553424e)) + - bump @types/node from 12.11.1 to 12.12.11 ([18881913](https://github.com/electron-userland/electron-forge/commit/18881913)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.5.0 ([bed3051f](https://github.com/electron-userland/electron-forge/commit/bed3051f)) + - bump mocha from 6.2.1 to 6.2.2 (#1248) ([f88b4b3e](https://github.com/electron-userland/electron-forge/commit/f88b4b3e)) + - bump @types/webpack from 4.39.3 to 4.39.4 ([9cc38ce7](https://github.com/electron-userland/electron-forge/commit/9cc38ce7)) + - bump @types/node from 12.7.12 to 12.11.1 ([adddb7ba](https://github.com/electron-userland/electron-forge/commit/adddb7ba)) + - bump @types/fs-extra from 8.0.0 to 8.0.1 (#1246) ([6c66c04b](https://github.com/electron-userland/electron-forge/commit/6c66c04b)) + - bump nodemon from 1.19.3 to 1.19.4 (#1243) ([4e5084a8](https://github.com/electron-userland/electron-forge/commit/4e5084a8)) + - bump eslint-plugin-mocha from 6.1.1 to 6.2.0 ([17198e1a](https://github.com/electron-userland/electron-forge/commit/17198e1a)) + - upgrade @typescript-eslint/{parser,eslint-plugin} to 2.4.0 ([c3628e51](https://github.com/electron-userland/electron-forge/commit/c3628e51)) + - bump @babel/cli from 7.6.3 to 7.6.4 ([844c7691](https://github.com/electron-userland/electron-forge/commit/844c7691)) + - bump @babel/core from 7.6.3 to 7.6.4 (#1234) ([e93b18b9](https://github.com/electron-userland/electron-forge/commit/e93b18b9)) + - bump @types/webpack from 4.39.2 to 4.39.3 ([139035e0](https://github.com/electron-userland/electron-forge/commit/139035e0)) + - bump @types/node from 12.7.9 to 12.7.12 (#1229) ([79331447](https://github.com/electron-userland/electron-forge/commit/79331447)) + - bump typescript from 3.6.3 to 3.6.4 ([e919abc7](https://github.com/electron-userland/electron-forge/commit/e919abc7)) + - bump @babel/core from 7.6.2 to 7.6.3 ([b2b8c6de](https://github.com/electron-userland/electron-forge/commit/b2b8c6de)) + - bump @babel/cli from 7.6.2 to 7.6.3 ([f0e01484](https://github.com/electron-userland/electron-forge/commit/f0e01484)) + - bump @babel/preset-env from 7.6.2 to 7.6.3 ([8b8a6185](https://github.com/electron-userland/electron-forge/commit/8b8a6185)) + - bump @typescript-eslint/eslint-plugin ([1389de91](https://github.com/electron-userland/electron-forge/commit/1389de91)) + - bump @typescript-eslint/parser from 2.3.2 to 2.3.3 ([8de1e5bd](https://github.com/electron-userland/electron-forge/commit/8de1e5bd)) + - bump @types/cross-spawn from 6.0.0 to 6.0.1 (#1218) ([80c5ad7e](https://github.com/electron-userland/electron-forge/commit/80c5ad7e)) + - bump fetch-mock from 7.4.0 to 7.5.1 (#1216) ([9d0c3dca](https://github.com/electron-userland/electron-forge/commit/9d0c3dca)) + - bump cross-env from 6.0.2 to 6.0.3 ([31cdd4b9](https://github.com/electron-userland/electron-forge/commit/31cdd4b9)) + - bump @typescript-eslint/eslint-plugin ([27a28ee4](https://github.com/electron-userland/electron-forge/commit/27a28ee4)) + - bump cross-env from 6.0.0 to 6.0.2 ([47490fa1](https://github.com/electron-userland/electron-forge/commit/47490fa1)) + - bump @types/sinon from 7.0.13 to 7.5.0 ([1bd50aa2](https://github.com/electron-userland/electron-forge/commit/1bd50aa2)) + - bump @types/node from 12.7.8 to 12.7.9 ([84140c00](https://github.com/electron-userland/electron-forge/commit/84140c00)) + - bump eslint from 6.5.0 to 6.5.1 ([0a106a75](https://github.com/electron-userland/electron-forge/commit/0a106a75)) + - bump @typescript-eslint/parser from 2.3.1 to 2.3.2 ([6246416a](https://github.com/electron-userland/electron-forge/commit/6246416a)) + - bump nodemon from 1.19.2 to 1.19.3 ([c4ee7381](https://github.com/electron-userland/electron-forge/commit/c4ee7381)) + - bump fetch-mock from 7.3.9 to 7.4.0 (#1202) ([0e3baafc](https://github.com/electron-userland/electron-forge/commit/0e3baafc)) + - bump @types/webpack from 4.39.1 to 4.39.2 ([f7b98791](https://github.com/electron-userland/electron-forge/commit/f7b98791)) + - bump mocha from 6.2.0 to 6.2.1 (#1198) ([49cec989](https://github.com/electron-userland/electron-forge/commit/49cec989)) + - bump eslint from 6.4.0 to 6.5.0 (#1197) ([5d11be6e](https://github.com/electron-userland/electron-forge/commit/5d11be6e)) + - bump @types/node from 12.7.7 to 12.7.8 ([b8ae8443](https://github.com/electron-userland/electron-forge/commit/b8ae8443)) + - bump @types/node from 12.7.5 to 12.7.7 ([6059c7df](https://github.com/electron-userland/electron-forge/commit/6059c7df)) + - bump @types/node-fetch from 2.5.1 to 2.5.2 ([493ff084](https://github.com/electron-userland/electron-forge/commit/493ff084)) + - bump sinon from 7.4.2 to 7.5.0 (#1185) ([d38c417b](https://github.com/electron-userland/electron-forge/commit/d38c417b)) + - upgrade @babel/_ to 7.6.2 and @typescript-eslint/_ to 2.3.1 ([fde7a4eb](https://github.com/electron-userland/electron-forge/commit/fde7a4eb)) + - bump codecov from 3.6.0 to 3.6.1 ([adb89354](https://github.com/electron-userland/electron-forge/commit/adb89354)) + - bump codecov from 3.5.0 to 3.6.0 ([f72f7483](https://github.com/electron-userland/electron-forge/commit/f72f7483)) + - bump @types/node-fetch from 2.5.0 to 2.5.1 ([f8a5715a](https://github.com/electron-userland/electron-forge/commit/f8a5715a)) + - bump cross-env from 5.2.1 to 6.0.0 ([6b2b71ab](https://github.com/electron-userland/electron-forge/commit/6b2b71ab)) + - bump @types/chai from 4.2.2 to 4.2.3 ([4d028f73](https://github.com/electron-userland/electron-forge/commit/4d028f73)) + - bump @typescript-eslint/eslint-plugin ([c64f043d](https://github.com/electron-userland/electron-forge/commit/c64f043d)) + - bump @typescript-eslint/parser from 2.2.0 to 2.3.0 ([3f4f62c3](https://github.com/electron-userland/electron-forge/commit/3f4f62c3)) + - bump ts-node from 8.3.0 to 8.4.1 (#1161) ([26920134](https://github.com/electron-userland/electron-forge/commit/26920134)) + - bump eslint from 6.3.0 to 6.4.0 (#1163) ([7d370e0f](https://github.com/electron-userland/electron-forge/commit/7d370e0f)) + - bump eslint-plugin-mocha from 6.1.0 to 6.1.1 ([c6895d15](https://github.com/electron-userland/electron-forge/commit/c6895d15)) + - bump @types/node from 12.7.4 to 12.7.5 ([14e0d393](https://github.com/electron-userland/electron-forge/commit/14e0d393)) + - bump typescript from 3.6.2 to 3.6.3 ([a18c5004](https://github.com/electron-userland/electron-forge/commit/a18c5004)) + - bump @babel/preset-typescript from 7.3.3 to 7.6.0 ([2ad170cd](https://github.com/electron-userland/electron-forge/commit/2ad170cd)) + - bump @typescript-eslint/parser from 2.1.0 to 2.2.0 ([98098515](https://github.com/electron-userland/electron-forge/commit/98098515)) + - bump @typescript-eslint/eslint-plugin ([05a72772](https://github.com/electron-userland/electron-forge/commit/05a72772)) + - bump @types/chai from 4.2.1 to 4.2.2 ([13506d6a](https://github.com/electron-userland/electron-forge/commit/13506d6a)) + - bump @babel/register from 7.5.5 to 7.6.0 ([acd2fbd6](https://github.com/electron-userland/electron-forge/commit/acd2fbd6)) + - bump @babel/preset-env from 7.5.5 to 7.6.0 ([af9cbee6](https://github.com/electron-userland/electron-forge/commit/af9cbee6)) + - bump @babel/core from 7.5.5 to 7.6.0 ([6229b0b1](https://github.com/electron-userland/electron-forge/commit/6229b0b1)) + - bump @babel/cli from 7.5.5 to 7.6.0 (#1141) ([2cd8c1b7](https://github.com/electron-userland/electron-forge/commit/2cd8c1b7)) + - bump @types/semver from 6.0.1 to 6.0.2 (#1139) ([d8284570](https://github.com/electron-userland/electron-forge/commit/d8284570)) + +##### Bug Fixes + +- **maker-squirrel:** handle versions with prerelease information ([d4e402d3](https://github.com/electron-userland/electron-forge/commit/d4e402d3)) +- **maker-wix:** handle versions with prerelease information ([be4b29f0](https://github.com/electron-userland/electron-forge/commit/be4b29f0)) +- **cli:** + - only run unknown command code when it's actually unknown ([771b0b04](https://github.com/electron-userland/electron-forge/commit/771b0b04)) + - warn on unknown commands (#1304) ([a0c15d94](https://github.com/electron-userland/electron-forge/commit/a0c15d94)) +- **async-ora:** print the result of the timing function, not the function code ([1bcf036f](https://github.com/electron-userland/electron-forge/commit/1bcf036f)) +- **maker-base:** throw a better error when external binaries are missing (#1306) ([c8baa1e5](https://github.com/electron-userland/electron-forge/commit/c8baa1e5)) +- bump @electron/get from 1.5.0 to 1.7.0 & always enable proxy support in CLI (#1264) ([d65f33e7](https://github.com/electron-userland/electron-forge/commit/d65f33e7)) ##### Refactors -* **maker-base:** extract Windows-specific version normalization to a method on the maker base class ([c3e2361e](https://github.com/electron-userland/electron-forge/commit/c3e2361e)) -* **publisher-s3:** replace the s3 package with just aws-sdk (#1318) ([bbb0f901](https://github.com/electron-userland/electron-forge/commit/bbb0f901)) +- **maker-base:** extract Windows-specific version normalization to a method on the maker base class ([c3e2361e](https://github.com/electron-userland/electron-forge/commit/c3e2361e)) +- **publisher-s3:** replace the s3 package with just aws-sdk (#1318) ([bbb0f901](https://github.com/electron-userland/electron-forge/commit/bbb0f901)) ##### Tests -* **core:** - * set makeVersionWinStoreCompatible for appx integration testing ([0aafbf61](https://github.com/electron-userland/electron-forge/commit/0aafbf61)) - * set the make version to a beta for more comprehensive testing ([33a68b09](https://github.com/electron-userland/electron-forge/commit/33a68b09)) - * use ref-napi instead of ref ([105efef2](https://github.com/electron-userland/electron-forge/commit/105efef2)) - * revert "use a more recent Electron version in rebuild tests" ([649f0e68](https://github.com/electron-userland/electron-forge/commit/649f0e68)) - * use a more recent Electron version in rebuild tests ([976133aa](https://github.com/electron-userland/electron-forge/commit/976133aa)) -* remove rebuild tests that duplicate electron-rebuild (#1303) ([92817f4d](https://github.com/electron-userland/electron-forge/commit/92817f4d)) -* switch to GitHub Actions CI (#1299) ([d8226038](https://github.com/electron-userland/electron-forge/commit/d8226038)) -* **rebuild:** sync native modules with the ones used in the electron-rebuild testsuite ([bc0049ff](https://github.com/electron-userland/electron-forge/commit/bc0049ff)) +- **core:** + - set makeVersionWinStoreCompatible for appx integration testing ([0aafbf61](https://github.com/electron-userland/electron-forge/commit/0aafbf61)) + - set the make version to a beta for more comprehensive testing ([33a68b09](https://github.com/electron-userland/electron-forge/commit/33a68b09)) + - use ref-napi instead of ref ([105efef2](https://github.com/electron-userland/electron-forge/commit/105efef2)) + - revert "use a more recent Electron version in rebuild tests" ([649f0e68](https://github.com/electron-userland/electron-forge/commit/649f0e68)) + - use a more recent Electron version in rebuild tests ([976133aa](https://github.com/electron-userland/electron-forge/commit/976133aa)) +- remove rebuild tests that duplicate electron-rebuild (#1303) ([92817f4d](https://github.com/electron-userland/electron-forge/commit/92817f4d)) +- switch to GitHub Actions CI (#1299) ([d8226038](https://github.com/electron-userland/electron-forge/commit/d8226038)) +- **rebuild:** sync native modules with the ones used in the electron-rebuild testsuite ([bc0049ff](https://github.com/electron-userland/electron-forge/commit/bc0049ff)) #### [6.0.0-beta.45](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.45) (2019-09-05) ##### Build System / Dependencies -* pin now to a specific version to avoid bug ([90b79c25](https://github.com/electron-userland/electron-forge/commit/90b79c25)) +- pin now to a specific version to avoid bug ([90b79c25](https://github.com/electron-userland/electron-forge/commit/90b79c25)) ##### Chores -* **deps:** - * bump webpack-dev-middleware from 3.7.0 to 3.7.1 (#1137) ([c9597b31](https://github.com/electron-userland/electron-forge/commit/c9597b31)) - * bump @octokit/rest from 16.28.8 to 16.28.9 (#1135) ([faac3fc4](https://github.com/electron-userland/electron-forge/commit/faac3fc4)) - * bump cross-spawn from 6.0.5 to 7.0.0 (#1133) ([2a44e3da](https://github.com/electron-userland/electron-forge/commit/2a44e3da)) - * bump @octokit/rest from 16.28.7 to 16.28.8 (#1127) ([15edf18a](https://github.com/electron-userland/electron-forge/commit/15edf18a)) - * bump commander from 3.0.0 to 3.0.1 (#1126) ([aa8ae615](https://github.com/electron-userland/electron-forge/commit/aa8ae615)) - * bump form-data from 2.5.0 to 2.5.1 (#1121) ([402a1ae6](https://github.com/electron-userland/electron-forge/commit/402a1ae6)) - * bump electron-packager from 14.0.4 to 14.0.5 (#1118) ([d4a743a2](https://github.com/electron-userland/electron-forge/commit/d4a743a2)) - * bump webpack-merge from 4.2.1 to 4.2.2 (#1116) ([9bbc5204](https://github.com/electron-userland/electron-forge/commit/9bbc5204)) - * bump webpack from 4.39.2 to 4.39.3 (#1115) ([43640225](https://github.com/electron-userland/electron-forge/commit/43640225)) - * upgrade @electron/get to 1.5.0 ([04021bb3](https://github.com/electron-userland/electron-forge/commit/04021bb3)) - * [security] bump eslint-utils from 1.4.0 to 1.4.2 ([9ee48eef](https://github.com/electron-userland/electron-forge/commit/9ee48eef)) - * bump inquirer from 6.5.1 to 7.0.0 (#1106) ([2466c5d6](https://github.com/electron-userland/electron-forge/commit/2466c5d6)) - * bump electron-rebuild from 1.8.5 to 1.8.6 (#1097) ([17eedddb](https://github.com/electron-userland/electron-forge/commit/17eedddb)) - * upgrade yarn-or-npm to ^3.0.1 ([0a64ee36](https://github.com/electron-userland/electron-forge/commit/0a64ee36)) - * downgrade yarn-or-npm to ^2.0.4 due to a regression in 3.0.0 ([10a83d8b](https://github.com/electron-userland/electron-forge/commit/10a83d8b)) - * upgrade cross-zip to 2.1.6 ([4d1f83be](https://github.com/electron-userland/electron-forge/commit/4d1f83be)) - * bump webpack from 4.39.1 to 4.39.2 (#1092) ([f2a507eb](https://github.com/electron-userland/electron-forge/commit/f2a507eb)) -* **deps-dev:** - * bump nodemon from 1.19.1 to 1.19.2 (#1136) ([fcc9cca3](https://github.com/electron-userland/electron-forge/commit/fcc9cca3)) - * bump @types/chai from 4.2.0 to 4.2.1 ([30f383f1](https://github.com/electron-userland/electron-forge/commit/30f383f1)) - * bump @types/node from 12.7.3 to 12.7.4 ([8ef109ab](https://github.com/electron-userland/electron-forge/commit/8ef109ab)) - * bump @typescript-eslint/eslint-plugin ([278a9ebe](https://github.com/electron-userland/electron-forge/commit/278a9ebe)) - * bump sinon from 7.4.1 to 7.4.2 (#1128) ([2fd698b6](https://github.com/electron-userland/electron-forge/commit/2fd698b6)) - * bump @typescript-eslint/parser from 2.0.0 to 2.1.0 ([8a798dfc](https://github.com/electron-userland/electron-forge/commit/8a798dfc)) - * bump cross-env from 5.2.0 to 5.2.1 ([8dd7a453](https://github.com/electron-userland/electron-forge/commit/8dd7a453)) - * bump eslint from 6.2.2 to 6.3.0 (#1125) ([5a297d91](https://github.com/electron-userland/electron-forge/commit/5a297d91)) - * bump @types/node from 12.7.2 to 12.7.3 ([1ae253e4](https://github.com/electron-userland/electron-forge/commit/1ae253e4)) - * bump typescript from 3.5.3 to 3.6.2 ([b9b08dd0](https://github.com/electron-userland/electron-forge/commit/b9b08dd0)) - * bump eslint from 6.2.1 to 6.2.2 ([5bf51965](https://github.com/electron-userland/electron-forge/commit/5bf51965)) - * bump @types/webpack from 4.39.0 to 4.39.1 ([4c4e3d68](https://github.com/electron-userland/electron-forge/commit/4c4e3d68)) - * upgrade to ESLint 6 and friends (#1104) ([ef0b6630](https://github.com/electron-userland/electron-forge/commit/ef0b6630)) - * bump eslint-plugin-mocha from 6.0.0 to 6.1.0 ([a2d04f4e](https://github.com/electron-userland/electron-forge/commit/a2d04f4e)) - * bump @types/express from 4.17.0 to 4.17.1 ([79df0c47](https://github.com/electron-userland/electron-forge/commit/79df0c47)) - * bump @types/webpack from 4.32.1 to 4.39.0 ([1b3ae033](https://github.com/electron-userland/electron-forge/commit/1b3ae033)) - * upgrade @types/node to 12.7.2 ([f0aaba54](https://github.com/electron-userland/electron-forge/commit/f0aaba54)) - * upgrade rimraf to ^3.0.0 ([2ee24d23](https://github.com/electron-userland/electron-forge/commit/2ee24d23)) - * bump proxyquire from 2.1.2 to 2.1.3 (#1091) ([7eedab3e](https://github.com/electron-userland/electron-forge/commit/7eedab3e)) -* add dependabolt GitHub Action workflow (#1123) ([3b005088](https://github.com/electron-userland/electron-forge/commit/3b005088)) -* replace coveralls with codecov (#1016) ([b424380a](https://github.com/electron-userland/electron-forge/commit/b424380a)) - -##### Bug Fixes - -* **plugin-webpack:** add missing debug level for webpack-dev-middleware (#1131) ([2d9eaa12](https://github.com/electron-userland/electron-forge/commit/2d9eaa12)) -* **core:** only add stderr to exception if stderr exists ([b6cbc378](https://github.com/electron-userland/electron-forge/commit/b6cbc378)) +- **deps:** + - bump webpack-dev-middleware from 3.7.0 to 3.7.1 (#1137) ([c9597b31](https://github.com/electron-userland/electron-forge/commit/c9597b31)) + - bump @octokit/rest from 16.28.8 to 16.28.9 (#1135) ([faac3fc4](https://github.com/electron-userland/electron-forge/commit/faac3fc4)) + - bump cross-spawn from 6.0.5 to 7.0.0 (#1133) ([2a44e3da](https://github.com/electron-userland/electron-forge/commit/2a44e3da)) + - bump @octokit/rest from 16.28.7 to 16.28.8 (#1127) ([15edf18a](https://github.com/electron-userland/electron-forge/commit/15edf18a)) + - bump commander from 3.0.0 to 3.0.1 (#1126) ([aa8ae615](https://github.com/electron-userland/electron-forge/commit/aa8ae615)) + - bump form-data from 2.5.0 to 2.5.1 (#1121) ([402a1ae6](https://github.com/electron-userland/electron-forge/commit/402a1ae6)) + - bump electron-packager from 14.0.4 to 14.0.5 (#1118) ([d4a743a2](https://github.com/electron-userland/electron-forge/commit/d4a743a2)) + - bump webpack-merge from 4.2.1 to 4.2.2 (#1116) ([9bbc5204](https://github.com/electron-userland/electron-forge/commit/9bbc5204)) + - bump webpack from 4.39.2 to 4.39.3 (#1115) ([43640225](https://github.com/electron-userland/electron-forge/commit/43640225)) + - upgrade @electron/get to 1.5.0 ([04021bb3](https://github.com/electron-userland/electron-forge/commit/04021bb3)) + - [security] bump eslint-utils from 1.4.0 to 1.4.2 ([9ee48eef](https://github.com/electron-userland/electron-forge/commit/9ee48eef)) + - bump inquirer from 6.5.1 to 7.0.0 (#1106) ([2466c5d6](https://github.com/electron-userland/electron-forge/commit/2466c5d6)) + - bump electron-rebuild from 1.8.5 to 1.8.6 (#1097) ([17eedddb](https://github.com/electron-userland/electron-forge/commit/17eedddb)) + - upgrade yarn-or-npm to ^3.0.1 ([0a64ee36](https://github.com/electron-userland/electron-forge/commit/0a64ee36)) + - downgrade yarn-or-npm to ^2.0.4 due to a regression in 3.0.0 ([10a83d8b](https://github.com/electron-userland/electron-forge/commit/10a83d8b)) + - upgrade cross-zip to 2.1.6 ([4d1f83be](https://github.com/electron-userland/electron-forge/commit/4d1f83be)) + - bump webpack from 4.39.1 to 4.39.2 (#1092) ([f2a507eb](https://github.com/electron-userland/electron-forge/commit/f2a507eb)) +- **deps-dev:** + - bump nodemon from 1.19.1 to 1.19.2 (#1136) ([fcc9cca3](https://github.com/electron-userland/electron-forge/commit/fcc9cca3)) + - bump @types/chai from 4.2.0 to 4.2.1 ([30f383f1](https://github.com/electron-userland/electron-forge/commit/30f383f1)) + - bump @types/node from 12.7.3 to 12.7.4 ([8ef109ab](https://github.com/electron-userland/electron-forge/commit/8ef109ab)) + - bump @typescript-eslint/eslint-plugin ([278a9ebe](https://github.com/electron-userland/electron-forge/commit/278a9ebe)) + - bump sinon from 7.4.1 to 7.4.2 (#1128) ([2fd698b6](https://github.com/electron-userland/electron-forge/commit/2fd698b6)) + - bump @typescript-eslint/parser from 2.0.0 to 2.1.0 ([8a798dfc](https://github.com/electron-userland/electron-forge/commit/8a798dfc)) + - bump cross-env from 5.2.0 to 5.2.1 ([8dd7a453](https://github.com/electron-userland/electron-forge/commit/8dd7a453)) + - bump eslint from 6.2.2 to 6.3.0 (#1125) ([5a297d91](https://github.com/electron-userland/electron-forge/commit/5a297d91)) + - bump @types/node from 12.7.2 to 12.7.3 ([1ae253e4](https://github.com/electron-userland/electron-forge/commit/1ae253e4)) + - bump typescript from 3.5.3 to 3.6.2 ([b9b08dd0](https://github.com/electron-userland/electron-forge/commit/b9b08dd0)) + - bump eslint from 6.2.1 to 6.2.2 ([5bf51965](https://github.com/electron-userland/electron-forge/commit/5bf51965)) + - bump @types/webpack from 4.39.0 to 4.39.1 ([4c4e3d68](https://github.com/electron-userland/electron-forge/commit/4c4e3d68)) + - upgrade to ESLint 6 and friends (#1104) ([ef0b6630](https://github.com/electron-userland/electron-forge/commit/ef0b6630)) + - bump eslint-plugin-mocha from 6.0.0 to 6.1.0 ([a2d04f4e](https://github.com/electron-userland/electron-forge/commit/a2d04f4e)) + - bump @types/express from 4.17.0 to 4.17.1 ([79df0c47](https://github.com/electron-userland/electron-forge/commit/79df0c47)) + - bump @types/webpack from 4.32.1 to 4.39.0 ([1b3ae033](https://github.com/electron-userland/electron-forge/commit/1b3ae033)) + - upgrade @types/node to 12.7.2 ([f0aaba54](https://github.com/electron-userland/electron-forge/commit/f0aaba54)) + - upgrade rimraf to ^3.0.0 ([2ee24d23](https://github.com/electron-userland/electron-forge/commit/2ee24d23)) + - bump proxyquire from 2.1.2 to 2.1.3 (#1091) ([7eedab3e](https://github.com/electron-userland/electron-forge/commit/7eedab3e)) +- add dependabolt GitHub Action workflow (#1123) ([3b005088](https://github.com/electron-userland/electron-forge/commit/3b005088)) +- replace coveralls with codecov (#1016) ([b424380a](https://github.com/electron-userland/electron-forge/commit/b424380a)) + +##### Bug Fixes + +- **plugin-webpack:** add missing debug level for webpack-dev-middleware (#1131) ([2d9eaa12](https://github.com/electron-userland/electron-forge/commit/2d9eaa12)) +- **core:** only add stderr to exception if stderr exists ([b6cbc378](https://github.com/electron-userland/electron-forge/commit/b6cbc378)) ##### Tests -* **core:** - * fix custom template tests ([3cd44eb0](https://github.com/electron-userland/electron-forge/commit/3cd44eb0)) - * fix calls to expectProjectPathExists ([86ca42d4](https://github.com/electron-userland/electron-forge/commit/86ca42d4)) +- **core:** + - fix custom template tests ([3cd44eb0](https://github.com/electron-userland/electron-forge/commit/3cd44eb0)) + - fix calls to expectProjectPathExists ([86ca42d4](https://github.com/electron-userland/electron-forge/commit/86ca42d4)) #### [6.0.0-beta.44](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.44) (2019-08-12) ##### Build System / Dependencies -* use Node 12 for the docs stage on Travis CI (#1057) ([fbbf9c8b](https://github.com/electron-userland/electron-forge/commit/fbbf9c8b)) +- use Node 12 for the docs stage on Travis CI (#1057) ([fbbf9c8b](https://github.com/electron-userland/electron-forge/commit/fbbf9c8b)) ##### Chores -* **deps:** - * bump inquirer from 6.5.0 to 6.5.1 (#1089) ([c9bfa111](https://github.com/electron-userland/electron-forge/commit/c9bfa111)) - * bump commander from 2.20.0 to 3.0.0 (#1087) ([2a49fb06](https://github.com/electron-userland/electron-forge/commit/2a49fb06)) - * bump source-map-support from 0.5.12 to 0.5.13 (#1066) ([5d296cfc](https://github.com/electron-userland/electron-forge/commit/5d296cfc)) - * bump electron-packager from 14.0.3 to 14.0.4 (#1063) ([e41ab8df](https://github.com/electron-userland/electron-forge/commit/e41ab8df)) - * bump webpack from 4.37.0 to 4.39.1 (#1075) ([bcefe427](https://github.com/electron-userland/electron-forge/commit/bcefe427)) - * upgrade transitive dependencies ([db0e50f3](https://github.com/electron-userland/electron-forge/commit/db0e50f3)) - * upgrade @octokit/rest to 16.28.7 ([2b3da6e7](https://github.com/electron-userland/electron-forge/commit/2b3da6e7)) - * upgrade electron-osx-sign to 0.4.12 ([4c09d8b8](https://github.com/electron-userland/electron-forge/commit/4c09d8b8)) - * bump electron-packager from 14.0.2 to 14.0.3 (#1052) ([0c8beaf7](https://github.com/electron-userland/electron-forge/commit/0c8beaf7)) - * bump electron-winstaller from 3.0.4 to 4.0.0 (#1051) ([30532af1](https://github.com/electron-userland/electron-forge/commit/30532af1)) - * bump yarn-or-npm from 2.0.4 to 3.0.0 (#1054) ([71e27b7b](https://github.com/electron-userland/electron-forge/commit/71e27b7b)) - * bump semver from 6.2.0 to 6.3.0 (#1049) ([eb7151d2](https://github.com/electron-userland/electron-forge/commit/eb7151d2)) - * bump @octokit/rest from 16.28.4 to 16.28.5 (#1039) ([240c3241](https://github.com/electron-userland/electron-forge/commit/240c3241)) - * upgrade webpack to 4.37.0 ([e957915c](https://github.com/electron-userland/electron-forge/commit/e957915c)) -* **deps-dev:** - * bump proxyquire from 2.1.1 to 2.1.2 (#1090) ([cef4a58e](https://github.com/electron-userland/electron-forge/commit/cef4a58e)) - * bump @types/debug from 4.1.4 to 4.1.5 ([8482f936](https://github.com/electron-userland/electron-forge/commit/8482f936)) - * bump @types/inquirer from 6.0.3 to 6.5.0 ([799e8880](https://github.com/electron-userland/electron-forge/commit/799e8880)) - * bump @types/chai-as-promised from 7.1.0 to 7.1.2 (#1084) ([3a59c318](https://github.com/electron-userland/electron-forge/commit/3a59c318)) - * bump @types/node from 12.6.8 to 12.7.1 ([dbefd974](https://github.com/electron-userland/electron-forge/commit/dbefd974)) - * bump @types/listr from 0.14.1 to 0.14.2 ([f61cd42b](https://github.com/electron-userland/electron-forge/commit/f61cd42b)) - * bump sinon from 7.3.2 to 7.4.1 (#1076) ([5f116992](https://github.com/electron-userland/electron-forge/commit/5f116992)) - * bump typedoc from 0.14.2 to 0.15.0 ([aa65291f](https://github.com/electron-userland/electron-forge/commit/aa65291f)) - * bump @types/webpack from 4.32.0 to 4.32.1 ([b0c2beb1](https://github.com/electron-userland/electron-forge/commit/b0c2beb1)) - * bump @types/node-fetch from 2.3.7 to 2.5.0 (#1050) ([c1480c18](https://github.com/electron-userland/electron-forge/commit/c1480c18)) - * bump fetch-mock from 7.3.7 to 7.3.9 (#1043) ([e835f8e1](https://github.com/electron-userland/electron-forge/commit/e835f8e1)) - * upgrade eslint-plugin-react to 7.14.3 ([52f5d12b](https://github.com/electron-userland/electron-forge/commit/52f5d12b)) - * upgrade typescript-eslint packages to 1.13.0 ([d65f2a8b](https://github.com/electron-userland/electron-forge/commit/d65f2a8b)) - * bump @types/listr from 0.14.0 to 0.14.1 ([affc076d](https://github.com/electron-userland/electron-forge/commit/affc076d)) - * bump eslint-plugin-import from 2.18.0 to 2.18.2 ([acdf8428](https://github.com/electron-userland/electron-forge/commit/acdf8428)) - * bump mocha from 6.1.4 to 6.2.0 (#1038) ([8d0372c3](https://github.com/electron-userland/electron-forge/commit/8d0372c3)) - * bump eslint-plugin-mocha from 5.3.0 to 6.0.0 ([ce6d971b](https://github.com/electron-userland/electron-forge/commit/ce6d971b)) -* update Babel Node target to 8 ([a0b5e1ed](https://github.com/electron-userland/electron-forge/commit/a0b5e1ed)) +- **deps:** + - bump inquirer from 6.5.0 to 6.5.1 (#1089) ([c9bfa111](https://github.com/electron-userland/electron-forge/commit/c9bfa111)) + - bump commander from 2.20.0 to 3.0.0 (#1087) ([2a49fb06](https://github.com/electron-userland/electron-forge/commit/2a49fb06)) + - bump source-map-support from 0.5.12 to 0.5.13 (#1066) ([5d296cfc](https://github.com/electron-userland/electron-forge/commit/5d296cfc)) + - bump electron-packager from 14.0.3 to 14.0.4 (#1063) ([e41ab8df](https://github.com/electron-userland/electron-forge/commit/e41ab8df)) + - bump webpack from 4.37.0 to 4.39.1 (#1075) ([bcefe427](https://github.com/electron-userland/electron-forge/commit/bcefe427)) + - upgrade transitive dependencies ([db0e50f3](https://github.com/electron-userland/electron-forge/commit/db0e50f3)) + - upgrade @octokit/rest to 16.28.7 ([2b3da6e7](https://github.com/electron-userland/electron-forge/commit/2b3da6e7)) + - upgrade electron-osx-sign to 0.4.12 ([4c09d8b8](https://github.com/electron-userland/electron-forge/commit/4c09d8b8)) + - bump electron-packager from 14.0.2 to 14.0.3 (#1052) ([0c8beaf7](https://github.com/electron-userland/electron-forge/commit/0c8beaf7)) + - bump electron-winstaller from 3.0.4 to 4.0.0 (#1051) ([30532af1](https://github.com/electron-userland/electron-forge/commit/30532af1)) + - bump yarn-or-npm from 2.0.4 to 3.0.0 (#1054) ([71e27b7b](https://github.com/electron-userland/electron-forge/commit/71e27b7b)) + - bump semver from 6.2.0 to 6.3.0 (#1049) ([eb7151d2](https://github.com/electron-userland/electron-forge/commit/eb7151d2)) + - bump @octokit/rest from 16.28.4 to 16.28.5 (#1039) ([240c3241](https://github.com/electron-userland/electron-forge/commit/240c3241)) + - upgrade webpack to 4.37.0 ([e957915c](https://github.com/electron-userland/electron-forge/commit/e957915c)) +- **deps-dev:** + - bump proxyquire from 2.1.1 to 2.1.2 (#1090) ([cef4a58e](https://github.com/electron-userland/electron-forge/commit/cef4a58e)) + - bump @types/debug from 4.1.4 to 4.1.5 ([8482f936](https://github.com/electron-userland/electron-forge/commit/8482f936)) + - bump @types/inquirer from 6.0.3 to 6.5.0 ([799e8880](https://github.com/electron-userland/electron-forge/commit/799e8880)) + - bump @types/chai-as-promised from 7.1.0 to 7.1.2 (#1084) ([3a59c318](https://github.com/electron-userland/electron-forge/commit/3a59c318)) + - bump @types/node from 12.6.8 to 12.7.1 ([dbefd974](https://github.com/electron-userland/electron-forge/commit/dbefd974)) + - bump @types/listr from 0.14.1 to 0.14.2 ([f61cd42b](https://github.com/electron-userland/electron-forge/commit/f61cd42b)) + - bump sinon from 7.3.2 to 7.4.1 (#1076) ([5f116992](https://github.com/electron-userland/electron-forge/commit/5f116992)) + - bump typedoc from 0.14.2 to 0.15.0 ([aa65291f](https://github.com/electron-userland/electron-forge/commit/aa65291f)) + - bump @types/webpack from 4.32.0 to 4.32.1 ([b0c2beb1](https://github.com/electron-userland/electron-forge/commit/b0c2beb1)) + - bump @types/node-fetch from 2.3.7 to 2.5.0 (#1050) ([c1480c18](https://github.com/electron-userland/electron-forge/commit/c1480c18)) + - bump fetch-mock from 7.3.7 to 7.3.9 (#1043) ([e835f8e1](https://github.com/electron-userland/electron-forge/commit/e835f8e1)) + - upgrade eslint-plugin-react to 7.14.3 ([52f5d12b](https://github.com/electron-userland/electron-forge/commit/52f5d12b)) + - upgrade typescript-eslint packages to 1.13.0 ([d65f2a8b](https://github.com/electron-userland/electron-forge/commit/d65f2a8b)) + - bump @types/listr from 0.14.0 to 0.14.1 ([affc076d](https://github.com/electron-userland/electron-forge/commit/affc076d)) + - bump eslint-plugin-import from 2.18.0 to 2.18.2 ([acdf8428](https://github.com/electron-userland/electron-forge/commit/acdf8428)) + - bump mocha from 6.1.4 to 6.2.0 (#1038) ([8d0372c3](https://github.com/electron-userland/electron-forge/commit/8d0372c3)) + - bump eslint-plugin-mocha from 5.3.0 to 6.0.0 ([ce6d971b](https://github.com/electron-userland/electron-forge/commit/ce6d971b)) +- update Babel Node target to 8 ([a0b5e1ed](https://github.com/electron-userland/electron-forge/commit/a0b5e1ed)) ##### New Features -* **maker-base:** add a method to check for binaries required for a maker ([ec7db014](https://github.com/electron-userland/electron-forge/commit/ec7db014)) +- **maker-base:** add a method to check for binaries required for a maker ([ec7db014](https://github.com/electron-userland/electron-forge/commit/ec7db014)) ##### Bug Fixes -* ensure that makers do not overwrite existing un-similar outputs (#1086) ([dbc19d89](https://github.com/electron-userland/electron-forge/commit/dbc19d89)) -* **maker:** allow Linux makers to run on non-Linux hosts if possible ([c67596bb](https://github.com/electron-userland/electron-forge/commit/c67596bb)) +- ensure that makers do not overwrite existing un-similar outputs (#1086) ([dbc19d89](https://github.com/electron-userland/electron-forge/commit/dbc19d89)) +- **maker:** allow Linux makers to run on non-Linux hosts if possible ([c67596bb](https://github.com/electron-userland/electron-forge/commit/c67596bb)) #### [6.0.0-beta.43](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.43) (2019-07-18) ##### Chores -* **deps-dev:** - * upgrade dependencies ([71f89c28](https://github.com/electron-userland/electron-forge/commit/71f89c28)) - * remove now-unnecessary @types/pretty-ms ([a341e444](https://github.com/electron-userland/electron-forge/commit/a341e444)) - * upgrade babel devDependencies to 7.5.5 ([e9269602](https://github.com/electron-userland/electron-forge/commit/e9269602)) - * remove now-unnecessary @types/form-data ([ca6ed54d](https://github.com/electron-userland/electron-forge/commit/ca6ed54d)) - * upgrade @types/node to 12.6.6 ([c755c8a2](https://github.com/electron-userland/electron-forge/commit/c755c8a2)) -* **deps:** - * upgrade webpack to 4.36.1 ([5079a911](https://github.com/electron-userland/electron-forge/commit/5079a911)) - * upgrade Electron tooling transitive dependencies ([948b0803](https://github.com/electron-userland/electron-forge/commit/948b0803)) -* clean up README and contributing docs ([5fb8e55f](https://github.com/electron-userland/electron-forge/commit/5fb8e55f)) +- **deps-dev:** + - upgrade dependencies ([71f89c28](https://github.com/electron-userland/electron-forge/commit/71f89c28)) + - remove now-unnecessary @types/pretty-ms ([a341e444](https://github.com/electron-userland/electron-forge/commit/a341e444)) + - upgrade babel devDependencies to 7.5.5 ([e9269602](https://github.com/electron-userland/electron-forge/commit/e9269602)) + - remove now-unnecessary @types/form-data ([ca6ed54d](https://github.com/electron-userland/electron-forge/commit/ca6ed54d)) + - upgrade @types/node to 12.6.6 ([c755c8a2](https://github.com/electron-userland/electron-forge/commit/c755c8a2)) +- **deps:** + - upgrade webpack to 4.36.1 ([5079a911](https://github.com/electron-userland/electron-forge/commit/5079a911)) + - upgrade Electron tooling transitive dependencies ([948b0803](https://github.com/electron-userland/electron-forge/commit/948b0803)) +- clean up README and contributing docs ([5fb8e55f](https://github.com/electron-userland/electron-forge/commit/5fb8e55f)) ##### New Features -* **core:** add a force flag to init to allow it to overwrite an existing directory (#1020) ([dcdc2a1c](https://github.com/electron-userland/electron-forge/commit/dcdc2a1c)) +- **core:** add a force flag to init to allow it to overwrite an existing directory (#1020) ([dcdc2a1c](https://github.com/electron-userland/electron-forge/commit/dcdc2a1c)) ##### Bug Fixes -* **template-webpack:** use css-loader instead of file-loader (#1036) ([62b7c195](https://github.com/electron-userland/electron-forge/commit/62b7c195)) -* **plugin-webpack:** adjust publicPath in renderer only (#1035) ([57ca285a](https://github.com/electron-userland/electron-forge/commit/57ca285a)) +- **template-webpack:** use css-loader instead of file-loader (#1036) ([62b7c195](https://github.com/electron-userland/electron-forge/commit/62b7c195)) +- **plugin-webpack:** adjust publicPath in renderer only (#1035) ([57ca285a](https://github.com/electron-userland/electron-forge/commit/57ca285a)) ##### Refactors -* **core:** use Object.entries when mapping makeTargets in the v5 importer ([745e7689](https://github.com/electron-userland/electron-forge/commit/745e7689)) +- **core:** use Object.entries when mapping makeTargets in the v5 importer ([745e7689](https://github.com/electron-userland/electron-forge/commit/745e7689)) #### [6.0.0-beta.42](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.42) (2019-07-15) ##### Chores -* **deps:** upgrade @octokit/rest to 16.28.4 ([e1012fe1](https://github.com/electron-userland/electron-forge/commit/e1012fe1)) -* **deps-dev:** - * upgrade @types/form-data to 2.5.0 and @types/node to 12.6.3 ([7a1c0148](https://github.com/electron-userland/electron-forge/commit/7a1c0148)) - * upgrade proxyquire to 2.1.1 ([812bf56f](https://github.com/electron-userland/electron-forge/commit/812bf56f)) - * upgrade typescript-eslint packages to 1.12.0 ([6f242937](https://github.com/electron-userland/electron-forge/commit/6f242937)) - * bump @types/webpack from 4.4.34 to 4.4.35 ([ab1628a1](https://github.com/electron-userland/electron-forge/commit/ab1628a1)) - * bump @types/html-webpack-plugin from 3.2.0 to 3.2.1 ([1de1e3bd](https://github.com/electron-userland/electron-forge/commit/1de1e3bd)) -* consistent use of Forge/Electron Forge in messages ([1d19b320](https://github.com/electron-userland/electron-forge/commit/1d19b320)) +- **deps:** upgrade @octokit/rest to 16.28.4 ([e1012fe1](https://github.com/electron-userland/electron-forge/commit/e1012fe1)) +- **deps-dev:** + - upgrade @types/form-data to 2.5.0 and @types/node to 12.6.3 ([7a1c0148](https://github.com/electron-userland/electron-forge/commit/7a1c0148)) + - upgrade proxyquire to 2.1.1 ([812bf56f](https://github.com/electron-userland/electron-forge/commit/812bf56f)) + - upgrade typescript-eslint packages to 1.12.0 ([6f242937](https://github.com/electron-userland/electron-forge/commit/6f242937)) + - bump @types/webpack from 4.4.34 to 4.4.35 ([ab1628a1](https://github.com/electron-userland/electron-forge/commit/ab1628a1)) + - bump @types/html-webpack-plugin from 3.2.0 to 3.2.1 ([1de1e3bd](https://github.com/electron-userland/electron-forge/commit/1de1e3bd)) +- consistent use of Forge/Electron Forge in messages ([1d19b320](https://github.com/electron-userland/electron-forge/commit/1d19b320)) ##### Bug Fixes -* **template-webpack:** properly remove stylesheet link from index.html ([89176b4d](https://github.com/electron-userland/electron-forge/commit/89176b4d)) -* **plugin-webpack:** properly reference `index.js` in production (#1021) ([d70ae5c2](https://github.com/electron-userland/electron-forge/commit/d70ae5c2)) +- **template-webpack:** properly remove stylesheet link from index.html ([89176b4d](https://github.com/electron-userland/electron-forge/commit/89176b4d)) +- **plugin-webpack:** properly reference `index.js` in production (#1021) ([d70ae5c2](https://github.com/electron-userland/electron-forge/commit/d70ae5c2)) ##### Refactors -* **template-webpack:** - * extract rewrite template file function ([5b586063](https://github.com/electron-userland/electron-forge/commit/5b586063)) - * extract copy template file function ([cd638744](https://github.com/electron-userland/electron-forge/commit/cd638744)) +- **template-webpack:** + - extract rewrite template file function ([5b586063](https://github.com/electron-userland/electron-forge/commit/5b586063)) + - extract copy template file function ([cd638744](https://github.com/electron-userland/electron-forge/commit/cd638744)) #### [6.0.0-beta.41](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.41) (2019-07-13) ##### Bug Fixes -* **core:** copy index.css to a new project ([12fbbd08](https://github.com/electron-userland/electron-forge/commit/12fbbd08)) +- **core:** copy index.css to a new project ([12fbbd08](https://github.com/electron-userland/electron-forge/commit/12fbbd08)) #### [6.0.0-beta.40](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.40) (2019-07-12) ##### Build System / Dependencies -* **deps-dev:** - * bump fetch-mock from 7.3.3 to 7.3.6 (#1007) ([662b5ce2](https://github.com/electron-userland/electron-forge/commit/662b5ce2)) - * bump @babel/preset-env from 7.5.2 to 7.5.4 ([8aed6b70](https://github.com/electron-userland/electron-forge/commit/8aed6b70)) - * bump @types/node from 12.6.1 to 12.6.2 ([41c269d4](https://github.com/electron-userland/electron-forge/commit/41c269d4)) - * bump @babel/core from 7.5.0 to 7.5.4 ([938c3e75](https://github.com/electron-userland/electron-forge/commit/938c3e75)) - * bump typescript from 3.5.2 to 3.5.3 ([8082ca08](https://github.com/electron-userland/electron-forge/commit/8082ca08)) - * bump @babel/preset-env from 7.5.0 to 7.5.2 ([2fdf513f](https://github.com/electron-userland/electron-forge/commit/2fdf513f)) - * bump @types/node from 12.0.12 to 12.6.1 (#1000) ([362a7666](https://github.com/electron-userland/electron-forge/commit/362a7666)) - * bump @types/node from 12.0.10 to 12.0.12 ([fe44d331](https://github.com/electron-userland/electron-forge/commit/fe44d331)) - * bump eslint-config-airbnb from 17.1.0 to 17.1.1 ([c7cfc056](https://github.com/electron-userland/electron-forge/commit/c7cfc056)) - * bump eslint-plugin-jsx-a11y from 6.2.1 to 6.2.3 ([eedf5496](https://github.com/electron-userland/electron-forge/commit/eedf5496)) - * bump @types/electron-packager from 13.0.0 to 13.0.1 ([2656d0ca](https://github.com/electron-userland/electron-forge/commit/2656d0ca)) - * bump generate-changelog from 1.7.1 to 1.8.0 ([a07abbd6](https://github.com/electron-userland/electron-forge/commit/a07abbd6)) - * bump @types/webpack-dev-middleware from 2.0.2 to 2.0.3 ([e52eceec](https://github.com/electron-userland/electron-forge/commit/e52eceec)) - * bump @types/webpack from 4.4.33 to 4.4.34 ([98f3c0ad](https://github.com/electron-userland/electron-forge/commit/98f3c0ad)) - * bump eslint-plugin-react from 7.14.0 to 7.14.2 ([5c68634e](https://github.com/electron-userland/electron-forge/commit/5c68634e)) - * bump eslint-plugin-import from 2.17.3 to 2.18.0 ([cb5fca1f](https://github.com/electron-userland/electron-forge/commit/cb5fca1f)) - * bump @types/node from 12.0.8 to 12.0.10 ([4321f5fc](https://github.com/electron-userland/electron-forge/commit/4321f5fc)) - * bump eslint-plugin-react from 7.13.0 to 7.14.0 ([91c2bbdb](https://github.com/electron-userland/electron-forge/commit/91c2bbdb)) - * bump @types/semver from 6.0.0 to 6.0.1 ([0d09dacf](https://github.com/electron-userland/electron-forge/commit/0d09dacf)) - * bump @types/webpack from 4.4.32 to 4.4.33 ([07e24b9e](https://github.com/electron-userland/electron-forge/commit/07e24b9e)) - * bump @types/fetch-mock from 7.3.0 to 7.3.1 ([f5a7e461](https://github.com/electron-userland/electron-forge/commit/f5a7e461)) - * bump @types/node-fetch from 2.3.6 to 2.3.7 ([9e0e564b](https://github.com/electron-userland/electron-forge/commit/9e0e564b)) - * bump typescript from 3.5.1 to 3.5.2 ([a1fb73e3](https://github.com/electron-userland/electron-forge/commit/a1fb73e3)) - * bump @types/sinon from 7.0.12 to 7.0.13 ([7968ce87](https://github.com/electron-userland/electron-forge/commit/7968ce87)) - * bump @types/node-fetch from 2.3.5 to 2.3.6 ([b7ca5b04](https://github.com/electron-userland/electron-forge/commit/b7ca5b04)) - * bump @types/node from 12.0.7 to 12.0.8 ([b3fbca87](https://github.com/electron-userland/electron-forge/commit/b3fbca87)) - * bump @types/node-fetch from 2.3.4 to 2.3.5 ([76b7ac48](https://github.com/electron-userland/electron-forge/commit/76b7ac48)) - * bump @types/node from 12.0.5 to 12.0.7 ([dd3537d0](https://github.com/electron-userland/electron-forge/commit/dd3537d0)) - * bump @types/node from 12.0.4 to 12.0.5 ([18903ff6](https://github.com/electron-userland/electron-forge/commit/18903ff6)) - * bump coveralls from 3.0.3 to 3.0.4 ([6a14ca87](https://github.com/electron-userland/electron-forge/commit/6a14ca87)) - * bump @types/express from 4.16.1 to 4.17.0 ([63b7b2cf](https://github.com/electron-userland/electron-forge/commit/63b7b2cf)) - * bump @types/node from 12.0.3 to 12.0.4 ([62276fcb](https://github.com/electron-userland/electron-forge/commit/62276fcb)) - * bump @types/mocha from 5.2.6 to 5.2.7 ([8afc1eaf](https://github.com/electron-userland/electron-forge/commit/8afc1eaf)) - * bump typescript from 3.4.5 to 3.5.1 ([c8e62fb4](https://github.com/electron-userland/electron-forge/commit/c8e62fb4)) - * bump @types/node from 12.0.2 to 12.0.3 ([14a7ba84](https://github.com/electron-userland/electron-forge/commit/14a7ba84)) - * bump nodemon from 1.19.0 to 1.19.1 ([1d3da591](https://github.com/electron-userland/electron-forge/commit/1d3da591)) - * bump ts-node from 8.1.0 to 8.2.0 ([1fc358ff](https://github.com/electron-userland/electron-forge/commit/1fc358ff)) - * bump eslint-plugin-import from 2.17.2 to 2.17.3 ([c0b1fcff](https://github.com/electron-userland/electron-forge/commit/c0b1fcff)) - * bump @types/sinon from 7.0.11 to 7.0.12 ([3b02e6dc](https://github.com/electron-userland/electron-forge/commit/3b02e6dc)) - * bump @babel/core from 7.4.4 to 7.4.5 ([2de77412](https://github.com/electron-userland/electron-forge/commit/2de77412)) - * bump @types/webpack from 4.4.31 to 4.4.32 ([a43b977a](https://github.com/electron-userland/electron-forge/commit/a43b977a)) -* **deps:** - * bump @octokit/rest from 16.28.2 to 16.28.3 (#1005) ([27798941](https://github.com/electron-userland/electron-forge/commit/27798941)) - * bump webpack from 4.35.2 to 4.35.3 (#1001) ([03b82b3f](https://github.com/electron-userland/electron-forge/commit/03b82b3f)) - * bump form-data from 2.4.0 to 2.5.0 (#989) ([588d0581](https://github.com/electron-userland/electron-forge/commit/588d0581)) - * bump semver from 6.1.3 to 6.2.0 (#984) ([dbf23b23](https://github.com/electron-userland/electron-forge/commit/dbf23b23)) - * bump open from 6.3.0 to 6.4.0 (#982) ([9a969ac6](https://github.com/electron-userland/electron-forge/commit/9a969ac6)) - * bump xterm from 3.14.2 to 3.14.4 (#977) ([23e5863a](https://github.com/electron-userland/electron-forge/commit/23e5863a)) - * bump @electron/get from 1.3.0 to 1.3.1 ([dc952b77](https://github.com/electron-userland/electron-forge/commit/dc952b77)) - * bump inquirer from 6.4.0 to 6.4.1 (#966) ([263d1617](https://github.com/electron-userland/electron-forge/commit/263d1617)) - * bump semver from 6.1.1 to 6.1.2 (#965) ([ee82dd8d](https://github.com/electron-userland/electron-forge/commit/ee82dd8d)) - * bump inquirer from 6.3.1 to 6.4.0 (#955) ([bd64ce7d](https://github.com/electron-userland/electron-forge/commit/bd64ce7d)) - * bump webpack from 4.34.0 to 4.35.0 (#954) ([83bc119a](https://github.com/electron-userland/electron-forge/commit/83bc119a)) - * bump @electron/get from 1.2.0 to 1.3.0 (#953) ([4b412251](https://github.com/electron-userland/electron-forge/commit/4b412251)) - * bump form-data from 2.3.3 to 2.4.0 (#952) ([f6678c82](https://github.com/electron-userland/electron-forge/commit/f6678c82)) - * bump find-up from 4.0.0 to 4.1.0 (#948) ([3783037f](https://github.com/electron-userland/electron-forge/commit/3783037f)) - * bump @octokit/rest from 16.28.1 to 16.28.2 (#946) ([693492fd](https://github.com/electron-userland/electron-forge/commit/693492fd)) - * bump username from 5.0.0 to 5.1.0 (#938) ([47801d90](https://github.com/electron-userland/electron-forge/commit/47801d90)) - * bump webpack from 4.33.0 to 4.34.0 (#940) ([168f4fd5](https://github.com/electron-userland/electron-forge/commit/168f4fd5)) - * bump @octokit/rest from 16.28.0 to 16.28.1 (#927) ([92d7ab56](https://github.com/electron-userland/electron-forge/commit/92d7ab56)) - * bump aws-sdk from 2.471.0 to 2.472.0 (#926) ([c500b188](https://github.com/electron-userland/electron-forge/commit/c500b188)) - * bump sudo-prompt from 8.2.5 to 9.0.0 (#908) ([9b504db6](https://github.com/electron-userland/electron-forge/commit/9b504db6)) - * bump webpack from 4.32.2 to 4.33.0 (#910) ([56b753da](https://github.com/electron-userland/electron-forge/commit/56b753da)) - * bump xterm from 3.14.1 to 3.14.2 (#907) ([6e62f0e5](https://github.com/electron-userland/electron-forge/commit/6e62f0e5)) - * bump @octokit/rest from 16.27.2 to 16.27.3 (#900) ([0c100e16](https://github.com/electron-userland/electron-forge/commit/0c100e16)) - * bump xterm from 3.13.2 to 3.14.0 (#898) ([ed8b2ab1](https://github.com/electron-userland/electron-forge/commit/ed8b2ab1)) - * bump @octokit/rest from 16.27.0 to 16.27.1 (#897) ([136d9fe8](https://github.com/electron-userland/electron-forge/commit/136d9fe8)) - * bump semver from 6.1.0 to 6.1.1 (#893) ([eb1e1bc3](https://github.com/electron-userland/electron-forge/commit/eb1e1bc3)) - * bump express from 4.17.0 to 4.17.1 (#887) ([18ceb8ac](https://github.com/electron-userland/electron-forge/commit/18ceb8ac)) - * [security] bump tar from 2.2.1 to 2.2.2 ([70f9ab29](https://github.com/electron-userland/electron-forge/commit/70f9ab29)) - * bump @octokit/rest from 16.26.0 to 16.27.0 (#879) ([fa4cf33f](https://github.com/electron-userland/electron-forge/commit/fa4cf33f)) - * bump xterm from 3.13.1 to 3.13.2 (#877) ([eca3dad3](https://github.com/electron-userland/electron-forge/commit/eca3dad3)) +- **deps-dev:** + - bump fetch-mock from 7.3.3 to 7.3.6 (#1007) ([662b5ce2](https://github.com/electron-userland/electron-forge/commit/662b5ce2)) + - bump @babel/preset-env from 7.5.2 to 7.5.4 ([8aed6b70](https://github.com/electron-userland/electron-forge/commit/8aed6b70)) + - bump @types/node from 12.6.1 to 12.6.2 ([41c269d4](https://github.com/electron-userland/electron-forge/commit/41c269d4)) + - bump @babel/core from 7.5.0 to 7.5.4 ([938c3e75](https://github.com/electron-userland/electron-forge/commit/938c3e75)) + - bump typescript from 3.5.2 to 3.5.3 ([8082ca08](https://github.com/electron-userland/electron-forge/commit/8082ca08)) + - bump @babel/preset-env from 7.5.0 to 7.5.2 ([2fdf513f](https://github.com/electron-userland/electron-forge/commit/2fdf513f)) + - bump @types/node from 12.0.12 to 12.6.1 (#1000) ([362a7666](https://github.com/electron-userland/electron-forge/commit/362a7666)) + - bump @types/node from 12.0.10 to 12.0.12 ([fe44d331](https://github.com/electron-userland/electron-forge/commit/fe44d331)) + - bump eslint-config-airbnb from 17.1.0 to 17.1.1 ([c7cfc056](https://github.com/electron-userland/electron-forge/commit/c7cfc056)) + - bump eslint-plugin-jsx-a11y from 6.2.1 to 6.2.3 ([eedf5496](https://github.com/electron-userland/electron-forge/commit/eedf5496)) + - bump @types/electron-packager from 13.0.0 to 13.0.1 ([2656d0ca](https://github.com/electron-userland/electron-forge/commit/2656d0ca)) + - bump generate-changelog from 1.7.1 to 1.8.0 ([a07abbd6](https://github.com/electron-userland/electron-forge/commit/a07abbd6)) + - bump @types/webpack-dev-middleware from 2.0.2 to 2.0.3 ([e52eceec](https://github.com/electron-userland/electron-forge/commit/e52eceec)) + - bump @types/webpack from 4.4.33 to 4.4.34 ([98f3c0ad](https://github.com/electron-userland/electron-forge/commit/98f3c0ad)) + - bump eslint-plugin-react from 7.14.0 to 7.14.2 ([5c68634e](https://github.com/electron-userland/electron-forge/commit/5c68634e)) + - bump eslint-plugin-import from 2.17.3 to 2.18.0 ([cb5fca1f](https://github.com/electron-userland/electron-forge/commit/cb5fca1f)) + - bump @types/node from 12.0.8 to 12.0.10 ([4321f5fc](https://github.com/electron-userland/electron-forge/commit/4321f5fc)) + - bump eslint-plugin-react from 7.13.0 to 7.14.0 ([91c2bbdb](https://github.com/electron-userland/electron-forge/commit/91c2bbdb)) + - bump @types/semver from 6.0.0 to 6.0.1 ([0d09dacf](https://github.com/electron-userland/electron-forge/commit/0d09dacf)) + - bump @types/webpack from 4.4.32 to 4.4.33 ([07e24b9e](https://github.com/electron-userland/electron-forge/commit/07e24b9e)) + - bump @types/fetch-mock from 7.3.0 to 7.3.1 ([f5a7e461](https://github.com/electron-userland/electron-forge/commit/f5a7e461)) + - bump @types/node-fetch from 2.3.6 to 2.3.7 ([9e0e564b](https://github.com/electron-userland/electron-forge/commit/9e0e564b)) + - bump typescript from 3.5.1 to 3.5.2 ([a1fb73e3](https://github.com/electron-userland/electron-forge/commit/a1fb73e3)) + - bump @types/sinon from 7.0.12 to 7.0.13 ([7968ce87](https://github.com/electron-userland/electron-forge/commit/7968ce87)) + - bump @types/node-fetch from 2.3.5 to 2.3.6 ([b7ca5b04](https://github.com/electron-userland/electron-forge/commit/b7ca5b04)) + - bump @types/node from 12.0.7 to 12.0.8 ([b3fbca87](https://github.com/electron-userland/electron-forge/commit/b3fbca87)) + - bump @types/node-fetch from 2.3.4 to 2.3.5 ([76b7ac48](https://github.com/electron-userland/electron-forge/commit/76b7ac48)) + - bump @types/node from 12.0.5 to 12.0.7 ([dd3537d0](https://github.com/electron-userland/electron-forge/commit/dd3537d0)) + - bump @types/node from 12.0.4 to 12.0.5 ([18903ff6](https://github.com/electron-userland/electron-forge/commit/18903ff6)) + - bump coveralls from 3.0.3 to 3.0.4 ([6a14ca87](https://github.com/electron-userland/electron-forge/commit/6a14ca87)) + - bump @types/express from 4.16.1 to 4.17.0 ([63b7b2cf](https://github.com/electron-userland/electron-forge/commit/63b7b2cf)) + - bump @types/node from 12.0.3 to 12.0.4 ([62276fcb](https://github.com/electron-userland/electron-forge/commit/62276fcb)) + - bump @types/mocha from 5.2.6 to 5.2.7 ([8afc1eaf](https://github.com/electron-userland/electron-forge/commit/8afc1eaf)) + - bump typescript from 3.4.5 to 3.5.1 ([c8e62fb4](https://github.com/electron-userland/electron-forge/commit/c8e62fb4)) + - bump @types/node from 12.0.2 to 12.0.3 ([14a7ba84](https://github.com/electron-userland/electron-forge/commit/14a7ba84)) + - bump nodemon from 1.19.0 to 1.19.1 ([1d3da591](https://github.com/electron-userland/electron-forge/commit/1d3da591)) + - bump ts-node from 8.1.0 to 8.2.0 ([1fc358ff](https://github.com/electron-userland/electron-forge/commit/1fc358ff)) + - bump eslint-plugin-import from 2.17.2 to 2.17.3 ([c0b1fcff](https://github.com/electron-userland/electron-forge/commit/c0b1fcff)) + - bump @types/sinon from 7.0.11 to 7.0.12 ([3b02e6dc](https://github.com/electron-userland/electron-forge/commit/3b02e6dc)) + - bump @babel/core from 7.4.4 to 7.4.5 ([2de77412](https://github.com/electron-userland/electron-forge/commit/2de77412)) + - bump @types/webpack from 4.4.31 to 4.4.32 ([a43b977a](https://github.com/electron-userland/electron-forge/commit/a43b977a)) +- **deps:** + - bump @octokit/rest from 16.28.2 to 16.28.3 (#1005) ([27798941](https://github.com/electron-userland/electron-forge/commit/27798941)) + - bump webpack from 4.35.2 to 4.35.3 (#1001) ([03b82b3f](https://github.com/electron-userland/electron-forge/commit/03b82b3f)) + - bump form-data from 2.4.0 to 2.5.0 (#989) ([588d0581](https://github.com/electron-userland/electron-forge/commit/588d0581)) + - bump semver from 6.1.3 to 6.2.0 (#984) ([dbf23b23](https://github.com/electron-userland/electron-forge/commit/dbf23b23)) + - bump open from 6.3.0 to 6.4.0 (#982) ([9a969ac6](https://github.com/electron-userland/electron-forge/commit/9a969ac6)) + - bump xterm from 3.14.2 to 3.14.4 (#977) ([23e5863a](https://github.com/electron-userland/electron-forge/commit/23e5863a)) + - bump @electron/get from 1.3.0 to 1.3.1 ([dc952b77](https://github.com/electron-userland/electron-forge/commit/dc952b77)) + - bump inquirer from 6.4.0 to 6.4.1 (#966) ([263d1617](https://github.com/electron-userland/electron-forge/commit/263d1617)) + - bump semver from 6.1.1 to 6.1.2 (#965) ([ee82dd8d](https://github.com/electron-userland/electron-forge/commit/ee82dd8d)) + - bump inquirer from 6.3.1 to 6.4.0 (#955) ([bd64ce7d](https://github.com/electron-userland/electron-forge/commit/bd64ce7d)) + - bump webpack from 4.34.0 to 4.35.0 (#954) ([83bc119a](https://github.com/electron-userland/electron-forge/commit/83bc119a)) + - bump @electron/get from 1.2.0 to 1.3.0 (#953) ([4b412251](https://github.com/electron-userland/electron-forge/commit/4b412251)) + - bump form-data from 2.3.3 to 2.4.0 (#952) ([f6678c82](https://github.com/electron-userland/electron-forge/commit/f6678c82)) + - bump find-up from 4.0.0 to 4.1.0 (#948) ([3783037f](https://github.com/electron-userland/electron-forge/commit/3783037f)) + - bump @octokit/rest from 16.28.1 to 16.28.2 (#946) ([693492fd](https://github.com/electron-userland/electron-forge/commit/693492fd)) + - bump username from 5.0.0 to 5.1.0 (#938) ([47801d90](https://github.com/electron-userland/electron-forge/commit/47801d90)) + - bump webpack from 4.33.0 to 4.34.0 (#940) ([168f4fd5](https://github.com/electron-userland/electron-forge/commit/168f4fd5)) + - bump @octokit/rest from 16.28.0 to 16.28.1 (#927) ([92d7ab56](https://github.com/electron-userland/electron-forge/commit/92d7ab56)) + - bump aws-sdk from 2.471.0 to 2.472.0 (#926) ([c500b188](https://github.com/electron-userland/electron-forge/commit/c500b188)) + - bump sudo-prompt from 8.2.5 to 9.0.0 (#908) ([9b504db6](https://github.com/electron-userland/electron-forge/commit/9b504db6)) + - bump webpack from 4.32.2 to 4.33.0 (#910) ([56b753da](https://github.com/electron-userland/electron-forge/commit/56b753da)) + - bump xterm from 3.14.1 to 3.14.2 (#907) ([6e62f0e5](https://github.com/electron-userland/electron-forge/commit/6e62f0e5)) + - bump @octokit/rest from 16.27.2 to 16.27.3 (#900) ([0c100e16](https://github.com/electron-userland/electron-forge/commit/0c100e16)) + - bump xterm from 3.13.2 to 3.14.0 (#898) ([ed8b2ab1](https://github.com/electron-userland/electron-forge/commit/ed8b2ab1)) + - bump @octokit/rest from 16.27.0 to 16.27.1 (#897) ([136d9fe8](https://github.com/electron-userland/electron-forge/commit/136d9fe8)) + - bump semver from 6.1.0 to 6.1.1 (#893) ([eb1e1bc3](https://github.com/electron-userland/electron-forge/commit/eb1e1bc3)) + - bump express from 4.17.0 to 4.17.1 (#887) ([18ceb8ac](https://github.com/electron-userland/electron-forge/commit/18ceb8ac)) + - [security] bump tar from 2.2.1 to 2.2.2 ([70f9ab29](https://github.com/electron-userland/electron-forge/commit/70f9ab29)) + - bump @octokit/rest from 16.26.0 to 16.27.0 (#879) ([fa4cf33f](https://github.com/electron-userland/electron-forge/commit/fa4cf33f)) + - bump xterm from 3.13.1 to 3.13.2 (#877) ([eca3dad3](https://github.com/electron-userland/electron-forge/commit/eca3dad3)) ##### Chores -* fix problems with working dir check in bump version script ([677fa9b2](https://github.com/electron-userland/electron-forge/commit/677fa9b2)) -* make sure the changelog modifications are with the proper git tag (#996) ([5a5b526f](https://github.com/electron-userland/electron-forge/commit/5a5b526f)) -* upgrade declared babel packages to ^7.5.0 where available ([fd95c771](https://github.com/electron-userland/electron-forge/commit/fd95c771)) -* upgrade babel packages to 7.5.0 ([ba5e42d1](https://github.com/electron-userland/electron-forge/commit/ba5e42d1)) -* upgrade Electron Packager to 14.0.1 (#987) ([00bb5283](https://github.com/electron-userland/electron-forge/commit/00bb5283)) -* upgrade dependencies ([3ad14a9d](https://github.com/electron-userland/electron-forge/commit/3ad14a9d)) -* upgrade fs-extra to ^8.1.0 and @types/fs-extra to ^8.0.0 (#979) ([4be12b13](https://github.com/electron-userland/electron-forge/commit/4be12b13)) -* upgrade @types/electron-packager to ^14.0.0 ([a4ddf816](https://github.com/electron-userland/electron-forge/commit/a4ddf816)) -* upgrade typescript-eslint packages ([469c39c5](https://github.com/electron-userland/electron-forge/commit/469c39c5)) -* upgrade to Electron Packager 14 & electron-installer-snap 4 (#958) ([8b497ca1](https://github.com/electron-userland/electron-forge/commit/8b497ca1)) -* fix sudo-prompt type definition ([6f3c2ec3](https://github.com/electron-userland/electron-forge/commit/6f3c2ec3)) -* replace pify with util.promisify ([b94692c4](https://github.com/electron-userland/electron-forge/commit/b94692c4)) -* @babel/plugin-proposal-object-rest-spread isn't necessary as of Node 8 ([4e179c66](https://github.com/electron-userland/electron-forge/commit/4e179c66)) -* upgrade dependencies for eslint ([24edb6ee](https://github.com/electron-userland/electron-forge/commit/24edb6ee)) -* upgrade ts-node to 8.3.0 ([ee05021f](https://github.com/electron-userland/electron-forge/commit/ee05021f)) -* upgrade dependencies for electron-rebuild ([e630efa0](https://github.com/electron-userland/electron-forge/commit/e630efa0)) -* upgrade dependencies for electron-winstaller ([373e22f7](https://github.com/electron-userland/electron-forge/commit/373e22f7)) -* upgrade dependencies for typedoc ([9a9486d1](https://github.com/electron-userland/electron-forge/commit/9a9486d1)) -* upgrade dependencies for electron-installer-snap ([089ba6c6](https://github.com/electron-userland/electron-forge/commit/089ba6c6)) -* upgrade dependencies for electron-installer-dmg ([a84ce5fb](https://github.com/electron-userland/electron-forge/commit/a84ce5fb)) -* upgrade @malept/electron-installer-flatpak to ^0.10.0 (#944) ([8c8083bf](https://github.com/electron-userland/electron-forge/commit/8c8083bf)) -* remove unnecessary direct node-gyp dependency (#943) ([e60a5cdf](https://github.com/electron-userland/electron-forge/commit/e60a5cdf)) -* upgrade electron-installer-{debian,redhat} to ^2.0.0 (#928) ([8be98bf8](https://github.com/electron-userland/electron-forge/commit/8be98bf8)) -* upgrade global to 4.4.0 ([7f4d5d0a](https://github.com/electron-userland/electron-forge/commit/7f4d5d0a)) -* upgrade @typescript-eslint/{eslint-plugin,parser} to 1.10.2 ([ae434da5](https://github.com/electron-userland/electron-forge/commit/ae434da5)) -* upgrade aws-sdk to 2.471.0 ([267c6d2e](https://github.com/electron-userland/electron-forge/commit/267c6d2e)) -* upgrade @octokit/rest to 16.28.0 ([20733150](https://github.com/electron-userland/electron-forge/commit/20733150)) -* upgrade electron-installer-dmg to ^3.0.0 (#914) ([6a048cb7](https://github.com/electron-userland/electron-forge/commit/6a048cb7)) -* upgrade electron-rebuild to ^1.8.5 ([b0e019fd](https://github.com/electron-userland/electron-forge/commit/b0e019fd)) -* update README for the create-electron-app command ([09fdf05d](https://github.com/electron-userland/electron-forge/commit/09fdf05d)) -* **deps-dev:** bump babel-plugin-source-map-support ([5e32bcd9](https://github.com/electron-userland/electron-forge/commit/5e32bcd9)) -* **deps:** - * bump inquirer from 6.4.1 to 6.5.0 (#1012) ([aefd33cc](https://github.com/electron-userland/electron-forge/commit/aefd33cc)) - * bump xterm from 3.14.4 to 3.14.5 (#1011) ([edea6f9f](https://github.com/electron-userland/electron-forge/commit/edea6f9f)) -* **core:** - * fix typo ([2b59043a](https://github.com/electron-userland/electron-forge/commit/2b59043a)) - * re-enable built-in template tests (#876) ([23a0cab6](https://github.com/electron-userland/electron-forge/commit/23a0cab6)) +- fix problems with working dir check in bump version script ([677fa9b2](https://github.com/electron-userland/electron-forge/commit/677fa9b2)) +- make sure the changelog modifications are with the proper git tag (#996) ([5a5b526f](https://github.com/electron-userland/electron-forge/commit/5a5b526f)) +- upgrade declared babel packages to ^7.5.0 where available ([fd95c771](https://github.com/electron-userland/electron-forge/commit/fd95c771)) +- upgrade babel packages to 7.5.0 ([ba5e42d1](https://github.com/electron-userland/electron-forge/commit/ba5e42d1)) +- upgrade Electron Packager to 14.0.1 (#987) ([00bb5283](https://github.com/electron-userland/electron-forge/commit/00bb5283)) +- upgrade dependencies ([3ad14a9d](https://github.com/electron-userland/electron-forge/commit/3ad14a9d)) +- upgrade fs-extra to ^8.1.0 and @types/fs-extra to ^8.0.0 (#979) ([4be12b13](https://github.com/electron-userland/electron-forge/commit/4be12b13)) +- upgrade @types/electron-packager to ^14.0.0 ([a4ddf816](https://github.com/electron-userland/electron-forge/commit/a4ddf816)) +- upgrade typescript-eslint packages ([469c39c5](https://github.com/electron-userland/electron-forge/commit/469c39c5)) +- upgrade to Electron Packager 14 & electron-installer-snap 4 (#958) ([8b497ca1](https://github.com/electron-userland/electron-forge/commit/8b497ca1)) +- fix sudo-prompt type definition ([6f3c2ec3](https://github.com/electron-userland/electron-forge/commit/6f3c2ec3)) +- replace pify with util.promisify ([b94692c4](https://github.com/electron-userland/electron-forge/commit/b94692c4)) +- @babel/plugin-proposal-object-rest-spread isn't necessary as of Node 8 ([4e179c66](https://github.com/electron-userland/electron-forge/commit/4e179c66)) +- upgrade dependencies for eslint ([24edb6ee](https://github.com/electron-userland/electron-forge/commit/24edb6ee)) +- upgrade ts-node to 8.3.0 ([ee05021f](https://github.com/electron-userland/electron-forge/commit/ee05021f)) +- upgrade dependencies for electron-rebuild ([e630efa0](https://github.com/electron-userland/electron-forge/commit/e630efa0)) +- upgrade dependencies for electron-winstaller ([373e22f7](https://github.com/electron-userland/electron-forge/commit/373e22f7)) +- upgrade dependencies for typedoc ([9a9486d1](https://github.com/electron-userland/electron-forge/commit/9a9486d1)) +- upgrade dependencies for electron-installer-snap ([089ba6c6](https://github.com/electron-userland/electron-forge/commit/089ba6c6)) +- upgrade dependencies for electron-installer-dmg ([a84ce5fb](https://github.com/electron-userland/electron-forge/commit/a84ce5fb)) +- upgrade @malept/electron-installer-flatpak to ^0.10.0 (#944) ([8c8083bf](https://github.com/electron-userland/electron-forge/commit/8c8083bf)) +- remove unnecessary direct node-gyp dependency (#943) ([e60a5cdf](https://github.com/electron-userland/electron-forge/commit/e60a5cdf)) +- upgrade electron-installer-{debian,redhat} to ^2.0.0 (#928) ([8be98bf8](https://github.com/electron-userland/electron-forge/commit/8be98bf8)) +- upgrade global to 4.4.0 ([7f4d5d0a](https://github.com/electron-userland/electron-forge/commit/7f4d5d0a)) +- upgrade @typescript-eslint/{eslint-plugin,parser} to 1.10.2 ([ae434da5](https://github.com/electron-userland/electron-forge/commit/ae434da5)) +- upgrade aws-sdk to 2.471.0 ([267c6d2e](https://github.com/electron-userland/electron-forge/commit/267c6d2e)) +- upgrade @octokit/rest to 16.28.0 ([20733150](https://github.com/electron-userland/electron-forge/commit/20733150)) +- upgrade electron-installer-dmg to ^3.0.0 (#914) ([6a048cb7](https://github.com/electron-userland/electron-forge/commit/6a048cb7)) +- upgrade electron-rebuild to ^1.8.5 ([b0e019fd](https://github.com/electron-userland/electron-forge/commit/b0e019fd)) +- update README for the create-electron-app command ([09fdf05d](https://github.com/electron-userland/electron-forge/commit/09fdf05d)) +- **deps-dev:** bump babel-plugin-source-map-support ([5e32bcd9](https://github.com/electron-userland/electron-forge/commit/5e32bcd9)) +- **deps:** + - bump inquirer from 6.4.1 to 6.5.0 (#1012) ([aefd33cc](https://github.com/electron-userland/electron-forge/commit/aefd33cc)) + - bump xterm from 3.14.4 to 3.14.5 (#1011) ([edea6f9f](https://github.com/electron-userland/electron-forge/commit/edea6f9f)) +- **core:** + - fix typo ([2b59043a](https://github.com/electron-userland/electron-forge/commit/2b59043a)) + - re-enable built-in template tests (#876) ([23a0cab6](https://github.com/electron-userland/electron-forge/commit/23a0cab6)) ##### Documentation Changes -* link to website repository ([9f1c84cc](https://github.com/electron-userland/electron-forge/commit/9f1c84cc)) -* update links to website ([f3dd9301](https://github.com/electron-userland/electron-forge/commit/f3dd9301)) -* fix plugins link (#923) ([38dafd65](https://github.com/electron-userland/electron-forge/commit/38dafd65)) +- link to website repository ([9f1c84cc](https://github.com/electron-userland/electron-forge/commit/9f1c84cc)) +- update links to website ([f3dd9301](https://github.com/electron-userland/electron-forge/commit/f3dd9301)) +- fix plugins link (#923) ([38dafd65](https://github.com/electron-userland/electron-forge/commit/38dafd65)) ##### New Features -* **template-webpack:** add file-loader/style-loader for handling the static CSS file ([054a458a](https://github.com/electron-userland/electron-forge/commit/054a458a)) -* **core:** use git config to determine author before username (#920) ([57e30a47](https://github.com/electron-userland/electron-forge/commit/57e30a47)) -* Various improvements for electron/template (#950) ([641f5218](https://github.com/electron-userland/electron-forge/commit/641f5218)) +- **template-webpack:** add file-loader/style-loader for handling the static CSS file ([054a458a](https://github.com/electron-userland/electron-forge/commit/054a458a)) +- **core:** use git config to determine author before username (#920) ([57e30a47](https://github.com/electron-userland/electron-forge/commit/57e30a47)) +- Various improvements for electron/template (#950) ([641f5218](https://github.com/electron-userland/electron-forge/commit/641f5218)) ##### Bug Fixes -* **plugin-webpack:** - * check that stats is not empty before sending to multi-logger (#1018) ([aa8587bf](https://github.com/electron-userland/electron-forge/commit/aa8587bf)) - * provide an output path so that hot reloading works correctly ([c8097c2f](https://github.com/electron-userland/electron-forge/commit/c8097c2f)) -* **core:** - * remove unnecessary character from HTML template ([6ab43314](https://github.com/electron-userland/electron-forge/commit/6ab43314)) - * update CI templates to Node 8 and other updates (#975) ([de3b4aac](https://github.com/electron-userland/electron-forge/commit/de3b4aac)) - * restart app in development via CLI multiple times (#904) ([df98fe81](https://github.com/electron-userland/electron-forge/commit/df98fe81)) -* search for the top-level node_modules folder when using yarn workspaces (#902) ([a91d8b31](https://github.com/electron-userland/electron-forge/commit/a91d8b31)) +- **plugin-webpack:** + - check that stats is not empty before sending to multi-logger (#1018) ([aa8587bf](https://github.com/electron-userland/electron-forge/commit/aa8587bf)) + - provide an output path so that hot reloading works correctly ([c8097c2f](https://github.com/electron-userland/electron-forge/commit/c8097c2f)) +- **core:** + - remove unnecessary character from HTML template ([6ab43314](https://github.com/electron-userland/electron-forge/commit/6ab43314)) + - update CI templates to Node 8 and other updates (#975) ([de3b4aac](https://github.com/electron-userland/electron-forge/commit/de3b4aac)) + - restart app in development via CLI multiple times (#904) ([df98fe81](https://github.com/electron-userland/electron-forge/commit/df98fe81)) +- search for the top-level node_modules folder when using yarn workspaces (#902) ([a91d8b31](https://github.com/electron-userland/electron-forge/commit/a91d8b31)) ##### Other Changes -* **deps:** - * bump lodash.merge from 4.6.1 to 4.6.2 (#1006) ([21b40a48](https://github.com/electron-userland/electron-forge/commit/21b40a48)) - * bump lodash.template from 4.4.0 to 4.5.0 (#1003) ([3882dab6](https://github.com/electron-userland/electron-forge/commit/3882dab6)) +- **deps:** + - bump lodash.merge from 4.6.1 to 4.6.2 (#1006) ([21b40a48](https://github.com/electron-userland/electron-forge/commit/21b40a48)) + - bump lodash.template from 4.4.0 to 4.5.0 (#1003) ([3882dab6](https://github.com/electron-userland/electron-forge/commit/3882dab6)) ##### Refactors -* **core:** move css in template to a separate file ([7c963aaf](https://github.com/electron-userland/electron-forge/commit/7c963aaf)) -* convert from electron-download to @electron/get (#921) ([e5f74165](https://github.com/electron-userland/electron-forge/commit/e5f74165)) +- **core:** move css in template to a separate file ([7c963aaf](https://github.com/electron-userland/electron-forge/commit/7c963aaf)) +- convert from electron-download to @electron/get (#921) ([e5f74165](https://github.com/electron-userland/electron-forge/commit/e5f74165)) #### [6.0.0-beta.39](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.39) (2019-05-24) ##### Bug Fixes -* handle native modules in the main process correctly in the webpack plugin ([8d688b81](https://github.com/electron-userland/electron-forge/commit/8d688b81)) +- handle native modules in the main process correctly in the webpack plugin ([8d688b81](https://github.com/electron-userland/electron-forge/commit/8d688b81)) #### [6.0.0-beta.38](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.38) (2019-05-24) ##### Bug Fixes -* add missing @ symbol in webpack template ([84f61a7d](https://github.com/electron-userland/electron-forge/commit/84f61a7d)) +- add missing @ symbol in webpack template ([84f61a7d](https://github.com/electron-userland/electron-forge/commit/84f61a7d)) #### [6.0.0-beta.37](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.37) (2019-05-24) ##### Bug Fixes -* use the forked version of the asset relocator ([05429a9c](https://github.com/electron-userland/electron-forge/commit/05429a9c)) +- use the forked version of the asset relocator ([05429a9c](https://github.com/electron-userland/electron-forge/commit/05429a9c)) #### [6.0.0-beta.36](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.36) (2019-05-24) ##### New Features -* support native modules in webpack template ([ed5fd371](https://github.com/electron-userland/electron-forge/commit/ed5fd371)) +- support native modules in webpack template ([ed5fd371](https://github.com/electron-userland/electron-forge/commit/ed5fd371)) #### [6.0.0-beta.35](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.35) (2019-05-23) ##### Build System / Dependencies -* **deps:** - * bump webpack from 4.32.1 to 4.32.2 (#873) ([1068f9c3](https://github.com/electron-userland/electron-forge/commit/1068f9c3)) - * bump semver from 6.0.0 to 6.1.0 (#870) ([2d2d6acc](https://github.com/electron-userland/electron-forge/commit/2d2d6acc)) - * bump webpack from 4.31.0 to 4.32.1 (#868) ([6f507e49](https://github.com/electron-userland/electron-forge/commit/6f507e49)) - * bump @octokit/rest from 16.25.6 to 16.26.0 (#864) ([d9109fa0](https://github.com/electron-userland/electron-forge/commit/d9109fa0)) - * bump @octokit/rest from 16.25.5 to 16.25.6 (#859) ([2de035ad](https://github.com/electron-userland/electron-forge/commit/2de035ad)) - * bump xterm from 3.13.0 to 3.13.1 (#861) ([81e672e9](https://github.com/electron-userland/electron-forge/commit/81e672e9)) - * bump express from 4.16.4 to 4.17.0 (#862) ([59d64fa7](https://github.com/electron-userland/electron-forge/commit/59d64fa7)) - * bump node-fetch from 2.5.0 to 2.6.0 (#860) ([30a66312](https://github.com/electron-userland/electron-forge/commit/30a66312)) - * bump @octokit/rest from 16.25.4 to 16.25.5 (#855) ([fa9124ad](https://github.com/electron-userland/electron-forge/commit/fa9124ad)) - * bump webpack-hot-middleware from 2.24.4 to 2.25.0 (#858) ([4293dd08](https://github.com/electron-userland/electron-forge/commit/4293dd08)) - * bump webpack-dev-middleware from 3.6.2 to 3.7.0 (#857) ([da19e020](https://github.com/electron-userland/electron-forge/commit/da19e020)) - * bump @octokit/rest from 16.25.3 to 16.25.4 (#846) ([a55cce0a](https://github.com/electron-userland/electron-forge/commit/a55cce0a)) - * bump webpack from 4.30.0 to 4.31.0 (#842) ([060fa838](https://github.com/electron-userland/electron-forge/commit/060fa838)) - * bump xterm from 3.12.2 to 3.13.0 (#843) ([bc50c923](https://github.com/electron-userland/electron-forge/commit/bc50c923)) - * bump glob from 7.1.3 to 7.1.4 (#841) ([c011610a](https://github.com/electron-userland/electron-forge/commit/c011610a)) - * bump @octokit/rest from 16.25.2 to 16.25.3 (#840) ([d240cc34](https://github.com/electron-userland/electron-forge/commit/d240cc34)) - * bump @octokit/rest from 16.25.1 to 16.25.2 (#838) ([d926b6df](https://github.com/electron-userland/electron-forge/commit/d926b6df)) - * bump electron-installer-redhat from 1.0.1 to 1.1.0 (#829) ([271196a0](https://github.com/electron-userland/electron-forge/commit/271196a0)) - * bump electron-installer-debian from 1.1.1 to 1.2.0 (#830) ([c6a32dd4](https://github.com/electron-userland/electron-forge/commit/c6a32dd4)) - * bump node-fetch from 2.4.1 to 2.5.0 (#824) ([ca1db36b](https://github.com/electron-userland/electron-forge/commit/ca1db36b)) - * bump @octokit/rest from 16.25.0 to 16.25.1 (#827) ([cf94150f](https://github.com/electron-userland/electron-forge/commit/cf94150f)) - * bump node-fetch from 2.3.0 to 2.4.1 (#815) ([864e0e91](https://github.com/electron-userland/electron-forge/commit/864e0e91)) - * bump webpack-hot-middleware from 2.24.3 to 2.24.4 (#810) ([c329e3fc](https://github.com/electron-userland/electron-forge/commit/c329e3fc)) - * bump node-gyp from 3.8.0 to 4.0.0 ([1740ebf8](https://github.com/electron-userland/electron-forge/commit/1740ebf8)) - * bump mime-types from 2.1.23 to 2.1.24 (#799) ([bd55bac5](https://github.com/electron-userland/electron-forge/commit/bd55bac5)) - * bump @octokit/rest from 16.24.3 to 16.25.0 (#793) ([0e973e93](https://github.com/electron-userland/electron-forge/commit/0e973e93)) - * bump mime-types from 2.1.22 to 2.1.23 (#787) ([668b7815](https://github.com/electron-userland/electron-forge/commit/668b7815)) - * bump @octokit/rest from 16.24.1 to 16.24.3 (#784) ([da9cf5d8](https://github.com/electron-userland/electron-forge/commit/da9cf5d8)) - * bump inquirer from 6.2.2 to 6.3.1 (#781) ([a84a24d4](https://github.com/electron-userland/electron-forge/commit/a84a24d4)) - * bump @octokit/rest from 16.23.4 to 16.24.1 (#782) ([431ede56](https://github.com/electron-userland/electron-forge/commit/431ede56)) - * bump webpack from 4.29.6 to 4.30.0 (#780) ([636a09c2](https://github.com/electron-userland/electron-forge/commit/636a09c2)) - * bump xterm from 3.12.0 to 3.12.2 (#777) ([8359a4f8](https://github.com/electron-userland/electron-forge/commit/8359a4f8)) - * bump @octokit/rest from 16.23.2 to 16.23.4 (#768) ([d86c17fa](https://github.com/electron-userland/electron-forge/commit/d86c17fa)) - * bump source-map-support from 0.5.11 to 0.5.12 (#766) ([b0a7fa16](https://github.com/electron-userland/electron-forge/commit/b0a7fa16)) -* **deps-dev:** - * bump @babel/preset-env from 7.4.4 to 7.4.5 ([2d82c356](https://github.com/electron-userland/electron-forge/commit/2d82c356)) - * bump @types/inquirer from 6.0.2 to 6.0.3 ([7497fa6d](https://github.com/electron-userland/electron-forge/commit/7497fa6d)) - * bump @types/node-fetch from 2.3.3 to 2.3.4 ([b3a8658f](https://github.com/electron-userland/electron-forge/commit/b3a8658f)) - * bump @types/fetch-mock from 7.2.5 to 7.3.0 ([d9f91767](https://github.com/electron-userland/electron-forge/commit/d9f91767)) - * bump @types/fetch-mock from 7.2.3 to 7.2.5 ([295939b3](https://github.com/electron-userland/electron-forge/commit/295939b3)) - * bump @types/node from 12.0.1 to 12.0.2 ([ab224d41](https://github.com/electron-userland/electron-forge/commit/ab224d41)) - * bump @types/inquirer from 6.0.1 to 6.0.2 ([647e3d40](https://github.com/electron-userland/electron-forge/commit/647e3d40)) - * bump @types/node from 12.0.0 to 12.0.1 ([53fac4f4](https://github.com/electron-userland/electron-forge/commit/53fac4f4)) - * bump cz-customizable from 6.0.0 to 6.2.0 ([ababd4f8](https://github.com/electron-userland/electron-forge/commit/ababd4f8)) - * bump @types/fs-extra from 5.1.0 to 7.0.0 ([7111fa9d](https://github.com/electron-userland/electron-forge/commit/7111fa9d)) - * bump @typescript-eslint/eslint-plugin ([3d68a19a](https://github.com/electron-userland/electron-forge/commit/3d68a19a)) - * bump @typescript-eslint/parser from 1.7.0 to 1.9.0 ([638a2878](https://github.com/electron-userland/electron-forge/commit/638a2878)) - * bump nyc from 14.1.0 to 14.1.1 ([954b0e9b](https://github.com/electron-userland/electron-forge/commit/954b0e9b)) - * bump @types/fs-extra from 5.0.5 to 5.1.0 ([e92eba12](https://github.com/electron-userland/electron-forge/commit/e92eba12)) - * bump @types/node from 11.13.9 to 12.0.0 ([bfe59186](https://github.com/electron-userland/electron-forge/commit/bfe59186)) - * bump eslint-plugin-react from 7.12.4 to 7.13.0 ([7a0a2e14](https://github.com/electron-userland/electron-forge/commit/7a0a2e14)) - * bump @types/webpack from 4.4.29 to 4.4.31 ([2ecad192](https://github.com/electron-userland/electron-forge/commit/2ecad192)) - * bump nyc from 14.0.0 to 14.1.0 ([14bead37](https://github.com/electron-userland/electron-forge/commit/14bead37)) - * bump @types/node from 11.13.8 to 11.13.9 ([99c106fd](https://github.com/electron-userland/electron-forge/commit/99c106fd)) - * bump nodemon from 1.18.11 to 1.19.0 ([8ef391cd](https://github.com/electron-userland/electron-forge/commit/8ef391cd)) - * bump @types/listr from 0.13.0 to 0.14.0 ([aad14f32](https://github.com/electron-userland/electron-forge/commit/aad14f32)) - * bump @babel/plugin-proposal-object-rest-spread ([bdb74be6](https://github.com/electron-userland/electron-forge/commit/bdb74be6)) - * bump @babel/preset-env from 7.4.3 to 7.4.4 ([443e811f](https://github.com/electron-userland/electron-forge/commit/443e811f)) - * bump @babel/plugin-proposal-class-properties ([89cb5262](https://github.com/electron-userland/electron-forge/commit/89cb5262)) - * bump @babel/cli from 7.4.3 to 7.4.4 ([39a0fa54](https://github.com/electron-userland/electron-forge/commit/39a0fa54)) - * bump @babel/register from 7.4.0 to 7.4.4 ([5a9e9a64](https://github.com/electron-userland/electron-forge/commit/5a9e9a64)) - * bump @babel/core from 7.4.3 to 7.4.4 ([1215123d](https://github.com/electron-userland/electron-forge/commit/1215123d)) - * bump @types/node from 11.13.7 to 11.13.8 ([6bfd73aa](https://github.com/electron-userland/electron-forge/commit/6bfd73aa)) - * bump @types/webpack from 4.4.27 to 4.4.29 ([365d7d31](https://github.com/electron-userland/electron-forge/commit/365d7d31)) - * bump @types/node-fetch from 2.3.2 to 2.3.3 ([9f16b35c](https://github.com/electron-userland/electron-forge/commit/9f16b35c)) - * bump @types/inquirer from 6.0.0 to 6.0.1 ([aa86b7e5](https://github.com/electron-userland/electron-forge/commit/aa86b7e5)) - * bump typescript from 3.4.4 to 3.4.5 ([55e5254f](https://github.com/electron-userland/electron-forge/commit/55e5254f)) - * bump @types/node from 11.13.6 to 11.13.7 ([267a1084](https://github.com/electron-userland/electron-forge/commit/267a1084)) - * bump fetch-mock from 7.3.1 to 7.3.3 (#802) ([9c0bee40](https://github.com/electron-userland/electron-forge/commit/9c0bee40)) - * bump @typescript-eslint/eslint-plugin ([7bcf01ac](https://github.com/electron-userland/electron-forge/commit/7bcf01ac)) - * bump commitizen from 3.1.0 to 3.1.1 ([8124d23b](https://github.com/electron-userland/electron-forge/commit/8124d23b)) - * bump @typescript-eslint/parser from 1.6.0 to 1.7.0 ([8f2b8e66](https://github.com/electron-userland/electron-forge/commit/8f2b8e66)) - * bump @types/webpack-merge from 4.1.4 to 4.1.5 ([2ccec31f](https://github.com/electron-userland/electron-forge/commit/2ccec31f)) - * bump @types/node from 11.13.5 to 11.13.6 ([4e558811](https://github.com/electron-userland/electron-forge/commit/4e558811)) - * bump mocha from 6.1.3 to 6.1.4 (#794) ([e82adb77](https://github.com/electron-userland/electron-forge/commit/e82adb77)) - * bump commitizen from 3.0.7 to 3.1.0 ([6d36076e](https://github.com/electron-userland/electron-forge/commit/6d36076e)) - * bump typescript from 3.4.3 to 3.4.4 ([7cd818ac](https://github.com/electron-userland/electron-forge/commit/7cd818ac)) - * bump sinon from 7.3.1 to 7.3.2 (#789) ([4b3d5678](https://github.com/electron-userland/electron-forge/commit/4b3d5678)) - * bump @types/node from 11.13.4 to 11.13.5 ([d6e18dc4](https://github.com/electron-userland/electron-forge/commit/d6e18dc4)) - * bump eslint-plugin-import from 2.17.1 to 2.17.2 ([8c833b6c](https://github.com/electron-userland/electron-forge/commit/8c833b6c)) - * bump nyc from 13.3.0 to 14.0.0 ([17f5e707](https://github.com/electron-userland/electron-forge/commit/17f5e707)) - * bump @types/webpack-merge from 4.1.3 to 4.1.4 ([fa1d6a73](https://github.com/electron-userland/electron-forge/commit/fa1d6a73)) - * bump cz-customizable from 5.10.0 to 6.0.0 ([e9d60b3c](https://github.com/electron-userland/electron-forge/commit/e9d60b3c)) - * bump eslint-plugin-import from 2.16.0 to 2.17.1 ([fa35f96a](https://github.com/electron-userland/electron-forge/commit/fa35f96a)) - * bump ts-node from 8.0.3 to 8.1.0 ([4198a0ea](https://github.com/electron-userland/electron-forge/commit/4198a0ea)) - * bump mocha from 6.1.2 to 6.1.3 (#773) ([5f798fe9](https://github.com/electron-userland/electron-forge/commit/5f798fe9)) - * bump @types/node-fetch from 2.3.1 to 2.3.2 ([dd53d4bd](https://github.com/electron-userland/electron-forge/commit/dd53d4bd)) - * bump @types/debug from 4.1.3 to 4.1.4 ([dd17e103](https://github.com/electron-userland/electron-forge/commit/dd17e103)) - * bump @types/node-fetch from 2.3.0 to 2.3.1 ([c40b527b](https://github.com/electron-userland/electron-forge/commit/c40b527b)) - * bump @types/node from 11.13.2 to 11.13.4 ([8051ea23](https://github.com/electron-userland/electron-forge/commit/8051ea23)) - * bump mocha from 6.1.1 to 6.1.2 (#763) ([edfbdb8d](https://github.com/electron-userland/electron-forge/commit/edfbdb8d)) - * bump typescript from 3.4.2 to 3.4.3 ([def0531b](https://github.com/electron-userland/electron-forge/commit/def0531b)) - * bump nodemon from 1.18.10 to 1.18.11 ([b81c66c1](https://github.com/electron-userland/electron-forge/commit/b81c66c1)) - * bump @types/node from 11.13.0 to 11.13.2 ([23194f9c](https://github.com/electron-userland/electron-forge/commit/23194f9c)) - * bump mocha from 6.0.2 to 6.1.1 ([8e6b3cac](https://github.com/electron-userland/electron-forge/commit/8e6b3cac)) - * bump typescript from 3.4.1 to 3.4.2 ([6818ca99](https://github.com/electron-userland/electron-forge/commit/6818ca99)) - * bump cz-customizable from 5.9.0 to 5.10.0 ([19a4e2ae](https://github.com/electron-userland/electron-forge/commit/19a4e2ae)) - * bump @types/node-fetch from 2.1.7 to 2.3.0 ([1bf14cb0](https://github.com/electron-userland/electron-forge/commit/1bf14cb0)) - * bump cz-customizable from 5.7.0 to 5.9.0 ([82e9c4d9](https://github.com/electron-userland/electron-forge/commit/82e9c4d9)) - * bump @types/node-fetch from 2.1.6 to 2.1.7 ([ac2b31e8](https://github.com/electron-userland/electron-forge/commit/ac2b31e8)) - * bump @types/semver from 5.5.0 to 6.0.0 ([8b583a6e](https://github.com/electron-userland/electron-forge/commit/8b583a6e)) - * bump @types/webpack from 4.4.26 to 4.4.27 ([9fa42eef](https://github.com/electron-userland/electron-forge/commit/9fa42eef)) - * bump @typescript-eslint/eslint-plugin ([9083bfbc](https://github.com/electron-userland/electron-forge/commit/9083bfbc)) - * bump @types/sinon from 7.0.10 to 7.0.11 ([d3de8c94](https://github.com/electron-userland/electron-forge/commit/d3de8c94)) - * bump eslint from 5.15.3 to 5.16.0 ([41fab31b](https://github.com/electron-userland/electron-forge/commit/41fab31b)) - * bump @babel/cli from 7.2.3 to 7.4.3 ([06b74a41](https://github.com/electron-userland/electron-forge/commit/06b74a41)) - * bump @babel/register from 7.0.0 to 7.4.0 ([83b30d86](https://github.com/electron-userland/electron-forge/commit/83b30d86)) - * bump @babel/plugin-proposal-object-rest-spread (#737) ([9713a039](https://github.com/electron-userland/electron-forge/commit/9713a039)) - * bump @types/inquirer from 0.0.44 to 6.0.0 (#732) ([e18750ee](https://github.com/electron-userland/electron-forge/commit/e18750ee)) - * bump @babel/core from 7.3.4 to 7.4.3 (#735) ([9dd656e0](https://github.com/electron-userland/electron-forge/commit/9dd656e0)) - * bump @babel/preset-env from 7.3.4 to 7.4.3 (#729) ([b76b810f](https://github.com/electron-userland/electron-forge/commit/b76b810f)) - * bump @types/debug from 4.1.2 to 4.1.3 (#730) ([11272269](https://github.com/electron-userland/electron-forge/commit/11272269)) - * bump @types/node from 11.11.3 to 11.13.0 (#726) ([8464ca4f](https://github.com/electron-userland/electron-forge/commit/8464ca4f)) - * bump typescript from 3.3.3333 to 3.4.1 (#728) ([dbfdae96](https://github.com/electron-userland/electron-forge/commit/dbfdae96)) - * bump @babel/plugin-proposal-class-properties (#727) ([c9a15f35](https://github.com/electron-userland/electron-forge/commit/c9a15f35)) -* do not attempt to publish docs on forks ([4b3ca888](https://github.com/electron-userland/electron-forge/commit/4b3ca888)) -* fix non-beta tagging in the npm publish script ([8e062e6f](https://github.com/electron-userland/electron-forge/commit/8e062e6f)) +- **deps:** + - bump webpack from 4.32.1 to 4.32.2 (#873) ([1068f9c3](https://github.com/electron-userland/electron-forge/commit/1068f9c3)) + - bump semver from 6.0.0 to 6.1.0 (#870) ([2d2d6acc](https://github.com/electron-userland/electron-forge/commit/2d2d6acc)) + - bump webpack from 4.31.0 to 4.32.1 (#868) ([6f507e49](https://github.com/electron-userland/electron-forge/commit/6f507e49)) + - bump @octokit/rest from 16.25.6 to 16.26.0 (#864) ([d9109fa0](https://github.com/electron-userland/electron-forge/commit/d9109fa0)) + - bump @octokit/rest from 16.25.5 to 16.25.6 (#859) ([2de035ad](https://github.com/electron-userland/electron-forge/commit/2de035ad)) + - bump xterm from 3.13.0 to 3.13.1 (#861) ([81e672e9](https://github.com/electron-userland/electron-forge/commit/81e672e9)) + - bump express from 4.16.4 to 4.17.0 (#862) ([59d64fa7](https://github.com/electron-userland/electron-forge/commit/59d64fa7)) + - bump node-fetch from 2.5.0 to 2.6.0 (#860) ([30a66312](https://github.com/electron-userland/electron-forge/commit/30a66312)) + - bump @octokit/rest from 16.25.4 to 16.25.5 (#855) ([fa9124ad](https://github.com/electron-userland/electron-forge/commit/fa9124ad)) + - bump webpack-hot-middleware from 2.24.4 to 2.25.0 (#858) ([4293dd08](https://github.com/electron-userland/electron-forge/commit/4293dd08)) + - bump webpack-dev-middleware from 3.6.2 to 3.7.0 (#857) ([da19e020](https://github.com/electron-userland/electron-forge/commit/da19e020)) + - bump @octokit/rest from 16.25.3 to 16.25.4 (#846) ([a55cce0a](https://github.com/electron-userland/electron-forge/commit/a55cce0a)) + - bump webpack from 4.30.0 to 4.31.0 (#842) ([060fa838](https://github.com/electron-userland/electron-forge/commit/060fa838)) + - bump xterm from 3.12.2 to 3.13.0 (#843) ([bc50c923](https://github.com/electron-userland/electron-forge/commit/bc50c923)) + - bump glob from 7.1.3 to 7.1.4 (#841) ([c011610a](https://github.com/electron-userland/electron-forge/commit/c011610a)) + - bump @octokit/rest from 16.25.2 to 16.25.3 (#840) ([d240cc34](https://github.com/electron-userland/electron-forge/commit/d240cc34)) + - bump @octokit/rest from 16.25.1 to 16.25.2 (#838) ([d926b6df](https://github.com/electron-userland/electron-forge/commit/d926b6df)) + - bump electron-installer-redhat from 1.0.1 to 1.1.0 (#829) ([271196a0](https://github.com/electron-userland/electron-forge/commit/271196a0)) + - bump electron-installer-debian from 1.1.1 to 1.2.0 (#830) ([c6a32dd4](https://github.com/electron-userland/electron-forge/commit/c6a32dd4)) + - bump node-fetch from 2.4.1 to 2.5.0 (#824) ([ca1db36b](https://github.com/electron-userland/electron-forge/commit/ca1db36b)) + - bump @octokit/rest from 16.25.0 to 16.25.1 (#827) ([cf94150f](https://github.com/electron-userland/electron-forge/commit/cf94150f)) + - bump node-fetch from 2.3.0 to 2.4.1 (#815) ([864e0e91](https://github.com/electron-userland/electron-forge/commit/864e0e91)) + - bump webpack-hot-middleware from 2.24.3 to 2.24.4 (#810) ([c329e3fc](https://github.com/electron-userland/electron-forge/commit/c329e3fc)) + - bump node-gyp from 3.8.0 to 4.0.0 ([1740ebf8](https://github.com/electron-userland/electron-forge/commit/1740ebf8)) + - bump mime-types from 2.1.23 to 2.1.24 (#799) ([bd55bac5](https://github.com/electron-userland/electron-forge/commit/bd55bac5)) + - bump @octokit/rest from 16.24.3 to 16.25.0 (#793) ([0e973e93](https://github.com/electron-userland/electron-forge/commit/0e973e93)) + - bump mime-types from 2.1.22 to 2.1.23 (#787) ([668b7815](https://github.com/electron-userland/electron-forge/commit/668b7815)) + - bump @octokit/rest from 16.24.1 to 16.24.3 (#784) ([da9cf5d8](https://github.com/electron-userland/electron-forge/commit/da9cf5d8)) + - bump inquirer from 6.2.2 to 6.3.1 (#781) ([a84a24d4](https://github.com/electron-userland/electron-forge/commit/a84a24d4)) + - bump @octokit/rest from 16.23.4 to 16.24.1 (#782) ([431ede56](https://github.com/electron-userland/electron-forge/commit/431ede56)) + - bump webpack from 4.29.6 to 4.30.0 (#780) ([636a09c2](https://github.com/electron-userland/electron-forge/commit/636a09c2)) + - bump xterm from 3.12.0 to 3.12.2 (#777) ([8359a4f8](https://github.com/electron-userland/electron-forge/commit/8359a4f8)) + - bump @octokit/rest from 16.23.2 to 16.23.4 (#768) ([d86c17fa](https://github.com/electron-userland/electron-forge/commit/d86c17fa)) + - bump source-map-support from 0.5.11 to 0.5.12 (#766) ([b0a7fa16](https://github.com/electron-userland/electron-forge/commit/b0a7fa16)) +- **deps-dev:** + - bump @babel/preset-env from 7.4.4 to 7.4.5 ([2d82c356](https://github.com/electron-userland/electron-forge/commit/2d82c356)) + - bump @types/inquirer from 6.0.2 to 6.0.3 ([7497fa6d](https://github.com/electron-userland/electron-forge/commit/7497fa6d)) + - bump @types/node-fetch from 2.3.3 to 2.3.4 ([b3a8658f](https://github.com/electron-userland/electron-forge/commit/b3a8658f)) + - bump @types/fetch-mock from 7.2.5 to 7.3.0 ([d9f91767](https://github.com/electron-userland/electron-forge/commit/d9f91767)) + - bump @types/fetch-mock from 7.2.3 to 7.2.5 ([295939b3](https://github.com/electron-userland/electron-forge/commit/295939b3)) + - bump @types/node from 12.0.1 to 12.0.2 ([ab224d41](https://github.com/electron-userland/electron-forge/commit/ab224d41)) + - bump @types/inquirer from 6.0.1 to 6.0.2 ([647e3d40](https://github.com/electron-userland/electron-forge/commit/647e3d40)) + - bump @types/node from 12.0.0 to 12.0.1 ([53fac4f4](https://github.com/electron-userland/electron-forge/commit/53fac4f4)) + - bump cz-customizable from 6.0.0 to 6.2.0 ([ababd4f8](https://github.com/electron-userland/electron-forge/commit/ababd4f8)) + - bump @types/fs-extra from 5.1.0 to 7.0.0 ([7111fa9d](https://github.com/electron-userland/electron-forge/commit/7111fa9d)) + - bump @typescript-eslint/eslint-plugin ([3d68a19a](https://github.com/electron-userland/electron-forge/commit/3d68a19a)) + - bump @typescript-eslint/parser from 1.7.0 to 1.9.0 ([638a2878](https://github.com/electron-userland/electron-forge/commit/638a2878)) + - bump nyc from 14.1.0 to 14.1.1 ([954b0e9b](https://github.com/electron-userland/electron-forge/commit/954b0e9b)) + - bump @types/fs-extra from 5.0.5 to 5.1.0 ([e92eba12](https://github.com/electron-userland/electron-forge/commit/e92eba12)) + - bump @types/node from 11.13.9 to 12.0.0 ([bfe59186](https://github.com/electron-userland/electron-forge/commit/bfe59186)) + - bump eslint-plugin-react from 7.12.4 to 7.13.0 ([7a0a2e14](https://github.com/electron-userland/electron-forge/commit/7a0a2e14)) + - bump @types/webpack from 4.4.29 to 4.4.31 ([2ecad192](https://github.com/electron-userland/electron-forge/commit/2ecad192)) + - bump nyc from 14.0.0 to 14.1.0 ([14bead37](https://github.com/electron-userland/electron-forge/commit/14bead37)) + - bump @types/node from 11.13.8 to 11.13.9 ([99c106fd](https://github.com/electron-userland/electron-forge/commit/99c106fd)) + - bump nodemon from 1.18.11 to 1.19.0 ([8ef391cd](https://github.com/electron-userland/electron-forge/commit/8ef391cd)) + - bump @types/listr from 0.13.0 to 0.14.0 ([aad14f32](https://github.com/electron-userland/electron-forge/commit/aad14f32)) + - bump @babel/plugin-proposal-object-rest-spread ([bdb74be6](https://github.com/electron-userland/electron-forge/commit/bdb74be6)) + - bump @babel/preset-env from 7.4.3 to 7.4.4 ([443e811f](https://github.com/electron-userland/electron-forge/commit/443e811f)) + - bump @babel/plugin-proposal-class-properties ([89cb5262](https://github.com/electron-userland/electron-forge/commit/89cb5262)) + - bump @babel/cli from 7.4.3 to 7.4.4 ([39a0fa54](https://github.com/electron-userland/electron-forge/commit/39a0fa54)) + - bump @babel/register from 7.4.0 to 7.4.4 ([5a9e9a64](https://github.com/electron-userland/electron-forge/commit/5a9e9a64)) + - bump @babel/core from 7.4.3 to 7.4.4 ([1215123d](https://github.com/electron-userland/electron-forge/commit/1215123d)) + - bump @types/node from 11.13.7 to 11.13.8 ([6bfd73aa](https://github.com/electron-userland/electron-forge/commit/6bfd73aa)) + - bump @types/webpack from 4.4.27 to 4.4.29 ([365d7d31](https://github.com/electron-userland/electron-forge/commit/365d7d31)) + - bump @types/node-fetch from 2.3.2 to 2.3.3 ([9f16b35c](https://github.com/electron-userland/electron-forge/commit/9f16b35c)) + - bump @types/inquirer from 6.0.0 to 6.0.1 ([aa86b7e5](https://github.com/electron-userland/electron-forge/commit/aa86b7e5)) + - bump typescript from 3.4.4 to 3.4.5 ([55e5254f](https://github.com/electron-userland/electron-forge/commit/55e5254f)) + - bump @types/node from 11.13.6 to 11.13.7 ([267a1084](https://github.com/electron-userland/electron-forge/commit/267a1084)) + - bump fetch-mock from 7.3.1 to 7.3.3 (#802) ([9c0bee40](https://github.com/electron-userland/electron-forge/commit/9c0bee40)) + - bump @typescript-eslint/eslint-plugin ([7bcf01ac](https://github.com/electron-userland/electron-forge/commit/7bcf01ac)) + - bump commitizen from 3.1.0 to 3.1.1 ([8124d23b](https://github.com/electron-userland/electron-forge/commit/8124d23b)) + - bump @typescript-eslint/parser from 1.6.0 to 1.7.0 ([8f2b8e66](https://github.com/electron-userland/electron-forge/commit/8f2b8e66)) + - bump @types/webpack-merge from 4.1.4 to 4.1.5 ([2ccec31f](https://github.com/electron-userland/electron-forge/commit/2ccec31f)) + - bump @types/node from 11.13.5 to 11.13.6 ([4e558811](https://github.com/electron-userland/electron-forge/commit/4e558811)) + - bump mocha from 6.1.3 to 6.1.4 (#794) ([e82adb77](https://github.com/electron-userland/electron-forge/commit/e82adb77)) + - bump commitizen from 3.0.7 to 3.1.0 ([6d36076e](https://github.com/electron-userland/electron-forge/commit/6d36076e)) + - bump typescript from 3.4.3 to 3.4.4 ([7cd818ac](https://github.com/electron-userland/electron-forge/commit/7cd818ac)) + - bump sinon from 7.3.1 to 7.3.2 (#789) ([4b3d5678](https://github.com/electron-userland/electron-forge/commit/4b3d5678)) + - bump @types/node from 11.13.4 to 11.13.5 ([d6e18dc4](https://github.com/electron-userland/electron-forge/commit/d6e18dc4)) + - bump eslint-plugin-import from 2.17.1 to 2.17.2 ([8c833b6c](https://github.com/electron-userland/electron-forge/commit/8c833b6c)) + - bump nyc from 13.3.0 to 14.0.0 ([17f5e707](https://github.com/electron-userland/electron-forge/commit/17f5e707)) + - bump @types/webpack-merge from 4.1.3 to 4.1.4 ([fa1d6a73](https://github.com/electron-userland/electron-forge/commit/fa1d6a73)) + - bump cz-customizable from 5.10.0 to 6.0.0 ([e9d60b3c](https://github.com/electron-userland/electron-forge/commit/e9d60b3c)) + - bump eslint-plugin-import from 2.16.0 to 2.17.1 ([fa35f96a](https://github.com/electron-userland/electron-forge/commit/fa35f96a)) + - bump ts-node from 8.0.3 to 8.1.0 ([4198a0ea](https://github.com/electron-userland/electron-forge/commit/4198a0ea)) + - bump mocha from 6.1.2 to 6.1.3 (#773) ([5f798fe9](https://github.com/electron-userland/electron-forge/commit/5f798fe9)) + - bump @types/node-fetch from 2.3.1 to 2.3.2 ([dd53d4bd](https://github.com/electron-userland/electron-forge/commit/dd53d4bd)) + - bump @types/debug from 4.1.3 to 4.1.4 ([dd17e103](https://github.com/electron-userland/electron-forge/commit/dd17e103)) + - bump @types/node-fetch from 2.3.0 to 2.3.1 ([c40b527b](https://github.com/electron-userland/electron-forge/commit/c40b527b)) + - bump @types/node from 11.13.2 to 11.13.4 ([8051ea23](https://github.com/electron-userland/electron-forge/commit/8051ea23)) + - bump mocha from 6.1.1 to 6.1.2 (#763) ([edfbdb8d](https://github.com/electron-userland/electron-forge/commit/edfbdb8d)) + - bump typescript from 3.4.2 to 3.4.3 ([def0531b](https://github.com/electron-userland/electron-forge/commit/def0531b)) + - bump nodemon from 1.18.10 to 1.18.11 ([b81c66c1](https://github.com/electron-userland/electron-forge/commit/b81c66c1)) + - bump @types/node from 11.13.0 to 11.13.2 ([23194f9c](https://github.com/electron-userland/electron-forge/commit/23194f9c)) + - bump mocha from 6.0.2 to 6.1.1 ([8e6b3cac](https://github.com/electron-userland/electron-forge/commit/8e6b3cac)) + - bump typescript from 3.4.1 to 3.4.2 ([6818ca99](https://github.com/electron-userland/electron-forge/commit/6818ca99)) + - bump cz-customizable from 5.9.0 to 5.10.0 ([19a4e2ae](https://github.com/electron-userland/electron-forge/commit/19a4e2ae)) + - bump @types/node-fetch from 2.1.7 to 2.3.0 ([1bf14cb0](https://github.com/electron-userland/electron-forge/commit/1bf14cb0)) + - bump cz-customizable from 5.7.0 to 5.9.0 ([82e9c4d9](https://github.com/electron-userland/electron-forge/commit/82e9c4d9)) + - bump @types/node-fetch from 2.1.6 to 2.1.7 ([ac2b31e8](https://github.com/electron-userland/electron-forge/commit/ac2b31e8)) + - bump @types/semver from 5.5.0 to 6.0.0 ([8b583a6e](https://github.com/electron-userland/electron-forge/commit/8b583a6e)) + - bump @types/webpack from 4.4.26 to 4.4.27 ([9fa42eef](https://github.com/electron-userland/electron-forge/commit/9fa42eef)) + - bump @typescript-eslint/eslint-plugin ([9083bfbc](https://github.com/electron-userland/electron-forge/commit/9083bfbc)) + - bump @types/sinon from 7.0.10 to 7.0.11 ([d3de8c94](https://github.com/electron-userland/electron-forge/commit/d3de8c94)) + - bump eslint from 5.15.3 to 5.16.0 ([41fab31b](https://github.com/electron-userland/electron-forge/commit/41fab31b)) + - bump @babel/cli from 7.2.3 to 7.4.3 ([06b74a41](https://github.com/electron-userland/electron-forge/commit/06b74a41)) + - bump @babel/register from 7.0.0 to 7.4.0 ([83b30d86](https://github.com/electron-userland/electron-forge/commit/83b30d86)) + - bump @babel/plugin-proposal-object-rest-spread (#737) ([9713a039](https://github.com/electron-userland/electron-forge/commit/9713a039)) + - bump @types/inquirer from 0.0.44 to 6.0.0 (#732) ([e18750ee](https://github.com/electron-userland/electron-forge/commit/e18750ee)) + - bump @babel/core from 7.3.4 to 7.4.3 (#735) ([9dd656e0](https://github.com/electron-userland/electron-forge/commit/9dd656e0)) + - bump @babel/preset-env from 7.3.4 to 7.4.3 (#729) ([b76b810f](https://github.com/electron-userland/electron-forge/commit/b76b810f)) + - bump @types/debug from 4.1.2 to 4.1.3 (#730) ([11272269](https://github.com/electron-userland/electron-forge/commit/11272269)) + - bump @types/node from 11.11.3 to 11.13.0 (#726) ([8464ca4f](https://github.com/electron-userland/electron-forge/commit/8464ca4f)) + - bump typescript from 3.3.3333 to 3.4.1 (#728) ([dbfdae96](https://github.com/electron-userland/electron-forge/commit/dbfdae96)) + - bump @babel/plugin-proposal-class-properties (#727) ([c9a15f35](https://github.com/electron-userland/electron-forge/commit/c9a15f35)) +- do not attempt to publish docs on forks ([4b3ca888](https://github.com/electron-userland/electron-forge/commit/4b3ca888)) +- fix non-beta tagging in the npm publish script ([8e062e6f](https://github.com/electron-userland/electron-forge/commit/8e062e6f)) ##### Chores -* improve first-run experience ([49bf7a15](https://github.com/electron-userland/electron-forge/commit/49bf7a15)) -* remove templates which don't work with Forge 6 (#874) ([ef27272a](https://github.com/electron-userland/electron-forge/commit/ef27272a)) -* upgrade electron-installer-snap to ^3.2.0 for Electron 5 sandbox support ([1cadd68e](https://github.com/electron-userland/electron-forge/commit/1cadd68e)) -* upgrade electron-rebuild deps, including node-abi ([b28e51d0](https://github.com/electron-userland/electron-forge/commit/b28e51d0)) -* upgrade semver to ^6 ([cf002ee9](https://github.com/electron-userland/electron-forge/commit/cf002ee9)) -* upgrade dependencies ([3a94ad60](https://github.com/electron-userland/electron-forge/commit/3a94ad60)) -* drop tslint (#731) ([f530aead](https://github.com/electron-userland/electron-forge/commit/f530aead)) -* replace tslint with eslint to lint mocha tests (#590) ([7af36d59](https://github.com/electron-userland/electron-forge/commit/7af36d59)) -* **web-multi-logger:** fix package description (#806) ([567e8e58](https://github.com/electron-userland/electron-forge/commit/567e8e58)) +- improve first-run experience ([49bf7a15](https://github.com/electron-userland/electron-forge/commit/49bf7a15)) +- remove templates which don't work with Forge 6 (#874) ([ef27272a](https://github.com/electron-userland/electron-forge/commit/ef27272a)) +- upgrade electron-installer-snap to ^3.2.0 for Electron 5 sandbox support ([1cadd68e](https://github.com/electron-userland/electron-forge/commit/1cadd68e)) +- upgrade electron-rebuild deps, including node-abi ([b28e51d0](https://github.com/electron-userland/electron-forge/commit/b28e51d0)) +- upgrade semver to ^6 ([cf002ee9](https://github.com/electron-userland/electron-forge/commit/cf002ee9)) +- upgrade dependencies ([3a94ad60](https://github.com/electron-userland/electron-forge/commit/3a94ad60)) +- drop tslint (#731) ([f530aead](https://github.com/electron-userland/electron-forge/commit/f530aead)) +- replace tslint with eslint to lint mocha tests (#590) ([7af36d59](https://github.com/electron-userland/electron-forge/commit/7af36d59)) +- **web-multi-logger:** fix package description (#806) ([567e8e58](https://github.com/electron-userland/electron-forge/commit/567e8e58)) ##### Documentation Changes -* Fix 'Docs and Usage' link (#723) ([7abca7d3](https://github.com/electron-userland/electron-forge/commit/7abca7d3)) -* ensure that the CLI package has a README on NPM ([00b87a0e](https://github.com/electron-userland/electron-forge/commit/00b87a0e)) +- Fix 'Docs and Usage' link (#723) ([7abca7d3](https://github.com/electron-userland/electron-forge/commit/7abca7d3)) +- ensure that the CLI package has a README on NPM ([00b87a0e](https://github.com/electron-userland/electron-forge/commit/00b87a0e)) ##### New Features -* add a barebones webpack template ([3b935c8f](https://github.com/electron-userland/electron-forge/commit/3b935c8f)) -* Node 8 support (#875) ([db89c4ef](https://github.com/electron-userland/electron-forge/commit/db89c4ef)) -* **plugin-webpack:** allow port to be configurable for web-multi-logger ([330d0f59](https://github.com/electron-userland/electron-forge/commit/330d0f59)) +- add a barebones webpack template ([3b935c8f](https://github.com/electron-userland/electron-forge/commit/3b935c8f)) +- Node 8 support (#875) ([db89c4ef](https://github.com/electron-userland/electron-forge/commit/db89c4ef)) +- **plugin-webpack:** allow port to be configurable for web-multi-logger ([330d0f59](https://github.com/electron-userland/electron-forge/commit/330d0f59)) ##### Bug Fixes -* make the version lookup more resilient to install strategy ([068c2f81](https://github.com/electron-userland/electron-forge/commit/068c2f81)) -* **plugin-webpack:** - * change all LoggerPort to camel case ([198ab61c](https://github.com/electron-userland/electron-forge/commit/198ab61c)) - * fix output string color ([0c8b7e96](https://github.com/electron-userland/electron-forge/commit/0c8b7e96)) +- make the version lookup more resilient to install strategy ([068c2f81](https://github.com/electron-userland/electron-forge/commit/068c2f81)) +- **plugin-webpack:** + - change all LoggerPort to camel case ([198ab61c](https://github.com/electron-userland/electron-forge/commit/198ab61c)) + - fix output string color ([0c8b7e96](https://github.com/electron-userland/electron-forge/commit/0c8b7e96)) #### [6.0.0-beta.34](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.34) (2019-03-21) ##### Chores -* temporarily release stable tags for V6 beta ([be1cf7b0](https://github.com/electron-userland/electron-forge/commit/be1cf7b0)) -* switch flatpak maker to @malept/electron-installer-flatpak (#714) ([02ddd848](https://github.com/electron-userland/electron-forge/commit/02ddd848)) -* upgrade electron-winstaller to ^3.0.4 ([d3e7305c](https://github.com/electron-userland/electron-forge/commit/d3e7305c)) -* fix ps1 issue on windows CI ([5c13df3b](https://github.com/electron-userland/electron-forge/commit/5c13df3b)) -* upgrade dependencies (#701) ([83bfe971](https://github.com/electron-userland/electron-forge/commit/83bfe971)) +- temporarily release stable tags for V6 beta ([be1cf7b0](https://github.com/electron-userland/electron-forge/commit/be1cf7b0)) +- switch flatpak maker to @malept/electron-installer-flatpak (#714) ([02ddd848](https://github.com/electron-userland/electron-forge/commit/02ddd848)) +- upgrade electron-winstaller to ^3.0.4 ([d3e7305c](https://github.com/electron-userland/electron-forge/commit/d3e7305c)) +- fix ps1 issue on windows CI ([5c13df3b](https://github.com/electron-userland/electron-forge/commit/5c13df3b)) +- upgrade dependencies (#701) ([83bfe971](https://github.com/electron-userland/electron-forge/commit/83bfe971)) ##### Bug Fixes -* **plugin-webpack:** - * allow port to be configurable (#693) ([4da0230f](https://github.com/electron-userland/electron-forge/commit/4da0230f)) - * throw an error if webpack generates compilation errors when packaging (#695) ([696b11d9](https://github.com/electron-userland/electron-forge/commit/696b11d9)) -* **core:** be more descriptive when a plugin/maker/publisher module isn't found ([788412e3](https://github.com/electron-userland/electron-forge/commit/788412e3)) +- **plugin-webpack:** + - allow port to be configurable (#693) ([4da0230f](https://github.com/electron-userland/electron-forge/commit/4da0230f)) + - throw an error if webpack generates compilation errors when packaging (#695) ([696b11d9](https://github.com/electron-userland/electron-forge/commit/696b11d9)) +- **core:** be more descriptive when a plugin/maker/publisher module isn't found ([788412e3](https://github.com/electron-userland/electron-forge/commit/788412e3)) #### [6.0.0-beta.33](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.33) (2019-02-08) ##### Chores -* **core:** upgrade electron-rebuild to 1.8.3 ([45d454a4](https://github.com/electron-userland/electron-forge/commit/45d454a4)) -* upgrade typescript to 3.2.2 (#649) ([7abaf7f7](https://github.com/electron-userland/electron-forge/commit/7abaf7f7)) +- **core:** upgrade electron-rebuild to 1.8.3 ([45d454a4](https://github.com/electron-userland/electron-forge/commit/45d454a4)) +- upgrade typescript to 3.2.2 (#649) ([7abaf7f7](https://github.com/electron-userland/electron-forge/commit/7abaf7f7)) ##### New Features -* **core:** add basic support for non-exact Electron versions ([177012e9](https://github.com/electron-userland/electron-forge/commit/177012e9)) +- **core:** add basic support for non-exact Electron versions ([177012e9](https://github.com/electron-userland/electron-forge/commit/177012e9)) ##### Bug Fixes -* use git to check that you're in a Git repository (#689) ([72b8eea4](https://github.com/electron-userland/electron-forge/commit/72b8eea4)) -* abstract base classes should implement shared type interfaces (#684) ([d15a8cc2](https://github.com/electron-userland/electron-forge/commit/d15a8cc2)) -* **plugin-webpack:** make the PRELOAD_ENTRY variable map to undefined when there is no preload ([2e71061a](https://github.com/electron-userland/electron-forge/commit/2e71061a)) +- use git to check that you're in a Git repository (#689) ([72b8eea4](https://github.com/electron-userland/electron-forge/commit/72b8eea4)) +- abstract base classes should implement shared type interfaces (#684) ([d15a8cc2](https://github.com/electron-userland/electron-forge/commit/d15a8cc2)) +- **plugin-webpack:** make the PRELOAD_ENTRY variable map to undefined when there is no preload ([2e71061a](https://github.com/electron-userland/electron-forge/commit/2e71061a)) ##### Other Changes -* use NPM cache ([1e3cb109](https://github.com/electron-userland/electron-forge/commit/1e3cb109)) +- use NPM cache ([1e3cb109](https://github.com/electron-userland/electron-forge/commit/1e3cb109)) #### [6.0.0-beta.32](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.32) (2019-01-15) ##### Bug Fixes -* **core:** add lodash.merge to package.json ([803bb362](https://github.com/electron-userland/electron-forge/commit/803bb362)) +- **core:** add lodash.merge to package.json ([803bb362](https://github.com/electron-userland/electron-forge/commit/803bb362)) #### [6.0.0-beta.31](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.31) (2019-01-15) ##### Chores -* **maker:** update debian/redhat/snap installer dependencies ([2c22f1be](https://github.com/electron-userland/electron-forge/commit/2c22f1be)) -* run now with Node 8 in a separate Travis CI stage ([f93da7a5](https://github.com/electron-userland/electron-forge/commit/f93da7a5)) -* update dependencies ([3b5b8044](https://github.com/electron-userland/electron-forge/commit/3b5b8044)) -* use cross-env for windows support in test helper ([91c35869](https://github.com/electron-userland/electron-forge/commit/91c35869)) -* fix linting issue in tools ([ec34411a](https://github.com/electron-userland/electron-forge/commit/ec34411a)) -* update all package.json refs to match top level package.json ([07fc2aa4](https://github.com/electron-userland/electron-forge/commit/07fc2aa4)) -* update all deps for v6 ([d0bdf611](https://github.com/electron-userland/electron-forge/commit/d0bdf611)) -* **core:** upgrade to Electron Packager 13 ([ba612bc4](https://github.com/electron-userland/electron-forge/commit/ba612bc4)) +- **maker:** update debian/redhat/snap installer dependencies ([2c22f1be](https://github.com/electron-userland/electron-forge/commit/2c22f1be)) +- run now with Node 8 in a separate Travis CI stage ([f93da7a5](https://github.com/electron-userland/electron-forge/commit/f93da7a5)) +- update dependencies ([3b5b8044](https://github.com/electron-userland/electron-forge/commit/3b5b8044)) +- use cross-env for windows support in test helper ([91c35869](https://github.com/electron-userland/electron-forge/commit/91c35869)) +- fix linting issue in tools ([ec34411a](https://github.com/electron-userland/electron-forge/commit/ec34411a)) +- update all package.json refs to match top level package.json ([07fc2aa4](https://github.com/electron-userland/electron-forge/commit/07fc2aa4)) +- update all deps for v6 ([d0bdf611](https://github.com/electron-userland/electron-forge/commit/d0bdf611)) +- **core:** upgrade to Electron Packager 13 ([ba612bc4](https://github.com/electron-userland/electron-forge/commit/ba612bc4)) ##### Documentation Changes -* add docs on using the new testing helpers ([06c4602b](https://github.com/electron-userland/electron-forge/commit/06c4602b)) +- add docs on using the new testing helpers ([06c4602b](https://github.com/electron-userland/electron-forge/commit/06c4602b)) ##### New Features -* **core:** - * add support for electron-nightly ([a74169ee](https://github.com/electron-userland/electron-forge/commit/a74169ee)) - * add basic Forge v5 to v6 importer ([648ef333](https://github.com/electron-userland/electron-forge/commit/648ef333)) +- **core:** + - add support for electron-nightly ([a74169ee](https://github.com/electron-userland/electron-forge/commit/a74169ee)) + - add basic Forge v5 to v6 importer ([648ef333](https://github.com/electron-userland/electron-forge/commit/648ef333)) ##### Bug Fixes -* **plugin-webpack:** fix incorrect PRELOAD_WEBPACK_ENTRY. (#635) ([6eae1b5c](https://github.com/electron-userland/electron-forge/commit/6eae1b5c)) +- **plugin-webpack:** fix incorrect PRELOAD_WEBPACK_ENTRY. (#635) ([6eae1b5c](https://github.com/electron-userland/electron-forge/commit/6eae1b5c)) ##### Refactors -* make running tests better with --fast and --match utils ([fb776e19](https://github.com/electron-userland/electron-forge/commit/fb776e19)) -* **plugin-auto-unpack-natives:** clean up plugin impl ([a05e2dc0](https://github.com/electron-userland/electron-forge/commit/a05e2dc0)) +- make running tests better with --fast and --match utils ([fb776e19](https://github.com/electron-userland/electron-forge/commit/fb776e19)) +- **plugin-auto-unpack-natives:** clean up plugin impl ([a05e2dc0](https://github.com/electron-userland/electron-forge/commit/a05e2dc0)) ##### Tests -* **core:** - * add tests for updateElectronDependency and getElectronVersion ([cc93be9e](https://github.com/electron-userland/electron-forge/commit/cc93be9e)) - * fix fixture resolution for core tests ([7a0dfe9b](https://github.com/electron-userland/electron-forge/commit/7a0dfe9b)) -* **publisher-base:** add __is test for base publisher ([503f3025](https://github.com/electron-userland/electron-forge/commit/503f3025)) +- **core:** + - add tests for updateElectronDependency and getElectronVersion ([cc93be9e](https://github.com/electron-userland/electron-forge/commit/cc93be9e)) + - fix fixture resolution for core tests ([7a0dfe9b](https://github.com/electron-userland/electron-forge/commit/7a0dfe9b)) +- **publisher-base:** add \_\_is test for base publisher ([503f3025](https://github.com/electron-userland/electron-forge/commit/503f3025)) #### [6.0.0-beta.30](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.30) (2018-11-20) ##### Chores -* add yarn integrity SHA's to lock file ([e1ea4c3e](https://github.com/electron-userland/electron-forge/commit/e1ea4c3e)) -* make type checking faster, type check entire repo at once ([00c5769f](https://github.com/electron-userland/electron-forge/commit/00c5769f)) -* make templates work in v6 ([22549d92](https://github.com/electron-userland/electron-forge/commit/22549d92)) -* update dependencies ([cddfb1f5](https://github.com/electron-userland/electron-forge/commit/cddfb1f5)) -* remove .npmignore from git ([61884d33](https://github.com/electron-userland/electron-forge/commit/61884d33)) -* **cli:** chmod +x src/electron-forge.js so the compiled file is also executable ([ca60a3fd](https://github.com/electron-userland/electron-forge/commit/ca60a3fd)) +- add yarn integrity SHA's to lock file ([e1ea4c3e](https://github.com/electron-userland/electron-forge/commit/e1ea4c3e)) +- make type checking faster, type check entire repo at once ([00c5769f](https://github.com/electron-userland/electron-forge/commit/00c5769f)) +- make templates work in v6 ([22549d92](https://github.com/electron-userland/electron-forge/commit/22549d92)) +- update dependencies ([cddfb1f5](https://github.com/electron-userland/electron-forge/commit/cddfb1f5)) +- remove .npmignore from git ([61884d33](https://github.com/electron-userland/electron-forge/commit/61884d33)) +- **cli:** chmod +x src/electron-forge.js so the compiled file is also executable ([ca60a3fd](https://github.com/electron-userland/electron-forge/commit/ca60a3fd)) ##### Documentation Changes -* fix CONTRIBUTING.md link in README ([01e715fd](https://github.com/electron-userland/electron-forge/commit/01e715fd)) -* add contributing docs ([80259589](https://github.com/electron-userland/electron-forge/commit/80259589)) +- fix CONTRIBUTING.md link in README ([01e715fd](https://github.com/electron-userland/electron-forge/commit/01e715fd)) +- add contributing docs ([80259589](https://github.com/electron-userland/electron-forge/commit/80259589)) ##### Bug Fixes -* **maker-dmg:** return correct path from dmg maker (#631) ([b6c523c9](https://github.com/electron-userland/electron-forge/commit/b6c523c9)) -* **maker-wix:** correct path to distributable ([5eee34f4](https://github.com/electron-userland/electron-forge/commit/5eee34f4)) -* **core:** - * rename maker fixtures so they will get compiled by babel/typescript (#630) ([dabd5956](https://github.com/electron-userland/electron-forge/commit/dabd5956)) - * show the package manager stderr when installing deps fails ([2dfde761](https://github.com/electron-userland/electron-forge/commit/2dfde761)) -* fix build failing due to ts-node bug ([19f0c03f](https://github.com/electron-userland/electron-forge/commit/19f0c03f)) -* clean up the .webpack folder before builds. Fixes #596 ([c64b11ce](https://github.com/electron-userland/electron-forge/commit/c64b11ce)) +- **maker-dmg:** return correct path from dmg maker (#631) ([b6c523c9](https://github.com/electron-userland/electron-forge/commit/b6c523c9)) +- **maker-wix:** correct path to distributable ([5eee34f4](https://github.com/electron-userland/electron-forge/commit/5eee34f4)) +- **core:** + - rename maker fixtures so they will get compiled by babel/typescript (#630) ([dabd5956](https://github.com/electron-userland/electron-forge/commit/dabd5956)) + - show the package manager stderr when installing deps fails ([2dfde761](https://github.com/electron-userland/electron-forge/commit/2dfde761)) +- fix build failing due to ts-node bug ([19f0c03f](https://github.com/electron-userland/electron-forge/commit/19f0c03f)) +- clean up the .webpack folder before builds. Fixes #596 ([c64b11ce](https://github.com/electron-userland/electron-forge/commit/c64b11ce)) ##### Tests -* **core:** assert that makers' output files are in the correct directory ([50a4f06f](https://github.com/electron-userland/electron-forge/commit/50a4f06f)) +- **core:** assert that makers' output files are in the correct directory ([50a4f06f](https://github.com/electron-userland/electron-forge/commit/50a4f06f)) #### [6.0.0-beta.29](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.29) (2018-10-16) ##### Chores -* add .npmignore when publishing ([380762e9](https://github.com/electron-userland/electron-forge/commit/380762e9)) +- add .npmignore when publishing ([380762e9](https://github.com/electron-userland/electron-forge/commit/380762e9)) ##### New Features -* auto-ignore everything that is not webpack output during the webpack build. Fixes #593 ([51a22f74](https://github.com/electron-userland/electron-forge/commit/51a22f74)) -* **publisher-bitbucket:** initial publish publisher-bitbucket (#571) ([82e8c85e](https://github.com/electron-userland/electron-forge/commit/82e8c85e)) +- auto-ignore everything that is not webpack output during the webpack build. Fixes #593 ([51a22f74](https://github.com/electron-userland/electron-forge/commit/51a22f74)) +- **publisher-bitbucket:** initial publish publisher-bitbucket (#571) ([82e8c85e](https://github.com/electron-userland/electron-forge/commit/82e8c85e)) ##### Bug Fixes -* **maker-deb:** return the correct outPath with a prerelease version (#584) ([a4fbc0a7](https://github.com/electron-userland/electron-forge/commit/a4fbc0a7)) +- **maker-deb:** return the correct outPath with a prerelease version (#584) ([a4fbc0a7](https://github.com/electron-userland/electron-forge/commit/a4fbc0a7)) #### [6.0.0-beta.28](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.28) (2018-09-10) ##### Chores -* use yarn to run commands on CI to make output better ([12209b00](https://github.com/electron-userland/electron-forge/commit/12209b00)) -* upgrade tslint-config-airbnb ([3618e991](https://github.com/electron-userland/electron-forge/commit/3618e991)) -* **core:** upgrade @types/electron-packager ([2bab74c7](https://github.com/electron-userland/electron-forge/commit/2bab74c7)) +- use yarn to run commands on CI to make output better ([12209b00](https://github.com/electron-userland/electron-forge/commit/12209b00)) +- upgrade tslint-config-airbnb ([3618e991](https://github.com/electron-userland/electron-forge/commit/3618e991)) +- **core:** upgrade @types/electron-packager ([2bab74c7](https://github.com/electron-userland/electron-forge/commit/2bab74c7)) ##### New Features -* **core:** resolve forge.config.js by default if it exists (#569) ([5431dfa1](https://github.com/electron-userland/electron-forge/commit/5431dfa1)) +- **core:** resolve forge.config.js by default if it exists (#569) ([5431dfa1](https://github.com/electron-userland/electron-forge/commit/5431dfa1)) ##### Bug Fixes -* bumps bolt version in Travis (was already bumped in docker and appveyor (#570) ([640ba77b](https://github.com/electron-userland/electron-forge/commit/640ba77b)) -* **core:** - * keep track of application restarts and close stdin pipe correctly (#567) ([eb29dd6d](https://github.com/electron-userland/electron-forge/commit/eb29dd6d)) - * resolve publisher config correctly when given a publisher name (#568) ([f37476bf](https://github.com/electron-userland/electron-forge/commit/f37476bf)) - * stops breaking regexps in the config parser ([8f1d4105](https://github.com/electron-userland/electron-forge/commit/8f1d4105)) +- bumps bolt version in Travis (was already bumped in docker and appveyor (#570) ([640ba77b](https://github.com/electron-userland/electron-forge/commit/640ba77b)) +- **core:** + - keep track of application restarts and close stdin pipe correctly (#567) ([eb29dd6d](https://github.com/electron-userland/electron-forge/commit/eb29dd6d)) + - resolve publisher config correctly when given a publisher name (#568) ([f37476bf](https://github.com/electron-userland/electron-forge/commit/f37476bf)) + - stops breaking regexps in the config parser ([8f1d4105](https://github.com/electron-userland/electron-forge/commit/8f1d4105)) #### [6.0.0-beta.27](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.27) (2018-08-06) ##### Chores -* add OTP support to the publish script ([a5bec3a8](https://github.com/electron-userland/electron-forge/commit/a5bec3a8)) +- add OTP support to the publish script ([a5bec3a8](https://github.com/electron-userland/electron-forge/commit/a5bec3a8)) ##### New Features -* **core:** allow no config to be present, default to an empty object (#543) ([c71ef163](https://github.com/electron-userland/electron-forge/commit/c71ef163)) +- **core:** allow no config to be present, default to an empty object (#543) ([c71ef163](https://github.com/electron-userland/electron-forge/commit/c71ef163)) ##### Bug Fixes -* **web-multi-logger:** fix path to xterm static files ([803a22fc](https://github.com/electron-userland/electron-forge/commit/803a22fc)) +- **web-multi-logger:** fix path to xterm static files ([803a22fc](https://github.com/electron-userland/electron-forge/commit/803a22fc)) #### [6.0.0-beta.26](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.26) (2018-07-20) ##### Chores -* **core:** fix TS build ([b9ea8bd4](https://github.com/electron-userland/electron-forge/commit/b9ea8bd4)) -* **maker-snap:** upgrade electron-installer-snap to ^3.0.0 ([e55a9d5b](https://github.com/electron-userland/electron-forge/commit/e55a9d5b)) -* ensure failures on CI actually fail CI ([91ede6fa](https://github.com/electron-userland/electron-forge/commit/91ede6fa)) +- **core:** fix TS build ([b9ea8bd4](https://github.com/electron-userland/electron-forge/commit/b9ea8bd4)) +- **maker-snap:** upgrade electron-installer-snap to ^3.0.0 ([e55a9d5b](https://github.com/electron-userland/electron-forge/commit/e55a9d5b)) +- ensure failures on CI actually fail CI ([91ede6fa](https://github.com/electron-userland/electron-forge/commit/91ede6fa)) ##### Bug Fixes -* **core:** - * append current version to each sibling dependency of `@electron-forge` in the boilerplate (#537) ([051026da](https://github.com/electron-userland/electron-forge/commit/051026da)) - * wait for overrideStartLogic before attempting to resolve the location of the Electron mod ([7e74206d](https://github.com/electron-userland/electron-forge/commit/7e74206d)) +- **core:** + - append current version to each sibling dependency of `@electron-forge` in the boilerplate (#537) ([051026da](https://github.com/electron-userland/electron-forge/commit/051026da)) + - wait for overrideStartLogic before attempting to resolve the location of the Electron mod ([7e74206d](https://github.com/electron-userland/electron-forge/commit/7e74206d)) ##### Code Style Changes -* **core:** remove unnecessary semicolon from class definition in make.ts (#530) ([8ccff56d](https://github.com/electron-userland/electron-forge/commit/8ccff56d)) +- **core:** remove unnecessary semicolon from class definition in make.ts (#530) ([8ccff56d](https://github.com/electron-userland/electron-forge/commit/8ccff56d)) #### [6.0.0-beta.25](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.25) (2018-07-12) ##### Chores -* **core:** add *.ts to .editorconfig (#527) ([ae0bf4a0](https://github.com/electron-userland/electron-forge/commit/ae0bf4a0)) +- **core:** add \*.ts to .editorconfig (#527) ([ae0bf4a0](https://github.com/electron-userland/electron-forge/commit/ae0bf4a0)) ##### New Features -* **maker-dmg:** update electron-installer-dmg for new features ([766259fa](https://github.com/electron-userland/electron-forge/commit/766259fa)) +- **maker-dmg:** update electron-installer-dmg for new features ([766259fa](https://github.com/electron-userland/electron-forge/commit/766259fa)) #### [6.0.0-beta.24](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.24) (2018-07-06) ##### Build System / Dependencies -* fixup publish script ([21aceca2](https://github.com/electron-userland/electron-forge/commit/21aceca2)) +- fixup publish script ([21aceca2](https://github.com/electron-userland/electron-forge/commit/21aceca2)) ##### Chores -* fix linting for else if return syntax ([ad061fb1](https://github.com/electron-userland/electron-forge/commit/ad061fb1)) +- fix linting for else if return syntax ([ad061fb1](https://github.com/electron-userland/electron-forge/commit/ad061fb1)) ##### Bug Fixes -* **plugin-compile:** - * bind in constructor to make TS happy ([5cb74d4c](https://github.com/electron-userland/electron-forge/commit/5cb74d4c)) - * use correctly bound methods in CompilePlugin ([df2acc73](https://github.com/electron-userland/electron-forge/commit/df2acc73)) -* **cli:** use scoped package path in vscode debugger scripts (#524) ([f1b90b67](https://github.com/electron-userland/electron-forge/commit/f1b90b67)) +- **plugin-compile:** + - bind in constructor to make TS happy ([5cb74d4c](https://github.com/electron-userland/electron-forge/commit/5cb74d4c)) + - use correctly bound methods in CompilePlugin ([df2acc73](https://github.com/electron-userland/electron-forge/commit/df2acc73)) +- **cli:** use scoped package path in vscode debugger scripts (#524) ([f1b90b67](https://github.com/electron-userland/electron-forge/commit/f1b90b67)) #### [6.0.0-beta.23](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.23) (2018-07-05) ##### Chores -* fix sync-readmes running on node 6 ([19613388](https://github.com/electron-userland/electron-forge/commit/19613388)) -* set up auto deploy of the JS API site ([4466904b](https://github.com/electron-userland/electron-forge/commit/4466904b)) +- fix sync-readmes running on node 6 ([19613388](https://github.com/electron-userland/electron-forge/commit/19613388)) +- set up auto deploy of the JS API site ([4466904b](https://github.com/electron-userland/electron-forge/commit/4466904b)) ##### Continuous Integration -* use NOW_TOKEN on travis to deploy ([bdaf564e](https://github.com/electron-userland/electron-forge/commit/bdaf564e)) -* install now globally for ci ([6b29c325](https://github.com/electron-userland/electron-forge/commit/6b29c325)) +- use NOW_TOKEN on travis to deploy ([bdaf564e](https://github.com/electron-userland/electron-forge/commit/bdaf564e)) +- install now globally for ci ([6b29c325](https://github.com/electron-userland/electron-forge/commit/6b29c325)) ##### Bug Fixes -* **core:** makers, publishers and plugins should be resolved relative to current dir not install dir ([74e6ac8d](https://github.com/electron-userland/electron-forge/commit/74e6ac8d)) +- **core:** makers, publishers and plugins should be resolved relative to current dir not install dir ([74e6ac8d](https://github.com/electron-userland/electron-forge/commit/74e6ac8d)) #### [6.0.0-beta.22](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.22) (2018-07-04) ##### New Features -* **plugin-compile:** add the electron compile plugin into the monorepo ([5907de5d](https://github.com/electron-userland/electron-forge/commit/5907de5d)) +- **plugin-compile:** add the electron compile plugin into the monorepo ([5907de5d](https://github.com/electron-userland/electron-forge/commit/5907de5d)) ##### Bug Fixes -* **plugin-local-electron:** new config setup means that a configfetcher is passed to the plugin not ([37a1e071](https://github.com/electron-userland/electron-forge/commit/37a1e071)) +- **plugin-local-electron:** new config setup means that a configfetcher is passed to the plugin not ([37a1e071](https://github.com/electron-userland/electron-forge/commit/37a1e071)) #### [6.0.0-beta.21](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.21) (2018-07-03) ##### Performance Improvements -* **publisher-nucleus:** merge make results when arch/platform/version are all the same to speed up ([fbc4db42](https://github.com/electron-userland/electron-forge/commit/fbc4db42)) +- **publisher-nucleus:** merge make results when arch/platform/version are all the same to speed up ([fbc4db42](https://github.com/electron-userland/electron-forge/commit/fbc4db42)) #### [6.0.0-beta.20](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.20) (2018-06-27) ##### Refactors -* update publish tooling to be nicer to people publishing forge itself ([4137bda4](https://github.com/electron-userland/electron-forge/commit/4137bda4)) +- update publish tooling to be nicer to people publishing forge itself ([4137bda4](https://github.com/electron-userland/electron-forge/commit/4137bda4)) #### [6.0.0-beta.19](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.19) (2018-06-27) ##### Chores -* remove unused gitignore files ([816d59e3](https://github.com/electron-userland/electron-forge/commit/816d59e3)) +- remove unused gitignore files ([816d59e3](https://github.com/electron-userland/electron-forge/commit/816d59e3)) ##### New Features -* **cli:** dont check system if the marker file is created ([ce5a4a2e](https://github.com/electron-userland/electron-forge/commit/ce5a4a2e)) +- **cli:** dont check system if the marker file is created ([ce5a4a2e](https://github.com/electron-userland/electron-forge/commit/ce5a4a2e)) ##### Bug Fixes -* add prepareConfig calls to tests ([085c75d3](https://github.com/electron-userland/electron-forge/commit/085c75d3)) -* **core:** do platform filtering later in the make chain to ensure that default platforms are respec ([19e0543e](https://github.com/electron-userland/electron-forge/commit/19e0543e)) +- add prepareConfig calls to tests ([085c75d3](https://github.com/electron-userland/electron-forge/commit/085c75d3)) +- **core:** do platform filtering later in the make chain to ensure that default platforms are respec ([19e0543e](https://github.com/electron-userland/electron-forge/commit/19e0543e)) ##### Performance Improvements -* measure performance of async oras when in debug mode ([3b625ded](https://github.com/electron-userland/electron-forge/commit/3b625ded)) +- measure performance of async oras when in debug mode ([3b625ded](https://github.com/electron-userland/electron-forge/commit/3b625ded)) #### [6.0.0-beta.18](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.18) (2018-06-18) ##### Bug Fixes -* **core:** re-implement the config fetcher syntax from forge, undocumented so we can remove at any t ([ebac71c1](https://github.com/electron-userland/electron-forge/commit/ebac71c1)) +- **core:** re-implement the config fetcher syntax from forge, undocumented so we can remove at any t ([ebac71c1](https://github.com/electron-userland/electron-forge/commit/ebac71c1)) #### [6.0.0-beta.17](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.17) (2018-06-04) ##### New Features -* **core:** allow mutating packageJSON on load ([1b7e4117](https://github.com/electron-userland/electron-forge/commit/1b7e4117)) +- **core:** allow mutating packageJSON on load ([1b7e4117](https://github.com/electron-userland/electron-forge/commit/1b7e4117)) ##### Bug Fixes -* **core:** - * allow multiple plugins, fix bad startLogic check ([9164ec51](https://github.com/electron-userland/electron-forge/commit/9164ec51)) - * disable the packagerConfig.all option (#510) ([ce363562](https://github.com/electron-userland/electron-forge/commit/ce363562)) +- **core:** + - allow multiple plugins, fix bad startLogic check ([9164ec51](https://github.com/electron-userland/electron-forge/commit/9164ec51)) + - disable the packagerConfig.all option (#510) ([ce363562](https://github.com/electron-userland/electron-forge/commit/ce363562)) #### [6.0.0-beta.16](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.16) (2018-05-17) ##### Chores -* **plugin-local-electron:** remove duplicate dep ([d0eacbcc](https://github.com/electron-userland/electron-forge/commit/d0eacbcc)) -* **web-multi-logger:** set some methods as private for docs ([0d737ae7](https://github.com/electron-userland/electron-forge/commit/0d737ae7)) +- **plugin-local-electron:** remove duplicate dep ([d0eacbcc](https://github.com/electron-userland/electron-forge/commit/d0eacbcc)) +- **web-multi-logger:** set some methods as private for docs ([0d737ae7](https://github.com/electron-userland/electron-forge/commit/0d737ae7)) ##### Documentation Changes -* **web-multi-logger:** - * add doc comments for js API site ([a79931f8](https://github.com/electron-userland/electron-forge/commit/a79931f8)) - * basic usage and README ([70801f63](https://github.com/electron-userland/electron-forge/commit/70801f63)) +- **web-multi-logger:** + - add doc comments for js API site ([a79931f8](https://github.com/electron-userland/electron-forge/commit/a79931f8)) + - basic usage and README ([70801f63](https://github.com/electron-userland/electron-forge/commit/70801f63)) ##### New Features -* **plugin-auto-unpack-natives:** add plugin/auto-unpack-natives for automative native node module h ([0280d0fa](https://github.com/electron-userland/electron-forge/commit/0280d0fa)) -* **core:** add resolveForgeConfig hook ([c2f4cfa6](https://github.com/electron-userland/electron-forge/commit/c2f4cfa6)) -* **plugin-webpack:** support web workers by defining entry points without HTML files ([a85ce4eb](https://github.com/electron-userland/electron-forge/commit/a85ce4eb)) +- **plugin-auto-unpack-natives:** add plugin/auto-unpack-natives for automative native node module h ([0280d0fa](https://github.com/electron-userland/electron-forge/commit/0280d0fa)) +- **core:** add resolveForgeConfig hook ([c2f4cfa6](https://github.com/electron-userland/electron-forge/commit/c2f4cfa6)) +- **plugin-webpack:** support web workers by defining entry points without HTML files ([a85ce4eb](https://github.com/electron-userland/electron-forge/commit/a85ce4eb)) ##### Bug Fixes -* **core:** - * make packagerConfig and rebuildConfig partial (all things optional) ([d499d650](https://github.com/electron-userland/electron-forge/commit/d499d650)) - * remove default values from template package.json makers ([7d1bdf2b](https://github.com/electron-userland/electron-forge/commit/7d1bdf2b)) - * init with required makers as well ([04ead91c](https://github.com/electron-userland/electron-forge/commit/04ead91c)) +- **core:** + - make packagerConfig and rebuildConfig partial (all things optional) ([d499d650](https://github.com/electron-userland/electron-forge/commit/d499d650)) + - remove default values from template package.json makers ([7d1bdf2b](https://github.com/electron-userland/electron-forge/commit/7d1bdf2b)) + - init with required makers as well ([04ead91c](https://github.com/electron-userland/electron-forge/commit/04ead91c)) #### [6.0.0-beta.15](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.15) (2018-05-15) ##### Bug Fixes -* **plugin-webpack:** ensure production mode is only enabled when packaging ([dcb2b9ba](https://github.com/electron-userland/electron-forge/commit/dcb2b9ba)) +- **plugin-webpack:** ensure production mode is only enabled when packaging ([dcb2b9ba](https://github.com/electron-userland/electron-forge/commit/dcb2b9ba)) #### [6.0.0-beta.14](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.14) (2018-05-14) ##### New Features -* **plugin-webpack:** upgrade to webpack 4 ([8807c451](https://github.com/electron-userland/electron-forge/commit/8807c451)) +- **plugin-webpack:** upgrade to webpack 4 ([8807c451](https://github.com/electron-userland/electron-forge/commit/8807c451)) ##### Bug Fixes -* **core:** - * stop specs hanging due to pending process.stdin listener ([b747c99b](https://github.com/electron-userland/electron-forge/commit/b747c99b)) - * fix start specs ([987161e5](https://github.com/electron-userland/electron-forge/commit/987161e5)) -* **maker-zip:** adjust cross-zip require ([bd35ecd0](https://github.com/electron-userland/electron-forge/commit/bd35ecd0)) -* remove .only from specs ([86ea1942](https://github.com/electron-userland/electron-forge/commit/86ea1942)) +- **core:** + - stop specs hanging due to pending process.stdin listener ([b747c99b](https://github.com/electron-userland/electron-forge/commit/b747c99b)) + - fix start specs ([987161e5](https://github.com/electron-userland/electron-forge/commit/987161e5)) +- **maker-zip:** adjust cross-zip require ([bd35ecd0](https://github.com/electron-userland/electron-forge/commit/bd35ecd0)) +- remove .only from specs ([86ea1942](https://github.com/electron-userland/electron-forge/commit/86ea1942)) ##### Refactors -* **plugin-webpack:** use a single webpack compiler for all renderer process's ([674c5f22](https://github.com/electron-userland/electron-forge/commit/674c5f22)) +- **plugin-webpack:** use a single webpack compiler for all renderer process's ([674c5f22](https://github.com/electron-userland/electron-forge/commit/674c5f22)) #### [6.0.0-beta.13](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.13) (2018-05-07) ##### Bug Fixes -* **web-multi-logger:** fix xterm path resolution ([39509d9c](https://github.com/electron-userland/electron-forge/commit/39509d9c)) +- **web-multi-logger:** fix xterm path resolution ([39509d9c](https://github.com/electron-userland/electron-forge/commit/39509d9c)) ##### Code Style Changes -* **plugin-webpack:** add missing semi ([cbe2c182](https://github.com/electron-userland/electron-forge/commit/cbe2c182)) +- **plugin-webpack:** add missing semi ([cbe2c182](https://github.com/electron-userland/electron-forge/commit/cbe2c182)) #### [6.0.0-beta.12](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.12) (2018-05-07) ##### New Features -* **core:** add support for restarting the Electron process quickly from terminal ([24aab4fd](https://github.com/electron-userland/electron-forge/commit/24aab4fd)) +- **core:** add support for restarting the Electron process quickly from terminal ([24aab4fd](https://github.com/electron-userland/electron-forge/commit/24aab4fd)) #### [6.0.0-beta.11](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.11) (2018-05-07) ##### New Features -* **plugin-webpack:** - * log out the web logger URL on start ([cdd4cde1](https://github.com/electron-userland/electron-forge/commit/cdd4cde1)) - * capture logs into web ui, handle preload scripts ([e800049b](https://github.com/electron-userland/electron-forge/commit/e800049b)) +- **plugin-webpack:** + - log out the web logger URL on start ([cdd4cde1](https://github.com/electron-userland/electron-forge/commit/cdd4cde1)) + - capture logs into web ui, handle preload scripts ([e800049b](https://github.com/electron-userland/electron-forge/commit/e800049b)) ##### Bug Fixes -* **publisher-github:** remove deprecated option from @octokit/rest params (#505) ([8ffab0b4](https://github.com/electron-userland/electron-forge/commit/8ffab0b4)) -* **plugin-webpack:** fix config resolution when providing a string ([576844e5](https://github.com/electron-userland/electron-forge/commit/576844e5)) +- **publisher-github:** remove deprecated option from @octokit/rest params (#505) ([8ffab0b4](https://github.com/electron-userland/electron-forge/commit/8ffab0b4)) +- **plugin-webpack:** fix config resolution when providing a string ([576844e5](https://github.com/electron-userland/electron-forge/commit/576844e5)) #### [6.0.0-beta.10](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.10) (2018-05-04) ##### Bug Fixes -* **plugin-webpack:** ensure methods are bound to class instance ([0ee2dbb5](https://github.com/electron-userland/electron-forge/commit/0ee2dbb5)) +- **plugin-webpack:** ensure methods are bound to class instance ([0ee2dbb5](https://github.com/electron-userland/electron-forge/commit/0ee2dbb5)) #### [6.0.0-beta.9](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.9) (2018-05-04) ##### New Features -* **plugin-webpack:** new webpack plugin ([531d3c80](https://github.com/electron-userland/electron-forge/commit/531d3c80)) +- **plugin-webpack:** new webpack plugin ([531d3c80](https://github.com/electron-userland/electron-forge/commit/531d3c80)) #### [6.0.0-beta.8](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.8) (2018-05-03) ##### Chores -* fix readme generation for info blocks ([7609a87c](https://github.com/electron-userland/electron-forge/commit/7609a87c)) +- fix readme generation for info blocks ([7609a87c](https://github.com/electron-userland/electron-forge/commit/7609a87c)) #### [6.0.0-beta.7](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.7) (2018-05-03) ##### Chores -* set up README sync so that docs on the site are published to js.electronforge.io and to npm w ([513013e6](https://github.com/electron-userland/electron-forge/commit/513013e6)) +- set up README sync so that docs on the site are published to js.electronforge.io and to npm w ([513013e6](https://github.com/electron-userland/electron-forge/commit/513013e6)) ##### Bug Fixes -* remove unneeded 2 second timeout ([ab64142f](https://github.com/electron-userland/electron-forge/commit/ab64142f)) +- remove unneeded 2 second timeout ([ab64142f](https://github.com/electron-userland/electron-forge/commit/ab64142f)) #### [6.0.0-beta.6](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.6) (2018-05-03) ##### Chores -* **maker-zip:** update yarn.lock ([9714be38](https://github.com/electron-userland/electron-forge/commit/9714be38)) +- **maker-zip:** update yarn.lock ([9714be38](https://github.com/electron-userland/electron-forge/commit/9714be38)) ##### Documentation Changes -* **plugin-local-electron:** add docs for the config options ([ebcd4c13](https://github.com/electron-userland/electron-forge/commit/ebcd4c13)) +- **plugin-local-electron:** add docs for the config options ([ebcd4c13](https://github.com/electron-userland/electron-forge/commit/ebcd4c13)) ##### New Features -* **publisher-nucleus:** add publisher-nucleus to add nucleus upload support to v6 ([131665cb](https://github.com/electron-userland/electron-forge/commit/131665cb)) -* **generic:** add source-map-support for better stacktraces ([77077ce2](https://github.com/electron-userland/electron-forge/commit/77077ce2)) -* **plugin-local-electron:** add plugin-local-electron ([8af92682](https://github.com/electron-userland/electron-forge/commit/8af92682)) +- **publisher-nucleus:** add publisher-nucleus to add nucleus upload support to v6 ([131665cb](https://github.com/electron-userland/electron-forge/commit/131665cb)) +- **generic:** add source-map-support for better stacktraces ([77077ce2](https://github.com/electron-userland/electron-forge/commit/77077ce2)) +- **plugin-local-electron:** add plugin-local-electron ([8af92682](https://github.com/electron-userland/electron-forge/commit/8af92682)) ##### Bug Fixes -* fix changelog generation ([faeec5a6](https://github.com/electron-userland/electron-forge/commit/faeec5a6)) -* **core:** - * fromBuildIdentifier moved to the utils object ([46aaf7ac](https://github.com/electron-userland/electron-forge/commit/46aaf7ac)) - * fix error log for package for new path to packagerConfig ([fef9bcd5](https://github.com/electron-userland/electron-forge/commit/fef9bcd5)) +- fix changelog generation ([faeec5a6](https://github.com/electron-userland/electron-forge/commit/faeec5a6)) +- **core:** + - fromBuildIdentifier moved to the utils object ([46aaf7ac](https://github.com/electron-userland/electron-forge/commit/46aaf7ac)) + - fix error log for package for new path to packagerConfig ([fef9bcd5](https://github.com/electron-userland/electron-forge/commit/fef9bcd5)) ##### Refactors -* **maker:** replace zip-folder with cross-zip (#325) ([e06aa0b7](https://github.com/electron-userland/electron-forge/commit/e06aa0b7)) +- **maker:** replace zip-folder with cross-zip (#325) ([e06aa0b7](https://github.com/electron-userland/electron-forge/commit/e06aa0b7)) ##### Code Style Changes -* set-up tslint ([40484e16](https://github.com/electron-userland/electron-forge/commit/40484e16)) +- set-up tslint ([40484e16](https://github.com/electron-userland/electron-forge/commit/40484e16)) ##### Tests -* **plugin-local-electron:** add tests for the local electron plugin ([61b36329](https://github.com/electron-userland/electron-forge/commit/61b36329)) +- **plugin-local-electron:** add tests for the local electron plugin ([61b36329](https://github.com/electron-userland/electron-forge/commit/61b36329)) #### [6.0.0-beta.5](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.5) (2018-05-01) ##### Documentation Changes -* fix changelog generation ([3f9ec6b8](https://github.com/electron-userland/electron-forge/commit/3f9ec6b8)) +- fix changelog generation ([3f9ec6b8](https://github.com/electron-userland/electron-forge/commit/3f9ec6b8)) ##### Bug Fixes -* **core:** fix make not respecting mas as a target platform ([10b38765](https://github.com/electron-userland/electron-forge/commit/10b38765)) +- **core:** fix make not respecting mas as a target platform ([10b38765](https://github.com/electron-userland/electron-forge/commit/10b38765)) #### [6.0.0-beta.4](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.4) (2018-05-01) ##### Chores -* **docs:** - * fix changelog for last 2 versions ([bc8620e0](https://github.com/electron-userland/electron-forge/commit/bc8620e0)) - * Fix image sizing in README ([74fcd749](https://github.com/electron-userland/electron-forge/commit/74fcd749)) -* **generic:** upgrade @octokit/rest, ora, & proxyquire (#477) ([825c7f2c](https://github.com/electron-userland/electron-forge/commit/825c7f2c)) +- **docs:** + - fix changelog for last 2 versions ([bc8620e0](https://github.com/electron-userland/electron-forge/commit/bc8620e0)) + - Fix image sizing in README ([74fcd749](https://github.com/electron-userland/electron-forge/commit/74fcd749)) +- **generic:** upgrade @octokit/rest, ora, & proxyquire (#477) ([825c7f2c](https://github.com/electron-userland/electron-forge/commit/825c7f2c)) ##### New Features -* **core:** - * add fromBuildIdentifier helper for dynamic at-build-time config ([dc6c9fce](https://github.com/electron-userland/electron-forge/commit/dc6c9fce)) - * V6 Docs (#496) ([dab06d9c](https://github.com/electron-userland/electron-forge/commit/dab06d9c)) -* **maker-pkg:** add new maker for .pkg files on macOS ([8728baa1](https://github.com/electron-userland/electron-forge/commit/8728baa1)) +- **core:** + - add fromBuildIdentifier helper for dynamic at-build-time config ([dc6c9fce](https://github.com/electron-userland/electron-forge/commit/dc6c9fce)) + - V6 Docs (#496) ([dab06d9c](https://github.com/electron-userland/electron-forge/commit/dab06d9c)) +- **maker-pkg:** add new maker for .pkg files on macOS ([8728baa1](https://github.com/electron-userland/electron-forge/commit/8728baa1)) ##### Bug Fixes -* **core:** check packageJSON.main is set and don't enforce subdir rule ([ebd9a958](https://github.com/electron-userland/electron-forge/commit/ebd9a958)) +- **core:** check packageJSON.main is set and don't enforce subdir rule ([ebd9a958](https://github.com/electron-userland/electron-forge/commit/ebd9a958)) ##### Refactors -* **all:** rewrote in typescript ([a3faa619](https://github.com/electron-userland/electron-forge/commit/a3faa619)) +- **all:** rewrote in typescript ([a3faa619](https://github.com/electron-userland/electron-forge/commit/a3faa619)) #### [6.0.0-beta.3](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.3) (2018-04-17) @@ -2264,416 +2264,416 @@ ##### Chores -* **tools:** update dependency version for electron-forge modules to be latest on bump ([1029d32b](https://github.com/electron-userland/electron-forge/commit/1029d32b)) -* **tooling:** add publish script ([c5b6c6a3](https://github.com/electron-userland/electron-forge/commit/c5b6c6a3)) -* **core:** remote gitignore ([c97b25dd](https://github.com/electron-userland/electron-forge/commit/c97b25dd)) -* add missing files from 6.0.0-beta.1 ([24cdcb55](https://github.com/electron-userland/electron-forge/commit/24cdcb55)) +- **tools:** update dependency version for electron-forge modules to be latest on bump ([1029d32b](https://github.com/electron-userland/electron-forge/commit/1029d32b)) +- **tooling:** add publish script ([c5b6c6a3](https://github.com/electron-userland/electron-forge/commit/c5b6c6a3)) +- **core:** remote gitignore ([c97b25dd](https://github.com/electron-userland/electron-forge/commit/c97b25dd)) +- add missing files from 6.0.0-beta.1 ([24cdcb55](https://github.com/electron-userland/electron-forge/commit/24cdcb55)) #### [6.0.0-beta.1](https://github.com/electron-userland/electron-forge/releases/tag/v6.0.0-beta.1) (2018-04-16) ##### Chores -* **generic:** upgrade to Electron Packager 12 (#478) ([cd4161a5](https://github.com/electron-userland/electron-forge/commit/cd4161a5)) +- **generic:** upgrade to Electron Packager 12 (#478) ([cd4161a5](https://github.com/electron-userland/electron-forge/commit/cd4161a5)) ##### New Features -* **core:** V6 API (#433) ([364ba8d8](https://github.com/electron-userland/electron-forge/commit/364ba8d8)) -* **generic:** remove electron-compile, make forge less opinionated and quite vanilla ([d59695ec](https://github.com/electron-userland/electron-forge/commit/d59695ec)) +- **core:** V6 API (#433) ([364ba8d8](https://github.com/electron-userland/electron-forge/commit/364ba8d8)) +- **generic:** remove electron-compile, make forge less opinionated and quite vanilla ([d59695ec](https://github.com/electron-userland/electron-forge/commit/d59695ec)) #### [5.1.1](https://github.com/electron-userland/electron-forge/releases/tag/v5.1.1) (2018-02-15) ##### Chores -* **packager:** upgrade electron-packager to 11.0.0 ([dee72fd1](https://github.com/electron-userland/electron-forge/commit/dee72fd1)) -* **generic:** upgrade node-fetch to 2.0.0 and fetch-mock to 6.0.0 ([42abee35](https://github.com/electron-userland/electron-forge/commit/42abee35)) +- **packager:** upgrade electron-packager to 11.0.0 ([dee72fd1](https://github.com/electron-userland/electron-forge/commit/dee72fd1)) +- **generic:** upgrade node-fetch to 2.0.0 and fetch-mock to 6.0.0 ([42abee35](https://github.com/electron-userland/electron-forge/commit/42abee35)) ### [5.1.0](https://github.com/electron-userland/electron-forge/releases/tag/v5.1.0) (2018-02-05) ##### New Features -* **publisher:** add GitHub Enterprise/HTTP proxy support to the GitHub publisher ([14151022](https://github.com/electron-userland/electron-forge/commit/14151022)) +- **publisher:** add GitHub Enterprise/HTTP proxy support to the GitHub publisher ([14151022](https://github.com/electron-userland/electron-forge/commit/14151022)) ## [5.0.0](https://github.com/electron-userland/electron-forge/releases/tag/v5.0.0) (2018-02-01) ##### New Features -* **publisher:** - * add snapcraft publisher ([c5b7d0d7](https://github.com/electron-userland/electron-forge/commit/c5b7d0d7)) - * add dir to publisher args & convert args from positional to keyword ([45ace6cf](https://github.com/electron-userland/electron-forge/commit/45ace6cf)) -* **maker:** add builtin snap support ([86f987d7](https://github.com/electron-userland/electron-forge/commit/86f987d7)) +- **publisher:** + - add snapcraft publisher ([c5b7d0d7](https://github.com/electron-userland/electron-forge/commit/c5b7d0d7)) + - add dir to publisher args & convert args from positional to keyword ([45ace6cf](https://github.com/electron-userland/electron-forge/commit/45ace6cf)) +- **maker:** add builtin snap support ([86f987d7](https://github.com/electron-userland/electron-forge/commit/86f987d7)) ### [4.3.0](https://github.com/electron-userland/electron-forge/releases/tag/v4.3.0) (2018-01-31) ##### New Features -* **maker:** add Wix support ([76166af3](https://github.com/electron-userland/electron-forge/commit/76166af3)) +- **maker:** add Wix support ([76166af3](https://github.com/electron-userland/electron-forge/commit/76166af3)) ##### Bug Fixes -* **maker:** wix only works on win32 currently ([707a1e33](https://github.com/electron-userland/electron-forge/commit/707a1e33)) +- **maker:** wix only works on win32 currently ([707a1e33](https://github.com/electron-userland/electron-forge/commit/707a1e33)) ##### Other Changes -* add Wix to PATH ([52a64080](https://github.com/electron-userland/electron-forge/commit/52a64080)) +- add Wix to PATH ([52a64080](https://github.com/electron-userland/electron-forge/commit/52a64080)) ##### Refactors -* **maker:** extract author name parsing into its own function ([fa80cd3d](https://github.com/electron-userland/electron-forge/commit/fa80cd3d)) +- **maker:** extract author name parsing into its own function ([fa80cd3d](https://github.com/electron-userland/electron-forge/commit/fa80cd3d)) #### [4.2.1](https://github.com/electron-userland/electron-forge/releases/tag/v4.2.1) (2018-01-29) ##### Chores -* **generic:** - * upgrade mocha to 5.x ([01857a8e](https://github.com/electron-userland/electron-forge/commit/01857a8e)) - * upgrade electron-installer-debian to 0.8.x ([0bcedfe8](https://github.com/electron-userland/electron-forge/commit/0bcedfe8)) - * replace node-github with @octokit/rest ([e1f26075](https://github.com/electron-userland/electron-forge/commit/e1f26075)) - * upgrade github to v13 ([a80ff504](https://github.com/electron-userland/electron-forge/commit/a80ff504)) - * upgrade fs-extra to v5 and inquirer to v5 ([0ecc57dd](https://github.com/electron-userland/electron-forge/commit/0ecc57dd)) +- **generic:** + - upgrade mocha to 5.x ([01857a8e](https://github.com/electron-userland/electron-forge/commit/01857a8e)) + - upgrade electron-installer-debian to 0.8.x ([0bcedfe8](https://github.com/electron-userland/electron-forge/commit/0bcedfe8)) + - replace node-github with @octokit/rest ([e1f26075](https://github.com/electron-userland/electron-forge/commit/e1f26075)) + - upgrade github to v13 ([a80ff504](https://github.com/electron-userland/electron-forge/commit/a80ff504)) + - upgrade fs-extra to v5 and inquirer to v5 ([0ecc57dd](https://github.com/electron-userland/electron-forge/commit/0ecc57dd)) ##### Documentation Changes -* **generic:** add support document & move debugging section there ([d3f610c4](https://github.com/electron-userland/electron-forge/commit/d3f610c4)) +- **generic:** add support document & move debugging section there ([d3f610c4](https://github.com/electron-userland/electron-forge/commit/d3f610c4)) ##### Bug Fixes -* **installer:** hdiutil output should be a string ([e511206b](https://github.com/electron-userland/electron-forge/commit/e511206b)) +- **installer:** hdiutil output should be a string ([e511206b](https://github.com/electron-userland/electron-forge/commit/e511206b)) ### [4.2.0](https://github.com/electron-userland/electron-forge/releases/tag/v4.2.0) (2018-01-08) ##### New Features -* **generic:** allow specifying a build identifier that segregates build artifacts ([0e483659](https://github.com/electron-userland/electron-forge/commit/0e483659)) -* **rebuilder:** allow configuration of electron-rebuild ([b986f264](https://github.com/electron-userland/electron-forge/commit/b986f264)) +- **generic:** allow specifying a build identifier that segregates build artifacts ([0e483659](https://github.com/electron-userland/electron-forge/commit/0e483659)) +- **rebuilder:** allow configuration of electron-rebuild ([b986f264](https://github.com/electron-userland/electron-forge/commit/b986f264)) #### [4.1.9](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.9) (2018-01-08) ##### Bug Fixes -* **packager:** packager hooks should be executed sequentially ([e844b1d1](https://github.com/electron-userland/electron-forge/commit/e844b1d1)) +- **packager:** packager hooks should be executed sequentially ([e844b1d1](https://github.com/electron-userland/electron-forge/commit/e844b1d1)) #### [4.1.8](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.8) (2018-01-08) ##### Chores -* **maker:** upgrade electron-installer-flatpak to 0.8.0 & re-enable its tests ([9c199e0d](https://github.com/electron-userland/electron-forge/commit/9c199e0d)) +- **maker:** upgrade electron-installer-flatpak to 0.8.0 & re-enable its tests ([9c199e0d](https://github.com/electron-userland/electron-forge/commit/9c199e0d)) ##### Documentation Changes -* **starter:** add note to readme about debugging on the command line ([26f347a6](https://github.com/electron-userland/electron-forge/commit/26f347a6)) -* **generic:** add link to electronforge.io repository in contributing docs ([c3332688](https://github.com/electron-userland/electron-forge/commit/c3332688)) +- **starter:** add note to readme about debugging on the command line ([26f347a6](https://github.com/electron-userland/electron-forge/commit/26f347a6)) +- **generic:** add link to electronforge.io repository in contributing docs ([c3332688](https://github.com/electron-userland/electron-forge/commit/c3332688)) ##### Bug Fixes -* **generic:** tabtab install breaks in bash for windows ([a5f8b40f](https://github.com/electron-userland/electron-forge/commit/a5f8b40f)) -* **maker:** fix detection of flatpak artifact ([4d5378c2](https://github.com/electron-userland/electron-forge/commit/4d5378c2)) +- **generic:** tabtab install breaks in bash for windows ([a5f8b40f](https://github.com/electron-userland/electron-forge/commit/a5f8b40f)) +- **maker:** fix detection of flatpak artifact ([4d5378c2](https://github.com/electron-userland/electron-forge/commit/4d5378c2)) #### [4.1.7](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.7) (2017-12-24) ##### Chores -* **generic:** - * don't nonzero-exit when trying to install tabtab completions ([0e18fe34](https://github.com/electron-userland/electron-forge/commit/0e18fe34)) - * don't use deprecated mocha CLI flag ([e13e6380](https://github.com/electron-userland/electron-forge/commit/e13e6380)) -* **tests:** - * move default test config to mocha.opts file ([f681176c](https://github.com/electron-userland/electron-forge/commit/f681176c)) - * remove intermediate layer when running via Docker ([6282a115](https://github.com/electron-userland/electron-forge/commit/6282a115)) - * cache node_modules in CI ([fcef3826](https://github.com/electron-userland/electron-forge/commit/fcef3826)) +- **generic:** + - don't nonzero-exit when trying to install tabtab completions ([0e18fe34](https://github.com/electron-userland/electron-forge/commit/0e18fe34)) + - don't use deprecated mocha CLI flag ([e13e6380](https://github.com/electron-userland/electron-forge/commit/e13e6380)) +- **tests:** + - move default test config to mocha.opts file ([f681176c](https://github.com/electron-userland/electron-forge/commit/f681176c)) + - remove intermediate layer when running via Docker ([6282a115](https://github.com/electron-userland/electron-forge/commit/6282a115)) + - cache node_modules in CI ([fcef3826](https://github.com/electron-userland/electron-forge/commit/fcef3826)) ##### Documentation Changes -* **packager:** - * clarify why dir/platform can't be set in Packager config ([f2b5c4a3](https://github.com/electron-userland/electron-forge/commit/f2b5c4a3)) - * clarify why arch can't be set in Packager config ([df5a018e](https://github.com/electron-userland/electron-forge/commit/df5a018e)) +- **packager:** + - clarify why dir/platform can't be set in Packager config ([f2b5c4a3](https://github.com/electron-userland/electron-forge/commit/f2b5c4a3)) + - clarify why arch can't be set in Packager config ([df5a018e](https://github.com/electron-userland/electron-forge/commit/df5a018e)) ##### Bug Fixes -* **packager:** package spinner isn't defined when asar.unpack is checked ([435e83d0](https://github.com/electron-userland/electron-forge/commit/435e83d0)) -* **initializer:** electron versions for babel-preset-env should be strings ([35120b1c](https://github.com/electron-userland/electron-forge/commit/35120b1c)) +- **packager:** package spinner isn't defined when asar.unpack is checked ([435e83d0](https://github.com/electron-userland/electron-forge/commit/435e83d0)) +- **initializer:** electron versions for babel-preset-env should be strings ([35120b1c](https://github.com/electron-userland/electron-forge/commit/35120b1c)) ##### Other Changes -* use yarn instead ([907a377e](https://github.com/electron-userland/electron-forge/commit/907a377e)) +- use yarn instead ([907a377e](https://github.com/electron-userland/electron-forge/commit/907a377e)) ##### Refactors -* **generic:** Use readJson and writeJson ([1a1884d1](https://github.com/electron-userland/electron-forge/commit/1a1884d1)) +- **generic:** Use readJson and writeJson ([1a1884d1](https://github.com/electron-userland/electron-forge/commit/1a1884d1)) #### [4.1.6](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.6) (2017-12-06) ##### Bug Fixes -* **importer:** - * Fix typo in dependency check ([24267fe4](https://github.com/electron-userland/electron-forge/commit/24267fe4)) - * handle the case where productName doesn't exist ([23f191a8](https://github.com/electron-userland/electron-forge/commit/23f191a8)) -* **generic:** assume invalid semver package manager versions are incompatible ([076c78e1](https://github.com/electron-userland/electron-forge/commit/076c78e1)) +- **importer:** + - Fix typo in dependency check ([24267fe4](https://github.com/electron-userland/electron-forge/commit/24267fe4)) + - handle the case where productName doesn't exist ([23f191a8](https://github.com/electron-userland/electron-forge/commit/23f191a8)) +- **generic:** assume invalid semver package manager versions are incompatible ([076c78e1](https://github.com/electron-userland/electron-forge/commit/076c78e1)) ##### Refactors -* **maker:** DRY up linux config transformations ([a39011b8](https://github.com/electron-userland/electron-forge/commit/a39011b8)) +- **maker:** DRY up linux config transformations ([a39011b8](https://github.com/electron-userland/electron-forge/commit/a39011b8)) #### [4.1.5](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.5) (2017-11-24) ##### Bug Fixes -* **packager:** fix custom afterCopy, afterPrune not being included ([c9e23e38](https://github.com/electron-userland/electron-forge/commit/c9e23e38)) +- **packager:** fix custom afterCopy, afterPrune not being included ([c9e23e38](https://github.com/electron-userland/electron-forge/commit/c9e23e38)) #### [4.1.4](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.4) (2017-11-21) ##### New Features -* **packager:** add support for hook files for electronPackagerConfig.afterPrune ([e847a78e](https://github.com/electron-userland/electron-forge/commit/e847a78e)) +- **packager:** add support for hook files for electronPackagerConfig.afterPrune ([e847a78e](https://github.com/electron-userland/electron-forge/commit/e847a78e)) ##### Bug Fixes -* **publisher:** fix publishing a saved dry run on a different device from the initial dry run ([a2c33eb8](https://github.com/electron-userland/electron-forge/commit/a2c33eb8)) -* **packager:** move the rebuild hook to after pruning finishes ([cce9db42](https://github.com/electron-userland/electron-forge/commit/cce9db42)) -* **importer:** adjust Forge config defaults just like in init ([38f9a3d4](https://github.com/electron-userland/electron-forge/commit/38f9a3d4)) +- **publisher:** fix publishing a saved dry run on a different device from the initial dry run ([a2c33eb8](https://github.com/electron-userland/electron-forge/commit/a2c33eb8)) +- **packager:** move the rebuild hook to after pruning finishes ([cce9db42](https://github.com/electron-userland/electron-forge/commit/cce9db42)) +- **importer:** adjust Forge config defaults just like in init ([38f9a3d4](https://github.com/electron-userland/electron-forge/commit/38f9a3d4)) ##### Refactors -* **packager:** resolve hook files in a common function ([08d55772](https://github.com/electron-userland/electron-forge/commit/08d55772)) +- **packager:** resolve hook files in a common function ([08d55772](https://github.com/electron-userland/electron-forge/commit/08d55772)) #### [4.1.3](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.3) (2017-11-10) ##### Chores -* **generic:** replace the deprecated babel-preset-es2015 with babel-preset-env ([b3499edf](https://github.com/electron-userland/electron-forge/commit/b3499edf)) +- **generic:** replace the deprecated babel-preset-es2015 with babel-preset-env ([b3499edf](https://github.com/electron-userland/electron-forge/commit/b3499edf)) ##### Bug Fixes -* **make:** allow building for MAS inside make logic ([5e6411ec](https://github.com/electron-userland/electron-forge/commit/5e6411ec)) -* **packager:** warn if the app version is not set ([29070ca6](https://github.com/electron-userland/electron-forge/commit/29070ca6)) -* **importer:** warn if the package.json being imported does not have a version ([e55ea98d](https://github.com/electron-userland/electron-forge/commit/e55ea98d)) -* **starter:** throw an error if the app version is not set in package.json ([69b29958](https://github.com/electron-userland/electron-forge/commit/69b29958)) +- **make:** allow building for MAS inside make logic ([5e6411ec](https://github.com/electron-userland/electron-forge/commit/5e6411ec)) +- **packager:** warn if the app version is not set ([29070ca6](https://github.com/electron-userland/electron-forge/commit/29070ca6)) +- **importer:** warn if the package.json being imported does not have a version ([e55ea98d](https://github.com/electron-userland/electron-forge/commit/e55ea98d)) +- **starter:** throw an error if the app version is not set in package.json ([69b29958](https://github.com/electron-userland/electron-forge/commit/69b29958)) ##### Tests -* **make:** add mas test ([359b2799](https://github.com/electron-userland/electron-forge/commit/359b2799)) +- **make:** add mas test ([359b2799](https://github.com/electron-userland/electron-forge/commit/359b2799)) #### [4.1.2](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.2) (2017-09-27) ##### Bug Fixes -* **generic:** correct the getOwnPropertyDescriptor proxy hook to respect current properties writabil ([8e9872bc](https://github.com/electron-userland/electron-forge/commit/8e9872bc)) +- **generic:** correct the getOwnPropertyDescriptor proxy hook to respect current properties writabil ([8e9872bc](https://github.com/electron-userland/electron-forge/commit/8e9872bc)) #### [4.1.1](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.1) (2017-09-27) ##### Bug Fixes -* **generic:** ensure config proxy doesn't prevent access to built-ins ([07047889](https://github.com/electron-userland/electron-forge/commit/07047889)) +- **generic:** ensure config proxy doesn't prevent access to built-ins ([07047889](https://github.com/electron-userland/electron-forge/commit/07047889)) ### [4.1.0](https://github.com/electron-userland/electron-forge/releases/tag/v4.1.0) (2017-09-26) ##### Chores -* **generic:** - * upgrade electron-windows-store to 0.12 ([fcdc0a02](https://github.com/electron-userland/electron-forge/commit/fcdc0a02)) - * upgrade cz-customizable, and github ([9156296b](https://github.com/electron-userland/electron-forge/commit/9156296b)) +- **generic:** + - upgrade electron-windows-store to 0.12 ([fcdc0a02](https://github.com/electron-userland/electron-forge/commit/fcdc0a02)) + - upgrade cz-customizable, and github ([9156296b](https://github.com/electron-userland/electron-forge/commit/9156296b)) ##### Documentation Changes -* **maker:** mention that make can support non-host platforms ([6c302198](https://github.com/electron-userland/electron-forge/commit/6c302198)) +- **maker:** mention that make can support non-host platforms ([6c302198](https://github.com/electron-userland/electron-forge/commit/6c302198)) ##### New Features -* **initializer:** add electron-squirrel-startup to the default template ([e0e42aa2](https://github.com/electron-userland/electron-forge/commit/e0e42aa2)) +- **initializer:** add electron-squirrel-startup to the default template ([e0e42aa2](https://github.com/electron-userland/electron-forge/commit/e0e42aa2)) ##### Bug Fixes -* **generic:** - * automatically warn w/a nightly package manager version ([d997ba0c](https://github.com/electron-userland/electron-forge/commit/d997ba0c)) - * blacklist NPM 5.4.[01] on Windows ([063caca4](https://github.com/electron-userland/electron-forge/commit/063caca4)) -* **init:** run package manager commands via cross-spawn ([cbee55e2](https://github.com/electron-userland/electron-forge/commit/cbee55e2)) -* **publisher:** allow config for Electron Release Server to be read from envars ([50d35374](https://github.com/electron-userland/electron-forge/commit/50d35374)) -* **tests:** use a newer version of native-metrics ([1e7c175e](https://github.com/electron-userland/electron-forge/commit/1e7c175e)) +- **generic:** + - automatically warn w/a nightly package manager version ([d997ba0c](https://github.com/electron-userland/electron-forge/commit/d997ba0c)) + - blacklist NPM 5.4.[01] on Windows ([063caca4](https://github.com/electron-userland/electron-forge/commit/063caca4)) +- **init:** run package manager commands via cross-spawn ([cbee55e2](https://github.com/electron-userland/electron-forge/commit/cbee55e2)) +- **publisher:** allow config for Electron Release Server to be read from envars ([50d35374](https://github.com/electron-userland/electron-forge/commit/50d35374)) +- **tests:** use a newer version of native-metrics ([1e7c175e](https://github.com/electron-userland/electron-forge/commit/1e7c175e)) ##### Refactors -* **generic:** - * use cross-spawn-promise instead of spawn-rx ([5a9848c7](https://github.com/electron-userland/electron-forge/commit/5a9848c7)) - * replace electron-host-arch with hostArch in Electron Packager ([45afdfb5](https://github.com/electron-userland/electron-forge/commit/45afdfb5)) -* **maker:** - * use makeCert from electron-windows-store ([c31ceef6](https://github.com/electron-userland/electron-forge/commit/c31ceef6)) - * use the target platform/arch API from Packager to determine "all" archs ([f9c4c20c](https://github.com/electron-userland/electron-forge/commit/f9c4c20c)) +- **generic:** + - use cross-spawn-promise instead of spawn-rx ([5a9848c7](https://github.com/electron-userland/electron-forge/commit/5a9848c7)) + - replace electron-host-arch with hostArch in Electron Packager ([45afdfb5](https://github.com/electron-userland/electron-forge/commit/45afdfb5)) +- **maker:** + - use makeCert from electron-windows-store ([c31ceef6](https://github.com/electron-userland/electron-forge/commit/c31ceef6)) + - use the target platform/arch API from Packager to determine "all" archs ([f9c4c20c](https://github.com/electron-userland/electron-forge/commit/f9c4c20c)) #### [4.0.2](https://github.com/electron-userland/electron-forge/releases/tag/v4.0.2) (2017-09-10) ##### Bug Fixes -* **generic:** whitelist yarn >= 1.0.0 ([36bc34ad](https://github.com/electron-userland/electron-forge/commit/36bc34ad)) -* **linter:** don't pass --color to linters that don't support it ([66354fb6](https://github.com/electron-userland/electron-forge/commit/66354fb6)) -* **tests:** - * use fakeOra properly in system spec ([bb4c7875](https://github.com/electron-userland/electron-forge/commit/bb4c7875)) - * stub ora.warn ([969a0359](https://github.com/electron-userland/electron-forge/commit/969a0359)) +- **generic:** whitelist yarn >= 1.0.0 ([36bc34ad](https://github.com/electron-userland/electron-forge/commit/36bc34ad)) +- **linter:** don't pass --color to linters that don't support it ([66354fb6](https://github.com/electron-userland/electron-forge/commit/66354fb6)) +- **tests:** + - use fakeOra properly in system spec ([bb4c7875](https://github.com/electron-userland/electron-forge/commit/bb4c7875)) + - stub ora.warn ([969a0359](https://github.com/electron-userland/electron-forge/commit/969a0359)) #### [4.0.1](https://github.com/electron-userland/electron-forge/releases/tag/v4.0.1) (2017-9-5) ##### Bug Fixes -* **generic:** tabtab install script fails on non-*nix systems ([fc3c0301](https://github.com/electron-userland/electron-forge/commit/fc3c0301)) +- **generic:** tabtab install script fails on non-\*nix systems ([fc3c0301](https://github.com/electron-userland/electron-forge/commit/fc3c0301)) ## [4.0.0](https://github.com/electron-userland/electron-forge/releases/tag/v4.0.0) (2017-08-30) ##### Chores -* **publisher:** use SHA256 instead of md5 ([c69db80f](https://github.com/electron-userland/electron-forge/commit/c69db80f)) -* **generic:** upgrade Electron Packager to 9.x ([6275d2bf](https://github.com/electron-userland/electron-forge/commit/6275d2bf)) +- **publisher:** use SHA256 instead of md5 ([c69db80f](https://github.com/electron-userland/electron-forge/commit/c69db80f)) +- **generic:** upgrade Electron Packager to 9.x ([6275d2bf](https://github.com/electron-userland/electron-forge/commit/6275d2bf)) ##### Documentation Changes -* **publisher:** - * improve docs for publish function ([7766a27c](https://github.com/electron-userland/electron-forge/commit/7766a27c)) - * mention that multiple targets are allowed ([3ec0cfa6](https://github.com/electron-userland/electron-forge/commit/3ec0cfa6)) - * fix S3 config key typo ([4225683b](https://github.com/electron-userland/electron-forge/commit/4225683b)) -* **maker:** document the return result of make ([5399f500](https://github.com/electron-userland/electron-forge/commit/5399f500)) +- **publisher:** + - improve docs for publish function ([7766a27c](https://github.com/electron-userland/electron-forge/commit/7766a27c)) + - mention that multiple targets are allowed ([3ec0cfa6](https://github.com/electron-userland/electron-forge/commit/3ec0cfa6)) + - fix S3 config key typo ([4225683b](https://github.com/electron-userland/electron-forge/commit/4225683b)) +- **maker:** document the return result of make ([5399f500](https://github.com/electron-userland/electron-forge/commit/5399f500)) ##### New Features -* **publisher:** adds dryRun and resumeDryRun to the API to allow post-make publishes ([288edbc1](https://github.com/electron-userland/electron-forge/commit/288edbc1)) -* **initializer:** - * only copy CI files if specified ([fd6f2f9b](https://github.com/electron-userland/electron-forge/commit/fd6f2f9b)) - * add Travis/AppVeyor CI files to default template ([296bdde8](https://github.com/electron-userland/electron-forge/commit/296bdde8)) +- **publisher:** adds dryRun and resumeDryRun to the API to allow post-make publishes ([288edbc1](https://github.com/electron-userland/electron-forge/commit/288edbc1)) +- **initializer:** + - only copy CI files if specified ([fd6f2f9b](https://github.com/electron-userland/electron-forge/commit/fd6f2f9b)) + - add Travis/AppVeyor CI files to default template ([296bdde8](https://github.com/electron-userland/electron-forge/commit/296bdde8)) ##### Bug Fixes -* **generic:** - * clean up package manager warning output ([894ed0a9](https://github.com/electron-userland/electron-forge/commit/894ed0a9)) - * add yarn 0.27.5 to the whitelist, but only for darwin/linux ([88b92fce](https://github.com/electron-userland/electron-forge/commit/88b92fce)) - * fix installing tab completion when installing Forge locally ([7ea49812](https://github.com/electron-userland/electron-forge/commit/7ea49812)) +- **generic:** + - clean up package manager warning output ([894ed0a9](https://github.com/electron-userland/electron-forge/commit/894ed0a9)) + - add yarn 0.27.5 to the whitelist, but only for darwin/linux ([88b92fce](https://github.com/electron-userland/electron-forge/commit/88b92fce)) + - fix installing tab completion when installing Forge locally ([7ea49812](https://github.com/electron-userland/electron-forge/commit/7ea49812)) ##### Refactors -* **publisher:** - * make dryRun object storage make more sense ([f8d807ed](https://github.com/electron-userland/electron-forge/commit/f8d807ed)) - * rename target option to publishTargets in API ([4b68880d](https://github.com/electron-userland/electron-forge/commit/4b68880d)) -* **initializer:** make init options camelcase ([f4459822](https://github.com/electron-userland/electron-forge/commit/f4459822)) +- **publisher:** + - make dryRun object storage make more sense ([f8d807ed](https://github.com/electron-userland/electron-forge/commit/f8d807ed)) + - rename target option to publishTargets in API ([4b68880d](https://github.com/electron-userland/electron-forge/commit/4b68880d)) +- **initializer:** make init options camelcase ([f4459822](https://github.com/electron-userland/electron-forge/commit/f4459822)) ##### Tests -* **maker:** Fix make test for new return type ([d6393567](https://github.com/electron-userland/electron-forge/commit/d6393567)) -* **publisher:** fix dry run specs ([d2085812](https://github.com/electron-userland/electron-forge/commit/d2085812)) +- **maker:** Fix make test for new return type ([d6393567](https://github.com/electron-userland/electron-forge/commit/d6393567)) +- **publisher:** fix dry run specs ([d2085812](https://github.com/electron-userland/electron-forge/commit/d2085812)) ### [3.2.0](https://github.com/electron-userland/electron-forge/releases/tag/v3.2.0) (2017-08-17) ##### Chores -* **generic:** - * use the xcode8.3 image for Travis OSX ([c24ae48c](https://github.com/electron-userland/electron-forge/commit/c24ae48c)) - * upgrade dependencies ([9d17ca9e](https://github.com/electron-userland/electron-forge/commit/9d17ca9e)) -* **tests:** fixup comma arch test ([565fce42](https://github.com/electron-userland/electron-forge/commit/565fce42)) +- **generic:** + - use the xcode8.3 image for Travis OSX ([c24ae48c](https://github.com/electron-userland/electron-forge/commit/c24ae48c)) + - upgrade dependencies ([9d17ca9e](https://github.com/electron-userland/electron-forge/commit/9d17ca9e)) +- **tests:** fixup comma arch test ([565fce42](https://github.com/electron-userland/electron-forge/commit/565fce42)) ##### Documentation Changes -* **generic:** mention alternate ways of creating new Electron apps with Forge ([419962a8](https://github.com/electron-userland/electron-forge/commit/419962a8)) -* **packager:** list the Packager options that are not configurable ([bb33d9b6](https://github.com/electron-userland/electron-forge/commit/bb33d9b6)) +- **generic:** mention alternate ways of creating new Electron apps with Forge ([419962a8](https://github.com/electron-userland/electron-forge/commit/419962a8)) +- **packager:** list the Packager options that are not configurable ([bb33d9b6](https://github.com/electron-userland/electron-forge/commit/bb33d9b6)) ##### New Features -* **initializer:** add Forge as a devDependency to new Electron projects ([6d2cf4b0](https://github.com/electron-userland/electron-forge/commit/6d2cf4b0)) -* **generic:** print a warning if the package manager used is not a known good version ([a4c36fa4](https://github.com/electron-userland/electron-forge/commit/a4c36fa4)) +- **initializer:** add Forge as a devDependency to new Electron projects ([6d2cf4b0](https://github.com/electron-userland/electron-forge/commit/6d2cf4b0)) +- **generic:** print a warning if the package manager used is not a known good version ([a4c36fa4](https://github.com/electron-userland/electron-forge/commit/a4c36fa4)) ##### Bug Fixes -* **maker:** allow comma seperated arches in make as well as package ([9c69b08b](https://github.com/electron-userland/electron-forge/commit/9c69b08b)) +- **maker:** allow comma seperated arches in make as well as package ([9c69b08b](https://github.com/electron-userland/electron-forge/commit/9c69b08b)) #### [3.0.5](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.5) (2017-6-17) ##### Bug Fixes -* **maker:** fix debian and redhat maker path calculation ([c2dca211](https://github.com/electron-userland/electron-forge/commit/c2dca211)) +- **maker:** fix debian and redhat maker path calculation ([c2dca211](https://github.com/electron-userland/electron-forge/commit/c2dca211)) #### [3.0.4](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.4) (2017-6-15) ##### Chores -* **tests:** remove unnecessary chai-fetch-mock dependency ([196a64db](https://github.com/electron-userland/electron-forge/commit/196a64db)) +- **tests:** remove unnecessary chai-fetch-mock dependency ([196a64db](https://github.com/electron-userland/electron-forge/commit/196a64db)) ##### Bug Fixes -* **maker:** handle name option for the deb, rpm makers as well as dmg ([d335741a](https://github.com/electron-userland/electron-forge/commit/d335741a)) -* **generic:** add executable permissions to vscode.cmd ([33532f79](https://github.com/electron-userland/electron-forge/commit/33532f79)) +- **maker:** handle name option for the deb, rpm makers as well as dmg ([d335741a](https://github.com/electron-userland/electron-forge/commit/d335741a)) +- **generic:** add executable permissions to vscode.cmd ([33532f79](https://github.com/electron-userland/electron-forge/commit/33532f79)) ##### Refactors -* **installer:** replace electron-sudo with sudo-prompt ([0ea55fab](https://github.com/electron-userland/electron-forge/commit/0ea55fab)) +- **installer:** replace electron-sudo with sudo-prompt ([0ea55fab](https://github.com/electron-userland/electron-forge/commit/0ea55fab)) #### [3.0.3](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.3) (2017-5-26) ##### Bug Fixes -* **initializer:** fix bad logic RE argument parsing from the top level forge command ([774b8769](https://github.com/electron-userland/electron-forge/commit/774b8769)) +- **initializer:** fix bad logic RE argument parsing from the top level forge command ([774b8769](https://github.com/electron-userland/electron-forge/commit/774b8769)) #### [3.0.2](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.2) (2017-5-25) ##### Bug Fixes -* **starter:** fix double dash arg pass through ([0379e5fc](https://github.com/electron-userland/electron-forge/commit/0379e5fc)) -* **maker:** fix renaming of DMG output when a custom name is provided ([14cc927a](https://github.com/electron-userland/electron-forge/commit/14cc927a)) -* **tests:** fix appx tests (maker did not return output path) ([8d895cfc](https://github.com/electron-userland/electron-forge/commit/8d895cfc)) -* **initializer:** fix linting install for airbnb style ([b3446184](https://github.com/electron-userland/electron-forge/commit/b3446184)) +- **starter:** fix double dash arg pass through ([0379e5fc](https://github.com/electron-userland/electron-forge/commit/0379e5fc)) +- **maker:** fix renaming of DMG output when a custom name is provided ([14cc927a](https://github.com/electron-userland/electron-forge/commit/14cc927a)) +- **tests:** fix appx tests (maker did not return output path) ([8d895cfc](https://github.com/electron-userland/electron-forge/commit/8d895cfc)) +- **initializer:** fix linting install for airbnb style ([b3446184](https://github.com/electron-userland/electron-forge/commit/b3446184)) ##### Refactors -* **generic:** replace fs-promise with fs-extra ([012b152f](https://github.com/electron-userland/electron-forge/commit/012b152f)) +- **generic:** replace fs-promise with fs-extra ([012b152f](https://github.com/electron-userland/electron-forge/commit/012b152f)) ##### Tests -* **maker:** add tests for the DMG maker to ensure the renaming logic is correct ([8f5f9691](https://github.com/electron-userland/electron-forge/commit/8f5f9691)) +- **maker:** add tests for the DMG maker to ensure the renaming logic is correct ([8f5f9691](https://github.com/electron-userland/electron-forge/commit/8f5f9691)) #### [3.0.1](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.1) (2017-5-3) ##### Bug Fixes -* **publisher:** fix ers publisher not publishing when version already exists ([1c643ef9](https://github.com/electron-userland/electron-forge/commit/1c643ef9)) -* **maker:** fix dmg output path and add test to enforce in future ([a41d6db3](https://github.com/electron-userland/electron-forge/commit/a41d6db3)) +- **publisher:** fix ers publisher not publishing when version already exists ([1c643ef9](https://github.com/electron-userland/electron-forge/commit/1c643ef9)) +- **maker:** fix dmg output path and add test to enforce in future ([a41d6db3](https://github.com/electron-userland/electron-forge/commit/a41d6db3)) ## [3.0.0](https://github.com/electron-userland/electron-forge/releases/tag/v3.0.0) (2017-5-1) ##### Chores -* **undefined:** fix devDependency peer dep versions ([c5c8e9a9](https://github.com/electron-userland/electron-forge/commit/c5c8e9a9)) -* **generic:** add breaking changes prompt to `npm run commit` ([566fd6fb](https://github.com/electron-userland/electron-forge/commit/566fd6fb)) +- **undefined:** fix devDependency peer dep versions ([c5c8e9a9](https://github.com/electron-userland/electron-forge/commit/c5c8e9a9)) +- **generic:** add breaking changes prompt to `npm run commit` ([566fd6fb](https://github.com/electron-userland/electron-forge/commit/566fd6fb)) ##### Documentation Changes -* **publisher:** add docs for the new ers publisher ([e70405a8](https://github.com/electron-userland/electron-forge/commit/e70405a8)) +- **publisher:** add docs for the new ers publisher ([e70405a8](https://github.com/electron-userland/electron-forge/commit/e70405a8)) ##### New Features -* **publisher:** add new publisher for electron-release-server ([0c68ebab](https://github.com/electron-userland/electron-forge/commit/0c68ebab)) -* **makers:** Ensure all assets outputted by make are versioned ([6dda5179](https://github.com/electron-userland/electron-forge/commit/6dda5179)) -* **maker:** - * create and consume a common util to check makers' supported platforms ([fa53340b](https://github.com/electron-userland/electron-forge/commit/fa53340b)) - * declare deb maker support for darwin & linux platforms ([f10fbd18](https://github.com/electron-userland/electron-forge/commit/f10fbd18)) +- **publisher:** add new publisher for electron-release-server ([0c68ebab](https://github.com/electron-userland/electron-forge/commit/0c68ebab)) +- **makers:** Ensure all assets outputted by make are versioned ([6dda5179](https://github.com/electron-userland/electron-forge/commit/6dda5179)) +- **maker:** + - create and consume a common util to check makers' supported platforms ([fa53340b](https://github.com/electron-userland/electron-forge/commit/fa53340b)) + - declare deb maker support for darwin & linux platforms ([f10fbd18](https://github.com/electron-userland/electron-forge/commit/f10fbd18)) ##### Bug Fixes -* **start:** exit forge with same status code as Electron if nonzero ([a509f55a](https://github.com/electron-userland/electron-forge/commit/a509f55a)) -* **tests:** make optionFetcher-related tests compile again ([1097f8bd](https://github.com/electron-userland/electron-forge/commit/1097f8bd)) -* **docs:** rm note that package api's platform opt is ignored ([eefa93f0](https://github.com/electron-userland/electron-forge/commit/eefa93f0)) +- **start:** exit forge with same status code as Electron if nonzero ([a509f55a](https://github.com/electron-userland/electron-forge/commit/a509f55a)) +- **tests:** make optionFetcher-related tests compile again ([1097f8bd](https://github.com/electron-userland/electron-forge/commit/1097f8bd)) +- **docs:** rm note that package api's platform opt is ignored ([eefa93f0](https://github.com/electron-userland/electron-forge/commit/eefa93f0)) ##### Refactors -* **starter:** use double dash instead of triple dash to pass args through ([e3a1be64](https://github.com/electron-userland/electron-forge/commit/e3a1be64)) -* **utils:** filter packages' os declarations to exclude blacklist entries ([fbaec97f](https://github.com/electron-userland/electron-forge/commit/fbaec97f)) -* **maker:** support make for targets on non-host platforms ([f79f6f78](https://github.com/electron-userland/electron-forge/commit/f79f6f78)) -* **util:** extend requireSearch to export a raw search fn ([84f0134b](https://github.com/electron-userland/electron-forge/commit/84f0134b)) +- **starter:** use double dash instead of triple dash to pass args through ([e3a1be64](https://github.com/electron-userland/electron-forge/commit/e3a1be64)) +- **utils:** filter packages' os declarations to exclude blacklist entries ([fbaec97f](https://github.com/electron-userland/electron-forge/commit/fbaec97f)) +- **maker:** support make for targets on non-host platforms ([f79f6f78](https://github.com/electron-userland/electron-forge/commit/f79f6f78)) +- **util:** extend requireSearch to export a raw search fn ([84f0134b](https://github.com/electron-userland/electron-forge/commit/84f0134b)) ##### Tests -* **publisher:** fix publisher tests for new syntax ([c19d1c2a](https://github.com/electron-userland/electron-forge/commit/c19d1c2a)) -* **maker:** add test to confirm dummy maker does not get called ([556deaac](https://github.com/electron-userland/electron-forge/commit/556deaac)) +- **publisher:** fix publisher tests for new syntax ([c19d1c2a](https://github.com/electron-userland/electron-forge/commit/c19d1c2a)) +- **maker:** add test to confirm dummy maker does not get called ([556deaac](https://github.com/electron-userland/electron-forge/commit/556deaac)) ### [2.12.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.12.0) (2017-4-25) ##### New Features -* **maker:** basic hooks for preMake, postMake, generateAssets, prePackage and postPackage ([1a17189b](https://github.com/electron-userland/electron-forge/commit/1a17189b)) +- **maker:** basic hooks for preMake, postMake, generateAssets, prePackage and postPackage ([1a17189b](https://github.com/electron-userland/electron-forge/commit/1a17189b)) ##### Bug Fixes -* **maker:** do not enforce the name property on the DMG maker ([1b10fd57](https://github.com/electron-userland/electron-forge/commit/1b10fd57)) +- **maker:** do not enforce the name property on the DMG maker ([1b10fd57](https://github.com/electron-userland/electron-forge/commit/1b10fd57)) #### [2.11.1](https://github.com/electron-userland/electron-forge/releases/tag/v2.11.1) (2017-4-19) @@ -2681,654 +2681,654 @@ ##### New Features -* **maker:** allow maker configs to be functions that return values based on arch ([d9cbec5a](https://github.com/electron-userland/electron-forge/commit/d9cbec5a)) +- **maker:** allow maker configs to be functions that return values based on arch ([d9cbec5a](https://github.com/electron-userland/electron-forge/commit/d9cbec5a)) ### [2.10.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.10.0) (2017-4-16) ##### Chores -* **generic:** - * fix/rename coverage sending script ([547c044f](https://github.com/electron-userland/electron-forge/commit/547c044f)) - * update various dependencies ([0f97292c](https://github.com/electron-userland/electron-forge/commit/0f97292c)) +- **generic:** + - fix/rename coverage sending script ([547c044f](https://github.com/electron-userland/electron-forge/commit/547c044f)) + - update various dependencies ([0f97292c](https://github.com/electron-userland/electron-forge/commit/0f97292c)) ##### New Features -* **starter:** - * windows implementation of the vscode debug command ([9cb7f42c](https://github.com/electron-userland/electron-forge/commit/9cb7f42c)) - * provide an executable to start forge in a vscode debugger compatible way ([1238dee5](https://github.com/electron-userland/electron-forge/commit/1238dee5)) +- **starter:** + - windows implementation of the vscode debug command ([9cb7f42c](https://github.com/electron-userland/electron-forge/commit/9cb7f42c)) + - provide an executable to start forge in a vscode debugger compatible way ([1238dee5](https://github.com/electron-userland/electron-forge/commit/1238dee5)) ### [2.9.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.9.0) (2017-4-2) ##### Chores -* **generic:** add .editorconfig ([5aaf871e](https://github.com/electron-userland/electron-forge/commit/5aaf871e)) +- **generic:** add .editorconfig ([5aaf871e](https://github.com/electron-userland/electron-forge/commit/5aaf871e)) ##### New Features -* **importer:** add configurable outDir support for gitignore ([9369284f](https://github.com/electron-userland/electron-forge/commit/9369284f)) +- **importer:** add configurable outDir support for gitignore ([9369284f](https://github.com/electron-userland/electron-forge/commit/9369284f)) ##### Bug Fixes -* **initializer:** - * update Electron version type in .compilerc template, for completeness ([a4fa4bfc](https://github.com/electron-userland/electron-forge/commit/a4fa4bfc)) - * set electron version to be float in init step ([710129b7](https://github.com/electron-userland/electron-forge/commit/710129b7)) -* **maker:** - * upgrade rpm maker for better package.json handling ([926032e8](https://github.com/electron-userland/electron-forge/commit/926032e8)) - * test outDir on zip target only, after other targets run ([a2c92499](https://github.com/electron-userland/electron-forge/commit/a2c92499)) - * pass computed outDir to packager ([686200f6](https://github.com/electron-userland/electron-forge/commit/686200f6)) - * search local node_modules folder for maker when installed globally ([9b8f2970](https://github.com/electron-userland/electron-forge/commit/9b8f2970)) -* **tests:** - * stop awaiting mocha and ensure we clean up out dirs ([2e6dc384](https://github.com/electron-userland/electron-forge/commit/2e6dc384)) - * use expect(await ...) syntax per @marshallofsound ([59ddf9af](https://github.com/electron-userland/electron-forge/commit/59ddf9af)) -* **generic:** use path.resolve (vs /-delimited) to compute default outDir ([ff167447](https://github.com/electron-userland/electron-forge/commit/ff167447)) -* **packager:** correct main file reference in thrown error from packageJson.name to .main ([a68284b1](https://github.com/electron-userland/electron-forge/commit/a68284b1)) -* **publisher:** check local node_modules when searching for publisher ([42fad7f3](https://github.com/electron-userland/electron-forge/commit/42fad7f3)) +- **initializer:** + - update Electron version type in .compilerc template, for completeness ([a4fa4bfc](https://github.com/electron-userland/electron-forge/commit/a4fa4bfc)) + - set electron version to be float in init step ([710129b7](https://github.com/electron-userland/electron-forge/commit/710129b7)) +- **maker:** + - upgrade rpm maker for better package.json handling ([926032e8](https://github.com/electron-userland/electron-forge/commit/926032e8)) + - test outDir on zip target only, after other targets run ([a2c92499](https://github.com/electron-userland/electron-forge/commit/a2c92499)) + - pass computed outDir to packager ([686200f6](https://github.com/electron-userland/electron-forge/commit/686200f6)) + - search local node_modules folder for maker when installed globally ([9b8f2970](https://github.com/electron-userland/electron-forge/commit/9b8f2970)) +- **tests:** + - stop awaiting mocha and ensure we clean up out dirs ([2e6dc384](https://github.com/electron-userland/electron-forge/commit/2e6dc384)) + - use expect(await ...) syntax per @marshallofsound ([59ddf9af](https://github.com/electron-userland/electron-forge/commit/59ddf9af)) +- **generic:** use path.resolve (vs /-delimited) to compute default outDir ([ff167447](https://github.com/electron-userland/electron-forge/commit/ff167447)) +- **packager:** correct main file reference in thrown error from packageJson.name to .main ([a68284b1](https://github.com/electron-userland/electron-forge/commit/a68284b1)) +- **publisher:** check local node_modules when searching for publisher ([42fad7f3](https://github.com/electron-userland/electron-forge/commit/42fad7f3)) ##### Refactors -* **maker:** compute outDir from providedOptions w/default ([d69e7626](https://github.com/electron-userland/electron-forge/commit/d69e7626)) -* **packager:** compute outDir from providedOptions w/default ([1e26d258](https://github.com/electron-userland/electron-forge/commit/1e26d258)) +- **maker:** compute outDir from providedOptions w/default ([d69e7626](https://github.com/electron-userland/electron-forge/commit/d69e7626)) +- **packager:** compute outDir from providedOptions w/default ([1e26d258](https://github.com/electron-userland/electron-forge/commit/1e26d258)) ##### Code Style Changes -* **initializer:** fix typo ([dd6aec48](https://github.com/electron-userland/electron-forge/commit/dd6aec48)) +- **initializer:** fix typo ([dd6aec48](https://github.com/electron-userland/electron-forge/commit/dd6aec48)) ##### Tests -* **tests:** add tests for packager & maker outDir support ([32cecffd](https://github.com/electron-userland/electron-forge/commit/32cecffd)) +- **tests:** add tests for packager & maker outDir support ([32cecffd](https://github.com/electron-userland/electron-forge/commit/32cecffd)) #### [2.8.3](https://github.com/electron-userland/electron-forge/releases/tag/v2.8.3) (2017-3-10) ##### Chores -* **generic:** - * update react-typescript template ([30516e78](https://github.com/electron-userland/electron-forge/commit/30516e78)) - * make release script work on windows ([0ff6a7ab](https://github.com/electron-userland/electron-forge/commit/0ff6a7ab)) +- **generic:** + - update react-typescript template ([30516e78](https://github.com/electron-userland/electron-forge/commit/30516e78)) + - make release script work on windows ([0ff6a7ab](https://github.com/electron-userland/electron-forge/commit/0ff6a7ab)) ##### New Features -* **starter:** automatically wipe the ELECTRON_RUN_AS_NODE variable unless specified ([c702fe4a](https://github.com/electron-userland/electron-forge/commit/c702fe4a)) -* **generic:** - * Support setting the Electron app path in start() ([47c5572e](https://github.com/electron-userland/electron-forge/commit/47c5572e)) - * allow third party modules to be named whatever they want ([fddb40e6](https://github.com/electron-userland/electron-forge/commit/fddb40e6)) +- **starter:** automatically wipe the ELECTRON_RUN_AS_NODE variable unless specified ([c702fe4a](https://github.com/electron-userland/electron-forge/commit/c702fe4a)) +- **generic:** + - Support setting the Electron app path in start() ([47c5572e](https://github.com/electron-userland/electron-forge/commit/47c5572e)) + - allow third party modules to be named whatever they want ([fddb40e6](https://github.com/electron-userland/electron-forge/commit/fddb40e6)) ##### Bug Fixes -* **publisher:** use updated node-github response API ([0f8e6c4f](https://github.com/electron-userland/electron-forge/commit/0f8e6c4f)) -* **maker:** - * fix the squirrel maker app name logic ([84031ecb](https://github.com/electron-userland/electron-forge/commit/84031ecb)) - * allow most appx default config to be overridden by the user ([b1e90538](https://github.com/electron-userland/electron-forge/commit/b1e90538)) -* **tests:** ensure test project has proper metadata filled ([0bc81858](https://github.com/electron-userland/electron-forge/commit/0bc81858)) +- **publisher:** use updated node-github response API ([0f8e6c4f](https://github.com/electron-userland/electron-forge/commit/0f8e6c4f)) +- **maker:** + - fix the squirrel maker app name logic ([84031ecb](https://github.com/electron-userland/electron-forge/commit/84031ecb)) + - allow most appx default config to be overridden by the user ([b1e90538](https://github.com/electron-userland/electron-forge/commit/b1e90538)) +- **tests:** ensure test project has proper metadata filled ([0bc81858](https://github.com/electron-userland/electron-forge/commit/0bc81858)) #### [2.8.2](https://github.com/electron-userland/electron-forge/releases/tag/v2.8.2) (2017-2-28) ##### Chores -* **templates:** bump all template versions ([32297344](https://github.com/electron-userland/electron-forge/commit/32297344)) +- **templates:** bump all template versions ([32297344](https://github.com/electron-userland/electron-forge/commit/32297344)) ##### Bug Fixes -* **ci:** Use the preinstalled yarn on AppVeyor (#146) ([7a1deee7](https://github.com/electron-userland/electron-forge/commit/7a1deee7)) -* **publisher:** Fix secret access key ([0a9710b5](https://github.com/electron-userland/electron-forge/commit/0a9710b5)) +- **ci:** Use the preinstalled yarn on AppVeyor (#146) ([7a1deee7](https://github.com/electron-userland/electron-forge/commit/7a1deee7)) +- **publisher:** Fix secret access key ([0a9710b5](https://github.com/electron-userland/electron-forge/commit/0a9710b5)) #### [2.8.1](https://github.com/electron-userland/electron-forge/releases/tag/v2.8.1) (2017-2-23) ##### Chores -* **generic:** - * add checkboxes and intros to the issue/PR templates ([a1ab1c3a](https://github.com/electron-userland/electron-forge/commit/a1ab1c3a)) - * fix formatting in GitHub issue template ([da95b42b](https://github.com/electron-userland/electron-forge/commit/da95b42b)) -* **tests:** remove now obsolete flatpak call in Linux tests ([b93b6cfe](https://github.com/electron-userland/electron-forge/commit/b93b6cfe)) +- **generic:** + - add checkboxes and intros to the issue/PR templates ([a1ab1c3a](https://github.com/electron-userland/electron-forge/commit/a1ab1c3a)) + - fix formatting in GitHub issue template ([da95b42b](https://github.com/electron-userland/electron-forge/commit/da95b42b)) +- **tests:** remove now obsolete flatpak call in Linux tests ([b93b6cfe](https://github.com/electron-userland/electron-forge/commit/b93b6cfe)) ##### Documentation Changes -* **publisher:** - * mention the standard AWS environment variables in the README ([efc7ea14](https://github.com/electron-userland/electron-forge/commit/efc7ea14)) - * add example for GitHub publish target ([3fc0a9c2](https://github.com/electron-userland/electron-forge/commit/3fc0a9c2)) +- **publisher:** + - mention the standard AWS environment variables in the README ([efc7ea14](https://github.com/electron-userland/electron-forge/commit/efc7ea14)) + - add example for GitHub publish target ([3fc0a9c2](https://github.com/electron-userland/electron-forge/commit/3fc0a9c2)) ##### New Features -* **packager:** remove the users forge config after packaging for safety reasons ([7432e034](https://github.com/electron-userland/electron-forge/commit/7432e034)) -* **publisher:** - * allow usage of standard AWS environment variables for S3 publishing ([d31ce248](https://github.com/electron-userland/electron-forge/commit/d31ce248)) - * add S3 publish target ([fa31902a](https://github.com/electron-userland/electron-forge/commit/fa31902a)) - * allow platform level config for publish targets ([8572cad6](https://github.com/electron-userland/electron-forge/commit/8572cad6)) -* **generic:** allow config options to be automagically pulled in from process.env ([250c197f](https://github.com/electron-userland/electron-forge/commit/250c197f)) +- **packager:** remove the users forge config after packaging for safety reasons ([7432e034](https://github.com/electron-userland/electron-forge/commit/7432e034)) +- **publisher:** + - allow usage of standard AWS environment variables for S3 publishing ([d31ce248](https://github.com/electron-userland/electron-forge/commit/d31ce248)) + - add S3 publish target ([fa31902a](https://github.com/electron-userland/electron-forge/commit/fa31902a)) + - allow platform level config for publish targets ([8572cad6](https://github.com/electron-userland/electron-forge/commit/8572cad6)) +- **generic:** allow config options to be automagically pulled in from process.env ([250c197f](https://github.com/electron-userland/electron-forge/commit/250c197f)) ##### Bug Fixes -* **tests:** - * fix forge config deletion tests on all platforms ([7b99e847](https://github.com/electron-userland/electron-forge/commit/7b99e847)) - * fix test failures caused by config structure changes ([3a3cdfdb](https://github.com/electron-userland/electron-forge/commit/3a3cdfdb)) -* **importer:** - * install electron-prebuilt-compile as devDep ([e80be32a](https://github.com/electron-userland/electron-forge/commit/e80be32a)) - * check updateScripts value at script install vs deps removal ([4942cb60](https://github.com/electron-userland/electron-forge/commit/4942cb60)) - * ensure electronName exists before resolving its path ([9dcf2ec5](https://github.com/electron-userland/electron-forge/commit/9dcf2ec5)) -* **publisher:** throw an exception if a GitHub token isn't specified ([bc299b7a](https://github.com/electron-userland/electron-forge/commit/bc299b7a)) -* **initializer:** add github_repository.name to package.json in default template ([d1ceadf3](https://github.com/electron-userland/electron-forge/commit/d1ceadf3)) +- **tests:** + - fix forge config deletion tests on all platforms ([7b99e847](https://github.com/electron-userland/electron-forge/commit/7b99e847)) + - fix test failures caused by config structure changes ([3a3cdfdb](https://github.com/electron-userland/electron-forge/commit/3a3cdfdb)) +- **importer:** + - install electron-prebuilt-compile as devDep ([e80be32a](https://github.com/electron-userland/electron-forge/commit/e80be32a)) + - check updateScripts value at script install vs deps removal ([4942cb60](https://github.com/electron-userland/electron-forge/commit/4942cb60)) + - ensure electronName exists before resolving its path ([9dcf2ec5](https://github.com/electron-userland/electron-forge/commit/9dcf2ec5)) +- **publisher:** throw an exception if a GitHub token isn't specified ([bc299b7a](https://github.com/electron-userland/electron-forge/commit/bc299b7a)) +- **initializer:** add github_repository.name to package.json in default template ([d1ceadf3](https://github.com/electron-userland/electron-forge/commit/d1ceadf3)) ##### Refactors -* **publisher:** add deprecate method call to inform the user ([24571197](https://github.com/electron-userland/electron-forge/commit/24571197)) +- **publisher:** add deprecate method call to inform the user ([24571197](https://github.com/electron-userland/electron-forge/commit/24571197)) ##### Code Style Changes -* **util:** fix typo re: imagePath ([9e064cf3](https://github.com/electron-userland/electron-forge/commit/9e064cf3)) +- **util:** fix typo re: imagePath ([9e064cf3](https://github.com/electron-userland/electron-forge/commit/9e064cf3)) ### [2.8.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.8.0) (2017-2-2) ##### Chores -* **gitignore:** ignore npm-debug.log files ([06b824ee](https://github.com/electron-userland/electron-forge/commit/06b824ee)) +- **gitignore:** ignore npm-debug.log files ([06b824ee](https://github.com/electron-userland/electron-forge/commit/06b824ee)) ##### New Features -* **importer:** allow the implementer to decide whether to override scripts or not ([f85e194f](https://github.com/electron-userland/electron-forge/commit/f85e194f)) -* **starter:** resolve start api usage with a handle to the spawned process ([b5ba30e3](https://github.com/electron-userland/electron-forge/commit/b5ba30e3)) +- **importer:** allow the implementer to decide whether to override scripts or not ([f85e194f](https://github.com/electron-userland/electron-forge/commit/f85e194f)) +- **starter:** resolve start api usage with a handle to the spawned process ([b5ba30e3](https://github.com/electron-userland/electron-forge/commit/b5ba30e3)) ##### Bug Fixes -* **importer:** if no electron was found install the latest version by default ([c8b12fbf](https://github.com/electron-userland/electron-forge/commit/c8b12fbf)) -* **generic:** make all process.exit and console calls respect the interactive setting ([a3e43315](https://github.com/electron-userland/electron-forge/commit/a3e43315)) +- **importer:** if no electron was found install the latest version by default ([c8b12fbf](https://github.com/electron-userland/electron-forge/commit/c8b12fbf)) +- **generic:** make all process.exit and console calls respect the interactive setting ([a3e43315](https://github.com/electron-userland/electron-forge/commit/a3e43315)) ##### Refactors -* **generic:** add wrappers for console.info and console.warn ([f223df85](https://github.com/electron-userland/electron-forge/commit/f223df85)) +- **generic:** add wrappers for console.info and console.warn ([f223df85](https://github.com/electron-userland/electron-forge/commit/f223df85)) ##### Tests -* **starter:** add test for returned childProcess.spawn ([f2c128e4](https://github.com/electron-userland/electron-forge/commit/f2c128e4)) +- **starter:** add test for returned childProcess.spawn ([f2c128e4](https://github.com/electron-userland/electron-forge/commit/f2c128e4)) #### [2.7.5](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.5) (2017-1-29) ##### Chores -* **tests:** add eslint-plugin-mocha ([74397232](https://github.com/electron-userland/electron-forge/commit/74397232)) -* **generic:** update electron-installer-dmg to version 0.2.0 ([aa8034b1](https://github.com/electron-userland/electron-forge/commit/aa8034b1)) +- **tests:** add eslint-plugin-mocha ([74397232](https://github.com/electron-userland/electron-forge/commit/74397232)) +- **generic:** update electron-installer-dmg to version 0.2.0 ([aa8034b1](https://github.com/electron-userland/electron-forge/commit/aa8034b1)) ##### Bug Fixes -* **tests:** update tests due to changes in #101 ([912b4f69](https://github.com/electron-userland/electron-forge/commit/912b4f69)) -* **maker:** detect out path of package step correctly ([6d15c62d](https://github.com/electron-userland/electron-forge/commit/6d15c62d)) -* **tabtab:** dont install tabtab in a development environment and ignore tabtab install errors ([f0cb0417](https://github.com/electron-userland/electron-forge/commit/f0cb0417)) +- **tests:** update tests due to changes in #101 ([912b4f69](https://github.com/electron-userland/electron-forge/commit/912b4f69)) +- **maker:** detect out path of package step correctly ([6d15c62d](https://github.com/electron-userland/electron-forge/commit/6d15c62d)) +- **tabtab:** dont install tabtab in a development environment and ignore tabtab install errors ([f0cb0417](https://github.com/electron-userland/electron-forge/commit/f0cb0417)) ##### Code Style Changes -* **generic:** fixed typos ([2f869d81](https://github.com/electron-userland/electron-forge/commit/2f869d81)) -* **tests:** ignore intentionally wrong code in test ([f01f9907](https://github.com/electron-userland/electron-forge/commit/f01f9907)) +- **generic:** fixed typos ([2f869d81](https://github.com/electron-userland/electron-forge/commit/2f869d81)) +- **tests:** ignore intentionally wrong code in test ([f01f9907](https://github.com/electron-userland/electron-forge/commit/f01f9907)) ##### Tests -* **initializer:** add nonexistent template test ([6f26c64f](https://github.com/electron-userland/electron-forge/commit/6f26c64f)) -* **generic:** increase test coverage of the init API ([2c9caddf](https://github.com/electron-userland/electron-forge/commit/2c9caddf)) -* **starter:** add test coverage for starter ([0d2f5712](https://github.com/electron-userland/electron-forge/commit/0d2f5712)) -* **installer:** add test coverage for the installer ([4049e31c](https://github.com/electron-userland/electron-forge/commit/4049e31c)) -* **tests:** increase test coverage on util modules ([6c63aafa](https://github.com/electron-userland/electron-forge/commit/6c63aafa)) +- **initializer:** add nonexistent template test ([6f26c64f](https://github.com/electron-userland/electron-forge/commit/6f26c64f)) +- **generic:** increase test coverage of the init API ([2c9caddf](https://github.com/electron-userland/electron-forge/commit/2c9caddf)) +- **starter:** add test coverage for starter ([0d2f5712](https://github.com/electron-userland/electron-forge/commit/0d2f5712)) +- **installer:** add test coverage for the installer ([4049e31c](https://github.com/electron-userland/electron-forge/commit/4049e31c)) +- **tests:** increase test coverage on util modules ([6c63aafa](https://github.com/electron-userland/electron-forge/commit/6c63aafa)) #### [2.7.4](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.4) (2017-1-27) ##### Documentation Changes -* **generic:** clarify what the major package dependencies are ([559956b3](https://github.com/electron-userland/electron-forge/commit/559956b3)) +- **generic:** clarify what the major package dependencies are ([559956b3](https://github.com/electron-userland/electron-forge/commit/559956b3)) ##### Refactors -* **generic:** move ora.ora to an ora helper for ease of submodule use ([ee33638a](https://github.com/electron-userland/electron-forge/commit/ee33638a)) +- **generic:** move ora.ora to an ora helper for ease of submodule use ([ee33638a](https://github.com/electron-userland/electron-forge/commit/ee33638a)) #### [2.7.3](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.3) (2017-1-25) ##### New Features -* **installer:** manually mount and scan a DMG file when installing for the .app ([7ea5af8a](https://github.com/electron-userland/electron-forge/commit/7ea5af8a)) +- **installer:** manually mount and scan a DMG file when installing for the .app ([7ea5af8a](https://github.com/electron-userland/electron-forge/commit/7ea5af8a)) ##### Bug Fixes -* **packager:** fix resolving of afterCopy and afterExtract hook paths ([bd4df685](https://github.com/electron-userland/electron-forge/commit/bd4df685)) -* **installer:** fix install prompt when multiple compatable targets found ([9a2f36c9](https://github.com/electron-userland/electron-forge/commit/9a2f36c9)) +- **packager:** fix resolving of afterCopy and afterExtract hook paths ([bd4df685](https://github.com/electron-userland/electron-forge/commit/bd4df685)) +- **installer:** fix install prompt when multiple compatable targets found ([9a2f36c9](https://github.com/electron-userland/electron-forge/commit/9a2f36c9)) ##### Code Style Changes -* **generic:** remove unnecessary eslint pragmas ([23d1aa9f](https://github.com/electron-userland/electron-forge/commit/23d1aa9f)) +- **generic:** remove unnecessary eslint pragmas ([23d1aa9f](https://github.com/electron-userland/electron-forge/commit/23d1aa9f)) #### [2.7.2](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.2) (2017-1-18) ##### Bug Fixes -* **packager:** force upgrade to electron-rebuild 1.5.7 ([f2912db5](https://github.com/electron-userland/electron-forge/commit/f2912db5)) +- **packager:** force upgrade to electron-rebuild 1.5.7 ([f2912db5](https://github.com/electron-userland/electron-forge/commit/f2912db5)) #### [2.7.1](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.1) (2017-1-15) ##### Chores -* **generic:** - * alphabetize custom eslint rules ([e7f6eeb6](https://github.com/electron-userland/electron-forge/commit/e7f6eeb6)) - * disable the no-throw-literal eslint rule ([05f893e8](https://github.com/electron-userland/electron-forge/commit/05f893e8)) +- **generic:** + - alphabetize custom eslint rules ([e7f6eeb6](https://github.com/electron-userland/electron-forge/commit/e7f6eeb6)) + - disable the no-throw-literal eslint rule ([05f893e8](https://github.com/electron-userland/electron-forge/commit/05f893e8)) ##### Bug Fixes -* **initializer:** handle local templates correctly ([42bf745a](https://github.com/electron-userland/electron-forge/commit/42bf745a)) -* **alias:** fix the forge alias so that it can run the make command ([725e6b06](https://github.com/electron-userland/electron-forge/commit/725e6b06)) +- **initializer:** handle local templates correctly ([42bf745a](https://github.com/electron-userland/electron-forge/commit/42bf745a)) +- **alias:** fix the forge alias so that it can run the make command ([725e6b06](https://github.com/electron-userland/electron-forge/commit/725e6b06)) ### [2.7.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.7.0) (2017-1-14) ##### Documentation Changes -* **initializer:** document the built in templates ([b0eec7c3](https://github.com/electron-userland/electron-forge/commit/b0eec7c3)) +- **initializer:** document the built in templates ([b0eec7c3](https://github.com/electron-userland/electron-forge/commit/b0eec7c3)) ##### New Features -* **initializer:** add userland templates to forge ([bcba06a2](https://github.com/electron-userland/electron-forge/commit/bcba06a2)) +- **initializer:** add userland templates to forge ([bcba06a2](https://github.com/electron-userland/electron-forge/commit/bcba06a2)) ### [2.6.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.6.0) (2017-1-10) ##### Chores -* **deps:** Update electron-windows-store ([761464f0](https://github.com/electron-userland/electron-forge/commit/761464f0)) +- **deps:** Update electron-windows-store ([761464f0](https://github.com/electron-userland/electron-forge/commit/761464f0)) ##### New Features -* **importer:** - * ensure the user is aware of any script changes we make ([cbb73e7e](https://github.com/electron-userland/electron-forge/commit/cbb73e7e)) - * import now sets the scripts section in package.json to be forge scripts ([cb01d406](https://github.com/electron-userland/electron-forge/commit/cb01d406)) -* **initializer:** template package.json now includes package and make scripts ([272d9b1e](https://github.com/electron-userland/electron-forge/commit/272d9b1e)) -* **rebuilder:** show rebuild progress from the electron-rebuild lifecycle ([26f23b48](https://github.com/electron-userland/electron-forge/commit/26f23b48)) -* **generic:** - * use electron-rebuild instead of generic rebuild logic ([3d26da5b](https://github.com/electron-userland/electron-forge/commit/3d26da5b)) - * add basic tab completion for top level commands ([30082bbf](https://github.com/electron-userland/electron-forge/commit/30082bbf)) +- **importer:** + - ensure the user is aware of any script changes we make ([cbb73e7e](https://github.com/electron-userland/electron-forge/commit/cbb73e7e)) + - import now sets the scripts section in package.json to be forge scripts ([cb01d406](https://github.com/electron-userland/electron-forge/commit/cb01d406)) +- **initializer:** template package.json now includes package and make scripts ([272d9b1e](https://github.com/electron-userland/electron-forge/commit/272d9b1e)) +- **rebuilder:** show rebuild progress from the electron-rebuild lifecycle ([26f23b48](https://github.com/electron-userland/electron-forge/commit/26f23b48)) +- **generic:** + - use electron-rebuild instead of generic rebuild logic ([3d26da5b](https://github.com/electron-userland/electron-forge/commit/3d26da5b)) + - add basic tab completion for top level commands ([30082bbf](https://github.com/electron-userland/electron-forge/commit/30082bbf)) ##### Bug Fixes -* **packager:** - * check asar.unpack correctly ([150ea5dd](https://github.com/electron-userland/electron-forge/commit/150ea5dd)) - * clarify entry point error messages ([969ab1ea](https://github.com/electron-userland/electron-forge/commit/969ab1ea)) - * throw errors on an uncompilable entrypoint ([b7f7b81c](https://github.com/electron-userland/electron-forge/commit/b7f7b81c)) -* **initializer:** - * unpin electron-compilers ([9e2aefaa](https://github.com/electron-userland/electron-forge/commit/9e2aefaa)) - * unpin eslint-plugin-jsx-a11y ([02b6e367](https://github.com/electron-userland/electron-forge/commit/02b6e367)) - * pin electron-compilers dependency due to typescript bug ([4ebafa8d](https://github.com/electron-userland/electron-forge/commit/4ebafa8d)) +- **packager:** + - check asar.unpack correctly ([150ea5dd](https://github.com/electron-userland/electron-forge/commit/150ea5dd)) + - clarify entry point error messages ([969ab1ea](https://github.com/electron-userland/electron-forge/commit/969ab1ea)) + - throw errors on an uncompilable entrypoint ([b7f7b81c](https://github.com/electron-userland/electron-forge/commit/b7f7b81c)) +- **initializer:** + - unpin electron-compilers ([9e2aefaa](https://github.com/electron-userland/electron-forge/commit/9e2aefaa)) + - unpin eslint-plugin-jsx-a11y ([02b6e367](https://github.com/electron-userland/electron-forge/commit/02b6e367)) + - pin electron-compilers dependency due to typescript bug ([4ebafa8d](https://github.com/electron-userland/electron-forge/commit/4ebafa8d)) ##### Refactors -* **packager:** upgrade to Electron Packager 8.5.0 ([b8489b47](https://github.com/electron-userland/electron-forge/commit/b8489b47)) +- **packager:** upgrade to Electron Packager 8.5.0 ([b8489b47](https://github.com/electron-userland/electron-forge/commit/b8489b47)) #### [2.5.2](https://github.com/electron-userland/electron-forge/releases/tag/v2.5.2) (2017-1-7) ##### Bug Fixes -* **publisher:** dont call make twice while publishing ([55bfe1ac](https://github.com/electron-userland/electron-forge/commit/55bfe1ac)) +- **publisher:** dont call make twice while publishing ([55bfe1ac](https://github.com/electron-userland/electron-forge/commit/55bfe1ac)) #### [2.5.1](https://github.com/electron-userland/electron-forge/releases/tag/v2.5.1) (2017-1-5) ##### Chores -* **undefined:** - * istanbul-lib-instrument is no longer required ([f60dd586](https://github.com/electron-userland/electron-forge/commit/f60dd586)) - * upgrade to version of babel-plugin-istanbul that should address regression ([0913506b](https://github.com/electron-userland/electron-forge/commit/0913506b)) +- **undefined:** + - istanbul-lib-instrument is no longer required ([f60dd586](https://github.com/electron-userland/electron-forge/commit/f60dd586)) + - upgrade to version of babel-plugin-istanbul that should address regression ([0913506b](https://github.com/electron-userland/electron-forge/commit/0913506b)) ##### Bug Fixes -* **importer:** fix relative path to tmpl directory ([b39c1008](https://github.com/electron-userland/electron-forge/commit/b39c1008)) -* **undefined:** regression in istanbul-lib-instrument and babel-plugin-istanbul should now be addressed ([58b9791e](https://github.com/electron-userland/electron-forge/commit/58b9791e)) +- **importer:** fix relative path to tmpl directory ([b39c1008](https://github.com/electron-userland/electron-forge/commit/b39c1008)) +- **undefined:** regression in istanbul-lib-instrument and babel-plugin-istanbul should now be addressed ([58b9791e](https://github.com/electron-userland/electron-forge/commit/58b9791e)) ### [2.5.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.5.0) (2017-1-3) ##### Chores -* **generic:** - * only publish CI coverage on success ([7fbbef72](https://github.com/electron-userland/electron-forge/commit/7fbbef72)) - * enable coveralls ([2f821155](https://github.com/electron-userland/electron-forge/commit/2f821155)) -* **tests:** - * fix appx tests on rebased branch ([75f217a5](https://github.com/electron-userland/electron-forge/commit/75f217a5)) - * move tests to be unit tests on the API and enable coverage ([54603c1e](https://github.com/electron-userland/electron-forge/commit/54603c1e)) +- **generic:** + - only publish CI coverage on success ([7fbbef72](https://github.com/electron-userland/electron-forge/commit/7fbbef72)) + - enable coveralls ([2f821155](https://github.com/electron-userland/electron-forge/commit/2f821155)) +- **tests:** + - fix appx tests on rebased branch ([75f217a5](https://github.com/electron-userland/electron-forge/commit/75f217a5)) + - move tests to be unit tests on the API and enable coverage ([54603c1e](https://github.com/electron-userland/electron-forge/commit/54603c1e)) ##### Documentation Changes -* **generic:** - * fix option variable names ([0923ac1e](https://github.com/electron-userland/electron-forge/commit/0923ac1e)) - * cleanup API docs ([9c118a4f](https://github.com/electron-userland/electron-forge/commit/9c118a4f)) - * add doc formatting guidelines based off of pycodestyle ([6efa5259](https://github.com/electron-userland/electron-forge/commit/6efa5259)) -* **importer:** - * tweak description ([e885cd5e](https://github.com/electron-userland/electron-forge/commit/e885cd5e)) - * mention import in the README ([d5eab37a](https://github.com/electron-userland/electron-forge/commit/d5eab37a)) +- **generic:** + - fix option variable names ([0923ac1e](https://github.com/electron-userland/electron-forge/commit/0923ac1e)) + - cleanup API docs ([9c118a4f](https://github.com/electron-userland/electron-forge/commit/9c118a4f)) + - add doc formatting guidelines based off of pycodestyle ([6efa5259](https://github.com/electron-userland/electron-forge/commit/6efa5259)) +- **importer:** + - tweak description ([e885cd5e](https://github.com/electron-userland/electron-forge/commit/e885cd5e)) + - mention import in the README ([d5eab37a](https://github.com/electron-userland/electron-forge/commit/d5eab37a)) ##### New Features -* **generic:** - * expose some util methods through JS API ([a506dd33](https://github.com/electron-userland/electron-forge/commit/a506dd33)) - * expose top level methods as JS APIs ([93fb48f5](https://github.com/electron-userland/electron-forge/commit/93fb48f5)) -* **publisher:** add draft and prerelease options for publishing to github ([898de235](https://github.com/electron-userland/electron-forge/commit/898de235)) +- **generic:** + - expose some util methods through JS API ([a506dd33](https://github.com/electron-userland/electron-forge/commit/a506dd33)) + - expose top level methods as JS APIs ([93fb48f5](https://github.com/electron-userland/electron-forge/commit/93fb48f5)) +- **publisher:** add draft and prerelease options for publishing to github ([898de235](https://github.com/electron-userland/electron-forge/commit/898de235)) ##### Bug Fixes -* **generic:** lock istanbul dependency versions to prevent bug ([205104c4](https://github.com/electron-userland/electron-forge/commit/205104c4)) +- **generic:** lock istanbul dependency versions to prevent bug ([205104c4](https://github.com/electron-userland/electron-forge/commit/205104c4)) ##### Refactors -* **generic:** refactor confirm prompts into a helper for interactive mode ([b495012e](https://github.com/electron-userland/electron-forge/commit/b495012e)) +- **generic:** refactor confirm prompts into a helper for interactive mode ([b495012e](https://github.com/electron-userland/electron-forge/commit/b495012e)) ##### Tests -* **generic:** add tests for lots of the utils ([d0962b93](https://github.com/electron-userland/electron-forge/commit/d0962b93)) +- **generic:** add tests for lots of the utils ([d0962b93](https://github.com/electron-userland/electron-forge/commit/d0962b93)) ### [2.4.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.4.0) (2017-1-3) ##### New Features -* **maker:** add support for Windows Store (AppX) packages ([74a12163](https://github.com/electron-userland/electron-forge/commit/74a12163)) -* **starter:** switch the default Babel preset to use babel-preset-env ([4e3bb17b](https://github.com/electron-userland/electron-forge/commit/4e3bb17b)) +- **maker:** add support for Windows Store (AppX) packages ([74a12163](https://github.com/electron-userland/electron-forge/commit/74a12163)) +- **starter:** switch the default Babel preset to use babel-preset-env ([4e3bb17b](https://github.com/electron-userland/electron-forge/commit/4e3bb17b)) ##### Bug Fixes -* **starter:** ensure linebreak-style is disabled ([ac7a20bc](https://github.com/electron-userland/electron-forge/commit/ac7a20bc)) +- **starter:** ensure linebreak-style is disabled ([ac7a20bc](https://github.com/electron-userland/electron-forge/commit/ac7a20bc)) ### [2.3.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.3.0) (2017-1-1) ##### Chores -* **installer:** use the ora helper in the install command ([9358eb42](https://github.com/electron-userland/electron-forge/commit/9358eb42)) -* **generic:** - * add installer to cz config ([3b253b11](https://github.com/electron-userland/electron-forge/commit/3b253b11)) - * only send slack notifications on build change ([838d70e7](https://github.com/electron-userland/electron-forge/commit/838d70e7)) -* **tests:** make sure ora knows that the Docker container is for CI ([41d25ea7](https://github.com/electron-userland/electron-forge/commit/41d25ea7)) +- **installer:** use the ora helper in the install command ([9358eb42](https://github.com/electron-userland/electron-forge/commit/9358eb42)) +- **generic:** + - add installer to cz config ([3b253b11](https://github.com/electron-userland/electron-forge/commit/3b253b11)) + - only send slack notifications on build change ([838d70e7](https://github.com/electron-userland/electron-forge/commit/838d70e7)) +- **tests:** make sure ora knows that the Docker container is for CI ([41d25ea7](https://github.com/electron-userland/electron-forge/commit/41d25ea7)) ##### New Features -* **installer:** - * add rpm installer ([f8f9baa5](https://github.com/electron-userland/electron-forge/commit/f8f9baa5)) - * don't suffix temp install files with .forge-install ([1c2bfd81](https://github.com/electron-userland/electron-forge/commit/1c2bfd81)) - * add deb installer ([fb217c74](https://github.com/electron-userland/electron-forge/commit/fb217c74)) - * add DMG support for macOS installer ([3465d261](https://github.com/electron-userland/electron-forge/commit/3465d261)) - * add inital app installer for macOS platform ([da3150d9](https://github.com/electron-userland/electron-forge/commit/da3150d9)) -* **generic:** - * use an ora/promise helper instead of a global uncaughtRejection handler (#50) ([1b6b7276](https://github.com/electron-userland/electron-forge/commit/1b6b7276)) - * travis build notifications ([d25f1461](https://github.com/electron-userland/electron-forge/commit/d25f1461)) +- **installer:** + - add rpm installer ([f8f9baa5](https://github.com/electron-userland/electron-forge/commit/f8f9baa5)) + - don't suffix temp install files with .forge-install ([1c2bfd81](https://github.com/electron-userland/electron-forge/commit/1c2bfd81)) + - add deb installer ([fb217c74](https://github.com/electron-userland/electron-forge/commit/fb217c74)) + - add DMG support for macOS installer ([3465d261](https://github.com/electron-userland/electron-forge/commit/3465d261)) + - add inital app installer for macOS platform ([da3150d9](https://github.com/electron-userland/electron-forge/commit/da3150d9)) +- **generic:** + - use an ora/promise helper instead of a global uncaughtRejection handler (#50) ([1b6b7276](https://github.com/electron-userland/electron-forge/commit/1b6b7276)) + - travis build notifications ([d25f1461](https://github.com/electron-userland/electron-forge/commit/d25f1461)) ##### Bug Fixes -* **installer:** - * fix installer debug key ([24454950](https://github.com/electron-userland/electron-forge/commit/24454950)) - * dont fetch prerelease versions unless instructed ([1b88b153](https://github.com/electron-userland/electron-forge/commit/1b88b153)) - * await promises through the linux install chain ([a0b5ac70](https://github.com/electron-userland/electron-forge/commit/a0b5ac70)) - * remove flatpak check ([0b044134](https://github.com/electron-userland/electron-forge/commit/0b044134)) - * wildcard the extension matchers ([1489e641](https://github.com/electron-userland/electron-forge/commit/1489e641)) +- **installer:** + - fix installer debug key ([24454950](https://github.com/electron-userland/electron-forge/commit/24454950)) + - dont fetch prerelease versions unless instructed ([1b88b153](https://github.com/electron-userland/electron-forge/commit/1b88b153)) + - await promises through the linux install chain ([a0b5ac70](https://github.com/electron-userland/electron-forge/commit/a0b5ac70)) + - remove flatpak check ([0b044134](https://github.com/electron-userland/electron-forge/commit/0b044134)) + - wildcard the extension matchers ([1489e641](https://github.com/electron-userland/electron-forge/commit/1489e641)) ##### Refactors -* **installer:** - * use single regexp to make repo path safe ([1255803b](https://github.com/electron-userland/electron-forge/commit/1255803b)) - * finish replacing sudo-prompt with electron-sudo ([d8587930](https://github.com/electron-userland/electron-forge/commit/d8587930)) - * replace sudo-prompt with git branch of electron-sudo for Linux installers ([9834cb1b](https://github.com/electron-userland/electron-forge/commit/9834cb1b)) - * check that the linux installer program exists first ([fb56c542](https://github.com/electron-userland/electron-forge/commit/fb56c542)) - * update the ora text wh have resolved a repo but not found a release ([5cbf8cb8](https://github.com/electron-userland/electron-forge/commit/5cbf8cb8)) +- **installer:** + - use single regexp to make repo path safe ([1255803b](https://github.com/electron-userland/electron-forge/commit/1255803b)) + - finish replacing sudo-prompt with electron-sudo ([d8587930](https://github.com/electron-userland/electron-forge/commit/d8587930)) + - replace sudo-prompt with git branch of electron-sudo for Linux installers ([9834cb1b](https://github.com/electron-userland/electron-forge/commit/9834cb1b)) + - check that the linux installer program exists first ([fb56c542](https://github.com/electron-userland/electron-forge/commit/fb56c542)) + - update the ora text wh have resolved a repo but not found a release ([5cbf8cb8](https://github.com/electron-userland/electron-forge/commit/5cbf8cb8)) ### [2.2.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.2.0) (2016-12-30) ##### New Features -* **initializer:** allow custom initialzers ([9e6ddfa0](https://github.com/electron-userland/electron-forge/commit/9e6ddfa0)) +- **initializer:** allow custom initialzers ([9e6ddfa0](https://github.com/electron-userland/electron-forge/commit/9e6ddfa0)) ##### Tests -* **initializer:** add test for custom initializer ([0dc62307](https://github.com/electron-userland/electron-forge/commit/0dc62307)) +- **initializer:** add test for custom initializer ([0dc62307](https://github.com/electron-userland/electron-forge/commit/0dc62307)) ### [2.1.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.1.0) (2016-12-30) ##### Chores -* **generic:** add importer to the git-cz list ([fbf691cb](https://github.com/electron-userland/electron-forge/commit/fbf691cb)) -* **tests:** remove .only from util_spec ([3b01f08c](https://github.com/electron-userland/electron-forge/commit/3b01f08c)) +- **generic:** add importer to the git-cz list ([fbf691cb](https://github.com/electron-userland/electron-forge/commit/fbf691cb)) +- **tests:** remove .only from util_spec ([3b01f08c](https://github.com/electron-userland/electron-forge/commit/3b01f08c)) ##### New Features -* **importer:** - * confirm build tool package removal from user ([3b548557](https://github.com/electron-userland/electron-forge/commit/3b548557)) - * delete existing Electron build tools from package.json ([4152bd2d](https://github.com/electron-userland/electron-forge/commit/4152bd2d)) - * move babel config in existing project to .compilerc ([b09fc3d6](https://github.com/electron-userland/electron-forge/commit/b09fc3d6)) - * fix the projects gitignore on import ([75366bfe](https://github.com/electron-userland/electron-forge/commit/75366bfe)) - * create inital import logic ([bddb9038](https://github.com/electron-userland/electron-forge/commit/bddb9038)) -* **maker:** allow user to override make targets ([bac86800](https://github.com/electron-userland/electron-forge/commit/bac86800)) -* **generic:** allow config options to use string templating ([5a568cb8](https://github.com/electron-userland/electron-forge/commit/5a568cb8)) +- **importer:** + - confirm build tool package removal from user ([3b548557](https://github.com/electron-userland/electron-forge/commit/3b548557)) + - delete existing Electron build tools from package.json ([4152bd2d](https://github.com/electron-userland/electron-forge/commit/4152bd2d)) + - move babel config in existing project to .compilerc ([b09fc3d6](https://github.com/electron-userland/electron-forge/commit/b09fc3d6)) + - fix the projects gitignore on import ([75366bfe](https://github.com/electron-userland/electron-forge/commit/75366bfe)) + - create inital import logic ([bddb9038](https://github.com/electron-userland/electron-forge/commit/bddb9038)) +- **maker:** allow user to override make targets ([bac86800](https://github.com/electron-userland/electron-forge/commit/bac86800)) +- **generic:** allow config options to use string templating ([5a568cb8](https://github.com/electron-userland/electron-forge/commit/5a568cb8)) ##### Bug Fixes -* **importer:** - * pretty print the compilerc file ([07f06b40](https://github.com/electron-userland/electron-forge/commit/07f06b40)) - * update the logging as per PR feedback ([dac33f0d](https://github.com/electron-userland/electron-forge/commit/dac33f0d)) -* **rebuild:** skip dependencies without a package.json file ([3348223d](https://github.com/electron-userland/electron-forge/commit/3348223d)) -* **packager:** remove stray .bin files leftover by yarn installs during packaging ([50ad8e6d](https://github.com/electron-userland/electron-forge/commit/50ad8e6d)) +- **importer:** + - pretty print the compilerc file ([07f06b40](https://github.com/electron-userland/electron-forge/commit/07f06b40)) + - update the logging as per PR feedback ([dac33f0d](https://github.com/electron-userland/electron-forge/commit/dac33f0d)) +- **rebuild:** skip dependencies without a package.json file ([3348223d](https://github.com/electron-userland/electron-forge/commit/3348223d)) +- **packager:** remove stray .bin files leftover by yarn installs during packaging ([50ad8e6d](https://github.com/electron-userland/electron-forge/commit/50ad8e6d)) ##### Refactors -* **importer:** - * use readPackageJSON ([e000eaf1](https://github.com/electron-userland/electron-forge/commit/e000eaf1)) - * de-rimrafify ([df4193a4](https://github.com/electron-userland/electron-forge/commit/df4193a4)) +- **importer:** + - use readPackageJSON ([e000eaf1](https://github.com/electron-userland/electron-forge/commit/e000eaf1)) + - de-rimrafify ([df4193a4](https://github.com/electron-userland/electron-forge/commit/df4193a4)) ## [2.0.0](https://github.com/electron-userland/electron-forge/releases/tag/v2.0.0) (2016-12-30) ##### Chores -* **generic:** add publisher to cz config ([8653b62b](https://github.com/electron-userland/electron-forge/commit/8653b62b)) +- **generic:** add publisher to cz config ([8653b62b](https://github.com/electron-userland/electron-forge/commit/8653b62b)) ##### Documentation Changes -* **publisher:** document the API for custom makers and publishers ([81ed28d7](https://github.com/electron-userland/electron-forge/commit/81ed28d7)) +- **publisher:** document the API for custom makers and publishers ([81ed28d7](https://github.com/electron-userland/electron-forge/commit/81ed28d7)) ##### New Features -* **publisher:** initial work on a publish command to sent make artifacts to github ([189cb0cc](https://github.com/electron-userland/electron-forge/commit/189cb0cc)) -* **generic:** map the alias bin commands to the correct commander files ([f1cac740](https://github.com/electron-userland/electron-forge/commit/f1cac740)) +- **publisher:** initial work on a publish command to sent make artifacts to github ([189cb0cc](https://github.com/electron-userland/electron-forge/commit/189cb0cc)) +- **generic:** map the alias bin commands to the correct commander files ([f1cac740](https://github.com/electron-userland/electron-forge/commit/f1cac740)) ##### Bug Fixes -* **publisher:** - * publish to the correct version ([02fe5699](https://github.com/electron-userland/electron-forge/commit/02fe5699)) - * throw custom 404 if we cant find the release ([6f4e1ed4](https://github.com/electron-userland/electron-forge/commit/6f4e1ed4)) -* **maker:** fix RPM maker outPath variable ([4b32fe42](https://github.com/electron-userland/electron-forge/commit/4b32fe42)) +- **publisher:** + - publish to the correct version ([02fe5699](https://github.com/electron-userland/electron-forge/commit/02fe5699)) + - throw custom 404 if we cant find the release ([6f4e1ed4](https://github.com/electron-userland/electron-forge/commit/6f4e1ed4)) +- **maker:** fix RPM maker outPath variable ([4b32fe42](https://github.com/electron-userland/electron-forge/commit/4b32fe42)) ##### Refactors -* **publisher:** move github publish logic to own file ([bdaff3ce](https://github.com/electron-userland/electron-forge/commit/bdaff3ce)) +- **publisher:** move github publish logic to own file ([bdaff3ce](https://github.com/electron-userland/electron-forge/commit/bdaff3ce)) ##### Tests -* **generic:** add tests for the require-search util ([b7930eaa](https://github.com/electron-userland/electron-forge/commit/b7930eaa)) +- **generic:** add tests for the require-search util ([b7930eaa](https://github.com/electron-userland/electron-forge/commit/b7930eaa)) ### [1.1.0](https://github.com/electron-userland/electron-forge/releases/tag/v1.1.0) (2016-12-27) ##### Chores -* **tests:** run flatpak runtime install in local Dockerfile ([d046965f](https://github.com/electron-userland/electron-forge/commit/d046965f)) -* **generic:** add pretest step to improve development ([558fae31](https://github.com/electron-userland/electron-forge/commit/558fae31)) -* **packages:** upgrade fs-promise and inquirer (#18) ([d51d482f](https://github.com/electron-userland/electron-forge/commit/d51d482f)) +- **tests:** run flatpak runtime install in local Dockerfile ([d046965f](https://github.com/electron-userland/electron-forge/commit/d046965f)) +- **generic:** add pretest step to improve development ([558fae31](https://github.com/electron-userland/electron-forge/commit/558fae31)) +- **packages:** upgrade fs-promise and inquirer (#18) ([d51d482f](https://github.com/electron-userland/electron-forge/commit/d51d482f)) ##### Documentation Changes -* **generic:** document the new JS file option for config ([2d44c41f](https://github.com/electron-userland/electron-forge/commit/2d44c41f)) +- **generic:** document the new JS file option for config ([2d44c41f](https://github.com/electron-userland/electron-forge/commit/2d44c41f)) ##### New Features -* **rebuilder:** only rebuild prod and optional deps (ignore dev deps) ([d751a85f](https://github.com/electron-userland/electron-forge/commit/d751a85f)) -* **generic:** allow JS files to provide the config object ([e57f3c78](https://github.com/electron-userland/electron-forge/commit/e57f3c78)) +- **rebuilder:** only rebuild prod and optional deps (ignore dev deps) ([d751a85f](https://github.com/electron-userland/electron-forge/commit/d751a85f)) +- **generic:** allow JS files to provide the config object ([e57f3c78](https://github.com/electron-userland/electron-forge/commit/e57f3c78)) ##### Bug Fixes -* **packager:** allow hooks to be strings or functions depending on config setup ([ec0caecc](https://github.com/electron-userland/electron-forge/commit/ec0caecc)) -* **rebuilder:** rebuild modules inside @ scoped folders as well (#19) ([bc21528d](https://github.com/electron-userland/electron-forge/commit/bc21528d)) -* **generic:** document that the minimum Node version is 6 ([1f5ac7f2](https://github.com/electron-userland/electron-forge/commit/1f5ac7f2)) +- **packager:** allow hooks to be strings or functions depending on config setup ([ec0caecc](https://github.com/electron-userland/electron-forge/commit/ec0caecc)) +- **rebuilder:** rebuild modules inside @ scoped folders as well (#19) ([bc21528d](https://github.com/electron-userland/electron-forge/commit/bc21528d)) +- **generic:** document that the minimum Node version is 6 ([1f5ac7f2](https://github.com/electron-userland/electron-forge/commit/1f5ac7f2)) ##### Refactors -* **generic:** - * standardize reading package.json files (#33) ([0855eacf](https://github.com/electron-userland/electron-forge/commit/0855eacf)) - * replace mkdirp/rimraf calls with equivalent fs-promise calls ([bb2c6cf3](https://github.com/electron-userland/electron-forge/commit/bb2c6cf3)) -* **tests:** use different native modules so the tests run on CI ([d20387b7](https://github.com/electron-userland/electron-forge/commit/d20387b7)) +- **generic:** + - standardize reading package.json files (#33) ([0855eacf](https://github.com/electron-userland/electron-forge/commit/0855eacf)) + - replace mkdirp/rimraf calls with equivalent fs-promise calls ([bb2c6cf3](https://github.com/electron-userland/electron-forge/commit/bb2c6cf3)) +- **tests:** use different native modules so the tests run on CI ([d20387b7](https://github.com/electron-userland/electron-forge/commit/d20387b7)) ##### Tests -* **generic:** only skip help spec on Windows (#34) ([202987e1](https://github.com/electron-userland/electron-forge/commit/202987e1)) -* **builder:** add tests to ensure correct behvior of the native module builder ([b79c7af5](https://github.com/electron-userland/electron-forge/commit/b79c7af5)) +- **generic:** only skip help spec on Windows (#34) ([202987e1](https://github.com/electron-userland/electron-forge/commit/202987e1)) +- **builder:** add tests to ensure correct behvior of the native module builder ([b79c7af5](https://github.com/electron-userland/electron-forge/commit/b79c7af5)) #### [1.0.1](https://github.com/electron-userland/electron-forge/releases/tag/v1.0.1) (2016-12-12) ##### Chores -* **tests:** add AppVeyor support (#15) ([fe63ac0b](https://github.com/electron-userland/electron-forge/commit/fe63ac0b)) +- **tests:** add AppVeyor support (#15) ([fe63ac0b](https://github.com/electron-userland/electron-forge/commit/fe63ac0b)) ##### Bug Fixes -* **starter:** fix launching on newest yarn ([8c5bc656](https://github.com/electron-userland/electron-forge/commit/8c5bc656)) +- **starter:** fix launching on newest yarn ([8c5bc656](https://github.com/electron-userland/electron-forge/commit/8c5bc656)) ## [1.0.0](https://github.com/electron-userland/electron-forge/releases/tag/v1.0.0) (2016-12-11) ##### Chores -* **generic:** - * rename all instances of marshallofsound to electron-userland ([9981fcbb](https://github.com/electron-userland/electron-forge/commit/9981fcbb)) - * fix changelog link parsing ([07defb76](https://github.com/electron-userland/electron-forge/commit/07defb76)) -* **packager:** remove commented code ([35745594](https://github.com/electron-userland/electron-forge/commit/35745594)) -* **maker:** add mas default targets ([775459cd](https://github.com/electron-userland/electron-forge/commit/775459cd)) +- **generic:** + - rename all instances of marshallofsound to electron-userland ([9981fcbb](https://github.com/electron-userland/electron-forge/commit/9981fcbb)) + - fix changelog link parsing ([07defb76](https://github.com/electron-userland/electron-forge/commit/07defb76)) +- **packager:** remove commented code ([35745594](https://github.com/electron-userland/electron-forge/commit/35745594)) +- **maker:** add mas default targets ([775459cd](https://github.com/electron-userland/electron-forge/commit/775459cd)) ##### New Features -* **maker:** - * enable MAS makes on darwin platform ([d8ac9ad8](https://github.com/electron-userland/electron-forge/commit/d8ac9ad8)) - * allow make to target different or multiple arches ([3d4ee593](https://github.com/electron-userland/electron-forge/commit/3d4ee593)) +- **maker:** + - enable MAS makes on darwin platform ([d8ac9ad8](https://github.com/electron-userland/electron-forge/commit/d8ac9ad8)) + - allow make to target different or multiple arches ([3d4ee593](https://github.com/electron-userland/electron-forge/commit/3d4ee593)) ##### Bug Fixes -* **maker:** build armv7l distributables when arch=all ([f6d28c32](https://github.com/electron-userland/electron-forge/commit/f6d28c32)) -* **packager:** - * change arch name when armv7l is packaged during arch=all ([132b3670](https://github.com/electron-userland/electron-forge/commit/132b3670)) - * fix the third arch ora on linux ([894fd4e7](https://github.com/electron-userland/electron-forge/commit/894fd4e7)) - * fix ora sequencing when running with --arch=all ([e4dfdede](https://github.com/electron-userland/electron-forge/commit/e4dfdede)) +- **maker:** build armv7l distributables when arch=all ([f6d28c32](https://github.com/electron-userland/electron-forge/commit/f6d28c32)) +- **packager:** + - change arch name when armv7l is packaged during arch=all ([132b3670](https://github.com/electron-userland/electron-forge/commit/132b3670)) + - fix the third arch ora on linux ([894fd4e7](https://github.com/electron-userland/electron-forge/commit/894fd4e7)) + - fix ora sequencing when running with --arch=all ([e4dfdede](https://github.com/electron-userland/electron-forge/commit/e4dfdede)) ##### Refactors -* **generic:** replace process.arch with a function that handles arm arches better ([81fa0943](https://github.com/electron-userland/electron-forge/commit/81fa0943)) +- **generic:** replace process.arch with a function that handles arm arches better ([81fa0943](https://github.com/electron-userland/electron-forge/commit/81fa0943)) ### [0.1.0](https://github.com/electron-userland/electron-forge/releases/tag/v0.1.0) (2016-12-11) ##### Chores -* **tests:** - * install g++ since Docker Hub won't create a new image ([f219e994](https://github.com/electron-userland/electron-forge/commit/f219e994)) - * disable building branches on Travis CI ([12e5d99e](https://github.com/electron-userland/electron-forge/commit/12e5d99e)) -* **initializer:** output logs of the install step on failure ([20c0b12a](https://github.com/electron-userland/electron-forge/commit/20c0b12a)) -* **generic:** - * make the changelog link to the relevent commits ([ee6a7d86](https://github.com/electron-userland/electron-forge/commit/ee6a7d86)) - * set up changelog generation ([9a3854f1](https://github.com/electron-userland/electron-forge/commit/9a3854f1)) +- **tests:** + - install g++ since Docker Hub won't create a new image ([f219e994](https://github.com/electron-userland/electron-forge/commit/f219e994)) + - disable building branches on Travis CI ([12e5d99e](https://github.com/electron-userland/electron-forge/commit/12e5d99e)) +- **initializer:** output logs of the install step on failure ([20c0b12a](https://github.com/electron-userland/electron-forge/commit/20c0b12a)) +- **generic:** + - make the changelog link to the relevent commits ([ee6a7d86](https://github.com/electron-userland/electron-forge/commit/ee6a7d86)) + - set up changelog generation ([9a3854f1](https://github.com/electron-userland/electron-forge/commit/9a3854f1)) ##### Documentation Changes -* **generic:** - * add contributing/issue/pull request docs + news ([d25d701d](https://github.com/electron-userland/electron-forge/commit/d25d701d)) - * clean up README ([eddd61d8](https://github.com/electron-userland/electron-forge/commit/eddd61d8)) -* **packager:** fix syntax of hook docs ([84a1a063](https://github.com/electron-userland/electron-forge/commit/84a1a063)) +- **generic:** + - add contributing/issue/pull request docs + news ([d25d701d](https://github.com/electron-userland/electron-forge/commit/d25d701d)) + - clean up README ([eddd61d8](https://github.com/electron-userland/electron-forge/commit/eddd61d8)) +- **packager:** fix syntax of hook docs ([84a1a063](https://github.com/electron-userland/electron-forge/commit/84a1a063)) ##### New Features -* **packager:** rebuild native modules automatically in all the right places ([1d1ff74d](https://github.com/electron-userland/electron-forge/commit/1d1ff74d)) +- **packager:** rebuild native modules automatically in all the right places ([1d1ff74d](https://github.com/electron-userland/electron-forge/commit/1d1ff74d)) ##### Bug Fixes -* **packager:** - * output rebuild errors if there are any ([f8ffca13](https://github.com/electron-userland/electron-forge/commit/f8ffca13)) - * rebuild pre-gyp modules with their binary variables ([ed9137dd](https://github.com/electron-userland/electron-forge/commit/ed9137dd)) +- **packager:** + - output rebuild errors if there are any ([f8ffca13](https://github.com/electron-userland/electron-forge/commit/f8ffca13)) + - rebuild pre-gyp modules with their binary variables ([ed9137dd](https://github.com/electron-userland/electron-forge/commit/ed9137dd)) ##### Refactors -* **packager:** make the rebuild a promise and use an ora ([bc1ec28d](https://github.com/electron-userland/electron-forge/commit/bc1ec28d)) +- **packager:** make the rebuild a promise and use an ora ([bc1ec28d](https://github.com/electron-userland/electron-forge/commit/bc1ec28d)) #### [0.0.9](https://github.com/electron-userland/electron-forge/releases/tag/v0.0.9) (2016-12-11) ##### Documentation Changes -* **packager:** document the require mapping of the hooks ([87fb6aa6](https://github.com/electron-userland/electron-forge/commit/87fb6aa6)) +- **packager:** document the require mapping of the hooks ([87fb6aa6](https://github.com/electron-userland/electron-forge/commit/87fb6aa6)) ##### New Features -* **packager:** map afterExtract hooks to require calls ([623a0001](https://github.com/electron-userland/electron-forge/commit/623a0001)) +- **packager:** map afterExtract hooks to require calls ([623a0001](https://github.com/electron-userland/electron-forge/commit/623a0001)) #### [0.0.8](https://github.com/electron-userland/electron-forge/releases/tag/v0.0.8) (2016-12-11) ##### New Features -* **maker:** add the flatpak maker for the linux target ([218518ef](https://github.com/electron-userland/electron-forge/commit/218518ef)) +- **maker:** add the flatpak maker for the linux target ([218518ef](https://github.com/electron-userland/electron-forge/commit/218518ef)) ##### Refactors -* **packager:** - * move packager compile logic to a electron-packager afterCopy hook ([c10bcd29](https://github.com/electron-userland/electron-forge/commit/c10bcd29)) - * upgrade to Electron Packager 8.4.0 (with quiet option) ([9ab19b5f](https://github.com/electron-userland/electron-forge/commit/9ab19b5f)) +- **packager:** + - move packager compile logic to a electron-packager afterCopy hook ([c10bcd29](https://github.com/electron-userland/electron-forge/commit/c10bcd29)) + - upgrade to Electron Packager 8.4.0 (with quiet option) ([9ab19b5f](https://github.com/electron-userland/electron-forge/commit/9ab19b5f)) #### [0.0.7](https://github.com/electron-userland/electron-forge/releases/tag/v0.0.7) (2016-12-11) ##### Documentation Changes -* **generic:** - * tweak the readme ([c6ededf6](https://github.com/electron-userland/electron-forge/commit/c6ededf6)) - * update readme ([f03ffeb5](https://github.com/electron-userland/electron-forge/commit/f03ffeb5)) +- **generic:** + - tweak the readme ([c6ededf6](https://github.com/electron-userland/electron-forge/commit/c6ededf6)) + - update readme ([f03ffeb5](https://github.com/electron-userland/electron-forge/commit/f03ffeb5)) ##### Bug Fixes -* **starter:** pass through env to started application ([834729fb](https://github.com/electron-userland/electron-forge/commit/834729fb)) -* **maker:** spawn the zip command in the containing directory ([e909a0c4](https://github.com/electron-userland/electron-forge/commit/e909a0c4)) -* **initializer:** add electron-compile to the prod dependencies of the initialized app ([5a56efb9](https://github.com/electron-userland/electron-forge/commit/5a56efb9)) +- **starter:** pass through env to started application ([834729fb](https://github.com/electron-userland/electron-forge/commit/834729fb)) +- **maker:** spawn the zip command in the containing directory ([e909a0c4](https://github.com/electron-userland/electron-forge/commit/e909a0c4)) +- **initializer:** add electron-compile to the prod dependencies of the initialized app ([5a56efb9](https://github.com/electron-userland/electron-forge/commit/5a56efb9)) #### [0.0.6](https://github.com/electron-userland/electron-forge/releases/tag/v0.0.6) (2016-12-11) ##### Chores -* **tests:** - * run different package installers in different Travis workers ([028bcfbf](https://github.com/electron-userland/electron-forge/commit/028bcfbf)) - * run Travis with OSX and Linux workers ([9d1b0291](https://github.com/electron-userland/electron-forge/commit/9d1b0291)) +- **tests:** + - run different package installers in different Travis workers ([028bcfbf](https://github.com/electron-userland/electron-forge/commit/028bcfbf)) + - run Travis with OSX and Linux workers ([9d1b0291](https://github.com/electron-userland/electron-forge/commit/9d1b0291)) ##### Documentation Changes -* **README:** - * fix license badge url ([026141c0](https://github.com/electron-userland/electron-forge/commit/026141c0)) - * add badges to the readme ([f912c24f](https://github.com/electron-userland/electron-forge/commit/f912c24f)) -* **LICENSE:** add a license file ([89ada6e9](https://github.com/electron-userland/electron-forge/commit/89ada6e9)) +- **README:** + - fix license badge url ([026141c0](https://github.com/electron-userland/electron-forge/commit/026141c0)) + - add badges to the readme ([f912c24f](https://github.com/electron-userland/electron-forge/commit/f912c24f)) +- **LICENSE:** add a license file ([89ada6e9](https://github.com/electron-userland/electron-forge/commit/89ada6e9)) ##### New Features -* **maker:** - * add the rpm maker for the linux target ([85821f27](https://github.com/electron-userland/electron-forge/commit/85821f27)) - * add the deb maker for the linux target ([5c5ce67a](https://github.com/electron-userland/electron-forge/commit/5c5ce67a)) - * add the dmg maker for the darwin target ([aaceb3f2](https://github.com/electron-userland/electron-forge/commit/aaceb3f2)) -* **build:** add git-cz for semantic versioned commits ([cdbc78b6](https://github.com/electron-userland/electron-forge/commit/cdbc78b6)) +- **maker:** + - add the rpm maker for the linux target ([85821f27](https://github.com/electron-userland/electron-forge/commit/85821f27)) + - add the deb maker for the linux target ([5c5ce67a](https://github.com/electron-userland/electron-forge/commit/5c5ce67a)) + - add the dmg maker for the darwin target ([aaceb3f2](https://github.com/electron-userland/electron-forge/commit/aaceb3f2)) +- **build:** add git-cz for semantic versioned commits ([cdbc78b6](https://github.com/electron-userland/electron-forge/commit/cdbc78b6)) ##### Bug Fixes -* **maker:** - * add a santizied app id to the electronWinstaller config on init ([20ae889e](https://github.com/electron-userland/electron-forge/commit/20ae889e)) - * move electron-installer-debian to optional deps so that installs work on windows ([661b1eb6](https://github.com/electron-userland/electron-forge/commit/661b1eb6)) - * correct path/arch of generated deb file ([63ff52b2](https://github.com/electron-userland/electron-forge/commit/63ff52b2)) -* **generic:** fix package.json warning about repository ([f21a87aa](https://github.com/electron-userland/electron-forge/commit/f21a87aa)) -* **packager:** throw error when electron-prebuilt-compile is not found ([23449956](https://github.com/electron-userland/electron-forge/commit/23449956)) +- **maker:** + - add a santizied app id to the electronWinstaller config on init ([20ae889e](https://github.com/electron-userland/electron-forge/commit/20ae889e)) + - move electron-installer-debian to optional deps so that installs work on windows ([661b1eb6](https://github.com/electron-userland/electron-forge/commit/661b1eb6)) + - correct path/arch of generated deb file ([63ff52b2](https://github.com/electron-userland/electron-forge/commit/63ff52b2)) +- **generic:** fix package.json warning about repository ([f21a87aa](https://github.com/electron-userland/electron-forge/commit/f21a87aa)) +- **packager:** throw error when electron-prebuilt-compile is not found ([23449956](https://github.com/electron-userland/electron-forge/commit/23449956)) ##### Refactors -* **maker:** - * DRY up app name ([f5ae494f](https://github.com/electron-userland/electron-forge/commit/f5ae494f)) - * add packageJSON to the function arguments ([e8e1054a](https://github.com/electron-userland/electron-forge/commit/e8e1054a)) - * create ensure{Directory,File} to rimraf+mkdirp the given output ([b3b616a0](https://github.com/electron-userland/electron-forge/commit/b3b616a0)) -* **generic:** - * add debug calls to the linter ([3e116109](https://github.com/electron-userland/electron-forge/commit/3e116109)) - * add the 'debug' module for standard debug logging ([9f4c0b49](https://github.com/electron-userland/electron-forge/commit/9f4c0b49)) -* **packager:** - * remove stray log ([f4f36b59](https://github.com/electron-userland/electron-forge/commit/f4f36b59)) - * move the electron-packager dependency to forge instead of the users module ([2e695c21](https://github.com/electron-userland/electron-forge/commit/2e695c21)) +- **maker:** + - DRY up app name ([f5ae494f](https://github.com/electron-userland/electron-forge/commit/f5ae494f)) + - add packageJSON to the function arguments ([e8e1054a](https://github.com/electron-userland/electron-forge/commit/e8e1054a)) + - create ensure{Directory,File} to rimraf+mkdirp the given output ([b3b616a0](https://github.com/electron-userland/electron-forge/commit/b3b616a0)) +- **generic:** + - add debug calls to the linter ([3e116109](https://github.com/electron-userland/electron-forge/commit/3e116109)) + - add the 'debug' module for standard debug logging ([9f4c0b49](https://github.com/electron-userland/electron-forge/commit/9f4c0b49)) +- **packager:** + - remove stray log ([f4f36b59](https://github.com/electron-userland/electron-forge/commit/f4f36b59)) + - move the electron-packager dependency to forge instead of the users module ([2e695c21](https://github.com/electron-userland/electron-forge/commit/2e695c21)) ##### Code Style Changes -* **generic:** - * disable some eslint rules that don't make sense in a CLI tool ([f1f06acf](https://github.com/electron-userland/electron-forge/commit/f1f06acf)) - * change eslint rules to allow strange linebreaks ([4b7a22e3](https://github.com/electron-userland/electron-forge/commit/4b7a22e3)) +- **generic:** + - disable some eslint rules that don't make sense in a CLI tool ([f1f06acf](https://github.com/electron-userland/electron-forge/commit/f1f06acf)) + - change eslint rules to allow strange linebreaks ([4b7a22e3](https://github.com/electron-userland/electron-forge/commit/4b7a22e3)) ##### Tests -* **resolve-dir:** add a fixture that is actually an electron-forge package.json file ([e0e712dd](https://github.com/electron-userland/electron-forge/commit/e0e712dd)) +- **resolve-dir:** add a fixture that is actually an electron-forge package.json file ([e0e712dd](https://github.com/electron-userland/electron-forge/commit/e0e712dd)) #### [0.0.5](https://github.com/electron-userland/electron-forge/releases/tag/v0.0.5) (2016-12-11) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2a525c0ebd..c6dcc2ac58 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,12 +3,12 @@ Electron Forge is a community-driven project. As such, we welcome and encourage all sorts of contributions. They include, but are not limited to: -* Constructive feedback -* [Questions about usage](#questions-about-usage) -* [Bug reports / technical issues](#before-opening-bug-reportstechnical-issues) -* [Documentation changes](#documentation-changes) -* Feature requests -* [Pull requests](#filing-pull-requests) +- Constructive feedback +- [Questions about usage](#questions-about-usage) +- [Bug reports / technical issues](#before-opening-bug-reportstechnical-issues) +- [Documentation changes](#documentation-changes) +- Feature requests +- [Pull requests](#filing-pull-requests) We strongly suggest that before filing an issue, you search through the existing issues to see if it has already been filed by someone else. @@ -40,20 +40,20 @@ free to ask constructive questions. (This applies to any open issue.) When changing the API documentation, here are some rules to keep in mind. -* The first line: - * should end with a period - * should be in imperative mood (e.g., "Create" instead of "Creates") - * First line should not be the function's "signature" -* The first word of the first line: - * should be properly capitalized - * should not be "This" +- The first line: + - should end with a period + - should be in imperative mood (e.g., "Create" instead of "Creates") + - First line should not be the function's "signature" +- The first word of the first line: + - should be properly capitalized + - should not be "This" For changes to the website ([electronforge.io](https://www.electronforge.io)), please file issues/pull requests at [its separate repository](https://github.com/electron-forge/electron-forge-docs). ## Changing the Code -Getting the code base running locally requires the `bolt` command installed globally. An example is given below. +Getting the code base running locally requires the `bolt` command installed globally. An example is given below. ```bash npm i -g bolt @@ -83,21 +83,21 @@ bolt test Here are some things to keep in mind as you file pull requests to fix bugs, add new features, etc.: -* GitHub Actions are used to make sure that the project builds packages as expected on the +- GitHub Actions are used to make sure that the project builds packages as expected on the supported platforms, using supported Node.js versions, and that the project conforms to the configured coding standards. -* Unless it's impractical, please write tests for your changes. This will help us so that we can +- Unless it's impractical, please write tests for your changes. This will help us so that we can spot regressions much easier. -* If your PR changes the behavior of an existing feature, or adds a new feature, please add/edit +- If your PR changes the behavior of an existing feature, or adds a new feature, please add/edit the package's documentation. -* Commit messages and pull request titles should adhere to the [Conventional Commits +- Commit messages and pull request titles should adhere to the [Conventional Commits format](https://www.conventionalcommits.org/en/v1.0.0/). -* One of the philosophies of the project is to keep the code base as small as possible. If you are +- One of the philosophies of the project is to keep the code base as small as possible. If you are adding a new feature, think about whether it is appropriate to go into a separate Node module, and then be integrated into this project. -* Please **do not** bump the version number in your pull requests, the maintainers will do that. +- Please **do not** bump the version number in your pull requests, the maintainers will do that. Feel free to indicate whether the changes are a breaking change in behavior. -* If you are continuing the work of another person's PR and need to rebase/squash, please retain the +- If you are continuing the work of another person's PR and need to rebase/squash, please retain the attribution of the original author(s) and continue the work in subsequent commits. ### Release process diff --git a/README.md b/README.md index 6e0be63e23..944a82de77 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -Electron Forge --------------- +## Electron Forge + [![Build Status](https://github.com/electron-userland/electron-forge/workflows/CI/badge.svg)](https://github.com/electron-userland/electron-forge/actions?query=workflow:CI) [![Discord](https://img.shields.io/discord/745037351163527189?color=blueviolet&logo=discord)](https://discord.gg/electron) [![npm version](https://img.shields.io/npm/v/@electron-forge/cli)](https://npm.im/@electron-forge/cli) @@ -12,7 +12,7 @@ Electron Forge unifies the existing (and well maintained) build tools for Electron development into a simple, easy to use package so that anyone can jump right in to Electron development. ----- +--- ## :rotating_light: :construction: **WARNING** :construction: :rotating_light: @@ -21,7 +21,7 @@ jump right in to Electron development. The `master` branch is a rewrite of Electron Forge that will eventually be the 6.x series. If you are looking for the 5.x series (the version currently published to NPM under `electron-forge`), please view the [5.x branch](https://github.com/electron-userland/electron-forge/tree/5.x). ----- +--- [Website](https://www.electronforge.io) | [Goals](#project-goals) | @@ -63,7 +63,7 @@ npm start 1. Starting with Electron should be as simple as a single command. 2. Developers shouldn't have to worry about setting up build tooling, - native module rebuilding, etc. Everything should "just work" for them out + native module rebuilding, etc. Everything should "just work" for them out of the box. 3. Everything from creating the project to packaging the project for release should be handled by one core dependency in a standard way while still offering @@ -71,10 +71,10 @@ npm start With these goals in mind, under the hood this project uses, among others: -* [`electron-rebuild`](https://github.com/electron/electron-rebuild): +- [`electron-rebuild`](https://github.com/electron/electron-rebuild): Automatically recompiles native Node.js modules against the correct Electron version. -* [Electron Packager](https://github.com/electron/electron-packager): +- [Electron Packager](https://github.com/electron/electron-packager): Customizes and bundles your Electron app to get it ready for distribution. # Docs and Usage @@ -87,11 +87,11 @@ For Electron Forge documentation and usage you should check out our website: ## How do I use this with `webpack`/`babel`/`typescript`/other build tool? By default, Electron Forge only runs vanilla (i.e., non-compiled) JavaScript, but for typescript, webpack, and other build tool support check out the [plugins](https://www.electronforge.io/config/plugins) -section of our docs site. We currently have plugins for Webpack and Electron Compile, and a +section of our docs site. We currently have plugins for Webpack and Electron Compile, and a [template for Webpack](https://www.electronforge.io/templates/webpack-template). # Team | | | -|---| --- | -| [Samuel Attard](https://samuelattard.com) | [Mark Lee](https://github.com/malept) | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| [Samuel Attard](https://samuelattard.com) | [Mark Lee](https://github.com/malept) | diff --git a/SUPPORT.md b/SUPPORT.md index 5078eae9d8..6630af1262 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -12,20 +12,20 @@ running `electron-forge`. This will print debug information from the specified m value of the environment variable is a comma-separated list of modules which support this logging feature. Known modules include: -* `@electron/get:*` -* `electron-forge:*` (always use this one before filing an issue) -* `electron-installer-debian` -* `electron-installer-dmg` -* `electron-installer-flatpak` -* `electron-installer-redhat` -* `electron-installer-snap:*` -* `electron-osx-sign` -* `electron-packager` -* `electron-rebuild` -* `electron-windows-installer:main` -* `electron-windows-store` -* `extract-zip` -* `get-package-info` +- `@electron/get:*` +- `electron-forge:*` (always use this one before filing an issue) +- `electron-installer-debian` +- `electron-installer-dmg` +- `electron-installer-flatpak` +- `electron-installer-redhat` +- `electron-installer-snap:*` +- `electron-osx-sign` +- `electron-packager` +- `electron-rebuild` +- `electron-windows-installer:main` +- `electron-windows-store` +- `extract-zip` +- `get-package-info` We use the [`debug`](https://www.npmjs.com/package/debug#usage) module for this functionality. It has examples on how to set environment variables if you don't know how. diff --git a/ci/fix-changelog.js b/ci/fix-changelog.js index f894ffca1a..e6d03272f9 100644 --- a/ci/fix-changelog.js +++ b/ci/fix-changelog.js @@ -5,10 +5,11 @@ const changelogPath = path.resolve(__dirname, '..', 'CHANGELOG.md'); const changelog = fs.readFileSync(changelogPath, 'utf8'); -const fixedChangelog = changelog.replace(/\(([A-Za-z0-9]{8})\)/g, - (match, commitID) => `([${commitID}](https://github.com/electron-userland/electron-forge/commit/${commitID}))` -).replace(/# ([0-9]+\.[0-9]+\.[0-9]+(?:-[a-z]+.[0-9]+)?) /g, - (match, version) => `# [${version}](https://github.com/electron-userland/electron-forge/releases/tag/v${version}) ` -); +const fixedChangelog = changelog + .replace(/\(([A-Za-z0-9]{8})\)/g, (match, commitID) => `([${commitID}](https://github.com/electron-userland/electron-forge/commit/${commitID}))`) + .replace( + /# ([0-9]+\.[0-9]+\.[0-9]+(?:-[a-z]+.[0-9]+)?) /g, + (match, version) => `# [${version}](https://github.com/electron-userland/electron-forge/releases/tag/v${version}) ` + ); fs.writeFileSync(changelogPath, fixedChangelog); diff --git a/ci/snapcraft.yaml b/ci/snapcraft.yaml index efa048ce32..2c3b21bf9d 100644 --- a/ci/snapcraft.yaml +++ b/ci/snapcraft.yaml @@ -11,11 +11,11 @@ parts: electron-deps: plugin: nil after: - - desktop-gtk3 + - desktop-gtk3 stage-packages: - - libnotify4 - - libnss3 - - libpcre3 - - libuuid1 - - libxss1 - - libxtst6 + - libnotify4 + - libnss3 + - libpcre3 + - libuuid1 + - libxss1 + - libxtst6 diff --git a/package.json b/package.json index cb64c98b49..a411bda7d0 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "docs:position": "ts-node tools/position-docs.ts", "docs:deploy": "ts-node tools/sync-readmes.ts && bolt docs && ts-node tools/copy-now.ts && cd docs && now && now alias", "docs:deploy:ci": "ts-node tools/sync-readmes.ts && bolt docs && ts-node tools/copy-now.ts && cd docs && now --token $NOW_TOKEN && now alias --token $NOW_TOKEN", - "lint": "eslint --ext .ts .", + "lint": "prettier --check . && eslint .", "test": "xvfb-maybe cross-env TS_NODE_FILES=true mocha './tools/test-globber.ts'", "test:fast": "xvfb-maybe cross-env TEST_FAST_ONLY=1 TS_NODE_FILES=true mocha './tools/test-globber.ts'", "postinstall": "rimraf node_modules/.bin/*.ps1 && ts-node tools/link-ts.ts" @@ -96,6 +96,7 @@ "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.10", "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@malept/eslint-config": "^1.2.1", "@types/chai": "^4.2.12", "@types/chai-as-promised": "^7.1.2", "@types/cross-spawn": "^6.0.1", @@ -123,10 +124,13 @@ "chai-as-promised": "^7.0.0", "cross-env": "^7.0.2", "electron-installer-common": "^0.10.2", - "eslint": "^7.16.0", - "eslint-config-airbnb-base": "^14.2.0", - "eslint-plugin-import": "^2.21.2", + "eslint": "^7.32.0", + "eslint-plugin-import": "^2.24.2", "eslint-plugin-mocha": "^9.0.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-tsdoc": "^0.2.14", "fetch-mock": "^9.10.7", "generate-changelog": "^1.8.0", "husky": "^7.0.1", @@ -135,6 +139,7 @@ "minimist": "^1.2.5", "mocha": "^9.0.1", "nyc": "^15.1.0", + "prettier": "^2.4.0", "proxyquire": "^2.1.3", "rimraf": "^3.0.1", "sinon": "^11.1.1", @@ -155,7 +160,8 @@ "electron-wix-msi": "^3.0.6" }, "lint-staged": { - "*.ts": "eslint --ext .ts --fix" + "*.{html,json,md,yml}": "prettier --write", + "*.{js,ts}": "eslint --fix" }, "nyc": { "exclude": [ @@ -164,6 +170,9 @@ ], "extends": "@istanbuljs/nyc-config-typescript" }, + "prettier": { + "singleQuote": true + }, "volta": { "node": "12.22.4" } diff --git a/packages/api/cli/src/electron-forge-import.ts b/packages/api/cli/src/electron-forge-import.ts index 642836904e..57494c976c 100644 --- a/packages/api/cli/src/electron-forge-import.ts +++ b/packages/api/cli/src/electron-forge-import.ts @@ -12,7 +12,9 @@ import workingDir from './util/working-dir'; program .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) .arguments('[name]') - .action((name) => { dir = workingDir(dir, name, false); }) + .action((name) => { + dir = workingDir(dir, name, false); + }) .parse(process.argv); await api.import({ diff --git a/packages/api/cli/src/electron-forge-init.ts b/packages/api/cli/src/electron-forge-init.ts index 64511a22b9..d989a6df3a 100644 --- a/packages/api/cli/src/electron-forge-init.ts +++ b/packages/api/cli/src/electron-forge-init.ts @@ -15,7 +15,9 @@ import workingDir from './util/working-dir'; .option('-t, --template [name]', 'Name of the Forge template to use') .option('-c, --copy-ci-files', 'Whether to copy the templated CI files (defaults to false)', false) .option('-f, --force', 'Whether to overwrite an existing directory (defaults to false)', false) - .action((name) => { dir = workingDir(dir, name, false); }) + .action((name) => { + dir = workingDir(dir, name, false); + }) .parse(process.argv); const initOpts: InitOptions = { diff --git a/packages/api/cli/src/electron-forge-install.ts b/packages/api/cli/src/electron-forge-install.ts index 288be6db27..c1bb495e07 100644 --- a/packages/api/cli/src/electron-forge-install.ts +++ b/packages/api/cli/src/electron-forge-install.ts @@ -14,11 +14,13 @@ import './util/terminate'; .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) .arguments('[repository]') .option('--prerelease', 'Fetch prerelease versions') - .action((repository) => { repo = repository; }) + .action((repository) => { + repo = repository; + }) .parse(process.argv); const chooseAsset = async (assets: InstallAsset[]) => { - const choices: { name: string, value: string }[] = []; + const choices: { name: string; value: string }[] = []; assets.forEach((asset) => { choices.push({ name: asset.name, value: asset.id }); }); @@ -29,6 +31,7 @@ import './util/terminate'; message: 'Multiple potential assets found, please choose one from the list below:'.cyan, }); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion return assets.find((asset) => asset.id === assetID)!; }; diff --git a/packages/api/cli/src/electron-forge-lint.ts b/packages/api/cli/src/electron-forge-lint.ts index 6f913b0e19..0f64756eb6 100644 --- a/packages/api/cli/src/electron-forge-lint.ts +++ b/packages/api/cli/src/electron-forge-lint.ts @@ -12,7 +12,9 @@ import workingDir from './util/working-dir'; program .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) .arguments('[cwd]') - .action((cwd) => { dir = workingDir(dir, cwd); }) + .action((cwd) => { + dir = workingDir(dir, cwd); + }) .parse(process.argv); await api.lint({ diff --git a/packages/api/cli/src/electron-forge-make.ts b/packages/api/cli/src/electron-forge-make.ts index e5c9f2a53c..a1b70ec8ba 100644 --- a/packages/api/cli/src/electron-forge-make.ts +++ b/packages/api/cli/src/electron-forge-make.ts @@ -9,7 +9,7 @@ import './util/terminate'; import workingDir from './util/working-dir'; // eslint-disable-next-line import/prefer-default-export -export async function getMakeOptions() { +export async function getMakeOptions(): Promise { let dir = process.cwd(); program .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) @@ -19,7 +19,9 @@ export async function getMakeOptions() { .option('-p, --platform [platform]', 'Target build platform') .option('--targets [targets]', 'Override your make targets for this run') .allowUnknownOption(true) - .action((cwd) => { dir = workingDir(dir, cwd); }) + .action((cwd) => { + dir = workingDir(dir, cwd); + }) .parse(process.argv); const makeOpts: MakeOptions = { @@ -34,7 +36,7 @@ export async function getMakeOptions() { return makeOpts; } -// eslint-disable-next-line no-underscore-dangle +// eslint-disable-next-line @typescript-eslint/no-explicit-any, no-underscore-dangle if (require.main === module || (global as any).__LINKED_FORGE__) { (async () => { const makeOpts = await getMakeOptions(); diff --git a/packages/api/cli/src/electron-forge-package.ts b/packages/api/cli/src/electron-forge-package.ts index c6d9ab1317..6d162eed82 100644 --- a/packages/api/cli/src/electron-forge-package.ts +++ b/packages/api/cli/src/electron-forge-package.ts @@ -15,7 +15,9 @@ import workingDir from './util/working-dir'; .arguments('[cwd]') .option('-a, --arch [arch]', 'Target architecture') .option('-p, --platform [platform]', 'Target build platform') - .action((cwd) => { dir = workingDir(dir, cwd); }) + .action((cwd) => { + dir = workingDir(dir, cwd); + }) .parse(process.argv); initializeProxy(); diff --git a/packages/api/cli/src/electron-forge-publish.ts b/packages/api/cli/src/electron-forge-publish.ts index a2eb90c312..58e1b6e561 100644 --- a/packages/api/cli/src/electron-forge-publish.ts +++ b/packages/api/cli/src/electron-forge-publish.ts @@ -15,10 +15,12 @@ import { getMakeOptions } from './electron-forge-make'; .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) .arguments('[cwd]') .option('--target [target[,target...]]', 'The comma-separated deployment targets, defaults to "github"') - .option('--dry-run', 'Triggers a publish dry run which saves state and doesn\'t upload anything') + .option('--dry-run', "Triggers a publish dry run which saves state and doesn't upload anything") .option('--from-dry-run', 'Attempts to publish artifacts from the last saved dry run') .allowUnknownOption(true) - .action((cwd) => { dir = workingDir(dir, cwd); }) + .action((cwd) => { + dir = workingDir(dir, cwd); + }) .parse(process.argv); initializeProxy(); diff --git a/packages/api/cli/src/electron-forge-start.ts b/packages/api/cli/src/electron-forge-start.ts index 35de300ec7..34ba5b80d9 100644 --- a/packages/api/cli/src/electron-forge-start.ts +++ b/packages/api/cli/src/electron-forge-start.ts @@ -21,12 +21,14 @@ import workingDir from './util/working-dir'; program .version((await fs.readJson(path.resolve(__dirname, '../package.json'))).version) .arguments('[cwd]') - .option('-p, --app-path ', 'Override the path to the Electron app to launch (defaults to \'.\')') + .option('-p, --app-path ', "Override the path to the Electron app to launch (defaults to '.')") .option('-l, --enable-logging', 'Enable advanced logging. This will log internal Electron things') .option('-n, --run-as-node', 'Run the Electron app as a Node.JS script') .option('--vscode', 'Used to enable arg transformation for debugging Electron through VSCode. Do not use yourself.') .option('-i, --inspect-electron', 'Triggers inspect mode on Electron to allow debugging the main process. Electron >1.7 only') - .action((cwd) => { dir = workingDir(dir, cwd); }) + .action((cwd) => { + dir = workingDir(dir, cwd); + }) .parse(commandArgs); program.on('--help', () => { @@ -47,9 +49,7 @@ import workingDir from './util/working-dir'; if (program.vscode && appArgs) { // Args are in the format ~arg~ so we need to strip the "~" - appArgs = appArgs - .map((arg) => arg.substr(1, arg.length - 2)) - .filter((arg) => arg.length > 0); + appArgs = appArgs.map((arg) => arg.substr(1, arg.length - 2)).filter((arg) => arg.length > 0); } if (program.appPath) opts.appPath = program.appPath; @@ -59,8 +59,11 @@ import workingDir from './util/working-dir'; await new Promise((resolve) => { const listenForExit = (child: ElectronProcess) => { + // Why: changing to const causes TypeScript compilation to fail. + /* eslint-disable prefer-const */ let onExit: NodeJS.ExitListener; let onRestart: (newChild: ElectronProcess) => void; + /* eslint-enable prefer-const */ const removeListeners = () => { child.removeListener('exit', onExit); child.removeListener('restarted', onRestart); diff --git a/packages/api/cli/src/electron-forge.ts b/packages/api/cli/src/electron-forge.ts index 2782ae3cd0..f2868677d5 100755 --- a/packages/api/cli/src/electron-forge.ts +++ b/packages/api/cli/src/electron-forge.ts @@ -1,4 +1,3 @@ -#!/usr/bin/env node import 'colors'; import { asyncOra } from '@electron-forge/async-ora'; import program from 'commander'; @@ -7,6 +6,7 @@ import './util/terminate'; import checkSystem from './util/check-system'; +// eslint-disable-next-line @typescript-eslint/no-var-requires const metadata = require('../package.json'); const originalSC = program.executeSubCommand.bind(program); @@ -54,8 +54,10 @@ program }); if (!goodSystem) { - console.error((`It looks like you are missing some dependencies you need to get Electron running. -Make sure you have git installed and Node.js version ${metadata.engines.node}`).red); + console.error( + `It looks like you are missing some dependencies you need to get Electron running. +Make sure you have git installed and Node.js version ${metadata.engines.node}`.red + ); process.exit(1); } diff --git a/packages/api/cli/src/util/check-system.ts b/packages/api/cli/src/util/check-system.ts index 1fbbc7f69a..444619a020 100644 --- a/packages/api/cli/src/util/check-system.ts +++ b/packages/api/cli/src/util/check-system.ts @@ -21,6 +21,7 @@ async function checkNodeVersion(ora: OraImpl) { const versionSatisified = semver.satisfies(process.versions.node, engines.node); if (!versionSatisified) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion ora.warn!(`You are running Node.js version ${process.versions.node}, but Electron Forge requires Node.js ${engines.node}.`); } @@ -38,31 +39,23 @@ const YARN_WHITELISTED_VERSIONS = { linux: '0.27.5', }; -export function validPackageManagerVersion( - packageManager: string, - version: string, - whitelistedVersions: string, - ora: OraImpl, -) { +export function validPackageManagerVersion(packageManager: string, version: string, whitelistedVersions: string, ora: OraImpl): boolean { try { return semver.satisfies(version, whitelistedVersions); } catch (e) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion ora.warn!(`Could not check ${packageManager} version "${version}", assuming incompatible`); d(`Exception while checking version: ${e}`); return false; } } -function warnIfPackageManagerIsntAKnownGoodVersion( - packageManager: string, - version: string, - whitelistedVersions: { [key: string]: string }, - ora: OraImpl, -) { +function warnIfPackageManagerIsntAKnownGoodVersion(packageManager: string, version: string, whitelistedVersions: { [key: string]: string }, ora: OraImpl) { const osVersions = whitelistedVersions[process.platform]; const versions = osVersions ? `${whitelistedVersions.all} || ${osVersions}` : whitelistedVersions.all; const versionString = version.toString(); if (!validPackageManagerVersion(packageManager, versionString, versions, ora)) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion ora.warn!(`You are using ${packageManager}, but not a known good version. The known versions that work with Electron Forge are: ${versions}`); } @@ -92,13 +85,9 @@ async function checkPackageManagerVersion(ora: OraImpl) { const SKIP_SYSTEM_CHECK = path.resolve(os.homedir(), '.skip-forge-system-check'); export default async function checkSystem(ora: OraImpl): Promise { - if (!await fs.pathExists(SKIP_SYSTEM_CHECK)) { + if (!(await fs.pathExists(SKIP_SYSTEM_CHECK))) { d('checking system, create ~/.skip-forge-system-check to stop doing this'); - return (await Promise.all([ - checkGitExists(), - checkNodeVersion(ora), - checkPackageManagerVersion(ora), - ])).every((check) => check); + return (await Promise.all([checkGitExists(), checkNodeVersion(ora), checkPackageManagerVersion(ora)])).every((check) => check); } d('skipping system check'); return true; diff --git a/packages/api/cli/src/util/terminate.ts b/packages/api/cli/src/util/terminate.ts index 0b61a92831..31f79f37ac 100644 --- a/packages/api/cli/src/util/terminate.ts +++ b/packages/api/cli/src/util/terminate.ts @@ -1,8 +1,8 @@ import colors from 'colors'; -process.on('unhandledRejection', (reason: any, promise: Promise) => { +process.on('unhandledRejection', (reason: string, promise: Promise) => { console.error('\nAn unhandled rejection has occurred inside Forge:'.red); - console.error(colors.red(reason)); + console.error(colors.red(reason.toString())); console.error('\nElectron Forge was terminated. Location:'.red); console.error(colors.red(JSON.stringify(promise))); process.exit(1); diff --git a/packages/api/cli/src/util/working-dir.ts b/packages/api/cli/src/util/working-dir.ts index 9dcf25dad6..83515b2378 100644 --- a/packages/api/cli/src/util/working-dir.ts +++ b/packages/api/cli/src/util/working-dir.ts @@ -1,11 +1,7 @@ import fs from 'fs-extra'; import path from 'path'; -export default function workingDir( - dir: string, - cwd: string, - checkExisting: boolean = true, -): string { +export default function workingDir(dir: string, cwd: string, checkExisting = true): string { let finalDir = dir; if (cwd) { if (path.isAbsolute(cwd) && (!checkExisting || fs.existsSync(cwd))) { diff --git a/packages/api/cli/test/cli_spec.ts b/packages/api/cli/test/cli_spec.ts index 7d91b7c4a4..bec7790d0f 100644 --- a/packages/api/cli/test/cli_spec.ts +++ b/packages/api/cli/test/cli_spec.ts @@ -11,10 +11,7 @@ function tsNodePath() { } function runForgeCLI(...extraArgs: string[]): Promise { - const args = [ - path.resolve(__dirname, '../src/electron-forge.ts'), - ...extraArgs, - ]; + const args = [path.resolve(__dirname, '../src/electron-forge.ts'), ...extraArgs]; return spawn(tsNodePath(), args); } diff --git a/packages/api/core/README.md b/packages/api/core/README.md index e103282c49..7c43091b94 100644 --- a/packages/api/core/README.md +++ b/packages/api/core/README.md @@ -6,7 +6,7 @@ API as a number of simple JS functions. ## Basic Usage ```js -import { api } from '@electron-forge/core' +import { api } from '@electron-forge/core'; // Package the current directory as an Electron app api.package(__dirname); @@ -15,7 +15,7 @@ api.package(__dirname); The named export `api` has it's methods documented over at [ForgeAPI](https://js.electronforge.io/api/core/classes/forgeapi). All the methods are async and expose the core forge methods, please note that all user-side configuration is still done through your forge config file or the "config.forge" -section of your package.json. This API simply let's you call the methods in +section of your package.json. This API simply let's you call the methods in node land without using the CLI. ## Error Handling @@ -23,4 +23,4 @@ node land without using the CLI. As all methods return a promise you should handle all rejections, you should note that rejections will **not** always be errors, in fact we commonly reject our promises with just strings so do not assume that properties such as `stack` or -`message` will exist on thrown errors. \ No newline at end of file +`message` will exist on thrown errors. diff --git a/packages/api/core/src/api/import.ts b/packages/api/core/src/api/import.ts index 2cb5259b99..5ff9cefd8e 100644 --- a/packages/api/core/src/api/import.ts +++ b/packages/api/core/src/api/import.ts @@ -58,18 +58,20 @@ export default async ({ shouldRemoveDependency, shouldUpdateScript, outDir, -}: ImportOptions) => { +}: ImportOptions): Promise => { const calculatedOutDir = outDir || 'out'; asyncOra.interactive = interactive; d(`Attempting to import project in: ${dir}`); - if (!await fs.pathExists(dir) || !await fs.pathExists(path.resolve(dir, 'package.json'))) { + if (!(await fs.pathExists(dir)) || !(await fs.pathExists(path.resolve(dir, 'package.json')))) { throw new Error(`We couldn't find a project in: ${dir}`); } // eslint-disable-next-line max-len if (typeof confirmImport === 'function') { - if (!await confirmImport()) { + if (!(await confirmImport())) { + // TODO: figure out if we can just return early here + // eslint-disable-next-line no-process-exit process.exit(0); } } @@ -85,12 +87,18 @@ export default async ({ if (packageJSON.config.forge.makers) { warn(interactive, 'It looks like this project is already configured for Electron Forge'.green); if (typeof shouldContinueOnExisting === 'function') { - if (!await shouldContinueOnExisting()) { + if (!(await shouldContinueOnExisting())) { + // TODO: figure out if we can just return early here + // eslint-disable-next-line no-process-exit process.exit(0); } } } else if (typeof packageJSON.config.forge === 'string') { - warn(interactive, "We can't tell if the Electron Forge config is compatible because it's in an external JavaScript file, not trying to convert it and continuing anyway".yellow); + warn( + interactive, + "We can't tell if the Electron Forge config is compatible because it's in an external JavaScript file, not trying to convert it and continuing anyway" + .yellow + ); } else { d('Upgrading an Electron Forge < 6 project'); packageJSON.config.forge = upgradeForgeConfig(packageJSON.config.forge); @@ -101,17 +109,10 @@ export default async ({ packageJSON.dependencies = packageJSON.dependencies || {}; packageJSON.devDependencies = packageJSON.devDependencies || {}; - [importDevDeps, importExactDevDeps] = updateElectronDependency( - packageJSON, - importDevDeps, - importExactDevDeps, - ); + [importDevDeps, importExactDevDeps] = updateElectronDependency(packageJSON, importDevDeps, importExactDevDeps); - const keys = Object.keys(packageJSON.dependencies) - .concat(Object.keys(packageJSON.devDependencies)); - const buildToolPackages: { - [key: string]: string | undefined; - } = { + const keys = Object.keys(packageJSON.dependencies).concat(Object.keys(packageJSON.devDependencies)); + const buildToolPackages: Record = { '@electron/get': 'already uses this module as a transitive dependency', 'electron-builder': 'provides mostly equivalent functionality', 'electron-download': 'already uses this module as a transitive dependency', @@ -127,6 +128,7 @@ export default async ({ for (const key of keys) { if (buildToolPackages[key]) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const explanation = buildToolPackages[key]!; // eslint-disable-next-line max-len let remove = true; @@ -217,9 +219,12 @@ export default async ({ } }); - info(interactive, ` + info( + interactive, + ` We have ATTEMPTED to convert your app to be in a format that electron-forge understands. -Thanks for using ${'"electron-forge"'.green}!!!`); +Thanks for using ${'"electron-forge"'.green}!!!` + ); }; diff --git a/packages/api/core/src/api/index.ts b/packages/api/core/src/api/index.ts index 283e336bf1..e2e5a57162 100644 --- a/packages/api/core/src/api/index.ts +++ b/packages/api/core/src/api/index.ts @@ -1,5 +1,5 @@ import 'colors'; -import { ForgeMakeResult } from '@electron-forge/shared-types'; +import { ElectronProcess, ForgeMakeResult } from '@electron-forge/shared-types'; import _import, { ImportOptions } from './import'; import init, { InitOptions } from './init'; @@ -19,14 +19,14 @@ export class ForgeAPI { * * Sets up `git` and the correct NPM dependencies * * Adds a template forge config to `package.json` */ - import(opts: ImportOptions) { + import(opts: ImportOptions): Promise { return _import(opts); } /** * Initialize a new Electron Forge template project in the given directory. */ - init(opts: InitOptions) { + init(opts: InitOptions): Promise { return init(opts); } @@ -35,7 +35,7 @@ export class ForgeAPI { * * Works on all three platforms for all major distributable types. */ - install(opts: InstallOptions) { + install(opts: InstallOptions): Promise { return install(opts); } @@ -45,28 +45,28 @@ export class ForgeAPI { * The promise will be rejected with the stdout+stderr of the linting process * if linting fails or will be resolved if it succeeds. */ - lint(opts: LintOptions) { + lint(opts: LintOptions): Promise { return lint(opts); } /** * Make distributables for an Electron application */ - make(opts: MakeOptions) { + make(opts: MakeOptions): Promise { return make(opts); } /** * Resolves hooks if they are a path to a file (instead of a `Function`) */ - package(opts: PackageOptions) { + package(opts: PackageOptions): Promise { return _package(opts); } /** * Publish an Electron application into the given target service */ - publish(opts: PublishOptions) { + publish(opts: PublishOptions): Promise { return publish(opts); } @@ -75,7 +75,7 @@ export class ForgeAPI { * * Handles things like native module rebuilding for you on the fly */ - start(opts: StartOptions) { + start(opts: StartOptions): Promise { return start(opts); } } diff --git a/packages/api/core/src/api/init-scripts/find-template.ts b/packages/api/core/src/api/init-scripts/find-template.ts index 45c0d05d02..0657fac99c 100644 --- a/packages/api/core/src/api/init-scripts/find-template.ts +++ b/packages/api/core/src/api/init-scripts/find-template.ts @@ -23,7 +23,8 @@ export default async (dir: string, template: string): Promise => d(`Trying ${templateType} template: ${moduleName}`); if (templateType === 'global') { templateModulePath = await resolvePackage(moduleName); - } else { // local + } else { + // local templateModulePath = require.resolve(moduleName); } foundTemplate = true; @@ -37,7 +38,7 @@ export default async (dir: string, template: string): Promise => } }); - // eslint-disable-next-line import/no-dynamic-require, global-require + // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require const templateModule: PossibleModule = require(templateModulePath); return templateModule.default || templateModule; diff --git a/packages/api/core/src/api/init-scripts/init-directory.ts b/packages/api/core/src/api/init-scripts/init-directory.ts index 49c3def21b..c7a8a85779 100644 --- a/packages/api/core/src/api/init-scripts/init-directory.ts +++ b/packages/api/core/src/api/init-scripts/init-directory.ts @@ -5,7 +5,7 @@ import logSymbols from 'log-symbols'; const d = debug('electron-forge:init:directory'); -export default async (dir: string, force = false) => { +export default async (dir: string, force = false): Promise => { await asyncOra('Initializing Project Directory', async (initSpinner) => { d('creating directory:', dir); await fs.mkdirs(dir); diff --git a/packages/api/core/src/api/init-scripts/init-git.ts b/packages/api/core/src/api/init-scripts/init-git.ts index 3ae980ad06..d91a3f066d 100644 --- a/packages/api/core/src/api/init-scripts/init-git.ts +++ b/packages/api/core/src/api/init-scripts/init-git.ts @@ -4,21 +4,25 @@ import debug from 'debug'; const d = debug('electron-forge:init:git'); -export default async (dir: string) => { +export default async (dir: string): Promise => { await asyncOra('Initializing Git Repository', async () => { await new Promise((resolve, reject) => { - exec('git rev-parse --show-toplevel', { - cwd: dir, - }, (err) => { - if (err) { - // not run within a Git repository - d('executing "git init" in directory:', dir); - exec('git init', { cwd: dir }, (initErr) => (initErr ? reject(initErr) : resolve())); - } else { - d('.git directory already exists, skipping git initialization'); - resolve(); + exec( + 'git rev-parse --show-toplevel', + { + cwd: dir, + }, + (err) => { + if (err) { + // not run within a Git repository + d('executing "git init" in directory:', dir); + exec('git init', { cwd: dir }, (initErr) => (initErr ? reject(initErr) : resolve())); + } else { + d('.git directory already exists, skipping git initialization'); + resolve(); + } } - }); + ); }); }); }; diff --git a/packages/api/core/src/api/init-scripts/init-npm.ts b/packages/api/core/src/api/init-scripts/init-npm.ts index dffb1fbc65..e88c3a2fe6 100644 --- a/packages/api/core/src/api/init-scripts/init-npm.ts +++ b/packages/api/core/src/api/init-scripts/init-npm.ts @@ -8,21 +8,15 @@ import installDepList, { DepType, DepVersionRestriction } from '../../util/insta const d = debug('electron-forge:init:npm'); const corePackage = fs.readJsonSync(path.resolve(__dirname, '../../../package.json')); -export function siblingDep(name: string) { +export function siblingDep(name: string): string { return `@electron-forge/${name}@^${corePackage.version}`; } export const deps = ['electron-squirrel-startup']; -export const devDeps = [ - siblingDep('cli'), - siblingDep('maker-squirrel'), - siblingDep('maker-zip'), - siblingDep('maker-deb'), - siblingDep('maker-rpm'), -]; +export const devDeps = [siblingDep('cli'), siblingDep('maker-squirrel'), siblingDep('maker-zip'), siblingDep('maker-deb'), siblingDep('maker-rpm')]; export const exactDevDeps = ['electron']; -export default async (dir: string) => { +export default async (dir: string): Promise => { await asyncOra('Installing NPM Dependencies', async () => { d('installing dependencies'); await installDepList(dir, deps); diff --git a/packages/api/core/src/api/init.ts b/packages/api/core/src/api/init.ts index aae294f4af..16e14098de 100644 --- a/packages/api/core/src/api/init.ts +++ b/packages/api/core/src/api/init.ts @@ -45,17 +45,13 @@ async function validateTemplate(template: string, templateModule: ForgeTemplate) const forgeVersion = (await readRawPackageJson(path.join(__dirname, '..', '..'))).version; if (!semver.satisfies(forgeVersion, templateModule.requiredForgeVersion)) { - throw new Error(`Template (${template}) is not compatible with this version of Electron Forge (${forgeVersion}), it requires ${templateModule.requiredForgeVersion}`); + throw new Error( + `Template (${template}) is not compatible with this version of Electron Forge (${forgeVersion}), it requires ${templateModule.requiredForgeVersion}` + ); } } -export default async ({ - dir = process.cwd(), - interactive = false, - copyCIFiles = false, - force = false, - template = 'base', -}: InitOptions) => { +export default async ({ dir = process.cwd(), interactive = false, copyCIFiles = false, force = false, template = 'base' }: InitOptions): Promise => { asyncOra.interactive = interactive; d(`Initializing in: ${dir}`); diff --git a/packages/api/core/src/api/install.ts b/packages/api/core/src/api/install.ts index 20d2cc5d5d..90b3f29f36 100644 --- a/packages/api/core/src/api/install.ts +++ b/packages/api/core/src/api/install.ts @@ -17,13 +17,17 @@ import ExeInstaller from '@electron-forge/installer-exe'; import { info } from '../util/messages'; +// TODO: replace with a got-based module +// eslint-disable-next-line @typescript-eslint/no-var-requires const nugget = require('nugget'); const d = debug('electron-forge:install'); const GITHUB_API = 'https://api.github.com'; -class InstallerImpl extends InstallerBase { name = 'impl'; } +class InstallerImpl extends InstallerBase { + name = 'impl'; +} export interface Asset { id: string; @@ -60,12 +64,7 @@ export interface InstallOptions { chooseAsset: (assets: Asset[]) => Promise | Asset; } -export default async ({ - interactive = false, - prerelease = false, - repo, - chooseAsset, -}: InstallOptions) => { +export default async ({ interactive = false, prerelease = false, repo, chooseAsset }: InstallOptions): Promise => { asyncOra.interactive = interactive; if (typeof chooseAsset !== 'function') { @@ -88,6 +87,8 @@ export default async ({ // Ignore error } + // TODO: fix up the type so that errors are handled correctly + // eslint-disable-next-line @typescript-eslint/no-explicit-any if (!releases || (releases as any).message === 'Not Found' || !Array.isArray(releases)) { throw new Error(`Failed to find releases for repository "${repo}". Please check the name and try again.`); } @@ -103,7 +104,7 @@ export default async ({ if (tagA.substr(0, 1) === 'v') tagA = tagA.substr(1); let tagB = releaseB.tag_name; if (tagB.substr(0, 1) === 'v') tagB = tagB.substr(1); - return (semver.gt(tagB, tagA) ? 1 : -1); + return semver.gt(tagB, tagA) ? 1 : -1; }); // eslint-disable-next-line prefer-destructuring latestRelease = sortedReleases[0]; @@ -148,8 +149,7 @@ export default async ({ const filename = `${pathSafeRepo}-${latestRelease.tag_name}-${targetAsset.name}`; const fullFilePath = path.resolve(tmpdir, filename); - if (!await fs.pathExists(fullFilePath) - || (await fs.stat(fullFilePath)).size !== targetAsset.size) { + if (!(await fs.pathExists(fullFilePath)) || (await fs.stat(fullFilePath)).size !== targetAsset.size) { await fs.mkdirs(tmpdir); const nuggetOpts = { @@ -180,8 +180,7 @@ export default async ({ }, }; - const suffixFnIdent = Object.keys(installActions[process.platform]) - .find((suffix) => targetAsset.name.endsWith(suffix)); + const suffixFnIdent = Object.keys(installActions[process.platform]).find((suffix) => targetAsset.name.endsWith(suffix)); if (!suffixFnIdent) { throw new Error(`No installer to handle "${targetAsset.name}"`); } diff --git a/packages/api/core/src/api/lint.ts b/packages/api/core/src/api/lint.ts index 2b33fedb27..4bcd783a74 100644 --- a/packages/api/core/src/api/lint.ts +++ b/packages/api/core/src/api/lint.ts @@ -12,10 +12,7 @@ export interface LintOptions { interactive?: boolean; } -export default async ({ - dir = process.cwd(), - interactive = false, -}: LintOptions) => { +export default async ({ dir = process.cwd(), interactive = false }: LintOptions): Promise => { asyncOra.interactive = interactive; let success = true; diff --git a/packages/api/core/src/api/make.ts b/packages/api/core/src/api/make.ts index 8db1baa0d3..5f91eabdad 100644 --- a/packages/api/core/src/api/make.ts +++ b/packages/api/core/src/api/make.ts @@ -1,9 +1,7 @@ import 'colors'; import { asyncOra } from '@electron-forge/async-ora'; import { getHostArch } from '@electron/get'; -import { - IForgeResolvableMaker, ForgeConfig, ForgeArch, ForgePlatform, ForgeMakeResult, -} from '@electron-forge/shared-types'; +import { IForgeResolvableMaker, ForgeConfig, ForgeArch, ForgePlatform, ForgeMakeResult } from '@electron-forge/shared-types'; import MakerBase from '@electron-forge/maker-base'; import fs from 'fs-extra'; import path from 'path'; @@ -20,21 +18,21 @@ import requireSearch from '../util/require-search'; import packager from './package'; +// eslint-disable-next-line @typescript-eslint/no-explicit-any class MakerImpl extends MakerBase { name = 'impl'; defaultPlatforms = []; } +// eslint-disable-next-line @typescript-eslint/no-explicit-any type MakeTarget = IForgeResolvableMaker | MakerBase | string; function generateTargets(forgeConfig: ForgeConfig, overrideTargets?: MakeTarget[]) { if (overrideTargets) { return overrideTargets.map((target) => { if (typeof target === 'string') { - return forgeConfig.makers.find( - (maker) => (maker as IForgeResolvableMaker).name === target, - ) || { name: target }; + return forgeConfig.makers.find((maker) => (maker as IForgeResolvableMaker).name === target) || { name: target }; } return target; @@ -82,7 +80,7 @@ export default async ({ platform = process.platform as ForgePlatform, overrideTargets, outDir, -}: MakeOptions) => { +}: MakeOptions): Promise => { asyncOra.interactive = interactive; let forgeConfig!: ForgeConfig; @@ -104,18 +102,19 @@ export default async ({ throw new Error(`'${actualTargetPlatform}' is an invalid platform. Choices are 'darwin', 'mas', 'win32' or 'linux'`); } - const makers: { - [key: number]: MakerBase; - } = {}; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const makers: Record> = {}; let targets = generateTargets(forgeConfig, overrideTargets); let targetId = 0; for (const target of targets) { + /* eslint-disable @typescript-eslint/no-explicit-any */ let maker: MakerBase; // eslint-disable-next-line no-underscore-dangle if ((target as MakerBase).__isElectronForgeMaker) { maker = target as MakerBase; + /* eslint-enable @typescript-eslint/no-explicit-any */ // eslint-disable-next-line no-continue if (!maker.platforms.includes(actualTargetPlatform)) continue; } else { @@ -138,18 +137,17 @@ export default async ({ } if (!maker.isSupportedOnCurrentPlatform) { - throw new Error([ - `Maker for target ${maker.name} is incompatible with this version of `, - 'electron-forge, please upgrade or contact the maintainer ', - '(needs to implement \'isSupportedOnCurrentPlatform)\')', - ].join('')); + throw new Error( + [ + `Maker for target ${maker.name} is incompatible with this version of `, + 'electron-forge, please upgrade or contact the maintainer ', + "(needs to implement 'isSupportedOnCurrentPlatform)')", + ].join('') + ); } - if (!await maker.isSupportedOnCurrentPlatform()) { - throw new Error([ - `Cannot make for ${platform} and target ${maker.name}: the maker declared `, - `that it cannot run on ${process.platform}`, - ].join('')); + if (!maker.isSupportedOnCurrentPlatform()) { + throw new Error([`Cannot make for ${platform} and target ${maker.name}: the maker declared `, `that it cannot run on ${process.platform}`].join('')); } maker.ensureExternalBinariesExist(); @@ -177,7 +175,7 @@ export default async ({ throw new Error(`Could not find any make targets configured for the "${actualTargetPlatform}" platform.`); } - info(interactive, `Making for the following targets: ${`${targets.map((t, i) => makers[i].name).join(', ')}`.cyan}`); + info(interactive, `Making for the following targets: ${`${targets.map((_t, i) => makers[i].name).join(', ')}`.cyan}`); const packageJSON = await readMutatedPackageJson(dir, forgeConfig); const appName = forgeConfig.packagerConfig.name || packageJSON.productName || packageJSON.name; diff --git a/packages/api/core/src/api/package.ts b/packages/api/core/src/api/package.ts index 456e0f5cfc..ffcde1c379 100644 --- a/packages/api/core/src/api/package.ts +++ b/packages/api/core/src/api/package.ts @@ -5,7 +5,7 @@ import debug from 'debug'; import fs from 'fs-extra'; import { getHostArch } from '@electron/get'; import glob from 'fast-glob'; -import packager from 'electron-packager'; +import packager, { HookFunction } from 'electron-packager'; import path from 'path'; import { promisify } from 'util'; @@ -21,42 +21,33 @@ import { getElectronVersion } from '../util/electron-version'; const d = debug('electron-forge:packager'); -type ElectronPackagerAfterCopyHook = ( - buildPath: string, - electronVersion: string, - pPlatform: ForgePlatform, - pArch: ForgeArch, - done: (err?: Error) => void -) => void; - /** * Resolves hooks if they are a path to a file (instead of a `Function`). */ -function resolveHooks(hooks: (string | ElectronPackagerAfterCopyHook)[] | undefined, dir: string) { +function resolveHooks(hooks: (string | HookFunction)[] | undefined, dir: string) { if (hooks) { - return hooks.map((hook) => ( - typeof hook === 'string' - ? requireSearch(dir, [hook]) as ElectronPackagerAfterCopyHook - : hook - )); + return hooks.map((hook) => (typeof hook === 'string' ? (requireSearch(dir, [hook]) as HookFunction) : hook)); } return []; } +type DoneFunction = () => void; +type PromisifiedHookFunction = (buildPath: string, electronVersion: string, platform: string, arch: string) => Promise; + /** * Runs given hooks sequentially by mapping them to promises and iterating * through while awaiting */ -function sequentialHooks(hooks: Function[]) { - return [async (...args: any[]) => { - const done = args[args.length - 1]; - const passedArgs = args.splice(0, args.length - 1); - for (const hook of hooks) { - await promisify(hook)(...passedArgs); - } - done(); - }] as [(...args: any[]) => Promise]; +function sequentialHooks(hooks: HookFunction[]): PromisifiedHookFunction[] { + return [ + async (buildPath: string, electronVersion: string, platform: string, arch: string, done: DoneFunction) => { + for (const hook of hooks) { + await promisify(hook)(buildPath, electronVersion, platform, arch); + } + done(); + }, + ] as PromisifiedHookFunction[]; } export interface PackageOptions { @@ -88,7 +79,7 @@ export default async ({ arch = getHostArch() as ForgeArch, platform = process.platform as ForgePlatform, outDir, -}: PackageOptions) => { +}: PackageOptions): Promise => { const ora = interactive ? realOra : fakeOra; let prepareSpinner = ora(`Preparing to Package Application for arch: ${(arch === 'all' ? 'ia32' : arch).cyan}`).start(); @@ -112,7 +103,7 @@ export default async ({ const pruneEnabled = !('prune' in forgeConfig.packagerConfig) || forgeConfig.packagerConfig.prune; - const afterCopyHooks: ElectronPackagerAfterCopyHook[] = [ + const afterCopyHooks: HookFunction[] = [ async (buildPath, electronVersion, pPlatform, pArch, done) => { if (packagerSpinner) { packagerSpinner.succeed(); @@ -124,19 +115,14 @@ export default async ({ await fs.remove(bin); } done(); - }, async (buildPath, electronVersion, pPlatform, pArch, done) => { + }, + async (buildPath, electronVersion, pPlatform, pArch, done) => { prepareSpinner.succeed(); await runHook(forgeConfig, 'packageAfterCopy', buildPath, electronVersion, pPlatform, pArch); done(); }, async (buildPath, electronVersion, pPlatform, pArch, done) => { - await rebuildHook( - buildPath, - electronVersion, - pPlatform, - pArch, - forgeConfig.electronRebuildConfig, - ); + await rebuildHook(buildPath, electronVersion, pPlatform, pArch, forgeConfig.electronRebuildConfig); packagerSpinner = ora('Packaging Application').start(); done(); }, @@ -162,12 +148,14 @@ export default async ({ afterPruneHooks.push((async (buildPath, electronVersion, pPlatform, pArch, done) => { await runHook(forgeConfig, 'packageAfterPrune', buildPath, electronVersion, pPlatform, pArch); done(); - }) as ElectronPackagerAfterCopyHook); + }) as HookFunction); - const afterExtractHooks = [(async (buildPath, electronVersion, pPlatform, pArch, done) => { - await runHook(forgeConfig, 'packageAfterExtract', buildPath, electronVersion, pPlatform, pArch); - done(); - }) as ElectronPackagerAfterCopyHook]; + const afterExtractHooks = [ + (async (buildPath, electronVersion, pPlatform, pArch, done) => { + await runHook(forgeConfig, 'packageAfterExtract', buildPath, electronVersion, pPlatform, pArch); + done(); + }) as HookFunction, + ]; afterExtractHooks.push(...resolveHooks(forgeConfig.packagerConfig.afterExtract, dir)); type PackagerArch = Exclude; @@ -193,7 +181,10 @@ export default async ({ if (!packageJSON.version && !packageOpts.appVersion) { // eslint-disable-next-line max-len - warn(interactive, 'Please set "version" or "config.forge.packagerConfig.appVersion" in your application\'s package.json so auto-updates work properly'.yellow); + warn( + interactive, + 'Please set "version" or "config.forge.packagerConfig.appVersion" in your application\'s package.json so auto-updates work properly'.yellow + ); } if (packageOpts.prebuiltAsar) { @@ -214,5 +205,6 @@ export default async ({ spinner: packagerSpinner, }); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion if (packagerSpinner) packagerSpinner!.succeed(); }; diff --git a/packages/api/core/src/api/publish.ts b/packages/api/core/src/api/publish.ts index daa9887084..30aa5f9b09 100644 --- a/packages/api/core/src/api/publish.ts +++ b/packages/api/core/src/api/publish.ts @@ -69,7 +69,7 @@ const publish = async ({ dryRunResume = false, makeResults = undefined, outDir, -}: PublishOptions) => { +}: PublishOptions): Promise => { asyncOra.interactive = interactive; if (dryRun && dryRunResume) { @@ -118,7 +118,7 @@ const publish = async ({ makeOptions.arch = makeResult.arch; for (const makePath of makeResult.artifacts) { - if (!await fs.pathExists(makePath)) { + if (!(await fs.pathExists(makePath))) { throw new Error(`Attempted to resume a dry run but an artifact (${makePath}) could not be found`); } } @@ -140,41 +140,46 @@ const publish = async ({ // const testPlatform = makeOptions.platform || process.platform as ForgePlatform; if (!publishTargets) { - publishTargets = (forgeConfig.publishers || []); + publishTargets = forgeConfig.publishers || []; // .filter(publisher => (typeof publisher !== 'string' && publisher.platforms) // ? publisher.platforms.includes(testPlatform) : true); } publishTargets = (publishTargets as ForgeConfigPublisher[]).map((target) => { if (typeof target === 'string') { - return (forgeConfig.publishers || []).find((p: ForgeConfigPublisher) => { - if (typeof p === 'string') return false; - // eslint-disable-next-line no-underscore-dangle - if ((p as IForgePublisher).__isElectronForgePublisher) return false; - return (p as IForgeResolvablePublisher).name === target; - }) || { name: target }; + return ( + (forgeConfig.publishers || []).find((p: ForgeConfigPublisher) => { + if (typeof p === 'string') return false; + // eslint-disable-next-line no-underscore-dangle + if ((p as IForgePublisher).__isElectronForgePublisher) return false; + return (p as IForgeResolvablePublisher).name === target; + }) || { name: target } + ); } return target; }); for (const publishTarget of publishTargets) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any let publisher: PublisherBase; // eslint-disable-next-line no-underscore-dangle if ((publishTarget as IForgePublisher).__isElectronForgePublisher) { - publisher = publishTarget as any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + publisher = publishTarget as PublisherBase; } else { const resolvablePublishTarget = publishTarget as IForgeResolvablePublisher; + // eslint-disable-next-line @typescript-eslint/no-explicit-any let PublisherClass: any; - await asyncOra(`Resolving publish target: ${`${resolvablePublishTarget.name}`.cyan}`, async () => { // eslint-disable-line no-loop-func + await asyncOra(`Resolving publish target: ${`${resolvablePublishTarget.name}`.cyan}`, async () => { + // eslint-disable-line no-loop-func PublisherClass = requireSearch(dir, [resolvablePublishTarget.name]); if (!PublisherClass) { - throw new Error(`Could not find a publish target with the name: ${resolvablePublishTarget.name}. Make sure it's listed in the devDependencies of your package.json`); + throw new Error( + `Could not find a publish target with the name: ${resolvablePublishTarget.name}. Make sure it's listed in the devDependencies of your package.json` + ); } }); - publisher = new PublisherClass( - resolvablePublishTarget.config || {}, - resolvablePublishTarget.platforms, - ); + publisher = new PublisherClass(resolvablePublishTarget.config || {}, resolvablePublishTarget.platforms); } await publisher.publish({ diff --git a/packages/api/core/src/api/start.ts b/packages/api/core/src/api/start.ts index 967eaf2765..1d70971c4a 100644 --- a/packages/api/core/src/api/start.ts +++ b/packages/api/core/src/api/start.ts @@ -1,9 +1,7 @@ import 'colors'; import { asyncOra } from '@electron-forge/async-ora'; import debug from 'debug'; -import { - ElectronProcess, ForgeArch, ForgePlatform, StartOptions, -} from '@electron-forge/shared-types'; +import { ElectronProcess, ForgeArch, ForgePlatform, StartOptions } from '@electron-forge/shared-types'; import { spawn, SpawnOptions } from 'child_process'; import { getElectronVersion } from '../util/electron-version'; @@ -26,7 +24,7 @@ export default async ({ args = [], runAsNode = false, inspect = false, -}: StartOptions) => { +}: StartOptions): Promise => { asyncOra.interactive = interactive; await asyncOra('Locating Application', async () => { @@ -47,13 +45,7 @@ export default async ({ const platform = process.env.npm_config_platform || process.platform; const arch = process.env.npm_config_arch || process.arch; - await rebuild( - dir, - await getElectronVersion(dir, packageJSON), - platform as ForgePlatform, - arch as ForgeArch, - forgeConfig.electronRebuildConfig, - ); + await rebuild(dir, await getElectronVersion(dir, packageJSON), platform as ForgePlatform, arch as ForgeArch, forgeConfig.electronRebuildConfig); await runHook(forgeConfig, 'generateAssets', platform, arch); @@ -91,13 +83,15 @@ export default async ({ const spawnOpts = { cwd: dir, stdio: 'inherit', - env: ({ + env: { ...process.env, - ...(enableLogging ? { - ELECTRON_ENABLE_LOGGING: 'true', - ELECTRON_ENABLE_STACK_DUMPING: 'true', - } : {}), - }) as NodeJS.ProcessEnv, + ...(enableLogging + ? { + ELECTRON_ENABLE_LOGGING: 'true', + ELECTRON_ENABLE_STACK_DUMPING: 'true', + } + : {}), + } as NodeJS.ProcessEnv, }; if (runAsNode) { @@ -107,16 +101,16 @@ export default async ({ } if (inspect) { - args = ['--inspect' as (string|number)].concat(args); + args = ['--inspect' as string | number].concat(args); } let spawned!: ElectronProcess; await asyncOra('Launching Application', async () => { spawned = spawn( - electronExecPath!, + electronExecPath!, // eslint-disable-line @typescript-eslint/no-non-null-assertion prefixArgs.concat([appPath]).concat(args as string[]), - spawnOpts as SpawnOptions, + spawnOpts as SpawnOptions ) as ElectronProcess; }); diff --git a/packages/api/core/src/util/deprecate.ts b/packages/api/core/src/util/deprecate.ts index ca5f4537ba..24099e9bcf 100644 --- a/packages/api/core/src/util/deprecate.ts +++ b/packages/api/core/src/util/deprecate.ts @@ -2,8 +2,12 @@ import 'colors'; import logSymbols from 'log-symbols'; -export default (what: string) => ({ - replaceWith: (replacement: string) => { +type Deprecation = { + replaceWith: (replacement: string) => void; +}; + +export default (what: string): Deprecation => ({ + replaceWith: (replacement: string): void => { console.warn(logSymbols.warning, `WARNING: ${what} is deprecated, please use ${replacement} instead`.yellow); }, }); diff --git a/packages/api/core/src/util/electron-executable.ts b/packages/api/core/src/util/electron-executable.ts index 01ff60735f..48e98cbf1c 100644 --- a/packages/api/core/src/util/electron-executable.ts +++ b/packages/api/core/src/util/electron-executable.ts @@ -18,7 +18,7 @@ export function pluginCompileExists(packageJSON: PackageJSON): boolean { return true; } - if (Object.keys(packageJSON.dependencies as Dependencies || {}).find(findPluginCompile)) { + if (Object.keys((packageJSON.dependencies as Dependencies) || {}).find(findPluginCompile)) { // eslint-disable-next-line no-console console.warn(logSymbols.warning, `${pluginCompileName} was detected in dependencies, it should be in devDependencies`.yellow); return true; @@ -27,18 +27,19 @@ export function pluginCompileExists(packageJSON: PackageJSON): boolean { return false; } -export default async function locateElectronExecutable( - dir: string, - packageJSON: PackageJSON, -): Promise { +export default async function locateElectronExecutable(dir: string, packageJSON: PackageJSON): Promise { let electronModulePath: string | undefined = await getElectronModulePath(dir, packageJSON); if (electronModulePath?.endsWith('electron-prebuilt-compile') && !pluginCompileExists(packageJSON)) { // eslint-disable-next-line no-console - console.warn(logSymbols.warning, 'WARNING: found electron-prebuilt-compile without the Electron Forge compile plugin. Please remove the deprecated electron-prebuilt-compile from your devDependencies.'.yellow); + console.warn( + logSymbols.warning, + 'WARNING: found electron-prebuilt-compile without the Electron Forge compile plugin. Please remove the deprecated electron-prebuilt-compile from your devDependencies.' + .yellow + ); electronModulePath = undefined; } - // eslint-disable-next-line import/no-dynamic-require, global-require + // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require let electronExecPath = require(electronModulePath || path.resolve(dir, 'node_modules/electron')); if (typeof electronExecPath !== 'string') { diff --git a/packages/api/core/src/util/electron-version.ts b/packages/api/core/src/util/electron-version.ts index 7c4b690dd8..d26fd4ffdb 100644 --- a/packages/api/core/src/util/electron-version.ts +++ b/packages/api/core/src/util/electron-version.ts @@ -7,21 +7,18 @@ import yarnOrNpm from './yarn-or-npm'; const d = debug('electron-forge:electron-version'); -const electronPackageNames = [ - 'electron-prebuilt-compile', - 'electron-prebuilt', - 'electron-nightly', - 'electron', -]; +const electronPackageNames = ['electron-prebuilt-compile', 'electron-prebuilt', 'electron-nightly', 'electron']; + +type PackageJSONWithDeps = { + devDependencies?: Record; + dependencies?: Record; +}; function findElectronDep(dep: string): boolean { return electronPackageNames.includes(dep); } -async function findAncestorNodeModulesPath( - dir: string, - packageName: string, -): Promise { +async function findAncestorNodeModulesPath(dir: string, packageName: string): Promise { d('Looking for a lock file to indicate the root of the repo'); const lockPath = await findUp(['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'], { cwd: dir, type: 'file' }); if (lockPath) { @@ -35,10 +32,7 @@ async function findAncestorNodeModulesPath( return Promise.resolve(undefined); } -async function determineNodeModulesPath( - dir: string, - packageName: string, -): Promise { +async function determineNodeModulesPath(dir: string, packageName: string): Promise { const nodeModulesPath: string | undefined = path.join(dir, 'node_modules', packageName); if (await fs.pathExists(nodeModulesPath)) { return nodeModulesPath; @@ -52,12 +46,14 @@ export class PackageNotFoundError extends Error { } } -function getElectronModuleName(packageJSON: any): string { +function getElectronModuleName(packageJSON: PackageJSONWithDeps): string { if (!packageJSON.devDependencies) { throw new Error('package.json for app does not have any devDependencies'); } - const packageName = electronPackageNames.find((pkg) => packageJSON.devDependencies[pkg]); + // Why: checked above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const packageName = electronPackageNames.find((pkg) => packageJSON.devDependencies![pkg]); if (packageName === undefined) { throw new Error('Could not find any Electron packages in devDependencies'); } @@ -65,10 +61,7 @@ function getElectronModuleName(packageJSON: any): string { return packageName; } -async function getElectronPackageJSONPath( - dir: string, - packageName: string, -): Promise { +async function getElectronPackageJSONPath(dir: string, packageName: string): Promise { const nodeModulesPath = await determineNodeModulesPath(dir, packageName); if (!nodeModulesPath) { throw new PackageNotFoundError(packageName, dir); @@ -82,10 +75,7 @@ async function getElectronPackageJSONPath( return undefined; } -export async function getElectronModulePath( - dir: string, - packageJSON: any, -): Promise { +export async function getElectronModulePath(dir: string, packageJSON: PackageJSONWithDeps): Promise { const moduleName = getElectronModuleName(packageJSON); const packageJSONPath = await getElectronPackageJSONPath(dir, moduleName); if (packageJSONPath) { @@ -95,11 +85,14 @@ export async function getElectronModulePath( return undefined; } -export async function getElectronVersion(dir: string, packageJSON: any): Promise { +export async function getElectronVersion(dir: string, packageJSON: PackageJSONWithDeps): Promise { const packageName = getElectronModuleName(packageJSON); - let version = packageJSON.devDependencies[packageName]; - if (!semver.valid(version)) { // It's not an exact version, find it in the actual module + // Why: checked in getElectronModuleName + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + let version = packageJSON.devDependencies![packageName]; + if (!semver.valid(version)) { + // It's not an exact version, find it in the actual module const electronPackageJSONPath = await getElectronPackageJSONPath(dir, packageName); if (electronPackageJSONPath) { const electronPackageJSON = await fs.readJson(electronPackageJSONPath); @@ -113,16 +106,14 @@ export async function getElectronVersion(dir: string, packageJSON: any): Promise return version; } -export function updateElectronDependency( - packageJSON: any, - dev: string[], - exact: string[], -): [string[], string[]] { +export function updateElectronDependency(packageJSON: PackageJSONWithDeps, dev: string[], exact: string[]): [string[], string[]] { const alteredDev = ([] as string[]).concat(dev); let alteredExact = ([] as string[]).concat(exact); - if (Object.keys(packageJSON.devDependencies).find(findElectronDep)) { + // Why: checked in getElectronModuleName + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + if (Object.keys(packageJSON.devDependencies!).find(findElectronDep)) { alteredExact = alteredExact.filter((dep) => dep !== 'electron'); - } else { + } else if (packageJSON.dependencies) { const electronKey = Object.keys(packageJSON.dependencies).find(findElectronDep); if (electronKey) { alteredExact = alteredExact.filter((dep) => dep !== 'electron'); diff --git a/packages/api/core/src/util/forge-config.ts b/packages/api/core/src/util/forge-config.ts index ea38030ad3..ce0ac3a541 100644 --- a/packages/api/core/src/util/forge-config.ts +++ b/packages/api/core/src/util/forge-config.ts @@ -1,4 +1,4 @@ -import { ForgeConfig } from '@electron-forge/shared-types'; +import { ForgeConfig, IForgeResolvableMaker } from '@electron-forge/shared-types'; import fs from 'fs-extra'; import path from 'path'; import { template } from 'lodash'; @@ -7,24 +7,38 @@ import { readRawPackageJson } from './read-package-json'; import PluginInterface from './plugin-interface'; import { runMutatingHook } from './hook'; -const underscoreCase = (str: string) => str.replace(/(.)([A-Z][a-z]+)/g, '$1_$2').replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase(); +const underscoreCase = (str: string) => + str + .replace(/(.)([A-Z][a-z]+)/g, '$1_$2') + .replace(/([a-z0-9])([A-Z])/g, '$1_$2') + .toUpperCase(); + +export type PackageJSONForInitialForgeConfig = { + name?: string; + config: { + forge: { + makers: Pick[]; + }; + }; +}; + +// Why: needs access to Object methods and also needs to be able to match any interface. +// eslint-disable-next-line @typescript-eslint/ban-types +type ProxiedObject = object; +/* eslint-disable @typescript-eslint/no-explicit-any */ // eslint-disable-next-line arrow-parens -const proxify = ( - buildIdentifier: string | (() => string), - object: T, - envPrefix: string, -): T => { +const proxify = (buildIdentifier: string | (() => string), proxifiedObject: T, envPrefix: string): T => { let newObject: T = {} as any; - if (Array.isArray(object)) { + if (Array.isArray(proxifiedObject)) { newObject = [] as any; } - for (const [key, val] of Object.entries(object)) { + for (const [key, val] of Object.entries(proxifiedObject)) { if (typeof val === 'object' && key !== 'pluginInterface' && !(val instanceof RegExp)) { - (newObject as any)[key] = proxify(buildIdentifier, (object as any)[key], `${envPrefix}_${underscoreCase(key)}`); + (newObject as any)[key] = proxify(buildIdentifier, (proxifiedObject as any)[key], `${envPrefix}_${underscoreCase(key)}`); } else { - (newObject as any)[key] = (object as any)[key]; + (newObject as any)[key] = (proxifiedObject as any)[key]; } } @@ -64,32 +78,37 @@ const proxify = ( }, }); }; +/* eslint-enable @typescript-eslint/no-explicit-any */ /** * Sets sensible defaults for the `config.forge` object. */ -export function setInitialForgeConfig(packageJSON: any) { +export function setInitialForgeConfig(packageJSON: PackageJSONForInitialForgeConfig): void { + // eslint-disable-line @typescript-eslint/no-explicit-any const { name = '' } = packageJSON; - packageJSON.config.forge.makers[0].config.name = name.replace(/-/g, '_'); + ((packageJSON.config.forge as ForgeConfig).makers as IForgeResolvableMaker[])[0].config.name = name.replace(/-/g, '_'); } -export function fromBuildIdentifier(map: { [key: string]: T | undefined }) { +export type BuildIdentifierMap = Record; +export type BuildIdentifierConfig = { + map: BuildIdentifierMap; + __isMagicBuildIdentifierMap: true; +}; + +export function fromBuildIdentifier(map: BuildIdentifierMap): BuildIdentifierConfig { return { map, __isMagicBuildIdentifierMap: true, }; } -export async function forgeConfigIsValidFilePath(dir: string, forgeConfig: string | ForgeConfig) { - return typeof forgeConfig === 'string' - && ( - await fs.pathExists(path.resolve(dir, forgeConfig)) - || fs.pathExists(path.resolve(dir, `${forgeConfig}.js`)) - ); +export async function forgeConfigIsValidFilePath(dir: string, forgeConfig: string | ForgeConfig): Promise { + return typeof forgeConfig === 'string' && ((await fs.pathExists(path.resolve(dir, forgeConfig))) || fs.pathExists(path.resolve(dir, `${forgeConfig}.js`))); } -export function renderConfigTemplate(dir: string, templateObj: any, obj: any) { +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any +export function renderConfigTemplate(dir: string, templateObj: any, obj: any): void { for (const [key, value] of Object.entries(obj)) { if (typeof value === 'object' && value !== null) { renderConfigTemplate(dir, templateObj, value); @@ -103,23 +122,21 @@ export function renderConfigTemplate(dir: string, templateObj: any, obj: any) { } } -export default async (dir: string) => { +export default async (dir: string): Promise => { const packageJSON = await readRawPackageJson(dir); - let forgeConfig: ForgeConfig | string | null = (packageJSON.config && packageJSON.config.forge) - ? packageJSON.config.forge - : null; + let forgeConfig: ForgeConfig | string | null = packageJSON.config && packageJSON.config.forge ? packageJSON.config.forge : null; if (!forgeConfig) { if (await fs.pathExists(path.resolve(dir, 'forge.config.js'))) { forgeConfig = 'forge.config.js'; } else { - forgeConfig = {} as any as ForgeConfig; + forgeConfig = {} as ForgeConfig; } } if (await forgeConfigIsValidFilePath(dir, forgeConfig)) { try { - // eslint-disable-next-line global-require, import/no-dynamic-require + // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require, import/no-dynamic-require forgeConfig = require(path.resolve(dir, forgeConfig as string)) as ForgeConfig; } catch (err) { // eslint-disable-next-line no-console @@ -141,7 +158,7 @@ export default async (dir: string) => { ...forgeConfig, }; - const templateObj = { ...packageJSON, year: (new Date()).getFullYear() }; + const templateObj = { ...packageJSON, year: new Date().getFullYear() }; renderConfigTemplate(dir, templateObj, forgeConfig); forgeConfig.pluginInterface = new PluginInterface(dir, forgeConfig); diff --git a/packages/api/core/src/util/hook.ts b/packages/api/core/src/util/hook.ts index 2f8b0d6629..ca88234c53 100644 --- a/packages/api/core/src/util/hook.ts +++ b/packages/api/core/src/util/hook.ts @@ -3,7 +3,8 @@ import debug from 'debug'; const d = debug('electron-forge:hook'); -export const runHook = async (forgeConfig: ForgeConfig, hookName: string, ...hookArgs: any[]) => { +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const runHook = async (forgeConfig: ForgeConfig, hookName: string, ...hookArgs: any[]): Promise => { const { hooks } = forgeConfig; if (hooks) { d(`hook triggered: ${hookName}`); @@ -15,11 +16,7 @@ export const runHook = async (forgeConfig: ForgeConfig, hookName: string, ...hoo await forgeConfig.pluginInterface.triggerHook(hookName, hookArgs); }; -export async function runMutatingHook( - forgeConfig: ForgeConfig, - hookName: string, - item: T, -): Promise { +export async function runMutatingHook(forgeConfig: ForgeConfig, hookName: string, item: T): Promise { const { hooks } = forgeConfig; if (hooks) { d(`hook triggered: ${hookName}`); diff --git a/packages/api/core/src/util/index.ts b/packages/api/core/src/util/index.ts index c366897692..06b71955b9 100644 --- a/packages/api/core/src/util/index.ts +++ b/packages/api/core/src/util/index.ts @@ -1,15 +1,15 @@ -import { fromBuildIdentifier } from './forge-config'; +import { BuildIdentifierConfig, BuildIdentifierMap, fromBuildIdentifier } from './forge-config'; import { hasYarn, yarnOrNpmSpawn } from './yarn-or-npm'; export default class ForgeUtils { /** - * Helper for creating a dynamic config value that will get it's real value - * based on the "buildIdentifier" in your forge config. + * Helper for creating a dynamic config value that will get its real value + * based on the "buildIdentifier" in your Forge config. * * Usage: * `fromBuildIdentifier({ stable: 'App', beta: 'App Beta' })` */ - fromBuildIdentifier(map: { [key: string]: T | undefined }) { + fromBuildIdentifier(map: BuildIdentifierMap): BuildIdentifierConfig { return fromBuildIdentifier(map); } diff --git a/packages/api/core/src/util/install-dependencies.ts b/packages/api/core/src/util/install-dependencies.ts index 5ca3f70210..2217152d74 100644 --- a/packages/api/core/src/util/install-dependencies.ts +++ b/packages/api/core/src/util/install-dependencies.ts @@ -14,12 +14,7 @@ export enum DepVersionRestriction { RANGE = 'RANGE', } -export default async ( - dir: string, - deps: string[], - depType = DepType.PROD, - versionRestriction = DepVersionRestriction.RANGE, -) => { // eslint-disable-line consistent-return +export default async (dir: string, deps: string[], depType = DepType.PROD, versionRestriction = DepVersionRestriction.RANGE): Promise => { d('installing', JSON.stringify(deps), 'in:', dir, `depType=${depType},versionRestriction=${versionRestriction},withYarn=${hasYarn()}`); if (deps.length === 0) { d('nothing to install, stopping immediately'); diff --git a/packages/api/core/src/util/is-installed.ts b/packages/api/core/src/util/is-installed.ts index ab0eaf1593..7eacd4b4f1 100644 --- a/packages/api/core/src/util/is-installed.ts +++ b/packages/api/core/src/util/is-installed.ts @@ -1,9 +1,9 @@ /* eslint "global-require": "off", "import/no-dynamic-require": "off" */ -export default function isInstalled(pkg: string) { +export default function isInstalled(pkg: string): boolean { try { require(pkg); return true; - } catch (e) { + } catch { // Package doesn't exist -- must not be installable on this platform return false; } diff --git a/packages/api/core/src/util/linux-installer.ts b/packages/api/core/src/util/linux-installer.ts index 5dc3e34d86..51a7ca3d9f 100644 --- a/packages/api/core/src/util/linux-installer.ts +++ b/packages/api/core/src/util/linux-installer.ts @@ -2,7 +2,8 @@ import { promisify } from 'util'; import { spawnSync } from 'child_process'; import sudoPrompt from 'sudo-prompt'; -const which = async (type: string, prog: string, promise: () => Promise) => { +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const which = async (type: string, prog: string, promise: () => Promise): Promise => { if (spawnSync('which', [prog]).status === 0) { await promise(); } else { @@ -10,6 +11,7 @@ const which = async (type: string, prog: string, promise: () => Promise) => } }; -export const sudo = (type: string, prog: string, args: string) => which(type, prog, () => promisify(sudoPrompt.exec)(`${prog} ${args}`, { name: 'Electron Forge' })); +export const sudo = (type: string, prog: string, args: string): Promise => + which(type, prog, () => promisify(sudoPrompt.exec)(`${prog} ${args}`, { name: 'Electron Forge' })); export default which; diff --git a/packages/api/core/src/util/messages.ts b/packages/api/core/src/util/messages.ts index 625dd58b08..5d1125e985 100644 --- a/packages/api/core/src/util/messages.ts +++ b/packages/api/core/src/util/messages.ts @@ -1,11 +1,11 @@ /* eslint "no-console": "off" */ -export function info(interactive: boolean, message: string) { +export function info(interactive: boolean, message: string): void { if (interactive) { console.info(message); } } -export function warn(interactive: boolean, message: string) { +export function warn(interactive: boolean, message: string): void { if (interactive) { console.warn(message); } diff --git a/packages/api/core/src/util/out-dir.ts b/packages/api/core/src/util/out-dir.ts index 2dcd6186a7..ff2f707d65 100644 --- a/packages/api/core/src/util/out-dir.ts +++ b/packages/api/core/src/util/out-dir.ts @@ -3,7 +3,7 @@ import path from 'path'; const BASE_OUT_DIR = 'out'; -export default (baseDir: string, forgeConfig: ForgeConfig) => { +export default (baseDir: string, forgeConfig: ForgeConfig): string => { if (forgeConfig.buildIdentifier) { let identifier = forgeConfig.buildIdentifier; if (typeof identifier === 'function') { diff --git a/packages/api/core/src/util/parse-archs.ts b/packages/api/core/src/util/parse-archs.ts index 3cb5a08dfb..b0900196b3 100644 --- a/packages/api/core/src/util/parse-archs.ts +++ b/packages/api/core/src/util/parse-archs.ts @@ -1,12 +1,10 @@ import { ForgePlatform, ForgeArch } from '@electron-forge/shared-types'; +// TODO: convert to an import statement when this is a public API +// eslint-disable-next-line @typescript-eslint/no-var-requires const { allOfficialArchsForPlatformAndVersion } = require('electron-packager/src/targets'); -export default function parseArchs( - platform: ForgePlatform | string, - declaredArch: ForgeArch | 'all' | string, - electronVersion: string, -): ForgeArch[] { +export default function parseArchs(platform: ForgePlatform | string, declaredArch: ForgeArch | 'all' | string, electronVersion: string): ForgeArch[] { if (declaredArch === 'all') { return allOfficialArchsForPlatformAndVersion(platform, electronVersion) || ['x64']; } diff --git a/packages/api/core/src/util/plugin-interface.ts b/packages/api/core/src/util/plugin-interface.ts index e43393c680..3d448661a2 100644 --- a/packages/api/core/src/util/plugin-interface.ts +++ b/packages/api/core/src/util/plugin-interface.ts @@ -1,5 +1,5 @@ import PluginBase from '@electron-forge/plugin-base'; -import { IForgePluginInterface, ForgeConfig, IForgePlugin } from '@electron-forge/shared-types'; +import { IForgePluginInterface, ForgeConfig, IForgePlugin, StartResult } from '@electron-forge/shared-types'; import debug from 'debug'; import { StartOptions } from '../api'; @@ -24,6 +24,7 @@ export default class PluginInterface implements IForgePluginInterface { if (typeof pluginName !== 'string') { throw new Error(`Expected plugin[0] to be a string but found ${pluginName}`); } + // eslint-disable-next-line @typescript-eslint/no-explicit-any const Plugin = requireSearch(dir, [pluginName]); if (!Plugin) { throw new Error(`Could not find module with name: ${plugin[0]}. Make sure it's listed in the devDependencies of your package.json`); @@ -32,7 +33,8 @@ export default class PluginInterface implements IForgePluginInterface { } throw new Error(`Expected plugin to either be a plugin instance or [string, object] but found ${plugin}`); }); - // Fix linting + // TODO: fix hack + // eslint-disable-next-line @typescript-eslint/no-explicit-any this.config = null as any; Object.defineProperty(this, 'config', { value: forgeConfig, @@ -49,7 +51,8 @@ export default class PluginInterface implements IForgePluginInterface { this.overrideStartLogic = this.overrideStartLogic.bind(this); } - async triggerHook(hookName: string, hookArgs: any[]) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + async triggerHook(hookName: string, hookArgs: any[]): Promise { for (const plugin of this.plugins) { if (typeof plugin.getHook === 'function') { const hook = plugin.getHook(hookName); @@ -58,7 +61,7 @@ export default class PluginInterface implements IForgePluginInterface { } } - async triggerMutatingHook(hookName: string, item: T) { + async triggerMutatingHook(hookName: string, item: T): Promise { for (const plugin of this.plugins) { if (typeof plugin.getHook === 'function') { const hook = plugin.getHook(hookName); @@ -70,7 +73,7 @@ export default class PluginInterface implements IForgePluginInterface { return item; } - async overrideStartLogic(opts: StartOptions) { + async overrideStartLogic(opts: StartOptions): Promise { let newStartFn; const claimed = []; for (const plugin of this.plugins) { diff --git a/packages/api/core/src/util/publish-state.ts b/packages/api/core/src/util/publish-state.ts index 3946c4419b..bfccd3a06c 100644 --- a/packages/api/core/src/util/publish-state.ts +++ b/packages/api/core/src/util/publish-state.ts @@ -6,8 +6,8 @@ import path from 'path'; const EXTENSION = '.forge.publish'; export default class PublishState { - static async loadFromDirectory(directory: string, rootDir: string) { - if (!await fs.pathExists(directory)) { + static async loadFromDirectory(directory: string, rootDir: string): Promise { + if (!(await fs.pathExists(directory))) { throw new Error(`Attempted to load publish state from a missing directory: ${directory}`); } @@ -17,9 +17,7 @@ export default class PublishState { const states: PublishState[] = []; if ((await fs.stat(subDir)).isDirectory()) { - const filePaths = (await fs.readdir(subDir)) - .filter((fileName) => fileName.endsWith(EXTENSION)) - .map((fileName) => path.resolve(subDir, fileName)); + const filePaths = (await fs.readdir(subDir)).filter((fileName) => fileName.endsWith(EXTENSION)).map((fileName) => path.resolve(subDir, fileName)); for (const filePath of filePaths) { const state = new PublishState(filePath); @@ -34,7 +32,7 @@ export default class PublishState { return publishes; } - static async saveToDirectory(directory: string, artifacts: ForgeMakeResult[], rootDir: string) { + static async saveToDirectory(directory: string, artifacts: ForgeMakeResult[], rootDir: string): Promise { const id = crypto.createHash('SHA256').update(JSON.stringify(artifacts)).digest('hex'); for (const artifact of artifacts) { // eslint-disable-next-line max-len @@ -59,16 +57,16 @@ export default class PublishState { this.hasHash = hasHash; } - generateHash() { + generateHash(): string { const content = JSON.stringify(this.state || {}); return crypto.createHash('SHA256').update(content).digest('hex'); } - async load() { + async load(): Promise { this.state = await fs.readJson(this.path); } - async saveToDisk() { + async saveToDisk(): Promise { if (!this.hasHash) { this.path = path.resolve(this.dir, `${this.generateHash()}${EXTENSION}`); this.hasHash = true; diff --git a/packages/api/core/src/util/read-package-json.ts b/packages/api/core/src/util/read-package-json.ts index a9022f72d3..eae3a0ed45 100644 --- a/packages/api/core/src/util/read-package-json.ts +++ b/packages/api/core/src/util/read-package-json.ts @@ -4,6 +4,9 @@ import path from 'path'; import { runMutatingHook } from './hook'; -export const readRawPackageJson = async (dir: string) => fs.readJson(path.resolve(dir, 'package.json')); +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const readRawPackageJson = async (dir: string): Promise => fs.readJson(path.resolve(dir, 'package.json')); -export const readMutatedPackageJson = async (dir: string, forgeConfig: ForgeConfig) => runMutatingHook(forgeConfig, 'readPackageJson', await readRawPackageJson(dir)); +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const readMutatedPackageJson = async (dir: string, forgeConfig: ForgeConfig): Promise => + runMutatingHook(forgeConfig, 'readPackageJson', await readRawPackageJson(dir)); diff --git a/packages/api/core/src/util/rebuild.ts b/packages/api/core/src/util/rebuild.ts index 93a0fbdf57..0e25bdefc7 100644 --- a/packages/api/core/src/util/rebuild.ts +++ b/packages/api/core/src/util/rebuild.ts @@ -8,8 +8,8 @@ export default async ( electronVersion: string, platform: ForgePlatform, arch: ForgeArch, - config: Partial = {}, -) => { + config: Partial = {} +): Promise => { await asyncOra('Preparing native dependencies', async (rebuildSpinner) => { const rebuilder = rebuild({ ...config, @@ -26,8 +26,14 @@ export default async ( rebuildSpinner.text = `Preparing native dependencies: ${done} / ${found}`; }; - lifecycle.on('module-found', () => { found += 1; redraw(); }); - lifecycle.on('module-done', () => { done += 1; redraw(); }); + lifecycle.on('module-found', () => { + found += 1; + redraw(); + }); + lifecycle.on('module-done', () => { + done += 1; + redraw(); + }); await rebuilder; }); diff --git a/packages/api/core/src/util/require-search.ts b/packages/api/core/src/util/require-search.ts index ab97b3dd3c..420151cf2a 100644 --- a/packages/api/core/src/util/require-search.ts +++ b/packages/api/core/src/util/require-search.ts @@ -8,7 +8,7 @@ type RequireError = Error & { code: string; path: string; requestPath: string | undefined; -} +}; export function requireSearchRaw(relativeTo: string, paths: string[]): T | null { const testPaths = paths @@ -41,5 +41,5 @@ export type PossibleModule = { // eslint-disable-next-line arrow-parens export default (relativeTo: string, paths: string[]): T | null => { const result = requireSearchRaw>(relativeTo, paths); - return typeof result === 'object' && result && result.default ? result.default : result as (T | null); + return typeof result === 'object' && result && result.default ? result.default : (result as T | null); }; diff --git a/packages/api/core/src/util/resolve-dir.ts b/packages/api/core/src/util/resolve-dir.ts index 91768c9bda..53b4ce7f28 100644 --- a/packages/api/core/src/util/resolve-dir.ts +++ b/packages/api/core/src/util/resolve-dir.ts @@ -9,7 +9,7 @@ const d = debug('electron-forge:project-resolver'); // FIXME: If we want getElectronVersion to be overridable by plugins // and / or forge config then we need to be able to resolve // the dir without calling getElectronVersion -export default async (dir: string) => { +export default async (dir: string): Promise => { let mDir = dir; let bestGuessDir: string | null = null; let lastError: string | null = null; diff --git a/packages/api/core/src/util/upgrade-forge-config.ts b/packages/api/core/src/util/upgrade-forge-config.ts index 703452f25d..9f3b3111e6 100644 --- a/packages/api/core/src/util/upgrade-forge-config.ts +++ b/packages/api/core/src/util/upgrade-forge-config.ts @@ -1,18 +1,47 @@ -import { - ForgeConfig, - ForgePlatform, - IForgeResolvableMaker, - IForgeResolvablePublisher, -} from '@electron-forge/shared-types'; +import { ForgeConfig, ForgePlatform, IForgeResolvableMaker, IForgeResolvablePublisher } from '@electron-forge/shared-types'; import path from 'path'; import { siblingDep } from '../api/init-scripts/init-npm'; type MakeTargets = { string: string[] }; -function mapMakeTargets(forge5Config: any): Map { +type GitHub5Config = Record & { + name: string; + owner: string; + options: Record; +}; + +type Forge5Config = { + make_targets?: Record; + electronPackagerConfig?: Record; + electronRebuildConfig?: Record; + electronWinstallerConfig?: Record; + electronInstallerDMG?: Record; + electronInstallerFlatpak?: Record; + electronInstallerDebian?: Record; + electronInstallerRedhat?: Record; + electronInstallerSnap?: Record; + electronWixMSIConfig?: Record; + windowsStoreConfig?: Record; + + github_repository?: GitHub5Config; + s3?: Record; + 'electron-release-server'?: Record; + snapStore?: Record; +}; + +type Forge5ConfigKey = keyof Forge5Config; + +type ForgePackageJSON = Record & { + config: { + forge: ForgeConfig; + }; + devDependencies: Record; +}; + +function mapMakeTargets(forge5Config: Forge5Config): Map { const makeTargets = new Map(); - if (forge5Config.makeTargets) { - for (const [platform, targets] of Object.entries(forge5Config.makeTargets as MakeTargets)) { + if (forge5Config.make_targets) { + for (const [platform, targets] of Object.entries(forge5Config.make_targets as MakeTargets)) { for (const target of targets) { let platforms = makeTargets.get(target); if (platforms === undefined) { @@ -27,7 +56,7 @@ function mapMakeTargets(forge5Config: any): Map { return makeTargets; } -const forge5MakerMappings = new Map([ +const forge5MakerMappings = new Map([ ['electronInstallerDebian', 'deb'], ['electronInstallerDMG', 'dmg'], ['electronInstallerFlatpak', 'flatpak'], @@ -41,7 +70,7 @@ const forge5MakerMappings = new Map([ /** * Converts Forge v5 maker config to v6. */ -function generateForgeMakerConfig(forge5Config: any): IForgeResolvableMaker[] { +function generateForgeMakerConfig(forge5Config: Forge5Config): IForgeResolvableMaker[] { const makeTargets = mapMakeTargets(forge5Config); const makers: IForgeResolvableMaker[] = []; @@ -67,7 +96,7 @@ function generateForgeMakerConfig(forge5Config: any): IForgeResolvableMaker[] { return makers; } -const forge5PublisherMappings = new Map([ +const forge5PublisherMappings = new Map([ ['github_repository', 'github'], ['s3', 's3'], ['electron-release-server', 'electron-release-server'], @@ -77,10 +106,8 @@ const forge5PublisherMappings = new Map([ /** * Transforms v5 GitHub publisher config to v6 syntax. */ -function transformGitHubPublisherConfig(config: any) { - const { - name, owner, options, ...gitHubConfig - } = config; +function transformGitHubPublisherConfig(config: GitHub5Config) { + const { name, owner, options, ...gitHubConfig } = config; gitHubConfig.repository = { name, owner }; if (options) { gitHubConfig.octokitOptions = options; @@ -92,14 +119,14 @@ function transformGitHubPublisherConfig(config: any) { /** * Converts Forge v5 publisher config to v6. */ -function generateForgePublisherConfig(forge5Config: any): IForgeResolvablePublisher[] { +function generateForgePublisherConfig(forge5Config: Forge5Config): IForgeResolvablePublisher[] { const publishers: IForgeResolvablePublisher[] = []; for (const [forge5Key, publisherType] of forge5PublisherMappings) { let config = forge5Config[forge5Key]; if (config) { if (publisherType === 'github') { - config = transformGitHubPublisherConfig(config); + config = transformGitHubPublisherConfig(config as GitHub5Config); } publishers.push({ config, @@ -115,8 +142,8 @@ function generateForgePublisherConfig(forge5Config: any): IForgeResolvablePublis /** * Upgrades Forge v5 config to v6. */ -export default function upgradeForgeConfig(forge5Config: any): ForgeConfig { - const forgeConfig: ForgeConfig = ({} as ForgeConfig); +export default function upgradeForgeConfig(forge5Config: Forge5Config): ForgeConfig { + const forgeConfig: ForgeConfig = {} as ForgeConfig; if (forge5Config.electronPackagerConfig) { delete forge5Config.electronPackagerConfig.packageManager; @@ -131,13 +158,15 @@ export default function upgradeForgeConfig(forge5Config: any): ForgeConfig { return forgeConfig; } -export function updateUpgradedForgeDevDeps(packageJSON: any, devDeps: string[]): string[] { +export function updateUpgradedForgeDevDeps(packageJSON: ForgePackageJSON, devDeps: string[]): string[] { const forgeConfig = packageJSON.config.forge; devDeps = devDeps.filter((dep) => !dep.startsWith('@electron-forge/maker-')); // eslint-disable-next-line max-len - devDeps = devDeps.concat(forgeConfig.makers.map((maker: IForgeResolvableMaker) => siblingDep(path.basename(maker.name)))); + devDeps = devDeps.concat((forgeConfig.makers as IForgeResolvableMaker[]).map((maker: IForgeResolvableMaker) => siblingDep(path.basename(maker.name)))); // eslint-disable-next-line max-len - devDeps = devDeps.concat(forgeConfig.publishers.map((publisher: IForgeResolvablePublisher) => siblingDep(path.basename(publisher.name)))); + devDeps = devDeps.concat( + (forgeConfig.publishers as IForgeResolvablePublisher[]).map((publisher: IForgeResolvablePublisher) => siblingDep(path.basename(publisher.name))) + ); if (Object.keys(packageJSON.devDependencies).find((dep: string) => dep === 'electron-prebuilt-compile')) { devDeps = devDeps.concat(siblingDep('plugin-compile')); diff --git a/packages/api/core/src/util/yarn-or-npm.ts b/packages/api/core/src/util/yarn-or-npm.ts index 153b68f563..f2e3fcbfe7 100644 --- a/packages/api/core/src/util/yarn-or-npm.ts +++ b/packages/api/core/src/util/yarn-or-npm.ts @@ -1,8 +1,8 @@ -import { spawn } from '@malept/cross-spawn-promise'; +import { CrossSpawnArgs, CrossSpawnOptions, spawn } from '@malept/cross-spawn-promise'; import logSymbols from 'log-symbols'; import yarnOrNpm from 'yarn-or-npm'; -const safeYarnOrNpm = () => { +const safeYarnOrNpm = (): string => { const system = yarnOrNpm(); switch (process.env.NODE_INSTALLER) { case 'yarn': @@ -20,6 +20,6 @@ const safeYarnOrNpm = () => { export default safeYarnOrNpm; // eslint-disable-next-line max-len -export const yarnOrNpmSpawn = (args?: string[], opts?: any) => spawn(safeYarnOrNpm(), args, opts); +export const yarnOrNpmSpawn = (args?: CrossSpawnArgs, opts?: CrossSpawnOptions): Promise => spawn(safeYarnOrNpm(), args, opts); -export const hasYarn = () => safeYarnOrNpm() === 'yarn'; +export const hasYarn = (): boolean => safeYarnOrNpm() === 'yarn'; diff --git a/packages/api/core/test/fast/electron-executable_spec.ts b/packages/api/core/test/fast/electron-executable_spec.ts index 326043059d..6a7712bdc5 100644 --- a/packages/api/core/test/fast/electron-executable_spec.ts +++ b/packages/api/core/test/fast/electron-executable_spec.ts @@ -1,6 +1,6 @@ import chai, { expect } from 'chai'; import path from 'path'; -import sinon from 'sinon'; +import { createSandbox } from 'sinon'; import sinonChai from 'sinon-chai'; import locateElectronExecutable, { pluginCompileExists } from '../../src/util/electron-executable'; @@ -10,7 +10,7 @@ chai.use(sinonChai); const fixtureDir = path.resolve(__dirname, '..', 'fixture', 'electron-executable'); describe('locateElectronExecutable', () => { - const sandbox = sinon.createSandbox(); + const sandbox = createSandbox(); beforeEach(() => { sandbox.spy(console, 'warn'); @@ -77,7 +77,7 @@ describe('locateElectronExecutable', () => { }); describe('pluginCompileExists', () => { - const sandbox = sinon.createSandbox(); + const sandbox = createSandbox(); beforeEach(() => { sandbox.spy(console, 'warn'); diff --git a/packages/api/core/test/fast/electron-version_spec.ts b/packages/api/core/test/fast/electron-version_spec.ts index 582fd4dd85..d54b03479c 100644 --- a/packages/api/core/test/fast/electron-version_spec.ts +++ b/packages/api/core/test/fast/electron-version_spec.ts @@ -24,7 +24,7 @@ describe('updateElectronDependency', () => { it('moves an Electron dependency from dependencies to devDependencies', () => { const packageJSON = { dependencies: { electron: '0.37.0' }, - devDependencies: { }, + devDependencies: {}, }; const [dev, exact] = updateElectronDependency(packageJSON, devDeps, exactDevDeps); expect(dev.includes('electron@0.37.0')).to.equal(true); @@ -35,7 +35,8 @@ describe('updateElectronDependency', () => { describe('getElectronVersion', () => { it('fails without devDependencies', () => expect(getElectronVersion('', {})).to.eventually.be.rejectedWith('does not have any devDependencies')); - it('fails without electron devDependencies', () => expect(getElectronVersion('', { devDependencies: {} })).to.eventually.be.rejectedWith('Electron packages in devDependencies')); + it('fails without electron devDependencies', () => + expect(getElectronVersion('', { devDependencies: {} })).to.eventually.be.rejectedWith('Electron packages in devDependencies')); it('fails with a non-exact version and no electron installed', () => { const fixtureDir = path.resolve(__dirname, '..', 'fixture', 'dummy_app'); @@ -98,7 +99,8 @@ describe('getElectronVersion', () => { describe('getElectronModulePath', () => { it('fails without devDependencies', () => expect(getElectronModulePath('', {})).to.eventually.be.rejectedWith('does not have any devDependencies')); - it('fails without electron devDependencies', () => expect(getElectronModulePath('', { devDependencies: {} })).to.eventually.be.rejectedWith('Electron packages in devDependencies')); + it('fails without electron devDependencies', () => + expect(getElectronModulePath('', { devDependencies: {} })).to.eventually.be.rejectedWith('Electron packages in devDependencies')); describe('with no electron installed', () => { let tempDir: string; @@ -119,7 +121,9 @@ describe('getElectronModulePath', () => { it('works with electron', () => { const fixtureDir = path.resolve(__dirname, '..', 'fixture', 'non-exact'); - return expect(getElectronModulePath(fixtureDir, { devDependencies: { electron: '^4.0.2' } })).to.eventually.equal(path.join(fixtureDir, 'node_modules', 'electron')); + return expect(getElectronModulePath(fixtureDir, { devDependencies: { electron: '^4.0.2' } })).to.eventually.equal( + path.join(fixtureDir, 'node_modules', 'electron') + ); }); describe('with npm workspaces', () => { diff --git a/packages/api/core/test/fast/forge-config_spec.ts b/packages/api/core/test/fast/forge-config_spec.ts index b837c2e422..50a7abd0c7 100644 --- a/packages/api/core/test/fast/forge-config_spec.ts +++ b/packages/api/core/test/fast/forge-config_spec.ts @@ -1,7 +1,13 @@ import { expect } from 'chai'; +import { ForgeConfig } from '@electron-forge/shared-types'; import path from 'path'; -import findConfig, { forgeConfigIsValidFilePath, renderConfigTemplate, setInitialForgeConfig } from '../../src/util/forge-config'; +import findConfig, { + forgeConfigIsValidFilePath, + PackageJSONForInitialForgeConfig, + renderConfigTemplate, + setInitialForgeConfig, +} from '../../src/util/forge-config'; const defaults = { packagerConfig: {}, @@ -13,7 +19,9 @@ const defaults = { describe('forge-config', () => { it('should fail if the config is not an object or requirable path', async () => { - await expect(findConfig(path.resolve(__dirname, '../fixture/bad_forge_config'))).to.eventually.be.rejectedWith('Expected packageJSON.config.forge to be an object or point to a requirable JS file'); + await expect(findConfig(path.resolve(__dirname, '../fixture/bad_forge_config'))).to.eventually.be.rejectedWith( + 'Expected packageJSON.config.forge to be an object or point to a requirable JS file' + ); }); it('should fail if the external config is not parseable', async () => { @@ -22,12 +30,14 @@ describe('forge-config', () => { it('should be set to the defaults if no Forge config is specified in package.json', async () => { const config = await findConfig(path.resolve(__dirname, '../fixture/no_forge_config')); + // eslint-disable-next-line @typescript-eslint/no-explicit-any delete (config as any).pluginInterface; expect(config).to.deep.equal(defaults); }); it('should resolve the object in package.json with defaults if one exists', async () => { const config = await findConfig(path.resolve(__dirname, '../fixture/dummy_app')); + // eslint-disable-next-line @typescript-eslint/no-explicit-any delete (config as any).pluginInterface; expect(config).to.be.deep.equal({ ...defaults, @@ -44,6 +54,8 @@ describe('forge-config', () => { }); it('should allow access to built-ins of proxied objects', async () => { + // Why: This needs to get refactored anyway. + // eslint-disable-next-line @typescript-eslint/no-explicit-any const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); expect(conf.packagerConfig.baz.hasOwnProperty).to.be.a('function'); process.env.ELECTRON_FORGE_S3_SECRET_ACCESS_KEY = 'SecretyThing'; @@ -53,16 +65,25 @@ describe('forge-config', () => { }); it('should allow overwrite of properties in proxied objects', async () => { + // Why: This needs to get refactored anyway. + // eslint-disable-next-line @typescript-eslint/no-explicit-any const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); expect(conf.packagerConfig.baz.hasOwnProperty).to.be.a('function'); - expect(() => { conf.packagerConfig.baz = 'bar'; }).to.not.throw(); + expect(() => { + conf.packagerConfig.baz = 'bar'; + }).to.not.throw(); process.env.ELECTRON_FORGE_S3_SECRET_ACCESS_KEY = 'SecretyThing'; const descriptor = { - writable: true, enumerable: true, configurable: true, value: 'SecretyThing', + writable: true, + enumerable: true, + configurable: true, + value: 'SecretyThing', }; expect(Object.getOwnPropertyDescriptor(conf.s3, 'secretAccessKey')).to.be.deep.equal(descriptor); - expect(() => { conf.s3.secretAccessKey = 'bar'; }).to.not.throw(); + expect(() => { + conf.s3.secretAccessKey = 'bar'; + }).to.not.throw(); expect(conf.s3.secretAccessKey).to.equal('bar'); delete process.env.ELECTRON_FORGE_S3_SECRET_ACCESS_KEY; }); @@ -84,19 +105,29 @@ describe('forge-config', () => { }); it('should resolve the JS file exports in config.forge points to a JS file and maintain functions', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type MagicFunctionConfig = ForgeConfig & { magicFn: () => string }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as MagicFunctionConfig; expect(conf.magicFn).to.be.a('function'); expect(conf.magicFn()).to.be.equal('magic result'); }); it('should resolve the JS file exports of forge.config.js if config.forge does not exist points', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_default_js_conf')); + type DefaultResolvedConfig = ForgeConfig & { defaultResolved: boolean }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_default_js_conf'))) as DefaultResolvedConfig; expect(conf.buildIdentifier).to.equal('default'); expect(conf.defaultResolved).to.equal(true); }); it('should magically map properties to environment variables', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type MappedConfig = ForgeConfig & { + s3: { + secretAccessKey?: string; + }; + electronReleaseServer: { + baseUrl: string; + }; + }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as MappedConfig; expect(conf.s3.secretAccessKey).to.equal(undefined); process.env.ELECTRON_FORGE_S3_SECRET_ACCESS_KEY = 'SecretyThing'; @@ -108,34 +139,50 @@ describe('forge-config', () => { }); it('should resolve values fromBuildIdentifier', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type ResolveBIConfig = ForgeConfig & { + topLevelProp: string; + sub: { + prop: { + deep: { + prop: string; + }; + inArray: string[]; + }; + }; + }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as ResolveBIConfig; expect(conf.topLevelProp).to.equal('foo'); expect(conf.sub).to.deep.equal({ prop: { deep: { prop: 'bar', }, - inArray: [ - 'arr', - 'natural', - 'array', - ], + inArray: ['arr', 'natural', 'array'], }, }); }); it('should resolve undefined from fromBuildIdentifier if no value is provided', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type ResolveUndefConfig = ForgeConfig & { topLevelUndef?: string }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as ResolveUndefConfig; expect(conf.topLevelUndef).to.equal(undefined); }); it('should leave arrays intact', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type NestedConfig = ForgeConfig & { + sub: { + prop: { + inArray: string[]; + }; + }; + }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as NestedConfig; expect(Array.isArray(conf.sub.prop.inArray)).to.equal(true, 'original array should be recognized as array'); }); it('should leave regexps intact', async () => { - const conf: any = await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf')); + type RegExpConfig = ForgeConfig & { regexp: RegExp }; + const conf = (await findConfig(path.resolve(__dirname, '../fixture/dummy_js_conf'))) as RegExpConfig; expect(conf.regexp).to.be.instanceOf(RegExp); expect(conf.regexp.test('foo')).to.equal(true, 'regexp should match foo'); expect(conf.regexp.test('bar')).to.equal(false, 'regexp should not match bar'); @@ -168,7 +215,7 @@ describe('forge-config', () => { describe('setInitialForgeConfig', () => { it('should normalize hyphens in maker names to underscores', () => { - const packageJSON = { + const packageJSON: PackageJSONForInitialForgeConfig = { name: 'foo-bar', config: { forge: { diff --git a/packages/api/core/test/fast/hook_spec.ts b/packages/api/core/test/fast/hook_spec.ts index e7e3a4af70..cdb11c63f8 100644 --- a/packages/api/core/test/fast/hook_spec.ts +++ b/packages/api/core/test/fast/hook_spec.ts @@ -7,9 +7,9 @@ import { runHook, runMutatingHook } from '../../src/util/hook'; const fakeConfig = { pluginInterface: { triggerHook: async () => false, - triggerMutatingHook: async (_: any, item: any) => item, + triggerMutatingHook: async (_hookName: string, item: unknown) => item, }, -} as any as ForgeConfig; +} as unknown as ForgeConfig; describe('hooks', () => { describe('runHook', () => { @@ -18,7 +18,7 @@ describe('hooks', () => { }); it('should not error when running a hook that is not a function', async () => { - await runHook({ hooks: { myHook: ('abc' as unknown) as ForgeHookFn }, ...fakeConfig }, 'abc'); + await runHook({ hooks: { myHook: 'abc' as unknown as ForgeHookFn }, ...fakeConfig }, 'abc'); }); it('should run the hook if it is provided as a function', async () => { diff --git a/packages/api/core/test/fast/install-dependencies_spec.ts b/packages/api/core/test/fast/install-dependencies_spec.ts index 3827cc893b..6487ab00ca 100644 --- a/packages/api/core/test/fast/install-dependencies_spec.ts +++ b/packages/api/core/test/fast/install-dependencies_spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import proxyquire from 'proxyquire'; -import sinon, { SinonStub } from 'sinon'; +import { SinonStub, stub } from 'sinon'; import installDependencies, { DepType, DepVersionRestriction } from '../../src/util/install-dependencies'; @@ -13,13 +13,13 @@ describe('Install dependencies', () => { let spawnPromiseReject: () => void; beforeEach(() => { - spawnSpy = sinon.stub(); + spawnSpy = stub(); spawnPromise = new Promise((resolve, reject) => { spawnPromiseResolve = resolve; spawnPromiseReject = reject; }); spawnSpy.returns(spawnPromise); - hasYarnSpy = sinon.stub(); + hasYarnSpy = stub(); install = proxyquire.noCallThru().load('../../src/util/install-dependencies', { './yarn-or-npm': { yarnOrNpmSpawn: spawnSpy, @@ -33,18 +33,16 @@ describe('Install dependencies', () => { expect(spawnSpy.callCount).to.equal(0); }); - it('should reject if reject the promise if exit code is not 0', (done) => { - const p = install('void', ['electron']); - p.then(() => done(new Error('expected install to be rejected'))) - .catch(() => done()); + it('should reject if reject the promise if exit code is not 0', async () => { + const expectPromise = expect(install('void', ['electron'])).to.eventually.be.rejected; spawnPromiseReject(); + await expectPromise; }); - it('should resolve if reject the promise if exit code is 0', (done) => { - const p = install('void', ['electron']); - p.then(() => done()) - .catch(() => done(new Error('expected install to be resolved'))); + it('should resolve if reject the promise if exit code is 0', async () => { + const expectPromise = expect(install('void', ['electron'])).to.eventually.be.fulfilled; spawnPromiseResolve(); + await expectPromise; }); describe('with yarn', () => { diff --git a/packages/api/core/test/fast/make_spec.ts b/packages/api/core/test/fast/make_spec.ts index addc1a5e88..275f9c573b 100644 --- a/packages/api/core/test/fast/make_spec.ts +++ b/packages/api/core/test/fast/make_spec.ts @@ -1,4 +1,5 @@ import { expect } from 'chai'; +import { ForgeMakeResult } from '@electron-forge/shared-types'; import * as path from 'path'; import proxyquire from 'proxyquire'; @@ -9,7 +10,7 @@ describe('make', () => { const fixtureDir = path.resolve(__dirname, '..', 'fixture'); describe('overrideTargets inherits from forge config', () => { - let stubbedMake: (opts: MakeOptions) => Promise; + let stubbedMake: (opts: MakeOptions) => Promise; before(() => { const electronPath = path.resolve(__dirname, 'node_modules/electron'); @@ -38,21 +39,25 @@ describe('make', () => { describe('maker config validation', () => { it('throws an error if the name is missing', async () => { - await expect(make({ - arch: 'x64', - dir: path.join(fixtureDir, 'maker-sans-name'), - platform: 'linux', - skipPackage: true, - })).to.eventually.be.rejectedWith(/^The following maker config is missing a maker name:/); + await expect( + make({ + arch: 'x64', + dir: path.join(fixtureDir, 'maker-sans-name'), + platform: 'linux', + skipPackage: true, + }) + ).to.eventually.be.rejectedWith(/^The following maker config is missing a maker name:/); }); it('throws an error if the name is not a string', async () => { - await expect(make({ - arch: 'x64', - dir: path.join(fixtureDir, 'maker-name-wrong-type'), - platform: 'linux', - skipPackage: true, - })).to.eventually.be.rejectedWith(/^The following maker config has a maker name that is not a string:/); + await expect( + make({ + arch: 'x64', + dir: path.join(fixtureDir, 'maker-name-wrong-type'), + platform: 'linux', + skipPackage: true, + }) + ).to.eventually.be.rejectedWith(/^The following maker config has a maker name that is not a string:/); }); }); }); diff --git a/packages/api/core/test/fast/out-dir_spec.ts b/packages/api/core/test/fast/out-dir_spec.ts index 4acde74d21..12c0c5a146 100644 --- a/packages/api/core/test/fast/out-dir_spec.ts +++ b/packages/api/core/test/fast/out-dir_spec.ts @@ -9,19 +9,23 @@ describe('out-dir', () => { describe('getCurrentOutDir', () => { it('resolves to the default out directory when nothing extra is declared', () => { - expect(getCurrentOutDir(DIR, {} as any as ForgeConfig)).to.equal(`${DIR}${path.sep}out`); + expect(getCurrentOutDir(DIR, {} as ForgeConfig)).to.equal(`${DIR}${path.sep}out`); }); it('resolves to the provided identifier', () => { - expect(getCurrentOutDir(DIR, { - buildIdentifier: 'bar', - } as any as ForgeConfig)).to.equal(`${DIR}${path.sep}out${path.sep}bar`); + expect( + getCurrentOutDir(DIR, { + buildIdentifier: 'bar', + } as ForgeConfig) + ).to.equal(`${DIR}${path.sep}out${path.sep}bar`); }); it('resolves to the return value of provided identifier getter', () => { - expect(getCurrentOutDir(DIR, { - buildIdentifier: () => 'thing', - } as any as ForgeConfig)).to.equal(`${DIR}${path.sep}out${path.sep}thing`); + expect( + getCurrentOutDir(DIR, { + buildIdentifier: () => 'thing', + } as ForgeConfig) + ).to.equal(`${DIR}${path.sep}out${path.sep}thing`); }); }); }); diff --git a/packages/api/core/test/fast/publish_spec.ts b/packages/api/core/test/fast/publish_spec.ts index d700c4a27a..9f5e49b643 100644 --- a/packages/api/core/test/fast/publish_spec.ts +++ b/packages/api/core/test/fast/publish_spec.ts @@ -1,12 +1,18 @@ import { expect } from 'chai'; import fs from 'fs-extra'; +import { ForgeConfigPublisher, IForgePublisher } from '@electron-forge/shared-types'; import os from 'os'; import path from 'path'; import proxyquire from 'proxyquire'; -import sinon, { SinonStub } from 'sinon'; +import { SinonStub, stub } from 'sinon'; import { PublishOptions } from '../../src/api'; +async function loadFixtureConfig() { + // eslint-disable-next-line node/no-missing-require + return require('../../src/util/forge-config').default(path.resolve(__dirname, '../fixture/dummy_app')); +} + describe('publish', () => { let publish: (opts: PublishOptions) => Promise; let makeStub: SinonStub; @@ -14,36 +20,38 @@ describe('publish', () => { let publisherSpy: SinonStub; let voidStub: SinonStub; let nowhereStub: SinonStub; - let publishers: any[]; - let fooPublisher: { name: string, providedConfig: any }; + let publishers: (SinonStub | ForgeConfigPublisher)[]; + let fooPublisher: { name: string; providedConfig: Record }; beforeEach(() => { - resolveStub = sinon.stub(); - makeStub = sinon.stub(); - publisherSpy = sinon.stub(); - voidStub = sinon.stub(); - nowhereStub = sinon.stub(); + resolveStub = stub(); + makeStub = stub(); + publisherSpy = stub(); + voidStub = stub(); + nowhereStub = stub(); publishers = ['@electron-forge/publisher-test']; // eslint-disable-next-line @typescript-eslint/no-unused-vars - const fakePublisher = (stub: SinonStub, name: string = 'default') => class _FakePublisher { - private publish: SinonStub; + const fakePublisher = (stub: SinonStub, name = 'default') => + class _FakePublisher { + private publish: SinonStub; - public name = name; + public name = name; - constructor(public providedConfig: any) { - fooPublisher = this; - this.publish = stub; - } - }; + constructor(public providedConfig: Record) { + fooPublisher = this; + this.publish = stub; + } + }; publish = proxyquire.noCallThru().load('../../src/api/publish', { + // eslint-disable-next-line @typescript-eslint/no-explicit-any './make': async (...args: any[]) => makeStub(...args), '../util/resolve-dir': async (dir: string) => resolveStub(dir), '../util/read-package-json': { readMutatedPackageJson: () => Promise.resolve(require('../fixture/dummy_app/package.json')), }, '../util/forge-config': async () => { - const config = await (require('../../src/util/forge-config').default(path.resolve(__dirname, '../fixture/dummy_app'))); + const config = await loadFixtureConfig(); config.publishers = publishers; return config; @@ -79,13 +87,16 @@ describe('publish', () => { }); it('should resolve publishers from the forge config if provided', async () => { - publishers = [{ - name: 'bad', - config: 'foo', - }, { - name: '@electron-forge/publisher-foo', - config: 'resolved', - }]; + publishers = [ + { + name: 'bad', + config: 'foo', + }, + { + name: '@electron-forge/publisher-foo', + config: 'resolved', + }, + ]; await publish({ dir: __dirname, interactive: false, @@ -106,16 +117,18 @@ describe('publish', () => { expect(publisherSpy.callCount).to.equal(1); // pluginInterface will be a new instance so we ignore it delete publisherSpy.firstCall.args[0].forgeConfig.pluginInterface; - const testConfig = await require('../../src/util/forge-config').default(path.resolve(__dirname, '../fixture/dummy_app')); + const testConfig = await loadFixtureConfig(); testConfig.publishers = publishers; delete testConfig.pluginInterface; - expect(publisherSpy.firstCall.args).to.deep.equal([{ - dir: resolveStub(), - makeResults: [{ artifacts: ['artifact1', 'artifact2'] }], - forgeConfig: testConfig, - }]); + expect(publisherSpy.firstCall.args).to.deep.equal([ + { + dir: resolveStub(), + makeResults: [{ artifacts: ['artifact1', 'artifact2'] }], + forgeConfig: testConfig, + }, + ]); }); it('should call the provided publisher with the appropriate args', async () => { @@ -124,25 +137,29 @@ describe('publish', () => { dir: __dirname, interactive: false, // Fake instance of a publisher - publishTargets: [{ - __isElectronForgePublisher: true, - publish: publisherSpy, - platforms: null, - } as any], + publishTargets: [ + { + __isElectronForgePublisher: true, + publish: publisherSpy, + platforms: undefined, + } as IForgePublisher, + ], }); expect(publisherSpy.callCount).to.equal(1); // pluginInterface will be a new instance so we ignore it delete publisherSpy.firstCall.args[0].forgeConfig.pluginInterface; - const testConfig = await require('../../src/util/forge-config').default(path.resolve(__dirname, '../fixture/dummy_app')); + const testConfig = await loadFixtureConfig(); testConfig.publishers = publishers; delete testConfig.pluginInterface; - expect(publisherSpy.firstCall.args).to.deep.equal([{ - dir: resolveStub(), - makeResults: [{ artifacts: ['artifact1', 'artifact2'] }], - forgeConfig: testConfig, - }]); + expect(publisherSpy.firstCall.args).to.deep.equal([ + { + dir: resolveStub(), + makeResults: [{ artifacts: ['artifact1', 'artifact2'] }], + forgeConfig: testConfig, + }, + ]); }); it('should default to publishing nothing', async () => { @@ -182,19 +199,13 @@ describe('publish', () => { const fakeMake = (platform: string) => { const ret = [ { - artifacts: [ - path.resolve(dir, `out/make/artifact1-${platform}`), - path.resolve(dir, `out/make/artifact2-${platform}`), - ], - }, { - artifacts: [ - path.resolve(dir, `out/make/artifact3-${platform}`), - ], + artifacts: [path.resolve(dir, `out/make/artifact1-${platform}`), path.resolve(dir, `out/make/artifact2-${platform}`)], + }, + { + artifacts: [path.resolve(dir, `out/make/artifact3-${platform}`)], }, { - artifacts: [ - path.resolve(dir, `out/make/artifact4-${platform}`), - ], + artifacts: [path.resolve(dir, `out/make/artifact4-${platform}`)], }, ]; const state = { @@ -289,7 +300,9 @@ describe('publish', () => { darwinArtifacts.push(...result.artifacts); } expect(darwinArtifacts.sort()).to.deep.equal( - fakeMake('darwin').reduce((accum, val) => accum.concat(val.artifacts), [] as string[]).sort(), + fakeMake('darwin') + .reduce((accum, val) => accum.concat(val.artifacts), [] as string[]) + .sort() ); const win32Args = publisherSpy.getCall(win32Index).args[0]; const win32Artifacts = []; @@ -297,7 +310,9 @@ describe('publish', () => { win32Artifacts.push(...result.artifacts); } expect(win32Artifacts.sort()).to.deep.equal( - fakeMake('win32').reduce((accum, val) => accum.concat(val.artifacts), [] as string[]).sort(), + fakeMake('win32') + .reduce((accum, val) => accum.concat(val.artifacts), [] as string[]) + .sort() ); }); }); diff --git a/packages/api/core/test/fast/read-package-json_spec.ts b/packages/api/core/test/fast/read-package-json_spec.ts index 97bdf7bf21..cbd7afc2ae 100644 --- a/packages/api/core/test/fast/read-package-json_spec.ts +++ b/packages/api/core/test/fast/read-package-json_spec.ts @@ -1,8 +1,17 @@ -import path from 'path'; +import { ForgeConfig } from '@electron-forge/shared-types'; import { expect } from 'chai'; +import path from 'path'; import { readRawPackageJson, readMutatedPackageJson } from '../../src/util/read-package-json'; +const emptyForgeConfig: Partial = { + packagerConfig: {}, + electronRebuildConfig: {}, + makers: [], + publishers: [], + plugins: [], +}; + describe('read-package-json', () => { describe('readRawPackageJson', () => { it('should find a package.json file from the given directory', async () => { @@ -12,23 +21,30 @@ describe('read-package-json', () => { describe('readMutatedPackageJson', () => { it('should find a package.json file from the given directory', async () => { - expect(await readMutatedPackageJson( - path.resolve(__dirname, '../..'), { + expect( + await readMutatedPackageJson(path.resolve(__dirname, '../..'), { + ...emptyForgeConfig, pluginInterface: { - triggerMutatingHook: (_: any, pj: any) => Promise.resolve(pj), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + triggerMutatingHook: (_hookName: string, pj: any) => Promise.resolve(pj), + triggerHook: () => Promise.resolve(), + overrideStartLogic: () => Promise.resolve(false), }, - } as any, - )).to.deep.equal(require('../../package.json')); + } as ForgeConfig) + ).to.deep.equal(require('../../package.json')); }); it('should allow mutations from hooks', async () => { - expect(await readMutatedPackageJson( - path.resolve(__dirname, '../..'), { + expect( + await readMutatedPackageJson(path.resolve(__dirname, '../..'), { + ...emptyForgeConfig, pluginInterface: { triggerMutatingHook: () => Promise.resolve('test_mut'), + triggerHook: () => Promise.resolve(), + overrideStartLogic: () => Promise.resolve(false), }, - } as any, - )).to.deep.equal('test_mut'); + } as ForgeConfig) + ).to.deep.equal('test_mut'); }); }); }); diff --git a/packages/api/core/test/fast/start_spec.ts b/packages/api/core/test/fast/start_spec.ts index 86ed85f2e2..905bc8b9b7 100644 --- a/packages/api/core/test/fast/start_spec.ts +++ b/packages/api/core/test/fast/start_spec.ts @@ -1,21 +1,21 @@ import { ElectronProcess } from '@electron-forge/shared-types'; import { expect } from 'chai'; import proxyquire from 'proxyquire'; -import sinon, { SinonStub } from 'sinon'; +import { SinonStub, stub } from 'sinon'; import { StartOptions } from '../../src/api'; describe('start', () => { let start: (opts: StartOptions) => Promise; - let packageJSON: any; + let packageJSON: Record; let resolveStub: SinonStub; let spawnStub: SinonStub; - let shouldOverride: any; + let shouldOverride: false | { on: () => void }; let processOn: SinonStub<['timeout', () => void]>; beforeEach(() => { - resolveStub = sinon.stub(); - spawnStub = sinon.stub(); + resolveStub = stub(); + spawnStub = stub(); shouldOverride = false; packageJSON = require('../fixture/dummy_app/package.json'); @@ -39,7 +39,7 @@ describe('start', () => { spawn: spawnStub, }, }).default; - processOn = sinon.stub(process.stdin, 'on'); + processOn = stub(process.stdin, 'on'); }); afterEach(() => { @@ -60,7 +60,11 @@ describe('start', () => { it('should not spawn if a plugin overrides the start command', async () => { resolveStub.returnsArg(0); - shouldOverride = { on: () => {} }; + shouldOverride = { + on: () => { + /* fake emitter */ + }, + }; await start({ dir: __dirname, interactive: false, @@ -68,7 +72,7 @@ describe('start', () => { expect(spawnStub.callCount).to.equal(0); }); - it('should pass electron \'.\' as the app path if not specified', async () => { + it("should pass electron '.' as the app path if not specified", async () => { resolveStub.returnsArg(0); await start({ dir: __dirname, @@ -126,21 +130,19 @@ describe('start', () => { it('should throw if no dir could be found', async () => { resolveStub.returns(null); - await expect(start({})).to.eventually.be.rejectedWith( - 'Failed to locate startable Electron application', - ); + await expect(start({})).to.eventually.be.rejectedWith('Failed to locate startable Electron application'); }); it('should throw if no version is in package.json', async () => { resolveStub.returnsArg(0); packageJSON = { ...packageJSON }; delete packageJSON.version; - await expect(start({ - dir: __dirname, - interactive: false, - })).to.eventually.be.rejectedWith( - `Please set your application's 'version' in '${__dirname}/package.json'.`, - ); + await expect( + start({ + dir: __dirname, + interactive: false, + }) + ).to.eventually.be.rejectedWith(`Please set your application's 'version' in '${__dirname}/package.json'.`); }); it('should pass all args through to the spawned Electron instance', async () => { @@ -174,13 +176,19 @@ describe('start', () => { it('should resolve with a handle to the spawned instance', async () => { resolveStub.returnsArg(0); - const fakeChild = { on: () => {} }; + const fakeChild = { + on: () => { + /* fake emitter */ + }, + }; spawnStub.returns(fakeChild); - await expect(start({ - dir: __dirname, - interactive: false, - enableLogging: true, - })).to.eventually.equal(fakeChild); + await expect( + start({ + dir: __dirname, + interactive: false, + enableLogging: true, + }) + ).to.eventually.equal(fakeChild); }); }); diff --git a/packages/api/core/test/fast/upgrade-forge-config_spec.ts b/packages/api/core/test/fast/upgrade-forge-config_spec.ts index ccc6bdc539..aacbf88877 100644 --- a/packages/api/core/test/fast/upgrade-forge-config_spec.ts +++ b/packages/api/core/test/fast/upgrade-forge-config_spec.ts @@ -1,4 +1,4 @@ -import { IForgeResolvableMaker, IForgeResolvablePublisher } from '@electron-forge/shared-types'; +import { ForgeConfig, IForgeResolvableMaker, IForgeResolvablePublisher } from '@electron-forge/shared-types'; import { expect } from 'chai'; import { merge } from 'lodash'; @@ -28,7 +28,7 @@ describe('upgradeForgeConfig', () => { it('converts maker config', () => { const oldConfig = { - makeTargets: { + make_targets: { linux: ['deb'], }, electronInstallerDebian: { @@ -49,9 +49,9 @@ describe('upgradeForgeConfig', () => { expect(newConfig.makers).to.deep.equal(expected); }); - it('adds the zip maker when specified in makeTargets', () => { + it('adds the zip maker when specified in make_targets', () => { const oldConfig = { - makeTargets: { + make_targets: { darwin: ['zip'], linux: ['zip'], }, @@ -115,9 +115,17 @@ describe('updateUpgradedForgeDevDeps', () => { const skeletonPackageJSON = { config: { forge: { - makers: [] as IForgeResolvableMaker[], - publishers: [] as IForgeResolvablePublisher[], - }, + packagerConfig: {}, + electronRebuildConfig: {}, + makers: [], + publishers: [], + plugins: [], + pluginInterface: { + overrideStartLogic: () => Promise.resolve(false), + triggerHook: () => Promise.resolve(), + triggerMutatingHook: () => Promise.resolve(), + }, + } as ForgeConfig, }, devDependencies: {}, }; @@ -150,10 +158,7 @@ describe('updateUpgradedForgeDevDeps', () => { it('adds publishers to devDependencies', () => { const packageJSON = merge({}, skeletonPackageJSON); - packageJSON.config.forge.publishers = [ - { name: '@electron-forge/publisher-github' }, - { name: '@electron-forge/publisher-snapcraft' }, - ]; + packageJSON.config.forge.publishers = [{ name: '@electron-forge/publisher-github' }, { name: '@electron-forge/publisher-snapcraft' }]; const actual = updateUpgradedForgeDevDeps(packageJSON, []); expect(actual).to.have.lengthOf(2); diff --git a/packages/api/core/test/fixture/custom-maker.ts b/packages/api/core/test/fixture/custom-maker.ts index beaf3ceb97..1009278df4 100644 --- a/packages/api/core/test/fixture/custom-maker.ts +++ b/packages/api/core/test/fixture/custom-maker.ts @@ -10,11 +10,11 @@ export default class Maker extends MakerBase { defaultPlatforms = ['linux'] as ForgePlatform[]; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return true; } - async make() { + async make(): Promise { return Promise.resolve([this.config.artifactPath || 'default']); } } diff --git a/packages/api/core/test/fixture/dummy_js_conf/foo.js b/packages/api/core/test/fixture/dummy_js_conf/foo.js index cb08f71efe..ff0207a981 100644 --- a/packages/api/core/test/fixture/dummy_js_conf/foo.js +++ b/packages/api/core/test/fixture/dummy_js_conf/foo.js @@ -2,4 +2,4 @@ module.exports = { bar: { baz: 'quux', }, -} +}; diff --git a/packages/api/core/test/fixture/dummy_js_conf/forge.different.config.js b/packages/api/core/test/fixture/dummy_js_conf/forge.different.config.js index c2eae52c32..c3ae25c03b 100644 --- a/packages/api/core/test/fixture/dummy_js_conf/forge.different.config.js +++ b/packages/api/core/test/fixture/dummy_js_conf/forge.different.config.js @@ -1,4 +1,6 @@ -const { utils: { fromBuildIdentifier } } = require('../../../src/api'); +const { + utils: { fromBuildIdentifier }, +} = require('../../../src/api'); module.exports = { buildIdentifier: 'beta', @@ -13,11 +15,7 @@ module.exports = { regexp: /foo/, sub: { prop: { - inArray: [ - fromBuildIdentifier({ beta: 'arr' }), - 'natural', - 'array', - ], + inArray: [fromBuildIdentifier({ beta: 'arr' }), 'natural', 'array'], deep: { prop: fromBuildIdentifier({ beta: 'bar' }), }, diff --git a/packages/api/core/test/fixture/maker-incompatible.ts b/packages/api/core/test/fixture/maker-incompatible.ts index e06a258a3d..728c48f1c2 100644 --- a/packages/api/core/test/fixture/maker-incompatible.ts +++ b/packages/api/core/test/fixture/maker-incompatible.ts @@ -2,7 +2,7 @@ export default class Maker { // Just so the maker isn't excluded platforms = [process.platform]; - async lol() { + async lol(): Promise { // lol } } diff --git a/packages/api/core/test/fixture/maker-name-wrong-type/package.json b/packages/api/core/test/fixture/maker-name-wrong-type/package.json index fbc2f16bd5..9d938a60cf 100644 --- a/packages/api/core/test/fixture/maker-name-wrong-type/package.json +++ b/packages/api/core/test/fixture/maker-name-wrong-type/package.json @@ -1,9 +1,11 @@ { "config": { "forge": { - "makers": [{ - "name": 1 - }] + "makers": [ + { + "name": 1 + } + ] } } } diff --git a/packages/api/core/test/fixture/maker-sans-name/package.json b/packages/api/core/test/fixture/maker-sans-name/package.json index 1cb9e09c8c..caa1463a32 100644 --- a/packages/api/core/test/fixture/maker-sans-name/package.json +++ b/packages/api/core/test/fixture/maker-sans-name/package.json @@ -1,7 +1,9 @@ { "config": { "forge": { - "makers": [{}] + "makers": [ + {} + ] } } } diff --git a/packages/api/core/test/fixture/maker-unsupported.ts b/packages/api/core/test/fixture/maker-unsupported.ts index c3e9870322..f7e3b6191f 100644 --- a/packages/api/core/test/fixture/maker-unsupported.ts +++ b/packages/api/core/test/fixture/maker-unsupported.ts @@ -2,7 +2,7 @@ export default class Maker { // Just so the maker isn't excluded platforms = [process.platform]; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return false; } } diff --git a/packages/api/core/test/fixture/template-nonmatching-forge-version/index.js b/packages/api/core/test/fixture/template-nonmatching-forge-version/index.js index 46f54afa04..59c9e24240 100644 --- a/packages/api/core/test/fixture/template-nonmatching-forge-version/index.js +++ b/packages/api/core/test/fixture/template-nonmatching-forge-version/index.js @@ -1 +1 @@ -module.exports = { requiredForgeVersion: "6.0.0-beta.0" } +module.exports = { requiredForgeVersion: '6.0.0-beta.0' }; diff --git a/packages/api/core/test/fixture/template-sans-forge-version/index.js b/packages/api/core/test/fixture/template-sans-forge-version/index.js index 8b13789179..e69de29bb2 100644 --- a/packages/api/core/test/fixture/template-sans-forge-version/index.js +++ b/packages/api/core/test/fixture/template-sans-forge-version/index.js @@ -1 +0,0 @@ - diff --git a/packages/api/core/test/slow/api_spec_slow.ts b/packages/api/core/test/slow/api_spec_slow.ts index 601e869cf5..b8acf9bc7e 100644 --- a/packages/api/core/test/slow/api_spec_slow.ts +++ b/packages/api/core/test/slow/api_spec_slow.ts @@ -2,6 +2,7 @@ import { createDefaultCertificate } from '@electron-forge/maker-appx'; import { ensureTestDirIsNonexistent, expectProjectPathExists } from '@electron-forge/test-utils'; import { execSync } from 'child_process'; import { expect } from 'chai'; +import { ForgeConfig, IForgeResolvableMaker } from '@electron-forge/shared-types'; import fs from 'fs-extra'; import path from 'path'; import proxyquire from 'proxyquire'; @@ -12,15 +13,20 @@ import { readRawPackageJson } from '../../src/util/read-package-json'; import { InitOptions } from '../../src/api'; const forge = proxyquire.noCallThru().load('../../src/api', { - './install': async () => {}, + './install': async () => { + /* don't load the install module for this spec */ + }, }).api; -type PackageJSON = Record; +type BeforeInitFunction = () => void; +type PackageJSON = Record & { + config: { + forge: ForgeConfig; + }; + dependencies: Record; +}; -async function updatePackageJSON( - dir: string, - packageJSONUpdater: (packageJSON: PackageJSON) => Promise, -) { +async function updatePackageJSON(dir: string, packageJSONUpdater: (packageJSON: PackageJSON) => Promise) { const packageJSON = await readRawPackageJson(dir); await packageJSONUpdater(packageJSON); await fs.writeJson(path.resolve(dir, 'package.json'), packageJSON); @@ -31,7 +37,7 @@ for (const nodeInstaller of ['npm', 'yarn']) { describe(`electron-forge API (with installer=${nodeInstaller})`, () => { let dir: string; - const beforeInitTest = (params?: Partial, beforeInit?: Function) => { + const beforeInitTest = (params?: Partial, beforeInit?: BeforeInitFunction) => { before(async () => { dir = await ensureTestDirIsNonexistent(); if (beforeInit) { @@ -127,10 +133,12 @@ for (const nodeInstaller of ['npm', 'yarn']) { }); it('should fail in initializing', async () => { - await expect(forge.init({ - dir, - template: path.resolve(__dirname, '../fixture/template-sans-forge-version'), - })).to.eventually.be.rejectedWith(/it does not specify its required Forge version\.$/); + await expect( + forge.init({ + dir, + template: path.resolve(__dirname, '../fixture/template-sans-forge-version'), + }) + ).to.eventually.be.rejectedWith(/it does not specify its required Forge version\.$/); }); after(async () => { @@ -144,10 +152,12 @@ for (const nodeInstaller of ['npm', 'yarn']) { }); it('should fail in initializing', async () => { - await expect(forge.init({ - dir, - template: path.resolve(__dirname, '../fixture/template-nonmatching-forge-version'), - })).to.eventually.be.rejectedWith(/is not compatible with this version of Electron Forge/); + await expect( + forge.init({ + dir, + template: path.resolve(__dirname, '../fixture/template-nonmatching-forge-version'), + }) + ).to.eventually.be.rejectedWith(/is not compatible with this version of Electron Forge/); }); after(async () => { @@ -161,10 +171,12 @@ for (const nodeInstaller of ['npm', 'yarn']) { }); it('should fail in initializing', async () => { - await expect(forge.init({ - dir, - template: 'does-not-exist', - })).to.eventually.be.rejectedWith('Failed to locate custom template'); + await expect( + forge.init({ + dir, + template: 'does-not-exist', + }) + ).to.eventually.be.rejectedWith('Failed to locate custom template'); }); after(async () => { @@ -195,9 +207,7 @@ for (const nodeInstaller of ['npm', 'yarn']) { forge: { makers: [ { - config: { - name: winstallerName, - }, + config: { name: winstallerName }, }, ], }, @@ -232,14 +242,8 @@ describe('Electron Forge API', () => { packageJSON.productName = 'Test-App'; packageJSON.config.forge.packagerConfig.asar = false; if (process.platform === 'win32') { - await fs.copy( - path.join(__dirname, '..', 'fixture', 'bogus-private-key.pvk'), - path.join(dir, 'default.pvk'), - ); - devCert = await createDefaultCertificate( - 'CN=Test Author', - { certFilePath: dir }, - ); + await fs.copy(path.join(__dirname, '..', 'fixture', 'bogus-private-key.pvk'), path.join(dir, 'default.pvk')); + devCert = await createDefaultCertificate('CN=Test Author', { certFilePath: dir }); } else if (process.platform === 'linux') { packageJSON.config.forge.packagerConfig.executableName = 'testapp'; } @@ -270,7 +274,8 @@ describe('Electron Forge API', () => { it('can make from custom outDir without errors', async () => { await updatePackageJSON(dir, async (packageJSON) => { - packageJSON.config.forge.makers = [{ name: require.resolve('@electron-forge/maker-zip') }]; + // eslint-disable-next-line node/no-missing-require + packageJSON.config.forge.makers = [{ name: require.resolve('@electron-forge/maker-zip') } as IForgeResolvableMaker]; }); await forge.make({ dir, skipPackage: true, outDir: `${dir}/foo` }); @@ -336,12 +341,12 @@ describe('Electron Forge API', () => { '@electron-forge/maker-wix', '@electron-forge/maker-zip', ]; - return allMakers.map((maker) => require.resolve(maker)) + return allMakers + .map((maker) => require.resolve(maker)) .filter((makerPath) => { const MakerClass = require(makerPath).default; const maker = new MakerClass(); - return maker.isSupportedOnCurrentPlatform() === good - && maker.externalBinariesExist() === good; + return maker.isSupportedOnCurrentPlatform() === good && maker.externalBinariesExist() === good; }) .map((makerPath) => () => { const makerDefinition = { @@ -353,7 +358,7 @@ describe('Electron Forge API', () => { }; if (process.platform === 'win32') { - (makerDefinition.config as any).makeVersionWinStoreCompatible = true; + (makerDefinition.config as Record).makeVersionWinStoreCompatible = true; } return makerDefinition; @@ -366,12 +371,13 @@ describe('Electron Forge API', () => { const testMakeTarget = function testMakeTarget( target: () => { name: string }, shouldPass: boolean, + // eslint-disable-next-line @typescript-eslint/no-explicit-any ...options: any[] ) { describe(`make (with target=${path.basename(path.dirname(target().name))})`, async () => { before(async () => { await updatePackageJSON(dir, async (packageJSON) => { - packageJSON.config.forge.makers = [target()]; + packageJSON.config.forge.makers = [target() as IForgeResolvableMaker]; }); }); @@ -410,46 +416,61 @@ describe('Electron Forge API', () => { await expect(forge.make({ dir, platform: 'dos' })).to.eventually.be.rejectedWith(/invalid platform/); }); - it('throws an error when the specified maker doesn\'t support the current platform', async () => { + it("throws an error when the specified maker doesn't support the current platform", async () => { const makerPath = path.resolve(__dirname, '../fixture/maker-unsupported'); - await expect(forge.make({ - dir, - overrideTargets: [{ - name: makerPath, - }], - skipPackage: true, - })).to.eventually.be.rejectedWith(/the maker declared that it cannot run/); + await expect( + forge.make({ + dir, + overrideTargets: [ + { + name: makerPath, + }, + ], + skipPackage: true, + }) + ).to.eventually.be.rejectedWith(/the maker declared that it cannot run/); }); - it('throws an error when the specified maker doesn\'t implement isSupportedOnCurrentPlatform()', async () => { + it("throws an error when the specified maker doesn't implement isSupportedOnCurrentPlatform()", async () => { const makerPath = path.resolve(__dirname, '../fixture/maker-incompatible'); - await expect(forge.make({ - dir, - overrideTargets: [{ - name: makerPath, - }], - skipPackage: true, - })).to.eventually.be.rejectedWith(/incompatible with this version/); + await expect( + forge.make({ + dir, + overrideTargets: [ + { + name: makerPath, + }, + ], + skipPackage: true, + }) + ).to.eventually.be.rejectedWith(/incompatible with this version/); }); it('throws an error when no makers are configured for the given platform', async () => { - await expect(forge.make({ - dir, - overrideTargets: [{ - name: path.resolve(__dirname, '../fixture/maker-wrong-platform'), - }], - platform: 'linux', - skipPackage: true, - })).to.eventually.be.rejectedWith('Could not find any make targets configured for the "linux" platform.'); + await expect( + forge.make({ + dir, + overrideTargets: [ + { + name: path.resolve(__dirname, '../fixture/maker-wrong-platform'), + }, + ], + platform: 'linux', + skipPackage: true, + }) + ).to.eventually.be.rejectedWith('Could not find any make targets configured for the "linux" platform.'); }); it('can make for the MAS platform successfully', async () => { if (process.platform !== 'darwin') return; - await expect(forge.make({ - dir, - overrideTargets: [require.resolve('@electron-forge/maker-zip'), require.resolve('@electron-forge/maker-dmg')], - platform: 'mas', - })).to.eventually.have.length(2); + await expect( + forge.make({ + dir, + // eslint-disable-next-line node/no-missing-require + overrideTargets: [require.resolve('@electron-forge/maker-zip'), require.resolve('@electron-forge/maker-dmg')], + platform: 'mas', + }) + ).to.eventually.have.length(2); }); }); }); diff --git a/packages/api/core/test/slow/install-dependencies_spec_slow.ts b/packages/api/core/test/slow/install-dependencies_spec_slow.ts index 5ed68db5ca..8eba8e54eb 100644 --- a/packages/api/core/test/slow/install-dependencies_spec_slow.ts +++ b/packages/api/core/test/slow/install-dependencies_spec_slow.ts @@ -9,7 +9,9 @@ if (!(process.platform === 'linux' && process.env.CI)) { describe('install-dependencies', () => { const installDir = path.resolve(os.tmpdir(), 'electron-forge-test-install-dependencies'); - before(async () => { fs.ensureDir(installDir); }); + before(async () => { + fs.ensureDir(installDir); + }); it('should install the latest minor version when the dependency has a caret', async () => { await installDeps(installDir, ['debug@^2.0.0']); diff --git a/packages/api/core/test/slow/install_spec_slow.ts b/packages/api/core/test/slow/install_spec_slow.ts index b2aa37eb39..e6e25e3342 100644 --- a/packages/api/core/test/slow/install_spec_slow.ts +++ b/packages/api/core/test/slow/install_spec_slow.ts @@ -1,14 +1,14 @@ import { expect } from 'chai'; -import fetchMock from 'fetch-mock'; +import fetchMock, { FetchMockSandbox } from 'fetch-mock'; import proxyquire from 'proxyquire'; -import sinon, { SinonSpy } from 'sinon'; +import { SinonSpy, spy, stub } from 'sinon'; import { InstallOptions, InstallAsset } from '../../src/api'; describe('install', () => { let install: (opts: InstallOptions) => Promise; let nuggetSpy: SinonSpy; - let fetch: any; + let fetch: FetchMockSandbox; class MockInstaller { async install() { return undefined; @@ -17,11 +17,12 @@ describe('install', () => { const chooseAsset = (arr: InstallAsset[]) => arr[0]; beforeEach(() => { - fetch = (fetchMock as any).sandbox(); - nuggetSpy = sinon.stub(); + fetch = fetchMock.sandbox(); + nuggetSpy = stub(); install = proxyquire.noCallThru().load('../../src/api/install', { 'node-fetch': fetch, + // eslint-disable-next-line @typescript-eslint/no-explicit-any nugget: (...args: any[]) => { nuggetSpy(...args); args[args.length - 1](); @@ -39,7 +40,7 @@ describe('install', () => { }); it('should throw an error when a repo name is not given', async () => { - await expect(install({} as any)).to.eventually.be.rejected; + await expect(install({} as InstallOptions)).to.eventually.be.rejected; }); it('should throw an error when given an invalid repository name', async () => { @@ -51,16 +52,16 @@ describe('install', () => { throws: new Error('it broke'), }); await expect(install({ chooseAsset, repo: 'a/b', interactive: false })).to.eventually.be.rejectedWith( - 'Failed to find releases for repository "a/b". Please check the name and try again.', + 'Failed to find releases for repository "a/b". Please check the name and try again.' ); }); - it('should throw an error if we can\'t find the repo', async () => { + it("should throw an error if we can't find the repo", async () => { fetch.get('*', { message: 'Not Found', }); await expect(install({ chooseAsset, repo: 'b/c', interactive: false })).to.eventually.be.rejectedWith( - 'Failed to find releases for repository "b/c". Please check the name and try again.', + 'Failed to find releases for repository "b/c". Please check the name and try again.' ); }); @@ -69,20 +70,13 @@ describe('install', () => { lolz: 'this aint no array', }); await expect(install({ chooseAsset, repo: 'c/d', interactive: false })).to.eventually.be.rejectedWith( - 'Failed to find releases for repository "c/d". Please check the name and try again.', + 'Failed to find releases for repository "c/d". Please check the name and try again.' ); }); it('should throw an error if the latest release has no assets', async () => { - fetch.get('*', [ - { tag_name: 'v1.0.0' }, - { tag_name: '0.3.0' }, - { tag_name: 'v1.2.0' }, - { tag_name: '0.1.0' }, - ]); - await expect(install({ chooseAsset, repo: 'e/f', interactive: false })).to.eventually.be.rejectedWith( - 'Could not find any assets for the latest release', - ); + fetch.get('*', [{ tag_name: 'v1.0.0' }, { tag_name: '0.3.0' }, { tag_name: 'v1.2.0' }, { tag_name: '0.1.0' }]); + await expect(install({ chooseAsset, repo: 'e/f', interactive: false })).to.eventually.be.rejectedWith('Could not find any assets for the latest release'); }); it('should throw an error if there are no release compatible with the current platform', async () => { @@ -97,12 +91,12 @@ describe('install', () => { }, ]); await expect(install({ chooseAsset, repo: 'f/g', interactive: false })).to.eventually.be.rejectedWith( - `Failed to find any installable assets for target platform: ${`${process.platform}`.cyan}`, + `Failed to find any installable assets for target platform: ${`${process.platform}`.cyan}` ); }); // eslint-disable-next-line no-nested-ternary - const compatSuffix = process.platform === 'darwin' ? 'dmg' : (process.platform === 'win32' ? 'exe' : 'deb'); + const compatSuffix = process.platform === 'darwin' ? 'dmg' : process.platform === 'win32' ? 'exe' : 'deb'; it('should download a release if there is a single compatible asset', async () => { fetch.get('*', [ @@ -138,13 +132,13 @@ describe('install', () => { ], }, ]); - await expect(install({ repo: 'h/i', interactive: false } as any)).to.eventually.be.rejectedWith( - 'Expected chooseAsset to be a function in install call', + await expect(install({ repo: 'h/i', interactive: false } as InstallOptions)).to.eventually.be.rejectedWith( + 'Expected chooseAsset to be a function in install call' ); }); it('should provide compatible assets to chooseAsset if more than one exists', async () => { - const chooseAssetSpy = sinon.spy(async (assets: InstallAsset[]) => assets[0]); + const chooseAssetSpy = spy(async (assets: InstallAsset[]) => assets[0]); fetch.get('*', [ { tag_name: '1.0.0', diff --git a/packages/installer/base/src/Installer.ts b/packages/installer/base/src/Installer.ts index b1dfb4768e..d506793134 100644 --- a/packages/installer/base/src/Installer.ts +++ b/packages/installer/base/src/Installer.ts @@ -22,7 +22,7 @@ export default abstract class Installer { * Installers must implement this method and install the given filePath * when called. This method must return a promise */ - async install(_opts: InstallerOptions) { + async install(_opts: InstallerOptions): Promise { throw new Error(`Installer ${this.name} did not implement the install method`); } } diff --git a/packages/installer/base/test/Installer_spec.ts b/packages/installer/base/test/Installer_spec.ts index 7dd4c37bfd..6e0742af0b 100644 --- a/packages/installer/base/test/Installer_spec.ts +++ b/packages/installer/base/test/Installer_spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; -import Installer from '../src/Installer'; +import Installer, { InstallerOptions } from '../src/Installer'; class InstallerImpl extends Installer { name = 'test'; @@ -13,8 +13,8 @@ describe('Installer', () => { expect(installer.name).to.equal('test'); }); - it('should throw an error when install is called', (done) => { + it('should throw an error when install is called', async () => { const installer = new InstallerImpl(); - installer.install({} as any).catch(() => done()); + await expect(installer.install({} as InstallerOptions)).to.eventually.be.rejected; }); }); diff --git a/packages/installer/darwin/src/InstallerDarwin.ts b/packages/installer/darwin/src/InstallerDarwin.ts index 1ea2872838..252c5c9af5 100644 --- a/packages/installer/darwin/src/InstallerDarwin.ts +++ b/packages/installer/darwin/src/InstallerDarwin.ts @@ -10,12 +10,7 @@ import { exec } from 'child_process'; export { InstallerOptions }; export default abstract class InstallerDarwin extends InstallerBase { - async moveApp( - appPath: string, - targetApplicationPath: string, - spinner: OraImpl, - copyInstead = false, - ) { + async moveApp(appPath: string, targetApplicationPath: string, spinner: OraImpl, copyInstead = false): Promise { let writeAccess = true; try { await fs.access('/Applications', fs.constants.W_OK); diff --git a/packages/installer/deb/src/InstallerDeb.ts b/packages/installer/deb/src/InstallerDeb.ts index 9f2ba2759a..94ae600655 100644 --- a/packages/installer/deb/src/InstallerDeb.ts +++ b/packages/installer/deb/src/InstallerDeb.ts @@ -3,9 +3,7 @@ import InstallerLinux, { InstallerOptions } from '@electron-forge/installer-linu export default class InstallerDeb extends InstallerLinux { name = 'deb'; - async install({ - filePath, - }: InstallerOptions) { + async install({ filePath }: InstallerOptions): Promise { await this.sudo('Debian', 'gdebi', `-n ${filePath}`); } } diff --git a/packages/installer/dmg/src/InstallerDMG.ts b/packages/installer/dmg/src/InstallerDMG.ts index 0c133b1f49..402ad8e4af 100644 --- a/packages/installer/dmg/src/InstallerDMG.ts +++ b/packages/installer/dmg/src/InstallerDMG.ts @@ -9,10 +9,7 @@ import { getMountedImages, mountImage, unmountImage } from './util/hdiutil'; export default class InstallerDMG extends InstallerDarwin { name = 'dmg'; - async install({ - filePath, - installSpinner, - }: InstallerOptions) { + async install({ filePath, installSpinner }: InstallerOptions): Promise { const mounts = await getMountedImages(); let targetMount = mounts.find((mount) => mount.imagePath === filePath); @@ -31,7 +28,7 @@ export default class InstallerDMG extends InstallerDarwin { await this.moveApp(appPath, targetApplicationPath, installSpinner, true); - await spawn('open', ['-R', targetApplicationPath], { detached: true } as any); + await spawn('open', ['-R', targetApplicationPath], { detached: true }); } finally { await unmountImage(targetMount); } diff --git a/packages/installer/dmg/src/util/hdiutil.ts b/packages/installer/dmg/src/util/hdiutil.ts index 22ea91d4d7..803b1c6ee6 100644 --- a/packages/installer/dmg/src/util/hdiutil.ts +++ b/packages/installer/dmg/src/util/hdiutil.ts @@ -17,10 +17,12 @@ export const getMountedImages = async (): Promise => { for (const mount of mounts) { try { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const mountPath = /\/Volumes\/(.+)\n/g.exec(mount)![1]; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const imagePath = /image-path +: +(.+)\n/g.exec(mount)![1]; mountObjects.push({ mountPath, imagePath }); - } catch (err) { + } catch { // Ignore } } @@ -32,6 +34,7 @@ export const getMountedImages = async (): Promise => { export const mountImage = async (filePath: string): Promise => { d('mounting image:', filePath); const output = await spawn('hdiutil', ['attach', '-noautoopen', '-nobrowse', '-noverify', filePath]); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const mountPath = /\/Volumes\/(.+)\n/g.exec(output.toString())![1]; d('mounted at:', mountPath); @@ -41,7 +44,7 @@ export const mountImage = async (filePath: string): Promise => { }; }; -export const unmountImage = async (mount: Mount) => { +export const unmountImage = async (mount: Mount): Promise => { d('unmounting current mount:', mount); await spawn('hdiutil', ['unmount', '-force', `/Volumes/${mount.mountPath}`]); }; diff --git a/packages/installer/exe/src/InstallerExe.ts b/packages/installer/exe/src/InstallerExe.ts index 7431bfb53d..2e52cc4b97 100644 --- a/packages/installer/exe/src/InstallerExe.ts +++ b/packages/installer/exe/src/InstallerExe.ts @@ -5,9 +5,7 @@ import open from 'open'; export default class InstallerExe extends InstallerBase { name = 'exe'; - async install({ - filePath, - }: InstallerOptions) { + async install({ filePath }: InstallerOptions): Promise { await open(filePath, { wait: false }); } } diff --git a/packages/installer/linux/src/InstallerLinux.ts b/packages/installer/linux/src/InstallerLinux.ts index 9348ac8778..bee86fffbf 100644 --- a/packages/installer/linux/src/InstallerLinux.ts +++ b/packages/installer/linux/src/InstallerLinux.ts @@ -7,17 +7,14 @@ import sudoPrompt from 'sudo-prompt'; export { InstallerOptions }; export default abstract class InstallerLinux extends InstallerBase { - which = async (type: string, prog: string, promise: () => Promise) => { + which = async (type: string, prog: string, promise: () => Promise): Promise => { if (spawnSync('which', [prog]).status === 0) { await promise(); } else { throw new Error(`${prog} is required to install ${type} packages`); } - } + }; - sudo = (type: string, program: string, args: string) => this.which( - type, - program, - () => promisify(sudoPrompt.exec)(`${program} ${args}`, { name: 'Electron Forge' }), - ) + sudo = (type: string, program: string, args: string): Promise => + this.which(type, program, () => promisify(sudoPrompt.exec)(`${program} ${args}`, { name: 'Electron Forge' })); } diff --git a/packages/installer/rpm/src/InstallerRpm.ts b/packages/installer/rpm/src/InstallerRpm.ts index 1205a65eb0..5949826458 100644 --- a/packages/installer/rpm/src/InstallerRpm.ts +++ b/packages/installer/rpm/src/InstallerRpm.ts @@ -3,9 +3,7 @@ import InstallerLinux, { InstallerOptions } from '@electron-forge/installer-linu export default class InstallerRpm extends InstallerLinux { name = 'rpm'; - async install({ - filePath, - }: InstallerOptions) { + async install({ filePath }: InstallerOptions): Promise { await this.sudo('RPM', 'dnf', `--assumeyes --nogpgcheck install ${filePath}`); } } diff --git a/packages/installer/zip/src/InstallerZip.ts b/packages/installer/zip/src/InstallerZip.ts index 1af3654d7c..91f081d112 100644 --- a/packages/installer/zip/src/InstallerZip.ts +++ b/packages/installer/zip/src/InstallerZip.ts @@ -7,15 +7,13 @@ import path from 'path'; export default class InstallerZip extends InstallerDarwin { name = 'zip'; - async install({ - filePath, - installSpinner, - }: InstallerOptions) { + async install({ filePath, installSpinner }: InstallerOptions): Promise { await spawn('unzip', ['-q', '-o', path.basename(filePath)], { cwd: path.dirname(filePath), - } as any); + }); - const appPath = (await fs.readdir(path.dirname(filePath))).filter((file) => file.endsWith('.app')) + const appPath = (await fs.readdir(path.dirname(filePath))) + .filter((file) => file.endsWith('.app')) .map((file) => path.resolve(path.dirname(filePath), file)) .sort((fA, fB) => fs.statSync(fA).ctime.getTime() - fs.statSync(fB).ctime.getTime())[0]; @@ -23,6 +21,6 @@ export default class InstallerZip extends InstallerDarwin { await this.moveApp(appPath, targetApplicationPath, installSpinner); - await spawn('open', ['-R', targetApplicationPath], { detached: true } as any); + await spawn('open', ['-R', targetApplicationPath], { detached: true }); } } diff --git a/packages/maker/appx/src/MakerAppX.ts b/packages/maker/appx/src/MakerAppX.ts index 0260af15b3..8aeccff09c 100644 --- a/packages/maker/appx/src/MakerAppX.ts +++ b/packages/maker/appx/src/MakerAppX.ts @@ -13,10 +13,7 @@ import { MakerAppXConfig } from './Config'; // NB: This is not a typo, we require AppXs to be built on 64-bit // but if we're running in a 32-bit node.js process, we're going to // be Wow64 redirected -const windowsSdkPaths = [ - 'C:\\Program Files\\Windows Kits\\10\\bin\\x64', - 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64', -]; +const windowsSdkPaths = ['C:\\Program Files\\Windows Kits\\10\\bin\\x64', 'C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64']; async function findSdkTool(exe: string) { let sdkTool: string | undefined; @@ -40,11 +37,11 @@ async function findSdkTool(exe: string) { } } } - if (!sdkTool || !await fs.pathExists(sdkTool)) { + if (!sdkTool || !(await fs.pathExists(sdkTool))) { sdkTool = resolveCommand({ command: exe, options: { cwd: null } }, true); } - if (!sdkTool || !await fs.pathExists(sdkTool)) { + if (!sdkTool || !(await fs.pathExists(sdkTool))) { throw new Error(`Can't find ${exe} in PATH. You probably need to install the Windows SDK.`); } @@ -58,9 +55,10 @@ export interface CreateDefaultCertOpts { install?: boolean; } -export async function createDefaultCertificate(publisherName: string, { - certFilePath, certFileName, install, program, -}: CreateDefaultCertOpts) { +export async function createDefaultCertificate( + publisherName: string, + { certFilePath, certFileName, install, program }: CreateDefaultCertOpts +): Promise { const makeCertOptions = { publisherName, certFilePath: certFilePath || process.cwd(), @@ -81,17 +79,11 @@ export default class MakerAppX extends MakerBase { defaultPlatforms: ForgePlatform[] = ['win32']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return process.platform === 'win32'; } - async make({ - dir, - makeDir, - appName, - packageJSON, - targetArch, - }: MakerOptions) { + async make({ dir, makeDir, appName, packageJSON, targetArch }: MakerOptions): Promise { const outPath = path.resolve(makeDir, `appx/${targetArch}`); await this.ensureDirectory(outPath); @@ -111,16 +103,11 @@ export default class MakerAppX extends MakerBase { }; if (!opts.publisher) { - throw new Error( - 'Please set config.forge.windowsStoreConfig.publisher or author.name in package.json for the appx target', - ); + throw new Error('Please set config.forge.windowsStoreConfig.publisher or author.name in package.json for the appx target'); } if (!opts.devCert) { - opts.devCert = await createDefaultCertificate( - opts.publisher, - { certFilePath: outPath, program: opts }, - ); + opts.devCert = await createDefaultCertificate(opts.publisher, { certFilePath: outPath, program: opts }); } if (opts.packageVersion.includes('-')) { @@ -128,9 +115,9 @@ export default class MakerAppX extends MakerBase { opts.packageVersion = this.normalizeWindowsVersion(opts.packageVersion); } else { throw new Error( - "Windows Store version numbers don't support semver beta tags. To " - + 'automatically fix this, set makeVersionWinStoreCompatible to true or ' - + 'explicitly set packageVersion to a version of the format X.Y.Z.A', + "Windows Store version numbers don't support semver beta tags. To " + + 'automatically fix this, set makeVersionWinStoreCompatible to true or ' + + 'explicitly set packageVersion to a version of the format X.Y.Z.A' ); } } diff --git a/packages/maker/appx/src/util/author-name.ts b/packages/maker/appx/src/util/author-name.ts index 0b6d95609b..7261f7eb6f 100644 --- a/packages/maker/appx/src/util/author-name.ts +++ b/packages/maker/appx/src/util/author-name.ts @@ -1,7 +1,7 @@ import parseAuthor from 'parse-author'; import { PackagePerson } from '@electron-forge/shared-types'; -export default function getNameFromAuthor(author: PackagePerson) { +export default function getNameFromAuthor(author: PackagePerson): string { let publisher: PackagePerson = author || ''; if (typeof publisher === 'string') { diff --git a/packages/maker/appx/test/MakerAppX_spec.ts b/packages/maker/appx/test/MakerAppX_spec.ts index 0d09fee410..412784dfa9 100644 --- a/packages/maker/appx/test/MakerAppX_spec.ts +++ b/packages/maker/appx/test/MakerAppX_spec.ts @@ -17,16 +17,10 @@ describe('MakerApPX', () => { await fs.remove(tmpDir); }); - let def: any = it; - if (process.platform !== 'win32') { - def = it.skip; - } + const def = process.platform === 'win32' ? it : it.skip; def('should create a .pfx file', async () => { - await fs.copy( - join(__dirname, '../../../api/core/test/fixture', 'bogus-private-key.pvk'), - join(tmpDir, 'dummy.pvk'), - ); + await fs.copy(join(__dirname, '../../../api/core/test/fixture', 'bogus-private-key.pvk'), join(tmpDir, 'dummy.pvk')); const outputCertPath = await createDefaultCertificate('CN=Test', { certFilePath: tmpDir, certFileName: 'dummy', diff --git a/packages/maker/appx/test/author-name_spec.ts b/packages/maker/appx/test/author-name_spec.ts index 12f9c6ab45..ae41f0c7f2 100644 --- a/packages/maker/appx/test/author-name_spec.ts +++ b/packages/maker/appx/test/author-name_spec.ts @@ -4,24 +4,30 @@ import getNameFromAuthor from '../src/util/author-name'; describe('author-name', () => { describe('getNameFromAuthor', () => { - [{ - author: 'First Last', - expectedReturnValue: 'First Last', - }, { - author: 'First Last ', - expectedReturnValue: 'First Last', - }, { - author: { - name: 'First Last', + [ + { + author: 'First Last', + expectedReturnValue: 'First Last', }, - expectedReturnValue: 'First Last', - }, { - author: undefined, - expectedReturnValue: '', - }, { - author: '', - expectedReturnValue: '', - }].forEach((scenario) => { + { + author: 'First Last ', + expectedReturnValue: 'First Last', + }, + { + author: { + name: 'First Last', + }, + expectedReturnValue: 'First Last', + }, + { + author: undefined, + expectedReturnValue: '', + }, + { + author: '', + expectedReturnValue: '', + }, + ].forEach((scenario) => { it(`${JSON.stringify(scenario.author)} -> "${scenario.expectedReturnValue}"`, () => { expect(getNameFromAuthor(scenario.author)).to.equal(scenario.expectedReturnValue); }); diff --git a/packages/maker/base/src/Maker.ts b/packages/maker/base/src/Maker.ts index 25dab432e0..1fad662f18 100644 --- a/packages/maker/base/src/Maker.ts +++ b/packages/maker/base/src/Maker.ts @@ -1,10 +1,10 @@ -import { - ForgeArch, ForgeConfig, ForgePlatform, IForgeMaker, -} from '@electron-forge/shared-types'; +import { ForgeArch, ForgeConfig, ForgePlatform, IForgeMaker } from '@electron-forge/shared-types'; import fs from 'fs-extra'; import path from 'path'; import which from 'which'; +export type EmptyConfig = Record; + export interface MakerOptions { /** * The directory containing the packaged Electron application @@ -32,9 +32,9 @@ export interface MakerOptions { */ forgeConfig: ForgeConfig; /** - * The applications package.json file + * The application's package.json file */ - packageJSON: any; + packageJSON: any; // eslint-disable-line @typescript-eslint/no-explicit-any } export default abstract class Maker implements IForgeMaker { @@ -48,10 +48,7 @@ export default abstract class Maker implements IForgeMaker { __isElectronForgeMaker!: true; - constructor( - private configFetcher: (C | ((arch: ForgeArch) => C)) = {} as C, - protected providedPlatforms?: ForgePlatform[], - ) { + constructor(private configFetcher: C | ((arch: ForgeArch) => C) = {} as C, protected providedPlatforms?: ForgePlatform[]) { Object.defineProperty(this, '__isElectronForgeMaker', { value: true, enumerable: false, @@ -59,16 +56,16 @@ export default abstract class Maker implements IForgeMaker { }); } - get platforms() { + get platforms(): ForgePlatform[] { if (this.providedPlatforms) return this.providedPlatforms; return this.defaultPlatforms; } // TODO: Remove this, it is an eye-sore and is a nasty hack to provide forge // v5 style functionality in the new API - prepareConfig(targetArch: ForgeArch) { + prepareConfig(targetArch: ForgeArch): void { if (typeof this.configFetcher === 'function') { - this.config = (this.configFetcher as any as ((arch: ForgeArch) => C))(targetArch); + this.config = (this.configFetcher as unknown as (arch: ForgeArch) => C)(targetArch); } else { this.config = this.configFetcher as C; } @@ -94,7 +91,8 @@ export default abstract class Maker implements IForgeMaker { * Makers must implement this method and return an array of absolute paths * to the artifacts generated by your maker */ - async make(opts: MakerOptions): Promise { // eslint-disable-line max-len, @typescript-eslint/no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async make(opts: MakerOptions): Promise { if (this.make === Maker.prototype.make) { throw new Error(`Maker ${this.name} did not implement the make method`); } @@ -134,15 +132,13 @@ export default abstract class Maker implements IForgeMaker { * Checks if the specified binaries exist, which are required for the maker to be used. */ externalBinariesExist(): boolean { - return this.requiredExternalBinaries.every( - (binary) => which.sync(binary, { nothrow: true }) !== null, - ); + return this.requiredExternalBinaries.every((binary) => which.sync(binary, { nothrow: true }) !== null); } /** * Throws an error if any of the binaries don't exist. */ - ensureExternalBinariesExist() { + ensureExternalBinariesExist(): void { if (!this.externalBinariesExist()) { throw new Error(`Cannot make for ${this.name}, the following external binaries need to be installed: ${this.requiredExternalBinaries.join(', ')}`); } diff --git a/packages/maker/base/test/ensure-output_spec.ts b/packages/maker/base/test/ensure-output_spec.ts index 4522739f45..1bd55bd735 100644 --- a/packages/maker/base/test/ensure-output_spec.ts +++ b/packages/maker/base/test/ensure-output_spec.ts @@ -3,9 +3,9 @@ import fs from 'fs-extra'; import os from 'os'; import path from 'path'; -import MakerBase from '../src/Maker'; +import MakerBase, { EmptyConfig } from '../src/Maker'; -class MakerImpl extends MakerBase<{}> { +class MakerImpl extends MakerBase { name = 'test'; defaultPlatforms = []; diff --git a/packages/maker/base/test/support_spec.ts b/packages/maker/base/test/support_spec.ts index 4be982bb8b..68ad746f3c 100644 --- a/packages/maker/base/test/support_spec.ts +++ b/packages/maker/base/test/support_spec.ts @@ -1,8 +1,8 @@ import { expect } from 'chai'; -import MakerBase from '../src/Maker'; +import MakerBase, { EmptyConfig } from '../src/Maker'; -class MakerImpl extends MakerBase<{}> { +class MakerImpl extends MakerBase { name = 'test'; defaultPlatforms = []; diff --git a/packages/maker/base/test/version_spec.ts b/packages/maker/base/test/version_spec.ts index 7aa02b8862..591c6fd5e1 100644 --- a/packages/maker/base/test/version_spec.ts +++ b/packages/maker/base/test/version_spec.ts @@ -1,8 +1,8 @@ import { expect } from 'chai'; -import MakerBase from '../src/Maker'; +import MakerBase, { EmptyConfig } from '../src/Maker'; -class MakerImpl extends MakerBase<{}> { +class MakerImpl extends MakerBase { name = 'test'; defaultPlatforms = []; diff --git a/packages/maker/deb/src/Config.ts b/packages/maker/deb/src/Config.ts index f51c85e85a..f13adca1a8 100644 --- a/packages/maker/deb/src/Config.ts +++ b/packages/maker/deb/src/Config.ts @@ -47,7 +47,66 @@ export interface MakerDebConfigOptions { * }).sort().join(' | ') * ``` */ - section?: 'admin' | 'cli-mono' | 'comm' | 'database' | 'debian-installer' | 'debug' | 'devel' | 'doc' | 'editors' | 'education' | 'electronics' | 'embedded' | 'fonts' | 'games' | 'gnome' | 'gnu-r' | 'gnustep' | 'graphics' | 'hamradio' | 'haskell' | 'httpd' | 'interpreters' | 'introspection' | 'java' | 'javascript' | 'kde' | 'kernel' | 'libdevel' | 'libs' | 'lisp' | 'localization' | 'mail' | 'math' | 'metapackages' | 'misc' | 'net' | 'news' | 'ocaml' | 'oldlibs' | 'otherosfs' | 'perl' | 'php' | 'python' | 'ruby' | 'rust' | 'science' | 'shells' | 'sound' | 'tasks' | 'tex' | 'text' | 'utils' | 'vcs' | 'video' | 'virtual' | 'web' | 'x11' | 'xfce' | 'zope'; + section?: + | 'admin' + | 'cli-mono' + | 'comm' + | 'database' + | 'debian-installer' + | 'debug' + | 'devel' + | 'doc' + | 'editors' + | 'education' + | 'electronics' + | 'embedded' + | 'fonts' + | 'games' + | 'gnome' + | 'gnu-r' + | 'gnustep' + | 'graphics' + | 'hamradio' + | 'haskell' + | 'httpd' + | 'interpreters' + | 'introspection' + | 'java' + | 'javascript' + | 'kde' + | 'kernel' + | 'libdevel' + | 'libs' + | 'lisp' + | 'localization' + | 'mail' + | 'math' + | 'metapackages' + | 'misc' + | 'net' + | 'news' + | 'ocaml' + | 'oldlibs' + | 'otherosfs' + | 'perl' + | 'php' + | 'python' + | 'ruby' + | 'rust' + | 'science' + | 'shells' + | 'sound' + | 'tasks' + | 'tex' + | 'text' + | 'utils' + | 'vcs' + | 'video' + | 'virtual' + | 'web' + | 'x11' + | 'xfce' + | 'zope'; /** * How important is it to have the package installed. * @@ -104,9 +163,23 @@ export interface MakerDebConfigOptions { * * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + * `(${$$('.informaltable tr td:first-child').map(td => `'$\{td.innerText\}'`).join(' | ')})[]` + */ + categories?: ( + | 'AudioVideo' + | 'Audio' + | 'Video' + | 'Development' + | 'Education' + | 'Game' + | 'Graphics' + | 'Network' + | 'Office' + | 'Science' + | 'Settings' + | 'System' + | 'Utility' + )[]; /** * MIME types the application is able to open, used in the MimeType field of the desktop * specification. diff --git a/packages/maker/deb/src/MakerDeb.ts b/packages/maker/deb/src/MakerDeb.ts index 9092aa55e8..8c54cd940b 100644 --- a/packages/maker/deb/src/MakerDeb.ts +++ b/packages/maker/deb/src/MakerDeb.ts @@ -4,13 +4,18 @@ import path from 'path'; import { MakerDebConfig } from './Config'; -export function debianArch(nodeArch: ForgeArch) { +export function debianArch(nodeArch: ForgeArch): string { switch (nodeArch) { - case 'ia32': return 'i386'; - case 'x64': return 'amd64'; - case 'armv7l': return 'armhf'; - case 'arm': return 'armel'; - default: return nodeArch; + case 'ia32': + return 'i386'; + case 'x64': + return 'amd64'; + case 'armv7l': + return 'armhf'; + case 'arm': + return 'armel'; + default: + return nodeArch; } } @@ -21,16 +26,12 @@ export default class MakerDeb extends MakerBase { requiredExternalBinaries: string[] = ['dpkg', 'fakeroot']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return this.isInstalled('electron-installer-debian'); } - async make({ - dir, - makeDir, - targetArch, - }: MakerOptions) { - // eslint-disable-next-line global-require, import/no-unresolved + async make({ dir, makeDir, targetArch }: MakerOptions): Promise { + // eslint-disable-next-line global-require, import/no-unresolved, node/no-missing-require const installer = require('electron-installer-debian'); const outDir = path.resolve(makeDir, 'deb', targetArch); diff --git a/packages/maker/deb/test/MakerDeb_spec.ts b/packages/maker/deb/test/MakerDeb_spec.ts index c3ef232c5b..c2a251fe51 100644 --- a/packages/maker/deb/test/MakerDeb_spec.ts +++ b/packages/maker/deb/test/MakerDeb_spec.ts @@ -1,18 +1,20 @@ -import MakerBase from '@electron-forge/maker-base'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; import { expect } from 'chai'; import path from 'path'; import proxyquire from 'proxyquire'; import { stub, SinonStub } from 'sinon'; -import { ForgeArch } from '@electron-forge/shared-types'; import { MakerDebConfig } from '../src/Config'; import { debianArch } from '../src/MakerDeb'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { - name = 'test'; + name = 'test'; - defaultPlatforms = []; + defaultPlatforms = []; } describe('MakerDeb', () => { @@ -40,14 +42,18 @@ describe('MakerDeb', () => { createMaker = () => { maker = new MakerDeb(config, []); maker.ensureDirectory = ensureDirectoryStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eidStub.firstCall.args[0]; expect(opts).to.deep.equal({ @@ -66,12 +72,16 @@ describe('MakerDeb', () => { options: { productName: 'Debian', }, - } as any; + } as Record; createMaker(); - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eidStub.firstCall.args[0]; expect(opts).to.deep.equal({ diff --git a/packages/maker/dmg/src/MakerDMG.ts b/packages/maker/dmg/src/MakerDMG.ts index eeb19131c3..656a1f3822 100644 --- a/packages/maker/dmg/src/MakerDMG.ts +++ b/packages/maker/dmg/src/MakerDMG.ts @@ -10,17 +10,11 @@ export default class MakerDMG extends MakerBase { defaultPlatforms: ForgePlatform[] = ['darwin', 'mas']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return process.platform === 'darwin'; } - async make({ - dir, - makeDir, - appName, - packageJSON, - targetArch, - }: MakerOptions) { + async make({ dir, makeDir, appName, packageJSON, targetArch }: MakerOptions): Promise { // eslint-disable-next-line global-require const electronDMG = require('electron-installer-dmg'); diff --git a/packages/maker/dmg/test/MakerDMG_spec.ts b/packages/maker/dmg/test/MakerDMG_spec.ts index 3885481e23..8cf8585083 100644 --- a/packages/maker/dmg/test/MakerDMG_spec.ts +++ b/packages/maker/dmg/test/MakerDMG_spec.ts @@ -1,4 +1,5 @@ -import MakerBase from '@electron-forge/maker-base'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; import { expect } from 'chai'; import path from 'path'; @@ -7,10 +8,12 @@ import { stub, SinonStub } from 'sinon'; import { MakerDMGConfig } from '../src/Config'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { - name = 'test'; + name = 'test'; - defaultPlatforms = []; + defaultPlatforms = []; } describe('MakerDMG', () => { @@ -34,24 +37,31 @@ describe('MakerDMG', () => { renameStub = stub().returns(Promise.resolve()); config = {}; - MakerDMG = proxyquire.noPreserveCache().noCallThru().load('../src/MakerDMG', { - '../../util/ensure-output': { ensureFile: ensureFileStub }, - 'electron-installer-dmg': eidStub, - 'fs-extra': { - rename: renameStub, - }, - }).default; + MakerDMG = proxyquire + .noPreserveCache() + .noCallThru() + .load('../src/MakerDMG', { + '../../util/ensure-output': { ensureFile: ensureFileStub }, + 'electron-installer-dmg': eidStub, + 'fs-extra': { + rename: renameStub, + }, + }).default; createMaker = () => { maker = new MakerDMG(config); maker.ensureFile = ensureFileStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eidStub.firstCall.args[0]; expect(opts).to.deep.equal({ @@ -63,16 +73,24 @@ describe('MakerDMG', () => { }); it('should attempt to rename the DMG file if no custom name is set', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); expect(renameStub.callCount).to.equal(1); expect(renameStub.firstCall.args[1]).to.include(`1.2.3-${targetArch}`); }); it('should rename the DMG file to include the version if no custom name is set', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); expect(renameStub.firstCall.args[1]).to.include(`1.2.3-${targetArch}`); }); @@ -80,8 +98,12 @@ describe('MakerDMG', () => { it('should not attempt to rename the DMG file if a custom name is set', async () => { config.name = 'foobar'; createMaker(); - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); expect(renameStub.callCount).to.equal(0); }); diff --git a/packages/maker/flatpak/package.json b/packages/maker/flatpak/package.json index bc3cc0022c..852d1a75a6 100644 --- a/packages/maker/flatpak/package.json +++ b/packages/maker/flatpak/package.json @@ -7,6 +7,10 @@ "license": "MIT", "main": "dist/MakerFlatpak.js", "typings": "dist/MakerFlatpak.d.ts", + "scripts": { + "test": "yarn test:base test/**/*_spec.ts", + "test:base": "cross-env TS_NODE_FILES=1 mocha --config ../../../.mocharc.js" + }, "devDependencies": { "chai": "^4.3.3", "chai-as-promised": "^7.0.0", diff --git a/packages/maker/flatpak/src/Config.ts b/packages/maker/flatpak/src/Config.ts index 922637b72e..da349203ea 100644 --- a/packages/maker/flatpak/src/Config.ts +++ b/packages/maker/flatpak/src/Config.ts @@ -81,7 +81,7 @@ export interface MakerFlatpakOptionsConfig { * if you are using native node modules that require certain libraries on * the system, this may be necessary. */ - modules?: any[]; + modules?: (Record | string)[]; /** * Relative path to the executable that will act as binary for the application, used in the * Exec field of the desktop specification. @@ -97,9 +97,23 @@ export interface MakerFlatpakOptionsConfig { * * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + * `(${$$('.informaltable tr td:first-child').map(td => `'$\{td.innerText\}'`).join(' | ')})[]` + */ + categories?: ( + | 'AudioVideo' + | 'Audio' + | 'Video' + | 'Development' + | 'Education' + | 'Game' + | 'Graphics' + | 'Network' + | 'Office' + | 'Science' + | 'Settings' + | 'System' + | 'Utility' + )[]; /** * MIME types the application is able to open, used in the MimeType field of the desktop * specification. diff --git a/packages/maker/flatpak/src/MakerFlatpak.ts b/packages/maker/flatpak/src/MakerFlatpak.ts index fc24754993..4ee6bccc4b 100644 --- a/packages/maker/flatpak/src/MakerFlatpak.ts +++ b/packages/maker/flatpak/src/MakerFlatpak.ts @@ -6,13 +6,17 @@ import path from 'path'; import { MakerFlatpakConfig } from './Config'; -export function flatpakArch(nodeArch: ForgeArch) { +export function flatpakArch(nodeArch: ForgeArch): string { switch (nodeArch) { - case 'ia32': return 'i386'; - case 'x64': return 'x86_64'; - case 'armv7l': return 'arm'; + case 'ia32': + return 'i386'; + case 'x64': + return 'x86_64'; + case 'armv7l': + return 'arm'; // arm => arm - default: return nodeArch; + default: + return nodeArch; } } @@ -23,16 +27,12 @@ export default class MakerFlatpak extends MakerBase { requiredExternalBinaries: string[] = ['flatpak-builder', 'eu-strip']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return this.isInstalled('@malept/electron-installer-flatpak'); } - async make({ - dir, - makeDir, - targetArch, - }: MakerOptions) { - // eslint-disable-next-line global-require, import/no-unresolved + async make({ dir, makeDir, targetArch }: MakerOptions): Promise { + // eslint-disable-next-line global-require, import/no-unresolved, node/no-missing-require const installer = require('@malept/electron-installer-flatpak'); const arch = flatpakArch(targetArch); @@ -48,8 +48,6 @@ export default class MakerFlatpak extends MakerBase { await installer(flatpakConfig); - return (await fs.readdir(outDir)) - .filter((basename) => basename.endsWith('.flatpak')) - .map((basename) => path.join(outDir, basename)); + return (await fs.readdir(outDir)).filter((basename) => basename.endsWith('.flatpak')).map((basename) => path.join(outDir, basename)); } } diff --git a/packages/maker/flatpak/test/MakerFlatpak_spec.ts b/packages/maker/flatpak/test/MakerFlatpak_spec.ts index 6adf3ab0b3..a581f745f4 100644 --- a/packages/maker/flatpak/test/MakerFlatpak_spec.ts +++ b/packages/maker/flatpak/test/MakerFlatpak_spec.ts @@ -1,4 +1,5 @@ -import MakerBase from '@electron-forge/maker-base'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; import { expect } from 'chai'; import 'chai-as-promised'; @@ -6,10 +7,11 @@ import path from 'path'; import proxyquire from 'proxyquire'; import { stub, SinonStub } from 'sinon'; -import { ForgeArch } from '@electron-forge/shared-types'; import { flatpakArch } from '../src/MakerFlatpak'; import { MakerFlatpakConfig } from '../src/Config'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { name = 'test'; @@ -35,21 +37,28 @@ describe('MakerFlatpak', () => { eifStub = stub().resolves(); config = {}; - MakerFlatpak = proxyquire.noPreserveCache().noCallThru().load('../src/MakerFlatpak', { - 'fs-extra': { readdir: stub().returns(Promise.resolve([])) }, - '@malept/electron-installer-flatpak': eifStub, - }).default; + MakerFlatpak = proxyquire + .noPreserveCache() + .noCallThru() + .load('../src/MakerFlatpak', { + 'fs-extra': { readdir: stub().returns(Promise.resolve([])) }, + '@malept/electron-installer-flatpak': eifStub, + }).default; createMaker = () => { maker = new MakerFlatpak(config); maker.ensureDirectory = ensureDirectoryStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eifStub.firstCall.args[0]; const expectedArch = flatpakArch(process.arch as ForgeArch); @@ -66,11 +75,15 @@ describe('MakerFlatpak', () => { options: { productName: 'Flatpak', }, - } as any; + } as Record; createMaker(); - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eifStub.firstCall.args[0]; const expectedArch = flatpakArch(process.arch as ForgeArch); diff --git a/packages/maker/pkg/src/MakerPKG.ts b/packages/maker/pkg/src/MakerPKG.ts index 8a3f5a2965..3866f7fa90 100644 --- a/packages/maker/pkg/src/MakerPKG.ts +++ b/packages/maker/pkg/src/MakerPKG.ts @@ -10,17 +10,11 @@ export default class MakerDMG extends MakerBase { defaultPlatforms: ForgePlatform[] = ['darwin', 'mas']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return process.platform === 'darwin'; } - async make({ - dir, - makeDir, - appName, - packageJSON, - targetPlatform, - }: MakerOptions) { + async make({ dir, makeDir, appName, packageJSON, targetPlatform }: MakerOptions): Promise { if (!['darwin', 'mas'].includes(targetPlatform)) { throw new Error(`The pkg maker only supports targetting "mas" and "darwin" builds. You provided "${targetPlatform}"`); } diff --git a/packages/maker/pkg/test/MakerPKG_spec.ts b/packages/maker/pkg/test/MakerPKG_spec.ts index 20b2359c4c..70fbbdd0f7 100644 --- a/packages/maker/pkg/test/MakerPKG_spec.ts +++ b/packages/maker/pkg/test/MakerPKG_spec.ts @@ -1,4 +1,5 @@ -import MakerBase from '@electron-forge/maker-base'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; import { expect } from 'chai'; import path from 'path'; @@ -7,10 +8,12 @@ import { stub, SinonStub } from 'sinon'; import { MakerPKGConfig } from '../src/Config'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { - name = 'test'; + name = 'test'; - defaultPlatforms = []; + defaultPlatforms = []; } describe('MakerPKG', () => { @@ -34,26 +37,34 @@ describe('MakerPKG', () => { renameStub = stub().returns(Promise.resolve()); config = {}; - MakerDMG = proxyquire.noPreserveCache().noCallThru().load('../src/MakerPKG', { - '../../util/ensure-output': { ensureFile: ensureFileStub }, - 'electron-osx-sign': { - flatAsync: eosStub, - }, - 'fs-extra': { - rename: renameStub, - }, - }).default; + MakerDMG = proxyquire + .noPreserveCache() + .noCallThru() + .load('../src/MakerPKG', { + '../../util/ensure-output': { ensureFile: ensureFileStub }, + 'electron-osx-sign': { + flatAsync: eosStub, + }, + 'fs-extra': { + rename: renameStub, + }, + }).default; createMaker = () => { maker = new MakerDMG(config); maker.ensureFile = ensureFileStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - packageJSON, dir, makeDir, appName, targetArch, targetPlatform: 'mas', + await (maker.make as MakeFunction)({ + packageJSON, + dir, + makeDir, + appName, + targetArch, + targetPlatform: 'mas', }); const opts = eosStub.firstCall.args[0]; expect(opts).to.deep.equal({ @@ -64,9 +75,15 @@ describe('MakerPKG', () => { }); it('should throw an error on invalid platform', async () => { - await expect((maker.make as any)({ - packageJSON, dir, makeDir, appName, targetArch, targetPlatform: 'win32', - })) - .to.eventually.be.rejectedWith('The pkg maker only supports targetting "mas" and "darwin" builds. You provided "win32"'); + await expect( + (maker.make as MakeFunction)({ + packageJSON, + dir, + makeDir, + appName, + targetArch, + targetPlatform: 'win32', + }) + ).to.eventually.be.rejectedWith('The pkg maker only supports targetting "mas" and "darwin" builds. You provided "win32"'); }); }); diff --git a/packages/maker/rpm/package.json b/packages/maker/rpm/package.json index 96bdb2cbb5..c1c1758bc1 100644 --- a/packages/maker/rpm/package.json +++ b/packages/maker/rpm/package.json @@ -7,6 +7,10 @@ "license": "MIT", "main": "dist/MakerRpm.js", "typings": "dist/MakerRpm.d.ts", + "scripts": { + "test": "yarn test:base test/**/*_spec.ts", + "test:base": "cross-env TS_NODE_FILES=1 mocha --config ../../../.mocharc.js" + }, "devDependencies": { "chai": "^4.3.3", "chai-as-promised": "^7.0.0", diff --git a/packages/maker/rpm/src/Config.ts b/packages/maker/rpm/src/Config.ts index 933ed04d67..d44e594f1b 100644 --- a/packages/maker/rpm/src/Config.ts +++ b/packages/maker/rpm/src/Config.ts @@ -72,9 +72,23 @@ export interface MakerRpmConfigOptions { * * Generated on https://specifications.freedesktop.org/menu-spec/latest/apa.html with: * - * `(${$$('.informaltable tr td:first-child').map(td => `'${td.innerText}'`).join(' | ')})[]` - */ - categories?: ('AudioVideo' | 'Audio' | 'Video' | 'Development' | 'Education' | 'Game' | 'Graphics' | 'Network' | 'Office' | 'Science' | 'Settings' | 'System' | 'Utility')[]; + * `(${$$('.informaltable tr td:first-child').map(td => `'$\{td.innerText\}'`).join(' | ')})[]` + */ + categories?: ( + | 'AudioVideo' + | 'Audio' + | 'Video' + | 'Development' + | 'Education' + | 'Game' + | 'Graphics' + | 'Network' + | 'Office' + | 'Science' + | 'Settings' + | 'System' + | 'Utility' + )[]; /** * MIME types the application is able to open, used in the MimeType field of the desktop * specification. diff --git a/packages/maker/rpm/src/MakerRpm.ts b/packages/maker/rpm/src/MakerRpm.ts index d170babf82..c7cae40574 100644 --- a/packages/maker/rpm/src/MakerRpm.ts +++ b/packages/maker/rpm/src/MakerRpm.ts @@ -4,13 +4,18 @@ import path from 'path'; import { MakerRpmConfig } from './Config'; -export function rpmArch(nodeArch: ForgeArch) { +export function rpmArch(nodeArch: ForgeArch): string { switch (nodeArch) { - case 'ia32': return 'i386'; - case 'x64': return 'x86_64'; - case 'armv7l': return 'armv7hl'; - case 'arm': return 'armv6hl'; - default: return nodeArch; + case 'ia32': + return 'i386'; + case 'x64': + return 'x86_64'; + case 'armv7l': + return 'armv7hl'; + case 'arm': + return 'armv6hl'; + default: + return nodeArch; } } @@ -21,16 +26,12 @@ export default class MakerRpm extends MakerBase { requiredExternalBinaries: string[] = ['rpmbuild']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return this.isInstalled('electron-installer-redhat'); } - async make({ - dir, - makeDir, - targetArch, - }: MakerOptions) { - // eslint-disable-next-line global-require, import/no-unresolved + async make({ dir, makeDir, targetArch }: MakerOptions): Promise { + // eslint-disable-next-line global-require, import/no-unresolved, node/no-missing-require const installer = require('electron-installer-redhat'); const outDir = path.resolve(makeDir, 'rpm', targetArch); diff --git a/packages/maker/rpm/test/MakerRpm_spec.ts b/packages/maker/rpm/test/MakerRpm_spec.ts index dee708b701..bc91b12044 100644 --- a/packages/maker/rpm/test/MakerRpm_spec.ts +++ b/packages/maker/rpm/test/MakerRpm_spec.ts @@ -1,14 +1,16 @@ -import MakerBase from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; import { expect } from 'chai'; import path from 'path'; import proxyquire from 'proxyquire'; import { stub, SinonStub } from 'sinon'; -import { ForgeArch } from '@electron-forge/shared-types'; import { MakerRpmConfig } from '../src/Config'; import { rpmArch } from '../src/MakerRpm'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { name = 'test'; @@ -40,14 +42,18 @@ describe('MakerRpm', () => { createMaker = () => { maker = new MakerRpm(config); maker.ensureDirectory = ensureDirectoryStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eirStub.firstCall.args[0]; expect(opts).to.deep.equal({ @@ -64,11 +70,15 @@ describe('MakerRpm', () => { options: { productName: 'Redhat', }, - } as any; + } as MakerRpmConfig; createMaker(); - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eirStub.firstCall.args[0]; expect(opts).to.deep.equal({ diff --git a/packages/maker/snap/package.json b/packages/maker/snap/package.json index 1e4067b977..d7b1f1b175 100644 --- a/packages/maker/snap/package.json +++ b/packages/maker/snap/package.json @@ -7,6 +7,10 @@ "license": "MIT", "main": "dist/MakerSnap.js", "typings": "dist/MakerSnap.d.ts", + "scripts": { + "test": "yarn test:base test/**/*_spec.ts", + "test:base": "cross-env TS_NODE_FILES=1 mocha --config ../../../.mocharc.js" + }, "devDependencies": { "chai": "^4.3.3", "chai-as-promised": "^7.0.0", diff --git a/packages/maker/snap/src/MakerSnap.ts b/packages/maker/snap/src/MakerSnap.ts index 44e5525dd7..9044490d3c 100644 --- a/packages/maker/snap/src/MakerSnap.ts +++ b/packages/maker/snap/src/MakerSnap.ts @@ -11,15 +11,11 @@ export default class MakerSnap extends MakerBase { requiredExternalBinaries: string[] = ['snapcraft']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return process.platform === 'linux'; } - async make({ - dir, - makeDir, - targetArch, - }: MakerOptions) { + async make({ dir, makeDir, targetArch }: MakerOptions): Promise { // eslint-disable-next-line global-require const installer = require('electron-installer-snap'); diff --git a/packages/maker/snap/test/MakerSnap_spec.ts b/packages/maker/snap/test/MakerSnap_spec.ts index 063f87b77a..eceddac229 100644 --- a/packages/maker/snap/test/MakerSnap_spec.ts +++ b/packages/maker/snap/test/MakerSnap_spec.ts @@ -1,4 +1,5 @@ -import MakerBase from '@electron-forge/maker-base'; +import { ForgeArch } from '@electron-forge/shared-types'; +import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; import { expect } from 'chai'; import path from 'path'; @@ -7,10 +8,12 @@ import { stub, SinonStub } from 'sinon'; import { MakerSnapConfig } from '../src/Config'; +type MakeFunction = (opts: Partial) => Promise; + class MakerImpl extends MakerBase { - name = 'test'; + name = 'test'; - defaultPlatforms = []; + defaultPlatforms = []; } describe('MakerSnap', () => { @@ -38,14 +41,18 @@ describe('MakerSnap', () => { createMaker = () => { maker = new MakerSnapModule(config); maker.ensureDirectory = ensureDirectoryStub; - maker.prepareConfig(targetArch as any); + maker.prepareConfig(targetArch as ForgeArch); }; createMaker(); }); it('should pass through correct defaults', async () => { - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eisStub.firstCall.args[0]; expect(opts).to.deep.equal({ @@ -59,11 +66,15 @@ describe('MakerSnap', () => { Object.assign(config, { arch: 'overridden', description: 'Snap description', - } as any); + } as Record); createMaker(); - await (maker.make as any)({ - dir, makeDir, appName, targetArch, packageJSON, + await (maker.make as MakeFunction)({ + dir, + makeDir, + appName, + targetArch, + packageJSON, }); const opts = eisStub.firstCall.args[0]; expect(opts).to.deep.equal({ diff --git a/packages/maker/squirrel/src/MakerSquirrel.ts b/packages/maker/squirrel/src/MakerSquirrel.ts index 67b8463b12..2491605c25 100644 --- a/packages/maker/squirrel/src/MakerSquirrel.ts +++ b/packages/maker/squirrel/src/MakerSquirrel.ts @@ -5,25 +5,18 @@ import { convertVersion, createWindowsInstaller, Options as ElectronWinstallerOp import fs from 'fs-extra'; import path from 'path'; -type MakerSquirrelConfig = Omit +type MakerSquirrelConfig = Omit; export default class MakerSquirrel extends MakerBase { name = 'squirrel'; defaultPlatforms: ForgePlatform[] = ['win32']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return this.isInstalled('electron-winstaller') && !process.env.DISABLE_SQUIRREL_TEST; } - async make({ - dir, - makeDir, - targetArch, - packageJSON, - appName, - forgeConfig, - }: MakerOptions) { + async make({ dir, makeDir, targetArch, packageJSON, appName, forgeConfig }: MakerOptions): Promise { const outPath = path.resolve(makeDir, `squirrel.windows/${targetArch}`); await this.ensureDirectory(outPath); @@ -48,11 +41,11 @@ export default class MakerSquirrel extends MakerBase { path.resolve(outPath, `${winstallerConfig.name}-${nupkgVersion}-full.nupkg`), ]; const deltaPath = path.resolve(outPath, `${winstallerConfig.name}-${nupkgVersion}-delta.nupkg`); - if (winstallerConfig.remoteReleases || await fs.pathExists(deltaPath)) { + if (winstallerConfig.remoteReleases || (await fs.pathExists(deltaPath))) { artifacts.push(deltaPath); } const msiPath = path.resolve(outPath, winstallerConfig.setupMsi || `${appName}Setup.msi`); - if (!winstallerConfig.noMsi && await fs.pathExists(msiPath)) { + if (!winstallerConfig.noMsi && (await fs.pathExists(msiPath))) { artifacts.push(msiPath); } return artifacts; diff --git a/packages/maker/wix/src/MakerWix.ts b/packages/maker/wix/src/MakerWix.ts index c2c6405581..5c1e0d51d6 100644 --- a/packages/maker/wix/src/MakerWix.ts +++ b/packages/maker/wix/src/MakerWix.ts @@ -15,17 +15,11 @@ export default class MakerWix extends MakerBase { defaultPlatforms: ForgePlatform[] = ['win32']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return process.platform === 'win32'; } - async make({ - dir, - makeDir, - targetArch, - packageJSON, - appName, - }: MakerOptions) { + async make({ dir, makeDir, targetArch, packageJSON, appName }: MakerOptions): Promise { const outPath = path.resolve(makeDir, `wix/${targetArch}`); await this.ensureDirectory(outPath); @@ -36,7 +30,7 @@ export default class MakerWix extends MakerBase { version = this.normalizeWindowsVersion(version); } - const creator = new MSICreator(({ + const creator = new MSICreator({ description: packageJSON.description, name: appName, version, @@ -45,7 +39,7 @@ export default class MakerWix extends MakerBase { ...this.config, appDirectory: dir, outputDirectory: outPath, - }) as MSICreatorOptions); + } as MSICreatorOptions); if (this.config.beforeCreate) { await Promise.resolve(this.config.beforeCreate(creator)); diff --git a/packages/maker/wix/src/util/author-name.ts b/packages/maker/wix/src/util/author-name.ts index 0b6d95609b..7261f7eb6f 100644 --- a/packages/maker/wix/src/util/author-name.ts +++ b/packages/maker/wix/src/util/author-name.ts @@ -1,7 +1,7 @@ import parseAuthor from 'parse-author'; import { PackagePerson } from '@electron-forge/shared-types'; -export default function getNameFromAuthor(author: PackagePerson) { +export default function getNameFromAuthor(author: PackagePerson): string { let publisher: PackagePerson = author || ''; if (typeof publisher === 'string') { diff --git a/packages/maker/wix/test/author-name_spec.ts b/packages/maker/wix/test/author-name_spec.ts index 12f9c6ab45..ae41f0c7f2 100644 --- a/packages/maker/wix/test/author-name_spec.ts +++ b/packages/maker/wix/test/author-name_spec.ts @@ -4,24 +4,30 @@ import getNameFromAuthor from '../src/util/author-name'; describe('author-name', () => { describe('getNameFromAuthor', () => { - [{ - author: 'First Last', - expectedReturnValue: 'First Last', - }, { - author: 'First Last ', - expectedReturnValue: 'First Last', - }, { - author: { - name: 'First Last', + [ + { + author: 'First Last', + expectedReturnValue: 'First Last', }, - expectedReturnValue: 'First Last', - }, { - author: undefined, - expectedReturnValue: '', - }, { - author: '', - expectedReturnValue: '', - }].forEach((scenario) => { + { + author: 'First Last ', + expectedReturnValue: 'First Last', + }, + { + author: { + name: 'First Last', + }, + expectedReturnValue: 'First Last', + }, + { + author: undefined, + expectedReturnValue: '', + }, + { + author: '', + expectedReturnValue: '', + }, + ].forEach((scenario) => { it(`${JSON.stringify(scenario.author)} -> "${scenario.expectedReturnValue}"`, () => { expect(getNameFromAuthor(scenario.author)).to.equal(scenario.expectedReturnValue); }); diff --git a/packages/maker/zip/src/MakerZIP.ts b/packages/maker/zip/src/MakerZIP.ts index af309a353d..2d36406aad 100644 --- a/packages/maker/zip/src/MakerZIP.ts +++ b/packages/maker/zip/src/MakerZIP.ts @@ -1,28 +1,21 @@ -import MakerBase, { MakerOptions } from '@electron-forge/maker-base'; +import MakerBase, { EmptyConfig, MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; import path from 'path'; import { promisify } from 'util'; -export type MakerZIPConfig = {}; +export type MakerZIPConfig = EmptyConfig; export default class MakerZIP extends MakerBase { name = 'zip'; defaultPlatforms: ForgePlatform[] = ['darwin', 'mas', 'win32', 'linux']; - isSupportedOnCurrentPlatform() { + isSupportedOnCurrentPlatform(): boolean { return true; } - async make({ - dir, - makeDir, - appName, - packageJSON, - targetArch, - targetPlatform, - }: MakerOptions) { + async make({ dir, makeDir, appName, packageJSON, targetArch, targetPlatform }: MakerOptions): Promise { // eslint-disable-next-line global-require const { zip } = require('cross-zip'); diff --git a/packages/plugin/auto-unpack-natives/src/AutoUnpackNativesPlugin.ts b/packages/plugin/auto-unpack-natives/src/AutoUnpackNativesPlugin.ts index c9ac57a821..615ee1155e 100644 --- a/packages/plugin/auto-unpack-natives/src/AutoUnpackNativesPlugin.ts +++ b/packages/plugin/auto-unpack-natives/src/AutoUnpackNativesPlugin.ts @@ -1,19 +1,19 @@ +import { ForgeConfig, ForgeHookFn } from '@electron-forge/shared-types'; import PluginBase from '@electron-forge/plugin-base'; -import { ForgeConfig } from '@electron-forge/shared-types'; import { AutoUnpackNativesConfig } from './Config'; export default class AutoUnpackNativesPlugin extends PluginBase { name = 'auto-unpack-natives'; - getHook(hookName: string) { + getHook(hookName: string): ForgeHookFn | null { if (hookName === 'resolveForgeConfig') { return this.resolveForgeConfig; } return null; } - resolveForgeConfig = async (forgeConfig: ForgeConfig) => { + resolveForgeConfig = async (forgeConfig: ForgeConfig): Promise => { if (!forgeConfig.packagerConfig) { forgeConfig.packagerConfig = {}; } @@ -31,5 +31,5 @@ export default class AutoUnpackNativesPlugin extends PluginBase implements IForgePlugin { }); } - init(_dir: string, _config: ForgeConfig) { + init(_dir: string, _config: ForgeConfig): void { + // By default, do nothing. This can be overridden. } getHook(_hookName: string): ForgeHookFn | null { diff --git a/packages/plugin/compile/package.json b/packages/plugin/compile/package.json index 456efa5ef4..d8ec983a2d 100644 --- a/packages/plugin/compile/package.json +++ b/packages/plugin/compile/package.json @@ -17,6 +17,7 @@ "dependencies": { "@electron-forge/async-ora": "6.0.0-beta.61", "@electron-forge/plugin-base": "6.0.0-beta.61", + "@electron-forge/shared-types": "^6.0.0-beta.61", "fs-extra": "^10.0.0" } } diff --git a/packages/plugin/compile/src/CompilePlugin.ts b/packages/plugin/compile/src/CompilePlugin.ts index aed705159a..2db989d834 100644 --- a/packages/plugin/compile/src/CompilePlugin.ts +++ b/packages/plugin/compile/src/CompilePlugin.ts @@ -1,3 +1,4 @@ +import { ForgeHookFn } from '@electron-forge/shared-types'; import PluginBase, { StartOptions } from '@electron-forge/plugin-base'; import * as path from 'path'; @@ -17,18 +18,18 @@ export default class LocalElectronPlugin extends PluginBase this.startLogic = this.startLogic.bind(this); } - init(dir: string) { + init(dir: string): void { this.dir = dir; } - getHook(hookName: string) { + getHook(hookName: string): ForgeHookFn | null { if (hookName === 'packageAfterCopy') { return createCompileHook(this.dir); } return null; } - async startLogic(_opts: StartOptions) { + async startLogic(_opts: StartOptions): Promise { return [process.execPath, path.resolve(this.dir, 'node_modules/electron-prebuilt-compile/lib/cli')]; } } diff --git a/packages/plugin/compile/src/Config.ts b/packages/plugin/compile/src/Config.ts index 88377389ec..d14e6118bb 100644 --- a/packages/plugin/compile/src/Config.ts +++ b/packages/plugin/compile/src/Config.ts @@ -1,3 +1,2 @@ -// eslint-disable-next-line import/prefer-default-export -export interface CompilePluginConfig { -} +// eslint-disable-next-line @typescript-eslint/no-empty-interface, import/prefer-default-export +export interface CompilePluginConfig {} diff --git a/packages/plugin/compile/src/lib/compile-hook.ts b/packages/plugin/compile/src/lib/compile-hook.ts index be6e71c353..f054858acc 100644 --- a/packages/plugin/compile/src/lib/compile-hook.ts +++ b/packages/plugin/compile/src/lib/compile-hook.ts @@ -1,40 +1,47 @@ /* eslint "no-console": "off" */ import { asyncOra } from '@electron-forge/async-ora'; +import { ForgeConfig } from '@electron-forge/shared-types'; import fs from 'fs-extra'; import path from 'path'; // eslint-disable-next-line import/prefer-default-export -export const createCompileHook = (originalDir: string) => async (_: any, buildPath: string) => { - await asyncOra('Compiling Application', async () => { - // eslint-disable-next-line import/no-dynamic-require, global-require - const compileCLI = require(path.resolve(originalDir, 'node_modules/electron-compile/lib/cli.js')); - - async function compileAndShim(appDir: string) { - for (const entry of await fs.readdir(appDir)) { - if (!entry.match(/^(node_modules|bower_components)$/)) { - const fullPath = path.join(appDir, entry); - - if ((await fs.stat(fullPath)).isDirectory()) { - const { log } = console; - console.log = () => {}; - await compileCLI.main(appDir, [fullPath]); - console.log = log; +export const createCompileHook = + (originalDir: string) => + async (_config: ForgeConfig, buildPath: string): Promise => { + await asyncOra('Compiling Application', async () => { + // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require + const compileCLI = require(path.resolve(originalDir, 'node_modules/electron-compile/lib/cli.js')); + + async function compileAndShim(appDir: string) { + for (const entry of await fs.readdir(appDir)) { + if (!entry.match(/^(node_modules|bower_components)$/)) { + const fullPath = path.join(appDir, entry); + + if ((await fs.stat(fullPath)).isDirectory()) { + const { log } = console; + console.log = () => { + /* disable log function for electron-compile */ + }; + await compileCLI.main(appDir, [fullPath]); + console.log = log; + } } } - } - const packageJSON = await fs.readJson(path.resolve(appDir, 'package.json')); + const packageJSON = await fs.readJson(path.resolve(appDir, 'package.json')); - const index = packageJSON.main || 'index.js'; - packageJSON.originalMain = index; - packageJSON.main = 'es6-shim.js'; + const index = packageJSON.main || 'index.js'; + packageJSON.originalMain = index; + packageJSON.main = 'es6-shim.js'; - await fs.writeFile(path.join(appDir, 'es6-shim.js'), - await fs.readFile(path.join(path.resolve(originalDir, 'node_modules/electron-compile/lib/es6-shim.js')), 'utf8')); + await fs.writeFile( + path.join(appDir, 'es6-shim.js'), + await fs.readFile(path.join(path.resolve(originalDir, 'node_modules/electron-compile/lib/es6-shim.js')), 'utf8') + ); - await fs.writeJson(path.join(appDir, 'package.json'), packageJSON, { spaces: 2 }); - } + await fs.writeJson(path.join(appDir, 'package.json'), packageJSON, { spaces: 2 }); + } - await compileAndShim(buildPath); - }); -}; + await compileAndShim(buildPath); + }); + }; diff --git a/packages/plugin/electronegativity/src/ElectronegativityPlugin.ts b/packages/plugin/electronegativity/src/ElectronegativityPlugin.ts index f168b29816..189d899b89 100644 --- a/packages/plugin/electronegativity/src/ElectronegativityPlugin.ts +++ b/packages/plugin/electronegativity/src/ElectronegativityPlugin.ts @@ -1,4 +1,4 @@ -import { ForgeConfig } from '@electron-forge/shared-types'; +import { ForgeConfig, ForgeHookFn } from '@electron-forge/shared-types'; import PluginBase from '@electron-forge/plugin-base'; import runElectronegativity from '@doyensec/electronegativity'; @@ -60,18 +60,21 @@ export type ElectronegativityConfig = { export default class ElectronegativityPlugin extends PluginBase { name = 'electronegativity'; - getHook(hookName: string) { + getHook(hookName: string): ForgeHookFn | null { if (hookName === 'postPackage') { return this.postPackage; } return null; } - postPackage = async (_forgeConfig: ForgeConfig, options: PostPackageOptions) => { - await runElectronegativity({ - ...this.config, - parserPlugins: this.config.parserPlugins ?? [], - input: options.outputPaths[0], - }, true); - } + postPackage = async (_forgeConfig: ForgeConfig, options: PostPackageOptions): Promise => { + await runElectronegativity( + { + ...this.config, + parserPlugins: this.config.parserPlugins ?? [], + input: options.outputPaths[0], + }, + true + ); + }; } diff --git a/packages/plugin/local-electron/package.json b/packages/plugin/local-electron/package.json index a7d7d688d0..e1a452219f 100644 --- a/packages/plugin/local-electron/package.json +++ b/packages/plugin/local-electron/package.json @@ -7,15 +7,16 @@ "license": "MIT", "main": "dist/LocalElectronPlugin.js", "typings": "dist/LocalElectronPlugin.d.ts", - "devDependencies": { - "chai": "^4.3.3", - "mocha": "^9.0.1" - }, "engines": { "node": ">= 12.13.0" }, "dependencies": { "@electron-forge/plugin-base": "6.0.0-beta.61", + "@electron-forge/shared-types": "6.0.0-beta.61", "fs-extra": "^10.0.0" + }, + "devDependencies": { + "chai": "^4.3.3", + "mocha": "^9.0.1" } } diff --git a/packages/plugin/local-electron/src/LocalElectronPlugin.ts b/packages/plugin/local-electron/src/LocalElectronPlugin.ts index c11cc8dd32..0a6dd110ce 100644 --- a/packages/plugin/local-electron/src/LocalElectronPlugin.ts +++ b/packages/plugin/local-electron/src/LocalElectronPlugin.ts @@ -1,3 +1,4 @@ +import { ForgeConfig, ForgeHookFn } from '@electron-forge/shared-types'; import PluginBase from '@electron-forge/plugin-base'; import fs from 'fs-extra'; @@ -13,22 +14,22 @@ export default class LocalElectronPlugin extends PluginBase { if (this.enabled) { this.checkPlatform(process.platform); process.env.ELECTRON_OVERRIDE_DIST_PATH = this.config.electronPath; } - return false as any; + return false; } - getHook(hookName: string) { + getHook(hookName: string): ForgeHookFn | null { if (hookName === 'packageAfterExtract') { return this.afterExtract; } @@ -37,23 +38,19 @@ export default class LocalElectronPlugin extends PluginBase { if ((this.config.electronPlatform || process.platform) !== platform) { - throw new Error(`Can not use local Electron version, required platform "${platform}" but local platform is "${this.config.electronPlatform || process.platform}"`); + throw new Error( + `Can not use local Electron version, required platform "${platform}" but local platform is "${this.config.electronPlatform || process.platform}"` + ); } - } + }; private checkArch = (arch: string) => { if ((this.config.electronArch || process.arch) !== arch) { throw new Error(`Can not use local Electron version, required arch "${arch}" but local arch is "${this.config.electronArch || process.arch}"`); } - } + }; - private afterExtract = async ( - _: any, - buildPath: string, - __: any, - platform: string, - arch: string, - ) => { + private afterExtract = async (_config: ForgeConfig, buildPath: string, _electronVersion: string, platform: string, arch: string) => { if (!this.enabled) return; this.checkPlatform(platform); @@ -62,5 +59,5 @@ export default class LocalElectronPlugin extends PluginBase { expect(process.env.ELECTRON_OVERRIDE_DIST_PATH).to.equal(undefined); }); - it('should throw an error if platforms don\'t match', async () => { + it("should throw an error if platforms don't match", async () => { const p = new LocalElectronPlugin({ electronPath: 'test/bar', electronPlatform: 'wut' }); await expect(p.startLogic()).to.eventually.be.rejectedWith( - `Can not use local Electron version, required platform "${process.platform}" but local platform is "wut"`, + `Can not use local Electron version, required platform "${process.platform}" but local platform is "wut"` ); }); @@ -73,27 +74,30 @@ describe('LocalElectronPlugin', () => { it('should do nothing when disabled', async () => { p.config.enabled = false; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const fn = p.getHook('packageAfterExtract')!; - await fn(null, tmpDir, null, process.platform, process.arch); + await fn({} as ForgeConfig, tmpDir, null, process.platform, process.arch); expect(await fs.pathExists(tmpDir)).to.equal(true); expect(await fs.pathExists(path.resolve(tmpDir, 'touch'))).to.equal(true); }); - it('should throw an error if the platform doesn\'t match', async () => { + it("should throw an error if the platform doesn't match", async () => { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const fn = p.getHook('packageAfterExtract')!; - await expect(fn(null, tmpDir, null, 'bad', process.arch)).to.eventually.be.rejectedWith( - `Can not use local Electron version, required platform "bad" but local platform is "${process.platform}"`, + await expect(fn({} as ForgeConfig, tmpDir, null, 'bad', process.arch)).to.eventually.be.rejectedWith( + `Can not use local Electron version, required platform "bad" but local platform is "${process.platform}"` ); }); - it('should throw an error if the arch doesn\'t match', async () => { + it("should throw an error if the arch doesn't match", async () => { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const fn = p.getHook('packageAfterExtract')!; - await expect(fn(null, tmpDir, null, process.platform, 'bad')).to.eventually.be.rejectedWith( - `Can not use local Electron version, required arch "bad" but local arch is "${process.arch}"`, + await expect(fn({} as ForgeConfig, tmpDir, null, process.platform, 'bad')).to.eventually.be.rejectedWith( + `Can not use local Electron version, required arch "bad" but local arch is "${process.arch}"` ); }); @@ -101,9 +105,10 @@ describe('LocalElectronPlugin', () => { const electronDir = await fs.mkdtemp(path.resolve(os.tmpdir(), 'electron-tmp-')); await fs.writeFile(path.resolve(electronDir, 'electron'), 'hi i am electron I swear'); p.config.electronPath = electronDir; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const fn = p.getHook('packageAfterExtract')!; - await fn(null, tmpDir, null, process.platform, process.arch); + await fn({} as ForgeConfig, tmpDir, null, process.platform, process.arch); expect(await fs.pathExists(path.resolve(tmpDir, 'touch'))).to.equal(false); expect(await fs.pathExists(path.resolve(tmpDir, 'electron'))).to.equal(true); diff --git a/packages/plugin/webpack/package.json b/packages/plugin/webpack/package.json index 79487217f8..082fbc36dc 100644 --- a/packages/plugin/webpack/package.json +++ b/packages/plugin/webpack/package.json @@ -14,6 +14,7 @@ "@malept/cross-spawn-promise": "^2.0.0", "@types/node": "^16.7.3", "chai": "^4.3.3", + "electron-packager": "^15.4.0", "mocha": "^9.0.1", "sinon": "^11.1.1", "xvfb-maybe": "^0.2.1" diff --git a/packages/plugin/webpack/src/Config.ts b/packages/plugin/webpack/src/Config.ts index d564953358..4af7e45a1d 100644 --- a/packages/plugin/webpack/src/Config.ts +++ b/packages/plugin/webpack/src/Config.ts @@ -69,7 +69,7 @@ export interface WebpackPluginRendererConfig { * Unfortunately, we cannot derive the value from the main process code as it can be a * dynamically generated value at runtime, and Webpack processes at build-time. * - * Defaults to `false` (as it is disabled by default in Electron >= 5). + * Defaults to `false` (as it is disabled by default in Electron \>= 5). */ nodeIntegration?: boolean; /** diff --git a/packages/plugin/webpack/src/WebpackConfig.ts b/packages/plugin/webpack/src/WebpackConfig.ts index 6bc6be3f55..6b40253844 100644 --- a/packages/plugin/webpack/src/WebpackConfig.ts +++ b/packages/plugin/webpack/src/WebpackConfig.ts @@ -7,6 +7,7 @@ import { WebpackPluginConfig, WebpackPluginEntryPoint, WebpackPreloadEntryPoint import AssetRelocatorPatch from './util/AssetRelocatorPatch'; type EntryType = string | string[] | Record; +type WebpackMode = 'production' | 'development'; const d = debug('electron-forge:plugin:webpack:webpackconfig'); @@ -21,12 +22,7 @@ export default class WebpackConfigGenerator { private webpackDir: string; - constructor( - pluginConfig: WebpackPluginConfig, - projectDir: string, - isProd: boolean, - port: number, - ) { + constructor(pluginConfig: WebpackPluginConfig, projectDir: string, isProd: boolean, port: number) { this.pluginConfig = pluginConfig; this.projectDir = projectDir; this.webpackDir = path.resolve(projectDir, '.webpack'); @@ -36,32 +32,28 @@ export default class WebpackConfigGenerator { d('Config mode:', this.mode); } - resolveConfig(config: Configuration | string) { + resolveConfig(config: Configuration | string): Configuration { if (typeof config === 'string') { - // eslint-disable-next-line import/no-dynamic-require, global-require + // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require return require(path.resolve(this.projectDir, config)) as Configuration; } return config; } - get mode() { + get mode(): WebpackMode { return this.isProd ? 'production' : 'development'; } - get rendererSourceMapOption() { + get rendererSourceMapOption(): string { return this.isProd ? 'source-map' : 'eval-source-map'; } - get rendererTarget() { + get rendererTarget(): string { return this.pluginConfig.renderer.nodeIntegration ? 'electron-renderer' : 'web'; } - rendererEntryPoint( - entryPoint: WebpackPluginEntryPoint, - inRendererDir: boolean, - basename: string, - ): string { + rendererEntryPoint(entryPoint: WebpackPluginEntryPoint, inRendererDir: boolean, basename: string): string { if (this.isProd) { return `\`file://$\{require('path').resolve(__dirname, '..', '${inRendererDir ? 'renderer' : '.'}', '${entryPoint.name}', '${basename}')}\``; } @@ -89,12 +81,9 @@ export default class WebpackConfigGenerator { return 'undefined'; } - getDefines(inRendererDir = true) { + getDefines(inRendererDir = true): Record { const defines: Record = {}; - if ( - !this.pluginConfig.renderer.entryPoints - || !Array.isArray(this.pluginConfig.renderer.entryPoints) - ) { + if (!this.pluginConfig.renderer.entryPoints || !Array.isArray(this.pluginConfig.renderer.entryPoints)) { throw new Error('Required config option "renderer.entryPoints" has not been defined'); } for (const entryPoint of this.pluginConfig.renderer.entryPoints) { @@ -113,7 +102,7 @@ export default class WebpackConfigGenerator { return defines; } - getMainConfig() { + getMainConfig(): Configuration { const mainConfig = this.resolveConfig(this.pluginConfig.mainConfig); if (!mainConfig.entry) { @@ -132,89 +121,89 @@ export default class WebpackConfigGenerator { }; mainConfig.entry = fix(mainConfig.entry as EntryType); - return webpackMerge({ - devtool: 'source-map', - target: 'electron-main', - mode: this.mode, - output: { - path: path.resolve(this.webpackDir, 'main'), - filename: 'index.js', - libraryTarget: 'commonjs2', + return webpackMerge( + { + devtool: 'source-map', + target: 'electron-main', + mode: this.mode, + output: { + path: path.resolve(this.webpackDir, 'main'), + filename: 'index.js', + libraryTarget: 'commonjs2', + }, + plugins: [new webpack.DefinePlugin(this.getDefines())], + node: { + __dirname: false, + __filename: false, + }, }, - plugins: [ - new webpack.DefinePlugin(this.getDefines()), - ], - node: { - __dirname: false, - __filename: false, - }, - }, mainConfig || {}); + mainConfig || {} + ); } - async getPreloadRendererConfig( - parentPoint: WebpackPluginEntryPoint, - entryPoint: WebpackPreloadEntryPoint, - ) { + async getPreloadRendererConfig(parentPoint: WebpackPluginEntryPoint, entryPoint: WebpackPreloadEntryPoint): Promise { const rendererConfig = this.resolveConfig(this.pluginConfig.renderer.config); const prefixedEntries = entryPoint.prefixedEntries || []; - return webpackMerge({ - devtool: this.rendererSourceMapOption, - mode: this.mode, - entry: prefixedEntries.concat([ - entryPoint.js, - ]), - output: { - path: path.resolve(this.webpackDir, 'renderer', parentPoint.name), - filename: 'preload.js', - }, - node: { - __dirname: false, - __filename: false, + return webpackMerge( + { + devtool: this.rendererSourceMapOption, + mode: this.mode, + entry: prefixedEntries.concat([entryPoint.js]), + output: { + path: path.resolve(this.webpackDir, 'renderer', parentPoint.name), + filename: 'preload.js', + }, + node: { + __dirname: false, + __filename: false, + }, }, - }, - rendererConfig || {}, - { target: 'electron-preload' }); + rendererConfig || {}, + { target: 'electron-preload' } + ); } - async getRendererConfig(entryPoints: WebpackPluginEntryPoint[]) { + async getRendererConfig(entryPoints: WebpackPluginEntryPoint[]): Promise { const rendererConfig = this.resolveConfig(this.pluginConfig.renderer.config); const entry: webpack.Entry = {}; for (const entryPoint of entryPoints) { const prefixedEntries = entryPoint.prefixedEntries || []; - entry[entryPoint.name] = prefixedEntries - .concat([entryPoint.js]); + entry[entryPoint.name] = prefixedEntries.concat([entryPoint.js]); } const defines = this.getDefines(false); - const plugins = entryPoints.filter((entryPoint) => Boolean(entryPoint.html)) - .map((entryPoint) => new HtmlWebpackPlugin({ - title: entryPoint.name, - template: entryPoint.html, - filename: `${entryPoint.name}/index.html`, - chunks: [entryPoint.name].concat(entryPoint.additionalChunks || []), - }) as WebpackPluginInstance).concat( - [ - new webpack.DefinePlugin(defines), - new AssetRelocatorPatch(this.isProd, !!this.pluginConfig.renderer.nodeIntegration), - ], - ); - return webpackMerge({ - entry, - devtool: this.rendererSourceMapOption, - target: this.rendererTarget, - mode: this.mode, - output: { - path: path.resolve(this.webpackDir, 'renderer'), - filename: '[name]/index.js', - globalObject: 'self', - ...(this.isProd ? {} : { publicPath: '/' }), - }, - node: { - __dirname: false, - __filename: false, + const plugins = entryPoints + .filter((entryPoint) => Boolean(entryPoint.html)) + .map( + (entryPoint) => + new HtmlWebpackPlugin({ + title: entryPoint.name, + template: entryPoint.html, + filename: `${entryPoint.name}/index.html`, + chunks: [entryPoint.name].concat(entryPoint.additionalChunks || []), + }) as WebpackPluginInstance + ) + .concat([new webpack.DefinePlugin(defines), new AssetRelocatorPatch(this.isProd, !!this.pluginConfig.renderer.nodeIntegration)]); + return webpackMerge( + { + entry, + devtool: this.rendererSourceMapOption, + target: this.rendererTarget, + mode: this.mode, + output: { + path: path.resolve(this.webpackDir, 'renderer'), + filename: '[name]/index.js', + globalObject: 'self', + ...(this.isProd ? {} : { publicPath: '/' }), + }, + node: { + __dirname: false, + __filename: false, + }, + plugins, }, - plugins, - }, rendererConfig || {}); + rendererConfig || {} + ); } } diff --git a/packages/plugin/webpack/src/WebpackPlugin.ts b/packages/plugin/webpack/src/WebpackPlugin.ts index 8713707de8..9e91fcd2bd 100644 --- a/packages/plugin/webpack/src/WebpackPlugin.ts +++ b/packages/plugin/webpack/src/WebpackPlugin.ts @@ -1,7 +1,7 @@ /* eslint "no-console": "off" */ import { asyncOra } from '@electron-forge/async-ora'; import PluginBase from '@electron-forge/plugin-base'; -import { ElectronProcess, ForgeConfig } from '@electron-forge/shared-types'; +import { ElectronProcess, ForgeConfig, ForgeHookFn } from '@electron-forge/shared-types'; import Logger, { Tab } from '@electron-forge/web-multi-logger'; import debug from 'debug'; import fs from 'fs-extra'; @@ -69,14 +69,16 @@ export default class WebpackPlugin extends PluginBase { } else { return true; } - } + }; - exitHandler = (options: { cleanup?: boolean; exit?: boolean }, err?: Error) => { + exitHandler = (options: { cleanup?: boolean; exit?: boolean }, err?: Error): void => { d('handling process exit with:', options); if (options.cleanup) { for (const watcher of this.watchers) { d('cleaning webpack watcher'); - watcher.close(() => {}); + watcher.close(() => { + /* Do nothing when the watcher closes */ + }); } this.watchers = []; for (const server of this.servers) { @@ -91,14 +93,12 @@ export default class WebpackPlugin extends PluginBase { this.loggers = []; } if (err) console.error(err.stack); + // Why: This is literally what the option says to do. + // eslint-disable-next-line no-process-exit if (options.exit) process.exit(); - } + }; - async writeJSONStats( - type: string, - stats: webpack.Stats | undefined, - statsOptions: WebpackToJsonOptions, - ): Promise { + async writeJSONStats(type: string, stats: webpack.Stats | undefined, statsOptions: WebpackToJsonOptions): Promise { if (!stats) return; d(`Writing JSON stats for ${type} config`); const jsonStats = stats.toJson(statsOptions); @@ -107,9 +107,9 @@ export default class WebpackPlugin extends PluginBase { } // eslint-disable-next-line max-len - private runWebpack = async (options: Configuration, isRenderer = false): Promise => new Promise((resolve, reject) => { - webpack(options) - .run(async (err, stats) => { + private runWebpack = async (options: Configuration, isRenderer = false): Promise => + new Promise((resolve, reject) => { + webpack(options).run(async (err, stats) => { if (isRenderer && this.config.renderer.jsonStats) { await this.writeJSONStats('renderer', stats, options.stats as WebpackToJsonOptions); } @@ -118,31 +118,26 @@ export default class WebpackPlugin extends PluginBase { } return resolve(stats); }); - }); + }); - init = (dir: string) => { + init = (dir: string): void => { this.setDirectories(dir); d('hooking process events'); process.on('exit', (_code) => this.exitHandler({ cleanup: true })); process.on('SIGINT' as NodeJS.Signals, (_signal) => this.exitHandler({ exit: true })); - } + }; - setDirectories = (dir: string) => { + setDirectories = (dir: string): void => { this.projectDir = dir; this.baseDir = path.resolve(dir, '.webpack'); - } + }; - get configGenerator() { + get configGenerator(): WebpackConfigGenerator { // eslint-disable-next-line no-underscore-dangle if (!this._configGenerator) { // eslint-disable-next-line no-underscore-dangle - this._configGenerator = new WebpackConfigGenerator( - this.config, - this.projectDir, - this.isProd, - this.port, - ); + this._configGenerator = new WebpackConfigGenerator(this.config, this.projectDir, this.isProd, this.port); } // eslint-disable-next-line no-underscore-dangle @@ -151,7 +146,7 @@ export default class WebpackPlugin extends PluginBase { private loggedOutputUrl = false; - getHook(name: string) { + getHook(name: string): ForgeHookFn | null { switch (name) { case 'prePackage': this.isProd = true; @@ -163,7 +158,7 @@ export default class WebpackPlugin extends PluginBase { case 'postStart': return async (_config: ForgeConfig, child: ElectronProcess) => { if (!this.loggedOutputUrl) { - console.info(`\n\nWebpack Output Available: ${(`http://localhost:${this.loggerPort}`).cyan}\n`); + console.info(`\n\nWebpack Output Available: ${`http://localhost:${this.loggerPort}`.cyan}\n`); this.loggedOutputUrl = true; } d('hooking electron process exit'); @@ -181,15 +176,17 @@ export default class WebpackPlugin extends PluginBase { } } - resolveForgeConfig = async (forgeConfig: ForgeConfig) => { + resolveForgeConfig = async (forgeConfig: ForgeConfig): Promise => { if (!forgeConfig.packagerConfig) { forgeConfig.packagerConfig = {}; } if (forgeConfig.packagerConfig.ignore) { if (typeof forgeConfig.packagerConfig.ignore !== 'function') { - console.error(`You have set packagerConfig.ignore, the Electron Forge webpack plugin normally sets this automatically. + console.error( + `You have set packagerConfig.ignore, the Electron Forge webpack plugin normally sets this automatically. -Your packaged app may be larger than expected if you dont ignore everything other than the '.webpack' folder`.red); +Your packaged app may be larger than expected if you dont ignore everything other than the '.webpack' folder`.red + ); } return forgeConfig; } @@ -207,9 +204,9 @@ Your packaged app may be larger than expected if you dont ignore everything othe return !/^[/\\]\.webpack($|[/\\]).*$/.test(file); }; return forgeConfig; - } + }; - packageAfterCopy = async (_: any, buildPath: string) => { + packageAfterCopy = async (_forgeConfig: ForgeConfig, buildPath: string): Promise => { const pj = await fs.readJson(path.resolve(this.projectDir, 'package.json')); if (pj.config) { delete pj.config.forge; @@ -219,32 +216,30 @@ Your packaged app may be larger than expected if you dont ignore everything othe pj.optionalDependencies = {}; pj.peerDependencies = {}; - await fs.writeJson( - path.resolve(buildPath, 'package.json'), - pj, - { - spaces: 2, - }, - ); + await fs.writeJson(path.resolve(buildPath, 'package.json'), pj, { + spaces: 2, + }); await fs.mkdirp(path.resolve(buildPath, 'node_modules')); - } + }; - compileMain = async (watch = false, logger?: Logger) => { + compileMain = async (watch = false, logger?: Logger): Promise => { let tab: Tab; if (logger) { tab = logger.createTab('Main Process'); } await asyncOra('Compiling Main Process Code', async () => { - const mainConfig = await this.configGenerator.getMainConfig(); + const mainConfig = this.configGenerator.getMainConfig(); await new Promise((resolve, reject) => { const compiler = webpack(mainConfig); const [onceResolve, onceReject] = once(resolve, reject); const cb: WebpackWatchHandler = async (err, stats) => { if (tab && stats) { - tab.log(stats.toString({ - colors: true, - })); + tab.log( + stats.toString({ + colors: true, + }) + ); } if (this.config.jsonStats) { await this.writeJSONStats('main', stats, mainConfig.stats as WebpackToJsonOptions); @@ -264,14 +259,11 @@ Your packaged app may be larger than expected if you dont ignore everything othe } }); }); - } + }; - compileRenderers = async (watch = false) => { + compileRenderers = async (watch = false): Promise => { await asyncOra('Compiling Renderer Template', async () => { - const stats = await this.runWebpack( - await this.configGenerator.getRendererConfig(this.config.renderer.entryPoints), - true, - ); + const stats = await this.runWebpack(await this.configGenerator.getRendererConfig(this.config.renderer.entryPoints), true); if (!watch && stats?.hasErrors()) { throw new Error(`Compilation errors in the renderer: ${stats.toString()}`); } @@ -281,7 +273,8 @@ Your packaged app may be larger than expected if you dont ignore everything othe if (entryPoint.preload) { await asyncOra(`Compiling Renderer Preload: ${entryPoint.name}`, async () => { const stats = await this.runWebpack( - await this.configGenerator.getPreloadRendererConfig(entryPoint, entryPoint.preload!), + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await this.configGenerator.getPreloadRendererConfig(entryPoint, entryPoint.preload!) ); if (stats?.hasErrors()) { @@ -290,9 +283,9 @@ Your packaged app may be larger than expected if you dont ignore everything othe }); } } - } + }; - launchDevServers = async (logger: Logger) => { + launchDevServers = async (logger: Logger): Promise => { await asyncOra('Launch Dev Servers', async () => { const tab = logger.createTab('Renderers'); const pluginLogs = new ElectronForgeLoggingPlugin(tab); @@ -312,31 +305,36 @@ Your packaged app may be larger than expected if you dont ignore everything othe if (entryPoint.preload) { const config = await this.configGenerator.getPreloadRendererConfig( entryPoint, - entryPoint.preload!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); await new Promise((resolve, reject) => { const tab = logger.createTab(`${entryPoint.name} - Preload`); const [onceResolve, onceReject] = once(resolve, reject); - this.watchers.push(webpack(config).watch({}, (err, stats) => { - if (stats) { - tab.log(stats.toString({ - colors: true, - })); - } - - if (err) return onceReject(err); - return onceResolve(undefined); - })); + this.watchers.push( + webpack(config).watch({}, (err, stats) => { + if (stats) { + tab.log( + stats.toString({ + colors: true, + }) + ); + } + + if (err) return onceReject(err); + return onceResolve(undefined); + }) + ); }); } } }); - } + }; devServerOptions(): Record { - const cspDirectives = this.config.devContentSecurityPolicy - ?? "default-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-eval' 'unsafe-inline' data:"; + const cspDirectives = + this.config.devContentSecurityPolicy ?? "default-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-eval' 'unsafe-inline' data:"; const defaults = { hot: true, diff --git a/packages/plugin/webpack/src/util/AssetRelocatorPatch.ts b/packages/plugin/webpack/src/util/AssetRelocatorPatch.ts index 6661073a05..f8ec4d6cbf 100644 --- a/packages/plugin/webpack/src/util/AssetRelocatorPatch.ts +++ b/packages/plugin/webpack/src/util/AssetRelocatorPatch.ts @@ -25,50 +25,47 @@ export default class AssetRelocatorPatch { return '""'; } - public apply(compiler: Compiler) { - compiler.hooks.compilation.tap( - 'asset-relocator-forge-patch', - (compilation) => { - // We intercept the Vercel loader code injection and replace __dirname with - // code that works with Electron Forge - // - // Here is where the injection occurs: - // https://github.com/vercel/webpack-asset-relocator-loader/blob/4710a018fc8fb64ad51efb368759616fb273618f/src/asset-relocator.js#L331-L339 - compilation.mainTemplate.hooks.requireExtensions.intercept({ - register: (tapInfo) => { - if (tapInfo.name === 'asset-relocator-loader') { - const originalFn = tapInfo.fn as (source: string, chunk: Chunk) => string; + public apply(compiler: Compiler): void { + compiler.hooks.compilation.tap('asset-relocator-forge-patch', (compilation) => { + // We intercept the Vercel loader code injection and replace __dirname with + // code that works with Electron Forge + // + // Here is where the injection occurs: + // https://github.com/vercel/webpack-asset-relocator-loader/blob/4710a018fc8fb64ad51efb368759616fb273618f/src/asset-relocator.js#L331-L339 + compilation.mainTemplate.hooks.requireExtensions.intercept({ + register: (tapInfo) => { + if (tapInfo.name === 'asset-relocator-loader') { + const originalFn = tapInfo.fn as (source: string, chunk: Chunk) => string; - tapInfo.fn = (source: string, chunk: Chunk) => { - const originalInjectCode = originalFn(source, chunk); + tapInfo.fn = (source: string, chunk: Chunk) => { + const originalInjectCode = originalFn(source, chunk); - // Since this is not a public API of the Vercel loader, it could - // change on patch versions and break things. - // - // If the injected code changes substantially, we throw an error - if (!originalInjectCode.includes('__webpack_require__.ab = __dirname + ')) { - throw new Error('The installed version of @vercel/webpack-asset-relocator-loader does not appear to be compatible with Forge'); - } + // Since this is not a public API of the Vercel loader, it could + // change on patch versions and break things. + // + // If the injected code changes substantially, we throw an error + if (!originalInjectCode.includes('__webpack_require__.ab = __dirname + ')) { + throw new Error('The installed version of @vercel/webpack-asset-relocator-loader does not appear to be compatible with Forge'); + } - if (this.isProd) { - return originalInjectCode.replace('__dirname', this.injectedProductionDirnameCode()); - } + if (this.isProd) { + return originalInjectCode.replace('__dirname', this.injectedProductionDirnameCode()); + } - return originalInjectCode.replace( - '__dirname', - // In development, the app is loaded via webpack-dev-server - // so __dirname is useless because it points to Electron - // internal code. Instead we hard-code the absolute path to - // the webpack output. - JSON.stringify(compiler.options.output.path), - ); - }; - } + return originalInjectCode.replace( + '__dirname', + // In development, the app is loaded via webpack-dev-server + // so __dirname is useless because it points to Electron + // internal code. Instead we hard-code the absolute path to + // the webpack output. + JSON.stringify(compiler.options.output.path) + ); + }; + } - return tapInfo; - }, - }); - }, - ); + return tapInfo; + }, + }); + }); } } diff --git a/packages/plugin/webpack/src/util/ElectronForgeLogging.ts b/packages/plugin/webpack/src/util/ElectronForgeLogging.ts index 2d2850e8f9..fb1e5d4ddb 100644 --- a/packages/plugin/webpack/src/util/ElectronForgeLogging.ts +++ b/packages/plugin/webpack/src/util/ElectronForgeLogging.ts @@ -10,6 +10,7 @@ export default class LoggingPlugin { promiseResolver: (() => void) | undefined; + // eslint-disable-next-line @typescript-eslint/no-explicit-any promiseRejector: ((reason?: any) => void) | undefined; constructor(tab: Tab) { @@ -20,11 +21,18 @@ export default class LoggingPlugin { private addRun() { if (this.promiseResolver) this.promiseResolver(); - asyncOra('Compiling Renderer Code', () => new Promise((resolve, reject) => { - const [onceResolve, onceReject] = once(resolve, reject); - this.promiseResolver = onceResolve; - this.promiseRejector = onceReject; - }), () => {}); + asyncOra( + 'Compiling Renderer Code', + () => + new Promise((resolve, reject) => { + const [onceResolve, onceReject] = once(resolve, reject); + this.promiseResolver = onceResolve; + this.promiseRejector = onceReject; + }), + () => { + /* do not exit */ + } + ); } private finishRun(error?: string) { @@ -34,15 +42,17 @@ export default class LoggingPlugin { this.promiseResolver = undefined; } - apply(compiler: Compiler) { + apply(compiler: Compiler): void { compiler.hooks.watchRun.tap(pluginName, (_compiler) => { this.addRun(); }); compiler.hooks.done.tap(pluginName, (stats) => { if (stats) { - this.tab.log(stats.toString({ - colors: true, - })); + this.tab.log( + stats.toString({ + colors: true, + }) + ); if (stats.hasErrors()) { this.finishRun(stats.compilation.getErrors().toString()); return; @@ -51,12 +61,9 @@ export default class LoggingPlugin { this.finishRun(); }); compiler.hooks.failed.tap(pluginName, (err) => this.finishRun(err.message)); - compiler.hooks.infrastructureLog.tap( - pluginName, - (name: string, _type: string, args: string[]) => { - this.tab.log(`${name} - ${args.join(' ')}\n`); - return true; - }, - ); + compiler.hooks.infrastructureLog.tap(pluginName, (name: string, _type: string, args: string[]) => { + this.tab.log(`${name} - ${args.join(' ')}\n`); + return true; + }); } } diff --git a/packages/plugin/webpack/src/util/once.ts b/packages/plugin/webpack/src/util/once.ts index 737cbb8ccc..7ba6d7db39 100644 --- a/packages/plugin/webpack/src/util/once.ts +++ b/packages/plugin/webpack/src/util/once.ts @@ -1,16 +1,14 @@ -/* eslint "arrow-parens": "off" */ +/* eslint "arrow-parens": "off", "@typescript-eslint/no-explicit-any": "off" */ export default (fn1: A, fn2: B): [A, B] => { let once = true; let val: any; - const make = (fn: T): T => ((...args: any[]) => { - if (once) { - val = (fn as any)(...args); - once = false; - } - return val; - }) as any as T; - return [ - make(fn1), - make(fn2), - ]; + const make = (fn: T): T => + ((...args: any[]) => { + if (once) { + val = (fn as any)(...args); + once = false; + } + return val; + }) as unknown as T; + return [make(fn1), make(fn2)]; }; diff --git a/packages/plugin/webpack/test/AssetRelocatorPatch_spec.ts b/packages/plugin/webpack/test/AssetRelocatorPatch_spec.ts index 0d136e3d05..ce5d94d55b 100644 --- a/packages/plugin/webpack/test/AssetRelocatorPatch_spec.ts +++ b/packages/plugin/webpack/test/AssetRelocatorPatch_spec.ts @@ -9,7 +9,7 @@ import WebpackConfigGenerator from '../src/WebpackConfig'; type Closeable = { close: () => void; -} +}; let servers: Closeable[] = []; @@ -44,26 +44,28 @@ async function asyncWebpack(config: Configuration): Promise { * basic server. */ function createSimpleDevServer(rendererOut: string): http.Server { - return http.createServer(async (req, res) => { - const url = (req.url || ''); - const file = url.endsWith('main_window') ? path.join(url, '/index.html') : url; - const fullPath = path.join(rendererOut, file); - try { - const data = await readFile(fullPath); - res.writeHead(200); - res.end(data); - } catch (err) { - res.writeHead(404); - res.end(JSON.stringify(err)); - } - }).listen(3000); + return http + .createServer(async (req, res) => { + const url = req.url || ''; + const file = url.endsWith('main_window') ? path.join(url, '/index.html') : url; + const fullPath = path.join(rendererOut, file); + try { + const data = await readFile(fullPath); + res.writeHead(200); + res.end(data); + } catch (err) { + res.writeHead(404); + res.end(JSON.stringify(err)); + } + }) + .listen(3000); } type ExpectNativeModulePathOptions = { - outDir: string, - jsPath: string, - nativeModulesString: string, - nativePathString: string + outDir: string; + jsPath: string; + nativeModulesString: string; + nativePathString: string; }; async function expectOutputFileToHaveTheCorrectNativeModulePath({ @@ -141,7 +143,9 @@ describe('AssetRelocatorPatch', () => { it('builds preload', async () => { const entryPoint = config.renderer.entryPoints[0]; const preloadConfig = await generator.getPreloadRendererConfig( - entryPoint, entryPoint.preload!, + entryPoint, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); await asyncWebpack(preloadConfig); @@ -194,7 +198,9 @@ describe('AssetRelocatorPatch', () => { it('builds preload', async () => { const entryPoint = config.renderer.entryPoints[0]; const preloadConfig = await generator.getPreloadRendererConfig( - entryPoint, entryPoint.preload!, + entryPoint, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); await asyncWebpack(preloadConfig); diff --git a/packages/plugin/webpack/test/WebpackConfig_spec.ts b/packages/plugin/webpack/test/WebpackConfig_spec.ts index 614d2c79e2..59b6c6254e 100644 --- a/packages/plugin/webpack/test/WebpackConfig_spec.ts +++ b/packages/plugin/webpack/test/WebpackConfig_spec.ts @@ -67,10 +67,12 @@ describe('WebpackConfigGenerator', () => { it('sets the renderer entry point to a JS file in development', () => { const config = { renderer: { - entryPoints: [{ - name: 'hello', - js: 'foo.js', - }], + entryPoints: [ + { + name: 'hello', + js: 'foo.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, '/', false, 3000); @@ -82,10 +84,12 @@ describe('WebpackConfigGenerator', () => { it('sets the renderer entry point to a JS file in production', () => { const config = { renderer: { - entryPoints: [{ - name: 'hello', - js: 'foo.js', - }], + entryPoints: [ + { + name: 'hello', + js: 'foo.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, '/', true, 3000); @@ -98,11 +102,13 @@ describe('WebpackConfigGenerator', () => { it('sets the renderer entry point to an HTML file if both an HTML & JS file are specified', () => { const config = { renderer: { - entryPoints: [{ - name: 'hello', - html: 'foo.html', - js: 'foo.js', - }], + entryPoints: [ + { + name: 'hello', + html: 'foo.html', + js: 'foo.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, '/', false, 3000); @@ -245,19 +251,22 @@ describe('WebpackConfigGenerator', () => { it('generates a development config', async () => { const config = { renderer: { - entryPoints: [{ - name: 'main', - preload: { - js: 'preloadScript.js', + entryPoints: [ + { + name: 'main', + preload: { + js: 'preloadScript.js', + }, }, - }], + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, false, 3000); const entryPoint = config.renderer.entryPoints[0]; const webpackConfig = await generator.getPreloadRendererConfig( entryPoint, - entryPoint.preload!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); expect(webpackConfig.target).to.equal('electron-preload'); expect(webpackConfig.mode).to.equal('development'); @@ -272,19 +281,22 @@ describe('WebpackConfigGenerator', () => { it('generates a production config', async () => { const config = { renderer: { - entryPoints: [{ - name: 'main', - preload: { - js: 'preload.js', + entryPoints: [ + { + name: 'main', + preload: { + js: 'preload.js', + }, }, - }], + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, true, 3000); const entryPoint = config.renderer.entryPoints[0]; const webpackConfig = await generator.getPreloadRendererConfig( entryPoint, - entryPoint.preload!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); expect(webpackConfig.target).to.equal('electron-preload'); expect(webpackConfig.mode).to.equal('production'); @@ -301,19 +313,22 @@ describe('WebpackConfigGenerator', () => { config: { target: 'web', }, - entryPoints: [{ - name: 'main', - preload: { - js: 'preload.js', + entryPoints: [ + { + name: 'main', + preload: { + js: 'preload.js', + }, }, - }], + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, true, 3000); const entryPoint = config.renderer.entryPoints[0]; const webpackConfig = await generator.getPreloadRendererConfig( entryPoint, - entryPoint.preload!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + entryPoint.preload! ); expect(webpackConfig.target).to.equal('electron-preload'); }); @@ -323,10 +338,12 @@ describe('WebpackConfigGenerator', () => { it('generates a development config', async () => { const config = { renderer: { - entryPoints: [{ - name: 'main', - js: 'rendererScript.js', - }], + entryPoints: [ + { + name: 'main', + js: 'rendererScript.js', + }, + ], nodeIntegration: true, }, } as WebpackPluginConfig; @@ -343,6 +360,7 @@ describe('WebpackConfigGenerator', () => { globalObject: 'self', publicPath: '/', }); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion expect(webpackConfig.plugins!.length).to.equal(2); expect(hasAssetRelocatorPatchPlugin(webpackConfig.plugins)).to.equal(true); }); @@ -350,20 +368,21 @@ describe('WebpackConfigGenerator', () => { it('generates a development config with an HTML endpoint', async () => { const config = { renderer: { - entryPoints: [{ - name: 'main', - html: 'renderer.html', - js: 'rendererScript.js', - }], + entryPoints: [ + { + name: 'main', + html: 'renderer.html', + js: 'rendererScript.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, false, 3000); const webpackConfig = await generator.getRendererConfig(config.renderer.entryPoints); expect(webpackConfig.entry).to.deep.equal({ - main: [ - 'rendererScript.js', - ], + main: ['rendererScript.js'], }); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion expect(webpackConfig.plugins!.length).to.equal(3); expect(hasAssetRelocatorPatchPlugin(webpackConfig.plugins)).to.equal(true); }); @@ -371,10 +390,12 @@ describe('WebpackConfigGenerator', () => { it('generates a production config', async () => { const config = { renderer: { - entryPoints: [{ - name: 'main', - js: 'rendererScript.js', - }], + entryPoints: [ + { + name: 'main', + js: 'rendererScript.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, true, 3000); @@ -389,6 +410,7 @@ describe('WebpackConfigGenerator', () => { filename: '[name]/index.js', globalObject: 'self', }); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion expect(webpackConfig.plugins!.length).to.equal(2); expect(hasAssetRelocatorPatchPlugin(webpackConfig.plugins)).to.equal(true); }); @@ -399,10 +421,12 @@ describe('WebpackConfigGenerator', () => { config: { target: 'web', }, - entryPoints: [{ - name: 'main', - js: 'renderer.js', - }], + entryPoints: [ + { + name: 'main', + js: 'renderer.js', + }, + ], }, } as WebpackPluginConfig; const generator = new WebpackConfigGenerator(config, mockProjectDir, true, 3000); diff --git a/packages/plugin/webpack/test/WebpackPlugin_spec.ts b/packages/plugin/webpack/test/WebpackPlugin_spec.ts index 3d7284c0de..5431c2d869 100644 --- a/packages/plugin/webpack/test/WebpackPlugin_spec.ts +++ b/packages/plugin/webpack/test/WebpackPlugin_spec.ts @@ -1,6 +1,7 @@ import { expect } from 'chai'; import { ForgeConfig } from '@electron-forge/shared-types'; import * as fs from 'fs-extra'; +import { IgnoreFunction } from 'electron-packager'; import * as os from 'os'; import * as path from 'path'; @@ -43,7 +44,7 @@ describe('WebpackPlugin', () => { it('should remove config.forge from package.json', async () => { const packageJSON = { config: { forge: 'config.js' } }; await fs.writeJson(packageJSONPath, packageJSON); - await plugin.packageAfterCopy(null, packagedPath); + await plugin.packageAfterCopy({} as ForgeConfig, packagedPath); expect(await fs.pathExists(packagedPackageJSONPath)).to.equal(true); expect((await fs.readJson(packagedPackageJSONPath)).config).to.not.have.property('forge'); }); @@ -51,9 +52,9 @@ describe('WebpackPlugin', () => { it('should succeed if there is no config.forge', async () => { const packageJSON = { name: 'test' }; await fs.writeJson(packageJSONPath, packageJSON); - await plugin.packageAfterCopy(null, packagedPath); + await plugin.packageAfterCopy({} as ForgeConfig, packagedPath); expect(await fs.pathExists(packagedPackageJSONPath)).to.equal(true); - expect((await fs.readJson(packagedPackageJSONPath))).to.not.have.property('config'); + expect(await fs.readJson(packagedPackageJSONPath)).to.not.have.property('config'); }); after(async () => { @@ -87,7 +88,7 @@ describe('WebpackPlugin', () => { it('ignores everything but files in .webpack', async () => { const config = await plugin.resolveForgeConfig({} as ForgeConfig); - const ignore = config.packagerConfig.ignore as Function; + const ignore = config.packagerConfig.ignore as IgnoreFunction; expect(ignore('')).to.equal(false); expect(ignore('/abc')).to.equal(true); @@ -100,7 +101,7 @@ describe('WebpackPlugin', () => { webpackConfig.renderer.jsonStats = true; plugin = new WebpackPlugin(webpackConfig); const config = await plugin.resolveForgeConfig({} as ForgeConfig); - const ignore = config.packagerConfig.ignore as Function; + const ignore = config.packagerConfig.ignore as IgnoreFunction; expect(ignore(path.join('foo', 'bar', '.webpack', 'main', 'stats.json'))).to.equal(true); expect(ignore(path.join('foo', 'bar', '.webpack', 'renderer', 'stats.json'))).to.equal(true); diff --git a/packages/plugin/webpack/test/fixtures/apps/native-modules/package.json b/packages/plugin/webpack/test/fixtures/apps/native-modules/package.json index e66025f5b7..b271491dd3 100644 --- a/packages/plugin/webpack/test/fixtures/apps/native-modules/package.json +++ b/packages/plugin/webpack/test/fixtures/apps/native-modules/package.json @@ -1,16 +1,16 @@ -{ - "name": "native-app", - "version": "1.0.0", - "main": "./.webpack/main/index.js", - "license": "MIT", - "scripts": { - "start": "electron ." - }, - "devDependencies": { - "@vercel/webpack-asset-relocator-loader": "1.7.0", - "electron": "^13.1.2" - }, - "dependencies": { - "native-hello-world": "^2.0.0" - } -} +{ + "name": "native-app", + "version": "1.0.0", + "main": "./.webpack/main/index.js", + "license": "MIT", + "scripts": { + "start": "electron ." + }, + "devDependencies": { + "@vercel/webpack-asset-relocator-loader": "1.7.0", + "electron": "^13.1.2" + }, + "dependencies": { + "native-hello-world": "^2.0.0" + } +} diff --git a/packages/plugin/webpack/test/fixtures/apps/native-modules/src/index.html b/packages/plugin/webpack/test/fixtures/apps/native-modules/src/index.html index 6c595e4f36..d4b04306a6 100644 --- a/packages/plugin/webpack/test/fixtures/apps/native-modules/src/index.html +++ b/packages/plugin/webpack/test/fixtures/apps/native-modules/src/index.html @@ -1,5 +1,7 @@ - - - Test - - + + + + Test + + + diff --git a/packages/plugin/webpack/test/fixtures/apps/native-modules/src/preload.js b/packages/plugin/webpack/test/fixtures/apps/native-modules/src/preload.js index 6fcf702519..e8fda1badb 100644 --- a/packages/plugin/webpack/test/fixtures/apps/native-modules/src/preload.js +++ b/packages/plugin/webpack/test/fixtures/apps/native-modules/src/preload.js @@ -1,4 +1,4 @@ -import { ipcRenderer } from 'electron'; - -const helloWorld = require('native-hello-world'); -ipcRenderer.send('stdout', `${helloWorld()} from the preload`); +import { ipcRenderer } from 'electron'; + +const helloWorld = require('native-hello-world'); +ipcRenderer.send('stdout', `${helloWorld()} from the preload`); diff --git a/packages/plugin/webpack/test/fixtures/main_config_external/mainConfig.js b/packages/plugin/webpack/test/fixtures/main_config_external/mainConfig.js index 331e00d51b..40e652f497 100644 --- a/packages/plugin/webpack/test/fixtures/main_config_external/mainConfig.js +++ b/packages/plugin/webpack/test/fixtures/main_config_external/mainConfig.js @@ -1,3 +1,3 @@ module.exports = { - entry: './foo/main.js' -} + entry: './foo/main.js', +}; diff --git a/packages/plugin/webpack/test/once_spec.ts b/packages/plugin/webpack/test/once_spec.ts index 22bca38f1e..5da5635830 100644 --- a/packages/plugin/webpack/test/once_spec.ts +++ b/packages/plugin/webpack/test/once_spec.ts @@ -1,11 +1,11 @@ import { expect } from 'chai'; -import sinon from 'sinon'; +import { fake } from 'sinon'; import once from '../src/util/once'; describe('Once', () => { it('triggers wrapped function', () => { - const fakeA = sinon.fake(); - const fakeB = sinon.fake(); + const fakeA = fake(); + const fakeB = fake(); const [wrappedA] = once(fakeA, fakeB); wrappedA(); expect(fakeA.called).to.equal(true); @@ -13,8 +13,8 @@ describe('Once', () => { }); it('triggers only once', () => { - const fakeA = sinon.fake(); - const fakeB = sinon.fake(); + const fakeA = fake(); + const fakeB = fake(); const [wrappedA, wrappedB] = once(fakeA, fakeB); wrappedA(); wrappedB(); diff --git a/packages/publisher/base/package.json b/packages/publisher/base/package.json index 2d899ad358..24ccbc6f83 100644 --- a/packages/publisher/base/package.json +++ b/packages/publisher/base/package.json @@ -7,6 +7,10 @@ "license": "MIT", "main": "dist/Publisher.js", "typings": "dist/Publisher.d.ts", + "scripts": { + "test": "yarn test:base test/**/*_spec.ts", + "test:base": "cross-env TS_NODE_FILES=1 mocha --config ../../../.mocharc.js" + }, "dependencies": { "@electron-forge/shared-types": "6.0.0-beta.61" }, diff --git a/packages/publisher/base/src/Publisher.ts b/packages/publisher/base/src/Publisher.ts index ec91bff91b..5e7c69ad28 100644 --- a/packages/publisher/base/src/Publisher.ts +++ b/packages/publisher/base/src/Publisher.ts @@ -1,7 +1,5 @@ // eslint-disable-next-line import/no-extraneous-dependencies -import { - ForgePlatform, ForgeConfig, ForgeMakeResult, IForgePublisher, -} from '@electron-forge/shared-types'; +import { ForgePlatform, ForgeConfig, ForgeMakeResult, IForgePublisher } from '@electron-forge/shared-types'; export interface PublisherOptions { /** @@ -36,10 +34,10 @@ export default abstract class Publisher implements IForgePublisher { }); } - get platforms() { + get platforms(): ForgePlatform[] { if (this.providedPlatforms) return this.providedPlatforms; if (this.defaultPlatforms) return this.defaultPlatforms; - return ['win32', 'linux', 'darwin', 'mas'] as ForgePlatform[]; + return ['win32', 'linux', 'darwin', 'mas']; } /** @@ -53,7 +51,8 @@ export default abstract class Publisher implements IForgePublisher { * you will have to create the version on GitHub and the second call will just * be appending files to the existing version. */ - async publish(opts: PublisherOptions) { // eslint-disable-line @typescript-eslint/no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async publish(opts: PublisherOptions): Promise { throw new Error(`Publisher ${this.name} did not implement the publish method`); } } diff --git a/packages/publisher/base/test/Publisher_spec.ts b/packages/publisher/base/test/Publisher_spec.ts index 21a88f6218..bf58750949 100644 --- a/packages/publisher/base/test/Publisher_spec.ts +++ b/packages/publisher/base/test/Publisher_spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; -import Publisher from '../src/Publisher'; +import Publisher, { PublisherOptions } from '../src/Publisher'; class PublisherImpl extends Publisher { defaultPlatforms = []; @@ -17,7 +17,7 @@ describe('Publisher', () => { it('__isElectronForgePublisher should not be settable', () => { const publisher = new PublisherImpl(null); expect(() => { - // eslint-disable-next-line no-underscore-dangle + // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-underscore-dangle (publisher as any).__isElectronForgePublisher = false; }).to.throw(); expect(() => { @@ -28,8 +28,8 @@ describe('Publisher', () => { expect(publisher).to.have.property('__isElectronForgePublisher', true); }); - it('should throw an error when publish is called is called', (done) => { + it('should throw an error when publish is called is called', async () => { const publisher = new PublisherImpl(null); - publisher.publish({} as any).catch(() => done()); + await expect(publisher.publish({} as PublisherOptions)).to.eventually.be.rejected; }); }); diff --git a/packages/publisher/bitbucket/src/PublisherBitbucket.ts b/packages/publisher/bitbucket/src/PublisherBitbucket.ts index e79d1bfdf2..456f0cc268 100644 --- a/packages/publisher/bitbucket/src/PublisherBitbucket.ts +++ b/packages/publisher/bitbucket/src/PublisherBitbucket.ts @@ -11,22 +11,26 @@ import { PublisherBitbucketConfig } from './Config'; export default class PublisherBitbucket extends PublisherBase { name = 'bitbucket'; - async publish({ makeResults }: PublisherOptions) { + async publish({ makeResults }: PublisherOptions): Promise { const { config } = this; const hasRepositoryConfig = config.repository && typeof config.repository; const replaceExistingFiles = Boolean(config.replaceExistingFiles); const appPassword = process.env.BITBUCKET_APP_PASSWORD; const username = process.env.BITBUCKET_USERNAME; - const auth = { appPassword, username, ...config.auth || {} }; + const auth = { appPassword, username, ...(config.auth || {}) }; const apiUrl = `https://api.bitbucket.org/2.0/repositories/${config.repository.owner}/${config.repository.name}/downloads`; const encodedUserAndPass = Buffer.from(`${auth.username}:${auth.appPassword}`).toString('base64'); if (!(hasRepositoryConfig && config.repository.owner && config.repository.name)) { - throw new Error('In order to publish to Bitbucket you must set the "repository.owner" and "repository.name" properties in your Forge config. See the docs for more info'); + throw new Error( + 'In order to publish to Bitbucket you must set the "repository.owner" and "repository.name" properties in your Forge config. See the docs for more info' + ); } if (!auth.appPassword || !auth.username) { - throw new Error('In order to publish to Bitbucket provide credentials, either through "auth.appPassword" and "auth.username" properties in your Forge config or using BITBUCKET_APP_PASSWORD and BITBUCKET_USERNAME environment variables'); + throw new Error( + 'In order to publish to Bitbucket provide credentials, either through "auth.appPassword" and "auth.username" properties in your Forge config or using BITBUCKET_APP_PASSWORD and BITBUCKET_USERNAME environment variables' + ); } for (const [index, makeResult] of makeResults.entries()) { @@ -54,7 +58,9 @@ export default class PublisherBitbucket extends PublisherBase => { +const fetchAndCheckStatus = async (url: RequestInfo, init?: RequestInit): Promise => { const result = await fetch(url, init); - if (result.ok) { // res.status >= 200 && res.status < 300 + if (result.ok) { + // res.status >= 200 && res.status < 300 return result; } throw new Error(`ERS publish failed with status code: ${result.status} (${result.url})`); }; -export const ersPlatform = (platform: ForgePlatform, arch: ForgeArch) => { +export const ersPlatform = (platform: ForgePlatform, arch: ForgeArch): string => { switch (platform) { case 'darwin': return 'osx_64'; @@ -44,30 +42,35 @@ export const ersPlatform = (platform: ForgePlatform, arch: ForgeArch) => { export default class PublisherERS extends PublisherBase { name = 'electron-release-server'; - async publish({ makeResults }: PublisherOptions) { + async publish({ makeResults }: PublisherOptions): Promise { const { config } = this; if (!(config.baseUrl && config.username && config.password)) { - throw new Error('In order to publish to ERS you must set the "electronReleaseServer.baseUrl", "electronReleaseServer.username" and "electronReleaseServer.password" properties in your Forge config. See the docs for more info'); + throw new Error( + 'In order to publish to ERS you must set the "electronReleaseServer.baseUrl", "electronReleaseServer.username" and "electronReleaseServer.password" properties in your Forge config. See the docs for more info' + ); } d('attempting to authenticate to ERS'); const api = (apiPath: string) => `${config.baseUrl}/${apiPath}`; - const { token } = await (await fetchAndCheckStatus(api('api/auth/login'), { - method: 'POST', - body: JSON.stringify({ - username: config.username, - password: config.password, - }), - headers: { - 'Content-Type': 'application/json', - }, - })).json(); + const { token } = await ( + await fetchAndCheckStatus(api('api/auth/login'), { + method: 'POST', + body: JSON.stringify({ + username: config.username, + password: config.password, + }), + headers: { + 'Content-Type': 'application/json', + }, + }) + ).json(); // eslint-disable-next-line max-len - const authFetch = (apiPath: string, options?: any) => fetchAndCheckStatus(api(apiPath), { ...options || {}, headers: { ...(options || {}).headers, Authorization: `Bearer ${token}` } }); + const authFetch = (apiPath: string, options?: RequestInit) => + fetchAndCheckStatus(api(apiPath), { ...(options || {}), headers: { ...(options || {}).headers, Authorization: `Bearer ${token}` } }); const versions: ERSVersion[] = await (await authFetch('api/version')).json(); @@ -110,34 +113,34 @@ export default class PublisherERS extends PublisherBase { uploadSpinner.text = getText(); }; - await Promise.all(artifacts.map(async (artifactPath) => { - if (existingVersion) { - const existingAsset = existingVersion.assets.find( - (asset) => asset.name === path.basename(artifactPath), - ); - - if (existingAsset) { - d('asset at path:', artifactPath, 'already exists on server'); - uploaded += 1; - updateSpinner(); - return; + await Promise.all( + artifacts.map(async (artifactPath) => { + if (existingVersion) { + const existingAsset = existingVersion.assets.find((asset) => asset.name === path.basename(artifactPath)); + + if (existingAsset) { + d('asset at path:', artifactPath, 'already exists on server'); + uploaded += 1; + updateSpinner(); + return; + } } - } - d('attempting to upload asset:', artifactPath); - const artifactForm = new FormData(); - artifactForm.append('token', token); - artifactForm.append('version', packageJSON.version); - artifactForm.append('platform', ersPlatform(makeResult.platform, makeResult.arch)); - artifactForm.append('file', fs.createReadStream(artifactPath)); - await authFetch('api/asset', { - method: 'POST', - body: artifactForm, - headers: artifactForm.getHeaders(), - }); - d('upload successful for asset:', artifactPath); - uploaded += 1; - updateSpinner(); - })); + d('attempting to upload asset:', artifactPath); + const artifactForm = new FormData(); + artifactForm.append('token', token); + artifactForm.append('version', packageJSON.version); + artifactForm.append('platform', ersPlatform(makeResult.platform, makeResult.arch)); + artifactForm.append('file', fs.createReadStream(artifactPath)); + await authFetch('api/asset', { + method: 'POST', + body: artifactForm, + headers: artifactForm.getHeaders(), + }); + d('upload successful for asset:', artifactPath); + uploaded += 1; + updateSpinner(); + }) + ); }); } } diff --git a/packages/publisher/electron-release-server/test/PublisherERS_spec.ts b/packages/publisher/electron-release-server/test/PublisherERS_spec.ts index 6803430285..ef4912105a 100644 --- a/packages/publisher/electron-release-server/test/PublisherERS_spec.ts +++ b/packages/publisher/electron-release-server/test/PublisherERS_spec.ts @@ -19,7 +19,9 @@ describe('PublisherERS', () => { username: 'test', password: 'test', }); - return expect(publisher.publish({ makeResults: [], dir: '', forgeConfig: {} as ForgeConfig })).to.eventually.be.rejectedWith('ERS publish failed with status code: 400 (http://example.com/api/auth/login)'); + return expect(publisher.publish({ makeResults: [], dir: '', forgeConfig: {} as ForgeConfig })).to.eventually.be.rejectedWith( + 'ERS publish failed with status code: 400 (http://example.com/api/auth/login)' + ); }); afterEach(() => { diff --git a/packages/publisher/github/src/Config.ts b/packages/publisher/github/src/Config.ts index e4bce12114..90963e14b5 100644 --- a/packages/publisher/github/src/Config.ts +++ b/packages/publisher/github/src/Config.ts @@ -26,7 +26,7 @@ export interface PublisherGitHubConfig { */ authToken?: string; /** - * This options object is directly passed to @octokit/rest so you can + * This options object is directly passed to \@octokit/rest so you can * customize any of the options that module uses. This is particularly * helpful for publishing to GitHub Enterprise servers. */ diff --git a/packages/publisher/github/src/PublisherGithub.ts b/packages/publisher/github/src/PublisherGithub.ts index ad9e657443..85128e42c8 100644 --- a/packages/publisher/github/src/PublisherGithub.ts +++ b/packages/publisher/github/src/PublisherGithub.ts @@ -23,7 +23,7 @@ interface GitHubRelease { export default class PublisherGithub extends PublisherBase { name = 'github'; - async publish({ makeResults }: PublisherOptions) { + async publish({ makeResults }: PublisherOptions): Promise { const { config } = this; const perReleaseArtifacts: { @@ -38,18 +38,17 @@ export default class PublisherGithub extends PublisherBase; - type OctokitReleaseAsset = GetResponseDataTypeFromEndpointMethod< - typeof octokit.repos.updateReleaseAsset - >; + type OctokitReleaseAsset = GetResponseDataTypeFromEndpointMethod; for (const releaseName of Object.keys(perReleaseArtifacts)) { let release: OctokitRelease | undefined; @@ -57,25 +56,29 @@ export default class PublisherGithub extends PublisherBase { try { - release = (await github.getGitHub().repos.listReleases({ - owner: config.repository.owner, - repo: config.repository.name, - per_page: 100, - })).data.find((testRelease: GitHubRelease) => testRelease.tag_name === `v${releaseName}`); + release = ( + await github.getGitHub().repos.listReleases({ + owner: config.repository.owner, + repo: config.repository.name, + per_page: 100, + }) + ).data.find((testRelease: GitHubRelease) => testRelease.tag_name === `v${releaseName}`); if (!release) { throw new NoReleaseError(404); } } catch (err) { if (err instanceof NoReleaseError && err.code === 404) { // Release does not exist, let's make it - release = (await github.getGitHub().repos.createRelease({ - owner: config.repository.owner, - repo: config.repository.name, - tag_name: `v${releaseName}`, - name: `v${releaseName}`, - draft: config.draft !== false, - prerelease: config.prerelease === true, - })).data; + release = ( + await github.getGitHub().repos.createRelease({ + owner: config.repository.owner, + repo: config.repository.name, + tag_name: `v${releaseName}`, + name: `v${releaseName}`, + draft: config.draft !== false, + prerelease: config.prerelease === true, + }) + ).data; } else { // Unknown error throw err; @@ -94,31 +97,35 @@ export default class PublisherGithub extends PublisherBase { - const done = () => { - uploaded += 1; - updateSpinner(); - }; - const artifactName = path.basename(artifactPath); - // eslint-disable-next-line max-len - if (release!.assets.find((asset: OctokitReleaseAsset) => asset.name === artifactName)) { + await Promise.all( + flatArtifacts.map(async (artifactPath) => { + const done = () => { + uploaded += 1; + updateSpinner(); + }; + const artifactName = path.basename(artifactPath); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + if (release!.assets.find((asset: OctokitReleaseAsset) => asset.name === artifactName)) { + return done(); + } + await github.getGitHub().repos.uploadReleaseAsset({ + owner: config.repository.owner, + repo: config.repository.name, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + release_id: release!.id, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + url: release!.upload_url, + // https://github.com/octokit/rest.js/issues/1645 + data: (await fs.readFile(artifactPath)) as unknown as string, + headers: { + 'content-type': mime.lookup(artifactPath) || 'application/octet-stream', + 'content-length': (await fs.stat(artifactPath)).size, + }, + name: path.basename(artifactPath), + }); return done(); - } - await github.getGitHub().repos.uploadReleaseAsset({ - owner: config.repository.owner, - repo: config.repository.name, - release_id: release!.id, - url: release!.upload_url, - // https://github.com/octokit/rest.js/issues/1645 - data: ((await fs.readFile(artifactPath)) as unknown) as string, - headers: { - 'content-type': mime.lookup(artifactPath) || 'application/octet-stream', - 'content-length': (await fs.stat(artifactPath)).size, - }, - name: path.basename(artifactPath), - }); - return done(); - })); + }) + ); }); } } diff --git a/packages/publisher/github/src/util/github.ts b/packages/publisher/github/src/util/github.ts index 1bcb8efa05..2c0996e539 100644 --- a/packages/publisher/github/src/util/github.ts +++ b/packages/publisher/github/src/util/github.ts @@ -10,12 +10,10 @@ export default class GitHub { token?: string; - constructor( - authToken: string | undefined = undefined, - requireAuth: boolean = false, - options: OctokitOptions = {}, - ) { - const noOp = () => {}; + constructor(authToken: string | undefined = undefined, requireAuth = false, options: OctokitOptions = {}) { + const noOp = () => { + /* Intentionally does nothing */ + }; this.options = { ...options, diff --git a/packages/publisher/github/test/github_spec.ts b/packages/publisher/github/test/github_spec.ts index 46402a8b9d..ef7ed96cef 100644 --- a/packages/publisher/github/test/github_spec.ts +++ b/packages/publisher/github/test/github_spec.ts @@ -2,21 +2,21 @@ import { expect } from 'chai'; import { Octokit } from '@octokit/rest'; import { OctokitOptions } from '@octokit/core/dist-types/types.d'; import proxyquire from 'proxyquire'; -import sinon, { SinonSpy } from 'sinon'; +import { SinonSpy, spy } from 'sinon'; import InternalGitHub from '../src/util/github'; describe('GitHub', () => { let GitHub: typeof InternalGitHub; let gitHubSpy: SinonSpy; - let MockGitHub: any; + let MockGitHub; beforeEach(() => { - gitHubSpy = sinon.spy(); + gitHubSpy = spy(); MockGitHub = class { - private options: any; + private options: OctokitOptions; - constructor(options: any) { + constructor(options: OctokitOptions) { gitHubSpy(); this.options = options; } @@ -40,6 +40,8 @@ describe('GitHub', () => { describe('getGitHub', () => { function getOptions(api: Octokit): OctokitOptions { + // TODO: figure out if there's a legit way to extract options + // eslint-disable-next-line @typescript-eslint/no-explicit-any const { options } = api as any; delete options.log; return options; diff --git a/packages/publisher/nucleus/src/PublisherNucleus.ts b/packages/publisher/nucleus/src/PublisherNucleus.ts index af90f28c3b..94824e1426 100644 --- a/packages/publisher/nucleus/src/PublisherNucleus.ts +++ b/packages/publisher/nucleus/src/PublisherNucleus.ts @@ -16,9 +16,9 @@ export default class PublisherNucleus extends PublisherBase { const newMakeResults: typeof makeResults = []; for (const result of makeResults) { - const existingResult = newMakeResults.find((nResult) => nResult.arch === result.arch - && nResult.platform === result.platform - && nResult.packageJSON.version === result.packageJSON.version); + const existingResult = newMakeResults.find( + (nResult) => nResult.arch === result.arch && nResult.platform === result.platform && nResult.packageJSON.version === result.packageJSON.version + ); if (existingResult) { existingResult.artifacts.push(...result.artifacts); } else { @@ -26,9 +26,9 @@ export default class PublisherNucleus extends PublisherBase { const { config } = this; const collapsedResults = this.collapseMakeResults(makeResults); diff --git a/packages/publisher/s3/src/PublisherS3.ts b/packages/publisher/s3/src/PublisherS3.ts index 789acbe32a..3c7256250a 100644 --- a/packages/publisher/s3/src/PublisherS3.ts +++ b/packages/publisher/s3/src/PublisherS3.ts @@ -22,9 +22,7 @@ type S3Artifact = { export default class PublisherS3 extends PublisherBase { name = 's3'; - async publish({ - makeResults, - }: PublisherOptions) { + async publish({ makeResults }: PublisherOptions): Promise { const artifacts: S3Artifact[] = []; if (!this.config.bucket) { @@ -32,12 +30,14 @@ export default class PublisherS3 extends PublisherBase { } for (const makeResult of makeResults) { - artifacts.push(...makeResult.artifacts.map((artifact) => ({ - path: artifact, - keyPrefix: this.config.folder || makeResult.packageJSON.version, - platform: makeResult.platform, - arch: makeResult.arch, - }))); + artifacts.push( + ...makeResult.artifacts.map((artifact) => ({ + path: artifact, + keyPrefix: this.config.folder || makeResult.packageJSON.version, + platform: makeResult.platform, + arch: makeResult.arch, + })) + ); } const s3Client = new S3Client({ @@ -53,39 +53,37 @@ export default class PublisherS3 extends PublisherBase { const spinnerText = () => `Uploading Artifacts ${uploaded}/${artifacts.length}`; await asyncOra(spinnerText(), async (uploadSpinner) => { - await Promise.all(artifacts.map(async (artifact) => { - d('uploading:', artifact.path); - const uploader = new Upload({ - client: s3Client, - params: { - Body: fs.createReadStream(artifact.path), - Bucket: this.config.bucket, - Key: this.keyForArtifact(artifact), - ACL: this.config.public ? 'public-read' : 'private', - }, - }); - - uploader.on('httpUploadProgress', (progress: Progress) => { - if (progress.total) { - const percentage = `${Math.round(((progress.loaded || 0) / progress.total) * 100)}%`; - d(`Upload Progress (${path.basename(artifact.path)}) ${percentage}`); - } - }); - - await uploader.done(); - uploaded += 1; - uploadSpinner.text = spinnerText(); - })); + await Promise.all( + artifacts.map(async (artifact) => { + d('uploading:', artifact.path); + const uploader = new Upload({ + client: s3Client, + params: { + Body: fs.createReadStream(artifact.path), + Bucket: this.config.bucket, + Key: this.keyForArtifact(artifact), + ACL: this.config.public ? 'public-read' : 'private', + }, + }); + + uploader.on('httpUploadProgress', (progress: Progress) => { + if (progress.total) { + const percentage = `${Math.round(((progress.loaded || 0) / progress.total) * 100)}%`; + d(`Upload Progress (${path.basename(artifact.path)}) ${percentage}`); + } + }); + + await uploader.done(); + uploaded += 1; + uploadSpinner.text = spinnerText(); + }) + ); }); } keyForArtifact(artifact: S3Artifact): string { if (this.config.keyResolver) { - return this.config.keyResolver( - path.basename(artifact.path), - artifact.platform, - artifact.arch, - ); + return this.config.keyResolver(path.basename(artifact.path), artifact.platform, artifact.arch); } return `${artifact.keyPrefix}/${path.basename(artifact.path)}`; diff --git a/packages/publisher/snapcraft/src/PublisherSnapcraft.ts b/packages/publisher/snapcraft/src/PublisherSnapcraft.ts index 4cacc3ea04..7666e654bd 100644 --- a/packages/publisher/snapcraft/src/PublisherSnapcraft.ts +++ b/packages/publisher/snapcraft/src/PublisherSnapcraft.ts @@ -6,12 +6,14 @@ import path from 'path'; import { PublisherSnapcraftConfig } from './Config'; +// TODO: convert to import statement once electron-installer-snap imports Snapcraft properly. +// eslint-disable-next-line @typescript-eslint/no-var-requires const Snapcraft = require('electron-installer-snap/src/snapcraft'); export default class PublisherSnapcraft extends PublisherBase { name = 'snapcraft'; - async publish({ dir, makeResults }: PublisherOptions) { + async publish({ dir, makeResults }: PublisherOptions): Promise { const artifacts = makeResults.reduce((flat, makeResult) => { flat.push(...makeResult.artifacts); return flat; @@ -25,9 +27,11 @@ export default class PublisherSnapcraft extends PublisherBase { diff --git a/packages/template/base/src/BaseTemplate.ts b/packages/template/base/src/BaseTemplate.ts index d5e9b3babc..3ef176b053 100644 --- a/packages/template/base/src/BaseTemplate.ts +++ b/packages/template/base/src/BaseTemplate.ts @@ -6,6 +6,7 @@ import path from 'path'; import determineAuthor from './determine-author'; +// eslint-disable-next-line @typescript-eslint/no-var-requires const currentForgeVersion = require('../package.json').version; const d = debug('electron-forge:template:base'); @@ -33,7 +34,7 @@ export class BaseTemplate implements ForgeTemplate { return []; } - public async initializeTemplate(directory: string, { copyCIFiles }: InitTemplateOptions) { + public async initializeTemplate(directory: string, { copyCIFiles }: InitTemplateOptions): Promise { await asyncOra('Copying Starter Files', async () => { d('creating directory:', path.resolve(directory, 'src')); await fs.mkdirs(path.resolve(directory, 'src')); @@ -52,16 +53,17 @@ export class BaseTemplate implements ForgeTemplate { await this.initializePackageJSON(directory); } - async copy(source: string, target: string) { + async copy(source: string, target: string): Promise { d(`copying "${source}" --> "${target}"`); await fs.copy(source, target); } - async copyTemplateFile(destDir: string, basename: string) { + async copyTemplateFile(destDir: string, basename: string): Promise { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion await this.copy(path.join(this.templateDir!, basename), path.resolve(destDir, basename)); } - async initializePackageJSON(directory: string) { + async initializePackageJSON(directory: string): Promise { await asyncOra('Initializing NPM Module', async () => { const packageJSON = await fs.readJson(path.resolve(__dirname, '../tmpl/package.json')); // eslint-disable-next-line no-multi-assign @@ -75,11 +77,7 @@ export class BaseTemplate implements ForgeTemplate { }); } - async updateFileByLine( - inputPath: string, - lineHandler: (line: string) => string, - outputPath?: string | undefined, - ) { + async updateFileByLine(inputPath: string, lineHandler: (line: string) => string, outputPath?: string | undefined): Promise { const fileContents = (await fs.readFile(inputPath, 'utf8')).split('\n').map(lineHandler).join('\n'); await fs.writeFile(outputPath || inputPath, fileContents); if (outputPath !== undefined) { diff --git a/packages/template/base/src/determine-author.ts b/packages/template/base/src/determine-author.ts index bb8c24d3f9..cde742bcce 100644 --- a/packages/template/base/src/determine-author.ts +++ b/packages/template/base/src/determine-author.ts @@ -21,4 +21,4 @@ const getAuthorFromGitConfig = async (dir: string): Promise => { } }; -export default async (dir: string) => (await getAuthorFromGitConfig(dir)) || username(); +export default async (dir: string): Promise => (await getAuthorFromGitConfig(dir)) || username(); diff --git a/packages/template/base/test/determine-author_spec.ts b/packages/template/base/test/determine-author_spec.ts index dd81fff70a..5b21f0bca3 100644 --- a/packages/template/base/test/determine-author_spec.ts +++ b/packages/template/base/test/determine-author_spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import proxyquire from 'proxyquire'; -import sinon from 'sinon'; +import { stub } from 'sinon'; import { PackagePerson } from '@electron-forge/shared-types'; @@ -29,8 +29,8 @@ describe('determineAuthor', () => { beforeEach(() => { determineAuthor = proxyquire.noCallThru().load('../src/determine-author', { - '@malept/cross-spawn-promise': { spawn: sinon.stub().callsFake(fakeSpawn) }, - username: sinon.stub().resolves('fromUsername'), + '@malept/cross-spawn-promise': { spawn: stub().callsFake(fakeSpawn) }, + username: stub().resolves('fromUsername'), }).default; }); diff --git a/packages/template/base/tmpl/_appveyor.yml b/packages/template/base/tmpl/_appveyor.yml index 8b95aff11f..e161f0d233 100644 --- a/packages/template/base/tmpl/_appveyor.yml +++ b/packages/template/base/tmpl/_appveyor.yml @@ -1,26 +1,26 @@ platform: -- x64 + - x64 environment: - nodejs_version: "8" + nodejs_version: '8' cache: -- '%APPDATA%\npm-cache' -- '%USERPROFILE%\.electron' -- node_modules + - '%APPDATA%\npm-cache' + - '%USERPROFILE%\.electron' + - node_modules branches: only: - - master - - /^v\d+\.\d+\.\d+/ + - master + - /^v\d+\.\d+\.\d+/ install: -- ps: Install-Product node $env:nodejs_version $env:platform -- set PATH=%APPDATA%\npm;%PATH% -- npm install -- npm update + - ps: Install-Product node $env:nodejs_version $env:platform + - set PATH=%APPDATA%\npm;%PATH% + - npm install + - npm update test_script: -- node --version -- npm --version -- npm run lint -- if %APPVEYOR_REPO_TAG% EQU false npm run make + - node --version + - npm --version + - npm run lint + - if %APPVEYOR_REPO_TAG% EQU false npm run make build_script: -- IF %APPVEYOR_REPO_TAG% EQU true npm run publish + - IF %APPVEYOR_REPO_TAG% EQU true npm run publish diff --git a/packages/template/base/tmpl/_travis.yml b/packages/template/base/tmpl/_travis.yml index bc1a9221b9..86937a7f6e 100644 --- a/packages/template/base/tmpl/_travis.yml +++ b/packages/template/base/tmpl/_travis.yml @@ -1,8 +1,8 @@ language: node_js -node_js: "10" +node_js: '10' os: -- linux -- osx + - linux + - osx dist: bionic osx_image: xcode10.1 @@ -10,20 +10,20 @@ cache: npm: true yarn: true directories: - - $HOME/.cache/electron + - $HOME/.cache/electron addons: apt: packages: - - fakeroot - - rpm + - fakeroot + - rpm branches: only: - - master - - /^v\d+\.\d+\.\d+/ + - master + - /^v\d+\.\d+\.\d+/ script: -- npm run lint -- if test -z "$TRAVIS_TAG"; then npm run make; fi + - npm run lint + - if test -z "$TRAVIS_TAG"; then npm run make; fi after_success: if test -n "$TRAVIS_TAG"; then npm run publish; fi diff --git a/packages/template/base/tmpl/index.css b/packages/template/base/tmpl/index.css index 22fd849c2e..8856f90b3f 100644 --- a/packages/template/base/tmpl/index.css +++ b/packages/template/base/tmpl/index.css @@ -1,5 +1,6 @@ body { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, + Arial, sans-serif; margin: auto; max-width: 38rem; padding: 2rem; diff --git a/packages/template/base/tmpl/index.html b/packages/template/base/tmpl/index.html index c35ba7f8c9..660955fe96 100644 --- a/packages/template/base/tmpl/index.html +++ b/packages/template/base/tmpl/index.html @@ -1,9 +1,9 @@ - + Hello World! - +

💖 Hello World!

diff --git a/packages/template/base/tmpl/index.js b/packages/template/base/tmpl/index.js index 3234041db5..37bb6b87a0 100644 --- a/packages/template/base/tmpl/index.js +++ b/packages/template/base/tmpl/index.js @@ -2,7 +2,8 @@ const { app, BrowserWindow } = require('electron'); const path = require('path'); // Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { // eslint-disable-line global-require +if (require('electron-squirrel-startup')) { + // eslint-disable-line global-require app.quit(); } diff --git a/packages/template/base/tmpl/package.json b/packages/template/base/tmpl/package.json index 8b79ff8d95..84162c78f5 100644 --- a/packages/template/base/tmpl/package.json +++ b/packages/template/base/tmpl/package.json @@ -15,9 +15,7 @@ "license": "MIT", "config": { "forge": { - "packagerConfig": { - - }, + "packagerConfig": {}, "makers": [ { "name": "@electron-forge/maker-squirrel", @@ -27,7 +25,9 @@ }, { "name": "@electron-forge/maker-zip", - "platforms": ["darwin"] + "platforms": [ + "darwin" + ] }, { "name": "@electron-forge/maker-deb", diff --git a/packages/template/typescript-webpack/src/TypeScriptWebpackTemplate.ts b/packages/template/typescript-webpack/src/TypeScriptWebpackTemplate.ts index 07fa41535d..16080abec7 100644 --- a/packages/template/typescript-webpack/src/TypeScriptWebpackTemplate.ts +++ b/packages/template/typescript-webpack/src/TypeScriptWebpackTemplate.ts @@ -21,11 +21,13 @@ class TypeScriptWebpackTemplate extends BaseTemplate { mainConfig: './webpack.main.config.js', renderer: { config: './webpack.renderer.config.js', - entryPoints: [{ - html: './src/index.html', - js: './src/renderer.ts', - name: 'main_window', - }], + entryPoints: [ + { + html: './src/index.html', + js: './src/renderer.ts', + name: 'main_window', + }, + ], }, }, ]); diff --git a/packages/template/typescript-webpack/test/TypeScriptWebpackTemplate_spec.ts b/packages/template/typescript-webpack/test/TypeScriptWebpackTemplate_spec.ts index 746bb161fc..0bb4831993 100644 --- a/packages/template/typescript-webpack/test/TypeScriptWebpackTemplate_spec.ts +++ b/packages/template/typescript-webpack/test/TypeScriptWebpackTemplate_spec.ts @@ -36,7 +36,7 @@ describe('TypeScriptWebpackTemplate', () => { await testUtils.ensureModulesInstalled( dir, ['electron', 'electron-squirrel-startup'], - template.devDependencies.filter((moduleName) => moduleName.includes('eslint') || moduleName.includes('typescript')), + template.devDependencies.filter((moduleName) => moduleName.includes('eslint') || moduleName.includes('typescript')) ); }); diff --git a/packages/template/typescript-webpack/tmpl/index.ts b/packages/template/typescript-webpack/tmpl/index.ts index 5e679277fe..99fa399c48 100644 --- a/packages/template/typescript-webpack/tmpl/index.ts +++ b/packages/template/typescript-webpack/tmpl/index.ts @@ -5,7 +5,8 @@ import { app, BrowserWindow } from 'electron'; declare const MAIN_WINDOW_WEBPACK_ENTRY: string; // Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { // eslint-disable-line global-require +if (require('electron-squirrel-startup')) { + // eslint-disable-line global-require app.quit(); } diff --git a/packages/template/typescript-webpack/tmpl/tsconfig.json b/packages/template/typescript-webpack/tmpl/tsconfig.json index 7b63cff3b6..3643c33201 100644 --- a/packages/template/typescript-webpack/tmpl/tsconfig.json +++ b/packages/template/typescript-webpack/tmpl/tsconfig.json @@ -14,7 +14,5 @@ "*": ["node_modules/*"] } }, - "include": [ - "src/**/*" - ] + "include": ["src/**/*"] } diff --git a/packages/template/typescript-webpack/tmpl/webpack.main.config.js b/packages/template/typescript-webpack/tmpl/webpack.main.config.js index 1d755595c7..391374667f 100644 --- a/packages/template/typescript-webpack/tmpl/webpack.main.config.js +++ b/packages/template/typescript-webpack/tmpl/webpack.main.config.js @@ -9,6 +9,6 @@ module.exports = { rules: require('./webpack.rules'), }, resolve: { - extensions: ['.js', '.ts', '.jsx', '.tsx', '.css', '.json'] + extensions: ['.js', '.ts', '.jsx', '.tsx', '.css', '.json'], }, -}; \ No newline at end of file +}; diff --git a/packages/template/typescript-webpack/tmpl/webpack.plugins.js b/packages/template/typescript-webpack/tmpl/webpack.plugins.js index d2e3b0333e..0aebcd9dce 100644 --- a/packages/template/typescript-webpack/tmpl/webpack.plugins.js +++ b/packages/template/typescript-webpack/tmpl/webpack.plugins.js @@ -1,5 +1,3 @@ const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); -module.exports = [ - new ForkTsCheckerWebpackPlugin() -]; +module.exports = [new ForkTsCheckerWebpackPlugin()]; diff --git a/packages/template/typescript-webpack/tmpl/webpack.renderer.config.js b/packages/template/typescript-webpack/tmpl/webpack.renderer.config.js index fee66bdc1c..36f4fb05bc 100644 --- a/packages/template/typescript-webpack/tmpl/webpack.renderer.config.js +++ b/packages/template/typescript-webpack/tmpl/webpack.renderer.config.js @@ -12,6 +12,6 @@ module.exports = { }, plugins: plugins, resolve: { - extensions: ['.js', '.ts', '.jsx', '.tsx', '.css'] + extensions: ['.js', '.ts', '.jsx', '.tsx', '.css'], }, }; diff --git a/packages/template/typescript-webpack/tmpl/webpack.rules.js b/packages/template/typescript-webpack/tmpl/webpack.rules.js index e85ade6592..174b3205d2 100644 --- a/packages/template/typescript-webpack/tmpl/webpack.rules.js +++ b/packages/template/typescript-webpack/tmpl/webpack.rules.js @@ -22,8 +22,8 @@ module.exports = [ use: { loader: 'ts-loader', options: { - transpileOnly: true - } - } + transpileOnly: true, + }, + }, }, ]; diff --git a/packages/template/typescript/test/TypeScriptTemplate_spec.ts b/packages/template/typescript/test/TypeScriptTemplate_spec.ts index 3dcf155846..d65e4bc742 100644 --- a/packages/template/typescript/test/TypeScriptTemplate_spec.ts +++ b/packages/template/typescript/test/TypeScriptTemplate_spec.ts @@ -16,10 +16,7 @@ describe('TypeScriptTemplate', () => { }); it('should copy the appropriate template files', async () => { - const expectedFiles = [ - '.eslintrc.json', - 'tsconfig.json', - ]; + const expectedFiles = ['.eslintrc.json', 'tsconfig.json']; for (const filename of expectedFiles) { await testUtils.expectProjectPathExists(dir, filename, 'file'); } @@ -33,11 +30,7 @@ describe('TypeScriptTemplate', () => { describe('lint', () => { before(async () => { - await testUtils.ensureModulesInstalled( - dir, - ['electron', 'electron-squirrel-startup'], - template.devDependencies, - ); + await testUtils.ensureModulesInstalled(dir, ['electron', 'electron-squirrel-startup'], template.devDependencies); }); it('should initially pass the linting process', async () => { diff --git a/packages/template/typescript/tmpl/.eslintrc.json b/packages/template/typescript/tmpl/.eslintrc.json index 7017aad68c..2d7aa60744 100644 --- a/packages/template/typescript/tmpl/.eslintrc.json +++ b/packages/template/typescript/tmpl/.eslintrc.json @@ -4,13 +4,13 @@ "es6": true, "node": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/recommended", - "plugin:import/electron", - "plugin:import/typescript" - ], - "parser": "@typescript-eslint/parser" + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:import/recommended", + "plugin:import/electron", + "plugin:import/typescript" + ], + "parser": "@typescript-eslint/parser" } diff --git a/packages/template/typescript/tmpl/index.ts b/packages/template/typescript/tmpl/index.ts index 55cad4d967..7917fef886 100644 --- a/packages/template/typescript/tmpl/index.ts +++ b/packages/template/typescript/tmpl/index.ts @@ -2,7 +2,8 @@ import { app, BrowserWindow } from 'electron'; import * as path from 'path'; // Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { // eslint-disable-line global-require +if (require('electron-squirrel-startup')) { + // eslint-disable-line global-require app.quit(); } diff --git a/packages/template/typescript/tmpl/tsconfig.json b/packages/template/typescript/tmpl/tsconfig.json index 3cdb18c364..4108139cd6 100644 --- a/packages/template/typescript/tmpl/tsconfig.json +++ b/packages/template/typescript/tmpl/tsconfig.json @@ -12,7 +12,5 @@ "*": ["node_modules/*"] } }, - "include": [ - "src/**/*" - ] + "include": ["src/**/*"] } diff --git a/packages/template/webpack/src/WebpackTemplate.ts b/packages/template/webpack/src/WebpackTemplate.ts index 3b60deee37..70b949a521 100644 --- a/packages/template/webpack/src/WebpackTemplate.ts +++ b/packages/template/webpack/src/WebpackTemplate.ts @@ -20,11 +20,13 @@ class WebpackTemplate extends BaseTemplate { mainConfig: './webpack.main.config.js', renderer: { config: './webpack.renderer.config.js', - entryPoints: [{ - html: './src/index.html', - js: './src/renderer.js', - name: 'main_window', - }], + entryPoints: [ + { + html: './src/index.html', + js: './src/renderer.js', + name: 'main_window', + }, + ], }, }, ]); @@ -38,10 +40,14 @@ class WebpackTemplate extends BaseTemplate { await this.copyTemplateFile(directory, 'webpack.rules.js'); await this.copyTemplateFile(path.join(directory, 'src'), 'renderer.js'); - await this.updateFileByLine(path.resolve(directory, 'src', 'index.js'), (line) => { - if (line.includes('mainWindow.loadFile')) return ' mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);'; - return line; - }, path.resolve(directory, 'src', 'main.js')); + await this.updateFileByLine( + path.resolve(directory, 'src', 'index.js'), + (line) => { + if (line.includes('mainWindow.loadFile')) return ' mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);'; + return line; + }, + path.resolve(directory, 'src', 'main.js') + ); await this.updateFileByLine(path.resolve(directory, 'src', 'index.html'), (line) => { if (line.includes('link rel="stylesheet"')) return ''; diff --git a/packages/template/webpack/test/WebpackTemplate_spec.ts b/packages/template/webpack/test/WebpackTemplate_spec.ts index 20f308aaeb..af7d91b1aa 100644 --- a/packages/template/webpack/test/WebpackTemplate_spec.ts +++ b/packages/template/webpack/test/WebpackTemplate_spec.ts @@ -16,12 +16,7 @@ describe('WebpackTemplate', () => { }); it('should copy the appropriate template files', async () => { - const expectedFiles = [ - 'webpack.main.config.js', - 'webpack.renderer.config.js', - 'webpack.rules.js', - path.join('src', 'renderer.js'), - ]; + const expectedFiles = ['webpack.main.config.js', 'webpack.renderer.config.js', 'webpack.rules.js', path.join('src', 'renderer.js')]; for (const filename of expectedFiles) { await testUtils.expectProjectPathExists(dir, filename, 'file'); } diff --git a/packages/utils/async-ora/package.json b/packages/utils/async-ora/package.json index b0045144d1..e7909a17ed 100644 --- a/packages/utils/async-ora/package.json +++ b/packages/utils/async-ora/package.json @@ -7,6 +7,9 @@ "license": "MIT", "main": "dist/index.js", "typings": "dist/index.d.ts", + "scripts": { + "test": "mocha --config ../../../.mocharc.js test/**/*_spec.ts" + }, "devDependencies": { "chai": "^4.3.3", "mocha": "^9.0.1", diff --git a/packages/utils/async-ora/src/index.ts b/packages/utils/async-ora/src/index.ts index 6ec4a5b350..d5d432e110 100644 --- a/packages/utils/async-ora/src/index.ts +++ b/packages/utils/async-ora/src/index.ts @@ -1,9 +1,4 @@ import ora, { fakeOra } from './ora'; import asyncOra, { OraImpl } from './ora-handler'; -export { - ora, - fakeOra, - asyncOra, - OraImpl, -}; +export { ora, fakeOra, asyncOra, OraImpl }; diff --git a/packages/utils/async-ora/src/ora-handler.ts b/packages/utils/async-ora/src/ora-handler.ts index 235733bfe7..f841907772 100644 --- a/packages/utils/async-ora/src/ora-handler.ts +++ b/packages/utils/async-ora/src/ora-handler.ts @@ -6,23 +6,29 @@ export class OraImpl { // eslint-disable-next-line no-empty-function, no-useless-constructor constructor(public text: string = '') {} - succeed(_symbol?: string) { return this; } + succeed(_symbol?: string): OraImpl { + return this; + } - fail(_symbol?: string) { return this; } + fail(_symbol?: string): OraImpl { + return this; + } - start() { return this; } + start(): OraImpl { + return this; + } - stop(_symbol?: string) { return this; } + stop(_symbol?: string): OraImpl { + return this; + } - warn(_message: string) { return this; } + warn(_message: string): OraImpl { + return this; + } } export interface AsyncOraMethod { - ( - initialOraValue: string, - asyncFn: (oraImpl: OraImpl) => Promise, - processExitFn?: (code: number) => void, - ): Promise; + (initialOraValue: string, asyncFn: (oraImpl: OraImpl) => Promise, processExitFn?: (code: number) => void): Promise; interactive?: boolean; } @@ -32,28 +38,30 @@ const asyncOra: AsyncOraMethod = (initialOraValue, asyncFn, processExitFn = proc fnOra = ora(initialOraValue).start(); } return new Promise((resolve, reject) => { - asyncFn(fnOra).then(() => { - fnOra.succeed(); - resolve(); - }).catch((err) => { - fnOra.fail(); - if (asyncOra.interactive) { - if (err && err.message && err.stack) { - console.error('\nAn unhandled error has occurred inside Forge:'.red); - console.error(colors.red(err.message)); - console.error(colors.red(err.stack)); + asyncFn(fnOra) + .then(() => { + fnOra.succeed(); + return resolve(); + }) + .catch((err) => { + fnOra.fail(); + if (asyncOra.interactive) { + if (err && err.message && err.stack) { + console.error('\nAn unhandled error has occurred inside Forge:'.red); + console.error(colors.red(err.message)); + console.error(colors.red(err.stack)); + } else { + console.error('\nElectron Forge was terminated:'.red); + console.error(colors.red(typeof err === 'string' ? err : JSON.stringify(err))); + } + processExitFn(1); + // If the process is still alive we should continue because either + // something went really wrong or we are testing this function + setTimeout(() => resolve(), 500); } else { - console.error('\nElectron Forge was terminated:'.red); - console.error(colors.red(typeof err === 'string' ? err : JSON.stringify(err))); + reject(err); } - processExitFn(1); - // If the process is still alive we should continue because either - // something went really wrong or we are testing this function - setTimeout(() => resolve(), 500); - } else { - reject(err); - } - }); + }); }); }; diff --git a/packages/utils/async-ora/src/ora.ts b/packages/utils/async-ora/src/ora.ts index 12bd4ca29a..169dd39d64 100644 --- a/packages/utils/async-ora/src/ora.ts +++ b/packages/utils/async-ora/src/ora.ts @@ -16,7 +16,7 @@ if (useFakeOra) { console.warn('to the value of DEBUG in order to view progress indicators.'.red); } -export const fakeOra = (name: string) => { +export const fakeOra = (name: string): OraImpl => { let oraName = name; let startTime: number | null = null; const timing = () => (startTime ? `-- after ${`${prettyMs(Date.now() - startTime)}`.cyan}` : null); diff --git a/packages/utils/async-ora/test/ora-handler_spec.ts b/packages/utils/async-ora/test/ora-handler_spec.ts index 18b5cf650f..a06ba17fa2 100644 --- a/packages/utils/async-ora/test/ora-handler_spec.ts +++ b/packages/utils/async-ora/test/ora-handler_spec.ts @@ -1,20 +1,33 @@ /* eslint "no-underscore-dangle": "off" */ import { expect } from 'chai'; import proxyquire from 'proxyquire'; -import sinon from 'sinon'; +import { spy } from 'sinon'; import { asyncOra as ora, OraImpl } from '../src/index'; +type MockOra = OraImpl & { + _text: string; + failed: boolean; + started: boolean; + succeeded: boolean; +}; + describe('asyncOra', () => { let asyncOra: typeof ora; - let mockOra: (text: string) => OraImpl | undefined; - let currentOra: OraImpl | undefined; + let mockOra: (text: string) => MockOra | undefined; + let currentOra: MockOra | undefined; beforeEach(() => { currentOra = undefined; mockOra = (text) => { currentOra = { + _text: '', failed: false, + started: false, + succeeded: false, + warn() { + return currentOra; + }, start() { this.started = true; return currentOra; @@ -31,16 +44,18 @@ describe('asyncOra', () => { this.failed = true; return currentOra; }, - get text() { - return (currentOra! as any)._text; + get text(): string { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return currentOra!._text; }, set text(newText) { - (currentOra! as any)._text = newText; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + currentOra!._text = newText; }, - } as any; - (currentOra as any).succeeded = false; - (currentOra as any).failed = false; - (currentOra as any)._text = text; + } as MockOra; + currentOra.succeeded = false; + currentOra.failed = false; + currentOra._text = text; return currentOra; }; asyncOra = proxyquire.noCallThru().load('../src/ora-handler', { @@ -49,23 +64,29 @@ describe('asyncOra', () => { }); it('should create an ora with an initial value', () => { - asyncOra('say this first', async () => {}); + asyncOra('say this first', async () => { + /* no-op async function */ + }); expect(currentOra).to.not.equal(undefined); + // Why: We checked for undefined in the line above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion expect(currentOra!.text).to.equal('say this first'); }); it('should not create an ora when in non-interactive mode', () => { asyncOra.interactive = false; - asyncOra('say this again', async () => {}); + asyncOra('say this again', async () => { + /* no-op async function */ + }); expect(currentOra).to.equal(undefined); }); it('should call the provided async function', async () => { - const spy = sinon.spy(); + const oraSpy = spy(); await asyncOra('random text', async () => { - spy(); + oraSpy(); }); - expect(spy.callCount).to.equal(1); + expect(oraSpy.callCount).to.equal(1); }); it('should succeed the ora if the async fn passes', async () => { @@ -73,43 +94,68 @@ describe('asyncOra', () => { // eslint-disable-next-line no-console, no-constant-condition if (2 + 2 === 5) console.error('Big brother is at it again'); }); - expect((currentOra as any).succeeded).to.equal(true); - expect((currentOra as any).failed).to.equal(false); + expect(currentOra).to.not.equal(undefined); + // Why: We checked for undefined in the line above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + expect(currentOra!.succeeded).to.equal(true); + // Why: We checked for undefined in the line above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + expect(currentOra!.failed).to.equal(false); }); it('should fail the ora if the async fn throws', async () => { - await asyncOra('this is gonna end badly', async () => { - // eslint-disable-next-line no-throw-literal - throw { message: 'Not an error', stack: 'No Stack - Not an error' }; - }, () => {}); - expect((currentOra as any).succeeded).to.equal(false); - expect((currentOra as any).failed).to.equal(true); + await asyncOra( + 'this is gonna end badly', + async () => { + // eslint-disable-next-line no-throw-literal + throw { message: 'Not an error', stack: 'No Stack - Not an error' }; + }, + () => { + /* no-op exit function */ + } + ); + expect(currentOra).to.not.equal(undefined); + // Why: We checked for undefined in the line above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + expect(currentOra!.succeeded).to.equal(false); + // Why: We checked for undefined in the line above + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + expect(currentOra!.failed).to.equal(true); }); it('should exit the process with status 1 if the async fn throws', async () => { - const processExitSpy = sinon.spy(); - await asyncOra('this is dodge', async () => { - throw new Error('woops'); - }, processExitSpy); + const processExitSpy = spy(); + await asyncOra( + 'this is dodge', + async () => { + throw new Error('woops'); + }, + processExitSpy + ); expect(processExitSpy.callCount).to.equal(1); expect(processExitSpy.firstCall.args).to.deep.equal([1]); }); it('should exit the process with status 1 if the async fn throws a number', async () => { - const processExitSpy = sinon.spy(); - await asyncOra('this is dodge', async () => { - throw 42; // eslint-disable-line no-throw-literal - }, processExitSpy); + const processExitSpy = spy(); + await asyncOra( + 'this is dodge', + async () => { + throw 42; // eslint-disable-line no-throw-literal + }, + processExitSpy + ); expect(processExitSpy.callCount).to.equal(1); expect(processExitSpy.firstCall.args).to.deep.equal([1]); }); - it('should just reject the promise in non-interactive mode if the fn throws', (done) => { + it('should just reject the promise in non-interactive mode if the fn throws', async () => { asyncOra.interactive = false; - asyncOra('doo-wop', async () => { - throw new Error('uh oh'); - }).then(() => done(new Error('expected asyncOra to be rejected'))) - .catch(() => done()); + expect( + asyncOra('doo-wop', async () => { + throw new Error('uh oh'); + }) + ).to.eventually.be.rejectedWith('uh oh'); }); it('should provide a fully functioning mock ora in non-interactive mode', async () => { diff --git a/packages/utils/test-utils/src/index.ts b/packages/utils/test-utils/src/index.ts index 4a839511eb..97013d471d 100644 --- a/packages/utils/test-utils/src/index.ts +++ b/packages/utils/test-utils/src/index.ts @@ -12,7 +12,7 @@ async function runNPMInstall(dir: string, ...args: string[]) { await runNPM(dir, 'install', ...args); } -export async function ensureModulesInstalled(dir: string, deps: string[], devDeps: string[]) { +export async function ensureModulesInstalled(dir: string, deps: string[], devDeps: string[]): Promise { await runNPMInstall(dir, ...deps); await runNPMInstall(dir, '--save-dev', ...devDeps); } @@ -27,7 +27,7 @@ export async function ensureTestDirIsNonexistent(): Promise { return dir; } -export async function expectLintToPass(dir: string) { +export async function expectLintToPass(dir: string): Promise { try { await runNPM(dir, 'run', 'lint'); } catch (err) { @@ -41,15 +41,10 @@ export async function expectLintToPass(dir: string) { } } -export async function expectProjectPathExists( - dir: string, - subPath: string, - pathType: string, - exists = true, -) { +export async function expectProjectPathExists(dir: string, subPath: string, pathType: string, exists = true): Promise { expect(await fs.pathExists(path.resolve(dir, subPath)), `the ${subPath} ${pathType} should exist`).to.equal(exists); } -export async function expectProjectPathNotExists(dir: string, subPath: string, pathType: string) { +export async function expectProjectPathNotExists(dir: string, subPath: string, pathType: string): Promise { await expectProjectPathExists(dir, subPath, pathType, false); } diff --git a/packages/utils/types/src/index.ts b/packages/utils/types/src/index.ts index 3cca442319..8c71cf4d16 100644 --- a/packages/utils/types/src/index.ts +++ b/packages/utils/types/src/index.ts @@ -7,32 +7,35 @@ export type ElectronProcess = ChildProcess & { restarted: boolean }; export type ForgePlatform = TargetPlatform; export type ForgeArch = ArchOption; +// Why: hooks have any number/kind of args/return values +/* eslint-disable @typescript-eslint/no-explicit-any */ export type ForgeHookFn = (forgeConfig: ForgeConfig, ...args: any[]) => Promise; export type ForgeConfigPublisher = IForgeResolvablePublisher | IForgePublisher | string; export interface IForgePluginInterface { triggerHook(hookName: string, hookArgs: any[]): Promise; triggerMutatingHook(hookName: string, item: T): Promise; - overrideStartLogic(opts: any): Promise; + overrideStartLogic(opts: StartOptions): Promise; } +/* eslint-enable @typescript-eslint/no-explicit-any */ export interface ForgeConfig { /** * A string to uniquely identify artifacts of this build, will be appended * to the out dir to generate a nested directory. E.g. out/current-timestamp * - * If a function is provided it must syncronously return the buildIdentifier + * If a function is provided, it must synchronously return the buildIdentifier */ buildIdentifier?: string | (() => string); hooks?: { [hookName: string]: ForgeHookFn; }; /** - * @generated + * @internal */ pluginInterface: IForgePluginInterface; /** * An array of Forge plugins or a tuple consisting of [pluginName, pluginOptions] */ - plugins: (IForgePlugin | [string, any])[]; + plugins: (IForgePlugin | [string, Record])[]; electronRebuildConfig: Partial; packagerConfig: Partial; makers: (IForgeResolvableMaker | IForgeMaker)[]; @@ -46,7 +49,7 @@ export interface ForgeMakeResult { /** * The state of the package.json file when the make happened */ - packageJSON: any; + packageJSON: any; // eslint-disable-line @typescript-eslint/no-explicit-any /** * The platform this make run was for */ @@ -63,13 +66,13 @@ export interface IForgePlugin { init(dir: string, forgeConfig: ForgeConfig): void; getHook?(hookName: string): ForgeHookFn | null; - startLogic?(opts: StartOptions): Promise; + startLogic?(opts: StartOptions): Promise; } export interface IForgeResolvableMaker { name: string; platforms: ForgePlatform[] | null; - config: any; + config: any; // eslint-disable-line @typescript-eslint/no-explicit-any } export interface IForgeMaker { @@ -80,7 +83,7 @@ export interface IForgeMaker { export interface IForgeResolvablePublisher { name: string; platforms?: ForgePlatform[] | null; - config?: any; + config?: any; // eslint-disable-line @typescript-eslint/no-explicit-any } export interface IForgePublisher { @@ -119,6 +122,8 @@ export interface StartOptions { inspect?: boolean; } +export type StartResult = ElectronProcess | string | string[] | false; + export interface InitTemplateOptions { copyCIFiles?: boolean; } @@ -127,11 +132,14 @@ export interface ForgeTemplate { requiredForgeVersion?: string; dependencies?: string[]; devDependencies?: string[]; - initializeTemplate?: (dir: string, options: InitTemplateOptions) => void; + initializeTemplate?: (dir: string, options: InitTemplateOptions) => Promise; } -export type PackagePerson = undefined | string | { - name: string; - email?: string; - url?: string; -}; +export type PackagePerson = + | undefined + | string + | { + name: string; + email?: string; + url?: string; + }; diff --git a/packages/utils/web-multi-logger/README.md b/packages/utils/web-multi-logger/README.md index d8b0d01b8a..739c7708e0 100644 --- a/packages/utils/web-multi-logger/README.md +++ b/packages/utils/web-multi-logger/README.md @@ -3,7 +3,7 @@ > Display multiple streams of logs in one window This module allows you to pipe multiple logically separated streams of logs into -multiple visually separated views in a web console. It comes with full ANSI +multiple visually separated views in a web console. It comes with full ANSI support so you can pipe anything that would work in a Terminal into this tool as well. @@ -21,4 +21,4 @@ runServerWithLogger(serverTab); runFrontEndWithLogger(frontEndTab); // Navigate to http://localhost:9000 in your browser -``` \ No newline at end of file +``` diff --git a/packages/utils/web-multi-logger/src/Logger.ts b/packages/utils/web-multi-logger/src/Logger.ts index 48021e98a9..37ce4ba4a4 100644 --- a/packages/utils/web-multi-logger/src/Logger.ts +++ b/packages/utils/web-multi-logger/src/Logger.ts @@ -22,29 +22,33 @@ export default class Logger { private registerRoutes() { this.ws = ews(this.app); - this.app.get('/rest/tabs', (req, res) => res.json(this.tabs)); + this.app.get('/rest/tabs', (_req, res) => res.json(this.tabs)); this.app.use('/xterm/addons/fit', express.static(path.dirname(require.resolve('xterm-addon-fit')))); this.app.use('/xterm/addons/search', express.static(path.dirname(require.resolve('xterm-addon-search')))); this.app.use('/xterm', express.static(path.resolve(require.resolve('xterm'), '../..'))); this.app.use(express.static(path.resolve(__dirname, '..', 'static'))); - (this.app as any).ws('/sub', () => {}); + this.ws.app.ws('/sub', () => { + // I assume this endpoint is just a no-op needed for some reason. + }); } /** * Creates a new tab with the given name, the name should be human readable * it will be used as the tab title in the front end. */ - createTab(name: string) { + createTab(name: string): Tab { const tab = new Tab(name, this.ws); this.tabs.push(tab); return tab; } /** - * Start the HTTP server hosting the web UI + * Start the HTTP server hosting the web UI. + * + * @returns the port number */ - start() { + start(): Promise { return new Promise((resolve) => { this.server = this.app.listen(this.port, () => resolve(this.port)); }); @@ -53,7 +57,7 @@ export default class Logger { /** * Stop the HTTP server hosting the web UI */ - stop() { + stop(): void { if (this.server) this.server.close(); } } diff --git a/packages/utils/web-multi-logger/src/Tab.ts b/packages/utils/web-multi-logger/src/Tab.ts index 7fb027ff52..6469ee2a70 100644 --- a/packages/utils/web-multi-logger/src/Tab.ts +++ b/packages/utils/web-multi-logger/src/Tab.ts @@ -17,15 +17,17 @@ export default class Tab { /** * Log a line to the web UI, a new line is automatically appended to the line */ - log(line: string) { + log(line: string): void { const log = new Log(line, new Date()); this.logs.push(log); for (const client of this.ws.getWss().clients) { - client.send(JSON.stringify({ - tab: this.id, - payload: log, - })); + client.send( + JSON.stringify({ + tab: this.id, + payload: log, + }) + ); } } diff --git a/packages/utils/web-multi-logger/static/index.html b/packages/utils/web-multi-logger/static/index.html index fa15c8ce10..962e031c6b 100644 --- a/packages/utils/web-multi-logger/static/index.html +++ b/packages/utils/web-multi-logger/static/index.html @@ -1,61 +1,62 @@ - - - - - Electron Forge Logger - - - - -
+ #terminal { + margin-top: 20px; + height: calc(100vh - 88px); + padding-left: 16px; + } + + + +
-
+
- - - - - + + + + + diff --git a/packages/utils/web-multi-logger/static/main.js b/packages/utils/web-multi-logger/static/main.js index 9271166220..488046df72 100644 --- a/packages/utils/web-multi-logger/static/main.js +++ b/packages/utils/web-multi-logger/static/main.js @@ -1,6 +1,7 @@ +/* global Terminal, FitAddon, SearchAddon */ const split = (text) => { return text.split(/\n/g); -} +}; class Renderer { constructor() { @@ -27,8 +28,8 @@ class Renderer { brightBlue: '#839496', brightMagenta: '#6c71c4', brightCyan: '#93a1a1', - brightWhite: '#fdf6e3' - } + brightWhite: '#fdf6e3', + }, }); const fitAddon = new FitAddon.FitAddon(); this.term.loadAddon(fitAddon); @@ -63,7 +64,7 @@ class Renderer { const sub = new WebSocket(`ws://localhost:${location.port}/sub`); sub.onmessage = (message) => { const data = JSON.parse(message.data); - const tab = tabs.find(tab => tab.id === data.tab); + const tab = tabs.find((tab) => tab.id === data.tab); if (tab) { tab.logs.push(data.payload); if (this.currentTab.id === tab.id) { @@ -72,7 +73,7 @@ class Renderer { } } } - } + }; } renderTabs() { @@ -89,7 +90,7 @@ class Renderer { tabsContainer.appendChild(elem); } } - + selectTab(tab) { const selected = document.querySelector('.selected-tab'); if (selected) selected.classList.remove('selected-tab'); @@ -110,4 +111,4 @@ class Renderer { // term.write('Hello from \033[1;3;31mxterm.js\033[0m $ '); -const r = new Renderer(); +window.r = new Renderer(); diff --git a/tools/link-ts.ts b/tools/link-ts.ts index 57356ee4cf..f608c682b6 100644 --- a/tools/link-ts.ts +++ b/tools/link-ts.ts @@ -7,10 +7,7 @@ const PACKAGES_DIR = path.resolve(BASE_DIR, 'packages'); async function copyTSConfig(packageDir: string): Promise { const relativeBaseDir = path.relative(packageDir, BASE_DIR); const tsconfig = await fs.readJson(path.resolve(BASE_DIR, 'tsconfig.json')); - tsconfig.compilerOptions.typeRoots = [ - path.join(relativeBaseDir, 'node_modules', '@types'), - path.join(relativeBaseDir, 'typings'), - ]; + tsconfig.compilerOptions.typeRoots = [path.join(relativeBaseDir, 'node_modules', '@types'), path.join(relativeBaseDir, 'typings')]; await fs.writeJson(path.resolve(packageDir, 'tsconfig.json'), tsconfig, { spaces: 2 }); } diff --git a/tools/position-docs.ts b/tools/position-docs.ts index d1535ee7db..cb0e055004 100644 --- a/tools/position-docs.ts +++ b/tools/position-docs.ts @@ -10,10 +10,7 @@ async function normalizeLinks(htmlFile: string, subPath: string): Promise `${m1}/${path.posix.join(subPath, relative, m2)}"`, - ); + .replace(/( `${m1}/${path.posix.join(subPath, relative, m2)}"`); } (async () => { diff --git a/tools/publish.js b/tools/publish.js index 2edf2ff78a..c59d41ec2b 100644 --- a/tools/publish.js +++ b/tools/publish.js @@ -13,21 +13,28 @@ const prepare = new Listr([ { title: 'Checking working directory', task: async () => { - if (childProcess.execSync('git status -s', { - cwd: BASE_DIR, - }).toString() !== '') { + if ( + childProcess + .execSync('git status -s', { + cwd: BASE_DIR, + }) + .toString() !== '' + ) { throw new Error('Your working directory is not clean, please ensure you have a clean working directory before publishing'.red); } }, }, { title: 'Building all packages', - task: () => spawn('bolt', ['build'], { - cwd: BASE_DIR, - }), + task: () => + spawn('bolt', ['build'], { + cwd: BASE_DIR, + }), }, { - title: 'Fetching README\'s', + title: "Fetching README's", + // Why: somehow, referencing a TS file in a JS file works? + // eslint-disable-next-line node/no-missing-require task: require('./sync-readmes'), }, ]); @@ -47,24 +54,29 @@ const publisher = new Listr([ { title: 'Publishing all packages', task: async (ctx) => { - return new Listr(await Promise.all(ctx.dirsToPublish.map(async (dir) => { - const { name, version } = await fs.readJson(path.resolve(dir, 'package.json')); - // TODO: Re-enable this once V6 stable is released - // const isBeta = version.includes('beta'); - const isBeta = false; - return { - title: `Publishing: ${`${name}@${version}`.cyan} (beta=${isBeta ? 'true'.green : 'false'.red})`, - task: async () => { - try { - await spawn('npm', ['publish', '--access=public', ...(isBeta ? ['--tag=beta'] : []), `--otp=${ctx.otp}`], { - cwd: dir, - }); - } catch (err) { - throw new Error(`Failed to publish ${`${name}@${version}`.cyan} \n${err.stderr.toString()}`); - } - }, - }; - })), { concurrent: 5, exitOnError: false }); + return new Listr( + await Promise.all( + ctx.dirsToPublish.map(async (dir) => { + const { name, version } = await fs.readJson(path.resolve(dir, 'package.json')); + // TODO: Re-enable this once V6 stable is released + // const isBeta = version.includes('beta'); + const isBeta = false; + return { + title: `Publishing: ${`${name}@${version}`.cyan} (beta=${isBeta ? 'true'.green : 'false'.red})`, + task: async () => { + try { + await spawn('npm', ['publish', '--access=public', ...(isBeta ? ['--tag=beta'] : []), `--otp=${ctx.otp}`], { + cwd: dir, + }); + } catch (err) { + throw new Error(`Failed to publish ${`${name}@${version}`.cyan} \n${err.stderr.toString()}`); + } + }, + }; + }) + ), + { concurrent: 5, exitOnError: false } + ); }, }, ]); @@ -79,7 +91,7 @@ const runPublisher = async () => { process.stdin.read(); }); publisher.run({ otp }); -} +}; prepare .run() diff --git a/tools/sync-readmes.ts b/tools/sync-readmes.ts index 75bc75bbe5..9a10ccda37 100644 --- a/tools/sync-readmes.ts +++ b/tools/sync-readmes.ts @@ -3,7 +3,7 @@ import * as fs from 'fs-extra'; import Listr from 'listr'; import * as path from 'path'; -const workspaceMappings: { [space: string]: { [packageName: string]: string | undefined }} = { +const workspaceMappings: { [space: string]: { [packageName: string]: string | undefined } } = { maker: { wix: 'wix-msi', squirrel: 'squirrel.windows', @@ -60,24 +60,26 @@ function sync(): Listr { }, { title: 'Fetching READMEs', - task: (ctx: SyncContext) => new Listr(ctx.packageKeys.map( - ([workspace, workspaceDir, packageKey, packageName]) => ({ - title: `Fetching README for ${path.basename(workspaceDir)}/${packageKey}`, - task: async () => { - let rp: ReturnType; - if (workspace !== 'api') { - rp = fetch(`${DOCS_BASE}/${workspace}s/${packageKey}.md`); - } else { - rp = fetch(`${DOCS_BASE}/${packageKey}.md`); - } - const r = await rp; - if (r.status !== 200) return; + task: (ctx: SyncContext) => + new Listr( + ctx.packageKeys.map(([workspace, workspaceDir, packageKey, packageName]) => ({ + title: `Fetching README for ${path.basename(workspaceDir)}/${packageKey}`, + task: async () => { + let rp: ReturnType; + if (workspace !== 'api') { + rp = fetch(`${DOCS_BASE}/${workspace}s/${packageKey}.md`); + } else { + rp = fetch(`${DOCS_BASE}/${packageKey}.md`); + } + const r = await rp; + if (r.status !== 200) return; - const md = sanitize(await r.text()); - await fs.writeFile(path.resolve(workspaceDir, packageName, 'README.md'), md); - }, - }), - ), { concurrent: 3 }), + const md = sanitize(await r.text()); + await fs.writeFile(path.resolve(workspaceDir, packageName, 'README.md'), md); + }, + })), + { concurrent: 3 } + ), }, ]); } diff --git a/tools/test-dist.ts b/tools/test-dist.ts index f870d012d0..7c3ea92080 100644 --- a/tools/test-dist.ts +++ b/tools/test-dist.ts @@ -18,11 +18,11 @@ const PACKAGES_DIR = path.resolve(BASE_DIR, 'packages'); for (const dir of dirsToCheck) { const pj = await fs.readJson(path.resolve(dir, 'package.json')); if (pj.name === '@electron-forge/cli') continue; - if (!await fs.pathExists(path.resolve(dir, pj.main))) { + if (!(await fs.pathExists(path.resolve(dir, pj.main)))) { console.error(`${`[${pj.name}]`.cyan}:`, `Main entry not found (${pj.main})`.red); bad = true; } - if (!pj.typings || !await fs.pathExists(path.resolve(dir, pj.typings))) { + if (!pj.typings || !(await fs.pathExists(path.resolve(dir, pj.typings)))) { console.error(`${`[${pj.name}]`.cyan}:`, `Typings entry not found (${pj.typings})`.red); bad = true; } diff --git a/tools/test-globber.ts b/tools/test-globber.ts index 28f13e418f..a456166374 100644 --- a/tools/test-globber.ts +++ b/tools/test-globber.ts @@ -5,11 +5,7 @@ import * as path from 'path'; import { getPackageInfoSync } from './utils'; -const argv = minimist( - process.argv.slice( - process.argv.findIndex((arg) => arg === 'mocha.opts'), - ), -); +const argv = minimist(process.argv.slice(process.argv.findIndex((arg) => arg === 'mocha.opts'))); const isFast = argv.fast || process.env.TEST_FAST_ONLY; diff --git a/tools/update-dependencies.js b/tools/update-dependencies.js index 778241057f..bbbcd55754 100755 --- a/tools/update-dependencies.js +++ b/tools/update-dependencies.js @@ -1,8 +1,8 @@ #!/usr/bin/env node -const glob = require('fast-glob') -const { satisfies } = require('semver') -const { spawn } = require('@malept/cross-spawn-promise') +const glob = require('fast-glob'); +const { satisfies } = require('semver'); +const { spawn } = require('@malept/cross-spawn-promise'); const DO_NOT_UPGRADE = [ '@types/node-fetch', // No longer needed when node-fetch is upgraded to >= 3.0.0 @@ -12,131 +12,131 @@ const DO_NOT_UPGRADE = [ 'log-symbols', // Requires ESM 'node-fetch', // Requires ESM 'ora', // Requires ESM - 'username' // Requires ESM -] + 'username', // Requires ESM +]; /** * Spawn, but pass through stdio by default. */ async function spawnPassthrough(cmd, args, options) { - await spawn(cmd, args, { stdio: 'inherit', ...options }) + await spawn(cmd, args, { stdio: 'inherit', ...options }); } async function bolt(...args) { - await spawnPassthrough('bolt', args) + await spawnPassthrough('bolt', args); } async function git(...args) { - await spawnPassthrough('git', args) + await spawnPassthrough('git', args); } async function yarn(...args) { - await spawnPassthrough('yarn', args) + await spawnPassthrough('yarn', args); } -const packageJSON = require(__dirname + '/../package.json') +const packageJSON = require(__dirname + '/../package.json'); class Package { constructor(name, currentVersion, wantedVersion, latestVersion, type) { - this.name = name - this.currentVersion = currentVersion - this.wantedVersion = wantedVersion - this.latestVersion = latestVersion - this.type = type + this.name = name; + this.currentVersion = currentVersion; + this.wantedVersion = wantedVersion; + this.latestVersion = latestVersion; + this.type = type; } get commitType() { switch (this.type) { case 'dependencies': case 'optionalDependencies': - return 'deps' + return 'deps'; case 'devDependencies': - return 'deps-dev' + return 'deps-dev'; default: - return 'deps-unknown' + return 'deps-unknown'; } } get commitVersion() { if (this.isMajorVersionBump()) { - return `^${this.latestVersion}` + return `^${this.latestVersion}`; } else if (this.isMinorVersionBump()) { - return `~${this.latestVersion}` + return `~${this.latestVersion}`; } else { - return this.latestVersion + return this.latestVersion; } } get minorVersionLocked() { - return packageJSON[this.type][this.name].startsWith('~') + return packageJSON[this.type][this.name].startsWith('~'); } isMajorVersionBump() { - return !satisfies(this.latestVersion, `^${this.wantedVersion}`) + return !satisfies(this.latestVersion, `^${this.wantedVersion}`); } isMinorVersionBump() { - return this.minorVersionLocked && !satisfies(this.latestVersion, `~${this.wantedVersion}`) + return this.minorVersionLocked && !satisfies(this.latestVersion, `~${this.wantedVersion}`); } async smoketestAndCommit(packageName = null) { - const packageJSONs = await glob('packages/*/*/package.json') - await yarn('lint') - await bolt('build') - await git('add', 'package.json', 'yarn.lock', ...packageJSONs) - await git('commit', '-m', `build(${this.commitType}): upgrade ${packageName || this.name} to ${this.commitVersion}`) + const packageJSONs = await glob('packages/*/*/package.json'); + await yarn('lint'); + await bolt('build'); + await git('add', 'package.json', 'yarn.lock', ...packageJSONs); + await git('commit', '-m', `build(${this.commitType}): upgrade ${packageName || this.name} to ${this.commitVersion}`); } async upgrade() { if (this.isMajorVersionBump() || this.isMinorVersionBump()) { - await this.bolt_upgrade() + await this.bolt_upgrade(); } else { - await this.yarn_upgrade() + await this.yarn_upgrade(); } } async bolt_upgrade() { - console.log(`Upgrading ${this.name} from ${this.wantedVersion} to ^${this.latestVersion} (and updating package.json)...`) - await bolt('upgrade', `${this.name}@^${this.latestVersion}`) + console.log(`Upgrading ${this.name} from ${this.wantedVersion} to ^${this.latestVersion} (and updating package.json)...`); + await bolt('upgrade', `${this.name}@^${this.latestVersion}`); } async yarn_upgrade() { - console.log(`Upgrading ${this.name} from ${this.currentVersion} to ${this.latestVersion} in yarn.lock...`) - await yarn('upgrade', this.name) + console.log(`Upgrading ${this.name} from ${this.currentVersion} to ${this.latestVersion} in yarn.lock...`); + await yarn('upgrade', this.name); } } async function main() { try { - await spawn('yarn', ['outdated', '--json']) - console.log('No packages to update.') + await spawn('yarn', ['outdated', '--json']); + console.log('No packages to update.'); } catch (error) { - const table = JSON.parse(error.stdout.split('\n')[1]) - for (const [packageName, currentVersion, wantedVersion, latestVersion, packageType, _url] of table.data.body) { + const table = JSON.parse(error.stdout.split('\n')[1]); + for (const [packageName, currentVersion, wantedVersion, latestVersion, packageType /*, _url */] of table.data.body) { if (DO_NOT_UPGRADE.includes(packageName)) { - continue + continue; } - let commitPackageName = null - const package = new Package(packageName, currentVersion, wantedVersion, latestVersion, packageType) - await package.upgrade() + let commitPackageName = null; + const nodePackage = new Package(packageName, currentVersion, wantedVersion, latestVersion, packageType); + await nodePackage.upgrade(); if (packageName === '@typescript-eslint/parser') { - const eslintPlugin = new Package('@typescript-eslint/eslint-plugin', currentVersion, wantedVersion, latestVersion, packageType) - await eslintPlugin.upgrade() - commitPackageName = '@typescript-eslint/{parser,eslint-plugin}' + const eslintPlugin = new Package('@typescript-eslint/eslint-plugin', currentVersion, wantedVersion, latestVersion, packageType); + await eslintPlugin.upgrade(); + commitPackageName = '@typescript-eslint/{parser,eslint-plugin}'; } - await package.smoketestAndCommit(commitPackageName) + await nodePackage.smoketestAndCommit(commitPackageName); } } - console.log(`Upgrading transitive dependencies in yarn.lock...`) - await yarn('upgrade') - await git('add', 'yarn.lock') - await git('commit', '-m', `build(deps): upgrade transitive dependencies`) + console.log(`Upgrading transitive dependencies in yarn.lock...`); + await yarn('upgrade'); + await git('add', 'yarn.lock'); + await git('commit', '-m', `build(deps): upgrade transitive dependencies`); } -main().catch(err => { - console.error(err) - process.exit(1) -}) +main().catch((err) => { + console.error(err); + process.exit(1); +}); diff --git a/tools/utils.ts b/tools/utils.ts index 0e822bbca8..dc04bdd809 100644 --- a/tools/utils.ts +++ b/tools/utils.ts @@ -9,7 +9,7 @@ export interface Package { name: string; } -export const getPackageInfo = async () => { +export const getPackageInfo = async (): Promise => { const packages: Package[] = []; for (const subDir of await fs.readdir(PACKAGES_DIR)) { @@ -25,7 +25,7 @@ export const getPackageInfo = async () => { return packages; }; -export const getPackageInfoSync = () => { +export const getPackageInfoSync = (): Package[] => { const packages: Package[] = []; for (const subDir of fs.readdirSync(PACKAGES_DIR)) { @@ -33,7 +33,7 @@ export const getPackageInfoSync = () => { const packagePath = path.resolve(PACKAGES_DIR, subDir, packageDir); packages.push({ path: packagePath, - name: (fs.readJsonSync(path.resolve(packagePath, 'package.json'))).name, + name: fs.readJsonSync(path.resolve(packagePath, 'package.json')).name, }); } } diff --git a/tsconfig.json b/tsconfig.json index c7fdd53102..6a60d983e3 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,23 +1,15 @@ { - "compilerOptions": { - "module": "commonjs", - "target": "es2019", - "outDir": "dist", - "lib": [ - "dom", - "es2019" - ], - "sourceMap": true, - "rootDir": ".", - "experimentalDecorators": true, - "strict": true, - "esModuleInterop": true, - "declaration": true - }, - "exclude": [ - "node_modules", - "dist", - "test", - "index.ts" - ] + "compilerOptions": { + "module": "commonjs", + "target": "es2019", + "outDir": "dist", + "lib": ["dom", "es2019"], + "sourceMap": true, + "rootDir": ".", + "experimentalDecorators": true, + "strict": true, + "esModuleInterop": true, + "declaration": true + }, + "exclude": ["node_modules", "dist", "test", "index.ts"] } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 1d0f8492f2..58f041e761 100755 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -3,14 +3,5 @@ "compilerOptions": { "rootDir": "packages" }, - "exclude": [ - "dist", - "node_modules", - "ci", - "tools", - "**/dist", - "**/node_modules", - "**/test", - "**/tmpl" - ] + "exclude": ["dist", "node_modules", "ci", "tools", "**/dist", "**/node_modules", "**/test", "**/tmpl"] } diff --git a/typings/parse-author/index.d.ts b/typings/parse-author/index.d.ts index 1eea572eda..866e5e9df7 100644 --- a/typings/parse-author/index.d.ts +++ b/typings/parse-author/index.d.ts @@ -1,7 +1,10 @@ declare module 'parse-author' { - type AuthorType = string | { - name: string; - } | undefined; + type AuthorType = + | string + | { + name: string; + } + | undefined; interface ParseAuthor { (author: AuthorType): AuthorType; } diff --git a/typings/sudo-prompt/index.d.ts b/typings/sudo-prompt/index.d.ts index 2eb3b11f1b..4e159b0b87 100644 --- a/typings/sudo-prompt/index.d.ts +++ b/typings/sudo-prompt/index.d.ts @@ -4,12 +4,10 @@ import { PromiseWithChild } from 'child_process'; // TODO: Remove this if/when that PR gets merged/released declare module 'sudo-prompt' { namespace exec { - function __promisify__(command: string): PromiseWithChild<{ stdout: string; stderr: string }> - function __promisify__( - command: string, - options: - | ((error?: Error, stdout?: TBuffer, stderr?: TBuffer) => void) - | { name?: string; icns?: string; env?: Record } - ): PromiseWithChild<{ stdout: TBuffer; stderr: TBuffer }> + function __promisify__(command: string): PromiseWithChild<{ stdout: string; stderr: string }>; + function __promisify__( + command: string, + options: ((error?: Error, stdout?: TBuffer, stderr?: TBuffer) => void) | { name?: string; icns?: string; env?: Record } + ): PromiseWithChild<{ stdout: TBuffer; stderr: TBuffer }>; } } diff --git a/typings/webpack-dev-server/index.d.ts b/typings/webpack-dev-server/index.d.ts index 7c04c9df14..848d8454be 100644 --- a/typings/webpack-dev-server/index.d.ts +++ b/typings/webpack-dev-server/index.d.ts @@ -4,10 +4,10 @@ declare module 'webpack-dev-server' { import { Server } from 'http'; import { Compiler } from 'webpack'; class WebpackDevServer { - constructor(options: {}, compiler: Compiler) + constructor(options: {}, compiler: Compiler); server: Server; - start(): Promise - close(): void + start(): Promise; + close(): void; } export default WebpackDevServer; } diff --git a/yarn.lock b/yarn.lock index bf3229a1d6..1fc84e6e6b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1856,6 +1856,14 @@ semver "^7.1.1" yargs "^16.0.0" +"@malept/eslint-config@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@malept/eslint-config/-/eslint-config-1.2.1.tgz#df3522a26464182450ac8384d6a3846a9fe43735" + integrity sha512-biZFy2/dpeHn2cwDVaWGJxEv+1QbDgWCyTyIPccQkCwRCDPjtI0iJdqPt75j/edfWf+6Thsa5c8BIe70/DSTaw== + dependencies: + "@typescript-eslint/parser" "^4.28.1" + eslint-config-prettier "^8.3.0" + "@malept/flatpak-bundler@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" @@ -1881,6 +1889,21 @@ semver "^7.3.4" tar "^6.1.0" +"@microsoft/tsdoc-config@0.15.2": + version "0.15.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz#eb353c93f3b62ab74bdc9ab6f4a82bcf80140f14" + integrity sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA== + dependencies: + "@microsoft/tsdoc" "0.13.2" + ajv "~6.12.6" + jju "~1.4.0" + resolve "~1.19.0" + +"@microsoft/tsdoc@0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" + integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== + "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.2": version "2.1.8-no-fsevents.2" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.2.tgz#e324c0a247a5567192dd7180647709d7e2faf94b" @@ -2449,7 +2472,7 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.11.0": +"@typescript-eslint/parser@^4.11.0", "@typescript-eslint/parser@^4.28.1": version "4.31.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.0.tgz#87b7cd16b24b9170c77595d8b1363f8047121e05" integrity sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w== @@ -2701,7 +2724,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3811,11 +3834,6 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" -confusing-browser-globals@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" - integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== - connect-history-api-fallback@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" @@ -4721,14 +4739,10 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-airbnb-base@^14.2.0: - version "14.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" - integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.2" +eslint-config-prettier@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -4746,7 +4760,15 @@ eslint-module-utils@^2.6.2: debug "^3.2.7" pkg-dir "^2.0.0" -eslint-plugin-import@^2.21.2: +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.24.2: version "2.24.2" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== @@ -4775,6 +4797,38 @@ eslint-plugin-mocha@^9.0.0: eslint-utils "^3.0.0" ramda "^0.27.1" +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-promise@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz#fb2188fb734e4557993733b41aa1a688f46c6f24" + integrity sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng== + +eslint-plugin-tsdoc@^0.2.14: + version "0.2.14" + resolved "https://registry.yarnpkg.com/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.14.tgz#e32e7c1df8af7b3009c252590bec07a1030afbf2" + integrity sha512-fJ3fnZRsdIoBZgzkQjv8vAj6NeeOoFkTfgosj6mKsFjX70QV256sA/wq+y/R2+OL4L8E79VVaVWrPeZnKNe8Ng== + dependencies: + "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc-config" "0.15.2" + eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -4783,7 +4837,7 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.1.0: +eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== @@ -4807,7 +4861,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.16.0, eslint@^7.27.0: +eslint@^7.27.0, eslint@^7.32.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== @@ -5096,6 +5150,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-glob@^3.1.1, fast-glob@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" @@ -6133,7 +6192,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: +ignore@^5.1.1, ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== @@ -6350,7 +6409,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.2.0, is-core-module@^2.6.0: +is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== @@ -6741,6 +6800,11 @@ jest-worker@^27.0.6: merge-stream "^2.0.0" supports-color "^8.0.0" +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -8025,15 +8089,6 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - object.getownpropertydescriptors@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" @@ -8577,6 +8632,18 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.0.tgz#85bdfe0f70c3e777cf13a4ffff39713ca6f64cba" + integrity sha512-DsEPLY1dE5HF3BxCRBmD4uYZ+5DCbvatnolqTqcxEgKVZnL2kUfyu7b8pPQ5+hTBkdhU9SLUmK0/pHb07RE4WQ== + pretty-bytes@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" @@ -8953,7 +9020,7 @@ regexp.prototype.flags@^1.2.0: call-bind "^1.0.2" define-properties "^1.1.3" -regexpp@^3.1.0: +regexpp@^3.0.0, regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -9108,7 +9175,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.14.2, resolve@^1.20.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.14.2, resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -9116,6 +9183,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.14.2, resolve@^1.20 is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -9283,7 +9358,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==