@ox-content/napi 2.13.0 → 2.15.0

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.
Files changed (3) hide show
  1. package/index.d.ts +93 -2
  2. package/index.js +2 -0
  3. package/package.json +6 -6
package/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  /* auto-generated by NAPI-RS */
2
2
  /* eslint-disable */
3
+ /** Builds the public API export graph from entry points. */
4
+ export declare function buildExportGraph(entryPoints: Array<JsEntryPointSpec>, options?: JsGraphOptions | undefined | null): JsExportGraph
5
+
3
6
  /**
4
7
  * Builds a search index from documents.
5
8
  *
@@ -51,11 +54,14 @@ export declare function collectSsgMarkdownFiles(srcDir: string, extensions: Arra
51
54
  /** Extracts shared CSS and JavaScript assets from generated SSG pages. */
52
55
  export declare function externalizeSsgAssets(pages: Array<JsSsgGeneratedHtmlPage>, outDir: string, base: string): JsSsgExternalizedAssets
53
56
 
57
+ /** Extracts generated API docs grouped by public entry points. */
58
+ export declare function extractDocsFromEntryPoints(entryPoints: Array<JsEntryPointSpec>, options?: JsEntryPointDocsOptions | undefined | null): Array<JsEntrypointDocsModule>
59
+
54
60
  /** Extracts normalized documentation entries from a JavaScript/TypeScript file using Oxc. */
55
- export declare function extractFileDocEntries(filePath: string, includePrivate?: boolean | undefined | null): Array<JsDocEntry>
61
+ export declare function extractFileDocEntries(filePath: string, includePrivate?: boolean | undefined | null, includeInternal?: boolean | undefined | null): Array<JsDocEntry>
56
62
 
57
63
  /** Extracts documented declarations from a JavaScript/TypeScript file using Oxc. */
58
- export declare function extractFileDocs(filePath: string, includePrivate?: boolean | undefined | null): Array<JsSourceDocItem>
64
+ export declare function extractFileDocs(filePath: string, includePrivate?: boolean | undefined | null, includeInternal?: boolean | undefined | null): Array<JsSourceDocItem>
59
65
 
60
66
  /**
61
67
  * Extracts searchable content from Markdown source.
@@ -190,6 +196,25 @@ export interface JsDocEntry {
190
196
  line: number
191
197
  endLine: number
192
198
  signature?: string
199
+ members?: Array<JsDocMember>
200
+ }
201
+
202
+ /** Normalized member documentation used by generated API docs. */
203
+ export interface JsDocMember {
204
+ name: string
205
+ kind: string
206
+ description: string
207
+ signature?: string
208
+ type?: string
209
+ params?: Array<JsDocParam>
210
+ returns?: JsDocReturn
211
+ optional?: boolean
212
+ readonly?: boolean
213
+ static?: boolean
214
+ private?: boolean
215
+ tags?: Record<string, string>
216
+ line: number
217
+ endLine: number
193
218
  }
194
219
 
195
220
  /** Normalized parameter documentation used by generated API docs. */
@@ -221,6 +246,7 @@ export interface JsDocsMarkdownEntry {
221
246
  line: number
222
247
  endLine: number
223
248
  signature?: string
249
+ members?: Array<JsDocMember>
224
250
  }
225
251
 
226
252
  /** Extracted docs for one source file used by generated API Markdown. */
@@ -256,6 +282,51 @@ export interface JsEntryPageConfig {
256
282
  features?: Array<JsFeatureConfig>
257
283
  }
258
284
 
285
+ /** Docs grouped by a public entry point. */
286
+ export interface JsEntrypointDocsModule {
287
+ name: string
288
+ file: string
289
+ sourcePath: string
290
+ entries: Array<JsDocEntry>
291
+ exports: Array<JsPublicExport>
292
+ }
293
+
294
+ /** Options for extracting docs grouped by entry point. */
295
+ export interface JsEntryPointDocsOptions {
296
+ root?: string
297
+ tsconfig?: string
298
+ private?: boolean
299
+ internal?: boolean
300
+ }
301
+
302
+ /** Public entry point module. */
303
+ export interface JsEntrypointModule {
304
+ name: string
305
+ sourcePath: string
306
+ exports: Array<JsPublicExport>
307
+ }
308
+
309
+ /** Entry point used to group generated API docs. */
310
+ export interface JsEntryPointSpec {
311
+ path: string
312
+ name?: string
313
+ }
314
+
315
+ /** Resolved export graph. */
316
+ export interface JsExportGraph {
317
+ entrypoints: Array<JsEntrypointModule>
318
+ modules: Array<JsResolvedModule>
319
+ }
320
+
321
+ /** Export source metadata. */
322
+ export interface JsExportSource {
323
+ kind: string
324
+ module?: string
325
+ package?: string
326
+ originalName: string
327
+ typeOnly: boolean
328
+ }
329
+
259
330
  /** Feature card for entry page. */
