Library: Node.js: Loading module as if in a browser

Created on 28 Jan 2019  路  7Comments  路  Source: zxing-js/library

When I try to require('@zxing/library') in Node.js it fails with the following error:

/Users/mattmahn/code/ms-barcodes/node_modules/@zxing/library/umd/index.min.js:1
(function (exports, require, module, __filename, __dirname) { !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("ZXing",[],e):"object"==typeof exports?exports.ZXing=e():t.ZXing=e()}(window,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"st

ReferenceError: window is not defined
    at Object.<anonymous> (/Users/mattmahn/code/ms-barcodes/node_modules/@zxing/library/umd/index.min.js:1:262)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/Users/mattmahn/code/ms-barcodes/f.js:1:63)
    at Module._compile (internal/modules/cjs/loader.js:689:30)

Node.js version: v10.15.0
zxing-js/library version: 0.11.0

P0 bug

All 7 comments

It might be a problem with the Webpack configuration but it is targeted as UMD:

https://github.com/zxing-js/library/blob/9bd9b0f74864cd84bc9fde90f6dae76626b0786d/webpack.config.js#L54

AFAIK no library's own code is run when the module is required, just the Webpack generated code, so I do think it is a bundling issue.

Have you had any similar problems with other versions until now? If you never used one, could you test some older version to see if the error persists?

I used rm -r node_modules/@zxing && sync npm install @zxing/[email protected] && sync & node f.js to test each version, where f.js is:

require('@zxing/library')

In v0.9.0 & v0.6.0, Node.js couldn't find the module:

internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module '@zxing/library'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/Users/mah7788/code/ms-barcodes/f.js:1:63)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)

v0.5.1 is the most recent version that works. I also noticed that v0.5.1 is the first to have many (76) other dependencies in node_modules/.


Edit: Looking at git diff v0.5.1..v0.10.0 -- *webpack*, it seems that the libraryTarget: 'umd' did not change… 馃槙

Thanks, that will be very useful. I will update this issue ASAP.

@mattmahn can you please try changing the following:

const ZXing = require('@zxing/library')

by this:

const ZXing = require('@zxing/library/esm5')

My test was the following:

const zxing = require('@zxing/library/esm5')

console.log(zxing)

const scanner = zxing.MultiformatReader()

console.log(scanner)


