|
| 1 | +# Changelog `v4+` |
| 2 | +All notable changes to this project on `v4+` will be documented in this file. |
| 3 | + |
| 4 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 5 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 6 | + |
| 7 | +## [Unreleased] |
| 8 | + |
| 9 | +## [v4.0.0] - 2022-07-22 |
| 10 | +### Added |
| 11 | +- Jest as default unit testing framework, with sample test suite for `main`. |
| 12 | +- Integrated Electron preload pattern. |
| 13 | +- NPM scripts: |
| 14 | + - `watch-test` to run Jest in watch mode. |
| 15 | + - `next-rc`, `next-patch`, `next-minor` & `next-major` for quick |
| 16 | + package version number advance. |
| 17 | + |
| 18 | +### Changed |
| 19 | +- Webpack will now take the module path alias from `tsconfig.json` and set it |
| 20 | + for you thanks to `tsconfig-paths-webpack-plugin`. Manually set up in Webpack |
| 21 | + config is no longer needed. |
| 22 | +- `tsconfig` now configured to use `ES2020` features, with module resolution |
| 23 | + set to `Node16` to match the NodeJS version used by Electron. |
| 24 | +- Migrated to the new `createRoot` API introduced in React `v18`. |
| 25 | +- Some APIs changed in Electron `main` entry script: |
| 26 | + - `mainWindow` now use `loadFile` API instead of `loadURL`. |
| 27 | + - Replaced `app.on('ready')` with `app.whenReady()` to align with syntax from |
| 28 | + [Electron official quick start guide](https://www.electronjs.org/docs/latest/tutorial/quick-start). |
| 29 | +- `electron-builder` now configured to build `universal` `dmg` for mac, 32 & |
| 30 | + 64 bit `exe` for Windows. |
| 31 | +- Moved `electron-builder`, Webpack & Webpack-related packages to |
| 32 | + `optionalDependencies`. |
| 33 | +- Revamped `README`. |
| 34 | +- __*Starting from this version, the maintenance schedule will be on a monthly |
| 35 | + update basis to keep the package dependencies up to date and keep the |
| 36 | + development going.*__ |
| 37 | + |
| 38 | +### Fixed |
| 39 | +- Allow to use `import default` statement on non ES modules (e.g. React, |
| 40 | + lodash) by enabling `esModuleInterop` in `tsconfig`. |
| 41 | + [#14](https://github.com/Devtography/electron-react-typescript-webpack-boilerplate/issues/14) |
| 42 | + |
| 43 | +### Removed |
| 44 | +- Mocha in favour of Jest. |
| 45 | +- Spectron as it ahs been deprecated. |
| 46 | + *See - [Spectron Deprecation Notice](https://www.electronjs.org/blog/spectron-deprecation-notice)* |
| 47 | + |
| 48 | +### Updates on package dependencies |
| 49 | +### Added |
| 50 | +- `@types/jest`, `jest`, `ts-jest`, `eslint-plugin-jest` *- Jest support* |
| 51 | +- `eslint-config-airbnb-typescript` *- Enhance Airbnb's rules in TypeScript* |
| 52 | +- `ts-config-paths-webpack-plugin` *- Load `tsconfig` path alias into Webpack |
| 53 | + config* |
| 54 | + |
| 55 | +### Updated |
| 56 | +- Major version updates: |
| 57 | + - `react` & `react-dom` - `17.0.1` -> `18.2.0` |
| 58 | + - `@types/react` - `17.0.0` -> `18.0.15` |
| 59 | + - `@types/react-dom` - `17.0.0` -> `18.0.6` |
| 60 | + - `@typescript-eslint/eslint-plugin` & `@typescript-eslint/parser` - |
| 61 | + `4.11.0` -> `5.30.7` |
| 62 | + - `electron` - `11.1.1` -> `19.0.9` |
| 63 | + - `eslint-config-airbnb` - `18.2.1` -> `19.0.4` |
| 64 | + - `copy-webpack-plugin` - `7.0.0` -> `11.0.0` |
| 65 | + - `css-loader` - `5.0.1` -> `6.7.1` |
| 66 | + - `electron-builder` - `22.9.1` -> `23.1.0` |
| 67 | + - `html-webpack-plugin` - `4.5.0` -> `5.5.0` |
| 68 | + - `style-loader` - `2.0.0` -> `3.3.1` |
| 69 | + - `ts-loader` - `8.0.12` -> `9.3.1` |
| 70 | + - `ts-config-paths` - `3.9.0` -> `4.0.0` |
| 71 | +- Minor & patch version updates: |
| 72 | + - `eslint-import-resolver-webpack` - `0.13.0` -> `0.13.2` |
| 73 | + - `eslint-plugin-import` - `2.22.1` -> `2.26.0` |
| 74 | + - `eslint-plugin-jsx-a11y` - `6.4.1` -> `6.6.1` |
| 75 | + - `eslint-plugin-react` - `7.21.5` -> `7.30.1` |
| 76 | + - `eslint-plugin-react-hoots` - `4.2.0` -> `4.6.0` |
| 77 | + - `lodash` - `4.17.20` -> `4.17.21` |
| 78 | + - `webpack` - `5.11.0` -> `5.73.0` |
| 79 | + - `webpack-cli` - `4.3.0` -> `4.10.0` |
| 80 | + |
| 81 | +### Removed |
| 82 | +- `react-router`, `react-router-dom`, `@types/react-router`, |
| 83 | + `@types/react-router-dom` |
| 84 | + |
| 85 | + *\- Not being used in any part of the boilerplate* |
| 86 | +- `@types/mocha`, `mocha`, `ts-node` *- Replaced by `@types/jest`, `jest` & |
| 87 | + `ts-jest`* |
| 88 | +- `spectron` *- Deprecated package; No replacement* |
| 89 | + |
| 90 | +[Unreleased]: https://github.com/Devtography/electron-react-typescript-webpack-boilerplate/compare/v4.0.0...HEAD |
| 91 | +[v4.0.0]: https://github.com/Devtography/electron-react-typescript-webpack-boilerplate/compare/v3.0.0...v4.0.0 |
0 commit comments