260
331
  export interface JsFeatureConfig {
261
332
  /** Icon - supports: "mdi:icon-name" (Iconify), image URL, or emoji. */
@@ -270,6 +341,12 @@ export interface JsFeatureConfig {
270
341
  linkText?: string
271
342
  }
272
343
 
344
+ /** Export graph resolution options. */
345
+ export interface JsGraphOptions {
346
+ root?: string
347
+ tsconfig?: string
348
+ }
349
+
273
350
  /** Hero action for entry page. */
274
351
  export interface JsHeroAction {
275
352
  /** Button theme: "brand" or "alt". */
@@ -441,6 +518,19 @@ export interface JsParserOptions {
441
518
  autolinks?: boolean
442
519
  }
443
520
 
521
+ /** Public export metadata. */
522
+ export interface JsPublicExport {
523
+ name: string
524
+ kind: string
525
+ source: JsExportSource
526
+ }
527
+
528
+ /** Resolved source module. */
529
+ export interface JsResolvedModule {
530
+ path: string
531
+ exports: Array<JsPublicExport>
532
+ }
533
+
444
534
  /** Search query split into free text and scope prefixes. */
445
535
  export interface JsScopedSearchQuery {
446
536
  /** Free-text terms after removing scope prefixes. */
@@ -544,6 +634,7 @@ export interface JsSourceDocItem {
544
634
  signature?: string
545
635
  params: Array<JsSourceDocParam>
546
636
  returnType?: string
637
+ members?: Array<JsSourceDocItem>
547
638
  tags: Array<JsSourceDocTag>
548
639
  }
549
640
 
package/index.js CHANGED
@@ -85,6 +85,8 @@ module.exports.transformMdastRaw = binding.transformMdastRaw;
85
85
  module.exports.version = binding.version;
86
86
  module.exports.extractFileDocs = binding.extractFileDocs;
87
87
  module.exports.extractFileDocEntries = binding.extractFileDocEntries;
88
+ module.exports.buildExportGraph = binding.buildExportGraph;
89
+ module.exports.extractDocsFromEntryPoints = binding.extractDocsFromEntryPoints;
88
90
  module.exports.generateDocsNavMetadata = binding.generateDocsNavMetadata;
89
91
  module.exports.generateDocsNavCode = binding.generateDocsNavCode;
90
92
  module.exports.collectDocsSourceFiles = binding.collectDocsSourceFiles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ox-content/napi",
3
- "version": "2.13.0",
3
+ "version": "2.15.0",
4
4
  "description": "Node.js bindings for Ox Content - High-performance Markdown parser",
5
5
  "keywords": [
6
6
  "markdown",
@@ -45,10 +45,10 @@
45
45
  ]
46
46
  },
47
47
  "optionalDependencies": {
48
- "@ox-content/binding-darwin-x64": "2.13.0",
49
- "@ox-content/binding-darwin-arm64": "2.13.0",
50
- "@ox-content/binding-linux-x64-gnu": "2.13.0",
51
- "@ox-content/binding-linux-arm64-gnu": "2.13.0",
52
- "@ox-content/binding-win32-x64-msvc": "2.13.0"
48
+ "@ox-content/binding-darwin-x64": "2.15.0",
49
+ "@ox-content/binding-darwin-arm64": "2.15.0",
50
+ "@ox-content/binding-linux-x64-gnu": "2.15.0",
51
+ "@ox-content/binding-linux-arm64-gnu": "2.15.0",
52
+ "@ox-content/binding-win32-x64-msvc": "2.15.0"
53
53
  }
54
54
  }