connorjs / css-typed

TypeScript declaration generator for CSS files
https://npmjs.com/package/css-typed
MIT License
4 stars 1 forks source link

Improve upon intent of outdir: Config file + Clean #26

Open connorjs opened 1 month ago

connorjs commented 1 month ago

Background

The original intent of #4 was to improve upon a pain point I felt existed with generating files in the source tree.

  1. Had to add *.css.d.ts to your .gitignore. And repeating it for other extensions.
  2. Cleaning the repository would require additional work
  3. Some folks just prefer less files when looking at their IDE for "real" files

However, upon actually using the alternative structure, I ran into more TypeScript issues than expected. Essentially ./foo.module.css is looked for exactly in that directory. It seems that it was not resolved via other names such as my/path/foo.module.css or similar.

While I have NOT dove deeper into the TS side, this issue led to something that may benefit the tool more.

Config file + subcommands

Introducing a config file (likely via cosmiconfig) will centralize the configuration for the pattern. The tool could then include a clean subcommand that deals with (2) issue.

The config also helps the future potential watch command (although I was originally leaning away from it).

This does not address the .gitignore case, although a init command would solve that.

Goals for this issue

connorjs commented 1 month ago

Note: lilconfig over cosmiconfig seems to be a trend for smaller dependencies. By default, it does not support YAML. For a smaller download size, I will gladly give up YAML (and adding it later is backwards-compatible).

Edit later (never hit comment). I added js-yaml to support YAML config, which seems to be common. Was easy enough to maintain (dependency + function + array).

PR #28 covers initial config adding.