فهرست منبع

Merge branch 'release/0.10.2'

Book Pauk 3 سال پیش
والد
کامیت
c97660bed0

+ 2 - 2
build/linux.js

@@ -24,8 +24,8 @@ async function main() {
     await fs.ensureDir(tempDownloadDir);
 
     //sqlite3
-    const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v72-linux-x64.tar.gz';
-    const sqliteDecompressedFilename = `${tempDownloadDir}/node-v72-linux-x64/node_sqlite3.node`;
+    const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.2/napi-v3-linux-x64.tar.gz';
+    const sqliteDecompressedFilename = `${tempDownloadDir}/napi-v3-linux-x64/node_sqlite3.node`;
 
     if (!await fs.pathExists(sqliteDecompressedFilename)) {
         // Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку

+ 2 - 2
build/win.js

@@ -24,8 +24,8 @@ async function main() {
     await fs.ensureDir(tempDownloadDir);
 
     //sqlite3
-    const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v72-win32-x64.tar.gz';
-    const sqliteDecompressedFilename = `${tempDownloadDir}/node-v72-win32-x64/node_sqlite3.node`;
+    const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.2/napi-v3-win32-x64.tar.gz';
+    const sqliteDecompressedFilename = `${tempDownloadDir}/napi-v3-win32-x64/node_sqlite3.node`;
 
     if (!await fs.pathExists(sqliteDecompressedFilename)) {
         // Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку

+ 11 - 0
client/components/Reader/versionHistory.js

@@ -1,4 +1,15 @@
 export const versionHistory = [
+{
+    showUntil: '2021-10-18',
+    header: '0.10.2 (2021-10-19)',
+    content:
+`
+<ul>
+    <li>актуализация версий пакетов и стека используемых технологий</li>
+</ul>
+`
+},
+
 {
     showUntil: '2021-10-09',
     header: '0.10.1 (2021-10-10)',

+ 6 - 6
docs/omnireader.ru/README.md

@@ -1,4 +1,4 @@
-## Разворачивание сервера OmniReader в Ubuntu:
+## Разворачивание сервера OmniReader в Ubuntu 20.04:
 
 ### git, clone
 ```
@@ -9,7 +9,7 @@ git clone https://github.com/bookpauk/liberama
 ### node.js
 ```
 sudo apt install -y curl
-curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
+curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
 sudo apt install -y nodejs
 ```
 
@@ -27,9 +27,9 @@ sudo chown www-data.www-data /home/liberama
 
 ### external converter `calibre`, download from https://download.calibre-ebook.com/
 ```
-wget "https://download.calibre-ebook.com/5.5.0/calibre-5.5.0-x86_64.txz"
+wget "https://download.calibre-ebook.com/5.29.0/calibre-5.29.0-x86_64.txz"
 sudo -u www-data mkdir -p /home/liberama/data/calibre
-sudo -u www-data tar xvf calibre-5.5.0-x86_64.txz -C /home/liberama/data/calibre
+sudo -u www-data tar xvf calibre-5.29.0-x86_64.txz -C /home/liberama/data/calibre
 ```
 
 ### external converters
@@ -58,8 +58,8 @@ sudo chown -R www-data.www-data /var/www
 Следовать инструкции установки certbot https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
 ### old.omnireader 
 ```
-sudo apt install php7.2 php7.2-curl php7.2-mbstring php7.2-fpm
-sudo service php7.2-fpm restart
+sudo apt install php7.4 php7.4-curl php7.4-mbstring php7.4-fpm
+sudo service php7.4-fpm restart
 
 sudo mkdir /home/oldreader
 sudo chown www-data.www-data /home/oldreader

+ 1 - 1
docs/omnireader.ru/omnireader

@@ -66,6 +66,6 @@ server {
   location ~ \.php$ { 
     try_files $uri =404; 
     include /etc/nginx/fastcgi.conf;
-    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
+    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
   }
 }

+ 1 - 1
docs/omnireader.ru/omnireader_http

@@ -54,6 +54,6 @@ server {
   location ~ \.php$ { 
     try_files $uri =404; 
     include /etc/nginx/fastcgi.conf;
-    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
+    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
   }
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 354 - 496
package-lock.json


+ 32 - 31
package.json

@@ -1,17 +1,17 @@
 {
   "name": "Liberama",
-  "version": "0.10.1",
+  "version": "0.10.2",
   "author": "Book Pauk <bookpauk@gmail.com>",
   "license": "CC0-1.0",
   "repository": "bookpauk/liberama",
   "engines": {
-    "node": ">=10.0.0"
+    "node": ">=14.4.0"
   },
   "scripts": {
     "dev": "nodemon --inspect --ignore server/public --ignore server/data --ignore client --exec 'node server'",
     "build:client": "webpack --config build/webpack.prod.config.js",
-    "build:linux": "npm run build:client && node build/linux && pkg -t node12-linux-x64 -o dist/linux/liberama .",
-    "build:win": "npm run build:client && node build/win && pkg -t node12-win-x64 -o dist/win/liberama .",
+    "build:linux": "npm run build:client && node build/linux && pkg -t node14-linux-x64 -o dist/linux/liberama .",
+    "build:win": "npm run build:client && node build/win && pkg -t node14-win-x64 -o dist/win/liberama .",
     "lint": "eslint --ext=.js,.vue client server",
     "build:client-dev": "webpack --config build/webpack.dev.config.js",
     "postinstall": "npm run build:client-dev && node build/linux"
@@ -30,7 +30,7 @@
     "babel-plugin-transform-decorators-legacy": "^1.3.5",
     "babel-preset-env": "^1.3.2",
     "clean-webpack-plugin": "^1.0.1",
-    "copy-webpack-plugin": "^5.1.1",
+    "copy-webpack-plugin": "^5.1.2",
     "css-loader": "^1.0.0",
     "eslint": "^5.16.0",
     "eslint-plugin-html": "^5.0.5",
@@ -39,23 +39,22 @@
     "file-loader": "^3.0.1",
     "html-webpack-plugin": "^3.2.0",
     "mini-css-extract-plugin": "^0.5.0",
-    "optimize-css-assets-webpack-plugin": "^5.0.3",
-    "pkg": "^4.4.4",
-    "terser-webpack-plugin": "^1.4.1",
+    "optimize-css-assets-webpack-plugin": "^5.0.8",
+    "terser-webpack-plugin": "^1.4.5",
     "url-loader": "^1.1.2",
     "vue-class-component": "^6.3.2",
-    "vue-loader": "^15.9.0",
-    "vue-style-loader": "^4.1.2",
-    "vue-template-compiler": "^2.6.11",
-    "webpack": "^4.42.0",
-    "webpack-cli": "^3.3.11",
-    "webpack-dev-middleware": "^3.7.2",
-    "webpack-hot-middleware": "^2.25.0",
+    "vue-loader": "^15.9.8",
+    "vue-style-loader": "^4.1.3",
+    "vue-template-compiler": "^2.6.14",
+    "webpack": "^4.46.0",
+    "webpack-cli": "^3.3.12",
+    "webpack-dev-middleware": "^3.7.3",
+    "webpack-hot-middleware": "^2.25.1",
     "webpack-merge": "^4.2.2",
-    "workbox-webpack-plugin": "^5.1.3"
+    "workbox-webpack-plugin": "^5.1.4"
   },
   "dependencies": {
-    "@quasar/extras": "^1.5.2",
+    "@quasar/extras": "^1.11.2",
     "axios": "^0.18.1",
     "base-x": "^3.0.8",
     "chardet": "^0.7.0",
@@ -66,27 +65,29 @@
     "got": "^9.6.0",
     "he": "^1.2.0",
     "iconv-lite": "^0.4.24",
-    "localforage": "^1.7.3",
-    "lodash": "^4.17.15",
-    "minimist": "^1.2.0",
-    "multer": "^1.4.2",
+    "localforage": "^1.10.0",
+    "lodash": "^4.17.21",
+    "minimist": "^1.2.5",
+    "multer": "^1.4.3",
     "pako": "^1.0.11",
-    "path-browserify": "^1.0.0",
+    "path-browserify": "^1.0.1",
     "pidusage": "^2.0.21",
-    "quasar": "^1.14.3",
-    "safe-buffer": "^5.2.0",
+    "pkg": "^4.4.9",
+    "quasar": "^1.16.0",
+    "safe-buffer": "^5.2.1",
     "sjcl": "^1.0.8",
     "sql-template-strings": "^2.2.2",
-    "sqlite": "^3.0.3",
-    "tar-fs": "^2.0.0",
-    "unbzip2-stream": "^1.3.3",
-    "vue": "github:bookpauk/vue",
-    "vue-router": "^3.1.6",
+    "sqlite": "^4.0.23",
+    "sqlite3": "^5.0.2",
+    "tar-fs": "^2.1.1",
+    "unbzip2-stream": "^1.4.3",
+    "vue": "^2.6.14",
+    "vue-router": "^3.5.2",
     "vue-sanitize": "^0.2.1",
-    "vuex": "^3.1.2",
+    "vuex": "^3.6.2",
     "vuex-persistedstate": "^2.7.1",
     "webdav": "^2.10.2",
-    "ws": "^7.2.1",
+    "ws": "^7.5.5",
     "zip-stream": "^2.1.3"
   }
 }

+ 6 - 1
server/db/SqliteConnectionPool.js

@@ -1,4 +1,6 @@
+const sqlite3 = require('sqlite3');
 const sqlite = require('sqlite');
+
 const SQL = require('sql-template-strings');
 
 class SqliteConnectionPool {
@@ -17,7 +19,10 @@ class SqliteConnectionPool {
         this.waitingQueue = [];
 
         for (let i = 0; i < connCount; i++) {
-            let client = await sqlite.open(dbFileName);
+            let client = await sqlite.open({
+                filename: dbFileName,
+                driver: sqlite3.Database
+            });
 
             client.configure('busyTimeout', busyTimeout); //ms
             await client.exec(`PRAGMA cache_size = ${cacheSize}`);

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است