ReviewOS

also looking at this

stacks/besting

chore(deps): update all non-major dependencies

#737
Open renovate[bot] wants to merge renovate/all-minor-patch into main
4 files +76 -226
8 days ago

This PR contains the following updates:

PackageChangeAgeAdoptionPassingConfidenceTypeUpdate
@stacksjs/bunpress (source)^0.2.11 → ^0.2.31ageadoptionpassingconfidencedevDependenciespatch
@stacksjs/clapp^0.2.0 → ^0.2.16ageadoptionpassingconfidencedevDependenciespatch
better-dx^0.2.15 → ^0.2.38ageadoptionpassingconfidencedevDependenciespatch
bunfig^0.15.0 → ^0.15.21ageadoptionpassingconfidencedevDependenciespatch
stacksjs/action-releaserv1.2.9 → v1.2.11ageadoptionpassingconfidenceactionpatch
very-happy-dom^0.1.4 → ^0.4.1ageadoptionpassingconfidencedependenciesminor

Release Notes

stacksjs/bunpress (@​stacksjs/bunpress)

v0.2.31

Compare Source

v0.2.30

Compare Source

v0.2.29

Compare Source

v0.2.28

Compare Source

v0.2.27

Compare Source

v0.2.26

Compare Source

v0.2.25

Compare Source

v0.2.24

Compare Source

v0.2.23

Compare Source

v0.2.22

Compare Source

v0.2.21

Compare Source

v0.2.20

Compare Source

v0.2.19

Compare Source

v0.2.18

Compare Source

v0.2.17

Compare Source

v0.2.16

Compare Source

v0.2.15

Compare Source

v0.2.14

Compare Source

v0.2.13

Compare Source

v0.2.12

Compare Source

stacksjs/clapp (@​stacksjs/clapp)

v0.2.16

Compare Source

v0.2.15

Compare Source

v0.2.14

Compare Source

v0.2.13

Compare Source

v0.2.12

Compare Source

v0.2.11

Compare Source

v0.2.10

Compare Source

v0.2.9

Compare Source

v0.2.8

Compare Source

v0.2.7

Compare Source

v0.2.6

Compare Source

v0.2.5

Compare Source

v0.2.4

Compare Source

v0.2.3

Compare Source

stacksjs/better-dx (better-dx)

v0.2.38

Compare Source

v0.2.37

Compare Source

v0.2.36

Compare Source

v0.2.35

Compare Source

v0.2.34

Compare Source

v0.2.33

Compare Source

v0.2.32

Compare Source

v0.2.31

Compare Source

v0.2.30

Compare Source

v0.2.29

Compare Source

v0.2.28

Compare Source

v0.2.27

Compare Source

v0.2.26

Compare Source

v0.2.25

Compare Source

v0.2.24

Compare Source

v0.2.23

Compare Source

v0.2.22

Compare Source

v0.2.21

Compare Source

v0.2.20

Compare Source

v0.2.19

Compare Source

v0.2.18

Compare Source

v0.2.17

Compare Source

v0.2.16

Compare Source

stacksjs/bunfig (bunfig)

v0.15.21

Compare Source

v0.15.20

Compare Source

v0.15.19

Compare Source

v0.15.18

Compare Source

v0.15.17

Compare Source

v0.15.16

Compare Source

v0.15.15

Compare Source

v0.15.14

Compare Source

v0.15.13

Compare Source

v0.15.12

Compare Source

v0.15.11

Compare Source

v0.15.10

Compare Source

v0.15.9

Compare Source

v0.15.8

Compare Source

v0.15.7

Compare Source

v0.15.6

Compare Source

No significant changes

    View changes on GitHub

v0.15.5

Compare Source

No significant changes

    View changes on GitHub

v0.15.4

Compare Source

No significant changes

    View changes on GitHub

v0.15.3

Compare Source

No significant changes

    View changes on GitHub

v0.15.2

Compare Source

No significant changes

    View changes on GitHub

v0.15.1

Compare Source

No significant changes

    View changes on GitHub
stacksjs/action-releaser

v1.2.11

Compare Source

Compare changes

🐛 Bug Fixes

  • release: publish GitHub action directly (0cf36bd) (by Chris <chrisbreuer93@>​gmail.com>)

