From 0f02685410762988710ac48f69125a0c25221165 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 25 May 2025 23:45:45 +0000 Subject: [PATCH 1/2] Bump the all-dependencies group with 2 updates Bumps the all-dependencies group with 2 updates: [@mdn/browser-compat-data](https://github.com/mdn/browser-compat-data) and [web-features](https://github.com/web-platform-dx/web-features/tree/HEAD/packages/web-features). Updates `@mdn/browser-compat-data` from 6.0.15 to 6.0.17 - [Release notes](https://github.com/mdn/browser-compat-data/releases) - [Changelog](https://github.com/mdn/browser-compat-data/blob/main/RELEASE_NOTES.md) - [Commits](https://github.com/mdn/browser-compat-data/compare/v6.0.15...v6.0.17) Updates `web-features` from 2.35.1 to 2.35.3 - [Release notes](https://github.com/web-platform-dx/web-features/releases) - [Commits](https://github.com/web-platform-dx/web-features/commits/v2.35.3/packages/web-features) --- updated-dependencies: - dependency-name: "@mdn/browser-compat-data" dependency-version: 6.0.17 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: all-dependencies - dependency-name: web-features dependency-version: 2.35.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: all-dependencies ... Signed-off-by: dependabot[bot] --- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index fd6c998..db326ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ ], "license": "MIT-0", "devDependencies": { - "@mdn/browser-compat-data": "^6.0.15", + "@mdn/browser-compat-data": "^6.0.17", "browserslist": "^4.24.5", "glob": "^11.0.2", "lodash.get": "^4.4.2", @@ -29,7 +29,7 @@ "semver": "^7.7.2", "stylelint": "^16.19.1", "stylelint-config-standard": "^38.0.0", - "web-features": "^2.35.1" + "web-features": "^2.35.3" } }, "node_modules/@babel/code-frame": { @@ -1201,9 +1201,9 @@ } }, "node_modules/@mdn/browser-compat-data": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-6.0.15.tgz", - "integrity": "sha512-f5R+fOk6bFbjw6Pu/jDJC9SC3mYiYG+ok+t2cQqgvjKHhID/9WiisnhJFzqNSP+i/EAfaN5xrwuj4VHnZhHwxw==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-6.0.17.tgz", + "integrity": "sha512-yBMooSEtOoVz6vUP5OeGUnq4JBVMyE4vWsGalbrOLoGaXXNwA3YAE2mkgT4YPcOhGuPosSIk901PQI9pSMzgVg==", "dev": true, "license": "CC0-1.0" }, @@ -4364,9 +4364,9 @@ "license": "MIT" }, "node_modules/web-features": { - "version": "2.35.1", - "resolved": "https://registry.npmjs.org/web-features/-/web-features-2.35.1.tgz", - "integrity": "sha512-slw7r+4KFDfRDT276br5sE1vv0VlzcQL6Omep6buh8eCCmxnHeO3eHPyIid1hOIgL/g3NDyUfEXW8MHdtqEzzw==", + "version": "2.35.3", + "resolved": "https://registry.npmjs.org/web-features/-/web-features-2.35.3.tgz", + "integrity": "sha512-BKKN56q08Vrw0/sUz0bxWifNvsbfzw0JXrNyIR+rATRWj/+D+A7+zYDM5vHDmTnZaPwu9cNr1Sjhmp+GBxxnrA==", "dev": true, "license": "Apache-2.0" }, diff --git a/package.json b/package.json index 75dccfd..e7f8e17 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "test:doc-links": "node tasks/check-doc-links.mjs" }, "devDependencies": { - "@mdn/browser-compat-data": "^6.0.15", + "@mdn/browser-compat-data": "^6.0.17", "browserslist": "^4.24.5", "glob": "^11.0.2", "lodash.get": "^4.4.2", @@ -71,7 +71,7 @@ "semver": "^7.7.2", "stylelint": "^16.19.1", "stylelint-config-standard": "^38.0.0", - "web-features": "^2.35.1" + "web-features": "^2.35.3" }, "stylelint": { "extends": "stylelint-config-standard", From 2bc430c3e103d3c2a7618f297bb62861836fd75c Mon Sep 17 00:00:00 2001 From: Romain Menke Date: Mon, 26 May 2025 08:52:23 +0200 Subject: [PATCH 2/2] update --- CHANGELOG.md | 4 ++ cssdb.json | 6 +- cssdb.mjs | 6 +- cssdb.settings.json | 51 ++++++++++++---- package-lock.json | 85 ++++++++++++--------------- package.json | 3 +- tasks/check-doc-links.mjs | 1 - utils/apply-browser-overrides.mjs | 4 ++ utils/get.mjs | 36 ++++++++++++ utils/supported-browsers-from-mdn.mjs | 6 +- 10 files changed, 134 insertions(+), 68 deletions(-) create mode 100644 utils/get.mjs diff --git a/CHANGELOG.md b/CHANGELOG.md index 0203928..81a9c37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changes to cssdb +### 8.2.6 (May 26, 2025) + +- Updated `@mdn/browser-compat-data` to `6.0.17` + ### 8.2.5 (April 15, 2025) - Updated `@mdn/browser-compat-data` to `6.0.5` diff --git a/cssdb.json b/cssdb.json index 307d97c..0dfc16d 100644 --- a/cssdb.json +++ b/cssdb.json @@ -1485,7 +1485,11 @@ "edge": "110", "firefox": "78", "ios_saf": "16.4", - "safari": "16.4" + "op_mob": "74", + "opera": "96", + "safari": "16.4", + "samsung": "21.0", + "webview_ios": "16.4" }, "docs": { "mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/ratio" diff --git a/cssdb.mjs b/cssdb.mjs index 694f4f4..09d7059 100644 --- a/cssdb.mjs +++ b/cssdb.mjs @@ -1485,7 +1485,11 @@ export default [ "edge": "110", "firefox": "78", "ios_saf": "16.4", - "safari": "16.4" + "op_mob": "74", + "opera": "96", + "safari": "16.4", + "samsung": "21.0", + "webview_ios": "16.4" }, "docs": { "mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/ratio" diff --git a/cssdb.settings.json b/cssdb.settings.json index 59c79e7..5b7aec1 100644 --- a/cssdb.settings.json +++ b/cssdb.settings.json @@ -1108,34 +1108,59 @@ "browser_support": {}, "browser_support_overrides": { "and_chr": { - "from": null, + "from": "87", "to": "110", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" }, "android": { - "from": null, + "from": "87", "to": "110", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" }, "chrome": { - "from": null, + "from": "87", "to": "110", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" }, "edge": { - "from": null, + "from": "87", "to": "110", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" }, "ios_saf": { - "from": null, + "from": "14.5", + "to": "16.4", + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" + }, + "oculus": { + "from": "13.0", + "to": null, + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" + }, + "op_mob": { + "from": "62", + "to": "74", + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" + }, + "opera": { + "from": "73", + "to": "96", + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" + }, + "samsung": { + "from": "14.0", + "to": "21.0", + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" + }, + "webview_ios": { + "from": "14.5", "to": "16.4", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" }, "safari": { - "from": null, + "from": "14.1", "to": "16.4", - "bug": "https://github.com/mdn/browser-compat-data/issues/18198" + "bug": "https://github.com/mdn/browser-compat-data/issues/25034#issuecomment-2908617595" } }, "docs": { @@ -1414,7 +1439,7 @@ "mdn": "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only" }, "example": "input:read-only {\n background-color: #ccc;\n}", - "mdn_path": "css.selectors['read-only']" + "mdn_path": "css.selectors.read-only" }, { "id": "rebeccapurple-color", diff --git a/package-lock.json b/package-lock.json index db326ec..5b95a3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cssdb", - "version": "8.2.5", + "version": "8.2.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cssdb", - "version": "8.2.5", + "version": "8.2.6", "funding": [ { "type": "opencollective", @@ -22,7 +22,6 @@ "@mdn/browser-compat-data": "^6.0.17", "browserslist": "^4.24.5", "glob": "^11.0.2", - "lodash.get": "^4.4.2", "postcss": "^8.5.3", "postcss-cli": "^11.0.1", "postcss-preset-env": "^10.1.6", @@ -1493,14 +1492,14 @@ } }, "node_modules/cacheable": { - "version": "1.8.10", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.10.tgz", - "integrity": "sha512-0ZnbicB/N2R6uziva8l6O6BieBklArWyiGx4GkwAhLKhSHyQtRfM9T1nx7HHuHDKkYB/efJQhz3QJ6x/YqoZzA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", + "integrity": "sha512-8D5htMCxPDUULux9gFzv30f04Xo3wCnik0oOxKoRTPIBoqA7HtOcJ87uBhQTs3jCfZZTrUBGsYIZOgE0ZRgMAg==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.8.1", - "keyv": "^5.3.2" + "hookified": "^1.8.2", + "keyv": "^5.3.3" } }, "node_modules/callsites": { @@ -1514,9 +1513,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001717", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", - "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "version": "1.0.30001718", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", + "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", "dev": true, "funding": [ { @@ -1838,9 +1837,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1886,9 +1885,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.149", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", - "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", + "version": "1.5.157", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.157.tgz", + "integrity": "sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w==", "dev": true, "license": "ISC" }, @@ -1991,13 +1990,13 @@ } }, "node_modules/file-entry-cache": { - "version": "10.0.8", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.8.tgz", - "integrity": "sha512-FGXHpfmI4XyzbLd3HQ8cbUcsFGohJpZtmQRHr8z8FxxtCe2PcpgIlVLwIgunqjvRmXypBETvwhV4ptJizA+Y1Q==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.0.tgz", + "integrity": "sha512-Et/ex6smi3wOOB+n5mek+Grf7P2AxZR5ueqRUvAAn4qkyatXi3cUC1cuQXVkX0VlzBVsN4BkWJFmY/fYiRTdww==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^6.1.8" + "flat-cache": "^6.1.9" } }, "node_modules/fill-range": { @@ -2014,15 +2013,15 @@ } }, "node_modules/flat-cache": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.8.tgz", - "integrity": "sha512-R6MaD3nrJAtO7C3QOuS79ficm2pEAy++TgEUD8ii1LVlbcgZ9DtASLkt9B+RZSFCzm7QHDMlXPsqqB6W2Pfr1Q==", + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.9.tgz", + "integrity": "sha512-DUqiKkTlAfhtl7g78IuwqYM+YqvT+as0mY+EVk6mfimy19U79pJCzDZQsnqk3Ou/T6hFXWLGbwbADzD/c8Tydg==", "dev": true, "license": "MIT", "dependencies": { - "cacheable": "^1.8.9", + "cacheable": "^1.9.0", "flatted": "^3.3.3", - "hookified": "^1.8.1" + "hookified": "^1.8.2" } }, "node_modules/flatted": { @@ -2247,9 +2246,9 @@ } }, "node_modules/hookified": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.8.2.tgz", - "integrity": "sha512-5nZbBNP44sFCDjSoB//0N7m508APCgbQ4mGGo1KJGBYyCKNHfry1Pvd0JVHZIxjdnqn8nFRBAN/eFB6Rk/4w5w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.9.0.tgz", + "integrity": "sha512-2yEEGqphImtKIe1NXWEhu6yD3hlFR4Mxk4Mtp3XEyScpSt4pQ4ymmXA1zzxZpj99QkFK+nN0nzjeb2+RUi/6CQ==", "dev": true, "license": "MIT" }, @@ -2422,9 +2421,9 @@ "license": "ISC" }, "node_modules/jackspeak": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz", - "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -2531,14 +2530,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -4258,9 +4249,9 @@ "license": "Apache-2.0" }, "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4506,16 +4497,16 @@ } }, "node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yargs": { diff --git a/package.json b/package.json index e7f8e17..f6818c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cssdb", - "version": "8.2.5", + "version": "8.2.6", "type": "module", "description": "A comprehensive list of CSS features and their positions in the process of becoming implemented web standards", "license": "MIT-0", @@ -64,7 +64,6 @@ "@mdn/browser-compat-data": "^6.0.17", "browserslist": "^4.24.5", "glob": "^11.0.2", - "lodash.get": "^4.4.2", "postcss": "^8.5.3", "postcss-cli": "^11.0.1", "postcss-preset-env": "^10.1.6", diff --git a/tasks/check-doc-links.mjs b/tasks/check-doc-links.mjs index be4a514..896e8eb 100644 --- a/tasks/check-doc-links.mjs +++ b/tasks/check-doc-links.mjs @@ -1,4 +1,3 @@ -import fs from 'fs/promises'; import cssdb from 'cssdb'; let hasBadLinks = false; diff --git a/utils/apply-browser-overrides.mjs b/utils/apply-browser-overrides.mjs index 34a8171..c56c3ff 100644 --- a/utils/apply-browser-overrides.mjs +++ b/utils/apply-browser-overrides.mjs @@ -16,6 +16,10 @@ export default function applyBrowserOverrides(feature, realValues, overrides) { } realValues[key] = to; + + if (to === null) { + delete realValues[key]; + } } return realValues; diff --git a/utils/get.mjs b/utils/get.mjs new file mode 100644 index 0000000..65f46c1 --- /dev/null +++ b/utils/get.mjs @@ -0,0 +1,36 @@ +export function get(object, keys) { + let _keys; + if (typeof keys === 'string') { + _keys = keys.split('.') + } else { + _keys = keys.slice(); + } + + const key = _keys.shift(); + if (!key) { + return null; + } + + if (key === 'prototype' || key === '__proto__') { + return null; + } + + let hasOwnProperty = false; + try { + hasOwnProperty = Object.prototype.hasOwnProperty.call(object, key) + } catch { + return null; + } + + if (hasOwnProperty) { + const value = object[key]; + + if (_keys.length === 0) { + return value; + } else { + return get(value, _keys); + } + } + + return null; +} diff --git a/utils/supported-browsers-from-mdn.mjs b/utils/supported-browsers-from-mdn.mjs index 884d1aa..65ee757 100644 --- a/utils/supported-browsers-from-mdn.mjs +++ b/utils/supported-browsers-from-mdn.mjs @@ -1,12 +1,12 @@ import bcd from '@mdn/browser-compat-data' with { type: 'json' }; -import _get from 'lodash.get'; import semver from 'semver'; +import { get } from './get.mjs'; import { MDNToBrowserlist } from './mdn-to-browserslist.mjs'; function getBrowsersFromFeature(mdnConfigPath, feature) { - const mdnFeature = _get(bcd, mdnConfigPath); + const mdnFeature = get(bcd, mdnConfigPath); if (!mdnFeature) { - throw new Error(`Invalid mdn config path "${mdnConfigPath}" in feature "${feature}"`); + throw new Error(`Invalid mdn config path "${mdnConfigPath}" in feature "${feature.id}"`); } // We assume users also have autoprefixer.