43081j / 43081j/standardglob

Initial discussion / direction

オープン
#2 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
言語のデータがありません
スター
4
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

説明

The purpose of this repo is to provide a standard which glob libraries can choose to implement if they wish.

## Prior Art

- [js: tinyglobby](https://github.com/SuperchupuDev/tinyglobby)
- [js: picomatch](https://github.com/micromatch/picomatch)
- [js: zeptomatch](https://github.com/fabiospampinato/zeptomatch)
- [js: minimatch](https://github.com/isaacs/minimatch)
- [js: micromatch](https://github.com/micromatch/micromatch)
- [rust: rustlang/glob](https://github.com/rustlang/glob)
- [go: doublestar](https://github.com/bmatcuk/doublestar#patterns)
- [linux: glob shell built-in](https://man7.org/linux/man-pages/man7/glob.7.html)
- [linux: glob, globfree](https://man7.org/linux/man-pages/man3/glob.3.html)

## Basic goals

- Define a standard for glob patterns - a specification libraries and languages can refer to for what glob features they support
- Cross-language - this is not a JavaScript-specific standard. globs in all languages should be able to implement the standard
- Define common extensions - extensions to the standard to implement common behaviours seen in glob libraries today
- Produce a standard test suite - if you pass these tests, you comply with the standard (similar to web platform tests)
- Produce a comparison doc of existing libraries - existing docs are misleading or outdated, we should use this opportunity to define an up-to-date one

## Non-goals

- Comply with existing behaviour - most existing libraries disagree. This shouldn't just be a standard inferred from what they have in common
- ??

## Open questions

- [x] How do we want to define the standard? A markdown doc? or using a tool to formally define it somehow
- We will start with [tracey](https://tracey.bearcove.eu/guide/getting-started/#create-your-spec) v2 prerelease and see if we run into any issues.
- [x] Do we care about the API? We could aim to standardise the _behaviour_ and not the API shape
- We should define what options may be available, and suggest naming but not require it.
- This is required if we want to be able to apply the spec to existing implementations, as they will have not only have different naming but also potentially negated.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。