From 74d1f48f3bd9f15bcff9889a19e9eda83f04b3ef Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 06:40:58 +0000 Subject: [PATCH 1/2] Jules was unable to complete the task in time. Please review the work done so far and provide feedback for Jules to continue. --- .babelrc | 7 - babel.config.cjs | 6 + package.json | 28 +- src/components/Alerts.jsx | 4 +- src/components/CodeMirrorBox.jsx | 4 +- src/components/Console.jsx | 2 +- src/components/ContentWrap.jsx | 4 +- src/components/CreateNewModal.jsx | 2 +- src/components/CssSettingsModal.jsx | 4 +- src/components/Footer.jsx | 70 +- src/components/HelpModal.jsx | 1 + src/components/Icons.jsx | 2 + src/components/ItemTile.jsx | 1 + src/components/Js13KModal.jsx | 1 + src/components/KeyboardShortcutsModal.jsx | 2 +- src/components/LoginModal.jsx | 2 +- src/components/MainHeader.jsx | 3 +- src/components/Modal.jsx | 3 +- src/components/Notifications.jsx | 2 +- src/components/OnboardingModal.jsx | 1 + src/components/PageTabs.jsx | 2 +- src/components/PopOver.jsx | 2 +- src/components/PreviewCard.jsx | 1 + src/components/Profile.jsx | 2 +- src/components/SavedItemPane.jsx | 4 +- src/components/SettingsModal.jsx | 1 + src/components/SharePanel.jsx | 2 +- src/components/SplitPane.jsx | 2 +- src/components/SupportDeveloperModal.jsx | 2 +- src/components/UserCodeMirror.jsx | 2 +- src/components/app.jsx | 2 +- src/components/common.jsx | 2 +- src/components/subscription/PricingModal.jsx | 3 +- .../subscription/SubscriptionItem.jsx | 2 +- src/index.js | 4 +- src/tests/footer.test.js | 8 +- vite.config.js | 12 +- yarn.lock | 1820 +++++++++++++---- 38 files changed, 1516 insertions(+), 506 deletions(-) delete mode 100644 .babelrc create mode 100644 babel.config.cjs diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 54b99533..00000000 --- a/.babelrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "env": { - "test": { - "presets": [["preact-cli/babel", { "modules": "commonjs" }]] - } - } -} diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 00000000..a65c4082 --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + presets: [ + ['@babel/preset-env', { targets: { node: 'current' } }], + ['@babel/preset-react', { runtime: 'automatic' }] + ] +}; diff --git a/package.json b/package.json index 6a95b684..b993c367 100644 --- a/package.json +++ b/package.json @@ -40,14 +40,16 @@ ] }, "devDependencies": { + "@babel/core": "^7.27.4", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@preact/preset-vite": "^2.10.1", + "@babel/preset-env": "^7.27.2", + "@babel/preset-react": "^7.27.1", "@vitejs/plugin-legacy": "^6.1.1", "autoprefixer": "^10.4.21", + "babel-jest": "^30.0.0-beta.3", "babel-minify": "^0.5.2", "enzyme": "^3.11.0", - "enzyme-adapter-preact-pure": "^2.3.0", "eslint": "^8.54.0", "eslint-config-preact": "^1.1.0", "git-revision-webpack-plugin": "^5.0.0", @@ -60,7 +62,6 @@ "gulp-useref": "^4.0.1", "gulp-zip": "^5.0.2", "jest": "^24.9.0", - "jest-preset-preact": "^1.0.0", "postcss": "^8.5.4", "postcss-custom-media": "^10.0.4", "prettier": "^3.2.5", @@ -78,6 +79,8 @@ "@radix-ui/react-radio-group": "^1.1.3", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-tooltip": "^1.0.7", + "@vitejs/plugin-react": "^4.5.1", + "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "@zenuml/core": "^3.32.2", "clsx": "^2.0.0", "code-blast-codemirror": "chinchang/code-blast-codemirror#web-maker", @@ -89,10 +92,8 @@ "firebase-tools": "^13.6.0", "http-server": "^0.12.3", "jszip": "3.8.0", - "preact": "10.18.1", - "preact-compat": "^3.19.0", - "preact-render-to-string": "^6.2.2", - "preact-router": "^4.1.2", + "react": "17", + "react-dom": "17", "split.js": "1.6.0", "svg-transform-loader": "^2.0.12", "vue": "^3.2.45", @@ -102,7 +103,11 @@ "graceful-fs": "^4.2.4" }, "jest": { - "verbose": true + "verbose": true, + "transform": { + "^.+\\.[jt]sx?$": "babel-jest" + }, + "transformIgnorePatterns": [] }, "setupFiles": [ "/src/tests/__mocks__/browserMocks.js" @@ -118,12 +123,7 @@ "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/src/tests/__mocks__/fileMock.js", "\\.(css|less|scss)$": "identity-obj-proxy", - "^./style$": "identity-obj-proxy", - "^preact$": "/node_modules/preact/dist/preact.min.js", - "^react$": "preact-compat", - "^react-dom$": "preact-compat", - "^create-react-class$": "preact-compat/lib/create-react-class", - "^react-addons-css-transition-group$": "preact-css-transition-group" + "^./style$": "identity-obj-proxy" }, "browserslist": [ "last 3 Chrome versions", diff --git a/src/components/Alerts.jsx b/src/components/Alerts.jsx index cb914fa8..bfc21fe0 100644 --- a/src/components/Alerts.jsx +++ b/src/components/Alerts.jsx @@ -1,6 +1,6 @@ -import { h, Component } from 'preact'; +import React from 'react'; -export class Alerts extends Component { +export class Alerts extends React.Component { shouldComponentUpdate(nextProps, nextState) { return false; } diff --git a/src/components/CodeMirrorBox.jsx b/src/components/CodeMirrorBox.jsx index 3c754da9..20ed7723 100644 --- a/src/components/CodeMirrorBox.jsx +++ b/src/components/CodeMirrorBox.jsx @@ -1,9 +1,9 @@ -import { h, Component } from 'preact'; +import React from 'react'; import CodeMirror from '../CodeMirror'; import 'codemirror/mode/javascript/javascript.js'; -export default class CodeMirrorBox extends Component { +export default class CodeMirrorBox extends React.Component { componentDidMount() { this.initEditor(); } diff --git a/src/components/Console.jsx b/src/components/Console.jsx index 71bafa35..af94db9c 100644 --- a/src/components/Console.jsx +++ b/src/components/Console.jsx @@ -1,4 +1,4 @@ -import { h } from 'preact'; +import React from 'react'; import CodeMirrorBox from './CodeMirrorBox'; export function Console({ diff --git a/src/components/ContentWrap.jsx b/src/components/ContentWrap.jsx index 0960ce7e..0ad28cbf 100644 --- a/src/components/ContentWrap.jsx +++ b/src/components/ContentWrap.jsx @@ -1,4 +1,4 @@ -import { h, Component } from 'preact'; +import React from 'react'; import { saveAs } from 'file-saver'; import UserCodeMirror from './UserCodeMirror.jsx'; import Toolbox from './Toolbox.jsx'; @@ -24,7 +24,7 @@ const minCodeWrapSize = 33; /* global htmlCodeEl, jsCodeEl, cssCodeEl, logCountEl */ -export default class ContentWrap extends Component { +export default class ContentWrap extends React.Component { constructor(props) { super(props); this.state = { diff --git a/src/components/CreateNewModal.jsx b/src/components/CreateNewModal.jsx index d9313a26..38731696 100644 --- a/src/components/CreateNewModal.jsx +++ b/src/components/CreateNewModal.jsx @@ -1,4 +1,4 @@ -import { h } from 'preact'; +import React from 'react'; import { ItemTile } from './ItemTile'; import templates from '../templateList'; import * as Dialog from '@radix-ui/react-dialog'; diff --git a/src/components/CssSettingsModal.jsx b/src/components/CssSettingsModal.jsx index 3d01c95b..24a1fc2a 100644 --- a/src/components/CssSettingsModal.jsx +++ b/src/components/CssSettingsModal.jsx @@ -1,8 +1,8 @@ -import { h, Component } from 'preact'; +import React from 'react'; import Modal from './Modal'; import CodeMirrorBox from './CodeMirrorBox'; -export default class CssSettingsModal extends Component { +export default class CssSettingsModal extends React.Component { componentDidUpdate() { if (this.props.show) { setTimeout(() => { diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx index b788e711..895e04d4 100644 --- a/src/components/Footer.jsx +++ b/src/components/Footer.jsx @@ -1,6 +1,6 @@ -import { Component } from 'preact'; +import React from 'react'; -class JS13K extends Component { +class JS13K extends React.Component { constructor(props) { super(props); const compoDate = new Date('August 13 2018 11:00 GMT'); @@ -18,17 +18,17 @@ class JS13K extends Component { return (
JS13K Games logo{' '} - ); } } -export default class Footer extends Component { +export default class Footer extends React.Component { constructor(props) { super(props); this.state = { @@ -70,13 +72,13 @@ export default class Footer extends Component { return (