[Pkg-javascript-commits] [pdf.js] 366/414: Removing "entry-loader" dependency from webpack.

David Prévot taffit at moszumanska.debian.org
Tue Jun 28 17:12:40 UTC 2016


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit ae415f9e80949e28ed8f73bc28b9ecb8e8789935
Author: Yury Delendik <ydelendik at mozilla.com>
Date:   Wed Apr 13 08:24:25 2016 -0500

    Removing "entry-loader" dependency from webpack.
---
 examples/browserify/README.md      |  5 +++--
 examples/browserify/gulpfile.js    |  7 +++++--
 examples/browserify/index.html     |  2 +-
 examples/browserify/main.js        |  2 +-
 examples/webpack/README.md         |  5 +++--
 examples/webpack/index.html        |  2 +-
 examples/webpack/main.js           |  3 +++
 examples/webpack/package.json      |  1 -
 examples/webpack/webpack.config.js |  7 +++++--
 make.js                            |  8 +++++---
 src/frameworks.js                  |  2 --
 src/pdf.worker.entry.js            | 18 ++++++++++++++++++
 12 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/examples/browserify/README.md b/examples/browserify/README.md
index 858e228..dd838f0 100644
--- a/examples/browserify/README.md
+++ b/examples/browserify/README.md
@@ -16,10 +16,11 @@ http://localhost:8888/examples/browserify/index.html
 
 See main.js, worker.js and gulpfile.js files. Please notice that PDF.js
 packaging requires packaging of the main application and PDF.js worker code,
-and the `workerSrc` path shall be set to the latter file.
+and the `workerSrc` path shall be set to the latter file. The pdf.worker.js file
+shall be excluded from the main bundle.
 
 Alternatives to the gulp commands (without compression) are:
 
     $ mkdir -p ../../build/browserify
-    $ node_modules/.bin/browserify main.js -o ../../build/browserify/bundle.js
+    $ node_modules/.bin/browserify main.js -u ./node_modules/pdfjs-dist/build/pdf.worker.js -o ../../build/browserify/main.bundle.js
     $ node_modules/.bin/browserify worker.js -o ../../build/browserify/pdf.worker.bundle.js
