BSC-ES / autosubmit-gui

The Autosubmit Graphical User Interface (GUI) is the web-based Autosubmit frontend, allowing users to discover, monitor, and analyze experiments. It is based on ReactJS and relies on the Autosubmit API as the middleware to get experiment information.
MIT License
4 stars 0 forks source link

Move from create-react-app to Vite or Webpack #158

Open LuiggiTenorioK opened 1 week ago

LuiggiTenorioK commented 1 week ago

We need to migrate our project from Create React App (CRA) to Vite/Webpack due to several reasons, including security concerns and performance improvements.

The idea is that:

LuiggiTenorioK commented 6 days ago

From our build logs, we have many warnings related to react-scripts (a.k.a. create-react-app):

warning react-scripts > eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
warning react-scripts > workbox-webpack-plugin@6.6.1: this package has been deprecated
warning react-scripts > babel-preset-react-app > @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
warning react-scripts > babel-preset-react-app > @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
warning react-scripts > babel-preset-react-app > @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
warning react-scripts > babel-preset-react-app > @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
warning react-scripts > babel-preset-react-app > @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
warning react-scripts > eslint > @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
warning react-scripts > source-map-loader > abab@2.0.6: Use your platform's native atob() and btoa() methods instead
warning react-scripts > webpack-dev-server > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning react-scripts > jest > @jest/core > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning react-scripts > workbox-webpack-plugin > workbox-build@6.6.1: this package has been deprecated
warning react-scripts > @svgr/webpack > @svgr/plugin-svgo > svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
warning react-scripts > eslint > file-entry-cache > flat-cache > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning react-scripts > eslint > @humanwhocodes/config-array > @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
warning react-scripts > react-dev-utils > fork-ts-checker-webpack-plugin > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > webpack-dev-server > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > workbox-webpack-plugin > workbox-build > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > babel-jest > babel-plugin-istanbul > test-exclude > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > jest > @jest/core > jest-config > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > jest > @jest/core > jest-runtime > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > jest > @jest/core > @jest/reporters > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-scripts > react-dev-utils > fork-ts-checker-webpack-plugin > memfs@3.6.0: this will be v4
warning react-scripts > webpack-dev-server > webpack-dev-middleware > memfs@3.6.0: this will be v4
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-sw@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-window@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-window > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-routing@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-routing > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-routing@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-streams@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-streams > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-streams > workbox-routing@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-precaching@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-precaching@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-precaching > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-precaching > workbox-routing@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > rollup-plugin-terser@7.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-strategies@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-strategies@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-precaching > workbox-strategies@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-strategies > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-broadcast-update@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-broadcast-update > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-expiration@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-expiration@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-expiration > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-range-requests@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-range-requests > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-cacheable-response@6.6.1: workbox-background-sync@6.6.1
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-recipes > workbox-cacheable-response@6.6.1: workbox-background-sync@6.6.1
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-cacheable-response > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-google-analytics@6.6.1: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-google-analytics > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-google-analytics > workbox-routing@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-google-analytics > workbox-strategies@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-background-sync@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-google-analytics > workbox-background-sync@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-background-sync > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-navigation-preload@6.6.1: this package has been deprecated
warning react-scripts > workbox-webpack-plugin > workbox-build > workbox-navigation-preload > workbox-core@6.6.1: this package has been deprecated
warning react-scripts > @svgr/webpack > @svgr/plugin-svgo > svgo > stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
warning react-scripts > css-minimizer-webpack-plugin > cssnano > cssnano-preset-default > postcss-svgo > svgo > stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
warning react-scripts > react-dev-utils > fork-ts-checker-webpack-plugin > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning react-scripts > @svgr/webpack > @svgr/plugin-svgo > svgo > coa > q@1.5.1: You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.

(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
warning react-scripts > jest > @jest/core > jest-config > jest-environment-jsdom > jsdom > abab@2.0.6: Use your platform's native atob() and btoa() methods instead
warning react-scripts > workbox-webpack-plugin > workbox-build > @rollup/plugin-replace > magic-string > sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
warning react-scripts > jest > @jest/core > jest-config > jest-environment-jsdom > jsdom > w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
warning react-scripts > jest > @jest/core > jest-config > jest-environment-jsdom > jsdom > data-urls > abab@2.0.6: Use your platform's native atob() and btoa() methods instead
warning react-scripts > jest > @jest/core > jest-config > jest-environment-jsdom > jsdom > domexception@2.0.1: Use your platform's native DOMException instead
warning @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
warning @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
warning @cypress/code-coverage > nyc > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning @cypress/code-coverage > nyc > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning @cypress/code-coverage > nyc > spawn-wrap > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning @cypress/code-coverage > nyc > istanbul-lib-processinfo > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning @cypress/instrument-cra > debug@4.2.0: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
warning eslint@8.[57](https://github.com/BSC-ES/autosubmit-gui/actions/runs/11955798977/job/33329019375#step:5:58).1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
warning source-map-explorer > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning source-map-explorer > temp > rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported
warning source-map-explorer > temp > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported