Skip to content

Support alternative suffix ".stcss" for source stylesheets #1216

Open
@tomrav

Description

@tomrav

description

We've chosen to use the .st.css file suffix because it offers a mostly better developer experience in tools without explicit Stylable support (e.g. GitHub, IDEs without our extension, and so on).
We get decent-ish syntax highlighting for free and even some of the native language service capabilities may work sporadically.

However, it does complicate integrating Stylable into any boilerplate or application that is already configured to work with .css files. This is made even harder when the configuration is external to the user project (for example any project based off of next.js ).

If we were to support an additional suffix, say, .stcss, we would lose the advantages stated above, but would be much easier to integrate to a variety of use-cases where we would no longer conflict with existing configurations.

I am not sure if this should be configured as supporting either suffix or both. I can imagine a use-case where the dependency tree is filled with a mixture of both suffixes.

Note: to clarify, this would be useful in cases where the user is able to insert new configuration, but would need to override existing css configuration (adding an exclude field for .st.css files)

Cases where the new configuration cannot be inserted (like create-react-app) would still not be supported.

To get the full benefit of this feature our users must all use the same extension this can be a long process to achieve in the outside world. Since that and the fact that we solved most of our integration points we can not rush to implement this and the status of this feature is "very nice to have".

tags

  • very nice to have
  • quality of life

related issues

Nothing specific but we can consider all the integrations for 3rd party produces as issues related to this

blocked by (dependencies)

None

blocks other

This change will require changes to our vscode, language service integration

  • prettier integration
  • intellij plugin

tasks overview

  • Find all the locations that we explicit target .st.css extensions and also permit stcss.
    • resolver
    • language service
    • integrations - webpack, rollup, extensions
  • replace internal tests to use new format
  • VSCode integration - textmate, register suffix
  • support for our language in Github we need to contribute to https://github.com/github/linguist
  • Update docs

Metadata

Metadata

Assignees

Labels

coreProcessing and transforming logicintegrationBundler, test-runner and node

Type

No type

Projects

Status

🎬 Ready for Work

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions