mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-11 17:55:51 +00:00
Fix memory usage and leak. Set new layouts. Use latest supoorted node by electron
This commit is contained in:
parent
44e472da0d
commit
53dd15f841
@ -4,7 +4,7 @@ const server = require('./server.js');
|
|||||||
const log = require('electron-log');
|
const log = require('electron-log');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
// THOUGHTS: Make this APP more modularize and platform agnostic...
|
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=512')
|
||||||
|
|
||||||
process.env['APP_PATH'] = app.getAppPath();
|
process.env['APP_PATH'] = app.getAppPath();
|
||||||
|
|
||||||
|
92
package.json
92
package.json
@ -1,48 +1,48 @@
|
|||||||
{
|
{
|
||||||
"name": "qortal-ui",
|
"name": "qortal-ui",
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet",
|
"description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"QORT",
|
"QORT",
|
||||||
"QORTAL",
|
"QORTAL",
|
||||||
"DECENTRALIZED"
|
"DECENTRALIZED"
|
||||||
],
|
],
|
||||||
"main": "electron.js",
|
"main": "electron.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/Qortal/qortal-ui.git"
|
"url": "git+https://github.com/Qortal/qortal-ui.git"
|
||||||
},
|
},
|
||||||
"homepage": "https://qortal.org",
|
"homepage": "https://qortal.org",
|
||||||
"author": "QORTAL <admin@qortal.org>",
|
"author": "QORTAL <admin@qortal.org>",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"install_link:all": "(cd qortal-ui-core && yarn install && yarn link) && (cd qortal-ui-plugins && yarn install && yarn link) && (cd qortal-ui-crypto && yarn install && yarn link) && (yarn link qortal-ui-core && yarn link qortal-ui-plugins && yarn link qortal-ui-crypto)",
|
"install_link:all": "(cd qortal-ui-core && yarn install && yarn link) && (cd qortal-ui-plugins && yarn install && yarn link) && (cd qortal-ui-crypto && yarn install && yarn link) && (yarn link qortal-ui-core && yarn link qortal-ui-plugins && yarn link qortal-ui-crypto)",
|
||||||
"dev": "node server.js",
|
"dev": "node server.js",
|
||||||
"prebuild": "node -p \"'export const UI_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > qortal-ui-core/src/redux/app/version.js",
|
"prebuild": "node -p \"'export const UI_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > qortal-ui-core/src/redux/app/version.js",
|
||||||
"build-dev": "node build.js",
|
"build-dev": "node build.js",
|
||||||
"build": "NODE_ENV=production node build.js",
|
"build": "NODE_ENV=production node build.js",
|
||||||
"server": "NODE_ENV=production node server.js",
|
"server": "NODE_ENV=production node server.js",
|
||||||
"watch": "node watch.js",
|
"watch": "node watch.js",
|
||||||
"watch-inline": "node watch-inline.js",
|
"watch-inline": "node watch-inline.js",
|
||||||
"start-electron": "NODE_ENV=production electron .",
|
"start-electron": "NODE_ENV=production electron .",
|
||||||
"build-electron": "electron-builder build --publish never",
|
"build-electron": "electron-builder build --publish never",
|
||||||
"deploy-electron": "electron-builder build --win --publish never",
|
"deploy-electron": "electron-builder build --win --publish never",
|
||||||
"release": "NODE_ENV=production electron-builder build --publish never",
|
"release": "NODE_ENV=production electron-builder build --publish never",
|
||||||
"update-package-json": "node update-package-json.js",
|
"update-package-json": "node update-package-json.js",
|
||||||
"publish": "electron-builder -p always"
|
"publish": "electron-builder -p always"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"electron-updater": "5.2.1",
|
"electron-log": "4.4.8",
|
||||||
"electron-log": "4.4.8"
|
"electron-updater": "5.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron": "21.0.1",
|
"electron": "21.1.1",
|
||||||
"electron-builder": "23.3.3",
|
"electron-builder": "23.3.3",
|
||||||
"electron-notarize": "1.2.1",
|
"electron-notarize": "1.2.1",
|
||||||
"electron-packager": "16.0.0",
|
"electron-packager": "16.0.0",
|
||||||
"shelljs": "0.8.5"
|
"shelljs": "0.8.5"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.17.0"
|
"node": ">=16.15.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
const styles = {
|
const styles = {
|
||||||
breakpoints: {
|
breakpoints: {
|
||||||
tablet: '',
|
|
||||||
desktop: '',
|
desktop: '',
|
||||||
|
laptop: '',
|
||||||
|
tablet: '',
|
||||||
mobile: ''
|
mobile: ''
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
@ -36,5 +37,4 @@ const styles = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = styles
|
module.exports = styles
|
||||||
|
@ -3,7 +3,7 @@ const path = require('path')
|
|||||||
const user = {
|
const user = {
|
||||||
node: 0,
|
node: 0,
|
||||||
nodeSettings: {
|
nodeSettings: {
|
||||||
pingInterval: 10 * 1000, // (10 secs)
|
pingInterval: 30 * 1000,
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
writeHosts: {
|
writeHosts: {
|
||||||
@ -27,7 +27,7 @@ const user = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
constants: {
|
constants: {
|
||||||
pollingInterval: 10000, // How long between checking for new unconfirmed transactions and new blocks (in milliseconds).
|
pollingInterval: 30 * 1000, // How long between checking for new unconfirmed transactions and new blocks (in milliseconds).
|
||||||
workerURL: '/build/worker.js',
|
workerURL: '/build/worker.js',
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -43,5 +43,4 @@ const user = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = user
|
module.exports = user
|
||||||
|
@ -1,85 +1,85 @@
|
|||||||
{
|
{
|
||||||
"name": "qortal-ui-core",
|
"name": "qortal-ui-core",
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
"description": "QORTAL-UI Core",
|
"description": "QORTAL-UI Core",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"QORT",
|
"QORT",
|
||||||
"QORTAL",
|
"QORTAL",
|
||||||
"DECENTRALIZED"
|
"DECENTRALIZED"
|
||||||
],
|
],
|
||||||
"homepage": "https://qortal.org",
|
"homepage": "https://qortal.org",
|
||||||
"main": "ui-core.js",
|
"main": "ui-core.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Qortal/qortal-ui.git",
|
"url": "https://github.com/Qortal/qortal-ui.git",
|
||||||
"directory": "qortal-ui-core"
|
"directory": "qortal-ui-core"
|
||||||
},
|
},
|
||||||
"author": "QORTAL <admin@qortal.org>",
|
"author": "QORTAL <admin@qortal.org>",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hapi/hapi": "20.2.2",
|
"@hapi/hapi": "20.2.2",
|
||||||
"@hapi/inert": "7.0.0",
|
"@hapi/inert": "7.0.0",
|
||||||
"sass": "1.55.0"
|
"sass": "1.55.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.19.3",
|
"@babel/core": "7.19.3",
|
||||||
"@material/mwc-button": "0.27.0",
|
"@material/mwc-button": "0.27.0",
|
||||||
"@material/mwc-checkbox": "0.27.0",
|
"@material/mwc-checkbox": "0.27.0",
|
||||||
"@material/mwc-dialog": "0.27.0",
|
"@material/mwc-dialog": "0.27.0",
|
||||||
"@material/mwc-drawer": "0.27.0",
|
"@material/mwc-drawer": "0.27.0",
|
||||||
"@material/mwc-fab": "0.27.0",
|
"@material/mwc-fab": "0.27.0",
|
||||||
"@material/mwc-formfield": "0.27.0",
|
"@material/mwc-formfield": "0.27.0",
|
||||||
"@material/mwc-icon": "0.27.0",
|
"@material/mwc-icon": "0.27.0",
|
||||||
"@material/mwc-icon-button": "0.27.0",
|
"@material/mwc-icon-button": "0.27.0",
|
||||||
"@material/mwc-list": "0.27.0",
|
"@material/mwc-list": "0.27.0",
|
||||||
"@material/mwc-select": "0.27.0",
|
"@material/mwc-select": "0.27.0",
|
||||||
"@material/mwc-snackbar": "0.27.0",
|
"@material/mwc-snackbar": "0.27.0",
|
||||||
"@material/mwc-textfield": "0.27.0",
|
"@material/mwc-textfield": "0.27.0",
|
||||||
"@polymer/app-layout": "3.1.0",
|
"@polymer/app-layout": "3.1.0",
|
||||||
"@polymer/iron-collapse": "3.0.1",
|
"@polymer/iron-collapse": "3.0.1",
|
||||||
"@polymer/iron-flex-layout": "3.0.1",
|
"@polymer/iron-flex-layout": "3.0.1",
|
||||||
"@polymer/iron-icons": "3.0.1",
|
"@polymer/iron-icons": "3.0.1",
|
||||||
"@polymer/iron-pages": "3.0.1",
|
"@polymer/iron-pages": "3.0.1",
|
||||||
"@polymer/paper-button": "3.0.1",
|
"@polymer/paper-button": "3.0.1",
|
||||||
"@polymer/paper-checkbox": "3.1.0",
|
"@polymer/paper-checkbox": "3.1.0",
|
||||||
"@polymer/paper-dialog": "3.0.1",
|
"@polymer/paper-dialog": "3.0.1",
|
||||||
"@polymer/paper-dropdown-menu": "3.2.0",
|
"@polymer/paper-dropdown-menu": "3.2.0",
|
||||||
"@polymer/paper-icon-button": "3.0.2",
|
"@polymer/paper-icon-button": "3.0.2",
|
||||||
"@polymer/paper-input": "3.2.1",
|
"@polymer/paper-input": "3.2.1",
|
||||||
"@polymer/paper-item": "3.0.1",
|
"@polymer/paper-item": "3.0.1",
|
||||||
"@polymer/paper-listbox": "3.0.1",
|
"@polymer/paper-listbox": "3.0.1",
|
||||||
"@polymer/paper-progress": "3.0.1",
|
"@polymer/paper-progress": "3.0.1",
|
||||||
"@polymer/paper-ripple": "3.0.2",
|
"@polymer/paper-ripple": "3.0.2",
|
||||||
"@polymer/paper-spinner": "3.0.2",
|
"@polymer/paper-spinner": "3.0.2",
|
||||||
"@polymer/paper-toast": "3.0.1",
|
"@polymer/paper-toast": "3.0.1",
|
||||||
"@polymer/paper-tooltip": "3.0.1",
|
"@polymer/paper-tooltip": "3.0.1",
|
||||||
"@rollup/plugin-alias": "3.1.9",
|
"@rollup/plugin-alias": "4.0.0",
|
||||||
"@rollup/plugin-babel": "5.3.1",
|
"@rollup/plugin-babel": "6.0.0",
|
||||||
"@rollup/plugin-commonjs": "22.0.2",
|
"@rollup/plugin-commonjs": "23.0.0",
|
||||||
"@rollup/plugin-node-resolve": "14.1.0",
|
"@rollup/plugin-node-resolve": "15.0.0",
|
||||||
"@rollup/plugin-replace": "4.0.0",
|
"@rollup/plugin-replace": "5.0.0",
|
||||||
"@vaadin/grid": "23.2.3",
|
"@vaadin/grid": "23.2.5",
|
||||||
"@vaadin/icons": "23.2.3",
|
"@vaadin/icons": "23.2.5",
|
||||||
"@vaadin/password-field": "23.2.3",
|
"@vaadin/password-field": "23.2.5",
|
||||||
"asmcrypto.js": "2.3.2",
|
"asmcrypto.js": "2.3.2",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"epml": "0.3.3",
|
"epml": "0.3.3",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"lit": "2.3.1",
|
"lit": "2.4.0",
|
||||||
"lit-translate": "2.0.1",
|
"lit-translate": "2.0.1",
|
||||||
"postcss": "8.4.17",
|
"postcss": "8.4.18",
|
||||||
"pwa-helpers": "0.9.1",
|
"pwa-helpers": "0.9.1",
|
||||||
"random-sentence-generator": "0.0.8",
|
"random-sentence-generator": "0.0.8",
|
||||||
"redux": "4.2.0",
|
"redux": "4.2.0",
|
||||||
"redux-thunk": "2.4.1",
|
"redux-thunk": "2.4.1",
|
||||||
"rollup": "2.79.1",
|
"rollup": "2.79.1",
|
||||||
"rollup-plugin-node-globals": "1.4.0",
|
"rollup-plugin-node-globals": "1.4.0",
|
||||||
"rollup-plugin-postcss": "4.0.2",
|
"rollup-plugin-postcss": "4.0.2",
|
||||||
"rollup-plugin-progress": "1.1.2",
|
"rollup-plugin-progress": "1.1.2",
|
||||||
"rollup-plugin-scss": "3.0.0",
|
"rollup-plugin-scss": "3.0.0",
|
||||||
"rollup-plugin-terser": "7.0.2"
|
"rollup-plugin-terser": "7.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.17.0"
|
"node": ">=16.15.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
$mdc-layout-grid-breakpoints: (
|
$mdc-layout-grid-breakpoints: (
|
||||||
desktop: 960px,
|
desktop: 1440px,
|
||||||
tablet: 480px,
|
laptop: 1240px,
|
||||||
|
tablet: 600px,
|
||||||
phone: 0px
|
phone: 0px
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -10,8 +11,6 @@ $mdc-layout-grid-breakpoints: (
|
|||||||
--layout-breakpoint-mobile: #{map-get($mdc-layout-grid-breakpoints, phone)};
|
--layout-breakpoint-mobile: #{map-get($mdc-layout-grid-breakpoints, phone)};
|
||||||
}
|
}
|
||||||
|
|
||||||
// @import '../../node_modules/@material/layout-grid/mdc-layout-grid.scss';
|
|
||||||
|
|
||||||
iframe.pluginJSFrame {
|
iframe.pluginJSFrame {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
{
|
{
|
||||||
"name": "qortal-ui-crypto",
|
"name": "qortal-ui-crypto",
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
"description": "QORTAL-UI Crypto",
|
"description": "QORTAL-UI Crypto",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"QORT",
|
"QORT",
|
||||||
"QORTAL",
|
"QORTAL",
|
||||||
"DECENTRALIZED"
|
"DECENTRALIZED"
|
||||||
],
|
],
|
||||||
"homepage": "https://qortal.org",
|
"homepage": "https://qortal.org",
|
||||||
"main": "api.js",
|
"main": "api.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Qortal/qortal-ui.git",
|
"url": "https://github.com/Qortal/qortal-ui.git",
|
||||||
"directory": "qortal-ui-crypto"
|
"directory": "qortal-ui-crypto"
|
||||||
},
|
},
|
||||||
"author": "QORTAL <admin@qortal.org>",
|
"author": "QORTAL <admin@qortal.org>",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"asmcrypto.js": "2.3.2",
|
"asmcrypto.js": "2.3.2",
|
||||||
"buffer": "6.0.3",
|
"buffer": "6.0.3",
|
||||||
"jssha": "3.2.0",
|
"jssha": "3.2.0",
|
||||||
"lodash": "4.17.21"
|
"lodash": "4.17.21"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.17.0"
|
"node": ">=16.15.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,65 +1,65 @@
|
|||||||
{
|
{
|
||||||
"name": "qortal-ui-plugins",
|
"name": "qortal-ui-plugins",
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
"description": "QORTAL-UI Plugins",
|
"description": "QORTAL-UI Plugins",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"QORT",
|
"QORT",
|
||||||
"QORTAL",
|
"QORTAL",
|
||||||
"DECENTRALIZED"
|
"DECENTRALIZED"
|
||||||
],
|
],
|
||||||
"homepage": "https://qortal.org",
|
"homepage": "https://qortal.org",
|
||||||
"main": "default-plugins.js",
|
"main": "default-plugins.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Qortal/qortal-ui.git",
|
"url": "https://github.com/Qortal/qortal-ui.git",
|
||||||
"directory": "qortal-ui-plugins"
|
"directory": "qortal-ui-plugins"
|
||||||
},
|
},
|
||||||
"author": "QORTAL <admin@qortal.org>",
|
"author": "QORTAL <admin@qortal.org>",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material/mwc-list": "0.27.0",
|
"@material/mwc-list": "0.27.0",
|
||||||
"@material/mwc-select": "0.27.0",
|
"@material/mwc-select": "0.27.0",
|
||||||
"emoji-picker-js": "https://github.com/Qortal/emoji-picker-js"
|
"emoji-picker-js": "https://github.com/Qortal/emoji-picker-js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "7.19.3",
|
"@babel/core": "7.19.3",
|
||||||
"@github/time-elements": "3.1.2",
|
"@github/time-elements": "3.1.2",
|
||||||
"@material/mwc-button": "0.27.0",
|
"@material/mwc-button": "0.27.0",
|
||||||
"@material/mwc-checkbox": "0.27.0",
|
"@material/mwc-checkbox": "0.27.0",
|
||||||
"@material/mwc-dialog": "0.27.0",
|
"@material/mwc-dialog": "0.27.0",
|
||||||
"@material/mwc-formfield": "0.27.0",
|
"@material/mwc-formfield": "0.27.0",
|
||||||
"@material/mwc-icon": "0.27.0",
|
"@material/mwc-icon": "0.27.0",
|
||||||
"@material/mwc-icon-button": "0.27.0",
|
"@material/mwc-icon-button": "0.27.0",
|
||||||
"@material/mwc-slider": "0.27.0",
|
"@material/mwc-slider": "0.27.0",
|
||||||
"@material/mwc-snackbar": "0.27.0",
|
"@material/mwc-snackbar": "0.27.0",
|
||||||
"@material/mwc-tab": "0.27.0",
|
"@material/mwc-tab": "0.27.0",
|
||||||
"@material/mwc-tab-bar": "0.27.0",
|
"@material/mwc-tab-bar": "0.27.0",
|
||||||
"@material/mwc-textfield": "0.27.0",
|
"@material/mwc-textfield": "0.27.0",
|
||||||
"@polymer/iron-icons": "3.0.1",
|
"@polymer/iron-icons": "3.0.1",
|
||||||
"@polymer/paper-icon-button": "3.0.2",
|
"@polymer/paper-icon-button": "3.0.2",
|
||||||
"@polymer/paper-progress": "3.0.1",
|
"@polymer/paper-progress": "3.0.1",
|
||||||
"@polymer/paper-slider": "3.0.1",
|
"@polymer/paper-slider": "3.0.1",
|
||||||
"@polymer/paper-spinner": "3.0.2",
|
"@polymer/paper-spinner": "3.0.2",
|
||||||
"@polymer/paper-tooltip": "3.0.1",
|
"@polymer/paper-tooltip": "3.0.1",
|
||||||
"@rollup/plugin-alias": "3.1.9",
|
"@rollup/plugin-alias": "4.0.0",
|
||||||
"@rollup/plugin-babel": "5.3.1",
|
"@rollup/plugin-babel": "6.0.0",
|
||||||
"@rollup/plugin-commonjs": "22.0.2",
|
"@rollup/plugin-commonjs": "23.0.0",
|
||||||
"@rollup/plugin-node-resolve": "14.1.0",
|
"@rollup/plugin-node-resolve": "15.0.0",
|
||||||
"@rollup/plugin-replace": "4.0.0",
|
"@rollup/plugin-replace": "5.0.0",
|
||||||
"@vaadin/button": "23.2.3",
|
"@vaadin/button": "23.2.5",
|
||||||
"@vaadin/grid": "23.2.3",
|
"@vaadin/grid": "23.2.5",
|
||||||
"@vaadin/icons": "23.2.3",
|
"@vaadin/icons": "23.2.5",
|
||||||
"epml": "0.3.3",
|
"epml": "0.3.3",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"html-escaper": "3.0.3",
|
"html-escaper": "3.0.3",
|
||||||
"lit": "2.3.1",
|
"lit": "2.4.0",
|
||||||
"lit-translate": "2.0.1",
|
"lit-translate": "2.0.1",
|
||||||
"rollup": "2.79.1",
|
"rollup": "2.79.1",
|
||||||
"rollup-plugin-node-globals": "1.4.0",
|
"rollup-plugin-node-globals": "1.4.0",
|
||||||
"rollup-plugin-progress": "1.1.2",
|
"rollup-plugin-progress": "1.1.2",
|
||||||
"rollup-plugin-terser": "7.0.2"
|
"rollup-plugin-terser": "7.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.17.0"
|
"node": ">=16.15.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user