Merge pull request #36 from strukturag/npm-dependencies
Manage dependencies through npm.
This commit is contained in:
commit
47bf193a16
19 changed files with 9536 additions and 100 deletions
|
|
@ -1,5 +1,7 @@
|
|||
3rdparty/*
|
||||
js/libs/*
|
||||
js/*
|
||||
node_modules/*
|
||||
server/node_modules/*
|
||||
|
||||
server/config.js
|
||||
webpack.js
|
||||
|
|
|
|||
|
|
@ -9,19 +9,11 @@ env:
|
|||
amd: true
|
||||
|
||||
globals:
|
||||
$: false
|
||||
OC: false
|
||||
OCA: false
|
||||
t: false
|
||||
n: false
|
||||
_: false
|
||||
paper: false
|
||||
io: false
|
||||
iro: false
|
||||
iroTransparencyPlugin: false
|
||||
PDFViewerApplication: false
|
||||
PDFViewerApplicationOptions: false
|
||||
pdfjsLib: false
|
||||
console: false
|
||||
require: false
|
||||
Buffer: false
|
||||
|
|
|
|||
11
.github/dependabot.yml
vendored
Normal file
11
.github/dependabot.yml
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: /
|
||||
schedule:
|
||||
interval: daily
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,6 +1,7 @@
|
|||
/pdfjs-*.zip
|
||||
/node_modules
|
||||
3rdparty/pdfjs/
|
||||
build/
|
||||
js/
|
||||
server/config.js
|
||||
server/package-lock.json
|
||||
server/docker-compose.yml
|
||||
|
|
|
|||
22
Makefile
22
Makefile
|
|
@ -1,5 +1,3 @@
|
|||
PDFJS_VERSION=2.0.943
|
||||
|
||||
app_name=pdfdraw
|
||||
|
||||
project_dir=$(CURDIR)/../$(app_name)
|
||||
|
|
@ -10,20 +8,17 @@ sign_dir=$(build_dir)/sign
|
|||
package_name=$(app_name)
|
||||
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:
|
||||
wget https://github.com/mozilla/pdf.js/releases/download/v${PDFJS_VERSION}/pdfjs-${PDFJS_VERSION}-dist.zip
|
||||
|
||||
pdfjs: pdfjs-${PDFJS_VERSION}-dist.zip
|
||||
mkdir -p 3rdparty/pdfjs
|
||||
unzip -qo pdfjs-${PDFJS_VERSION}-dist.zip -d 3rdparty/pdfjs
|
||||
|
||||
build: 3rdparty
|
||||
build: npm
|
||||
npm run build
|
||||
|
||||
clean:
|
||||
rm -rf $(CURDIR)/3rdparty/pdfjs
|
||||
rm -rf $(CURDIR)/js
|
||||
rm -rf $(build_dir)
|
||||
|
||||
appstore: clean build
|
||||
|
|
@ -38,9 +33,10 @@ appstore: clean build
|
|||
--exclude=.gitmodules \
|
||||
--exclude=Makefile \
|
||||
--exclude=node_modules \
|
||||
--exclude=pdfjs*.zip \
|
||||
--exclude=src \
|
||||
--exclude=run-*lint.sh \
|
||||
--exclude=.stylelintrc \
|
||||
--exclude=vendors*js \
|
||||
$(project_dir)/ \
|
||||
$(sign_dir)/$(app_name)
|
||||
@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
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
import $ from 'jquery';
|
||||
|
||||
(function(OCA) {
|
||||
OCA.PdfDraw = OCA.PdfDraw || {};
|
||||
|
||||
|
|
@ -20,6 +20,14 @@
|
|||
* 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() {
|
||||
"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
|
||||
-->
|
||||
<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 name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<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) -->
|
||||
<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>
|
||||
</head>
|
||||
|
||||
|
|
@ -460,4 +454,3 @@ See https://github.com/adobe-type-tools/cmap-resources
|
|||
<div id="printContainer"></div>
|
||||
</body>
|
||||
</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