Manage dependencies through npm.
This commit is contained in:
parent
f524238a24
commit
fa6a17ac88
18 changed files with 9525 additions and 100 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
3rdparty/*
|
3rdparty/*
|
||||||
js/libs/*
|
js/*
|
||||||
|
node_modules/*
|
||||||
server/node_modules/*
|
server/node_modules/*
|
||||||
|
|
||||||
server/config.js
|
server/config.js
|
||||||
|
webpack.js
|
||||||
|
|
|
||||||
|
|
@ -9,19 +9,11 @@ env:
|
||||||
amd: true
|
amd: true
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
$: false
|
|
||||||
OC: false
|
OC: false
|
||||||
OCA: false
|
OCA: false
|
||||||
t: false
|
t: false
|
||||||
n: false
|
n: false
|
||||||
_: false
|
_: false
|
||||||
paper: false
|
|
||||||
io: false
|
|
||||||
iro: false
|
|
||||||
iroTransparencyPlugin: false
|
|
||||||
PDFViewerApplication: false
|
|
||||||
PDFViewerApplicationOptions: false
|
|
||||||
pdfjsLib: false
|
|
||||||
console: false
|
console: false
|
||||||
require: false
|
require: false
|
||||||
Buffer: false
|
Buffer: false
|
||||||
|
|
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,6 +1,7 @@
|
||||||
/pdfjs-*.zip
|
/node_modules
|
||||||
3rdparty/pdfjs/
|
3rdparty/pdfjs/
|
||||||
build/
|
build/
|
||||||
|
js/
|
||||||
server/config.js
|
server/config.js
|
||||||
server/package-lock.json
|
server/package-lock.json
|
||||||
server/docker-compose.yml
|
server/docker-compose.yml
|
||||||
|
|
|
||||||
22
Makefile
22
Makefile
|
|
@ -1,5 +1,3 @@
|
||||||
PDFJS_VERSION=2.0.943
|
|
||||||
|
|
||||||
app_name=pdfdraw
|
app_name=pdfdraw
|
||||||
|
|
||||||
project_dir=$(CURDIR)/../$(app_name)
|
project_dir=$(CURDIR)/../$(app_name)
|
||||||
|
|
@ -10,20 +8,17 @@ sign_dir=$(build_dir)/sign
|
||||||
package_name=$(app_name)
|
package_name=$(app_name)
|
||||||
cert_dir=$(HOME)/.nextcloud/certificates
|
cert_dir=$(HOME)/.nextcloud/certificates
|
||||||
|
|
||||||
all: 3rdparty
|
all: npm build
|
||||||
|
|
||||||
3rdparty: pdfjs
|
npm: package.json package-lock.json
|
||||||
|
npm install
|
||||||
|
|
||||||
pdfjs-${PDFJS_VERSION}-dist.zip:
|
build: npm
|
||||||
wget https://github.com/mozilla/pdf.js/releases/download/v${PDFJS_VERSION}/pdfjs-${PDFJS_VERSION}-dist.zip
|
npm run build
|
||||||
|
|
||||||
pdfjs: pdfjs-${PDFJS_VERSION}-dist.zip
|
|
||||||
mkdir -p 3rdparty/pdfjs
|
|
||||||
unzip -qo pdfjs-${PDFJS_VERSION}-dist.zip -d 3rdparty/pdfjs
|
|
||||||
|
|
||||||
build: 3rdparty
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
rm -rf $(CURDIR)/3rdparty/pdfjs
|
||||||
|
rm -rf $(CURDIR)/js
|
||||||
rm -rf $(build_dir)
|
rm -rf $(build_dir)
|
||||||
|
|
||||||
appstore: clean build
|
appstore: clean build
|
||||||
|
|
@ -38,9 +33,10 @@ appstore: clean build
|
||||||
--exclude=.gitmodules \
|
--exclude=.gitmodules \
|
||||||
--exclude=Makefile \
|
--exclude=Makefile \
|
||||||
--exclude=node_modules \
|
--exclude=node_modules \
|
||||||
--exclude=pdfjs*.zip \
|
--exclude=src \
|
||||||
--exclude=run-*lint.sh \
|
--exclude=run-*lint.sh \
|
||||||
--exclude=.stylelintrc \
|
--exclude=.stylelintrc \
|
||||||
|
--exclude=vendors*js \
|
||||||
$(project_dir)/ \
|
$(project_dir)/ \
|
||||||
$(sign_dir)/$(app_name)
|
$(sign_dir)/$(app_name)
|
||||||
@if [ -f $(cert_dir)/$(app_name).key ]; then \
|
@if [ -f $(cert_dir)/$(app_name).key ]; then \
|
||||||
|
|
|
||||||
8
js/libs/iro-4.5.0.min.js
vendored
8
js/libs/iro-4.5.0.min.js
vendored
File diff suppressed because one or more lines are too long
9
js/libs/iro-transparency-plugin-1.0.2.min.js
vendored
9
js/libs/iro-transparency-plugin-1.0.2.min.js
vendored
File diff suppressed because one or more lines are too long
2
js/libs/jquery-3.3.1.min.js
vendored
2
js/libs/jquery-3.3.1.min.js
vendored
File diff suppressed because one or more lines are too long
39
js/libs/paper-0.11.8.min.js
vendored
39
js/libs/paper-0.11.8.min.js
vendored
File diff suppressed because one or more lines are too long
8
js/libs/socket.io-2.1.1.min.js
vendored
8
js/libs/socket.io-2.1.1.min.js
vendored
File diff suppressed because one or more lines are too long
9433
package-lock.json
generated
Normal file
9433
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
25
package.json
Normal file
25
package.json
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"name": "pdfdraw",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"description": "",
|
||||||
|
"author": "struktur AG <opensource@struktur.de>",
|
||||||
|
"scripts": {
|
||||||
|
"build": "NODE_ENV=production webpack --progress --config webpack.js",
|
||||||
|
"dev": "NODE_ENV=development webpack --config webpack.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@jaames/iro": "4.5.0",
|
||||||
|
"iro-transparency-plugin": "1.0.2",
|
||||||
|
"jquery": "3.3.1",
|
||||||
|
"paper": "0.11.8",
|
||||||
|
"pdfjs-dist": "2.0.943",
|
||||||
|
"pdfjs-dist-viewer-min": "2.0.943",
|
||||||
|
"socket.io-client": "2.1.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"copy-webpack-plugin": "6.4.1",
|
||||||
|
"webpack": "4.46.0",
|
||||||
|
"webpack-cli": "4.9.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,4 +8,4 @@ if [ -z "$ESLINT" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo Checking scripts with $ESLINT ...
|
echo Checking scripts with $ESLINT ...
|
||||||
find . -name "*.js" -print0 | xargs -0 $ESLINT
|
find . -type d -name node_modules -prune -o -name "*.js" -print0 | xargs -0 $ESLINT
|
||||||
|
|
|
||||||
2
src/.eslintrc.yml
Normal file
2
src/.eslintrc.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
parserOptions:
|
||||||
|
sourceType: module
|
||||||
|
|
@ -19,6 +19,8 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import $ from 'jquery';
|
||||||
|
|
||||||
(function(OCA) {
|
(function(OCA) {
|
||||||
OCA.PdfDraw = OCA.PdfDraw || {};
|
OCA.PdfDraw = OCA.PdfDraw || {};
|
||||||
|
|
||||||
|
|
@ -20,6 +20,14 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import $ from 'jquery';
|
||||||
|
import io from 'socket.io-client';
|
||||||
|
import iro from '@jaames/iro';
|
||||||
|
import iroTransparencyPlugin from 'iro-transparency-plugin';
|
||||||
|
import paper from 'paper';
|
||||||
|
import { pdfjsLib } from 'pdfjs-dist';
|
||||||
|
import { PDFViewerApplication, PDFViewerApplicationOptions } from 'pdfjs-dist-viewer-min';
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
@ -27,7 +27,7 @@ Adobe CMap resources are covered by their own copyright but the same license:
|
||||||
See https://github.com/adobe-type-tools/cmap-resources
|
See https://github.com/adobe-type-tools/cmap-resources
|
||||||
-->
|
-->
|
||||||
<html dir="ltr" mozdisallowselectionprint>
|
<html dir="ltr" mozdisallowselectionprint>
|
||||||
<head data-workersrc="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/build/pdf.worker.js')) ?>?v=<?php p($version) ?>" data-cmapurl="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/web/cmaps/')) ?>" data-socketurl="<?php p($_['server']) ?>" data-fileid="<?php p($_['fileId']) ?>" data-userid="<?php p($_['userId']) ?>" data-displayname="<?php p($_['displayName']) ?>" data-token="<?php p($_['token']) ?>" data-permissions="<?php p($_['permissions']) ?>">
|
<head data-workersrc="<?php p($urlGenerator->linkTo('pdfdraw', 'js/pdf.worker.js')) ?>?v=<?php p($version) ?>" data-cmapurl="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/web/cmaps/')) ?>" data-socketurl="<?php p($_['server']) ?>" data-fileid="<?php p($_['fileId']) ?>" data-userid="<?php p($_['userId']) ?>" data-displayname="<?php p($_['displayName']) ?>" data-token="<?php p($_['token']) ?>" data-permissions="<?php p($_['permissions']) ?>">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
<meta name="google" content="notranslate">
|
<meta name="google" content="notranslate">
|
||||||
|
|
@ -41,15 +41,9 @@ See https://github.com/adobe-type-tools/cmap-resources
|
||||||
<!-- This snippet is used in production (included from viewer.html) -->
|
<!-- This snippet is used in production (included from viewer.html) -->
|
||||||
<link rel="resource" type="application/l10n" href="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/web/locale/locale.properties')) ?>?v=<?php p($version) ?>">
|
<link rel="resource" type="application/l10n" href="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/web/locale/locale.properties')) ?>?v=<?php p($version) ?>">
|
||||||
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/build/pdf.js')) ?>?v=<?php p($version) ?>"></script>
|
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/pdf.js')) ?>?v=<?php p($version) ?>"></script>
|
||||||
|
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/pdf.viewer.js')) ?>?v=<?php p($version) ?>"></script>
|
||||||
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', '3rdparty/pdfjs/web/viewer.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/libs/jquery-3.3.1.min.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/libs/paper-0.11.8.min.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/libs/socket.io-2.1.1.min.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/libs/iro-4.5.0.min.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/libs/iro-transparency-plugin-1.0.2.min.js')) ?>?v=<?php p($version) ?>"></script>
|
|
||||||
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/pdfdraw.js')) ?>?v=<?php p($version) ?>"></script>
|
<script nonce="<?php p(\OC::$server->getContentSecurityPolicyNonceManager()->getNonce()) ?>" src="<?php p($urlGenerator->linkTo('pdfdraw', 'js/pdfdraw.js')) ?>?v=<?php p($version) ?>"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
@ -460,4 +454,3 @@ See https://github.com/adobe-type-tools/cmap-resources
|
||||||
<div id="printContainer"></div>
|
<div id="printContainer"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|
|
||||||
37
webpack.js
Normal file
37
webpack.js
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
const path = require('path')
|
||||||
|
const CopyPlugin = require("copy-webpack-plugin");
|
||||||
|
const TerserPlugin = require('terser-webpack-plugin');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: {
|
||||||
|
'loader': path.join(__dirname, 'src', 'loader.js'),
|
||||||
|
'pdfdraw': path.join(__dirname, 'src', 'pdfdraw.js'),
|
||||||
|
'admin/backend': path.join(__dirname, 'src', 'admin', 'backend.js'),
|
||||||
|
'pdf': path.join(__dirname, 'node_modules', 'pdfjs-dist', 'build', 'pdf.js'),
|
||||||
|
'pdf.worker': path.join(__dirname, 'node_modules', 'pdfjs-dist', 'build', 'pdf.worker.js'),
|
||||||
|
},
|
||||||
|
externals: {
|
||||||
|
"pdfjs-dist-viewer-min": "window",
|
||||||
|
"pdfjs-dist": "window",
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: '[name].js',
|
||||||
|
path: __dirname + '/js',
|
||||||
|
},
|
||||||
|
optimization: {
|
||||||
|
minimizer: [new TerserPlugin({
|
||||||
|
extractComments: false,
|
||||||
|
})],
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new CopyPlugin({
|
||||||
|
patterns: [
|
||||||
|
{ from: "node_modules/pdfjs-dist/cmaps/", to: "../3rdparty/pdfjs/web/cmaps/" },
|
||||||
|
{ from: "node_modules/pdfjs-dist-viewer-min/build/minified/web/viewer.css", to: "../3rdparty/pdfjs/web/viewer.css" },
|
||||||
|
{ from: "node_modules/pdfjs-dist-viewer-min/build/minified/web/images/", to: "../3rdparty/pdfjs/web/images/" },
|
||||||
|
{ from: "node_modules/pdfjs-dist-viewer-min/build/minified/web/locale/", to: "../3rdparty/pdfjs/web/locale/" },
|
||||||
|
{ from: "node_modules/pdfjs-dist-viewer-min/build/minified/web/pdf.viewer.js", to: "pdf.viewer.js" },
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue