Skip to content

Commit 3065547

Browse files
authored
Merge branch 'main' into update_tasks
2 parents f392488 + 7aa8967 commit 3065547

File tree

153 files changed

+2948
-919
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+2948
-919
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# What does this PR do?
2+
3+
This PR adds support for the library [TO BE COMPLETED].
4+
5+
Link to library repo: [TO BE COMPLETED].
6+
7+
Link to models on the Hub: https://huggingface.co/models?other=[to-be-completed].
8+
9+
## Main instructions
10+
11+
Please check that all prerequisites are met.
12+
13+
- [ ] A new library has been added to [model-libraries.ts](https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts#L60).
14+
- [ ] The alphabetical order of `MODEL_LIBRARIES_UI_ELEMENTS` has been preserved.
15+
- [ ] The library id is lowercased and hyphen-separated (example: `"adapter-transformers"`).
16+
- [ ] At least one model is referenced on https://huggingface.co/models?other=my-library-name. If not, the model card metadata of the relevant models must be updated to add `library_name: my-library-name` (see [example](https://huggingface.co/google/gemma-scope/blob/main/README.md?code=true#L3)). If you are not the owner of the models on the Hub, please open PRs (see [example](https://huggingface.co/MCG-NJU/VFIMamba/discussions/1)). **Note:** if no models are listed, this PR won't be merged.
17+
- [ ] `repoName` and `prettyLabel` are set with user-friendly casing (example: `DeepForest`).
18+
- [ ] `repoUrl` is set with a link to the library source code (usually a GitHub repository).
19+
- [ ] (optional) `docsUrl` is set with a link to the docs of the library. If the documentation is in the GitHub repo referenced above, no need to set it twice.
20+
- [ ] `filter` is set to `false`.
21+
- [ ] `countDownload` follows the correct convention and do not duplicate the counting. For instance, if loading a model requires 3 files, the download count rule must count downloads only on 1 of the 3 files. Otherwise, the download count will be overestimated. If the library uses one of the default config files (`config.json`, `config.yaml`, `hyperparams.yaml`, and `meta.yaml`, see [here](https://huggingface.co/docs/hub/models-download-stats#which-are-the-query-files-for-different-libraries)), there is no need to manually define a download count rule.
22+
- [ ] (optional) `snippets` is correctly defined. See check-list below.
23+
- [ ] Make sure that the code passes the linter test as well
24+
25+
## (optional) Snippets instructions
26+
27+
Adding a code snippet helps users to start using your library. It is especially useful when the library is tightly integrated with the Hub and typically has a `Model.from_pretrained` helper method. Check out [this guide](https://huggingface.co/docs/huggingface_hub/guides/download) to learn how to download files in Python and [this guide](https://huggingface.co/docs/huggingface_hub/guides/integrations) for a broader explanation on how to integrate a library with the Hub. Note that adding a code snippet is optional.
28+
For code snippets specifically, please refer to this checklist:
29+
30+
- [ ] Code snippet has been defined in [model-libraries-snippets.ts](https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries-snippets.ts) and added to [model-libraries.ts](https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts#L60).
31+
- [ ] Code snippet does not contain installation instruction.
32+
- [ ] Code snippet is minimal (only loading / calling the model with simple config).
33+
- [ ] (recommended) Code snippet is generated from `ModelData`, typically to get the correct command to load a specific model.
34+
- [ ] (optional) It's possible to define multiple code snippets (by returning a list) to showcase different usage.

.github/workflows/agents-publish.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
5151
pnpm --filter doc-internal run fix-cdn-versions
5252
git add ../..
53-
git commit -m "🔖 @hugginface/agents $BUMPED_VERSION"
53+
git commit -m "🔖 @huggingface/agents $BUMPED_VERSION"
5454
git tag "agents-v$BUMPED_VERSION"
5555
- run: pnpm --filter agents... build && pnpm publish --no-git-checks .
5656
env:
@@ -61,10 +61,12 @@ jobs:
6161
with:
6262
node-version: "20"
6363
registry-url: "https://npm.pkg.github.com"
64-
- run: pnpm publish --no-git-checks .
65-
env:
66-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
65+
# - run: pnpm publish --no-git-checks .
66+
# env:
67+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6768
- name: "Update Doc"
6869
uses: peter-evans/repository-dispatch@v2
6970
with:
7071
event-type: doc-build
72+
token: ${{ secrets.BOT_ACCESS_TOKEN }}

.github/workflows/gguf-publish.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
BUMPED_VERSION=$(node -p "require('semver').inc('$PACKAGE_VERSION', '${{ github.event.inputs.newversion }}')")
4848
# Update package.json with the new version
4949
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
50-
git commit . -m "🔖 @hugginface/gguf $BUMPED_VERSION"
50+
git commit . -m "🔖 @huggingface/gguf $BUMPED_VERSION"
5151
git tag "gguf-v$BUMPED_VERSION"
5252
- run: pnpm publish --no-git-checks .
5353
env:
@@ -58,6 +58,7 @@ jobs:
5858
with:
5959
node-version: "20"
6060
registry-url: "https://npm.pkg.github.com"
61-
- run: pnpm publish --no-git-checks .
62-
env:
63-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
62+
# - run: pnpm publish --no-git-checks .
63+
# env:
64+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/hub-publish.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
5151
pnpm --filter doc-internal run fix-cdn-versions
5252
git add ../..
53-
git commit -m "🔖 @hugginface/hub $BUMPED_VERSION"
53+
git commit -m "🔖 @huggingface/hub $BUMPED_VERSION"
5454
git tag "hub-v$BUMPED_VERSION"
5555
5656
- name: Make sure that the latest version of @huggingface/tasks is consistent with the local version
@@ -99,10 +99,12 @@ jobs:
9999
with:
100100
node-version: "20"
101101
registry-url: "https://npm.pkg.github.com"
102-
- run: pnpm publish --no-git-checks .
103-
env:
104-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
103+
# - run: pnpm publish --no-git-checks .
104+
# env:
105+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105106
- name: "Update Doc"
106107
uses: peter-evans/repository-dispatch@v2
107108
with:
108109
event-type: doc-build
110+
token: ${{ secrets.BOT_ACCESS_TOKEN }}

.github/workflows/inference-publish.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
5151
pnpm --filter doc-internal run fix-cdn-versions
5252
git add ../..
53-
git commit -m "🔖 @hugginface/inference $BUMPED_VERSION"
53+
git commit -m "🔖 @huggingface/inference $BUMPED_VERSION"
5454
git tag "inference-v$BUMPED_VERSION"
5555
5656
- name: Make sure that the latest version of @huggingface/tasks is consistent with the local version
@@ -99,6 +99,7 @@ jobs:
9999
with:
100100
node-version: "20"
101101
registry-url: "https://npm.pkg.github.com"
102-
- run: pnpm publish --no-git-checks .
103-
env:
104-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
103+
# - run: pnpm publish --no-git-checks .
104+
# env:
105+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/jinja-publish.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
BUMPED_VERSION=$(node -p "require('semver').inc('$PACKAGE_VERSION', '${{ github.event.inputs.newversion }}')")
4848
# Update package.json with the new version
4949
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
50-
git commit . -m "🔖 @hugginface/jinja $BUMPED_VERSION"
50+
git commit . -m "🔖 @huggingface/jinja $BUMPED_VERSION"
5151
git tag "jinja-v$BUMPED_VERSION"
5252
- run: pnpm publish --no-git-checks .
5353
env:
@@ -58,6 +58,7 @@ jobs:
5858
with:
5959
node-version: "20"
6060
registry-url: "https://npm.pkg.github.com"
61-
- run: pnpm publish --no-git-checks .
62-
env:
63-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
62+
# - run: pnpm publish --no-git-checks .
63+
# env:
64+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/languages-publish.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
BUMPED_VERSION=$(node -p "require('semver').inc('$PACKAGE_VERSION', '${{ github.event.inputs.newversion }}')")
4848
# Update package.json with the new version
4949
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
50-
git commit . -m "🔖 @hugginface/languages $BUMPED_VERSION"
50+
git commit . -m "🔖 @huggingface/languages $BUMPED_VERSION"
5151
git tag "languages-v$BUMPED_VERSION"
5252
- run: pnpm publish --no-git-checks .
5353
env:
@@ -58,6 +58,7 @@ jobs:
5858
with:
5959
node-version: "20"
6060
registry-url: "https://npm.pkg.github.com"
61-
- run: pnpm publish --no-git-checks .
62-
env:
63-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
62+
# - run: pnpm publish --no-git-checks .
63+
# env:
64+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/space-header-publish.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
BUMPED_VERSION=$(node -p "require('semver').inc('$PACKAGE_VERSION', '${{ github.event.inputs.newversion }}')")
4848
# Update package.json with the new version
4949
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
50-
git commit . -m "🔖 @hugginface/space-header $BUMPED_VERSION"
50+
git commit . -m "🔖 @huggingface/space-header $BUMPED_VERSION"
5151
git tag "space-header-v$BUMPED_VERSION"
5252
- run: pnpm publish --no-git-checks .
5353
env:
@@ -58,10 +58,12 @@ jobs:
5858
with:
5959
node-version: "20"
6060
registry-url: "https://npm.pkg.github.com"
61-
- run: pnpm publish --no-git-checks .
62-
env:
63-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
62+
# - run: pnpm publish --no-git-checks .
63+
# env:
64+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6465
- name: "Update Doc"
6566
uses: peter-evans/repository-dispatch@v2
6667
with:
6768
event-type: doc-build
69+
token: ${{ secrets.BOT_ACCESS_TOKEN }}

.github/workflows/tasks-publish.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
BUMPED_VERSION=$(node -p "require('semver').inc('$PACKAGE_VERSION', '${{ github.event.inputs.newversion }}')")
4848
# Update package.json with the new version
4949
node -e "const fs = require('fs'); const package = JSON.parse(fs.readFileSync('./package.json')); package.version = '$BUMPED_VERSION'; fs.writeFileSync('./package.json', JSON.stringify(package, null, '\t') + '\n');"
50-
git commit . -m "🔖 @hugginface/tasks $BUMPED_VERSION"
50+
git commit . -m "🔖 @huggingface/tasks $BUMPED_VERSION"
5151
git tag "tasks-v$BUMPED_VERSION"
5252
- run: pnpm publish --no-git-checks .
5353
env:
@@ -58,10 +58,12 @@ jobs:
5858
with:
5959
node-version: "20"
6060
registry-url: "https://npm.pkg.github.com"
61-
- run: pnpm publish --no-git-checks .
62-
env:
63-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
62+
# - run: pnpm publish --no-git-checks .
63+
# env:
64+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6465
- name: "Update Doc"
6566
uses: peter-evans/repository-dispatch@v2
6667
with:
6768
event-type: doc-build
69+
token: ${{ secrets.BOT_ACCESS_TOKEN }}

.github/workflows/widgets-publish.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ jobs:
170170
with:
171171
node-version: "20"
172172
registry-url: "https://npm.pkg.github.com"
173-
- run: pnpm publish --no-git-checks .
174-
env:
175-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173+
# Disable for now, until github supports PATs for writing github packages (https://github.com/github/roadmap/issues/558)
174+
# - run: pnpm publish --no-git-checks .
175+
# env:
176+
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,37 @@
1414

1515
await createRepo({
1616
repo: {type: "model", name: "my-user/nlp-model"},
17-
credentials: {accessToken: HF_TOKEN}
17+
accessToken: HF_TOKEN
1818
});
1919

2020
await uploadFile({
2121
repo: "my-user/nlp-model",
22-
credentials: {accessToken: HF_TOKEN},
22+
accessToken: HF_TOKEN,
2323
// Can work with native File in browsers
2424
file: {
2525
path: "pytorch_model.bin",
2626
content: new Blob(...)
2727
}
2828
});
2929

30-
// Use hosted inference
31-
32-
await inference.translation({
33-
model: 't5-base',
34-
inputs: 'My name is Wolfgang and I live in Berlin'
35-
})
30+
// Use Inference API
31+
32+
await inference.chatCompletion({
33+
model: "meta-llama/Llama-3.1-8B-Instruct",
34+
messages: [
35+
{
36+
role: "user",
37+
content: "Hello, nice to meet you!",
38+
},
39+
],
40+
max_tokens: 512,
41+
temperature: 0.5,
42+
});
3643

3744
await inference.textToImage({
38-
model: 'stabilityai/stable-diffusion-2',
39-
inputs: 'award winning high resolution photo of a giant tortoise/((ladybird)) hybrid, [trending on artstation]',
40-
parameters: {
41-
negative_prompt: 'blurry',
42-
}
43-
})
45+
model: "black-forest-labs/FLUX.1-dev",
46+
inputs: "a picture of a green bird",
47+
});
4448

4549
// and much more…
4650
```
@@ -79,7 +83,7 @@ Then import the libraries in your code:
7983
import { HfInference } from "@huggingface/inference";
8084
import { HfAgent } from "@huggingface/agents";
8185
import { createRepo, commit, deleteRepo, listFiles } from "@huggingface/hub";
82-
import type { RepoId, Credentials } from "@huggingface/hub";
86+
import type { RepoId } from "@huggingface/hub";
8387
```
8488

8589
### From CDN or Static hosting
@@ -88,8 +92,8 @@ You can run our packages with vanilla JS, without any bundler, by using a CDN or
8892

8993
```html
9094
<script type="module">
91-
import { HfInference } from 'https://cdn.jsdelivr.net/npm/@huggingface/[email protected].0/+esm';
92-
import { createRepo, commit, deleteRepo, listFiles } from "https://cdn.jsdelivr.net/npm/@huggingface/hub@0.15.1/+esm";
95+
import { HfInference } from 'https://cdn.jsdelivr.net/npm/@huggingface/[email protected].1/+esm';
96+
import { createRepo, commit, deleteRepo, listFiles } from "https://cdn.jsdelivr.net/npm/@huggingface/hub@0.18.1/+esm";
9397
</script>
9498
```
9599

@@ -123,33 +127,33 @@ const inference = new HfInference(HF_TOKEN);
123127

124128
// Chat completion API
125129
const out = await inference.chatCompletion({
126-
model: "mistralai/Mistral-7B-Instruct-v0.2",
127-
messages: [{ role: "user", content: "Complete the this sentence with words one plus one is equal " }],
128-
max_tokens: 100
130+
model: "meta-llama/Llama-3.1-8B-Instruct",
131+
messages: [{ role: "user", content: "Hello, nice to meet you!" }],
132+
max_tokens: 512
129133
});
130134
console.log(out.choices[0].message);
131135

132136
// Streaming chat completion API
133137
for await (const chunk of inference.chatCompletionStream({
134-
model: "mistralai/Mistral-7B-Instruct-v0.2",
135-
messages: [{ role: "user", content: "Complete the this sentence with words one plus one is equal " }],
136-
max_tokens: 100
138+
model: "meta-llama/Llama-3.1-8B-Instruct",
139+
messages: [{ role: "user", content: "Hello, nice to meet you!" }],
140+
max_tokens: 512
137141
})) {
138142
console.log(chunk.choices[0].delta.content);
139143
}
140144

141145
// You can also omit "model" to use the recommended model for the task
142146
await inference.translation({
143-
model: 't5-base',
144-
inputs: 'My name is Wolfgang and I live in Amsterdam'
145-
})
147+
inputs: "My name is Wolfgang and I live in Amsterdam",
148+
parameters: {
149+
src_lang: "en",
150+
tgt_lang: "fr",
151+
},
152+
});
146153

147154
await inference.textToImage({
148-
model: 'stabilityai/stable-diffusion-2',
149-
inputs: 'award winning high resolution photo of a giant tortoise/((ladybird)) hybrid, [trending on artstation]',
150-
parameters: {
151-
negative_prompt: 'blurry',
152-
}
155+
model: 'black-forest-labs/FLUX.1-dev',
156+
inputs: 'a picture of a green bird',
153157
})
154158

155159
await inference.imageToText({
@@ -162,13 +166,13 @@ const gpt2 = inference.endpoint('https://xyz.eu-west-1.aws.endpoints.huggingface
162166
const { generated_text } = await gpt2.textGeneration({inputs: 'The answer to the universe is'});
163167

164168
//Chat Completion
165-
const mistal = inference.endpoint(
166-
"https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.2"
169+
const llamaEndpoint = inference.endpoint(
170+
"https://api-inference.huggingface.co/models/meta-llama/Llama-3.1-8B-Instruct"
167171
);
168-
const out = await mistal.chatCompletion({
169-
model: "mistralai/Mistral-7B-Instruct-v0.2",
170-
messages: [{ role: "user", content: "Complete the this sentence with words one plus one is equal " }],
171-
max_tokens: 100,
172+
const out = await llamaEndpoint.chatCompletion({
173+
model: "meta-llama/Llama-3.1-8B-Instruct",
174+
messages: [{ role: "user", content: "Hello, nice to meet you!" }],
175+
max_tokens: 512,
172176
});
173177
console.log(out.choices[0].message);
174178
```
@@ -182,12 +186,12 @@ const HF_TOKEN = "hf_...";
182186

183187
await createRepo({
184188
repo: "my-user/nlp-model", // or {type: "model", name: "my-user/nlp-test"},
185-
credentials: {accessToken: HF_TOKEN}
189+
accessToken: HF_TOKEN
186190
});
187191

188192
await uploadFile({
189193
repo: "my-user/nlp-model",
190-
credentials: {accessToken: HF_TOKEN},
194+
accessToken: HF_TOKEN,
191195
// Can work with native File in browsers
192196
file: {
193197
path: "pytorch_model.bin",
@@ -197,7 +201,7 @@ await uploadFile({
197201

198202
await deleteFiles({
199203
repo: {type: "space", name: "my-user/my-space"}, // or "spaces/my-user/my-space"
200-
credentials: {accessToken: HF_TOKEN},
204+
accessToken: HF_TOKEN,
201205
paths: ["README.md", ".gitattributes"]
202206
});
203207
```

packages/doc-internal/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This package generates `.md` files inside the [docs](../../docs) folder using [typedoc](https://typedoc.org/) and [typedoc-plugin-markdown](https://github.com/tgreyuk/typedoc-plugin-markdown).
44

5-
The `.md` files are generated when releasing packages. They are then published to [hugginface.co](https://huggingface.co/docs/huggingface.js/index) through the [doc-builder](https://github.com/huggingface/doc-builder)'s github action.
5+
The `.md` files are generated when releasing packages. They are then published to [huggingface.co](https://huggingface.co/docs/huggingface.js/index) through the [doc-builder](https://github.com/huggingface/doc-builder)'s github action.
66

77
We run a few scripts in between, [fix-md-links](./fix-md-links.ts) and [update-toc](./update-toc.ts) to preprocess the files for `doc-builder`.
88

0 commit comments

Comments
 (0)