Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename front-matter/any.ts to front-matter/extract.ts #6421

Open
timreichen opened this issue Feb 18, 2025 · 1 comment
Open

Rename front-matter/any.ts to front-matter/extract.ts #6421

timreichen opened this issue Feb 18, 2025 · 1 comment

Comments

@timreichen
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Lots (if not most) of @std files are single export files wich only export one function or class.
The file name is normally the same as the exported thing (case may be adjusted, prefixed files with unstable are special treated).
Files that differ from that pattern are mostly multi export files (for example fmt/colors.ts).

There are multiple files in @std/front-matter that do not conform to any of these conventions:

  • front-matter/any.ts exports extract()
  • front-matter/json.ts exports extract()
  • front-matter/toml.ts exports extract()
  • front-matter/yaml.ts exports extract()
  • front-matter/unstable_yaml.ts exports extract()

In front-matter/mod.ts the extract() functions even have aliases because their names overlap.

Describe the solution you'd like

I think we should enforce any apply that convention to front-matter:

  • rename front-matter/any.ts to front-matter/extract.ts
  • rename front-matter/json.ts to front-matter/extract_json.ts, rename exported function from extract() to extractJson()
  • rename front-matter/toml.ts to front-matter/extract_toml.ts, rename exported function from extract() to extractToml()
  • rename front-matter/json.ts to front-matter/extract_yaml.ts, rename exported function from extract() to extractYaml()

I am aware that front-matter is stable, but this issue may be part of 2.0 which I imagine would allow for breaking changes.
(@kt3k Is there a roadmap for 2.0 mods?)

In the meantime, We could add aliases for a smooth transition.

Describe alternatives you've considered

Don't enforce convention.

@kt3k
Copy link
Member

kt3k commented Feb 19, 2025

This needs consensus in both core team and community.

I'm personally not in favor of this change. I've never heard of the user feedbacks of getting confused by this structure. On the other hand, there are many usages in github search https://github.com/search?q=std%2Ffront-matter&type=code . Many of them import extract from ./any or ./yaml. I think the current structure is already reasonably accepted by the community. So I don't see much value to this change, rather I only see the negative effect of disrupting the existing usages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants