Skip to content

Prepare 17.0.0 #7396

@jeddy3

Description

@jeddy3

This is an umbrella issue to capture some of the issues that will have to wait for the next major:

Additionally:

  • Update pure ESM dependencies (wip)
  • Resolve "// TODO: This test fails due to SIGSEGV on Node.js 18 for some reason."
  • Ensure that tests can run prefixed by NODE_OPTIONS='--throw-deprecation' (only 1 for context.fix)
  • Unskip test disabled because of Node.js 18

Post merge:

We'll likely want to wait at least a few months before touching them.

In the meantime, we can share any thoughts on what may be, if people have time, good things to look at in 16.x.

It'd be amazing to see:

  • more rules that help people write modern CSS consistently
  • a built-in resolver so that people can lint in files in context

I think rules like color-function-notation help our users write modern CSS code. I'm seeing code in the wild using modern CSS features like:

For example:

:root {
  --dk-color-black-20: oklch(20% 0 0deg);
  --dk-color-black-20-a-10: oklch(from var(--dk-color-black-20) l c h / 10%);
}

@layer defaults {
  :where(body) {
    color: var(--dk-color-black-20);
  }

  :where(a) {
    &:any-link {
      cursor: pointer;
    }

    &:hover {
      text-decoration: none;
    }
  }
}

parent-component {
  margin-inline: auto;

  &:has(child-component) {
    container: child-component / inline-size;
    display: grid;
  }
}

child-component {
  padding: clamp(1rem, 1rem + 1cqi, 2rem);

  @container parent-component (width > 40rem) {
    display: flex;
  }
}

There are already a couple of open issues around these, and I will try to make some time to revisit them. And I'll think about what new rules we can create to help people consistently use these modern features.

The built-in resolver already has an issue (#4088). It's a biggy, though, and I've added a "needs help" label because it's likely non-trivial. It'd be great to have as it'd open up linting CSS in the context of a whole CSS codebase.

What are the things that you'd like? We can broadly discuss them here, or you can create needs: discussion issues for them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: wipis being worked on by someone

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions