@coinagerie/vocabulary 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/src/index.d.ts +20 -64
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## 0.0.18 (2026-11-11)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **codometer:** ✨ tighten the comment budgets and shorten every comment over them ([#2262](https://github.com/organizzolini/codebase/pull/2262), [#2261](https://github.com/organizzolini/codebase/issues/2261))
|
|
6
|
+
|
|
7
|
+
### 🧱 Updated Dependencies
|
|
8
|
+
|
|
9
|
+
- Updated coinagerie-configuration to 0.0.18
|
|
10
|
+
- Updated coinagerie-languages to 0.0.18
|
|
11
|
+
|
|
12
|
+
## 0.0.17 (2026-11-10)
|
|
13
|
+
|
|
14
|
+
### 🚀 Features
|
|
15
|
+
|
|
16
|
+
- **codometer:** ✨ gate JSDoc on every declaration kind and shorten long comments ([#2227](https://github.com/organizzolini/codebase/pull/2227), [#2226](https://github.com/organizzolini/codebase/issues/2226))
|
|
17
|
+
|
|
18
|
+
### 🧱 Updated Dependencies
|
|
19
|
+
|
|
20
|
+
- Updated coinagerie-configuration to 0.0.17
|
|
21
|
+
- Updated coinagerie-languages to 0.0.17
|
|
22
|
+
|
|
1
23
|
## 0.0.16 (2026-11-10)
|
|
2
24
|
|
|
3
25
|
### 🧱 Updated Dependencies
|
package/dist/src/index.d.ts
CHANGED
|
@@ -32,30 +32,23 @@ export declare class DiscoveryService {
|
|
|
32
32
|
private readonly ignoreRulesService;
|
|
33
33
|
constructor(ignoreRulesService: IgnoreRulesService);
|
|
34
34
|
/**
|
|
35
|
-
* The nearest folder at or above
|
|
36
|
-
* root itself outside any repository. A worktree's `.git` is a file, which
|
|
37
|
-
* counts the same.
|
|
35
|
+
* The nearest folder at or above `directory` holding `.git`, or `directory` itself. A worktree's `.git` file counts.
|
|
38
36
|
*/
|
|
39
37
|
private findRepositoryRoot;
|
|
40
38
|
/**
|
|
41
|
-
* Whether an `exclude.paths` glob names a folder
|
|
42
|
-
* everything in it — so `exclude: ["dist"]` reads the way a `.gitignore`
|
|
43
|
-
* line does, and the folder is never walked.
|
|
39
|
+
* Whether an `exclude.paths` glob names a whole folder, so the folder is never walked, as a `.gitignore` line would.
|
|
44
40
|
*/
|
|
45
41
|
private isExcludedFolder;
|
|
46
42
|
/** Whether the configuration's globs keep a root-relative file. */
|
|
47
43
|
private isSelected;
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
50
|
-
* not including, the scan root — whose own file the walk reads.
|
|
45
|
+
* Ignore files from the repository root down to, excluding, the scan root, whose own file the walk reads.
|
|
51
46
|
*/
|
|
52
47
|
private readAncestorScopes;
|
|
53
48
|
/** A path with forward slashes, which is what every glob is written in. */
|
|
54
49
|
private toPosix;
|
|
55
50
|
/**
|
|
56
|
-
* Every file under one folder
|
|
57
|
-
* paths. Symbolic links are skipped rather than followed, so nothing is
|
|
58
|
-
* read twice and a link to an ancestor cannot loop.
|
|
51
|
+
* Every unignored file under one folder, as absolute paths. Symbolic links are skipped, so nothing is read twice or loops.
|
|
59
52
|
*/
|
|
60
53
|
private walk;
|
|
61
54
|
/**
|
|
@@ -70,27 +63,19 @@ export declare class FoldingModule {
|
|
|
70
63
|
}
|
|
71
64
|
|
|
72
65
|
/**
|
|
73
|
-
* Folds
|
|
74
|
-
* a term once however the code inflects it.
|
|
66
|
+
* Folds a word's surface forms into one headword, so each term is listed once.
|
|
75
67
|
*
|
|
76
|
-
* Plurals fold into their singular and inflected verbs into their lemma:
|
|
77
|
-
*
|
|
78
|
-
* Derivational families stay apart, so `configuration` keeps its own entry —
|
|
79
|
-
* unless the configuration's own `fold` merges them.
|
|
68
|
+
* Plurals fold into their singular and inflected verbs into their lemma: `aspects` into `aspect`, `configured` into `configure`.
|
|
69
|
+
* Derivational families stay apart, so `configuration` keeps its own entry unless `fold` merges them.
|
|
80
70
|
*/
|
|
81
71
|
export declare class FoldingService {
|
|
82
72
|
constructor();
|
|
83
73
|
/**
|
|
84
|
-
* The headword a lowercase word folds into: its singular, then its lemma.
|
|
85
|
-
*
|
|
86
|
-
* A fold that would leave a single letter (`ts` into `t`) is refused, since
|
|
87
|
-
* one-letter words are not terms.
|
|
74
|
+
* The headword a lowercase word folds into: its singular, then its lemma. A one-letter result is refused, since one-letter words are not terms.
|
|
88
75
|
*/
|
|
89
76
|
fold(word: string): string;
|
|
90
77
|
/**
|
|
91
|
-
* The headword a word is listed under: folded
|
|
92
|
-
* then through the configuration's own `fold` when it has one. A fault in
|
|
93
|
-
* that function surfaces as an `InvalidConfigurationError` naming the file.
|
|
78
|
+
* The headword a word is listed under: folded, then passed through the configuration's `fold` when it has one. Faults name the file.
|
|
94
79
|
*/
|
|
95
80
|
headword(word: string, configuration: ResolvedCoinagerieConfiguration): string;
|
|
96
81
|
}
|
|
@@ -106,26 +91,16 @@ declare class IgnoreRulesService {
|
|
|
106
91
|
/** A path as a scope sees it, or `undefined` when it lies outside the scope. */
|
|
107
92
|
private toScopedPath;
|
|
108
93
|
/**
|
|
109
|
-
* Whether the scopes ignore a repository-relative path,
|
|
110
|
-
* deciding — which is how a nested `!pattern` re-includes a file its parent
|
|
111
|
-
* ignored. A folder is judged with a trailing slash.
|
|
94
|
+
* Whether the scopes ignore a repository-relative path. The innermost scope decides, so a nested `!pattern` re-includes a file.
|
|
112
95
|
*/
|
|
113
96
|
isIgnored(scopes: IgnoreScope[], relativePath: string): boolean;
|
|
114
97
|
/**
|
|
115
|
-
* Reads one ignore file, or `undefined` when
|
|
116
|
-
*
|
|
117
|
-
* Case-sensitive on every platform, so the same file ignores the same paths
|
|
118
|
-
* on a developer's machine and in CI.
|
|
98
|
+
* Reads one ignore file, or `undefined` when absent. Matching is case-sensitive on every platform, so CI agrees with local runs.
|
|
119
99
|
*/
|
|
120
100
|
readScope(args: ReadIgnoreScopeArguments): IgnoreScope | undefined;
|
|
121
101
|
}
|
|
122
102
|
|
|
123
|
-
/**
|
|
124
|
-
* The rules of one `.gitignore`, and the folder they were written in.
|
|
125
|
-
*
|
|
126
|
-
* `base` is relative to the repository root, `""` for the root itself; the
|
|
127
|
-
* patterns only ever see paths relative to it.
|
|
128
|
-
*/
|
|
103
|
+
/** A `.gitignore`'s rules and folder; `base` is repo-relative. */
|
|
129
104
|
declare interface IgnoreScope {
|
|
130
105
|
base: string;
|
|
131
106
|
matcher: Ignore;
|
|
@@ -145,15 +120,10 @@ export declare class VocabularyModule {
|
|
|
145
120
|
}
|
|
146
121
|
|
|
147
122
|
/**
|
|
148
|
-
* The coinagerie pipeline: from a configuration to the sorted
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* language claims and splits its identifiers into words, folds each word into
|
|
153
|
-
* its headword, leaves out the headwords the configuration excludes, then
|
|
154
|
-
* de-duplicates and sorts. A fault in the configuration's `fold` aborts the
|
|
155
|
-
* run, naming the configuration file. A file no language claims still
|
|
156
|
-
* contributes its path.
|
|
123
|
+
* The coinagerie pipeline: from a configuration to the sorted words the code
|
|
124
|
+
* uses. Splits paths and identifiers into words, folds each into its headword,
|
|
125
|
+
* drops excluded headwords, then de-duplicates. A fault in `fold` aborts the
|
|
126
|
+
* run, naming the configuration file.
|
|
157
127
|
*/
|
|
158
128
|
export declare class VocabularyService {
|
|
159
129
|
private readonly discoveryService;
|
|
@@ -164,22 +134,13 @@ export declare class VocabularyService {
|
|
|
164
134
|
/** The words of one file: its path's, then its identifiers'. */
|
|
165
135
|
private collectFile;
|
|
166
136
|
/**
|
|
167
|
-
* The headwords the configuration
|
|
168
|
-
*
|
|
169
|
-
* Its words are folded the way the code's are, so exclusion compares
|
|
170
|
-
* headwords: excluding `service` covers `services`, and excluding
|
|
171
|
-
* `implements` covers the `implement` it folds into.
|
|
137
|
+
* The headwords the configuration excludes by exact word. Words fold the way code words do, so excluding `service` covers `services`.
|
|
172
138
|
*/
|
|
173
139
|
private excludedHeadwords;
|
|
174
140
|
/** Whether a pattern leaves out a word: it matches the word or its headword. */
|
|
175
141
|
private matchesPattern;
|
|
176
142
|
/**
|
|
177
|
-
* Every word the configured files use, sorted and de-duplicated.
|
|
178
|
-
*
|
|
179
|
-
* The files a configuration writes a glossary to are left out, so a run
|
|
180
|
-
* never reads its own output back as vocabulary. A headword a pattern
|
|
181
|
-
* matches is left out wholly, as a string leaves out a headword: the pattern
|
|
182
|
-
* is tested against each occurrence's lowercase word and its headword.
|
|
143
|
+
* Every word the configured files use, sorted and de-duplicated. Output files are skipped, so a run never reads its own glossary back.
|
|
183
144
|
*/
|
|
184
145
|
collect(configuration: ResolvedCoinagerieConfiguration): Promise<string[]>;
|
|
185
146
|
}
|
|
@@ -202,16 +163,11 @@ export declare class WordsService {
|
|
|
202
163
|
/** Whether a lowercase word is a term rather than noise. */
|
|
203
164
|
private isTerm;
|
|
204
165
|
/**
|
|
205
|
-
* The words of one identifier, in
|
|
206
|
-
*
|
|
207
|
-
* Splits on every separator, then on case changes, keeping acronym runs
|
|
208
|
-
* together: `XMLHttpRequest` is `xml`, `http`, and `request`.
|
|
166
|
+
* The words of one identifier, in order, repeats kept. Splits on separators and case changes, keeping acronyms whole: `XMLHttpRequest` is `xml`, `http`, and `request`.
|
|
209
167
|
*/
|
|
210
168
|
splitIdentifier(raw: string): string[];
|
|
211
169
|
/**
|
|
212
|
-
* The words of a relative file path: every folder name,
|
|
213
|
-
* with only its final extension removed, so `glossary.service.ts`
|
|
214
|
-
* contributes `glossary` and `service`.
|
|
170
|
+
* The words of a relative file path: every folder name, plus the file name without its final extension.
|
|
215
171
|
*/
|
|
216
172
|
splitPath(relativePath: string): string[];
|
|
217
173
|
}
|
package/package.json
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"url": "https://github.com/organizzolini/codebase/issues"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@coinagerie/configuration": "0.0.
|
|
8
|
-
"@coinagerie/languages": "0.0.
|
|
7
|
+
"@coinagerie/configuration": "0.0.18",
|
|
8
|
+
"@coinagerie/languages": "0.0.18",
|
|
9
9
|
"@nestjs/common": "^11.1.21 || ^12.0.1",
|
|
10
10
|
"ignore": "7.0.14",
|
|
11
11
|
"pluralize": "^8.0.0",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"strict": true
|
|
63
63
|
},
|
|
64
64
|
"types": "./dist/src/index.d.ts",
|
|
65
|
-
"version": "0.0.
|
|
65
|
+
"version": "0.0.18"
|
|
66
66
|
}
|