Closed aarongoldenthal closed 6 months ago
Thanks @danyalaytekin. I remembered you had looked at a similar flaky test on Mac issues before, but couldn't remember exactly where that was.
I reverted globby
back to 6.1.0 to avoid the behavioral change, but I left the description so those details weren't lost. I don't know of a driver other than trying to update where possible to keep current.
This PR updates
pa11y
to 7.0.0, and all other dependencies to the latest supported, applicable versions (not the pure ESM only updates). It also updates the Node versions in the package and GitHub actions.Dependencies
async
from 2.6.4 to 3.2.5, requiring a minor code change.cheerio
from 1.0.0-rc.10 to 1.0.0-rc.12.commander
from 6.2.1 to 11.1.0 (to matchpa11y
7.0.0, not the latest), requiring a minor code change.globby
from 6.1.0 to 11.1.0 (all subsequent versions through 14.0.0 are pure ESM only, but it appears security fixes for 11.x are still being made).fast-glob
package, which does not have an equivalentnonull
capability, so updates were needed. With these changes, a mix of glob and non-glob arguments will only return the glob results (or the non-glob if no results). For example,pa11y-ci **/*.html google.com
will only return the glob results (not google.com). All arguments are passed toglobby
to ensure cases likepa11y-ci **/*.html !foo.html
return the correct results.nonull
was not found. Evenglob
, which was the previous engine forglobby
, has removed it.globule
does appear to have that option, but hasn't had a commit in a year, so it seemed unmaintained.is-glob
to check each arg, split the collection, runglobby
on the globs, and add back the non-globs. One, seems unnecessarily complex. Two, files (likeindex.html
) are considered not globs, so if they matched a glob would produce a duplicate (so, would need to filter out duplicates adding more complexity).kleur
from 4.1.4 to 4.1.5.node-fetch
to from 2.6.0 to 2.7.0 (all versions after 2.7.0 are pure ESM only).fetch
API is not stable until Node 21 (per the docs). This is only used to fetch sitemaps, but I held off since the LTS releases are still not stable.pa11y
from 6.2.3 to 7.0.0.puppeteer
from 9.1.1 to^20.9.0
(to matchpa11y
7.0.0, not the latest, and includes minor updates)puppeteer
now outputs to stderr a warning aboutheadless: true
soon usingnew
as the default. Several tests used the consoleoutput
, which is a combination of bothstdout
andstderr
, so they were updated to checkstdout
only.ERROR: The process "xxxx" not found.
messages in stderr, so changedprocess.exit()
calls to settingprocess.exitCode
to allow a graceful exit here.Dev Dependencies
eslint
from 7.27.0 to 8.56.0.mocha
from 8.4.0 to 10.3.0.sinon
from 11.1.0 to 17.0.1.Other changes
engines:node
to>=18
(matchingpa11y
7.0.0).pa11y
7.0.0) and unpinned Ubuntu version.keywords
topackage.json
to help with discoverability (was empty, now matchespa11y
).Notes
protocolify
was not updated since all updates are pure ESM only.proclaim
and some of its dependencies are deprecated, but it seemed like broader test updates would make more sense as part of the effort to move pa11y-ci functionality into pa11y, which already moved to jest.Will close (once released) #198