diff --git a/examples/browserify/gulpfile.js b/examples/browserify/gulpfile.js
index 06a5f01..b8d9ca0 100644
--- a/examples/browserify/gulpfile.js
+++ b/examples/browserify/gulpfile.js
@@ -10,15 +10,18 @@ var TMP_FILE_PREFIX = '../../build/browserify_';
 
 gulp.task('build-bundle', function() {
   return browserify('main.js', {output: TMP_FILE_PREFIX + 'main.tmp'})
+    .ignore(require.resolve('pdfjs-dist/build/pdf.worker')) // Reducing size
     .bundle()
     .pipe(source(TMP_FILE_PREFIX + 'main.tmp'))
     .pipe(streamify(uglify()))
-    .pipe(rename('bundle.js'))
+    .pipe(rename('main.bundle.js'))
     .pipe(gulp.dest(OUTPUT_PATH));
 });
 
 gulp.task('build-worker', function() {
-  return browserify('worker.js', {output: TMP_FILE_PREFIX + 'worker.tmp'})
+  // We can create our own viewer (see worker.js) or use already defined one.
+  var workerSrc = require.resolve('pdfjs-dist/build/pdf.worker.entry');
+  return browserify(workerSrc, {output: TMP_FILE_PREFIX + 'worker.tmp'})
     .bundle()
     .pipe(source(TMP_FILE_PREFIX + 'worker.tmp'))
     .pipe(streamify(uglify({compress:{
diff --git a/examples/browserify/index.html b/examples/browserify/index.html
index b831fe7..8bd4644 100644
--- a/examples/browserify/index.html
+++ b/examples/browserify/index.html
@@ -3,7 +3,7 @@
 <head>
   <meta charset="UTF-8">
   <title>browserify example</title>
-  <script src="../../build/browserify/bundle.js"></script>
+  <script src="../../build/browserify/main.bundle.js"></script>
 </head>
 <body>
   <canvas id="theCanvas"></canvas>
diff --git a/examples/browserify/main.js b/examples/browserify/main.js
index 59c92ff..46a921a 100644
--- a/examples/browserify/main.js
+++ b/examples/browserify/main.js
@@ -7,7 +7,7 @@ require('pdfjs-dist');
 
 var pdfPath = '../helloworld/helloworld.pdf';
 
-// Setting worker path to worker bundle
+// Setting worker path to worker bundle.
 PDFJS.workerSrc = '../../build/browserify/pdf.worker.bundle.js';
 
 // It is also possible to disable workers via `PDFJS.disableWorker = true`,
diff --git a/examples/webpack/README.md b/examples/webpack/README.md
index 21b144c..3a7ce9e 100644
--- a/examples/webpack/README.md
+++ b/examples/webpack/README.md
@@ -14,5 +14,6 @@ To build Webpack bundles, run `node_modules/.bin/webpack`. If you are running
 a web server, you can observe the build results at
 http://localhost:8888/examples/webpack/index.html
 
-See main.js and webpack.config.js files. Please notice that PDF.js packaging
-requires the `entry` loader.
+See main.js and webpack.config.js files. Please notice that PDF.js
+packaging requires packaging of the main application and PDF.js worker code,
+and the `workerSrc` path shall be set to the latter file.
diff --git a/examples/webpack/index.html b/examples/webpack/index.html
index 24b1472..ed25387 100644
--- a/examples/webpack/index.html
+++ b/examples/webpack/index.html
@@ -3,7 +3,7 @@
 <head>
   <meta charset="UTF-8">
   <title>webpack example</title>
-  <script src="../../build/webpack/bundle.js"></script>
+  <script src="../../build/webpack/main.bundle.js"></script>
 </head>
 <body>
   <canvas id="theCanvas"></canvas>
diff --git a/examples/webpack/main.js b/examples/webpack/main.js
index 6b475dc..d0466b8 100644
--- a/examples/webpack/main.js
+++ b/examples/webpack/main.js
@@ -7,6 +7,9 @@ var pdfjsLib = require('pdfjs-dist');
 
 var pdfPath = '../helloworld/helloworld.pdf';
 
+// Setting worker path to worker bundle.
+pdfjsLib.PDFJS.workerSrc = '../../build/webpack/pdf.worker.bundle.js';
+
 // It is also possible to disable workers via `PDFJS.disableWorker = true`,
 // however that might degrade the UI performance in web browsers.
 
diff --git a/examples/webpack/package.json b/examples/webpack/package.json
index f1aabe9..085fcd2 100644
--- a/examples/webpack/package.json
+++ b/examples/webpack/package.json
@@ -3,7 +3,6 @@
   "version": "0.1.0",
   "devDependencies": {
     "webpack": "~1.12.9",
-    "entry-loader": "~0.1.0",
     "pdfjs-dist": "../../build/dist"
   }
 }
diff --git a/examples/webpack/webpack.config.js b/examples/webpack/webpack.config.js
index f0735d3..78ccf38 100644
--- a/examples/webpack/webpack.config.js
+++ b/examples/webpack/webpack.config.js
@@ -3,11 +3,14 @@ var path = require('path');
 
 module.exports = {
   context: __dirname,
-  entry: './main.js',
+  entry: {
+    'main': './main.js',
+    'pdf.worker': 'pdfjs-dist/build/pdf.worker.entry'
+  },
   output: {
     path: path.join(__dirname, '../../build/webpack'),
     publicPath: '../../build/webpack/',
-    filename: 'bundle.js'
+    filename: '[name].bundle.js'
   },
   plugins: [
     new webpack.optimize.UglifyJsPlugin({
diff --git a/make.js b/make.js
index 5bd5c39..d3a70d4 100644
--- a/make.js
+++ b/make.js
@@ -308,6 +308,7 @@ target.dist = function() {
     GENERIC_DIR + 'build/pdf.js',
     GENERIC_DIR + 'build/pdf.worker.js',
     SINGLE_FILE_DIR + 'build/pdf.combined.js',
+    SRC_DIR + 'pdf.worker.entry.js',
   ], DIST_DIR + 'build/');
 
   mkdir('-p', DIST_DIR + 'web/');
@@ -333,9 +334,10 @@ target.dist = function() {
     homepage: DIST_HOMEPAGE,
     bugs: DIST_BUGS_URL,
     license: DIST_LICENSE,
-    browser: { // used by browserify and ignores following files during bundle
-      'entry?name=[hash]-worker.js!./pdf.worker.js': false,
-      './build/pdf.worker.js': false,
+    dependencies: {
+      'node-ensure': '^0.0.0' // shim for node for require.ensure
+    },
+    browser: {
       'node-ensure': false
     },
     format: 'amd', // to not allow system.js to choose 'cjs'
diff --git a/src/frameworks.js b/src/frameworks.js
index 9b5109c..719feca 100644
--- a/src/frameworks.js
+++ b/src/frameworks.js
@@ -29,8 +29,6 @@ if (typeof window === 'undefined') {
   useRequireEnsure = true;
 }
 if (typeof __webpack_require__ !== 'undefined') {
-  // Webpack - get/bundle pdf.worker.js as additional file.
-  workerSrc = require('entry?name=[hash]-worker.js!./pdf.worker.js');
   useRequireEnsure = true;
 }
 if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
diff --git a/src/pdf.worker.entry.js b/src/pdf.worker.entry.js
new file mode 100644
index 0000000..8ad5d5d
--- /dev/null
+++ b/src/pdf.worker.entry.js
@@ -0,0 +1,18 @@
+/* Copyright 2016 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(typeof window !== 'undefined' ? window : {}).pdfjsDistBuildPdfWorker =
+  require('./pdf.worker.js');
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list