Phasing out rework engine
Closed this issue · 13 comments
This issue is a placeholder for discussion about removing rework
engine.
The expectation is that most users are or should be on the postcss
engine. For these users the additional dependencies of rework
are bloat.
Roadmap
v4
theengine
option will be deprecated.v5
theengine
option will be removed along with anyrework
dependencies.
Considerations
Some users are stuck on rework
due css compatibility problems with postcss
(real or perceived).
The release of v4
should add some long awaited improvements to resolution of url()
. The plan as it stands is to ship and stabilise that release and to then make a further major release simply to remove rework
engine.
The deprecation warning in the v4
release should prompt those users still stuck on rework
to get in contact and we should learn more about what remaining issues they have with postcss
.
Interrum options
I am open to externalising rework
dependencies for v4
so most users do not need to download it. But only long as there is some simple method that doesn't require restructuring of the package or other large efforts.
You can use https://yarnpkg.com/configuration/manifest#peerDependenciesMeta. (It's implemented in npm too: https://github.com/npm/cli/blob/latest/CHANGELOG.md#v6110-2019-08-20)
it would be great if support for rework
would be done using an optional peer dependency indeed, so that already removes all the rework
dependencies for projects using the postcss engine. It would require to add rework
and rework-visit
as dependencies of your own project if you want to enable the rework engine, but I think that's fine for a deprecated feature.
this would get rid of deprecation warnings coming from rework dependencies during installs.
Moved rework
and rework-visit
to optional peer dependencies in #166.
Hopefully that is fine for the interim. But this issue is still open until v5
release where we completely remove it.
@bholloway any idea when v4 will be released with this phasing out ?
I'm hoping to release a new distag @next
soon that will have that change. It will still be alpha
but I think its close to beta
.
I have just published resolve-url-loader@4.0.0-alpha.3
where rework
and rework-visit
are optional.
Please try this using dist-tag @next
. The more adoption/usage of the alpha the quicker we can move to v4 release.
Does it have some break changes?
@yoyo837 check the changelog.md for breaking changes and migration guide.
I now realize I should point to the changelog in the docs.
Thanks for your job!
4.0.0-alpha.3:
resolve-url-loader: webpack misconfiguration webpack or the upstream loader did not supply a source-map
3.1.2 is works well.
Released resolve-url-loader@4.0.0-beta.1
.
Since we have released resolve-url-loader@4.0.0
the rework
dependencies are now optional and the engine
option is deprecated.
I have also just released a V5 alpha as resolve-url-loader@next
where rework engine is completely removed and only postcss@8
is used.
I think that is sufficient to close the issue.