diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 2c45104b66..c0a3a7f559 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -64,7 +64,7 @@ jobs: run: npm ci - name: Install dependencies if: steps.cache-gui-fe-build.outputs.cache-hit != 'true' - run: npm ci --omit=optional + run: npm ci - if: steps.cache-gui-fe-build.outputs.cache-hit != 'true' run: npm run build --if-present diff --git a/INSTALLATION.md b/INSTALLATION.md index 232fd9ae11..57176ebee7 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -80,7 +80,7 @@ cd frontend/taipy-gui cd dom npm i cd .. -npm i --omit=optional +npm i npm run build # # Build the Taipy front-end bundle diff --git a/frontend/taipy-gui/README.md b/frontend/taipy-gui/README.md index bea3f14efb..79ff84263c 100644 --- a/frontend/taipy-gui/README.md +++ b/frontend/taipy-gui/README.md @@ -24,7 +24,7 @@ cd dom npm i cd .. # Install the web app dependencies -npm i --omit=optional +npm i # Build the web app and all elements npm run build ``` diff --git a/frontend/taipy-gui/jest.config.js b/frontend/taipy-gui/jest.config.js index f967c212c6..f7b7cd8e58 100644 --- a/frontend/taipy-gui/jest.config.js +++ b/frontend/taipy-gui/jest.config.js @@ -13,9 +13,21 @@ /** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */ module.exports = { - // testEnvironment: 'jest-environment-jsdom', - preset: 'ts-jest', - testEnvironment: 'jsdom', - setupFiles: ['./test-config/jest.env.js', './test-config/createObjectUrl.js', './test-config/Canvas.js', './test-config/mockFileUpload.js', './test-config/intersectionObserver.js'], - coverageReporters: ["json", "html", "text"], + // testEnvironment: 'jest-environment-jsdom', + // preset: "ts-jest", + preset: "ts-jest/presets/js-with-ts", + testEnvironment: "jsdom", + setupFiles: [ + "./test-config/jest.env.js", + "./test-config/createObjectUrl.js", + "./test-config/Canvas.js", + "./test-config/mockFileUpload.js", + "./test-config/intersectionObserver.js", + ], + coverageReporters: ["json", "html", "text"], + transformIgnorePatterns: ["/node_modules/(?!react-jsx-parser/)"], + // transform: {"^.+\.[jt]sx?$": "ts-jest"}, + // moduleNameMapper: { + // "^react-jsx-parser": require.resolve("react-jsx-parser"), + // }, }; diff --git a/frontend/taipy-gui/package-lock.json b/frontend/taipy-gui/package-lock.json index 42237f1c7f..31e102bfb9 100644 --- a/frontend/taipy-gui/package-lock.json +++ b/frontend/taipy-gui/package-lock.json @@ -26,7 +26,7 @@ "react-dom": "^18.2.0", "react-error-boundary": "^4.0.3", "react-helmet-async": "^2.0.1", - "react-jsx-parser": "^1.29.0", + "react-jsx-parser": "^2.1.0", "react-markdown": "^9.0.1", "react-plotly.js": "^2.5.1", "react-router-dom": "^6.0.1", @@ -804,9 +804,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2467,43 +2467,44 @@ } }, "node_modules/@shikijs/core": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.17.6.tgz", - "integrity": "sha512-9ztslig6/YmCg/XwESAXbKjAjOhaq6HVced9NY6qcbDz1X5g/S90Wco2vMjBNX/6V71ASkzri76JewSGPa7kiQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.17.7.tgz", + "integrity": "sha512-ZnIDxFu/yvje3Q8owSHaEHd+bu/jdWhHAaJ17ggjXofHx5rc4bhpCSW+OjC6smUBi5s5dd023jWtZ1gzMu/yrw==", "dev": true, "dependencies": { - "@shikijs/engine-javascript": "1.17.6", - "@shikijs/engine-oniguruma": "1.17.6", - "@shikijs/types": "1.17.6", + "@shikijs/engine-javascript": "1.17.7", + "@shikijs/engine-oniguruma": "1.17.7", + "@shikijs/types": "1.17.7", "@shikijs/vscode-textmate": "^9.2.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.2" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.17.6.tgz", - "integrity": "sha512-5EEZj8tVcierNxm4V0UMS2PVoflb0UJPalWWV8l9rRg+oOfnr5VivqBJbkyq5grltVPvByIXvVbY8GSM/356jQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.17.7.tgz", + "integrity": "sha512-wwSf7lKPsm+hiYQdX+1WfOXujtnUG6fnN4rCmExxa4vo+OTmvZ9B1eKauilvol/LHUPrQgW12G3gzem7pY5ckw==", "dev": true, "dependencies": { - "@shikijs/types": "1.17.6", + "@shikijs/types": "1.17.7", + "@shikijs/vscode-textmate": "^9.2.2", "oniguruma-to-js": "0.4.3" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.17.6.tgz", - "integrity": "sha512-NLfWDMXFYe0nDHFbEoyZdz89aIIey3bTfF3zLYSUNTXks5s4uinZVmuPOFf1HfTeGqIn8uErJSBc3VnpJO7Alw==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.17.7.tgz", + "integrity": "sha512-pvSYGnVeEIconU28NEzBXqSQC/GILbuNbAHwMoSfdTBrobKAsV1vq2K4cAgiaW1TJceLV9QMGGh18hi7cCzbVQ==", "dev": true, "dependencies": { - "@shikijs/types": "1.17.6", + "@shikijs/types": "1.17.7", "@shikijs/vscode-textmate": "^9.2.2" } }, "node_modules/@shikijs/types": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.17.6.tgz", - "integrity": "sha512-ndTFa2TJi2w51ddKQDn3Jy8f6K4E5Q2x3dA3Hmsd3+YmxDQ10UWHjcw7VbVbKzv3VcUvYPLy+z9neqytSzUMUg==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.17.7.tgz", + "integrity": "sha512-+qA4UyhWLH2q4EFd+0z4K7GpERDU+c+CN2XYD3sC+zjvAr5iuwD1nToXZMt1YODshjkEGEDV86G7j66bKjqDdg==", "dev": true, "dependencies": { "@shikijs/vscode-textmate": "^9.2.2", @@ -3123,11 +3124,6 @@ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, - "node_modules/@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" - }, "node_modules/@types/pbf": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", @@ -3145,9 +3141,9 @@ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", - "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "version": "18.3.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.6.tgz", + "integrity": "sha512-CnGaRYNu2iZlkGXGrOYtdg5mLK8neySj0woZ4e2wF/eli2E6Sazmq5X+Nrj6OBrrFVQfJWTUFeqAzoRhWQXYvg==", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3157,7 +3153,7 @@ "version": "18.3.0", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "dev": true, + "devOptional": true, "dependencies": { "@types/react": "*" } @@ -3229,12 +3225,6 @@ "@types/react-window": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "optional": true - }, "node_modules/@types/sprintf-js": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@types/sprintf-js/-/sprintf-js-1.1.4.tgz", @@ -3258,7 +3248,8 @@ "node_modules/@types/tough-cookie": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true }, "node_modules/@types/unist": { "version": "3.0.3", @@ -5214,16 +5205,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -8043,9 +8024,9 @@ } }, "node_modules/hast-util-to-html": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.2.tgz", - "integrity": "sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", + "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", "dev": true, "dependencies": { "@types/hast": "^3.0.0", @@ -13312,9 +13293,9 @@ } }, "node_modules/postcss": { - "version": "8.4.45", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", - "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -13331,8 +13312,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -13692,54 +13673,23 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/react-jsx-parser": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/react-jsx-parser/-/react-jsx-parser-1.29.0.tgz", - "integrity": "sha512-u0svZd0UsPffRrIK0sTbox54jhEbTmg6ED9ob5FQahp1DeOpd2Rq+KiSTIFNYkZUL+WZi4Ntia/Oj5T4lDJafQ==", - "hasInstallScript": true, + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-jsx-parser/-/react-jsx-parser-2.1.0.tgz", + "integrity": "sha512-cGp8ceqA6j7OylsqeK2kuCGRitHpWzximsxsQyqkQO+1fwyG82Mb1l2nx9ImrfdCO6GT2kgt7C6cX9vJ46B7ow==", "dependencies": { - "@types/jsdom": "^16.2.6", - "acorn": "^8.0.5", - "acorn-jsx": "^5.3.1", - "browserslist": "^4.14.5", - "core-js": "^3.8.3" + "acorn": "^8.12.1", + "acorn-jsx": "^5.3.2" + }, + "engines": { + "bun": "^1.1.27" }, "optionalDependencies": { - "@types/react": "^17.0.1", - "@types/react-dom": "^17.0.0" + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0" }, "peerDependencies": { - "react": ">=17", - "react-dom": ">=17" - } - }, - "node_modules/react-jsx-parser/node_modules/@types/jsdom": { - "version": "16.2.15", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.15.tgz", - "integrity": "sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ==", - "dependencies": { - "@types/node": "*", - "@types/parse5": "^6.0.3", - "@types/tough-cookie": "*" - } - }, - "node_modules/react-jsx-parser/node_modules/@types/react": { - "version": "17.0.80", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", - "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", - "optional": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "^0.16", - "csstype": "^3.0.2" - } - }, - "node_modules/react-jsx-parser/node_modules/@types/react-dom": { - "version": "17.0.25", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", - "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", - "optional": true, - "dependencies": { - "@types/react": "^17" + "react": ">=18", + "react-dom": ">=18" } }, "node_modules/react-markdown": { @@ -14536,15 +14486,15 @@ } }, "node_modules/shiki": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.17.6.tgz", - "integrity": "sha512-RejGugKpDM75vh6YtF9R771acxHRDikC/01kxsUGW+Pnaz3pTY+c8aZB5CnD7p0vuFPs1HaoAIU/4E+NCfS+mQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.17.7.tgz", + "integrity": "sha512-Zf6hNtWhFyF4XP5OOsXkBTEx9JFPiN0TQx4wSe+Vqeuczewgk2vT4IZhF4gka55uelm052BD5BaHavNqUNZd+A==", "dev": true, "dependencies": { - "@shikijs/core": "1.17.6", - "@shikijs/engine-javascript": "1.17.6", - "@shikijs/engine-oniguruma": "1.17.6", - "@shikijs/types": "1.17.6", + "@shikijs/core": "1.17.7", + "@shikijs/engine-javascript": "1.17.7", + "@shikijs/engine-oniguruma": "1.17.7", + "@shikijs/types": "1.17.7", "@shikijs/vscode-textmate": "^9.2.2", "@types/hast": "^3.0.4" } diff --git a/frontend/taipy-gui/package.json b/frontend/taipy-gui/package.json index 2ca1161399..3d66e1fbc7 100644 --- a/frontend/taipy-gui/package.json +++ b/frontend/taipy-gui/package.json @@ -21,7 +21,7 @@ "react-dom": "^18.2.0", "react-error-boundary": "^4.0.3", "react-helmet-async": "^2.0.1", - "react-jsx-parser": "^1.29.0", + "react-jsx-parser": "^2.1.0", "react-markdown": "^9.0.1", "react-plotly.js": "^2.5.1", "react-router-dom": "^6.0.1", @@ -37,7 +37,7 @@ "react-dom": "$react-dom" }, "scripts": { - "inst": "npm i --omit=optional", + "inst": "npm i", "start": "echo no start see python", "build:dev": "webpack --mode development", "build": "webpack --mode production", diff --git a/frontend/taipy/package-lock.json b/frontend/taipy/package-lock.json index 30a9025516..ff738c6d03 100644 --- a/frontend/taipy/package-lock.json +++ b/frontend/taipy/package-lock.json @@ -20,8 +20,7 @@ "fast-deep-equal": "^3.1.3", "formik": "^2.2.9", "react": "^18.2.0", - "react-dom": "^18.2.0", - "taipy-gui": "file:../../taipy/gui/webapp" + "react-dom": "^18.2.0" }, "devDependencies": { "@types/react": "^18.0.15", @@ -40,10 +39,6 @@ "webpack-cli": "^5.0.1" } }, - "../../taipy/gui/webapp": { - "name": "taipy-gui", - "version": "4.0.0" - }, "node_modules/@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", @@ -338,9 +333,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -1292,9 +1287,9 @@ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", - "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "version": "18.3.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.6.tgz", + "integrity": "sha512-CnGaRYNu2iZlkGXGrOYtdg5mLK8neySj0woZ4e2wF/eli2E6Sazmq5X+Nrj6OBrrFVQfJWTUFeqAzoRhWQXYvg==", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5363,10 +5358,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/taipy-gui": { - "resolved": "../../taipy/gui/webapp", - "link": true - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", diff --git a/taipy/gui/INSTALLATION.md b/taipy/gui/INSTALLATION.md index af89a9b8f6..c425d06ee1 100644 --- a/taipy/gui/INSTALLATION.md +++ b/taipy/gui/INSTALLATION.md @@ -67,7 +67,7 @@ npm i - Install the web app dependencies ```bash cd .. -npm i --omit=optional +npm i ``` - Build the web app ```bash diff --git a/taipy/gui/package_desc.md b/taipy/gui/package_desc.md index dfec930a1e..4b500267fa 100644 --- a/taipy/gui/package_desc.md +++ b/taipy/gui/package_desc.md @@ -90,7 +90,7 @@ npm i - Install the web app dependencies ```bash cd .. -npm i --omit=optional +npm i ``` - Build the web app ```bash diff --git a/taipy/gui/setup.py b/taipy/gui/setup.py index 396531af1b..96983087a8 100644 --- a/taipy/gui/setup.py +++ b/taipy/gui/setup.py @@ -52,7 +52,7 @@ def _build_webapp(): already_exists = Path("./taipy/gui/webapp/index.html").exists() if not already_exists: os.system("cd ../../frontend/taipy-gui/dom && npm ci") - os.system("cd ../../frontend/taipy-gui && npm ci --omit=optional && npm run build") + os.system("cd ../../frontend/taipy-gui && npm ci && npm run build") class NPMInstall(build_py): def run(self): diff --git a/tools/frontend/bundle_build.py b/tools/frontend/bundle_build.py index 65f7db17af..6502f8c6f2 100644 --- a/tools/frontend/bundle_build.py +++ b/tools/frontend/bundle_build.py @@ -24,9 +24,7 @@ def build_gui(root_path: Path): print(f'Found taipy-gui frontend bundle in {root_path / "taipy" / "gui" / "webapp"}.') # noqa: T201 else: subprocess.run(["npm", "ci"], cwd=root_path / "frontend" / "taipy-gui" / "dom", check=True, shell=with_shell) - subprocess.run( - ["npm", "ci", "--omit=optional"], cwd=root_path / "frontend" / "taipy-gui", check=True, shell=with_shell - ) + subprocess.run(["npm", "ci"], cwd=root_path / "frontend" / "taipy-gui", check=True, shell=with_shell) subprocess.run(["npm", "run", "build"], cwd=root_path / "frontend" / "taipy-gui", check=True, shell=with_shell) diff --git a/tools/packages/taipy-gui/setup.py b/tools/packages/taipy-gui/setup.py index cae95896e0..ac30a66e92 100644 --- a/tools/packages/taipy-gui/setup.py +++ b/tools/packages/taipy-gui/setup.py @@ -60,10 +60,7 @@ def run(self): ["npm", "ci"], cwd=root_folder / "frontend" / "taipy-gui" / "dom", check=True, shell=with_shell ) subprocess.run( - ["npm", "ci", "--omit=optional"], - cwd=root_folder / "frontend" / "taipy-gui", - check=True, - shell=with_shell, + ["npm", "ci"], cwd=root_folder / "frontend" / "taipy-gui", check=True, shell=with_shell, ) subprocess.run( ["npm", "run", "build"], cwd=root_folder / "frontend" / "taipy-gui", check=True, shell=with_shell diff --git a/tools/release/setup_project.py b/tools/release/setup_project.py index 6b887b76ce..73694cffa2 100644 --- a/tools/release/setup_project.py +++ b/tools/release/setup_project.py @@ -54,7 +54,7 @@ def _build_webapp(webapp_path: str): already_exists = Path(webapp_path).exists() if not already_exists: os.system("cd ../../frontend/taipy-gui/dom && npm ci") - os.system("cd ../../frontend/taipy-gui && npm ci --omit=optional && npm run build") + os.system("cd ../../frontend/taipy-gui && npm ci && npm run build") def get_pkg_name(path: str) -> str: