diffusionbee-stable-diffusion-ui icon indicating copy to clipboard operation
diffusionbee-stable-diffusion-ui copied to clipboard

Fix: upgrade babel eslint & vue-cli electron dependancies.

Open joshJarr opened this issue 2 years ago • 0 comments

Hi,

When working with the electron app we noticed ES2020 was not being compiled correctly. Features such as optional chaining were throwing compilation errors as the loader for these files were outdated. This was also the case for files imported from node_modules meaning any library that used this modern JS syntax would not compile.

To fix this we updated the vue-cli-plugins and noticed that babel-eslint is deprecated, so updated this to use @babel/eslint-parser.

This had a side effect of also upgrading webpack to version 5+. Webpack 5+ no longer polyfills node.js modules, this caused a few errors across the frontend so we added node-polyfill-webpack-plugin to ensure these necessary modules were available in the frontend.

A side effect of bumping the babel and vue-cli versions were that automated linting occurred when building and serving the electron app blocking compilation. To get around this we added a temporary .eslintignore file to discard these complaints for now.

TLDR: This PR updates the vue-cli and babel/eslint dependancies so that they are able to compile JS files and modules that use modern ES2020 syntax, aligning with the vue (.vue) file loader.

Let us know if you have any feedback, Thanks!

joshJarr avatar Nov 08 '22 15:11 joshJarr