🧹 Chores

  • release v1.2.11 (fe1e8d5) (by Chris <chrisbreuer93@>​gmail.com>)

Contributors

  • Chris <chrisbreuer93@>​gmail.com>

v1.2.10

Compare Source

stacksjs/very-happy-dom (very-happy-dom)

v0.4.1

Compare Source

v0.4.0

Compare Source

This release gives very-happy-dom a layout pass. Boxes have positions now, where getBoundingClientRect() previously reported a size at (0, 0) for everything — so overlap, ordering, hit testing and is-this-above-the-fold are answerable, and text is measured with real font metrics rather than a flat estimate.

Everything below was checked against Chrome by serving the same markup to a real browser and diffing the rects: 122 measurements over eight pages, with the structural ones exact.

  • Normal flow. Block boxes stack and fill their containing block; inline and inline-block boxes flow along a line, shrink to fit and wrap. box-sizing, margins, padding, borders, min/max sizes and percentages are all modelled, as are position: relative and absolute/fixed against the nearest positioned ancestor.
  • Flexbox. Both axes and both reverses, wrapping including wrap-reverse, justify-content, align-items, align-content, align-self, flex-grow/shrink/basis, gap, order, auto margins, and align-items: baseline.
  • Grid. Track lists with fr, auto, minmax() and repeat(auto-fill, ...), named areas, implicit tracks, grid-auto-flow including dense, placement by line number or span, and the justify-* and align-* family for both tracks and items.
  • Margin collapsing, including a first or last child's margin escaping its parent and an empty box collapsing through entirely.
  • Real font metrics. Per-glyph advance widths and kerning pairs for serif, sans-serif and monospace at both weights, which agree with Chrome to within a tenth of a percent. Text was measured at a flat half the font size per character before, which was out by up to 50% either way.
  • CSS plumbing the above needed. Shorthands expand into their longhands, font-size and line-height inherit, and em, rem, the viewport units, calc(), min(), max() and clamp() all resolve.
  • toBeInViewport, which could not be written while every box sat at the origin.

These are the reads whose values change. Each was wrong before rather than merely absent, so a test asserting the old value was asserting a placeholder.

beforenow
getBoundingClientRect().x / .yalways 0the box's real position
offsetWidth on an unsized block0its containing block's width
offsetTop / offsetLeftalways 0measured from offsetParent
offsetParentparentElementnearest positioned ancestor
elementFromPoint()always bodythe element at the point
scrollWidth / scrollHeightalways 0the content's extent
getClientRects()always emptyone box per rendered element
IntersectionObserver entriesa fixed 100x100 rectmeasured geometry
an inline-block's ytop of its lineon the text baseline
a text-driven widthlength x font-size x 0.5real advances and kerning

A declared size is still reported for an element outside a document, so a test that measures something it never appended keeps working.

A font outside the three generic families is measured as the family it falls back to, so a page in Inter is measured as Arial, and a character outside ASCII takes the family's average advance. A line's baseline comes from an estimated ascent, within about a third of a pixel. There is no user-agent stylesheet, so body starts at (0, 0) rather than a browser's 8px inset. An item spanning several grid tracks does not contribute to those tracks' sizes, and named grid lines are not resolved. Floats, transform, z-index ordering and intrinsic image sizes are absent.

The compatibility guide has the full table.

v0.3.6

Compare Source

  • dom: clone constructs custom elements; template content is inert (6475fcb) (by Chris <chrisbreuer93@>​gmail.com>)

v0.3.5

Compare Source

Fixes a parser failure on framework markup. @click="tap()" was not a name the attribute scanner accepted, so it stopped at the @, abandoned the whole tag, and emitted @click="tap()">Go as text:

<button @click="tap()">Go</button>
textContent was '@click="tap()">Go'   -- the <button> was gone

A page of Alpine, Vue or stx markup came through as visible attribute soup with its elements missing. Found by reading a real application's served HTML, where innerText returned a wall of @click and x-class strings where the copy should have been.

The spec allows almost any character in an attribute name, which is why these work in a browser with no build step. @click, #slot, :aria-pressed, x-cloak and v-on:click are all attributes now. A nameless position steps forward rather than breaking out of the attribute loop, so a stray character cannot silently truncate a tag's attributes either.

