Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a53ebb9355 | ||
|
|
06e12930c7 | ||
|
|
0f7655773a | ||
|
|
26660461d4 | ||
|
|
b41ee91db5 | ||
|
|
746dd8d37a | ||
|
|
fb4a57027d | ||
|
|
c97660bed0 | ||
|
|
fd8c8812a3 | ||
|
|
0101392858 | ||
|
|
cc3f82d693 | ||
|
|
d21997c918 | ||
|
|
74fec12f5c | ||
|
|
59525f8fa7 | ||
|
|
3c6d3befb2 | ||
|
|
dfa72c80bc | ||
|
|
830c066ebf | ||
|
|
c432388515 | ||
|
|
476deba93a | ||
|
|
ffb4f2386d |
@@ -24,8 +24,8 @@ async function main() {
|
|||||||
await fs.ensureDir(tempDownloadDir);
|
await fs.ensureDir(tempDownloadDir);
|
||||||
|
|
||||||
//sqlite3
|
//sqlite3
|
||||||
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v72-linux-x64.tar.gz';
|
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.2/napi-v3-linux-x64.tar.gz';
|
||||||
const sqliteDecompressedFilename = `${tempDownloadDir}/node-v72-linux-x64/node_sqlite3.node`;
|
const sqliteDecompressedFilename = `${tempDownloadDir}/napi-v3-linux-x64/node_sqlite3.node`;
|
||||||
|
|
||||||
if (!await fs.pathExists(sqliteDecompressedFilename)) {
|
if (!await fs.pathExists(sqliteDecompressedFilename)) {
|
||||||
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ async function main() {
|
|||||||
await fs.ensureDir(tempDownloadDir);
|
await fs.ensureDir(tempDownloadDir);
|
||||||
|
|
||||||
//sqlite3
|
//sqlite3
|
||||||
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v72-win32-x64.tar.gz';
|
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.2/napi-v3-win32-x64.tar.gz';
|
||||||
const sqliteDecompressedFilename = `${tempDownloadDir}/node-v72-win32-x64/node_sqlite3.node`;
|
const sqliteDecompressedFilename = `${tempDownloadDir}/napi-v3-win32-x64/node_sqlite3.node`;
|
||||||
|
|
||||||
if (!await fs.pathExists(sqliteDecompressedFilename)) {
|
if (!await fs.pathExists(sqliteDecompressedFilename)) {
|
||||||
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 1.3 KiB |
@@ -159,7 +159,24 @@ export default class BookParser {
|
|||||||
const prevParaIndex = paraIndex;
|
const prevParaIndex = paraIndex;
|
||||||
let p = para[paraIndex];
|
let p = para[paraIndex];
|
||||||
paraOffset -= p.length;
|
paraOffset -= p.length;
|
||||||
//добавление пустых (addEmptyParagraphs) параграфов перед текущим непустым
|
|
||||||
|
//уберем пробелы с концов параграфа, минимум 1 пробел должен быть у пустого параграфа
|
||||||
|
let newParaText = p.text.trim();
|
||||||
|
newParaText = (newParaText.length ? newParaText : ' ');
|
||||||
|
const ldiff = p.text.length - newParaText.length;
|
||||||
|
if (ldiff != 0) {
|
||||||
|
p.text = newParaText;
|
||||||
|
p.length -= ldiff;
|
||||||
|
}
|
||||||
|
|
||||||
|
//удаление параграфов, которые содержат только разметку, такого не должно быть
|
||||||
|
if (!p.length) {
|
||||||
|
delete para[paraIndex];
|
||||||
|
paraIndex--;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//добавление пустых (не)видимых (addEmptyParagraphs) параграфов перед текущим непустым
|
||||||
if (p.text.trim() != '') {
|
if (p.text.trim() != '') {
|
||||||
for (let i = 0; i < 2; i++) {
|
for (let i = 0; i < 2; i++) {
|
||||||
para[paraIndex] = {
|
para[paraIndex] = {
|
||||||
@@ -179,15 +196,6 @@ export default class BookParser {
|
|||||||
curSubtitle.paraIndex = paraIndex;
|
curSubtitle.paraIndex = paraIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
//уберем пробелы с концов параграфа, минимум 1 пробел должен быть у пустого параграфа
|
|
||||||
let newParaText = p.text.trim();
|
|
||||||
newParaText = (newParaText.length ? newParaText : ' ');
|
|
||||||
const ldiff = p.text.length - newParaText.length;
|
|
||||||
if (ldiff != 0) {
|
|
||||||
p.text = newParaText;
|
|
||||||
p.length -= ldiff;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.index = paraIndex;
|
p.index = paraIndex;
|
||||||
p.offset = paraOffset;
|
p.offset = paraOffset;
|
||||||
para[paraIndex] = p;
|
para[paraIndex] = p;
|
||||||
@@ -203,7 +211,7 @@ export default class BookParser {
|
|||||||
let p = {
|
let p = {
|
||||||
index: paraIndex,
|
index: paraIndex,
|
||||||
offset: paraOffset,
|
offset: paraOffset,
|
||||||
length: len,
|
length: len,//длина текста внутри параграфа без учета длины разметки
|
||||||
text: text,
|
text: text,
|
||||||
addIndex: 0,
|
addIndex: 0,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,37 @@
|
|||||||
export const versionHistory = [
|
export const versionHistory = [
|
||||||
|
{
|
||||||
|
showUntil: '2021-10-23',
|
||||||
|
header: '0.10.3 (2021-10-24)',
|
||||||
|
content:
|
||||||
|
`
|
||||||
|
<ul>
|
||||||
|
<li>исправления багов</li>
|
||||||
|
</ul>
|
||||||
|
`
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
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)',
|
||||||
|
content:
|
||||||
|
`
|
||||||
|
<ul>
|
||||||
|
<li>исправления багов</li>
|
||||||
|
</ul>
|
||||||
|
`
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
showUntil: '2021-02-16',
|
showUntil: '2021-02-16',
|
||||||
header: '0.10.0 (2021-02-09)',
|
header: '0.10.0 (2021-02-09)',
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
## Разворачивание сервера OmniReader в Ubuntu:
|
## Разворачивание сервера OmniReader в Ubuntu 20.04:
|
||||||
|
|
||||||
### git, clone
|
### git, clone
|
||||||
```
|
```
|
||||||
|
cd ~
|
||||||
sudo apt install ssh git
|
sudo apt install ssh git
|
||||||
git clone https://github.com/bookpauk/liberama
|
git clone https://github.com/bookpauk/liberama
|
||||||
```
|
```
|
||||||
@@ -9,7 +10,7 @@ git clone https://github.com/bookpauk/liberama
|
|||||||
### node.js
|
### node.js
|
||||||
```
|
```
|
||||||
sudo apt install -y curl
|
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
|
sudo apt install -y nodejs
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -25,41 +26,45 @@ sudo mkdir /home/liberama
|
|||||||
sudo chown www-data.www-data /home/liberama
|
sudo chown www-data.www-data /home/liberama
|
||||||
```
|
```
|
||||||
|
|
||||||
### external converter `calibre`, download from https://download.calibre-ebook.com/
|
### 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 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
|
### external converters
|
||||||
```
|
```
|
||||||
sudo apt install rar
|
sudo apt install rar libreoffice poppler-utils djvulibre-bin libtiff-tools graphicsmagick-imagemagick-compat
|
||||||
sudo apt install libreoffice
|
|
||||||
sudo apt install poppler-utils
|
|
||||||
sudo apt install djvulibre-bin
|
|
||||||
sudo apt install libtiff-tools
|
|
||||||
sudo apt install graphicsmagick-imagemagick-compat
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### nginx, server config
|
### nginx, server config
|
||||||
Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader.
|
#### Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader и docs/omnireader.ru/omnireader_http
|
||||||
Можно также настроить сервер для HTTP, без SSL.
|
Сначала настроим для HTTP:
|
||||||
```
|
```
|
||||||
sudo apt install nginx
|
sudo apt install nginx
|
||||||
sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader
|
sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader
|
||||||
sudo ln -s /etc/nginx/sites-available/omnireader /etc/nginx/sites-enabled/omnireader
|
sudo ln -s /etc/nginx/sites-available/omnireader_http /etc/nginx/sites-enabled/omnireader
|
||||||
sudo rm /etc/nginx/sites-enabled/default
|
sudo rm /etc/nginx/sites-enabled/default
|
||||||
sudo service nginx reload
|
sudo service nginx reload
|
||||||
sudo chown -R www-data.www-data /var/www
|
sudo chown -R www-data.www-data /var/www
|
||||||
```
|
```
|
||||||
|
|
||||||
### certbot
|
### certbot
|
||||||
Следовать инструкции установки certbot https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
|
#### Следовать инструкции установки certbot https://certbot.eff.org/lets-encrypt/ubuntufocal-nginx
|
||||||
### old.omnireader
|
После установки сертификата, можно использовать конфиг для nginx c ssl:
|
||||||
```
|
```
|
||||||
sudo apt install php7.2 php7.2-curl php7.2-mbstring php7.2-fpm
|
sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader
|
||||||
sudo service php7.2-fpm restart
|
sudo service nginx reload
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### old.omnireader
|
||||||
|
#### Старая версия omnireader на базе PHP, можно не устанавливать
|
||||||
|
```
|
||||||
|
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 mkdir /home/oldreader
|
||||||
sudo chown www-data.www-data /home/oldreader
|
sudo chown www-data.www-data /home/oldreader
|
||||||
@@ -68,7 +73,7 @@ sudo -u www-data cp -r docs/omnireader.ru/old/* /home/oldreader
|
|||||||
|
|
||||||
## Запуск по крону
|
## Запуск по крону
|
||||||
```
|
```
|
||||||
* * * * * /root/liberama/docs/omnireader.ru/cron_server.sh
|
* * * * * ~/liberama/docs/omnireader.ru/cron_server.sh >>~/liberama_cron.log 2>&1
|
||||||
```
|
```
|
||||||
|
|
||||||
## Деплой и запуск
|
## Деплой и запуск
|
||||||
@@ -78,8 +83,8 @@ cd docs/omnireader.ru
|
|||||||
./deploy.sh
|
./deploy.sh
|
||||||
./start_server.sh
|
./start_server.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
После первого запуска будет создан конфигурационный файл `/home/liberama/data/config.json`.
|
После первого запуска будет создан конфигурационный файл `/home/liberama/data/config.json`.
|
||||||
|
|
||||||
Необходимо переключить приложение в режим `omnireader`, отредактировав опцию `servers`:
|
Необходимо переключить приложение в режим `omnireader`, отредактировав опцию `servers`:
|
||||||
```
|
```
|
||||||
"servers": [
|
"servers": [
|
||||||
@@ -91,4 +96,8 @@ cd docs/omnireader.ru
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
и перезапустить сервер
|
Для использования установленных внешних конвертеров можно также поправить:
|
||||||
|
```
|
||||||
|
"useExternalBookConverter": true,
|
||||||
|
```
|
||||||
|
и перезапустить сервер.
|
||||||
@@ -66,6 +66,6 @@ server {
|
|||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
try_files $uri =404;
|
try_files $uri =404;
|
||||||
include /etc/nginx/fastcgi.conf;
|
include /etc/nginx/fastcgi.conf;
|
||||||
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
|
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,6 @@ server {
|
|||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
try_files $uri =404;
|
try_files $uri =404;
|
||||||
include /etc/nginx/fastcgi.conf;
|
include /etc/nginx/fastcgi.conf;
|
||||||
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
|
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
9124
package-lock.json
generated
9124
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
63
package.json
63
package.json
@@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"name": "Liberama",
|
"name": "Liberama",
|
||||||
"version": "0.10.1",
|
"version": "0.10.3",
|
||||||
"author": "Book Pauk <bookpauk@gmail.com>",
|
"author": "Book Pauk <bookpauk@gmail.com>",
|
||||||
"license": "CC0-1.0",
|
"license": "CC0-1.0",
|
||||||
"repository": "bookpauk/liberama",
|
"repository": "bookpauk/liberama",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=14.4.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nodemon --inspect --ignore server/public --ignore server/data --ignore client --exec 'node server'",
|
"dev": "nodemon --inspect --ignore server/public --ignore server/data --ignore client --exec 'node server'",
|
||||||
"build:client": "webpack --config build/webpack.prod.config.js",
|
"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: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 node12-win-x64 -o dist/win/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",
|
"lint": "eslint --ext=.js,.vue client server",
|
||||||
"build:client-dev": "webpack --config build/webpack.dev.config.js",
|
"build:client-dev": "webpack --config build/webpack.dev.config.js",
|
||||||
"postinstall": "npm run build:client-dev && node build/linux"
|
"postinstall": "npm run build:client-dev && node build/linux"
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
"babel-plugin-transform-decorators-legacy": "^1.3.5",
|
"babel-plugin-transform-decorators-legacy": "^1.3.5",
|
||||||
"babel-preset-env": "^1.3.2",
|
"babel-preset-env": "^1.3.2",
|
||||||
"clean-webpack-plugin": "^1.0.1",
|
"clean-webpack-plugin": "^1.0.1",
|
||||||
"copy-webpack-plugin": "^5.1.1",
|
"copy-webpack-plugin": "^5.1.2",
|
||||||
"css-loader": "^1.0.0",
|
"css-loader": "^1.0.0",
|
||||||
"eslint": "^5.16.0",
|
"eslint": "^5.16.0",
|
||||||
"eslint-plugin-html": "^5.0.5",
|
"eslint-plugin-html": "^5.0.5",
|
||||||
@@ -39,23 +39,22 @@
|
|||||||
"file-loader": "^3.0.1",
|
"file-loader": "^3.0.1",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
"mini-css-extract-plugin": "^0.5.0",
|
"mini-css-extract-plugin": "^0.5.0",
|
||||||
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
"optimize-css-assets-webpack-plugin": "^5.0.8",
|
||||||
"pkg": "^4.4.4",
|
"terser-webpack-plugin": "^1.4.5",
|
||||||
"terser-webpack-plugin": "^1.4.1",
|
|
||||||
"url-loader": "^1.1.2",
|
"url-loader": "^1.1.2",
|
||||||
"vue-class-component": "^6.3.2",
|
"vue-class-component": "^6.3.2",
|
||||||
"vue-loader": "^15.9.0",
|
"vue-loader": "^15.9.8",
|
||||||
"vue-style-loader": "^4.1.2",
|
"vue-style-loader": "^4.1.3",
|
||||||
"vue-template-compiler": "^2.6.11",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"webpack": "^4.42.0",
|
"webpack": "^4.46.0",
|
||||||
"webpack-cli": "^3.3.11",
|
"webpack-cli": "^3.3.12",
|
||||||
"webpack-dev-middleware": "^3.7.2",
|
"webpack-dev-middleware": "^3.7.3",
|
||||||
"webpack-hot-middleware": "^2.25.0",
|
"webpack-hot-middleware": "^2.25.1",
|
||||||
"webpack-merge": "^4.2.2",
|
"webpack-merge": "^4.2.2",
|
||||||
"workbox-webpack-plugin": "^5.1.3"
|
"workbox-webpack-plugin": "^5.1.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@quasar/extras": "^1.5.2",
|
"@quasar/extras": "^1.11.2",
|
||||||
"axios": "^0.18.1",
|
"axios": "^0.18.1",
|
||||||
"base-x": "^3.0.8",
|
"base-x": "^3.0.8",
|
||||||
"chardet": "^0.7.0",
|
"chardet": "^0.7.0",
|
||||||
@@ -66,27 +65,29 @@
|
|||||||
"got": "^9.6.0",
|
"got": "^9.6.0",
|
||||||
"he": "^1.2.0",
|
"he": "^1.2.0",
|
||||||
"iconv-lite": "^0.4.24",
|
"iconv-lite": "^0.4.24",
|
||||||
"localforage": "^1.7.3",
|
"localforage": "^1.10.0",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.21",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.5",
|
||||||
"multer": "^1.4.2",
|
"multer": "^1.4.3",
|
||||||
"pako": "^1.0.11",
|
"pako": "^1.0.11",
|
||||||
"path-browserify": "^1.0.0",
|
"path-browserify": "^1.0.1",
|
||||||
"pidusage": "^2.0.21",
|
"pidusage": "^2.0.21",
|
||||||
"quasar": "^1.14.3",
|
"pkg": "^4.4.9",
|
||||||
"safe-buffer": "^5.2.0",
|
"quasar": "^1.16.0",
|
||||||
|
"safe-buffer": "^5.2.1",
|
||||||
"sjcl": "^1.0.8",
|
"sjcl": "^1.0.8",
|
||||||
"sql-template-strings": "^2.2.2",
|
"sql-template-strings": "^2.2.2",
|
||||||
"sqlite": "^3.0.3",
|
"sqlite": "^4.0.23",
|
||||||
"tar-fs": "^2.0.0",
|
"sqlite3": "^5.0.2",
|
||||||
"unbzip2-stream": "^1.3.3",
|
"tar-fs": "^2.1.1",
|
||||||
"vue": "github:bookpauk/vue",
|
"unbzip2-stream": "^1.4.3",
|
||||||
"vue-router": "^3.1.6",
|
"vue": "^2.6.14",
|
||||||
|
"vue-router": "^3.5.2",
|
||||||
"vue-sanitize": "^0.2.1",
|
"vue-sanitize": "^0.2.1",
|
||||||
"vuex": "^3.1.2",
|
"vuex": "^3.6.2",
|
||||||
"vuex-persistedstate": "^2.7.1",
|
"vuex-persistedstate": "^2.7.1",
|
||||||
"webdav": "^2.10.2",
|
"webdav": "^2.10.2",
|
||||||
"ws": "^7.2.1",
|
"ws": "^7.5.5",
|
||||||
"zip-stream": "^2.1.3"
|
"zip-stream": "^2.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -210,11 +210,11 @@ class ConvertSamlib extends ConvertBase {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onComment = (text) => {// eslint-disable-line no-unused-vars
|
const onComment = (text) => {// eslint-disable-line no-unused-vars
|
||||||
if (text == '--------- Собственно произведение -------------') {
|
if (text.trim() == '--------- Собственно произведение -------------') {
|
||||||
inText = true;
|
inText = true;
|
||||||
textFound = true;
|
textFound = true;
|
||||||
}
|
}
|
||||||
if (text == '-----------------------------------------------')
|
if (text.trim() == '-----------------------------------------------')
|
||||||
inText = false;
|
inText = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
const sqlite3 = require('sqlite3');
|
||||||
const sqlite = require('sqlite');
|
const sqlite = require('sqlite');
|
||||||
|
|
||||||
const SQL = require('sql-template-strings');
|
const SQL = require('sql-template-strings');
|
||||||
|
|
||||||
class SqliteConnectionPool {
|
class SqliteConnectionPool {
|
||||||
@@ -17,7 +19,10 @@ class SqliteConnectionPool {
|
|||||||
this.waitingQueue = [];
|
this.waitingQueue = [];
|
||||||
|
|
||||||
for (let i = 0; i < connCount; i++) {
|
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
|
client.configure('busyTimeout', busyTimeout); //ms
|
||||||
await client.exec(`PRAGMA cache_size = ${cacheSize}`);
|
await client.exec(`PRAGMA cache_size = ${cacheSize}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user