Skip to content

Commit

Permalink
Merge pull request #25 from Sv443-Network/changeset-release/main
Browse files Browse the repository at this point in the history
Sv443 authored Nov 12, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents cc80c3e + 38002d7 commit 375e8a1
Showing 7 changed files with 35 additions and 41 deletions.
10 changes: 0 additions & 10 deletions .changeset/curvy-needles-obey.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fifty-students-talk.md

This file was deleted.

15 changes: 0 additions & 15 deletions .changeset/hot-wolves-jog.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/khaki-cobras-bathe.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/tender-zoos-fix.md

This file was deleted.

34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# @sv443-network/userutils

## 3.0.0

### Major Changes

- 1859022: `onSelector()` has been turned into the `SelectorObserver` class to reduce the performance impact on larger sites:

- its instances can be scoped to any element lower in the DOM tree, unlike before where it was always observing the entire body with all its children
- separate instances can be disabled and reenabled individually on demand
- separate instances can have different MutationObserver options set to further reduce performance impact
- the separation into instances allows for a new "chaining" paradigm where selector listeners are only added and checked for once they are actually needed (see examples in the documentation)
- when using chaining, separate instances can be created and have listeners added to them before their base element is available in the DOM tree
- every listener can have a set debounce time, so that it doesn't get called too often (works the same as the [`debounce()` function](https://github.com/Sv443-Network/UserUtils/blob/main/README.md#debounce), but is disabled by default)
- there are now multiple methods to get and delete specific listeners

The `SelectorObserver.addListener()` method is backwards compatible with the old `onSelector()` function, so you can just add the class instance in front (for full backwards compat use `document.body` for the `baseElement` parameter of the constructor), then change the old function's name and it should work as before.
For more info and examples, please view the [SelectorObserver documentation](https://github.com/Sv443-Network/UserUtils/blob/main/README.md#selectorobserver)

### Minor Changes

- 0db73b5: Removed the limiter (DynamicsCompressorNode) from `amplifyMedia()` for clear and undistorted audio.

**Notable changes:**

- The property `source` has been renamed to `sourceNode` to fit the naming of the `gainNode` property
- A boolean property `enabled` has been added to check if the amplification is enabled or not
- The parameter `initialMultiplier` has been renamed to `initialGain` to reduce confusion (it is not a multiplier strictly speaking)

- 736784f: Added function `randomId()` to randomly generate cryptographically strong hexadecimal IDs
- 563e515: Added utility type `NonEmptyArray` for typing an array with at least 1 item

### Patch Changes

- a123da6: Added `@linkcode` references to the JSDoc in-IDE documentation

## 2.0.1

### Patch Changes
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sv443-network/userutils",
"version": "2.0.1",
"version": "3.0.0",
"description": "Library with various utilities for userscripts - register listeners for when CSS selectors exist, intercept events, manage persistent user configurations, modify the DOM more easily and more",
"main": "dist/index.js",
"module": "dist/index.mjs",

0 comments on commit 375e8a1

Please sign in to comment.