v0.3.4

Compare Source

Two more fixes found by pointing the library at a real application's served HTML. Neither needs anything exotic — a social meta tag and a lang attribute are on essentially every page on the web.

meta[property="og:title"] threw Unsupported pseudo-class: ":title". The pseudo-class scan read the raw selector including the inside of [...], so a colon in a quoted attribute value was taken as the start of a pseudo-class. Every og: meta selector failed, as did any value holding a URL or a time. Quoted content is masked before the scan now, which leaves :not([property="og:x"]) working.

setContent silently dropped every attribute on <html>. An innerHTML assignment cannot set them and nothing carried them across, so lang was lost — a test asserting the page declares a language failed against a page that declares one. A fragment that says nothing about <html> leaves the existing attributes alone.

v0.3.3

Compare Source

Fixes a crash on valid HTML. A < that cannot open a tag is now text, as it is in a browser.

<p>a &lt; b</p>        threw `Invalid tag name` — a document containing a
                       comparison could not be parsed at all
<p>a &lt;1 b</p>       parsed, but reported "a " — the `<1` was read as a tag
                       and the rest of the line silently discarded

Found by pointing the parser at a real application's served HTML and delta-minimising the 634KB page that crashed it down to a fragment of a template expression: rating() < 1 || submitting(). Markup like that is ordinary — a comparison inside an attribute expression, a price, "<3" — and no fixture in the test suite had ever contained one.

<! that is neither a comment nor a DOCTYPE, <?, and a nameless </> are also text now, rather than the bogus comments a browser would make of them. That is a deliberate narrowing: text can neither crash nor discard content, which are the two failures that matter.

v0.3.2

Compare Source

A second type-only fix. 0.3.0 and 0.3.1 both ship a declaration graph that does not resolve: dist/screenshot/webview.d.ts was never written, while capture.d.ts imports three types from it and the entry point re-exports capture. So every consumer who typechecks fails, not only those touching dialogs:

dist/screenshot/capture.d.ts(3,111): error TS2307: Cannot find module './webview'

Runtime behaviour was never affected — dist/*.js has been correct throughout. Upgrade from 0.3.0 or 0.3.1 if you use TypeScript. There is nothing else here.

0.3.1 added a guard that typechecks a consumer file against the built package. It filtered to TS1xxx syntax errors, and a module that was never written is a resolution error, so it passed while this was broken.

It now fails on any error naming a file under the package's own dist/, whatever the code, and is verified against three shapes: the missing declaration, 0.3.0's malformed Dialog comment verbatim, and a dangling type reference.

Five earlier versions of that filter each passed while something was broken, which is the thing worth knowing: a guard that matches nothing looks exactly like a guard that found nothing. skipLibCheck: true skips the very files being checked; a lone .d.ts reports unresolved imports for every file; a file argument beside a tsconfig raises TS5112 and exits 0 without checking; an absolute path match fails because tsc reports relative; an unanchored dist/ match catches every node_modules/x/dist in the tree.

v0.3.1

Compare Source

compare changes

🚀 Enhancements
❤️ Contributors
  • Chris <chrisbreuer93@>​gmail.com>

v0.3.0

Compare Source

compare changes

🏡 Chore
❤️ Contributors
  • Chris <chrisbreuer93@>​gmail.com>

v0.2.0

Compare Source

compare changes

🏡 Chore
❤️ Contributors
  • Chris <chrisbreuer93@>​gmail.com>

v0.1.12

Compare Source

v0.1.11

Compare Source

v0.1.10

Compare Source

v0.1.9

Compare Source

v0.1.8

Compare Source

v0.1.7

Compare Source

v0.1.6: very-happy-dom v0.1.6

Compare Source

Patch release with complete custom-element upgrade semantics, Shadow DOM slot assignment and slotchange behavior, plus deterministic WebSocket connection-failure handling. The attached package is the same npm-compatible artifact produced by the repository release build.


Configuration

📅 Schedule: (UTC)

  • 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

4 changed files on the files tab, with 0 review threads.

Sign in to comment on this pull request.