diff --git a/src/core/worker.js b/src/core/worker.js index 50c404d50..ba9480629 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -21,7 +21,7 @@ import { } from '../shared/util'; import { clearPrimitiveCaches, Ref } from './primitives'; import { LocalPdfManager, NetworkPdfManager } from './pdf_manager'; -import isNodeJS from '../shared/is_node'; +import { isNodeJS } from '../shared/is_node'; import { MessageHandler } from '../shared/message_handler'; import { PDFWorkerStream } from './worker_stream'; import { XRefParseException } from './core_utils'; diff --git a/src/display/api.js b/src/display/api.js index 3514d9efa..4d91fd432 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -33,7 +33,7 @@ import { import { FontFaceObject, FontLoader } from './font_loader'; import { apiCompatibilityParams } from './api_compatibility'; import { CanvasGraphics } from './canvas'; -import globalScope from '../shared/global_scope'; +import { globalScope } from '../shared/global_scope'; import { GlobalWorkerOptions } from './worker_options'; import { MessageHandler } from '../shared/message_handler'; import { Metadata } from './metadata'; diff --git a/src/display/api_compatibility.js b/src/display/api_compatibility.js index 2b7b871b6..d21fd47c5 100644 --- a/src/display/api_compatibility.js +++ b/src/display/api_compatibility.js @@ -15,7 +15,7 @@ let compatibilityParams = Object.create(null); if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) { - const isNodeJS = require('../shared/is_node'); + const { isNodeJS, } = require('../shared/is_node'); const userAgent = (typeof navigator !== 'undefined' && navigator.userAgent) || ''; diff --git a/src/display/svg.js b/src/display/svg.js index 9ca678647..050ae939c 100644 --- a/src/display/svg.js +++ b/src/display/svg.js @@ -20,7 +20,7 @@ import { TextRenderingMode, Util, warn } from '../shared/util'; import { DOMSVGFactory } from './display_utils'; -import isNodeJS from '../shared/is_node'; +import { isNodeJS } from '../shared/is_node'; let SVGGraphics = function() { throw new Error('Not implemented: SVGGraphics'); diff --git a/src/display/text_layer.js b/src/display/text_layer.js index d900d2d32..c850bc8b0 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -14,7 +14,7 @@ */ import { AbortException, createPromiseCapability, Util } from '../shared/util'; -import globalScope from '../shared/global_scope'; +import { globalScope } from '../shared/global_scope'; /** * Text layer render parameters. diff --git a/src/pdf.js b/src/pdf.js index a52af4e22..969f4d6ac 100644 --- a/src/pdf.js +++ b/src/pdf.js @@ -31,7 +31,7 @@ let pdfjsDisplayWorkerOptions = require('./display/worker_options.js'); let pdfjsDisplayAPICompatibility = require('./display/api_compatibility.js'); if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) { - const isNodeJS = require('./shared/is_node.js'); + const { isNodeJS, } = require('./shared/is_node.js'); if (isNodeJS()) { let PDFNodeStream = require('./display/node_stream.js').PDFNodeStream; pdfjsDisplayAPI.setPDFNetworkStreamFactory((params) => { diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index f1e829027..d14e852fd 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -14,7 +14,7 @@ */ /* eslint no-var: error */ -const globalScope = require('./global_scope'); +const { globalScope, } = require('./global_scope'); // Skip compatibility checks for modern builds and if we already ran the module. if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('SKIP_BABEL')) && @@ -22,7 +22,7 @@ if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('SKIP_BABEL')) && globalScope._pdfjsCompatibilityChecked = true; -const isNodeJS = require('./is_node'); +const { isNodeJS, } = require('./is_node'); const hasDOM = typeof window === 'object' && typeof document === 'object'; diff --git a/src/shared/global_scope.js b/src/shared/global_scope.js index 2150b023e..5ddc95b17 100644 --- a/src/shared/global_scope.js +++ b/src/shared/global_scope.js @@ -12,10 +12,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals module */ -module.exports = +const globalScope = (typeof window !== 'undefined' && window.Math === Math) ? window : // eslint-disable-next-line no-undef (typeof global !== 'undefined' && global.Math === Math) ? global : (typeof self !== 'undefined' && self.Math === Math) ? self : {}; + +export { + globalScope, +}; diff --git a/src/shared/is_node.js b/src/shared/is_node.js index 1720edb13..67c3d4502 100644 --- a/src/shared/is_node.js +++ b/src/shared/is_node.js @@ -12,13 +12,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals module, process */ +/* globals process */ -module.exports = function isNodeJS() { +function isNodeJS() { // NW.js / Electron is a browser context, but copies some Node.js objects; see // http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context // https://electronjs.org/docs/api/process#processversionselectron return typeof process === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron']; +} + +export { + isNodeJS, }; diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index 604128c58..22ef27dbb 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -29,7 +29,7 @@ import { getDocument, PDFDataRangeTransport, PDFDocumentProxy, PDFPageProxy, PDFWorker } from '../../src/display/api'; import { GlobalWorkerOptions } from '../../src/display/worker_options'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { Metadata } from '../../src/display/metadata'; describe('api', function() { diff --git a/test/unit/clitests_helper.js b/test/unit/clitests_helper.js index 11d9475e9..c3b41bc8d 100644 --- a/test/unit/clitests_helper.js +++ b/test/unit/clitests_helper.js @@ -14,7 +14,7 @@ */ import { setVerbosityLevel, VerbosityLevel } from '../../src/shared/util'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { PDFNodeStream } from '../../src/display/node_stream'; import { setPDFNetworkStreamFactory } from '../../src/display/api'; diff --git a/test/unit/cmap_spec.js b/test/unit/cmap_spec.js index 88b0cefd1..0f48b64f6 100644 --- a/test/unit/cmap_spec.js +++ b/test/unit/cmap_spec.js @@ -15,7 +15,7 @@ import { CMap, CMapFactory, IdentityCMap } from '../../src/core/cmap'; import { DOMCMapReaderFactory } from '../../src/display/display_utils'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { Name } from '../../src/core/primitives'; import { NodeCMapReaderFactory } from './test_utils'; import { StringStream } from '../../src/core/stream'; diff --git a/test/unit/custom_spec.js b/test/unit/custom_spec.js index d44cc5bab..4a03b4773 100644 --- a/test/unit/custom_spec.js +++ b/test/unit/custom_spec.js @@ -16,7 +16,7 @@ import { buildGetDocumentParams, NodeCanvasFactory } from './test_utils'; import { DOMCanvasFactory } from '../../src/display/display_utils'; import { getDocument } from '../../src/display/api'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; function getTopLeftPixel(canvasContext) { let imgData = canvasContext.getImageData(0, 0, 1, 1); diff --git a/test/unit/display_svg_spec.js b/test/unit/display_svg_spec.js index 4278836ff..d9622b266 100644 --- a/test/unit/display_svg_spec.js +++ b/test/unit/display_svg_spec.js @@ -17,7 +17,7 @@ import { setStubs, unsetStubs } from '../../examples/node/domstubs'; import { buildGetDocumentParams } from './test_utils'; import { getDocument } from '../../src/display/api'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { NativeImageDecoding } from '../../src/shared/util'; import { SVGGraphics } from '../../src/display/svg'; diff --git a/test/unit/display_utils_spec.js b/test/unit/display_utils_spec.js index 19a090559..0767316c4 100644 --- a/test/unit/display_utils_spec.js +++ b/test/unit/display_utils_spec.js @@ -18,7 +18,7 @@ import { DOMCanvasFactory, DOMSVGFactory, getFilenameFromUrl, isValidFetchUrl, PDFDateString } from '../../src/display/display_utils'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; describe('display_utils', function() { describe('DOMCanvasFactory', function() { diff --git a/test/unit/jasmine-boot.js b/test/unit/jasmine-boot.js index df1abcff8..d5afb316b 100644 --- a/test/unit/jasmine-boot.js +++ b/test/unit/jasmine-boot.js @@ -81,11 +81,11 @@ function initializePDFJS(callback) { ].map(function (moduleName) { return SystemJS.import(moduleName); })).then(function(modules) { - var displayApi = modules[0]; - const GlobalWorkerOptions = modules[1].GlobalWorkerOptions; - var PDFNetworkStream = modules[2].PDFNetworkStream; - var PDFFetchStream = modules[3].PDFFetchStream; - const isNodeJS = modules[4]; + const displayApi = modules[0]; + const { GlobalWorkerOptions, } = modules[1]; + const { PDFNetworkStream, } = modules[2]; + const { PDFFetchStream, } = modules[3]; + const { isNodeJS, } = modules[4]; if (isNodeJS()) { throw new Error('The `gulp unittest` command cannot be used in ' + diff --git a/test/unit/node_stream_spec.js b/test/unit/node_stream_spec.js index 3023b6190..2f8ecd4d6 100644 --- a/test/unit/node_stream_spec.js +++ b/test/unit/node_stream_spec.js @@ -15,7 +15,7 @@ /* globals __non_webpack_require__ */ import { AbortException, assert } from '../../src/shared/util'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { PDFNodeStream } from '../../src/display/node_stream'; // Make sure that we only running this script is Node.js environments. diff --git a/test/unit/test_utils.js b/test/unit/test_utils.js index e931e7230..52746e6d8 100644 --- a/test/unit/test_utils.js +++ b/test/unit/test_utils.js @@ -14,7 +14,7 @@ */ import { assert, CMapCompressionType } from '../../src/shared/util'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; import { isRef } from '../../src/core/primitives'; import { Page } from '../../src/core/document'; diff --git a/test/unit/ui_utils_spec.js b/test/unit/ui_utils_spec.js index 7f43c089e..afd3f651b 100644 --- a/test/unit/ui_utils_spec.js +++ b/test/unit/ui_utils_spec.js @@ -20,7 +20,7 @@ import { waitOnEventOrTimeout, WaitOnType } from '../../web/ui_utils'; import { createObjectURL } from '../../src/shared/util'; -import isNodeJS from '../../src/shared/is_node'; +import { isNodeJS } from '../../src/shared/is_node'; describe('ui_utils', function() { describe('binary search', function() { diff --git a/web/viewer.js b/web/viewer.js index 2254731fc..56538b659 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals chrome */ 'use strict'; @@ -30,6 +29,7 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) { let humanReadableUrl = '/' + defaultUrl + location.hash; history.replaceState(history.state, '', humanReadableUrl); if (top === window) { + // eslint-disable-next-line no-undef chrome.runtime.sendMessage('showPageAction'); } })();