#84 - Fix the TypeScript types in some situations.
v4.0.1
#79 - Added missing request accessor to the FDBCursor object. Thank you @mmacfadden for the PR!
v4.0.0
TLDR: Most users can upgrade without doing any extra work, but you might need to change require("fake-indexeddb") to require("fake-indexeddb").default. All other ways of importing fake-indexeddb (such as with import, or requiring sub-modules like require("fake-indexeddb/auto") or require("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 import or require and 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 do const indexedDB = require("fake-indexeddb"); for the main indexedDB variable and const 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:
import { indexedDB, IDBKeyRange } from "fake-indexeddb";
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. indexedDB is 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 like require("fake-indexeddb") to require("fake-indexeddb").default. Or switch to ES modules and import it :)
Breaking change: Dropped support for versions of Node.js older than Node 12.
Breaking change: For environments with a built-in structuredClone function (such as Node.js 17+), that is used rather than the realistic-structured-clone NPM 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.
v3.1.8
#74 - Fixed error when adding undefined or null children in indexed objects, by @lukebrody
#84 - Fix the TypeScript types in some situations.
4.0.1 (2022-11-29)
#79 - Added missing request accessor to the FDBCursor object. Thank you @mmacfadden for the PR!
4.0.0 (2022-07-02)
TLDR: Most users can upgrade without doing any extra work, but you might need to change require("fake-indexeddb") to require("fake-indexeddb").default. All other ways of importing fake-indexeddb (such as with import, or requiring sub-modules like require("fake-indexeddb/auto") or require("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 import or require and 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 do const indexedDB = require("fake-indexeddb"); for the main indexedDB variable and const 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:
import { indexedDB, IDBKeyRange } from "fake-indexeddb";
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. indexedDB is 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 like require("fake-indexeddb") to require("fake-indexeddb").default. Or switch to ES modules and import it :)
Breaking change: Dropped support for versions of Node.js older than Node 12.
Breaking change: For environments with a built-in structuredClone function (such as Node.js 17+), that is used rather than the realistic-structured-clone NPM 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.
3.1.8 (2022-06-08)
#74 - Fixed error when adding undefined or null children in indexed objects, by @lukebrody
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Commit-Lint commands
You can trigger Commit-Lint actions by commenting on this PR:
- `@Commit-Lint merge patch` will merge dependabot PR on "patch" versions (X.X.Y - Y change)
- `@Commit-Lint merge minor` will merge dependabot PR on "minor" versions (X.Y.Y - Y change)
- `@Commit-Lint merge major` will merge dependabot PR on "major" versions (Y.Y.Y - Y change)
- `@Commit-Lint merge disable` will desactivate merge dependabot PR
- `@Commit-Lint review` will approve dependabot PR
- `@Commit-Lint stop review` will stop approve dependabot PR
Bumps fake-indexeddb from 3.1.7 to 4.0.2.
Release notes
Sourced from fake-indexeddb's releases.
Changelog
Sourced from fake-indexeddb's changelog.
Commits
92256e5
4.0.2372c7fe
Changelogb63520c
More explicit types6963357
Remove obsolete entry7b5e263
Merge pull request #80 from homura/patch-142353b1
Update README.md8deda8a
docs: Import auto first to work with Dexiea92a72d
4.0.1d4583bc
Changelog4eb61f2
Merge pull request #79 from mmacfadden/masterDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)