-
-
Notifications
You must be signed in to change notification settings - Fork 2
Update dependency fake-indexeddb to v6 #3016
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
Conversation
8a261ee to
57b248c
Compare
57b248c to
b91d76c
Compare
b91d76c to
5aa3b31
Compare
27540c3 to
f074a7a
Compare
f074a7a to
265d9c2
Compare
538ec9d to
cca431c
Compare
|
@copilot please take over this PR. The package has been updated, but we need to look at the breaking changes since v3 and see how the API has evolved. Currently, on this branch, the Jest tests are failing. Below are the release notes for all of the in-between versions:
|
|
@hawkrives I've opened a new pull request, #3069, to work on those changes. Once the pull request is ready, I'll request review from you. |
cca431c to
8bf85b7
Compare
This PR contains the following updates:
3.1.8→6.2.5Release Notes
dumbmatter/fakeIndexedDB (fake-indexeddb)
v6.2.5Compare Source
Add support for
handleEventandcaptureto improveEventcompatibility (#162 by @nolanlawson)Improve handling some edge cases related transaction timing (#165, #168 by @nolanlawson)
More testing infrastructure improvements (#164, #166 by @nolanlawson)
v6.2.4Compare Source
Several small bug fixes to more correctly handle various edge cases and increase the number of passing tests from the Web Platform Tests (#147, #155, #157 by @dumbmatter; #156, #158, #159, #160 by @nolanlawson)
Improvements to testing infrastructure, allowing more Web Platform Tests to run (#148 by @dumbmatter; #150, #151, #152, #153, #154 by @nolanlawson)
Automated and updated the Web Platform Tests comparison table in the README (#161 by @nolanlawson)
v6.2.3Compare Source
v6.2.2Compare Source
indexedDBvariable created byfake-indexeddb/auto(such as withindexedDB = new IDBFactory();) was no longer working (#135 by @nolanlawson)v6.2.1Compare Source
IDBDatabasevariable created by a CommonJS require offake-indexeddb/auto, which was broken in v6.2.0 (#131 by @nolanlawson)v6.2.0Compare Source
indexedDBvariable created byfake-indexeddb/auto(such as withindexedDB = new IDBFactory();) was no longer working (#135 by @nolanlawson)v6.1.0Compare Source
Added support for new IndexedDB features: querying keys and values at the same time with
getAllRecords, and passing a descending direction intogetAll/getAllKeys. (#112 by @nolanlawson)Better DOMStringList polyfill that doesn't include various inappropriate array methods. (#66 by @dumbmatter)
Updated the Web Platform Tests from 2019 to 2025 which improved test coverage and uncovered a few minor bugs that were fixed. (#117 by @nolanlawson)
v6.0.1Compare Source
v6.0.0Compare Source
I made this a new major version because it includes a few changes that could in theory break something in some weird situations. But I think the vast majority of users (possibly all users?) won't have any issue upgrading.
#48 - Switched to using
DOMExceptionerrors rather than normal errors, since that's what the IndexedDB spec says to use, and Node.js now has a built-in DOMException in all supported versions.#93 - @bryan-codaio made the latest tweak to event scheduling, this time improving how
setImmediateis used in some situations where people are mocking timers.#99 - @sjnho fixed handling of
Dateobjects to account for some edge cases, including jsdom overriding the nativeDateconstructor.v5.0.2Compare Source
IDBObjectStore.countandIDBIndex.count.v5.0.1Compare Source
#89 - Fixed bug where ArrayBuffer views were not being correctly handled when used as keys.
#88 - Added explanation to README.md about how to use fake-indexeddb v5+ with jsdom, since a
structuredClonepolyfill is not included anymore.v5.0.0Compare Source
structuredClonepolyfill, which reduces the package size by roughly 50%.v4.0.2Compare Source
v4.0.1Compare Source
requestaccessor to theFDBCursorobject. Thank you @mmacfadden for the PR!v4.0.0Compare Source
TLDR: Most users can upgrade without doing any extra work, but you might need to change
require("fake-indexeddb")torequire("fake-indexeddb").default. All other ways of importing fake-indexeddb (such as withimport, or requiring sub-modules likerequire("fake-indexeddb/auto")orrequire("fake-indexeddb/lib/FDBKeyRange")) should continue working like normal.Details:
#23 - TypeScript support! As of version 4, fake-indexeddb includes TypeScript types. As you can see in types.d.ts, it's just using TypeScript's built-in IndexedDB types, rather than generating types from the fake-indexeddb code base. The reason I did this is for compatibility with your application code that may already be using TypeScript's IndexedDB types, so if I used something different for fake-indexeddb, it could lead to spurious type errors. In theory this could lead to other errors if there are differences between Typescript's IndexedDB types and fake-indexeddb's API, but currently I'm not aware of any difference.
Added support for ES modules in addition to CommonJS modules. That means you can
importorrequireand it should just work.Breaking change: The easiest way to use this module is still to import/require
"fake-indexeddb/auto". If instead you want to import an individual variable rather than populate the global scope with all of them, previously you would doconst indexedDB = require("fake-indexeddb");for the mainindexedDBvariable andconst IDBKeyRange = require("fake-indexeddb/lib/FDBKeyRange");for any of the other IndexedDB variables. In this release, I made everything a named export of the main package, so you can do:or
For backwards compatibility, the
require("fake-indexeddb/lib/FDBKeyRange")syntax still is supported, but the new exports of the main module are a breaking change.indexedDBis still the default export, but in CommonJS you can't have both default and named exports, so the default export is really just an property named"default". This may requrie changing requires of the root module likerequire("fake-indexeddb")torequire("fake-indexeddb").default. Or switch to ES modules andimportit :)Breaking change: Dropped support for versions of Node.js older than Node 12.
Breaking change: For environments with a built-in
structuredClonefunction (such as Node.js 17+), that is used rather than therealistic-structured-cloneNPM module. There are some differences between the two implementations of the structured cloning algorithm, but probably nothing noticable, and probably all is in the direction of better spec compliance such as this or this. There is also a minor performance increase with the built-in function - the test suite of fake-indexeddb runs about 5% faster.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.