diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 51ef5256f..7a9daa84f 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+
none
diff --git a/src/librssguard/miscellaneous/nodejs.cpp b/src/librssguard/miscellaneous/nodejs.cpp
index 1627c1c15..4fcc8071c 100644
--- a/src/librssguard/miscellaneous/nodejs.cpp
+++ b/src/librssguard/miscellaneous/nodejs.cpp
@@ -8,6 +8,9 @@
#include "miscellaneous/settings.h"
#include
+#include
+#include
+#include
NodeJs::NodeJs(Settings* settings, QObject* parent) : QObject(parent), m_settings(settings) {}
@@ -64,14 +67,38 @@ QString NodeJs::npmVersion(const QString& npm_exe) const {
}
NodeJs::PackageStatus NodeJs::packageStatus(const PackageMetadata& pkg) const {
- //npm ls --unicode --json --prefix "."
-
QString npm_ls = IOFactory::startProcessGetOutput(npmExecutable(),
{ QSL("ls"), QSL("--unicode"), QSL("--json"), QSL("--prefix"),
processedPackageFolder() });
+ QJsonDocument json = QJsonDocument::fromJson(npm_ls.toUtf8());
+ QJsonObject deps = json.object()["dependencies"].toObject();
return {};
}
-void NodeJs::installPackage(const PackageMetadata& pkg)
-{}
+void NodeJs::installUpdatePackage(const PackageMetadata& pkg) {
+ auto pkg_status = packageStatus(pkg);
+
+ switch (pkg_status) {
+ case PackageStatus::NotInstalled:
+ break;
+
+ case PackageStatus::OutOfDate:
+ break;
+
+ case PackageStatus::UpToDate:
+ break;
+ }
+}
+
+void NodeJs::installPackage(const PackageMetadata& pkg) {
+ // npm install --prefix "." @cliqz/adblocker@">=1.0.0 <2.0.0" --production --save-exact
+ //https://docs.npmjs.com/cli/v8/commands/npm-install
+
+}
+
+void NodeJs::updatePackage(const PackageMetadata& pkg)
+{
+ // npm update --prefix "." @cliqz/adblocker@">=1.0.0 <2.0.0" --production --save-exact
+ //https://docs.npmjs.com/cli/v8/commands/npm-update
+}
diff --git a/src/librssguard/miscellaneous/nodejs.h b/src/librssguard/miscellaneous/nodejs.h
index 5144c63f3..4ab704703 100644
--- a/src/librssguard/miscellaneous/nodejs.h
+++ b/src/librssguard/miscellaneous/nodejs.h
@@ -55,13 +55,16 @@ class NodeJs : public QObject {
// Installs package.
//
- // If package is NOT installed, then it is installed.
+ // If package is NOT installed, then it will be installed.
// If package IS installed but out-of-date, it is updated to desired versions.
//
// NOTE: https://docs.npmjs.com/cli/v8/commands/npm-install
- void installPackage(const PackageMetadata& pkg);
+ void installUpdatePackage(const PackageMetadata& pkg);
private:
+ void installPackage(const PackageMetadata& pkg);
+ void updatePackage(const PackageMetadata& pkg);
+
Settings* m_settings;
};