jQuery の DOM とは関係のない Deferred の動きを確認するために jQuery を Node.js で動かしたかったのだけど、下記によるとそういう場合でも window オブジェクトが必要とのこと。
ただ、この通りにやってもなんか動きませんでした。
下記のどちらかで動かせられました。
jsdom
yarn add jquery jsdom
const { JSDOM } = require('jsdom')
const $ = require('jquery')(new JSDOM().window)
$.Deferred().resolve(1).promise()
.then((v) => { console.log(v) })
jsdom-no-contextify
yarn add jquery jsdom-no-contextify
const $ = require('jquery')(require('jsdom-no-contextify').jsdom().parentWindow)
$.Deferred().resolve(1).promise()
.then((v) => { console.log(v) })