Skip to content

Architectural issues with computed Baseline status #127

@FluorescentHallucinogen

Description

Story

The pull request #111 added to each CSS property an object of the form:

"baseline": {
  "status": "high",
  "baseline_low_date": "2023-01-18",
  "baseline_high_date": "2025-07-18"
},
"baseline": {
  "status": "low",
  "baseline_low_date": "2022-01-19"
},
"baseline": {
  "status": "false"
},

I've recently implemented displaying Baseline status for CSS properties in Chrome DevTools (see https://web.dev/blog/baseline-devtools-css). It uses info from the browsers.css-data.json file form the https://npmjs.com/package/@vscode/web-custom-data npm package.

This is the same package that is used in VSCode.

And now Chromium has the task of updating this package regularly/frequently. Currently, this is done manually, but will be automated soon. See https://issues.chromium.org/issues/439588876.

Problem

New CSS properties don’t appear all that often.

But Baseline statuses become outdated very often.

Another problem is that the Baseline statuses are computed at the time the npm package is built.

And new versions of the npm package are released irregularly. See https://www.npmjs.com/package/@vscode/web-custom-data?activeTab=versions.

A more than month passed between the release of versions 0.5.2 and 0.6.0. And almost 3 months have passed since the release of version 0.6.0!

Let’s look at an example of a CSS property that has:

"baseline": {
  "status": "low",
  "baseline_low_date": "2022-01-19"
},

Today (2025-08-18) it has the "low" status, as soon as tomorrow (2025-08-19) its status will become "high"!

Currently, the "baseline_high_date" field exists only for CSS properties with the "high" status.

But in fact, "baseline_high_date" field doesn't make much sense. Its value is always 30 months after the "baseline_low_date".

As an idea, the value of the "status" field could instead be computed at runtime using the value of the "baseline_low_date" field and the current date.

But this will not solve the problem that the "baseline_low_date" field value is not updated in a timely manner, since the npm package is not updated regularly/frequently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions