svelte-docinfo 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -6,20 +6,18 @@
6
6
  > [**svelte-docinfo.fuz.dev**](https://svelte-docinfo.fuz.dev/)
7
7
 
8
8
  **svelte-docinfo** extracts JSON describing the exports
9
- of TypeScript and Svelte modules for open ended use cases
9
+ of TypeScript and Svelte modules for open-ended use cases
10
10
  like docs, code search, and dev tools.
11
11
  It uses
12
12
  [svelte2tsx](https://github.com/sveltejs/language-tools/tree/master/packages/svelte2tsx)
13
13
  and the TypeScript compiler API to resolve types, track exports, and extract semantic details.
14
- The [npm package](https://www.npmjs.com/package/svelte-docinfo)
15
- has a Vite plugin, CLI, and programmatic API.
14
+ It includes a Vite plugin, CLI, and programmatic API
15
+ in the [npm package](https://www.npmjs.com/package/svelte-docinfo).
16
16
 
17
17
  ```bash
18
18
  npm install svelte-docinfo -D
19
19
  ```
20
20
 
21
- [npm](https://www.npmjs.com/package/svelte-docinfo)
22
-
23
21
  - [Quick start](#quick-start)
24
22
  - [Vite plugin](#vite-plugin)
25
23
  - [CLI](#cli)
@@ -47,6 +45,7 @@ and [discussions](https://github.com/fuzdev/svelte-docinfo/discussions)
47
45
  for everything else!
48
46
 
49
47
  **AI disclosure:** the code and docs beyond the intro were written by Claude Code with uneven human guidance.
48
+ The first release took about 5 months of intermittent work and 500 manual commits.
50
49
 
51
50
  ## Quick start
52
51
 
@@ -96,7 +95,8 @@ Three ways to integrate `svelte-docinfo`:
96
95
  import svelteDocinfo from 'svelte-docinfo/vite.js';
97
96
 
98
97
  export default defineConfig({plugins: [sveltekit(), svelteDocinfo()]});
99
- // then anywhere in your app: import {modules} from 'virtual:svelte-docinfo';
98
+ // then anywhere in your app:
99
+ // import {modules} from 'virtual:svelte-docinfo';
100
100
  ```
101
101
 
102
102
  2. [CLI](#cli) - quick analysis from the command line, useful for ad-hoc inspection and shell pipelines:
@@ -332,7 +332,9 @@ Known gaps: standalone `namespace Foo {}` declarations and decorators are not ye
332
332
 
333
333
  ## Credits
334
334
 
335
- [`sveld`](https://github.com/carbon-design-system/sveld) was the main inspiration.
335
+ [`sveld`](https://github.com/carbon-design-system/sveld)
336
+ (by Eric Liu, [@metonym](https://github.com/metonym))
337
+ was this project's main inspiration.
336
338
 
337
339
  Extracted from [fuz_ui](https://github.com/fuzdev/fuz_ui),
338
340
  which has example components using the data for docs websites.
@@ -111,6 +111,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
111
111
  rest: z.ZodDefault<z.ZodBoolean>;
112
112
  description: z.ZodOptional<z.ZodString>;
113
113
  defaultValue: z.ZodOptional<z.ZodString>;
114
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
114
115
  }, z.core.$strict>>>;
115
116
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
116
117
  typeSignature: z.ZodString;
@@ -121,6 +122,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
121
122
  rest: z.ZodDefault<z.ZodBoolean>;
122
123
  description: z.ZodOptional<z.ZodString>;
123
124
  defaultValue: z.ZodOptional<z.ZodString>;
125
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
124
126
  }, z.core.$strict>>>;
125
127
  returnType: z.ZodOptional<z.ZodString>;
126
128
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -181,6 +183,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
181
183
  rest: z.ZodDefault<z.ZodBoolean>;
182
184
  description: z.ZodOptional<z.ZodString>;
183
185
  defaultValue: z.ZodOptional<z.ZodString>;
186
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
184
187
  }, z.core.$strict>>>;
185
188
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
186
189
  typeSignature: z.ZodString;
@@ -191,6 +194,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
191
194
  rest: z.ZodDefault<z.ZodBoolean>;
192
195
  description: z.ZodOptional<z.ZodString>;
193
196
  defaultValue: z.ZodOptional<z.ZodString>;
197
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
194
198
  }, z.core.$strict>>>;
195
199
  returnType: z.ZodOptional<z.ZodString>;
196
200
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -276,6 +280,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
276
280
  rest: z.ZodDefault<z.ZodBoolean>;
277
281
  description: z.ZodOptional<z.ZodString>;
278
282
  defaultValue: z.ZodOptional<z.ZodString>;
283
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
279
284
  }, z.core.$strict>>>;
280
285
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
281
286
  typeSignature: z.ZodString;
@@ -286,6 +291,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
286
291
  rest: z.ZodDefault<z.ZodBoolean>;
287
292
  description: z.ZodOptional<z.ZodString>;
288
293
  defaultValue: z.ZodOptional<z.ZodString>;
294
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
289
295
  }, z.core.$strict>>>;
290
296
  returnType: z.ZodOptional<z.ZodString>;
291
297
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -373,6 +379,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
373
379
  rest: z.ZodDefault<z.ZodBoolean>;
374
380
  description: z.ZodOptional<z.ZodString>;
375
381
  defaultValue: z.ZodOptional<z.ZodString>;
382
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
376
383
  }, z.core.$strict>>>;
377
384
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
378
385
  typeSignature: z.ZodString;
@@ -383,6 +390,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
383
390
  rest: z.ZodDefault<z.ZodBoolean>;
384
391
  description: z.ZodOptional<z.ZodString>;
385
392
  defaultValue: z.ZodOptional<z.ZodString>;
393
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
386
394
  }, z.core.$strict>>>;
387
395
  returnType: z.ZodOptional<z.ZodString>;
388
396
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -468,6 +476,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
468
476
  rest: z.ZodDefault<z.ZodBoolean>;
469
477
  description: z.ZodOptional<z.ZodString>;
470
478
  defaultValue: z.ZodOptional<z.ZodString>;
479
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
471
480
  }, z.core.$strict>>>;
472
481
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
473
482
  typeSignature: z.ZodString;
@@ -478,6 +487,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
478
487
  rest: z.ZodDefault<z.ZodBoolean>;
479
488
  description: z.ZodOptional<z.ZodString>;
480
489
  defaultValue: z.ZodOptional<z.ZodString>;
490
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
481
491
  }, z.core.$strict>>>;
482
492
  returnType: z.ZodOptional<z.ZodString>;
483
493
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -565,6 +575,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
565
575
  rest: z.ZodDefault<z.ZodBoolean>;
566
576
  description: z.ZodOptional<z.ZodString>;
567
577
  defaultValue: z.ZodOptional<z.ZodString>;
578
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
568
579
  }, z.core.$strict>>>;
569
580
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
570
581
  typeSignature: z.ZodString;
@@ -575,6 +586,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
575
586
  rest: z.ZodDefault<z.ZodBoolean>;
576
587
  description: z.ZodOptional<z.ZodString>;
577
588
  defaultValue: z.ZodOptional<z.ZodString>;
589
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
578
590
  }, z.core.$strict>>>;
579
591
  returnType: z.ZodOptional<z.ZodString>;
580
592
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -660,6 +672,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
660
672
  rest: z.ZodDefault<z.ZodBoolean>;
661
673
  description: z.ZodOptional<z.ZodString>;
662
674
  defaultValue: z.ZodOptional<z.ZodString>;
675
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
663
676
  }, z.core.$strict>>>;
664
677
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
665
678
  typeSignature: z.ZodString;
@@ -670,6 +683,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
670
683
  rest: z.ZodDefault<z.ZodBoolean>;
671
684
  description: z.ZodOptional<z.ZodString>;
672
685
  defaultValue: z.ZodOptional<z.ZodString>;
686
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
673
687
  }, z.core.$strict>>>;
674
688
  returnType: z.ZodOptional<z.ZodString>;
675
689
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -798,6 +812,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
798
812
  rest: z.ZodDefault<z.ZodBoolean>;
799
813
  description: z.ZodOptional<z.ZodString>;
800
814
  defaultValue: z.ZodOptional<z.ZodString>;
815
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
801
816
  }, z.core.$strict>>>;
802
817
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
803
818
  typeSignature: z.ZodString;
@@ -808,6 +823,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
808
823
  rest: z.ZodDefault<z.ZodBoolean>;
809
824
  description: z.ZodOptional<z.ZodString>;
810
825
  defaultValue: z.ZodOptional<z.ZodString>;
826
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
811
827
  }, z.core.$strict>>>;
812
828
  returnType: z.ZodOptional<z.ZodString>;
813
829
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -893,6 +909,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
893
909
  rest: z.ZodDefault<z.ZodBoolean>;
894
910
  description: z.ZodOptional<z.ZodString>;
895
911
  defaultValue: z.ZodOptional<z.ZodString>;
912
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
896
913
  }, z.core.$strict>>>;
897
914
  overloads: z.ZodDefault<z.ZodArray<z.ZodObject<{
898
915
  typeSignature: z.ZodString;
@@ -903,6 +920,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
903
920
  rest: z.ZodDefault<z.ZodBoolean>;
904
921
  description: z.ZodOptional<z.ZodString>;
905
922
  defaultValue: z.ZodOptional<z.ZodString>;
923
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
906
924
  }, z.core.$strict>>>;
907
925
  returnType: z.ZodOptional<z.ZodString>;
908
926
  genericParams: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -999,6 +1017,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
999
1017
  rest: z.ZodDefault<z.ZodBoolean>;
1000
1018
  description: z.ZodOptional<z.ZodString>;
1001
1019
  defaultValue: z.ZodOptional<z.ZodString>;
1020
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1002
1021
  }, z.core.$strict>>>;
1003
1022
  }, z.core.$strict>>>;
1004
1023
  acceptsChildren: z.ZodDefault<z.ZodBoolean>;
@@ -1047,6 +1066,7 @@ export declare const AnalyzeResultJson: z.ZodObject<{
1047
1066
  rest: z.ZodDefault<z.ZodBoolean>;
1048
1067
  description: z.ZodOptional<z.ZodString>;
1049
1068
  defaultValue: z.ZodOptional<z.ZodString>;
1069
+ propertyDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1050
1070
  }, z.core.$strict>>>;
1051
1071
  alsoExportedFrom: z.ZodDefault<z.ZodArray<z.ZodString>>;
1052
1072
  aliasOf: z.ZodOptional<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-core.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/analyze-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-core.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/analyze-core.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,16 @@ export declare const ensureLexerReady: () => Promise<void>;
115
115
  * @returns specifiers in declaration order
116
116
  */
117
117
  export declare const lexImports: (content: string, fileId: string) => Array<string>;
118
+ /**
119
+ * Whether a lexed specifier names a Node builtin (`fs`, `node:fs/promises`, …).
120
+ *
121
+ * Builtins can never be a project source file, so resolving them is pointless —
122
+ * and routing them through a host resolver (Vite/Rollup) makes that host emit
123
+ * "externalized for browser compatibility" warnings for browser-targeted
124
+ * configs. Callers skip resolution for these and treat them as unresolved
125
+ * (`null`), which the downstream `isSource` filter would do anyway.
126
+ */
127
+ export declare const isNodeBuiltin: (specifier: string) => boolean;
118
128
  /**
119
129
  * Create the default `ImportResolver` (TypeScript + tsconfig).
120
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dep-resolver.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dep-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,KACZ,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,uEAAuE;IACvE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAClC,OAAO,aAAa,GAAG,SAAS,KAC9B,cAAc,GAAG,SAC6E,CAAC;AAElG;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAErD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,KAAK,CAAC,MAAM,CAOxE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,EAAE,CAAC,eAAe,EACnC,aAAa,MAAM,KACjB,cAwBF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAC7B,eAAe,eAAe,EAC9B,WAAU,MAAM,GAAG,MAA0B,KAC3C,cAGD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,cAG5B,CAAC"}
1
+ {"version":3,"file":"dep-resolver.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/dep-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,KACZ,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,uEAAuE;IACvE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAClC,OAAO,aAAa,GAAG,SAAS,KAC9B,cAAc,GAAG,SAC6E,CAAC;AAElG;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAErD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,KAAK,CAAC,MAAM,CAOxE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,KAAG,OAA+B,CAAC;AAElF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,EAAE,CAAC,eAAe,EACnC,aAAa,MAAM,KACjB,cAwBF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAC7B,eAAe,eAAe,EAC9B,WAAU,MAAM,GAAG,MAA0B,KAC3C,cAGD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,cAG5B,CAAC"}
@@ -26,6 +26,7 @@
26
26
  *
27
27
  * @module
28
28
  */
29
+ import { isBuiltin } from 'node:module';
29
30
  import ts from 'typescript';
30
31
  import { init as esModuleLexerInit, parse as esModuleLexerParse } from 'es-module-lexer';
31
32
  /**
@@ -72,6 +73,16 @@ export const lexImports = (content, fileId) => {
72
73
  }
73
74
  return specifiers;
74
75
  };
76
+ /**
77
+ * Whether a lexed specifier names a Node builtin (`fs`, `node:fs/promises`, …).
78
+ *
79
+ * Builtins can never be a project source file, so resolving them is pointless —
80
+ * and routing them through a host resolver (Vite/Rollup) makes that host emit
81
+ * "externalized for browser compatibility" warnings for browser-targeted
82
+ * configs. Callers skip resolution for these and treat them as unresolved
83
+ * (`null`), which the downstream `isSource` filter would do anyway.
84
+ */
85
+ export const isNodeBuiltin = (specifier) => isBuiltin(specifier);
75
86
  /**
76
87
  * Create the default `ImportResolver` (TypeScript + tsconfig).
77
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,2GAA2G;IAC3G,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACpC,oEAAoE;IACpE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5B,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC;CACpB;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,aAAa,CA+BpF,CAAC;AAiCF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAC3B,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,SAAS;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,KAC3C,MAAM,GAAG,IAwCX,CAAC;AAkBF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,GAC/B,SAAS,uBAAuB,KAC9B,OAAO,CAAC,sBAAsB,CA0DhC,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,2GAA2G;IAC3G,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACpC,oEAAoE;IACpE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5B,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC;CACpB;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,aAAa,CA+BpF,CAAC;AAoCF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAC3B,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,SAAS;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,KAC3C,MAAM,GAAG,IAwCX,CAAC;AAkBF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,GAC/B,SAAS,uBAAuB,KAC9B,OAAO,CAAC,sBAAsB,CA0DhC,CAAC"}
package/dist/exports.js CHANGED
@@ -71,7 +71,10 @@ const flattenConditions = (value, prefix) => {
71
71
  }
72
72
  // Object = conditions map (possibly nested)
73
73
  if (typeof value === 'object' && !Array.isArray(value)) {
74
- const result = {};
74
+ // Null-prototype map: condition keys come from package.json `exports` (external
75
+ // input) and are read back by key in `selectCondition` (`key in conditions`,
76
+ // `conditions[key]`); avoids prototype keys leaking into membership/lookup.
77
+ const result = Object.create(null);
75
78
  for (const [key, nested] of Object.entries(value)) {
76
79
  const flattened = flattenConditions(nested, key);
77
80
  if (flattened) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAIN,KAAK,8BAA8B,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAE1C,OAAO,EAEN,KAAK,aAAa,EAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,KAAK,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAG9F,OAAO,EAGN,iBAAiB,EACjB,KAAK,YAAY,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC7B,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uEAAuE;IACvE,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/F,0DAA0D;IAC1D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mEAAmE;IACnE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,4EAA4E;IAC5E,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;IAC9C;;;;;;;;OAQG;IACH,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CACnD,8BAA8B,EAC9B,aAAa,GAAG,cAAc,CAC9B;IACA;;;;;;;;;OASG;IACH,aAAa,EAAE,mBAAmB,CAAC;IACnC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kDAAkD;IAClD,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AA+FD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,sBAAsB,KAAG,eA6cvE,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAIN,KAAK,8BAA8B,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAE1C,OAAO,EAEN,KAAK,aAAa,EAMlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,KAAK,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAG9F,OAAO,EAGN,iBAAiB,EACjB,KAAK,YAAY,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC7B,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uEAAuE;IACvE,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/F,0DAA0D;IAC1D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mEAAmE;IACnE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,4EAA4E;IAC5E,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC;IAC9C;;;;;;;;OAQG;IACH,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CACnD,8BAA8B,EAC9B,aAAa,GAAG,cAAc,CAC9B;IACA;;;;;;;;;OASG;IACH,aAAa,EAAE,mBAAmB,CAAC;IACnC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kDAAkD;IAClD,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AA+FD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,sBAAsB,KAAG,eAkdvE,CAAC"}
package/dist/session.js CHANGED
@@ -30,7 +30,7 @@
30
30
  */
31
31
  import { createAnalysisLanguageService, loadTsconfig, } from './typescript-program.js';
32
32
  import { transformSvelteSource } from './svelte.js';
33
- import { createDefaultResolver, ensureLexerReady, lexImports, normalizeResolveImport, } from './dep-resolver.js';
33
+ import { createDefaultResolver, ensureLexerReady, isNodeBuiltin, lexImports, normalizeResolveImport, } from './dep-resolver.js';
34
34
  import { isSource, normalizeSourceOptions } from './source-config.js';
35
35
  import { toPosixPath } from './paths.js';
36
36
  import { MAX_RESOLVE_CONCURRENCY, map_concurrent } from './concurrency.js';
@@ -342,6 +342,12 @@ export const createAnalysisSession = (options) => {
342
342
  if (p.cacheHit)
343
343
  continue;
344
344
  for (let si = 0; si < p.specifiers.length; si++) {
345
+ // Skip Node builtins — never a source file, and routing them
346
+ // through a host resolver (Vite/Rollup) provokes spurious
347
+ // "externalized for browser compatibility" warnings. The
348
+ // resolved slot stays `null` (its pre-filled default).
349
+ if (isNodeBuiltin(p.specifiers[si]))
350
+ continue;
345
351
  tasks.push({ pendingIdx: pi, specIdx: si, specifier: p.specifiers[si] });
346
352
  }
347
353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAC,oBAAoB,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACrD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GACxB,MAAM,EAAE,CAAC,IAAI,EACb,YAAY,EAAE,CAAC,UAAU,KACvB,kBAAkB,GAAG,SAoGvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC9B,aAAa,oBAAoB,GAAG,eAAe,EACnD,OAAO,kBAAkB,GAAG,SAAS,KACnC,IAgCF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OACsB,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,aAAa,MAAM,KAAG,MAAM,GAAG,SAW3D,CAAC"}
1
+ {"version":3,"file":"tsdoc.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAC,oBAAoB,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACrD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GACxB,MAAM,EAAE,CAAC,IAAI,EACb,YAAY,EAAE,CAAC,UAAU,KACvB,kBAAkB,GAAG,SA4GvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC9B,aAAa,oBAAoB,GAAG,eAAe,EACnD,OAAO,kBAAkB,GAAG,SAAS,KACnC,IAgCF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,EAAE,CAAC,IAAI,KAAG,OACsB,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,aAAa,MAAM,KAAG,MAAM,GAAG,SAW3D,CAAC"}
package/dist/tsdoc.js CHANGED
@@ -85,7 +85,12 @@ export const parseComment = (node, sourceFile) => {
85
85
  if (tsdocComments.length === 0)
86
86
  return undefined;
87
87
  let fullText = '';
88
- const params = {};
88
+ // Null-prototype map: keys are parameter names parsed from source. Without it,
89
+ // a parameter named after an `Object.prototype` key (`constructor`, `toString`,
90
+ // `__proto__`, …) with no matching `@param` tag would read the inherited
91
+ // prototype value on lookup (`tsdocParams?.[param.name]`) instead of `undefined`,
92
+ // and writing such a key (`@param __proto__`) would pollute the prototype.
93
+ const params = Object.create(null);
89
94
  let returns;
90
95
  let throws;
91
96
  let examples;
@@ -161,7 +166,10 @@ export const parseComment = (node, sourceFile) => {
161
166
  if (match) {
162
167
  const paramName = match[1];
163
168
  const description = match[2].trim();
164
- (mutates ??= {})[paramName] = description;
169
+ // Null-prototype map: `paramName` comes from source (`\w+` matches
170
+ // `__proto__`, `constructor`, …); a plain object would let such a key
171
+ // pollute the prototype on write and read back later by key.
172
+ (mutates ??= Object.create(null))[paramName] = description;
165
173
  }
166
174
  }
167
175
  else if (tagName === 'nodocs') {