Open marcalexiei opened 4 months ago
These look good (👍). We can go ahead and open tickets for them - Also, in reply to your follow-up ticket - we should have separate tickets for them updates like these.
Ok! Once we are happy with #139 I'll start to work on #141 tasks!
Sass 1.79 has been released.
From the changelog:
While the legacy API has been deprecated since we released the modern API, we now emit warnings when the legacy API is used to make sure users are aware that it will be removed in Dart Sass 2.0.0. In the meantime, you can silence these warnings by passing legacy-js-api in silenceDeprecations when using the legacy API.
Right now this plugin is using the legacy API and the warning is present in the logs due to this sass change.
I would like to integrate the proposal done in "Add sass to peerDependencies" with the following points:
node
10 is supported but I would support current LTS
which is >= 18
type: module
and provide ESM code directlysass-embedded
to the peerDependenciesI'm available to make this changes after #141 is completed:
I only need to add eslint
and prettier
which that shouldn't take long after #156 is merged.
I would like to propose some improvements for this package:
Use
peerDependencies
Add
rollup
topeerDependencies
Since this is a rollup plugin I think this should be added to
peerDependencies
. This will also help to clearly identify which rollup version are supported.Add
sass
topeerDependencies
I think that user should install separately his
sass
implementation instead of having installed because is included already independencies
. Also, like with rollup, we can clearly identify which version ofsass
are supported, if user install it.Example:
A working example is the
webpack
sass-loader
package.jsonAdd other sass runtime
consider using
webpack-loader
approach so user can install only one sass runtime (right nowsass
will be always be installed since it is a dependency)Code updates
Update source code using async functions and spread operator
I think that code could be updated using async functions in order to reduce callback chain code, additionally and use modern syntax like spread instead of or
Object.assign
andArray.prototype.concat
.These features are available for
node >= 10
spread
compatibility tableasync
compatibility tableEnable
typescript
strict modePretty self-explanatory 😅