All notable changes up to v3.0.0 are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.0 - 2020-12-26
- NPM packages
react-router&react-router-domto package dependencies. - NPM package
eslint-plugin-react-hookstodevDependenciesas required by the updated version ofeslint-config-airbnb. - NPM package
copy-webpack-plugintodevDependenciesas replacement ofcopy-pkg-json-webpack-plugin. - NPM packages
@typescript-eslint/eslint-plugin&@typescript-eslint/parsertodevDependenciesfor using ESLint to lint TypeScript.
- Project is now being developed based on Node.js
v14 (LTS). - Minor version upgrades on package dependencies:
eslint-import-resolver-webpack-0.11.1->0.13.0eslint-plugin-import-2.18.2->2.22.1eslint-plugin-jsx-a11y-6.2.3->6.4.1eslint-plugin-react-7.17.0-> ``7.21.5`lodash-4.17.15->4.17.20
- Major version upgrades on package dependencies:
react&react-dom-16.12.0->17.0.1cross-env-5.2.1->7.0.3css-loader-1.0.1->5.0.1electron-3.1.13->11.1.1electron-builder-20.44.4->22.9.1eslint-5.16.0->7.16.0eslint-config-airbnb-17.1.1->18.2.1file-loader-2.0.0->6.2.0html-webpack-plugin-3.2.0->4.5.0mocha-5.2.0->8.2.1rimraf-2.7.1->3.0.2source-map-loader-0.2.4->2.0.0spectron-5.0.0->13.0.0style-loader-0.23.1->2.0.0ts-loader-5.4.5->8.0.12ts-node-7.0.1->9.1.1typescript-3.7.2- >4.1.3webpack-4.41.2->5.11.0webpack-cli-3.3.10->4.3.0
- Moved
@typespackages fromdependenciestodevDependenciesas those have no need to be included in production builds. - Commands of NPM scripts
dev&prodto make them work with Webpack 5. - Migrated to ESLint from TSLint.
- Updated prefix of internal paths from
@to_to avoid confusions with scoped NPM packages. - Indentation for
.tsfiles is now set as2spaces instead of4. electron-buildersettings:win:- Enabled
asar. (turn it off if the executable built doesn't work) - Disabled one click installer.
- Allowed custom installation directory in the installer built.
- Enabled
mac:- Changed build target back to
dmg.
- Changed build target back to
buildVersionis now being used as build number instead of just another parameter for semantic version number.
- Updated section
Known issuesinREADME.
- ESLint errors/warnings on
main.ts&renderer.tsx. electron-builderfails to builddmgonmacOS(issue electron-builder #3990)by upgrading the package version to> 21.2.0.
- NPM package
copy-pkg-json-webpack-pluginas it doesn't work with Webpack 5 and seems not very well maintained. - NPM packages
acorn&ajvfromdevDependenciesas they're not being used in this boilerplate. - NPM packages
tslint&tslint-microsoft-contribas TSLint is now deprecated.
2.0.2 - 2019-12-02
v2.0.2 is a minor hotfix release fixed the documentation error and build error on macOS Catalina(10.15+).
- Extended README section
Getting startedwithnpm startcommand description. - README section
Known issue.
- Minor version upgrades on package dependencies.
macOSbuild target topkgfrom defaultdmgdue to no 32-bit apps support frommacOS Catalinathat causedelectron-builderfails to builddmgimage onmacOSprior toelectron-builder@21.2.0.pkgbuild is unaffected and is used as a workaround for the current version prior to the major version upgrades on dependencies in next release. Related issue: electron-builder #3990
- Issue #2 - incorrect command
npm run installtonpm installinREADME.
2.0.1 - 2018-02-05
v2.0.1 is a minor hotfix release patched the NODE_ENV not set on Windows issue.
- Package
cross-envasdevDependencies. - README section "Author".
- NPM scripts won't set environment variables on Windows issue.
v2.0.0 is a major release that most part of the boilerplate has been rewritten.
- ESLint for code checking on Javascript files.
- Airbnb's extensible
.eslintrcpackage & its' peer dependencies. .eslintrcthat extends Airbnb's config and has customised rules configured.- Rule
no-default-exportis set for JavaScript files to align with TypeScript.
- Rule
- ESLint plugin
eslint-import-resolver-webpackfor ESLint to resolve path aliases set in Webpack config. - Webpack plugin
copy-pkg-json-webpack-pluginto generate apackage.jsonfile and pack into Webpack's bundled package for production. - Build commands
build:mac&build:winto package & build the installer of your Electron app for macOS & Windows usingelectron-builder. - README section "Building the installer for your Electron app" & sub-section "Extra options".
- Refactored Webpack config file to have
mainConfig&rendererConfigcleaned up, and set mode by environment variable. .gitignoreto ignore folderout/which will be auto-generated during the build process.- README section "How does it work?" is now renamed to "Getting started" & completed the documentation of this section.
- README section "Folder structure" to reflect the changes in
v2.0.0.
- CSS files fail to inject into views issue by setting Webpack to use
style-loaderalongside withcss-loaderto bundle the files in Webpack config file. baseUrlintsconfig.jsonpoints to root directory incorrectly issue. Corrected to current directory so VSCode can resolves the path aliases correctly.
- Redux & React-Redux related settings, including packages listed on
devDependencies, path aliases & folders listed in folder structure.- Since Electron's built-in IPC & basic React states should be enough to get the works done, and most Electron apps which have their application logic runs on Electron's
mainprocess rather thenrendererprocess actually don't need React-Redux,redux&react-reduxare no longer included in this boilerplate. - Redux & React-Redux can still be used on this boilerplate by installing the package yourself. For details, please refer to the corresponding library's documents, there's no different than working on any other project which isn't based on this boilerplate.
- Since Electron's built-in IPC & basic React states should be enough to get the works done, and most Electron apps which have their application logic runs on Electron's
- Separated Webpack config files for
development&productionmode.