The (partial) output:

     INSIDE_GSUM: [ 0, 336, 1036, 1516 ],
     OUTSIDE_ODD_WIDEST: [ 8, 6, 4, 3, 1 ],
     INSIDE_ODD_WIDEST: [ 2, 4, 6, 8 ],
     FINDER_PATTERNS:
      [ [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array] ] },
  MultiformatReader: [Function: MultiFormatOneDReader] }
{ BrowserQRCodeReader: [Function: BrowserQRCodeReader],
  BrowserDatamatrixCodeReader: [Function: BrowserDatamatrixCodeReader],
  BrowserQRCodeSvgWriter:
   { [Function: BrowserQRCodeSvgWriter] QUIET_ZONE_SIZE: 4, SVG_NS: 'http://www.w3.org/2000/svg' },
  BrowserBarcodeReader: [Function: BrowserBarcodeReader],
  BrowserCodeReader: [Function: BrowserCodeReader],
  BrowserMultiFormatReader: [Function: BrowserMultiFormatReader],
  HTMLCanvasElementLuminanceSource:
   { [Function: HTMLCanvasElementLuminanceSource]
     makeBufferFromCanvasImageData: [Function],
     toGrayscaleBuffer: [Function],
     DEGREE_TO_RADIANS: 0.017453292519943295 },
  VideoInputDevice: [Function: VideoInputDevice],
  Exception: [Function: Exception],
  ArgumentException: [Function: ArgumentException],
  ArithmeticException: [Function: ArithmeticException],
  ChecksumException: [Function: ChecksumException],
  FormatException: [Function: FormatException],
  IllegalArgumentException: [Function: IllegalArgumentException],
  IllegalStateException: [Function: IllegalStateException],
  NotFoundException: [Function: NotFoundException],
  ReaderException: [Function: ReaderException],
  ReedSolomonException: [Function: ReedSolomonException],
  UnsupportedOperationException: [Function: UnsupportedOperationException],
  WriterException: [Function: WriterException],
  BarcodeFormat:
   { '0': 'AZTEC',
     '1': 'CODABAR',
     '2': 'CODE_39',
     '3': 'CODE_93',
     '4': 'CODE_128',
     '5': 'DATA_MATRIX',
     '6': 'EAN_8',
     '7': 'EAN_13',
     '8': 'ITF',
     '9': 'MAXICODE',
     '10': 'PDF_417',
     '11': 'QR_CODE',
     '12': 'RSS_14',
     '13': 'RSS_EXPANDED',
     '14': 'UPC_A',
     '15': 'UPC_E',
     '16': 'UPC_EAN_EXTENSION',
     AZTEC: 0,
     CODABAR: 1,
     CODE_39: 2,
     CODE_93: 3,
     CODE_128: 4,
     DATA_MATRIX: 5,
     EAN_8: 6,
     EAN_13: 7,
     ITF: 8,
     MAXICODE: 9,
     PDF_417: 10,
     QR_CODE: 11,
     RSS_14: 12,
     RSS_EXPANDED: 13,
     UPC_A: 14,
     UPC_E: 15,
     UPC_EAN_EXTENSION: 16 },
  Binarizer: [Function: Binarizer],
  BinaryBitmap: [Function: BinaryBitmap],
  DecodeHintType:
   { '0': 'OTHER',
     '1': 'PURE_BARCODE',
     '2': 'POSSIBLE_FORMATS',
     '3': 'TRY_HARDER',
     '4': 'CHARACTER_SET',
     '5': 'ALLOWED_LENGTHS',
     '6': 'ASSUME_CODE_39_CHECK_DIGIT',
     '7': 'ASSUME_GS1',
     '8': 'RETURN_CODABAR_START_END',
     '9': 'NEED_RESULT_POINT_CALLBACK',
     '10': 'ALLOWED_EAN_EXTENSIONS',
     OTHER: 0,
     PURE_BARCODE: 1,
     POSSIBLE_FORMATS: 2,
     TRY_HARDER: 3,
     CHARACTER_SET: 4,
     ALLOWED_LENGTHS: 5,
     ASSUME_CODE_39_CHECK_DIGIT: 6,
     ASSUME_GS1: 7,
     RETURN_CODABAR_START_END: 8,
     NEED_RESULT_POINT_CALLBACK: 9,
     ALLOWED_EAN_EXTENSIONS: 10 },
  InvertedLuminanceSource: [Function: InvertedLuminanceSource],
  LuminanceSource: [Function: LuminanceSource],
  MultiFormatReader: [Function: MultiFormatReader],
  MultiFormatWriter: [Function: MultiFormatWriter],
  PlanarYUVLuminanceSource:
   { [Function: PlanarYUVLuminanceSource] THUMBNAIL_SCALE_FACTOR: 2 },
  Result: [Function: Result],
  ResultMetadataType:
   { '0': 'OTHER',
     '1': 'ORIENTATION',
     '2': 'BYTE_SEGMENTS',
     '3': 'ERROR_CORRECTION_LEVEL',
     '4': 'ISSUE_NUMBER',
     '5': 'SUGGESTED_PRICE',
     '6': 'POSSIBLE_COUNTRY',
     '7': 'UPC_EAN_EXTENSION',
     '8': 'PDF417_EXTRA_METADATA',
     '9': 'STRUCTURED_APPEND_SEQUENCE',
     '10': 'STRUCTURED_APPEND_PARITY',
     OTHER: 0,
     ORIENTATION: 1,
     BYTE_SEGMENTS: 2,
     ERROR_CORRECTION_LEVEL: 3,
     ISSUE_NUMBER: 4,
     SUGGESTED_PRICE: 5,
     POSSIBLE_COUNTRY: 6,
     UPC_EAN_EXTENSION: 7,
     PDF417_EXTRA_METADATA: 8,
     STRUCTURED_APPEND_SEQUENCE: 9,
     STRUCTURED_APPEND_PARITY: 10 },
  RGBLuminanceSource: [Function: RGBLuminanceSource],
  BitArray: { [Function: BitArray] makeArray: [Function] },
  BitMatrix:
   { [Function: BitMatrix]
     parseFromBooleanArray: [Function],
     parseFromString: [Function] },
  BitSource: [Function: BitSource],
  CharacterSetECI:
   { [Function: CharacterSetECI]
     getCharacterSetECIByValue: [Function],
     getCharacterSetECIByName: [Function],
     VALUE_IDENTIFIER_TO_ECI:
      Map {
        0 => [CharacterSetECI],
        1 => [CharacterSetECI],
        2 => [CharacterSetECI],
        3 => [CharacterSetECI],
        4 => [CharacterSetECI],
        5 => [CharacterSetECI],
        6 => [CharacterSetECI],
        7 => [CharacterSetECI],
        8 => [CharacterSetECI],
        9 => [CharacterSetECI],
        10 => [CharacterSetECI],
        11 => [CharacterSetECI],
        12 => [CharacterSetECI],
        13 => [CharacterSetECI],
        14 => [CharacterSetECI],
        15 => [CharacterSetECI],
        16 => [CharacterSetECI],
        17 => [CharacterSetECI],
        18 => [CharacterSetECI],
        19 => [CharacterSetECI],
        20 => [CharacterSetECI],
        21 => [CharacterSetECI],
        22 => [CharacterSetECI],
        23 => [CharacterSetECI],
        24 => [CharacterSetECI],
        25 => [CharacterSetECI],
        26 => [CharacterSetECI] },
     VALUES_TO_ECI:
      Map {
        0 => [CharacterSetECI],
        2 => [CharacterSetECI],
        1 => [CharacterSetECI],
        3 => [CharacterSetECI],
        4 => [CharacterSetECI],
        5 => [CharacterSetECI],
        6 => [CharacterSetECI],
        7 => [CharacterSetECI],
        8 => [CharacterSetECI],
        9 => [CharacterSetECI],
        10 => [CharacterSetECI],
        11 => [CharacterSetECI],
        12 => [CharacterSetECI],
        13 => [CharacterSetECI],
        15 => [CharacterSetECI],
        16 => [CharacterSetECI],
        17 => [CharacterSetECI],
        18 => [CharacterSetECI],
        20 => [CharacterSetECI],
        21 => [CharacterSetECI],
        22 => [CharacterSetECI],
        23 => [CharacterSetECI],
        24 => [CharacterSetECI],
        25 => [CharacterSetECI],
        26 => [CharacterSetECI],
        27 => [CharacterSetECI],
        170 => [CharacterSetECI],
        28 => [CharacterSetECI],
        29 => [CharacterSetECI],
        30 => [CharacterSetECI] },
     NAME_TO_ECI:
      Map {
        'Cp437' => [CharacterSetECI],
        'ISO-8859-1' => [CharacterSetECI],
        'ISO88591' => [CharacterSetECI],
        'ISO8859_1' => [CharacterSetECI],
        'ISO-8859-2' => [CharacterSetECI],
        'ISO88592' => [CharacterSetECI],
        'ISO8859_2' => [CharacterSetECI],
        'ISO-8859-3' => [CharacterSetECI],
        'ISO88593' => [CharacterSetECI],
        'ISO8859_3' => [CharacterSetECI],
        'ISO-8859-4' => [CharacterSetECI],
        'ISO88594' => [CharacterSetECI],
        'ISO8859_4' => [CharacterSetECI],
        'ISO-8859-5' => [CharacterSetECI],
        'ISO88595' => [CharacterSetECI],
        'ISO8859_5' => [CharacterSetECI],
        'ISO-8859-6' => [CharacterSetECI],
        'ISO88596' => [CharacterSetECI],
        'ISO8859_6' => [CharacterSetECI],
        'ISO-8859-7' => [CharacterSetECI],
        'ISO88597' => [CharacterSetECI],
        'ISO8859_7' => [CharacterSetECI],
        'ISO-8859-8' => [CharacterSetECI],
        'ISO88598' => [CharacterSetECI],
        'ISO8859_8' => [CharacterSetECI],
        'ISO-8859-9' => [CharacterSetECI],
        'ISO88599' => [CharacterSetECI],
        'ISO8859_9' => [CharacterSetECI],
        'ISO-8859-10' => [CharacterSetECI],
        'ISO885910' => [CharacterSetECI],
        'ISO8859_10' => [CharacterSetECI],
        'ISO-8859-11' => [CharacterSetECI],
        'ISO885911' => [CharacterSetECI],
        'ISO8859_11' => [CharacterSetECI],
        'ISO-8859-13' => [CharacterSetECI],
        'ISO885913' => [CharacterSetECI],
        'ISO8859_13' => [CharacterSetECI],
        'ISO-8859-14' => [CharacterSetECI],
        'ISO885914' => [CharacterSetECI],
        'ISO8859_14' => [CharacterSetECI],
        'ISO-8859-15' => [CharacterSetECI],
        'ISO885915' => [CharacterSetECI],
        'ISO8859_15' => [CharacterSetECI],
        'ISO-8859-16' => [CharacterSetECI],
        'ISO885916' => [CharacterSetECI],
        'ISO8859_16' => [CharacterSetECI],
        'SJIS' => [CharacterSetECI],
        'Shift_JIS' => [CharacterSetECI],
        'Cp1250' => [CharacterSetECI],
        'windows-1250' => [CharacterSetECI],
        'Cp1251' => [CharacterSetECI],
        'windows-1251' => [CharacterSetECI],
        'Cp1252' => [CharacterSetECI],
        'windows-1252' => [CharacterSetECI],
        'Cp1256' => [CharacterSetECI],
        'windows-1256' => [CharacterSetECI],
        'UnicodeBigUnmarked' => [CharacterSetECI],
        'UTF-16BE' => [CharacterSetECI],
        'UnicodeBig' => [CharacterSetECI],
        'UTF8' => [CharacterSetECI],
        'UTF-8' => [CharacterSetECI],
        'ASCII' => [CharacterSetECI],
        'US-ASCII' => [CharacterSetECI],
        'Big5' => [CharacterSetECI],
        'GB18030' => [CharacterSetECI],
        'GB2312' => [CharacterSetECI],
        'EUC_CN' => [CharacterSetECI],
        'GBK' => [CharacterSetECI],
        'EUC_KR' => [CharacterSetECI],
        'EUC-KR' => [CharacterSetECI] },
     Cp437:
      CharacterSetECI {
        valueIdentifier: 0,
        name: 'Cp437',
        values: [Int32Array],
        otherEncodingNames: [] },
     ISO8859_1:
      CharacterSetECI {
        valueIdentifier: 1,
        name: 'ISO-8859-1',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_2:
      CharacterSetECI {
        valueIdentifier: 2,
        name: 'ISO-8859-2',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_3:
      CharacterSetECI {
        valueIdentifier: 3,
        name: 'ISO-8859-3',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_4:
      CharacterSetECI {
        valueIdentifier: 4,
        name: 'ISO-8859-4',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_5:
      CharacterSetECI {
        valueIdentifier: 5,
        name: 'ISO-8859-5',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_6:
      CharacterSetECI {
        valueIdentifier: 6,
        name: 'ISO-8859-6',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_7:
      CharacterSetECI {
        valueIdentifier: 7,
        name: 'ISO-8859-7',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_8:
      CharacterSetECI {
        valueIdentifier: 8,
        name: 'ISO-8859-8',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_9:
      CharacterSetECI {
        valueIdentifier: 9,
        name: 'ISO-8859-9',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_10:
      CharacterSetECI {
        valueIdentifier: 10,
        name: 'ISO-8859-10',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_11:
      CharacterSetECI {
        valueIdentifier: 11,
        name: 'ISO-8859-11',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_13:
      CharacterSetECI {
        valueIdentifier: 12,
        name: 'ISO-8859-13',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_14:
      CharacterSetECI {
        valueIdentifier: 13,
        name: 'ISO-8859-14',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_15:
      CharacterSetECI {
        valueIdentifier: 14,
        name: 'ISO-8859-15',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ISO8859_16:
      CharacterSetECI {
        valueIdentifier: 15,
        name: 'ISO-8859-16',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     SJIS:
      CharacterSetECI {
        valueIdentifier: 16,
        name: 'SJIS',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     Cp1250:
      CharacterSetECI {
        valueIdentifier: 17,
        name: 'Cp1250',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     Cp1251:
      CharacterSetECI {
        valueIdentifier: 18,
        name: 'Cp1251',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     Cp1252:
      CharacterSetECI {
        valueIdentifier: 19,
        name: 'Cp1252',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     Cp1256:
      CharacterSetECI {
        valueIdentifier: 20,
        name: 'Cp1256',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     UnicodeBigUnmarked:
      CharacterSetECI {
        valueIdentifier: 21,
        name: 'UnicodeBigUnmarked',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     UTF8:
      CharacterSetECI {
        valueIdentifier: 22,
        name: 'UTF8',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     ASCII:
      CharacterSetECI {
        valueIdentifier: 23,
        name: 'ASCII',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     Big5:
      CharacterSetECI {
        valueIdentifier: 24,
        name: 'Big5',
        values: [Int32Array],
        otherEncodingNames: [] },
     GB18030:
      CharacterSetECI {
        valueIdentifier: 25,
        name: 'GB18030',
        values: [Int32Array],
        otherEncodingNames: [Array] },
     EUC_KR:
      CharacterSetECI {
        valueIdentifier: 26,
        name: 'EUC_KR',
        values: [Int32Array],
        otherEncodingNames: [Array] } },
  DecoderResult: [Function: DecoderResult],
  DefaultGridSampler: [Function: DefaultGridSampler],
  DetectorResult: [Function: DetectorResult],
  EncodeHintType:
   { '0': 'ERROR_CORRECTION',
     '1': 'CHARACTER_SET',
     '2': 'DATA_MATRIX_SHAPE',
     '3': 'MIN_SIZE',
     '4': 'MAX_SIZE',
     '5': 'MARGIN',
     '6': 'PDF417_COMPACT',
     '7': 'PDF417_COMPACTION',
     '8': 'PDF417_DIMENSIONS',
     '9': 'AZTEC_LAYERS',
     '10': 'QR_VERSION',
     ERROR_CORRECTION: 0,
     CHARACTER_SET: 1,
     DATA_MATRIX_SHAPE: 2,
     MIN_SIZE: 3,
     MAX_SIZE: 4,
     MARGIN: 5,
     PDF417_COMPACT: 6,
     PDF417_COMPACTION: 7,
     PDF417_DIMENSIONS: 8,
     AZTEC_LAYERS: 9,
     QR_VERSION: 10 },
  GlobalHistogramBinarizer:
   { [Function: GlobalHistogramBinarizer]
     estimateBlackPoint: [Function],
     LUMINANCE_BITS: 5,
     LUMINANCE_SHIFT: 3,
     LUMINANCE_BUCKETS: 32,
     EMPTY: Uint8ClampedArray [ 0 ] },
  GridSampler: { [Function: GridSampler] checkAndNudgePoints: [Function] },
  GridSamplerInstance:
   { [Function: GridSamplerInstance]
     setGridSampler: [Function],
     getInstance: [Function],
     gridSampler: DefaultGridSampler {} },
  HybridBinarizer:
   { [Function: HybridBinarizer]
     calculateThresholdForBlock: [Function],
     cap: [Function],
     thresholdBlock: [Function],
     calculateBlackPoints: [Function],
     BLOCK_SIZE_POWER: 3,
     BLOCK_SIZE: 8,
     BLOCK_SIZE_MASK: 7,
     MINIMUM_DIMENSION: 40,
     MIN_DYNAMIC_RANGE: 24 },
  PerspectiveTransform:
   { [Function: PerspectiveTransform]
     quadrilateralToQuadrilateral: [Function],
     squareToQuadrilateral: [Function],
     quadrilateralToSquare: [Function] },
  StringUtils:
   { [Function: StringUtils]
     guessEncoding: [Function],
     SHIFT_JIS: 'SJIS',
     GB2312: 'GB2312',
     ISO88591: 'ISO-8859-1',
     EUC_JP: 'EUC_JP',
     UTF8: 'UTF8',
     PLATFORM_DEFAULT_ENCODING: 'UTF8',
     ASSUME_SHIFT_JIS: false },
  MathUtils:
   { [Function: MathUtils] round: [Function], distance: [Function], sum: [Function] },
  WhiteRectangleDetector:
   { [Function: WhiteRectangleDetector] INIT_SIZE: 10, CORR: 1 },
  GenericGF:
   { [Function: GenericGF]
     addOrSubtract: [Function],
     AZTEC_DATA_12:
      GenericGF {
        primitive: 4201,
        size: 4096,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     AZTEC_DATA_10:
      GenericGF {
        primitive: 1033,
        size: 1024,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     AZTEC_DATA_6:
      GenericGF {
        primitive: 67,
        size: 64,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     AZTEC_PARAM:
      GenericGF {
        primitive: 19,
        size: 16,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     QR_CODE_FIELD_256:
      GenericGF {
        primitive: 285,
        size: 256,
        generatorBase: 0,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     DATA_MATRIX_FIELD_256:
      GenericGF {
        primitive: 301,
        size: 256,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     AZTEC_DATA_8:
      GenericGF {
        primitive: 301,
        size: 256,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] },
     MAXICODE_FIELD_64:
      GenericGF {
        primitive: 67,
        size: 64,
        generatorBase: 1,
        expTable: [Int32Array],
        logTable: [Int32Array],
        zero: [GenericGFPoly],
        one: [GenericGFPoly] } },
  GenericGFPoly: [Function: GenericGFPoly],
  ReedSolomonDecoder: [Function: ReedSolomonDecoder],
  ReedSolomonEncoder: [Function: ReedSolomonEncoder],
  DataMatrixReader:
   { [Function: DataMatrixReader]
     extractPureBits: [Function],
     moduleSize: [Function],
     NO_POINTS: [] },
  QRCodeReader:
   { [Function: QRCodeReader]
     extractPureBits: [Function],
     moduleSize: [Function],
     NO_POINTS: [] },
  QRCodeWriter:
   { [Function: QRCodeWriter] renderResult: [Function], QUIET_ZONE_SIZE: 4 },
  QRCodeDecoderErrorCorrectionLevel:
   { [Function: ErrorCorrectionLevel]
     fromString: [Function],
     forBits: [Function],
     FOR_BITS:
      Map {
        1 => [ErrorCorrectionLevel],
        0 => [ErrorCorrectionLevel],
        3 => [ErrorCorrectionLevel],
        2 => [ErrorCorrectionLevel] },
     FOR_VALUE:
      Map {
        0 => [ErrorCorrectionLevel],
        1 => [ErrorCorrectionLevel],
        2 => [ErrorCorrectionLevel],
        3 => [ErrorCorrectionLevel] },
     L: ErrorCorrectionLevel { value: 0, stringValue: 'L', bits: 1 },
     M: ErrorCorrectionLevel { value: 1, stringValue: 'M', bits: 0 },
     Q: ErrorCorrectionLevel { value: 2, stringValue: 'Q', bits: 3 },
     H: ErrorCorrectionLevel { value: 3, stringValue: 'H', bits: 2 } },
  QRCodeEncoder:
   { [Function: Encoder]
     calculateMaskPenalty: [Function],
     encode: [Function],
     recommendVersion: [Function],
     calculateBitsNeeded: [Function],
     getAlphanumericCode: [Function],
     chooseMode: [Function],
     isOnlyDoubleByteKanji: [Function],
     chooseMaskPattern: [Function],
     chooseVersion: [Function],
     willFit: [Function],
     terminateBits: [Function],
     getNumDataBytesAndNumECBytesForBlockID: [Function],
     interleaveWithECBytes: [Function],
     generateECBytes: [Function],
     appendModeInfo: [Function],
     appendLengthInfo: [Function],
     appendBytes: [Function],
     getDigit: [Function],
     isDigit: [Function],
     appendNumericBytes: [Function],
     appendAlphanumericBytes: [Function],
     append8BitBytes: [Function],
     appendKanjiBytes: [Function],
     appendECI: [Function],
     ALPHANUMERIC_TABLE:
      Int32Array [
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        36,
        -1,
        -1,
        -1,
        37,
        38,
        -1,
        -1,
        -1,
        -1,
        39,
        40,
        -1,
        41,
        42,
        43,
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        44,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        -1,
        -1,
        -1,
        -1,
        -1 ],
     DEFAULT_BYTE_MODE_ENCODING: 'UTF8' },
  QRCodeEncoderQRCode:
   { [Function: QRCode] isValidMaskPattern: [Function], NUM_MASK_PATTERNS: 8 },
  OneDReader:
   { [Function: OneDReader]
     recordPattern: [Function],
     recordPatternInReverse: [Function],
     patternMatchVariance: [Function] },
  EAN13Reader:
   { [Function: EAN13Reader]
     determineFirstDigit: [Function],
     FIRST_DIGIT_ENCODINGS: [ 0, 11, 13, 14, 19, 25, 28, 21, 22, 26 ] },
  Code128Reader:
   { [Function: Code128Reader]
     findStartPattern: [Function],
     decodeCode: [Function],
     CODE_PATTERNS:
      [ [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        ... 7 more items ],
     MAX_AVG_VARIANCE: 0.25,
     MAX_INDIVIDUAL_VARIANCE: 0.7,
     CODE_SHIFT: 98,
     CODE_CODE_C: 99,
     CODE_CODE_B: 100,
     CODE_CODE_A: 101,
     CODE_FNC_1: 102,
     CODE_FNC_2: 97,
     CODE_FNC_3: 96,
     CODE_FNC_4_A: 101,
     CODE_FNC_4_B: 100,
     CODE_START_A: 103,
     CODE_START_B: 104,
     CODE_START_C: 105,
     CODE_STOP: 106 },
  ITFReader:
   { [Function: ITFReader]
     decodeMiddle: [Function],
     skipWhiteSpace: [Function],
     findGuardPattern: [Function],
     decodeDigit: [Function],
     W: 3,
     w: 2,
     N: 1,
     PATTERNS:
      [ [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array] ],
     MAX_AVG_VARIANCE: 0.38,
     MAX_INDIVIDUAL_VARIANCE: 0.5,
     DEFAULT_ALLOWED_LENGTHS: [ 6, 8, 10, 12, 14 ],
     START_PATTERN: [ 1, 1, 1, 1 ],
     END_PATTERN_REVERSED: [ [Array], [Array] ] },
  Code39Reader:
   { [Function: Code39Reader]
     findAsteriskPattern: [Function],
     toNarrowWidePattern: [Function],
     patternToChar: [Function],
     decodeExtended: [Function],
     ALPHABET_STRING: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%',
     CHARACTER_ENCODINGS:
      [ 52,
        289,
        97,
        352,
        49,
        304,
        112,
        37,
        292,
        100,
        265,
        73,
        328,
        25,
        280,
        88,
        13,
        268,
        76,
        28,
        259,
        67,
        322,
        19,
        274,
        82,
        7,
        262,
        70,
        22,
        385,
        193,
        448,
        145,
        400,
        208,
        133,
        388,
        196,
        168,
        162,
        138,
        42 ],
     ASTERISK_ENCODING: 148 },
  RSS14Reader:
   { [Function: RSS14Reader]
     addOrTally: [Function],
     constructResult: [Function],
     checkChecksum: [Function],
     OUTSIDE_EVEN_TOTAL_SUBSET: [ 1, 10, 34, 70, 126 ],
     INSIDE_ODD_TOTAL_SUBSET: [ 4, 20, 48, 81 ],
     OUTSIDE_GSUM: [ 0, 161, 961, 2015, 2715 ],
     INSIDE_GSUM: [ 0, 336, 1036, 1516 ],
     OUTSIDE_ODD_WIDEST: [ 8, 6, 4, 3, 1 ],
     INSIDE_ODD_WIDEST: [ 2, 4, 6, 8 ],
     FINDER_PATTERNS:
      [ [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array],
        [Array] ] },
  MultiformatReader: [Function: MultiFormatOneDReader],
  readers:
   [ Code39Reader {
       usingCheckDigit: false,
       extendedMode: false,
       decodeRowResult: '',
       counters: [Array] },
     MultiFormatUPCEANReader { readers: [Array] },
     Code128Reader {},
     ITFReader { narrowLineWidth: -1 },
     RSS14Reader {
       decodeFinderCounters: [Array],
       dataCharacterCounters: [Array],
       oddRoundingErrors: [Array],
       evenRoundingErrors: [Array],
       oddCounts: [Array],
       evenCounts: [Array],
       possibleLeftPairs: [],
       possibleRightPairs: [] } ] }

Tested in Node 10.8.0

So I think it should working when using the esm5 build, which is something like ES6 modules mimic in ES5 syntax, so it shall be compatible with Node. :)

@mattmahn you also commented something about dependencies, but we have only one optional dependency in the current version, so you may have seen our devDependencies or something like that, I believe. Well, no dependencies should be installed with the library at all, if you believe it's what's happening can you please file a new issue? Thanks.

That new import path works great, thanks! I guess the example in the README is out-of-date.

You're right, the other dependencies are from others in listed in my package.json.

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Hopingocean picture Hopingocean  路  3Comments

lenny76 picture lenny76  路  10Comments

helloo0-0oword picture helloo0-0oword  路  8Comments

robbelroot picture robbelroot  路  6Comments

DKhalil picture DKhalil  路  8Comments