Skip to content

Commit

Permalink
Bump the all-dependencies group with 3 updates (#408)
Browse files Browse the repository at this point in the history
* Bump the all-dependencies group with 3 updates

Bumps the all-dependencies group with 3 updates: [@mdn/browser-compat-data](https://github.com/mdn/browser-compat-data), [semver](https://github.com/npm/node-semver) and [web-features](https://github.com/web-platform-dx/web-features).


Updates `@mdn/browser-compat-data` from 5.5.39 to 5.5.40
- [Release notes](https://github.com/mdn/browser-compat-data/releases)
- [Changelog](https://github.com/mdn/browser-compat-data/blob/main/RELEASE_NOTES.md)
- [Commits](mdn/browser-compat-data@v5.5.39...v5.5.40)

Updates `semver` from 7.6.2 to 7.6.3
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](npm/node-semver@v7.6.2...v7.6.3)

Updates `web-features` from 0.10.0 to 1.0.0
- [Release notes](https://github.com/web-platform-dx/web-features/releases)
- [Commits](web-platform-dx/web-features@v0.10.0...v1.0.0)

---
updated-dependencies:
- dependency-name: "@mdn/browser-compat-data"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: semver
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-dependencies
- dependency-name: web-features
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* refine the interop algorithm

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Romain Menke <romainmenke@gmail.com>
  • Loading branch information
dependabot[bot] and romainmenke committed Jul 22, 2024
1 parent e34f5f2 commit 579ff53
Show file tree
Hide file tree
Showing 8 changed files with 104 additions and 57 deletions.
13 changes: 5 additions & 8 deletions cssdb.json
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/clamp"
},
"example": "button {\n font-size: clamp(1rem, 2.5vw, 2rem);\n}",
"interoperable_at": 1586217600,
"interoperable_at": 1595894400,
"polyfills": [
{
"type": "PostCSS Plugin",
Expand Down Expand Up @@ -1382,7 +1382,6 @@
"chrome": "118",
"edge": "118",
"firefox": "63",
"ios_saf": "16",
"op_mob": "79",
"opera": "104",
"safari": "16",
Expand All @@ -1392,14 +1391,13 @@
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/resize"
},
"example": "area {\n resize: inline;\n}",
"interoperable_at": 1697155200,
"polyfills": [
{
"type": "PostCSS Plugin",
"link": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize"
}
],
"vendors_implementations": 3
"vendors_implementations": 2
},
{
"id": "logical-viewport-units",
Expand Down Expand Up @@ -1652,7 +1650,7 @@
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/opacity"
},
"example": "img {\n opacity: 90%;\n}",
"interoperable_at": 1585008000,
"interoperable_at": 1595894400,
"polyfills": [
{
"type": "PostCSS Plugin",
Expand Down Expand Up @@ -1750,8 +1748,7 @@
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior"
},
"example": ".messages {\n height: 220px;\n overflow: auto;\n overscroll-behavior-y: contain;\n}\n\nbody {\n margin: 0;\n overscroll-behavior: none;\n}",
"interoperable_at": 1662940800,
"vendors_implementations": 3
"vendors_implementations": 2
},
{
"id": "place-properties",
Expand Down Expand Up @@ -1874,7 +1871,7 @@
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only"
},
"example": "input:read-only {\n background-color: #ccc;\n}",
"interoperable_at": 1593475200,
"interoperable_at": 1595894400,
"vendors_implementations": 3,
"web-feature": "read-write-pseudos"
},
Expand Down
13 changes: 5 additions & 8 deletions cssdb.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ export default [
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/clamp"
},
"example": "button {\n font-size: clamp(1rem, 2.5vw, 2rem);\n}",
"interoperable_at": 1586217600,
"interoperable_at": 1595894400,
"polyfills": [
{
"type": "PostCSS Plugin",
Expand Down Expand Up @@ -1382,7 +1382,6 @@ export default [
"chrome": "118",
"edge": "118",
"firefox": "63",
"ios_saf": "16",
"op_mob": "79",
"opera": "104",
"safari": "16",
Expand All @@ -1392,14 +1391,13 @@ export default [
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/resize"
},
"example": "area {\n resize: inline;\n}",
"interoperable_at": 1697155200,
"polyfills": [
{
"type": "PostCSS Plugin",
"link": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-logical-resize"
}
],
"vendors_implementations": 3
"vendors_implementations": 2
},
{
"id": "logical-viewport-units",
Expand Down Expand Up @@ -1652,7 +1650,7 @@ export default [
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/opacity"
},
"example": "img {\n opacity: 90%;\n}",
"interoperable_at": 1585008000,
"interoperable_at": 1595894400,
"polyfills": [
{
"type": "PostCSS Plugin",
Expand Down Expand Up @@ -1750,8 +1748,7 @@ export default [
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior"
},
"example": ".messages {\n height: 220px;\n overflow: auto;\n overscroll-behavior-y: contain;\n}\n\nbody {\n margin: 0;\n overscroll-behavior: none;\n}",
"interoperable_at": 1662940800,
"vendors_implementations": 3
"vendors_implementations": 2
},
{
"id": "place-properties",
Expand Down Expand Up @@ -1874,7 +1871,7 @@ export default [
"mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only"
},
"example": "input:read-only {\n background-color: #ccc;\n}",
"interoperable_at": 1593475200,
"interoperable_at": 1595894400,
"vendors_implementations": 3,
"web-feature": "read-write-pseudos"
},
Expand Down
42 changes: 21 additions & 21 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,17 @@
"test:doc-links": "node tasks/check-doc-links.mjs"
},
"devDependencies": {
"@mdn/browser-compat-data": "^5.5.39",
"@mdn/browser-compat-data": "^5.5.40",
"browserslist": "^4.23.2",
"glob": "^11.0.0",
"lodash.get": "^4.4.2",
"postcss": "^8.4.39",
"postcss-cli": "^11.0.0",
"postcss-preset-env": "^9.6.0",
"semver": "^7.6.0",
"semver": "^7.6.3",
"stylelint": "^16.7.0",
"stylelint-config-standard": "^36.0.1",
"web-features": "^0.10.0"
"web-features": "^1.0.0"
},
"stylelint": {
"extends": "stylelint-config-standard",
Expand Down
16 changes: 9 additions & 7 deletions utils/baseline-data.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { BrowserslistToMDN } from "./mdn-to-browserslist.mjs";
import { releaseDateForBrowserVersion } from "./release-date-for-browser-version.mjs";
import { scanForNextBrowserVersionWithReleaseDate } from "./scan-for-next-browser-version.mjs";

const baselineEngines = {
blink: [
Expand Down Expand Up @@ -40,25 +42,25 @@ export function baselineData(feature) {
let latestReleaseDate;

for (const engine in baselineEngines) {
let engineIsSupported = false;
for (const browser of engines[engine]) {
const releaseDate = releaseDateForBrowserVersion(browser, feature.browser_support[browser]);
let supportedBrowsers = 0;
const browsersInEngine = engines[engine];
for (const browser of browsersInEngine) {
const releaseDate = scanForNextBrowserVersionWithReleaseDate(BrowserslistToMDN(browser), feature.browser_support[browser], releaseDateForBrowserVersion);
if (!releaseDate) {
continue;
}

engineIsSupported = true;
break;
supportedBrowsers++;
}

if (engineIsSupported) {
if (supportedBrowsers === browsersInEngine.length) {
supportedEngines++;
}
}

for (const engine in engines) {
for (const browser of engines[engine]) {
const releaseDate = releaseDateForBrowserVersion(browser, feature.browser_support[browser]);
const releaseDate = scanForNextBrowserVersionWithReleaseDate(BrowserslistToMDN(browser), feature.browser_support[browser], releaseDateForBrowserVersion);
if (!releaseDate) {
continue;
}
Expand Down
25 changes: 25 additions & 0 deletions utils/mdn-to-browserslist.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
export const MDNToBrowserlistMap = {
chrome_android: 'and_chr',
safari_ios: 'ios_saf',
firefox_android: 'and_ff',
opera_android: 'op_mob',
samsunginternet_android: 'samsung',
webview_android: 'android',
};

export function MDNToBrowserlist(browser) {
return MDNToBrowserlistMap[browser] || browser;
}

export const BrowserslistToMDNMap = {
and_chr: 'chrome_android',
ios_saf: 'safari_ios',
and_ff: 'firefox_android',
op_mob: 'opera_android',
samsung: 'samsunginternet_android',
android: 'webview_android',
};

export function BrowserslistToMDN(browser) {
return BrowserslistToMDNMap[browser] || browser;
}
34 changes: 34 additions & 0 deletions utils/scan-for-next-browser-version.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import bcd from '@mdn/browser-compat-data' assert { type: 'json' };
import semver from 'semver';

export function scanForNextBrowserVersionWithReleaseDate(browser, version, cb) {
if (!browser || !version) {
return;
}

{
const result = cb(browser, version);
if (result) {
return result;
}
}

const versionNames = Object.keys(bcd.browsers?.[browser]?.releases);
const thisVersion = semver.coerce(version);
const thisVersionOrLater = versionNames.find(v => {
return semver.gte(semver.coerce(v), thisVersion);
});
const thisVersionIndex = versionNames.indexOf(thisVersionOrLater);
if (thisVersionIndex === -1) {
return;
}

for (let i = 1; i < 10; i++) {
const result = cb(browser, version);
if (result) {
return result;
}

version = versionNames[thisVersionIndex + i];
}
}
12 changes: 2 additions & 10 deletions utils/supported-browsers-from-mdn.mjs
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
import bcd from '@mdn/browser-compat-data' assert { type: 'json' };
import _get from 'lodash.get';
import semver from 'semver';

const MDNToBrowserlist = {
chrome_android: 'and_chr',
safari_ios: 'ios_saf',
firefox_android: 'and_ff',
opera_android: 'op_mob',
samsunginternet_android: 'samsung',
webview_android: 'android',
};
import { MDNToBrowserlist } from './mdn-to-browserslist.mjs';

function getBrowsersFromFeature(mdnConfigPath, feature) {
const mdnFeature = _get(bcd, mdnConfigPath);
Expand Down Expand Up @@ -90,7 +82,7 @@ function getBrowsersFromFeature(mdnConfigPath, feature) {
version = version.substring(1);
}

const browser = MDNToBrowserlist[browserKey] || browserKey;
const browser = MDNToBrowserlist(browserKey);
result[browser] = version;
}
});
Expand Down

0 comments on commit 579ff53

Please sign in to comment.