thencc / algonautjs

A front end friendly Algorand utility
MIT License
10 stars 1 forks source link

Mobx dependency causing tests to fail #98

Open enceladus opened 10 months ago

enceladus commented 10 months ago

Seeing this when running npm run test:

ReferenceError: CustomEvent is not defined
    at K.emitSyncStates (algonautjs/node_modules/.pnpm/@thencc+any-wallet@0.2.5_algosdk@2.3.0/node_modules/@thencc/any-wallet/dist/index.cjs:1:29234)
    at apply (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:69:19)
    at K.executeAction (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:50:16)
    at /algonautjs/node_modules/.pnpm/@thencc+any-wallet@0.2.5_algosdk@2.3.0/node_modules/@thencc/any-wallet/dist/index.cjs:1:33061
    at apply (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:69:19)
    at executeAction (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:50:16)
    at effectAction (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/api/autorun.ts:180:13)
    at Reaction.reactionRunner [as onInvalidate_] (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/api/autorun.ts:152:17)
    at Reaction.onInvalidate_ [as runReaction_] (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/reaction.ts:102:26)
    at runReaction_ (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/reaction.ts:265:35)
    at f (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/reaction.ts:235:56)
    at reactionScheduler (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/reaction.ts:242:5)
    at runReactions (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/observable.ts:112:9)
    at endBatch (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:142:5)
    at _endAction (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:74:9)
    at K.executeAction (algonautjs/node_modules/.pnpm/mobx@6.10.0/node_modules/mobx/src/core/action.ts:50:16)
    at o.connect (algonautjs/node_modules/.pnpm/@thencc+any-wallet@0.2.5_algosdk@2.3.0/node_modules/@thencc/any-wallet/dist/index.cjs:1:26516)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Algonaut.connectWallet (algonautjs/node_modules/.pnpm/@thencc+any-wallet@0.2.5_algosdk@2.3.0/node_modules/@thencc/any-wallet/dist/index.cjs:1:31404)
    at Object.<anonymous> (algonautjs/tests/algonaut.test.ts:261:4)

The problem is the use of CustomEvent, which is not supported in Node.js environments.

enceladus commented 10 months ago

It looks like any-wallet is doing an isBrowser() check which must be failing with Jest.