diff --git a/.gitignore b/.gitignore
index b306f0d6a..21c8361bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,7 @@
.DS_Store
.idea
.vscode
+.sonarlint
.yarn
/*.diff
/*.patch
@@ -38,6 +39,7 @@ runtime/pgAdmin4.app/
runtime/pgAdmin4.pro.user*
runtime/pgAdmin4_resource.rc
runtime/release/
+runtime/dev_config.json
runtime/ui_BrowserWindow.h
web/config_local.py
web/pgadmin/misc/themes/pgadmin.themes.json
diff --git a/Make.bat b/Make.bat
index ba1f616cf..83844559b 100644
--- a/Make.bat
+++ b/Make.bat
@@ -260,45 +260,32 @@ REM Main build sequence Ends
RD /Q /S "%BUILDROOT%\docs\en_US\html\_sources" 1> nul 2>&1
ECHO Staging runtime components...
- XCOPY /S /I /E /H /Y "%WD%\runtime\assets" "%BUILDROOT%\runtime\assets" > nul || EXIT /B 1
- XCOPY /S /I /E /H /Y "%WD%\runtime\src" "%BUILDROOT%\runtime\src" > nul || EXIT /B 1
+ MKDIR "%BUILDROOT%\runtime\resources\app"
+ XCOPY /S /I /E /H /Y "%WD%\runtime\assets" "%BUILDROOT%\runtime\resources\app\assets" > nul || EXIT /B 1
+ XCOPY /S /I /E /H /Y "%WD%\runtime\src" "%BUILDROOT%\runtime\resources\app\src" > nul || EXIT /B 1
- COPY "%WD%\runtime\package.json" "%BUILDROOT%\runtime\" > nul || EXIT /B 1
- CD "%BUILDROOT%\runtime\"
+ COPY "%WD%\runtime\package.json" "%BUILDROOT%\runtime\resources\app\" > nul || EXIT /B 1
+ CD "%BUILDROOT%\runtime\resources\app\"
CALL yarn install --production=true || EXIT /B 1
- ECHO Downloading NWjs to %TMPDIR%...
- REM Get a fresh copy of nwjs.
- REM NOTE: The nw download servers seem to be very unreliable, so at the moment we're using wget which retries
-
- REM YARN
- REM CALL yarn --cwd "%TMPDIR%" add nw || EXIT /B
- REM YARN END
+ ECHO Downloading Electron to %TMPDIR%...
+ REM Get a fresh copy of electron.
REM WGET
- REM Comment out the below line as the latest version having some
- REM problem https://github.com/nwjs/nw.js/issues/7964, so for the time being
- REM hardcoded the version to 0.77.0
- REM FOR /f "tokens=2 delims='" %%i IN ('yarn info nw ^| findstr "latest: "') DO SET "NW_VERSION=%%i"
- REM :GET_NW
- REM wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
- REM IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
+ FOR /f "tokens=2 delims='" %%i IN ('yarn info electron ^| findstr "latest: "') DO SET "ELECTRON_VERSION=%%i"
+ :GET_NW
+ wget https://github.com/electron/electron/releases/download/v%ELECTRON_VERSION%/electron-v%ELECTRON_VERSION%-win32-x64.zip -O "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64.zip"
+ IF %ERRORLEVEL% NEQ 0 GOTO GET_NW
- SET "NW_VERSION=0.77.0"
- wget https://dl.nwjs.io/v%NW_VERSION%/nwjs-v%NW_VERSION%-win-x64.zip -O "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip"
-
- tar -C "%TMPDIR%" -xvf "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64.zip" || EXIT /B 1
+ MKDIR "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64" || EXIT /B 1
+ tar -C "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64" -xvf "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64.zip" || EXIT /B 1
REM WGET END
- REM YARN
- REM XCOPY /S /I /E /H /Y "%TMPDIR%\node_modules\nw\nwjs\*" "%BUILDROOT%\runtime" > nul || EXIT /B 1
- REM YARN END
+ REM XCOPY
+ XCOPY /S /I /E /H /Y "%TMPDIR%\electron-v%ELECTRON_VERSION%-win32-x64\*" "%BUILDROOT%\runtime" > nul || EXIT /B 1
+ REM XCOPY END
- REM WGET
- XCOPY /S /I /E /H /Y "%TMPDIR%\nwjs-v%NW_VERSION%-win-x64\*" "%BUILDROOT%\runtime" > nul || EXIT /B 1
- REM WGET END
-
- MOVE "%BUILDROOT%\runtime\nw.exe" "%BUILDROOT%\runtime\pgAdmin4.exe"
+ MOVE "%BUILDROOT%\runtime\electron.exe" "%BUILDROOT%\runtime\pgAdmin4.exe"
ECHO Attempting to sign the pgAdmin4.exe...
CALL "%PGADMIN_SIGNTOOL_DIR%\signtool.exe" sign /tr http://timestamp.digicert.com "%BUILDROOT%\runtime\pgAdmin4.exe"
IF %ERRORLEVEL% NEQ 0 (
@@ -310,8 +297,13 @@ REM Main build sequence Ends
)
ECHO Replacing executable icon...
- CALL yarn --cwd "%TMPDIR%" add winresourcer || EXIT /B
- "%TMPDIR%\node_modules\winresourcer\bin\Resourcer.exe" -op:upd -src:"%BUILDROOT%\runtime\pgAdmin4.exe" -type:Icongroup -name:IDR_MAINFRAME -file:"%WD%\pkg\win32\Resources\pgAdmin4.ico"
+
+ ECHO Downloading rcedit.exe...
+ wget https://github.com/electron/rcedit/releases/download/v2.0.0/rcedit-x64.exe -O "%TMPDIR%\rcedit-x64.exe"
+ %TMPDIR%\rcedit-x64.exe "%BUILDROOT%\runtime\pgAdmin4.exe" --set-icon "%WD%\pkg\win32\Resources\pgAdmin4.ico"
+ %TMPDIR%\rcedit-x64.exe "%BUILDROOT%\runtime\pgAdmin4.exe" --set-version-string "FileDescription" "%APP_NAME%"
+ %TMPDIR%\rcedit-x64.exe "%BUILDROOT%\runtime\pgAdmin4.exe" --set-version-string "ProductName" "%APP_NAME%"
+ %TMPDIR%\rcedit-x64.exe "%BUILDROOT%\runtime\pgAdmin4.exe" --set-product-version "%APP_VERSION%""
ECHO Staging PostgreSQL components...
COPY "%PGADMIN_POSTGRES_DIR%\bin\libpq.dll" "%BUILDROOT%\runtime" > nul || EXIT /B 1
diff --git a/pkg/linux/build-functions.sh b/pkg/linux/build-functions.sh
index 7ee403088..151fa529a 100644
--- a/pkg/linux/build-functions.sh
+++ b/pkg/linux/build-functions.sh
@@ -133,55 +133,47 @@ _create_python_virtualenv() {
_build_runtime() {
echo "Assembling the desktop runtime..."
- # Get a fresh copy of nwjs.
- # NOTE: The nw download servers seem to be very unreliable, so at the moment we're using wget
- # in a retry loop as Yarn/Npm don't seem to like that.
+ # Get a fresh copy of electron.
- # YARN:
- # yarn add --cwd "${BUILDROOT}" nw
- # YARN END
+ ELECTRON_ARCH="x64"
+ if [ "$(uname -m)" == "arm64" ]; then
+ ELECTRON_ARCH="arm64"
+ fi
- # WGET:
- # Comment out the below line as the latest version having some
- # problem https://github.com/nwjs/nw.js/issues/7964, so for the time being
- # hardcoded the version to 0.77.0
- # NW_VERSION=$(yarn info nw | grep latest | awk -F "'" '{ print $2}')
- NW_VERSION="0.77.0"
+ ELECTRON_VERSION=$(yarn info electron | grep latest | awk -F "'" '{ print $2}')
pushd "${BUILDROOT}" > /dev/null || exit
while true;do
- wget "https://dl.nwjs.io/v${NW_VERSION}/nwjs-v${NW_VERSION}-linux-x64.tar.gz" && break
- rm "nwjs-v${NW_VERSION}-linux-x64.tar.gz"
+ wget "https://github.com/electron/electron/releases/download/v${ELECTRON_VERSION}/electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}.zip" && break
+ rm "electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}.zip"
done
- tar -zxvf "nwjs-v${NW_VERSION}-linux-x64.tar.gz"
+ unzip "electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}.zip" -d "electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}"
popd > /dev/null || exit
- # WGET END
- # Copy nwjs into the staging directory
+ # Copy electron into the staging directory
mkdir -p "${DESKTOPROOT}/usr/${APP_NAME}/bin"
# The chmod command below is needed to fix the permission issue of
# the NWjs binaries and files.
# Change the permission for others and group the same as the owner
- chmod -R og=u "${BUILDROOT}/nwjs-v${NW_VERSION}-linux-x64"/*
+ chmod -R og=u "${BUILDROOT}/electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}"/*
# Explicitly remove write permissions for others and group
- chmod -R og-w "${BUILDROOT}/nwjs-v${NW_VERSION}-linux-x64"/*
+ chmod -R og-w "${BUILDROOT}/electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}"/*
- # YARN:
- # cp -r "${BUILDROOT}/node_modules/nw/nwjs"/* "${DESKTOPROOT}/usr/${APP_NAME}/bin"
- # YARN END
+ BUNDLEDIR="${DESKTOPROOT}/usr/${APP_NAME}/bin"
# WGET:
- cp -r "${BUILDROOT}/nwjs-v${NW_VERSION}-linux-x64"/* "${DESKTOPROOT}/usr/${APP_NAME}/bin"
+ cp -r "${BUILDROOT}/electron-v${ELECTRON_VERSION}-linux-${ELECTRON_ARCH}"/* "${BUNDLEDIR}"
# WGET END
- mv "${DESKTOPROOT}/usr/${APP_NAME}/bin/nw" "${DESKTOPROOT}/usr/${APP_NAME}/bin/${APP_NAME}"
+ mv "${BUNDLEDIR}/electron" "${BUNDLEDIR}/${APP_NAME}"
- cp -r "${SOURCEDIR}/runtime/assets" "${DESKTOPROOT}/usr/${APP_NAME}/bin/assets"
- cp -r "${SOURCEDIR}/runtime/src" "${DESKTOPROOT}/usr/${APP_NAME}/bin/src"
+ mkdir -p "${BUNDLEDIR}/resources/app"
+ cp -r "${SOURCEDIR}/runtime/assets" "${BUNDLEDIR}/resources/app/assets"
+ cp -r "${SOURCEDIR}/runtime/src" "${BUNDLEDIR}/resources/app/src"
- cp "${SOURCEDIR}/runtime/package.json" "${DESKTOPROOT}/usr/${APP_NAME}/bin/"
- yarn --cwd "${DESKTOPROOT}/usr/${APP_NAME}/bin" install --production=true
+ cp "${SOURCEDIR}/runtime/package.json" "${BUNDLEDIR}/resources/app"
+ yarn --cwd "${BUNDLEDIR}/resources/app" install --production=true
# Create the icon
mkdir -p "${DESKTOPROOT}/usr/share/icons/hicolor/128x128/apps/"
diff --git a/pkg/mac/Info.plist-helper.in b/pkg/mac/Info.plist-helper.in
new file mode 100644
index 000000000..e95ab0713
--- /dev/null
+++ b/pkg/mac/Info.plist-helper.in
@@ -0,0 +1,37 @@
+
+
+
+
+ CFBundleIdentifier
+ %APPID%
+ CFBundleName
+ %APPNAME%
+ CFBundlePackageType
+ APPL
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTSDKBuild
+ 23A334
+ DTSDKName
+ macosx14.0
+ DTXcode
+ 1501
+ DTXcodeBuild
+ 15A507
+ LSEnvironment
+
+ MallocNanoZone
+ 0
+
+ LSUIElement
+
+ NSSupportsAutomaticGraphicsSwitching
+
+ CFBundleDisplayName
+ %APPNAME%
+ CFBundleExecutable
+ %APPNAME%
+ CFBundleShortVersionString
+ %APPVER%
+
+
diff --git a/pkg/mac/build-functions.sh b/pkg/mac/build-functions.sh
index 9f57a32cb..63b753c91 100644
--- a/pkg/mac/build-functions.sh
+++ b/pkg/mac/build-functions.sh
@@ -26,56 +26,37 @@ _build_runtime() {
echo "Assembling the runtime environment..."
test -d "${BUILD_ROOT}" || mkdir "${BUILD_ROOT}"
-
- # Get a fresh copy of nwjs.
- # NOTE: The nw download servers seem to be very unreliable, so at the moment we're using wget
- # in a retry loop as Yarn/Npm don't seem to like that.
-
+ # Get a fresh copy of electron
# uname -m returns "x86_64" on Intel, but we need "x64"
- NW_ARCH="x64"
+ ELECTRON_ARCH="x64"
if [ "$(uname -m)" == "arm64" ]; then
- NW_ARCH="arm64"
+ ELECTRON_ARCH="arm64"
fi
- # YARN:
- # yarn add --cwd "${BUILDROOT}" nw
- # YARN END
-
- # WGET:
- # Comment out the below line as the latest version having some
- # problem https://github.com/nwjs/nw.js/issues/7964, so for the time being
- # hardcoded the version to 0.77.0
- # NW_VERSION=$(yarn info nw | grep latest | awk -F "'" '{ print $2}')
- NW_VERSION="0.77.0"
+ ELECTRON_VERSION=$(yarn info electron | grep latest | awk -F "'" '{ print $2}')
pushd "${BUILD_ROOT}" > /dev/null || exit
while true;do
- wget "https://dl.nwjs.io/v${NW_VERSION}/nwjs-v${NW_VERSION}-osx-${NW_ARCH}.zip" && break
- rm "nwjs-v${NW_VERSION}-osx-${NW_ARCH}.zip"
+ wget "https://github.com/electron/electron/releases/download/v${ELECTRON_VERSION}/electron-v${ELECTRON_VERSION}-darwin-${ELECTRON_ARCH}.zip" && break
+ rm "electron-v${ELECTRON_VERSION}-darwin-${ELECTRON_ARCH}.zip"
done
- unzip "nwjs-v${NW_VERSION}-osx-${NW_ARCH}.zip"
+ unzip "electron-v${ELECTRON_VERSION}-darwin-${ELECTRON_ARCH}.zip"
popd > /dev/null || exit
# WGET END
- # YARN:
- # cp -R "${BUILD_ROOT}/node_modules/nw/nwjs/nwjs.app" "${BUILD_ROOT}/"
- # YARN END
- # WGET:
- cp -R "${BUILD_ROOT}/nwjs-v${NW_VERSION}-osx-${NW_ARCH}"/nwjs.app "${BUILD_ROOT}/"
- # WGET END
-
- mv "${BUILD_ROOT}/nwjs.app" "${BUNDLE_DIR}"
+ mv "${BUILD_ROOT}/Electron.app" "${BUNDLE_DIR}"
+ find "${BUNDLE_DIR}" -exec touch {} \;
# Copy in the runtime code
- mkdir "${BUNDLE_DIR}/Contents/Resources/app.nw/"
- cp -R "${SOURCE_DIR}/runtime/assets" "${BUNDLE_DIR}/Contents/Resources/app.nw/"
- cp -R "${SOURCE_DIR}/runtime/src" "${BUNDLE_DIR}/Contents/Resources/app.nw/"
- cp "${SOURCE_DIR}/runtime/package.json" "${BUNDLE_DIR}/Contents/Resources/app.nw/"
- cp "${SOURCE_DIR}/runtime/.yarnrc.yml" "${BUNDLE_DIR}/Contents/Resources/app.nw/"
+ mkdir "${BUNDLE_DIR}/Contents/Resources/app/"
+ cp -R "${SOURCE_DIR}/runtime/assets" "${BUNDLE_DIR}/Contents/Resources/app/"
+ cp -R "${SOURCE_DIR}/runtime/src" "${BUNDLE_DIR}/Contents/Resources/app/"
+ cp "${SOURCE_DIR}/runtime/package.json" "${BUNDLE_DIR}/Contents/Resources/app/"
+ cp "${SOURCE_DIR}/runtime/.yarnrc.yml" "${BUNDLE_DIR}/Contents/Resources/app/"
# Install the runtime node_modules, then replace the package.json
- pushd "${BUNDLE_DIR}/Contents/Resources/app.nw/" > /dev/null || exit
+ pushd "${BUNDLE_DIR}/Contents/Resources/app/" > /dev/null || exit
yarn set version berry
yarn set version 3
yarn plugin import workspace-tools
@@ -178,7 +159,6 @@ _fixup_imports() {
# Find all the files that may need tweaks
TODO=$(find . -perm +0111 -type f -exec file "{}" \; | \
grep -v "Frameworks/Python.framework" | \
- grep -v "Frameworks/nwjs" | \
grep -E "Mach-O 64-bit" | \
awk -F ':| ' '{ORS=" "; print $1}' | \
uniq)
@@ -273,10 +253,19 @@ _complete_bundle() {
sed -i '' "s/%APPNAME%/${APP_NAME}/g" "${BUNDLE_DIR}/Contents/Info.plist"
sed -i '' "s/%APPVER%/${APP_LONG_VERSION}/g" "${BUNDLE_DIR}/Contents/Info.plist"
sed -i '' "s/%APPID%/org.pgadmin.pgadmin4/g" "${BUNDLE_DIR}/Contents/Info.plist"
- for FILE in "${BUNDLE_DIR}"/Contents/Resources/*.lproj/InfoPlist.strings; do
- sed -i '' 's/CFBundleGetInfoString =.*/CFBundleGetInfoString = "Copyright (C) 2013 - 2024, The pgAdmin Development Team";/g' "${FILE}"
- sed -i '' 's/NSHumanReadableCopyright =.*/NSHumanReadableCopyright = "Copyright (C) 2013 - 2024, The pgAdmin Development Team";/g' "${FILE}"
- echo CFBundleDisplayName = \""${APP_NAME}"\"\; >> "${FILE}"
+
+ # Rename helper execs and Update the plist
+ for helper_exec in "Electron Helper" "Electron Helper (Renderer)" "Electron Helper (Plugin)" "Electron Helper (GPU)"
+ do
+ pgadmin_exec=${helper_exec//Electron/pgAdmin 4}
+ mv "${BUNDLE_DIR}/Contents/Frameworks/${helper_exec}.app/Contents/MacOS/${helper_exec}" "${BUNDLE_DIR}/Contents/Frameworks/${helper_exec}.app/Contents/MacOS/${pgadmin_exec}"
+ mv "${BUNDLE_DIR}/Contents/Frameworks/${helper_exec}.app" "${BUNDLE_DIR}/Contents/Frameworks/${pgadmin_exec}.app"
+
+ info_plist="${BUNDLE_DIR}/Contents/Frameworks/${pgadmin_exec}.app/Contents/Info.plist"
+ cp Info.plist-helper.in "${info_plist}"
+ sed -i '' "s/%APPNAME%/${pgadmin_exec}/g" "${info_plist}"
+ sed -i '' "s/%APPVER%/${APP_LONG_VERSION}/g" "${info_plist}"
+ sed -i '' "s/%APPID%/org.pgadmin.pgadmin4.helper/g" "${info_plist}"
done
# PkgInfo
@@ -286,10 +275,10 @@ _complete_bundle() {
cp pgAdmin4.icns "${BUNDLE_DIR}/Contents/Resources/app.icns"
# Rename the executable
- mv "${BUNDLE_DIR}/Contents/MacOS/nwjs" "${BUNDLE_DIR}/Contents/MacOS/${APP_NAME}"
+ mv "${BUNDLE_DIR}/Contents/MacOS/Electron" "${BUNDLE_DIR}/Contents/MacOS/${APP_NAME}"
# Rename the app in package.json so the menu looks as it should
- sed -i '' "s/\"name\": \"pgadmin4\"/\"name\": \"${APP_NAME}\"/g" "${BUNDLE_DIR}/Contents/Resources/app.nw/package.json"
+ sed -i '' "s/\"name\": \"pgadmin4\"/\"name\": \"${APP_NAME}\"/g" "${BUNDLE_DIR}/Contents/Resources/app/package.json"
# Import the dependencies, and rewrite any library references
_fixup_imports "${BUNDLE_DIR}"
diff --git a/requirements.txt b/requirements.txt
index 3667fc5de..f8d1df18a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -41,7 +41,6 @@ sshtunnel==0.*
ldap3==2.*
gssapi==1.8.*
eventlet==0.36.1
-httpagentparser==1.9.*
user-agents==2.2.0
pywinpty==2.0.*; sys_platform=="win32"
Authlib==1.3.*; python_version > '3.7'
diff --git a/runtime/.eslintignore b/runtime/.eslintignore
deleted file mode 100644
index 676a4f03f..000000000
--- a/runtime/.eslintignore
+++ /dev/null
@@ -1,6 +0,0 @@
-generated
-node_modules
-vendor
-templates/
-templates\
-ycache
diff --git a/runtime/.eslintrc.js b/runtime/.eslintrc.js
index f778838fa..aaa51eb4f 100644
--- a/runtime/.eslintrc.js
+++ b/runtime/.eslintrc.js
@@ -6,47 +6,55 @@
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
+import globals from 'globals';
+import js from '@eslint/js';
-module.exports = {
- 'env': {
- 'browser': true,
- 'es6': true,
- 'amd': true,
- },
- 'extends': [
- 'eslint:recommended',
- ],
- 'parserOptions': {
- 'ecmaVersion': 2018,
- "sourceType": "module",
- },
- 'globals': {
- '_': true,
- 'module': true,
- 'process': true,
- 'nw': true,
- 'platform': true
- },
- 'rules': {
- 'indent': [
- 'error',
- 2
+export default [
+ js.configs.recommended,
+ {
+ files: ['**/*.js'],
+ ignores: [
+ 'generated',
+ 'node_modules',
+ 'vendor',
+ 'templates/',
+ 'templates\\',
+ 'ycache',
],
- 'linebreak-style': 0,
- 'quotes': [
- 'error',
- 'single'
- ],
- 'semi': [
- 'error',
- 'always'
- ],
- 'comma-dangle': [
- 'error',
- 'always-multiline'
- ],
- 'no-console': ["error", { allow: ["warn", "error"] }],
- // We need to exclude below for RegEx case
- "no-useless-escape": 0,
+ languageOptions: {
+ ecmaVersion: 2022,
+ sourceType: 'module',
+ globals: {
+ ...globals.browser,
+ ...globals.es2017,
+ ...globals.amd,
+ '_': 'readonly',
+ 'module': 'readonly',
+ 'process': 'readonly',
+ 'platform': 'readonly',
+ },
+ },
+ 'rules': {
+ 'indent': [
+ 'error',
+ 2,
+ ],
+ 'linebreak-style': 0,
+ 'quotes': [
+ 'error',
+ 'single',
+ ],
+ 'semi': [
+ 'error',
+ 'always',
+ ],
+ 'comma-dangle': [
+ 'error',
+ 'always-multiline',
+ ],
+ 'no-console': ['error', { allow: ['warn', 'error'] }],
+ // We need to exclude below for RegEx case
+ 'no-useless-escape': 0,
+ },
},
-};
+];
diff --git a/runtime/package.json b/runtime/package.json
index 4f3d717f1..074f87931 100644
--- a/runtime/package.json
+++ b/runtime/package.json
@@ -1,37 +1,24 @@
{
"name": "pgadmin4",
"description": "pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.",
- "main": "src/html/pgadmin.html",
"repository": "https://github.com/postgres/pgadmin4.git",
"author": "pgAdmin Development Team (https://www.pgadmin.org/)",
"license": "PostgreSQL",
- "chromium-args": "--disable-popup-blocking --disable-gpu --disable-devtools",
- "user-agent": "Nwjs:%nwver-%osinfo-%chromium_ver",
- "nodejs": true,
- "window": {
- "width": 750,
- "height": 600,
- "toolbar": false,
- "fullscreen": false,
- "frame": false,
- "show": true,
- "position": "center",
- "always-on-top": true,
- "icon": "assets/pgAdmin4.png"
+ "type": "module",
+ "main": "src/js/pgadmin.js",
+ "scripts": {
+ "start": "electron .",
+ "linter": "yarn run eslint -c .eslintrc.js ."
},
- "icons": {
- "256": "assets/pgAdmin4.png"
+ "packageManager": "yarn@3.8.2",
+ "devDependencies": {
+ "@eslint/js": "^9.5.0",
+ "electron": "^30.0.5",
+ "eslint": "^9.5.0"
},
"dependencies": {
"axios": "^1.7.2",
- "bootstrap": "^4.5.3"
- },
- "devDependencies": {
- "eslint": "^9.5.0",
- "nw": "0.77.0"
- },
- "scripts": {
- "linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js ."
- },
- "packageManager": "yarn@3.8.2"
+ "bootstrap": "^4.5.3",
+ "electron-store": "^9.0.0"
+ }
}
diff --git a/runtime/src/html/configure.html b/runtime/src/html/configure.html
index 4a272ba46..880c25363 100644
--- a/runtime/src/html/configure.html
+++ b/runtime/src/html/configure.html
@@ -4,7 +4,7 @@
-
pgAdmin 4 Configuration
+ pgAdmin 4 Runtime Configuration