maxlath / wikibase-edit

a lib to edit Wikibase from NodeJS
67 stars 25 forks source link

Create Entity not getting called #48

Closed Vitax closed 4 years ago

Vitax commented 4 years ago

Hello,

I am trying to integrate wikibase-edit in a XULRunner plugin which runs inside Zotero. I am trying to create entries with the data of Zotero if an Entry / Item does not exist. Since XULRunner has no way of resolving the dependencies of npm I am attempted to bundle it with webpack into a single JavaScript file and tried to use the bundled .js file.

The webpack config looks as following:

const path = require("path")

module.exports = {
    mode: 'development',
    performance: {
        hints: false,
    },
    node: {
        fs: "empty"
    },
    resolve: {
        modules: [
            'node_modules',
        ]
    },
    entry: {
        wikiDataService: './chrome/zotero-wikidata/lib/wikiDataServices.js',
    },
    output: {
        filename: '[name].js',
        path:
            path.resolve(__dirname, 'chrome/zotero-wikidata/bundles')
    }
};

The issue seems to be a circular dependency import in the asn1 library. Which makes the bundle process silently fail. After including the package cirucular-dependency plugin I get the errors:

ERROR in node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/api.js -> node_modules/asn1.js/lib/asn1.js

ERROR in node_modules/asn1.js/lib/asn1/api.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/api.js

ERROR in node_modules/asn1.js/lib/asn1/base/buffer.js -> node_modules/asn1.js/lib/asn1/base/index.js -> node_modules/asn1.js/lib/asn1/base/buffer.js

ERROR in node_modules/asn1.js/lib/asn1/base/index.js -> node_modules/asn1.js/lib/asn1/base/buffer.js -> node_modules/asn1.js/lib/asn1/base/index.js

ERROR in node_modules/asn1.js/lib/asn1/base/node.js -> node_modules/asn1.js/lib/asn1/base/index.js -> node_modules/asn1.js/lib/asn1/base/node.js

ERROR in node_modules/asn1.js/lib/asn1/constants/der.js -> node_modules/asn1.js/lib/asn1/constants/index.js -> node_modules/asn1.js/lib/asn1/constants/der.js

ERROR in node_modules/asn1.js/lib/asn1/constants/index.js -> node_modules/asn1.js/lib/asn1/constants/der.js -> node_modules/asn1.js/lib/asn1/constants/index.js

ERROR in node_modules/asn1.js/lib/asn1/decoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/decoders/index.js -> node_modules/asn1.js/lib/asn1/decoders/der.js

ERROR in node_modules/asn1.js/lib/asn1/decoders/index.js -> node_modules/asn1.js/lib/asn1/decoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/decoders/index.js

ERROR in node_modules/asn1.js/lib/asn1/decoders/pem.js -> node_modules/asn1.js/lib/asn1/decoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/decoders/index.js -> node_modules/asn1.js/lib/asn1/decoders/pem.js

ERROR in node_modules/asn1.js/lib/asn1/encoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/encoders/index.js -> node_modules/asn1.js/lib/asn1/encoders/der.js

ERROR in node_modules/asn1.js/lib/asn1/encoders/index.js -> node_modules/asn1.js/lib/asn1/encoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/encoders/index.js

ERROR in node_modules/asn1.js/lib/asn1/encoders/pem.js -> node_modules/asn1.js/lib/asn1/encoders/der.js -> node_modules/asn1.js/lib/asn1.js -> node_modules/asn1.js/lib/asn1/encoders/index.js -> node_modules/asn1.js/lib/asn1/encoders/pem.js

ERROR in node_modules/readable-stream/lib/_stream_duplex.js -> node_modules/readable-stream/lib/_stream_readable.js
-> node_modules/readable-stream/lib/_stream_duplex.js

ERROR in node_modules/readable-stream/lib/_stream_readable.js -> node_modules/readable-stream/lib/_stream_duplex.js
-> node_modules/readable-stream/lib/_stream_readable.js

ERROR in node_modules/readable-stream/lib/_stream_writable.js -> node_modules/readable-stream/lib/_stream_duplex.js
-> node_modules/readable-stream/lib/_stream_writable.js

ERROR in node_modules/sshpk/lib/certificate.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/certificate.js

ERROR in node_modules/sshpk/lib/dhe.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/dhe.js

ERROR in node_modules/sshpk/lib/ed-compat.js -> node_modules/sshpk/lib/signature.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/ed-compat.js

ERROR in node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/fingerprint.js

ERROR in node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js

ERROR in node_modules/sshpk/lib/formats/dnssec.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/dnssec.js

ERROR in node_modules/sshpk/lib/formats/openssh-cert.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/certificate.js -> node_modules/sshpk/lib/formats/openssh-cert.js

ERROR in node_modules/sshpk/lib/formats/pem.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/pem.js

ERROR in node_modules/sshpk/lib/formats/pkcs1.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/pem.js -> node_modules/sshpk/lib/formats/pkcs1.js

ERROR in node_modules/sshpk/lib/formats/pkcs8.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/pem.js -> node_modules/sshpk/lib/formats/pkcs1.js -> node_modules/sshpk/lib/formats/pkcs8.js

ERROR in node_modules/sshpk/lib/formats/putty.js -> node_modules/sshpk/lib/formats/rfc4253.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/putty.js

ERROR in node_modules/sshpk/lib/formats/rfc4253.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/pem.js -> node_modules/sshpk/lib/formats/ssh-private.js -> node_modules/sshpk/lib/formats/rfc4253.js

ERROR in node_modules/sshpk/lib/formats/ssh-private.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/pem.js -> node_modules/sshpk/lib/formats/ssh-private.js

ERROR in node_modules/sshpk/lib/formats/ssh.js -> node_modules/sshpk/lib/formats/rfc4253.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/formats/auto.js -> node_modules/sshpk/lib/formats/ssh.js

ERROR in node_modules/sshpk/lib/formats/x509-pem.js -> node_modules/sshpk/lib/formats/x509.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/certificate.js -> node_modules/sshpk/lib/formats/x509-pem.js

ERROR in node_modules/sshpk/lib/formats/x509.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/certificate.js -> node_modules/sshpk/lib/formats/x509.js

ERROR in node_modules/sshpk/lib/identity.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/certificate.js -> node_modules/sshpk/lib/identity.js

ERROR in node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js

ERROR in node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/signature.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js

ERROR in node_modules/sshpk/lib/signature.js -> node_modules/sshpk/lib/utils.js -> node_modules/sshpk/lib/private-key.js -> node_modules/sshpk/lib/fingerprint.js -> node_modules/sshpk/lib/key.js -> node_modules/sshpk/lib/signature.js

I know this has nothing to do with wikibase-edit directly but is there a workaround / fix for this ?