@zzzen/pyright-internal 1.2.0-dev.20260222 → 1.2.0-dev.20260426

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 (233) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +9 -6
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +10 -1
  5. package/dist/analyzer/binder.js +258 -41
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/cellChainIndex.d.ts +34 -0
  8. package/dist/analyzer/cellChainIndex.js +126 -0
  9. package/dist/analyzer/cellChainIndex.js.map +1 -0
  10. package/dist/analyzer/checker.js +0 -1
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +16 -1
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/constructors.js +9 -2
  15. package/dist/analyzer/constructors.js.map +1 -1
  16. package/dist/analyzer/importResolver.d.ts +3 -21
  17. package/dist/analyzer/importResolver.js +42 -316
  18. package/dist/analyzer/importResolver.js.map +1 -1
  19. package/dist/analyzer/importResolverFileSystem.d.ts +3 -0
  20. package/dist/analyzer/importResolverFileSystem.js +160 -0
  21. package/dist/analyzer/importResolverFileSystem.js.map +1 -0
  22. package/dist/analyzer/importResolverTypes.d.ts +24 -0
  23. package/dist/analyzer/importResolverTypes.js +8 -0
  24. package/dist/analyzer/importResolverTypes.js.map +1 -0
  25. package/dist/analyzer/importStatementUtils.js +9 -0
  26. package/dist/analyzer/importStatementUtils.js.map +1 -1
  27. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  28. package/dist/analyzer/parseTreeUtils.js +24 -7
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +14 -2
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +5 -3
  33. package/dist/analyzer/program.js +40 -51
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/pythonPathUtils.d.ts +1 -1
  36. package/dist/analyzer/pythonPathUtils.js +3 -1
  37. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  38. package/dist/analyzer/scope.d.ts +10 -1
  39. package/dist/analyzer/scope.js +14 -1
  40. package/dist/analyzer/scope.js.map +1 -1
  41. package/dist/analyzer/service.d.ts +11 -6
  42. package/dist/analyzer/service.js +82 -83
  43. package/dist/analyzer/service.js.map +1 -1
  44. package/dist/analyzer/sourceEnumerator.d.ts +3 -0
  45. package/dist/analyzer/sourceEnumerator.js +27 -1
  46. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  47. package/dist/analyzer/sourceFile.d.ts +2 -1
  48. package/dist/analyzer/sourceFile.js +55 -25
  49. package/dist/analyzer/sourceFile.js.map +1 -1
  50. package/dist/analyzer/sourceFileInfo.d.ts +4 -0
  51. package/dist/analyzer/sourceFileInfo.js +9 -0
  52. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  53. package/dist/analyzer/sourceMapper.d.ts +1 -0
  54. package/dist/analyzer/sourceMapper.js +44 -0
  55. package/dist/analyzer/sourceMapper.js.map +1 -1
  56. package/dist/analyzer/tuples.js +3 -1
  57. package/dist/analyzer/tuples.js.map +1 -1
  58. package/dist/analyzer/typeEvaluator.js +102 -51
  59. package/dist/analyzer/typeEvaluator.js.map +1 -1
  60. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  61. package/dist/analyzer/typeEvaluatorTypes.js +4 -0
  62. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  63. package/dist/analyzer/typeGuards.js +28 -6
  64. package/dist/analyzer/typeGuards.js.map +1 -1
  65. package/dist/analyzer/typeStubWriter.d.ts +15 -50
  66. package/dist/analyzer/typeStubWriter.js +91 -9
  67. package/dist/analyzer/typeStubWriter.js.map +1 -1
  68. package/dist/analyzer/typeUtils.d.ts +1 -0
  69. package/dist/analyzer/typeUtils.js +27 -3
  70. package/dist/analyzer/typeUtils.js.map +1 -1
  71. package/dist/analyzer/typeshedInfoProvider.d.ts +2 -0
  72. package/dist/analyzer/typeshedInfoProvider.js +232 -0
  73. package/dist/analyzer/typeshedInfoProvider.js.map +1 -0
  74. package/dist/backgroundAnalysisBase.d.ts +3 -3
  75. package/dist/backgroundAnalysisBase.js +12 -9
  76. package/dist/backgroundAnalysisBase.js.map +1 -1
  77. package/dist/commands/createTypeStub.d.ts +16 -8
  78. package/dist/commands/createTypeStub.js +58 -36
  79. package/dist/commands/createTypeStub.js.map +1 -1
  80. package/dist/common/cancellationUtils.d.ts +7 -0
  81. package/dist/common/cancellationUtils.js +34 -0
  82. package/dist/common/cancellationUtils.js.map +1 -1
  83. package/dist/common/collectionUtils.d.ts +3 -3
  84. package/dist/common/collectionUtils.js.map +1 -1
  85. package/dist/common/core.d.ts +1 -1
  86. package/dist/common/core.js.map +1 -1
  87. package/dist/common/crypto.js +11 -0
  88. package/dist/common/crypto.js.map +1 -1
  89. package/dist/common/extensibility.d.ts +7 -0
  90. package/dist/common/extensibility.js.map +1 -1
  91. package/dist/common/fullAccessHost.js +4 -2
  92. package/dist/common/fullAccessHost.js.map +1 -1
  93. package/dist/common/pathUtils.d.ts +4 -1
  94. package/dist/common/pathUtils.js.map +1 -1
  95. package/dist/common/realFileSystem.js +42 -3
  96. package/dist/common/realFileSystem.js.map +1 -1
  97. package/dist/common/serviceKeys.d.ts +3 -0
  98. package/dist/common/serviceKeys.js +2 -0
  99. package/dist/common/serviceKeys.js.map +1 -1
  100. package/dist/common/serviceProviderExtensions.js.map +1 -1
  101. package/dist/common/uri/uriUtils.d.ts +4 -0
  102. package/dist/common/uri/uriUtils.js +19 -3
  103. package/dist/common/uri/uriUtils.js.map +1 -1
  104. package/dist/common/workspaceEditUtils.js +0 -2
  105. package/dist/common/workspaceEditUtils.js.map +1 -1
  106. package/dist/languageServerBase.d.ts +1 -0
  107. package/dist/languageServerBase.js +6 -0
  108. package/dist/languageServerBase.js.map +1 -1
  109. package/dist/languageService/completionProvider.d.ts +6 -0
  110. package/dist/languageService/completionProvider.js +252 -75
  111. package/dist/languageService/completionProvider.js.map +1 -1
  112. package/dist/languageService/definitionProvider.js +1 -1
  113. package/dist/languageService/definitionProvider.js.map +1 -1
  114. package/dist/languageService/documentSymbolCollector.js +34 -4
  115. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  116. package/dist/languageService/dynamicFeature.d.ts +3 -0
  117. package/dist/languageService/dynamicFeature.js +5 -0
  118. package/dist/languageService/dynamicFeature.js.map +1 -1
  119. package/dist/languageService/hoverProvider.d.ts +2 -1
  120. package/dist/languageService/hoverProvider.js +13 -5
  121. package/dist/languageService/hoverProvider.js.map +1 -1
  122. package/dist/languageService/pullDiagnosticsDynamicFeature.d.ts +1 -0
  123. package/dist/languageService/pullDiagnosticsDynamicFeature.js +4 -0
  124. package/dist/languageService/pullDiagnosticsDynamicFeature.js.map +1 -1
  125. package/dist/languageService/referencesProvider.js +5 -4
  126. package/dist/languageService/referencesProvider.js.map +1 -1
  127. package/dist/languageService/signatureHelpProvider.d.ts +1 -0
  128. package/dist/languageService/signatureHelpProvider.js +76 -2
  129. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  130. package/dist/languageService/symbolIndexer.d.ts +1 -0
  131. package/dist/languageService/symbolIndexer.js.map +1 -1
  132. package/dist/languageService/tooltipUtils.d.ts +11 -4
  133. package/dist/languageService/tooltipUtils.js +195 -7
  134. package/dist/languageService/tooltipUtils.js.map +1 -1
  135. package/dist/parser/characterStream.js +26 -2
  136. package/dist/parser/characterStream.js.map +1 -1
  137. package/dist/parser/parser.d.ts +2 -0
  138. package/dist/parser/parser.js +11 -7
  139. package/dist/parser/parser.js.map +1 -1
  140. package/dist/parser/tokenizer.d.ts +6 -2
  141. package/dist/parser/tokenizer.js +602 -202
  142. package/dist/parser/tokenizer.js.map +1 -1
  143. package/dist/parser/tokenizerTypes.js +115 -39
  144. package/dist/parser/tokenizerTypes.js.map +1 -1
  145. package/dist/partialStubService.d.ts +11 -0
  146. package/dist/partialStubService.js +23 -1
  147. package/dist/partialStubService.js.map +1 -1
  148. package/dist/pyright.js +13 -2
  149. package/dist/pyright.js.map +1 -1
  150. package/dist/tests/benchmarks/parserBenchmark.test.d.ts +1 -0
  151. package/dist/tests/benchmarks/parserBenchmark.test.js +220 -0
  152. package/dist/tests/benchmarks/parserBenchmark.test.js.map +1 -0
  153. package/dist/tests/benchmarks/tokenizerBenchmark.test.d.ts +1 -0
  154. package/dist/tests/benchmarks/tokenizerBenchmark.test.js +236 -0
  155. package/dist/tests/benchmarks/tokenizerBenchmark.test.js.map +1 -0
  156. package/dist/tests/chainedSourceFiles.test.js +138 -0
  157. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  158. package/dist/tests/checker.test.js +12 -0
  159. package/dist/tests/checker.test.js.map +1 -1
  160. package/dist/tests/completions.test.js +328 -0
  161. package/dist/tests/completions.test.js.map +1 -1
  162. package/dist/tests/config.test.js +54 -0
  163. package/dist/tests/config.test.js.map +1 -1
  164. package/dist/tests/filesystem.test.js +44 -0
  165. package/dist/tests/filesystem.test.js.map +1 -1
  166. package/dist/tests/fourSlashRunner.test.js +1 -1
  167. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  168. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js +25 -1
  169. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  170. package/dist/tests/fourslash/import.multipart3.fourslash.d.ts +1 -0
  171. package/dist/tests/fourslash/import.multipart3.fourslash.js +46 -0
  172. package/dist/tests/fourslash/import.multipart3.fourslash.js.map +1 -0
  173. package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.d.ts +1 -0
  174. package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js +33 -0
  175. package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js.map +1 -0
  176. package/dist/tests/harness/fourslash/runner.d.ts +4 -4
  177. package/dist/tests/harness/fourslash/runner.js +5 -5
  178. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  179. package/dist/tests/harness/fourslash/testState.d.ts +20 -5
  180. package/dist/tests/harness/fourslash/testState.js +11 -26
  181. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  182. package/dist/tests/harness/fourslash/testStateUtils.js +2 -0
  183. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  184. package/dist/tests/harness/testAccessHost.d.ts +3 -1
  185. package/dist/tests/harness/testAccessHost.js +6 -2
  186. package/dist/tests/harness/testAccessHost.js.map +1 -1
  187. package/dist/tests/harness/testHost.js +20 -18
  188. package/dist/tests/harness/testHost.js.map +1 -1
  189. package/dist/tests/harness/vfs/factory.js +4 -1
  190. package/dist/tests/harness/vfs/factory.js.map +1 -1
  191. package/dist/tests/harness/vfs/filesystem.d.ts +8 -1
  192. package/dist/tests/harness/vfs/filesystem.js +84 -30
  193. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  194. package/dist/tests/hoverProvider.test.js +290 -0
  195. package/dist/tests/hoverProvider.test.js.map +1 -1
  196. package/dist/tests/importResolverSupport.test.d.ts +1 -0
  197. package/dist/tests/importResolverSupport.test.js +319 -0
  198. package/dist/tests/importResolverSupport.test.js.map +1 -0
  199. package/dist/tests/importStatementUtils.test.js +66 -0
  200. package/dist/tests/importStatementUtils.test.js.map +1 -1
  201. package/dist/tests/lsp/{webpack.testserver.config.d.ts → rspack.testserver.config.d.ts} +1 -1
  202. package/dist/tests/lsp/{webpack.testserver.config.js → rspack.testserver.config.js} +4 -11
  203. package/dist/tests/lsp/rspack.testserver.config.js.map +1 -0
  204. package/dist/tests/realTempFile.test.d.ts +1 -0
  205. package/dist/tests/realTempFile.test.js +144 -0
  206. package/dist/tests/realTempFile.test.js.map +1 -0
  207. package/dist/tests/service.test.js +182 -3
  208. package/dist/tests/service.test.js.map +1 -1
  209. package/dist/tests/signatureHelp.test.js +391 -6
  210. package/dist/tests/signatureHelp.test.js.map +1 -1
  211. package/dist/tests/testState.test.js +19 -0
  212. package/dist/tests/testState.test.js.map +1 -1
  213. package/dist/tests/tokenizer.test.js +59 -2
  214. package/dist/tests/tokenizer.test.js.map +1 -1
  215. package/dist/tests/typeEvaluator1.test.js +4 -0
  216. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  217. package/dist/tests/typeEvaluator2.test.js +12 -0
  218. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  219. package/dist/tests/typeEvaluator3.test.js +8 -1
  220. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  221. package/dist/tests/typeEvaluator6.test.js +7 -0
  222. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  223. package/dist/tests/typeEvaluator8.test.js +13 -1
  224. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  225. package/dist/tests/uri.test.js +29 -0
  226. package/dist/tests/uri.test.js.map +1 -1
  227. package/dist/tests/wildcardImportPackageMerge.test.d.ts +1 -0
  228. package/dist/tests/wildcardImportPackageMerge.test.js +97 -0
  229. package/dist/tests/wildcardImportPackageMerge.test.js.map +1 -0
  230. package/dist/tests/workspaceEditUtils.test.js +0 -1
  231. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  232. package/package.json +16 -14
  233. package/dist/tests/lsp/webpack.testserver.config.js.map +0 -1
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ /*
3
+ * importResolverInfrastructure.test.ts
4
+ *
5
+ * Unit tests for the extracted ImportResolver infrastructure helpers.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const assert_1 = __importDefault(require("assert"));
12
+ const importResolverFileSystem_1 = require("../analyzer/importResolverFileSystem");
13
+ const importLogger_1 = require("../analyzer/importLogger");
14
+ const typeshedInfoProvider_1 = require("../analyzer/typeshedInfoProvider");
15
+ const pathConsts_1 = require("../common/pathConsts");
16
+ const pathUtils_1 = require("../common/pathUtils");
17
+ const pythonVersion_1 = require("../common/pythonVersion");
18
+ const uri_1 = require("../common/uri/uri");
19
+ const filesystem_1 = require("./harness/vfs/filesystem");
20
+ function normalizedPath(uri) {
21
+ return (0, pathUtils_1.normalizeSlashes)(uri.getFilePath(), '/');
22
+ }
23
+ describe('ImportResolverFileSystem', () => {
24
+ test('readdirEntriesSync caches per-directory and is cleared by invalidateCache', () => {
25
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
26
+ fs.mkdirpSync('/dir');
27
+ fs.writeFileSync(uri_1.Uri.file('/dir/a.py', fs), '');
28
+ const spy = jest.spyOn(fs, 'readdirEntriesSync');
29
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
30
+ cache.readdirEntriesSync(uri_1.Uri.file('/dir', fs));
31
+ cache.readdirEntriesSync(uri_1.Uri.file('/dir', fs));
32
+ assert_1.default.strictEqual(spy.mock.calls.length, 1);
33
+ cache.invalidateCache();
34
+ cache.readdirEntriesSync(uri_1.Uri.file('/dir', fs));
35
+ assert_1.default.strictEqual(spy.mock.calls.length, 2);
36
+ spy.mockRestore();
37
+ });
38
+ test('fileExists/dirExists follow symlinks via realpath (parity with pre-refactor behavior)', () => {
39
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
40
+ fs.mkdirpSync('/realDir');
41
+ fs.writeFileSync(uri_1.Uri.file('/realFile.txt', fs), 'x');
42
+ fs.mkdirpSync('/links');
43
+ fs.symlinkSync('/realFile.txt', '/links/fileLink.txt');
44
+ fs.symlinkSync('/realDir', '/links/dirLink');
45
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
46
+ assert_1.default.strictEqual(cache.fileExists(uri_1.Uri.file('/links/fileLink.txt', fs)), true);
47
+ assert_1.default.strictEqual(cache.fileExists(uri_1.Uri.file('/links/dirLink', fs)), false);
48
+ assert_1.default.strictEqual(cache.dirExists(uri_1.Uri.file('/links/dirLink', fs)), true);
49
+ assert_1.default.strictEqual(cache.dirExists(uri_1.Uri.file('/links/fileLink.txt', fs)), false);
50
+ });
51
+ test('fileExists/dirExists return false for missing paths and broken symlinks', () => {
52
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
53
+ fs.mkdirpSync('/links');
54
+ fs.symlinkSync('/doesNotExist', '/links/brokenLink');
55
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
56
+ assert_1.default.strictEqual(cache.fileExists(uri_1.Uri.file('/missingFile', fs)), false);
57
+ assert_1.default.strictEqual(cache.dirExists(uri_1.Uri.file('/missingDir', fs)), false);
58
+ assert_1.default.strictEqual(cache.fileExists(uri_1.Uri.file('/links/brokenLink', fs)), false);
59
+ assert_1.default.strictEqual(cache.dirExists(uri_1.Uri.file('/links/brokenLink', fs)), false);
60
+ });
61
+ test('dirExists caches existence checks for root', () => {
62
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
63
+ const statSpy = jest.spyOn(fs, 'statSync');
64
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
65
+ const root = uri_1.Uri.file('/', fs);
66
+ assert_1.default.strictEqual(cache.dirExists(root), true);
67
+ assert_1.default.strictEqual(cache.dirExists(root), true);
68
+ // For the root path we should consult the filesystem once and then cache the result.
69
+ assert_1.default.strictEqual(statSpy.mock.calls.length, 1);
70
+ statSpy.mockRestore();
71
+ });
72
+ test('getFilesInDirectory returns files and symlinks-to-files and caches results', () => {
73
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
74
+ fs.mkdirpSync('/dir');
75
+ fs.writeFileSync(uri_1.Uri.file('/dir/a.py', fs), '');
76
+ fs.writeFileSync(uri_1.Uri.file('/realFile.txt', fs), 'x');
77
+ fs.symlinkSync('/realFile.txt', '/dir/fileLink.txt');
78
+ const readdirSpy = jest.spyOn(fs, 'readdirEntriesSync');
79
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
80
+ const dir = uri_1.Uri.file('/dir', fs);
81
+ const files1 = cache.getFilesInDirectory(dir);
82
+ (0, assert_1.default)(files1.some((u) => normalizedPath(u) === '/dir/a.py'));
83
+ (0, assert_1.default)(files1.some((u) => normalizedPath(u) === '/dir/fileLink.txt'));
84
+ const callsAfterFirst = readdirSpy.mock.calls.length;
85
+ const files2 = cache.getFilesInDirectory(dir);
86
+ assert_1.default.deepStrictEqual(files2.map((u) => normalizedPath(u)).sort(), files1.map((u) => normalizedPath(u)).sort());
87
+ // Second call should be served from cache.
88
+ assert_1.default.strictEqual(readdirSpy.mock.calls.length, callsAfterFirst);
89
+ readdirSpy.mockRestore();
90
+ });
91
+ test('getFilesInDirectory is stale until invalidateCache', () => {
92
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
93
+ fs.mkdirpSync('/dir');
94
+ fs.writeFileSync(uri_1.Uri.file('/dir/a.py', fs), '');
95
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
96
+ const dir = uri_1.Uri.file('/dir', fs);
97
+ const files1 = cache
98
+ .getFilesInDirectory(dir)
99
+ .map((u) => normalizedPath(u))
100
+ .sort();
101
+ assert_1.default.deepStrictEqual(files1, ['/dir/a.py']);
102
+ fs.writeFileSync(uri_1.Uri.file('/dir/b.py', fs), '');
103
+ // Served from cache, so it won't include newly-added files.
104
+ const files2 = cache
105
+ .getFilesInDirectory(dir)
106
+ .map((u) => normalizedPath(u))
107
+ .sort();
108
+ assert_1.default.deepStrictEqual(files2, ['/dir/a.py']);
109
+ cache.invalidateCache();
110
+ const files3 = cache
111
+ .getFilesInDirectory(dir)
112
+ .map((u) => normalizedPath(u))
113
+ .sort();
114
+ assert_1.default.deepStrictEqual(files3, ['/dir/a.py', '/dir/b.py']);
115
+ });
116
+ test('getResolvableNamesInDirectory includes extensionless file names and -stubs suffix stripping', () => {
117
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
118
+ fs.mkdirpSync('/dir');
119
+ fs.mkdirpSync('/dir/pkg-stubs');
120
+ fs.writeFileSync(uri_1.Uri.file('/dir/foo.cpython-311-x86_64-linux-gnu.so', fs), '');
121
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
122
+ const names = cache.getResolvableNamesInDirectory(uri_1.Uri.file('/dir', fs));
123
+ (0, assert_1.default)(names.has('pkg-stubs'));
124
+ (0, assert_1.default)(names.has('pkg'));
125
+ (0, assert_1.default)(names.has('foo'));
126
+ });
127
+ test('getResolvableNamesInDirectory strips extensions (including multi-dot) and follows symlinks for file-ness', () => {
128
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
129
+ fs.mkdirpSync('/dir');
130
+ fs.writeFileSync(uri_1.Uri.file('/dir/a.py', fs), '');
131
+ fs.writeFileSync(uri_1.Uri.file('/dir/b.pyi', fs), '');
132
+ fs.writeFileSync(uri_1.Uri.file('/dir/c.pyc', fs), '');
133
+ fs.writeFileSync(uri_1.Uri.file('/dir/foo.cpython-311-x86_64-linux-gnu.so', fs), '');
134
+ fs.writeFileSync(uri_1.Uri.file('/real.pyi', fs), 'x');
135
+ fs.symlinkSync('/real.pyi', '/dir/link.pyi');
136
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
137
+ const names = cache.getResolvableNamesInDirectory(uri_1.Uri.file('/dir', fs));
138
+ (0, assert_1.default)(names.has('a'));
139
+ (0, assert_1.default)(names.has('b'));
140
+ (0, assert_1.default)(names.has('c'));
141
+ (0, assert_1.default)(names.has('foo'));
142
+ (0, assert_1.default)(names.has('link'));
143
+ });
144
+ test('readdirEntriesSync failures are swallowed and cached until invalidateCache', () => {
145
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
146
+ fs.mkdirpSync('/boom');
147
+ const original = fs.readdirEntriesSync.bind(fs);
148
+ const readdirSpy = jest.spyOn(fs, 'readdirEntriesSync').mockImplementation((uri) => {
149
+ if (normalizedPath(uri) === '/boom') {
150
+ throw new Error('boom');
151
+ }
152
+ return original(uri);
153
+ });
154
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
155
+ assert_1.default.deepStrictEqual(cache.readdirEntriesSync(uri_1.Uri.file('/boom', fs)), []);
156
+ assert_1.default.deepStrictEqual(cache.readdirEntriesSync(uri_1.Uri.file('/boom', fs)), []);
157
+ // Only one underlying call, and then we serve the cached empty value.
158
+ assert_1.default.strictEqual(readdirSpy.mock.calls.length, 1);
159
+ cache.invalidateCache();
160
+ assert_1.default.deepStrictEqual(cache.readdirEntriesSync(uri_1.Uri.file('/boom', fs)), []);
161
+ assert_1.default.strictEqual(readdirSpy.mock.calls.length, 2);
162
+ readdirSpy.mockRestore();
163
+ });
164
+ });
165
+ describe('TypeshedInfoProvider (default)', () => {
166
+ function createFsWithTypeshedLayout() {
167
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
168
+ const typeshedRoot = `/${pathConsts_1.typeshedFallback}`;
169
+ fs.mkdirpSync(typeshedRoot);
170
+ fs.mkdirpSync(`${typeshedRoot}/stdlib`);
171
+ fs.mkdirpSync(`${typeshedRoot}/stubs`);
172
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
173
+ const provider = (0, typeshedInfoProvider_1.createDefaultTypeshedInfoProvider)(cache);
174
+ return { fs, cache, provider, typeshedRoot };
175
+ }
176
+ test('getTypeshedRoot prefers custom path when present, otherwise falls back', () => {
177
+ const { fs, provider, typeshedRoot } = createFsWithTypeshedLayout();
178
+ fs.mkdirpSync('/customTypeshed');
179
+ const custom = uri_1.Uri.file('/customTypeshed', fs);
180
+ const resolvedCustom = provider.getTypeshedRoot(custom);
181
+ (0, assert_1.default)(resolvedCustom);
182
+ assert_1.default.strictEqual(normalizedPath(resolvedCustom), '/customTypeshed');
183
+ const resolvedFallback = provider.getTypeshedRoot(undefined);
184
+ (0, assert_1.default)(resolvedFallback);
185
+ assert_1.default.strictEqual(normalizedPath(resolvedFallback), typeshedRoot);
186
+ });
187
+ test('getTypeshedRoot ignores a custom typeshed path that is not a directory', () => {
188
+ const { fs, provider, typeshedRoot } = createFsWithTypeshedLayout();
189
+ const customPath = uri_1.Uri.file('/customTypeshed', fs);
190
+ fs.writeFileSync(customPath, 'not a directory');
191
+ const resolved = provider.getTypeshedRoot(customPath);
192
+ (0, assert_1.default)(resolved);
193
+ assert_1.default.strictEqual(normalizedPath(resolved), typeshedRoot);
194
+ });
195
+ test('getTypeshedSubdirectory returns undefined when the expected subdirectory does not exist', () => {
196
+ const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: '/' });
197
+ const typeshedRoot = `/${pathConsts_1.typeshedFallback}`;
198
+ fs.mkdirpSync(typeshedRoot);
199
+ fs.mkdirpSync(`${typeshedRoot}/stdlib`);
200
+ // Intentionally omit `${typeshedRoot}/stubs`.
201
+ const cache = (0, importResolverFileSystem_1.createImportResolverFileSystem)(fs);
202
+ const provider = (0, typeshedInfoProvider_1.createDefaultTypeshedInfoProvider)(cache);
203
+ assert_1.default.strictEqual(provider.getTypeshedSubdirectory(/* isStdLib */ false, /* customTypeshedPath */ undefined), undefined);
204
+ });
205
+ test('getThirdPartyPackageMap builds expected map and is memoized (independent of filesystem cache)', () => {
206
+ const { fs, cache, provider, typeshedRoot } = createFsWithTypeshedLayout();
207
+ // Build a minimal stubs layout:
208
+ // stubs/a/foo/
209
+ // stubs/a/bar.pyi
210
+ // stubs/a/@python2/ (ignored)
211
+ // stubs/b/foo/
212
+ fs.mkdirpSync(`${typeshedRoot}/stubs/a/foo`);
213
+ fs.mkdirpSync(`${typeshedRoot}/stubs/a/@python2`);
214
+ fs.writeFileSync(uri_1.Uri.file(`${typeshedRoot}/stubs/a/bar.pyi`, fs), '');
215
+ fs.writeFileSync(uri_1.Uri.file(`${typeshedRoot}/stubs/a/readme.txt`, fs), '');
216
+ fs.mkdirpSync(`${typeshedRoot}/stubs/b/foo`);
217
+ fs.writeFileSync(uri_1.Uri.file(`${typeshedRoot}/stubs/outerFile.txt`, fs), '');
218
+ const readdirSpy = jest.spyOn(fs, 'readdirEntriesSync');
219
+ const [packageMap, roots] = provider.getThirdPartyPackageMap(undefined);
220
+ assert_1.default.deepStrictEqual(roots.map((u) => normalizedPath(u)).sort(), [`${typeshedRoot}/stubs/a`, `${typeshedRoot}/stubs/b`].sort());
221
+ const fooPaths = packageMap.get('foo');
222
+ (0, assert_1.default)(fooPaths);
223
+ assert_1.default.deepStrictEqual(fooPaths.map((u) => normalizedPath(u)).sort(), [`${typeshedRoot}/stubs/a`, `${typeshedRoot}/stubs/b`].sort());
224
+ const barPaths = packageMap.get('bar');
225
+ (0, assert_1.default)(barPaths);
226
+ assert_1.default.deepStrictEqual(barPaths.map((u) => normalizedPath(u)), [`${typeshedRoot}/stubs/a`]);
227
+ (0, assert_1.default)(!packageMap.has('@python2'));
228
+ (0, assert_1.default)(!packageMap.has('readme'));
229
+ const callsAfterFirst = readdirSpy.mock.calls.length;
230
+ // Clear the ImportResolverFileSystem cache to ensure TypeshedInfoProvider memoization is effective.
231
+ cache.invalidateCache();
232
+ const [packageMap2, roots2] = provider.getThirdPartyPackageMap(undefined);
233
+ assert_1.default.strictEqual(packageMap2, packageMap);
234
+ assert_1.default.strictEqual(roots2, roots);
235
+ // Should not have re-enumerated directories.
236
+ assert_1.default.strictEqual(readdirSpy.mock.calls.length, callsAfterFirst);
237
+ readdirSpy.mockRestore();
238
+ });
239
+ test('getStdLibModuleVersionInfo parses VERSIONS and is memoized (independent of filesystem cache)', () => {
240
+ const { fs, cache, provider, typeshedRoot } = createFsWithTypeshedLayout();
241
+ const versionsUri = uri_1.Uri.file(`${typeshedRoot}/stdlib/VERSIONS`, fs);
242
+ fs.writeFileSync(versionsUri, [
243
+ 'asyncio: 3.4-',
244
+ 'distutils: 3.0-3.10 ; platforms=win32, !linux',
245
+ 'bar: -3.8',
246
+ 'email: 3.6+ # plus suffix is allowed',
247
+ 'this is not valid',
248
+ ': 3.7- # missing module name',
249
+ ].join('\n'), 'utf8');
250
+ const statSpy = jest.spyOn(fs, 'statSync');
251
+ const readSpy = jest.spyOn(fs, 'readFileSync');
252
+ const versionInfo = provider.getStdLibModuleVersionInfo(undefined);
253
+ const asyncio = versionInfo.get('asyncio');
254
+ (0, assert_1.default)(asyncio);
255
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(asyncio.min, pythonVersion_1.PythonVersion.fromString('3.4')));
256
+ assert_1.default.strictEqual(asyncio.max, undefined);
257
+ const distutils = versionInfo.get('distutils');
258
+ (0, assert_1.default)(distutils);
259
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(distutils.min, pythonVersion_1.PythonVersion.fromString('3.0')));
260
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(distutils.max, pythonVersion_1.PythonVersion.fromString('3.10')));
261
+ assert_1.default.deepStrictEqual(distutils.supportedPlatforms, ['win32']);
262
+ assert_1.default.deepStrictEqual(distutils.unsupportedPlatforms, ['linux']);
263
+ const bar = versionInfo.get('bar');
264
+ (0, assert_1.default)(bar);
265
+ // Empty min version defaults to 3.0.
266
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(bar.min, pythonVersion_1.PythonVersion.fromString('3.0')));
267
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(bar.max, pythonVersion_1.PythonVersion.fromString('3.8')));
268
+ const email = versionInfo.get('email');
269
+ (0, assert_1.default)(email);
270
+ (0, assert_1.default)(pythonVersion_1.PythonVersion.isEqualTo(email.min, pythonVersion_1.PythonVersion.fromString('3.6')));
271
+ const statCallsAfterFirst = statSpy.mock.calls.length;
272
+ const readCallsAfterFirst = readSpy.mock.calls.length;
273
+ // Clear the ImportResolverFileSystem cache to ensure TypeshedInfoProvider memoization is effective.
274
+ cache.invalidateCache();
275
+ const versionInfo2 = provider.getStdLibModuleVersionInfo(undefined);
276
+ assert_1.default.strictEqual(versionInfo2, versionInfo);
277
+ assert_1.default.strictEqual(statSpy.mock.calls.length, statCallsAfterFirst);
278
+ assert_1.default.strictEqual(readSpy.mock.calls.length, readCallsAfterFirst);
279
+ statSpy.mockRestore();
280
+ readSpy.mockRestore();
281
+ });
282
+ test('getStdLibModuleVersionInfo memoizes an empty result when VERSIONS is missing', () => {
283
+ const { fs, provider, typeshedRoot } = createFsWithTypeshedLayout();
284
+ // No VERSIONS file.
285
+ const versionInfo1 = provider.getStdLibModuleVersionInfo(undefined);
286
+ assert_1.default.strictEqual(versionInfo1.size, 0);
287
+ // Create it later; memoization should keep returning the originally computed value.
288
+ fs.writeFileSync(uri_1.Uri.file(`${typeshedRoot}/stdlib/VERSIONS`, fs), 'asyncio: 3.4-', 'utf8');
289
+ const versionInfo2 = provider.getStdLibModuleVersionInfo(undefined);
290
+ assert_1.default.strictEqual(versionInfo2, versionInfo1);
291
+ assert_1.default.strictEqual(versionInfo2.size, 0);
292
+ });
293
+ test('getStdLibModuleVersionInfo logs and skips reading when VERSIONS is too large', () => {
294
+ const { fs, provider, typeshedRoot } = createFsWithTypeshedLayout();
295
+ const versionsUri = uri_1.Uri.file(`${typeshedRoot}/stdlib/VERSIONS`, fs);
296
+ fs.writeFileSync(versionsUri, 'a'.repeat(256 * 1024), 'utf8');
297
+ const importLogger = new importLogger_1.ImportLogger();
298
+ const readSpy = jest.spyOn(fs, 'readFileSync');
299
+ const versionInfo = provider.getStdLibModuleVersionInfo(undefined, importLogger);
300
+ assert_1.default.strictEqual(versionInfo.size, 0);
301
+ assert_1.default.strictEqual(readSpy.mock.calls.length, 0);
302
+ (0, assert_1.default)(importLogger.getLogs().some((l) => l.includes('unexpectedly large')));
303
+ readSpy.mockRestore();
304
+ });
305
+ test('getStdLibModuleVersionInfo logs and returns empty when reading VERSIONS throws', () => {
306
+ const { fs, provider, typeshedRoot } = createFsWithTypeshedLayout();
307
+ const versionsUri = uri_1.Uri.file(`${typeshedRoot}/stdlib/VERSIONS`, fs);
308
+ fs.writeFileSync(versionsUri, 'asyncio: 3.4-', 'utf8');
309
+ const importLogger = new importLogger_1.ImportLogger();
310
+ const readSpy = jest.spyOn(fs, 'readFileSync').mockImplementation(() => {
311
+ throw new Error('read failed');
312
+ });
313
+ const versionInfo = provider.getStdLibModuleVersionInfo(undefined, importLogger);
314
+ assert_1.default.strictEqual(versionInfo.size, 0);
315
+ (0, assert_1.default)(importLogger.getLogs().some((l) => l.includes('Could not read typeshed stdlib VERSIONS file')));
316
+ readSpy.mockRestore();
317
+ });
318
+ });
319
+ //# sourceMappingURL=importResolverSupport.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importResolverSupport.test.js","sourceRoot":"","sources":["../../../../../src/tests/importResolverSupport.test.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,72 @@ test('getTextEditsForAutoImportInsertion - at the top after module doc string',
128
128
  `;
129
129
  testInsertion(code, 'marker1', [{ alias: 's' }, { name: 'path', alias: 'p' }], 'sys', 0 /* ImportType.BuiltIn */);
130
130
  });
131
+ test('getTextEditsForAutoImportInsertion - insert before different group adds blank line', () => {
132
+ const code = `
133
+ // @filename: mypkg/__init__.py
134
+ //// pass
135
+
136
+ // @filename: test.py
137
+ //// [|/*range1*/{|"r":"import sys!n!!n!"|}|]from mypkg import foo
138
+ //// foo()/*marker1*/
139
+ `;
140
+ testInsertion(code, 'marker1', {}, 'sys', 0 /* ImportType.BuiltIn */);
141
+ });
142
+ test('getTextEditsForAutoImportInsertion - insert before unresolved import adds blank line', () => {
143
+ const code = `
144
+ // @filename: test.py
145
+ //// [|/*range1*/{|"r":"import sys!n!!n!"|}|]import unknownpkg
146
+ //// unknownpkg./*marker1*/foo
147
+ `;
148
+ testInsertion(code, 'marker1', {}, 'sys', 0 /* ImportType.BuiltIn */);
149
+ });
150
+ test('getTextEditsForAutoImportInsertion - insert before same group does not add blank line (local)', () => {
151
+ const code = `
152
+ // @filename: aaa/__init__.py
153
+ //// pass
154
+
155
+ // @filename: mypkg/__init__.py
156
+ //// pass
157
+
158
+ // @filename: test.py
159
+ //// [|/*range1*/{|"r":"import aaa!n!"|}|]from mypkg import foo
160
+ //// foo()/*marker1*/
161
+ `;
162
+ testInsertion(code, 'marker1', {}, 'aaa', 2 /* ImportType.Local */);
163
+ });
164
+ test('getTextEditsForAutoImportInsertion - insert before same group does not add blank line (built-in)', () => {
165
+ const code = `
166
+ // @filename: test.py
167
+ //// [|/*range1*/{|"r":"import sys!n!"|}|]import zlib
168
+ //// zlib./*marker1*/crc32(b'')
169
+ `;
170
+ testInsertion(code, 'marker1', {}, 'sys', 0 /* ImportType.BuiltIn */);
171
+ });
172
+ test('getTextEditsForAutoImportInsertion - insert before local relative adds blank line', () => {
173
+ const code = `
174
+ // @filename: mypkg/__init__.py
175
+ //// pass
176
+
177
+ // @filename: mypkg/test.py
178
+ //// [|/*range1*/{|"r":"import sys!n!!n!"|}|]from . import foo
179
+ //// foo()/*marker1*/
180
+ `;
181
+ testInsertion(code, 'marker1', {}, 'sys', 0 /* ImportType.BuiltIn */);
182
+ });
183
+ test('getTextEditsForAutoImportInsertion - insert third-party before local relative adds blank line', () => {
184
+ const code = `
185
+ // @filename: mypkg/__init__.py
186
+ //// pass
187
+
188
+ // @filename: mypkg/foo.py
189
+ //// bar = 1
190
+
191
+ // @filename: mypkg/test.py
192
+ //// [|/*range1*/{|"r":"import numpy!n!!n!"|}|]from .foo import bar
193
+ //// bar/*marker1*/
194
+ `;
195
+ testInsertion(code, 'marker1', {}, 'numpy', 1 /* ImportType.ThirdParty */);
196
+ });
131
197
  test('getTextEditsForAutoImportInsertions - mix of import and from import statements', () => {
132
198
  const code = `
