Skip to content
Open
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions text/1148-deprecate-broccoli-css-pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
stage: accepted
start-date: 2025-10-11T16:34:13.823Z
release-date: # In format YYYY-MM-DDT00:00:00.000Z
release-versions:
teams: # delete teams that aren't relevant
- cli
- framework
prs:
accepted: https://github.com/emberjs/rfcs/pull/1148
project-link:
suite:
---

<!---
Directions for above:

stage: Leave as is
start-date: Fill in with today's date, 2032-12-01T00:00:00.000Z
release-date: Leave as is
release-versions: Leave as is
teams: Include only the [team(s)](README.md#relevant-teams) for which this RFC applies
prs:
accepted: Fill this in with the URL for the Proposal RFC PR
project-link: Leave as is
suite: Leave as is
-->

<!-- Replace "RFC title" with the title of your RFC -->

# Deprecate broccoli CSS pipeline

## Summary

With vite becoming default we should use it's CSS pipeline as the default experience. We can advise in a deprecation guide that `/@embroider/virtual/app.css` exists if they still need to use it but new apps should be using the vite CSS pipeline by default.

## Motivation

No longer need to maintain ember specific CSS tooling like ember-cli-sass ember-css-modules etc. Vite comes with sane defaults to use postcss, sass, less, stylus etc out of the box.
We also wont have to keep explaining to people how to opt in to vite's CSs pipeline.

## Detailed design

Replace the CSS import in our app blueprint to the file on disk.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be clear that we'd only deprecate it for vite-based projects. Classic build, while not default, is still supported.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added wording that this only affects vite projects and not classic build projects.


```html
<!-- replace this -->
<link integrity="" rel="stylesheet" href="/@embroider/virtual/app.css">

<!-- with this -->
<link integrity="" rel="stylesheet" href="/app/styles/app.css">
```

## How we teach this

As part of a deprecation guide explain how to keep using the broccoli pipeline whilst they migrate (using `/@embroider/virtual/app.css`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like you started with the regular RFC template, rather than the Deprecation template. For a deprecation RFC we need to write the deprecation guide for 'How we teach this' as well as enumerate anywhere in the API docs or guides that needs updating in light of the deprecation.

Copy link
Author

@evoactivity evoactivity Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated to use the deprecation template and added wording for a deprecation guide, also checked for anything we'd need to change in the guides or api docs (we don't need to).


## Drawbacks

None that I can think of.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can think potential drawbacks:

  • Addon CSS no longer ending up in your pipeline in the same manner
  • Should we be deprecating compat feaures one-by-one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are so few addon css things tho.

I haven't encountered any in years

Each compan feature may have a different migration guide... So... Maybe?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addon CSS no longer ending up in your pipeline in the same manner

/@embroider/virtual/vendor.css will still be used so V1 addons that provide CSS should still end up in vendor.css

Should we be deprecating compat feaures one-by-one?

At the very least I think this one should be done sooner rather than later, this topic keeps coming up in the discord, especially when people are trying to use tailwind. It's the one thing I'm helping people with repeatedly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm just pointing out things that should be discussed in the 'Drawbacks' section


## Alternatives

Add a guide to the docs on how to opt in to vite's CSS pipeline.

Loading