133
199
  //// [|/*marker1*/{|"r":"import sys as s!n!from sys import path as p!n!!n!!n!"|}|]import os
@@ -1 +1 @@
1
- {"version":3,"file":"importStatementUtils.test.js","sourceRoot":"","sources":["../../../../../src/tests/importStatementUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importStatementUtils.test.js","sourceRoot":"","sources":["../../../../../src/tests/importStatementUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  declare const _exports: (env: any, argv: {
2
2
  mode: "production" | "development" | "none";
3
- }) => import("webpack").Configuration;
3
+ }) => import("@rspack/core").Configuration;
4
4
  export = _exports;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
- /**
3
- * webpack.config-cli.js
4
- * Copyright: Microsoft 2018
5
- */
6
2
  const path = require('path');
7
- const CopyPlugin = require('copy-webpack-plugin');
3
+ const rspack = require('@rspack/core');
8
4
  const { tsconfigResolveAliases } = require('../../../../../build/lib/webpack');
9
5
  const outPath = path.resolve(__dirname, '..', '..', '..', 'out');
10
6
  const typeshedFallback = path.resolve(__dirname, '..', '..', '..', 'typeshed-fallback');
11
- /**@type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => import('webpack').Configuration}*/
7
+ /**@type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => import('@rspack/core').Configuration}*/
12
8
  module.exports = (_, { mode }) => {
13
9
  return {
14
10
  context: __dirname,
@@ -47,9 +43,6 @@ module.exports = (_, { mode }) => {
47
43
  },
48
44
  },
49
45
  {
50
- // Transform pre-compiled JS files to use syntax available in Node 12+.
51
- // esbuild is fast, so let it run on all JS files rather than matching
52
- // only known-bad libs.
53
46
  test: /\.js$/,
54
47
  loader: 'esbuild-loader',
55
48
  options: {
@@ -58,7 +51,7 @@ module.exports = (_, { mode }) => {
58
51
  },
59
52
  ],
60
53
  },
61
- plugins: [new CopyPlugin({ patterns: [{ from: typeshedFallback, to: 'typeshed-fallback' }] })],
54
+ plugins: [new rspack.CopyRspackPlugin({ patterns: [{ from: typeshedFallback, to: 'typeshed-fallback' }] })],
62
55
  };
63
56
  };
64
- //# sourceMappingURL=webpack.testserver.config.js.map
57
+ //# sourceMappingURL=rspack.testserver.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rspack.testserver.config.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/rspack.testserver.config.js"],"names":[],"mappings":";AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACvC,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAE/E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAExF,sHAAsH;AACtH,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,OAAO;QACH,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE;YACH,UAAU,EAAE,WAAW;SAC1B;QACD,MAAM,EAAE,MAAM;QACd,MAAM,EAAE;YACJ,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,WAAW;YAC1B,6BAA6B,EAAE,0BAA0B;SAC5D;QACD,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE;YACH,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;SAChB;QACD,OAAO,EAAE;YACL,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YAC1B,KAAK,EAAE,sBAAsB,CAAC,eAAe,CAAC;SACjD;QACD,SAAS,EAAE;YACP,QAAQ,EAAE,oBAAoB;SACjC;QACD,MAAM,EAAE;YACJ,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE;wBACL,UAAU,EAAE,eAAe;qBAC9B;iBACJ;gBACD;oBACI,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE;wBACL,MAAM,EAAE,QAAQ;qBACnB;iBACJ;aACJ;SACJ;QACD,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;KAC9G,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};