@zzzen/pyright-internal 1.2.0-dev.20260222 → 1.2.0-dev.20260422
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/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +9 -6
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.d.ts +10 -1
- package/dist/analyzer/binder.js +258 -41
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cellChainIndex.d.ts +34 -0
- package/dist/analyzer/cellChainIndex.js +126 -0
- package/dist/analyzer/cellChainIndex.js.map +1 -0
- package/dist/analyzer/checker.js +0 -1
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +16 -1
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constructors.js +9 -2
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +3 -21
- package/dist/analyzer/importResolver.js +42 -316
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResolverFileSystem.d.ts +3 -0
- package/dist/analyzer/importResolverFileSystem.js +160 -0
- package/dist/analyzer/importResolverFileSystem.js.map +1 -0
- package/dist/analyzer/importResolverTypes.d.ts +24 -0
- package/dist/analyzer/importResolverTypes.js +8 -0
- package/dist/analyzer/importResolverTypes.js.map +1 -0
- package/dist/analyzer/importStatementUtils.js +9 -0
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +24 -7
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +14 -2
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +5 -3
- package/dist/analyzer/program.js +40 -51
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +1 -1
- package/dist/analyzer/pythonPathUtils.js +3 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/scope.d.ts +10 -1
- package/dist/analyzer/scope.js +14 -1
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/service.d.ts +11 -6
- package/dist/analyzer/service.js +82 -83
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceEnumerator.d.ts +3 -0
- package/dist/analyzer/sourceEnumerator.js +27 -1
- package/dist/analyzer/sourceEnumerator.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -1
- package/dist/analyzer/sourceFile.js +2 -2
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfo.d.ts +4 -0
- package/dist/analyzer/sourceFileInfo.js +9 -0
- package/dist/analyzer/sourceFileInfo.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -0
- package/dist/analyzer/sourceMapper.js +44 -0
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/tuples.js +3 -1
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +102 -51
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
- package/dist/analyzer/typeEvaluatorTypes.js +4 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +28 -6
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +15 -50
- package/dist/analyzer/typeStubWriter.js +91 -9
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +27 -3
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeshedInfoProvider.d.ts +2 -0
- package/dist/analyzer/typeshedInfoProvider.js +232 -0
- package/dist/analyzer/typeshedInfoProvider.js.map +1 -0
- package/dist/backgroundAnalysisBase.d.ts +3 -3
- package/dist/backgroundAnalysisBase.js +12 -9
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +16 -8
- package/dist/commands/createTypeStub.js +58 -36
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +7 -0
- package/dist/common/cancellationUtils.js +34 -0
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/collectionUtils.d.ts +3 -3
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/core.d.ts +1 -1
- package/dist/common/core.js.map +1 -1
- package/dist/common/crypto.js +11 -0
- package/dist/common/crypto.js.map +1 -1
- package/dist/common/extensibility.d.ts +7 -0
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fullAccessHost.js +4 -2
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/pathUtils.d.ts +4 -1
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.js +42 -3
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +4 -0
- package/dist/common/uri/uriUtils.js +19 -3
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +0 -2
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +1 -0
- package/dist/languageServerBase.js +6 -0
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +6 -0
- package/dist/languageService/completionProvider.js +252 -75
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +1 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +34 -4
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/dynamicFeature.d.ts +3 -0
- package/dist/languageService/dynamicFeature.js +5 -0
- package/dist/languageService/dynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +13 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/pullDiagnosticsDynamicFeature.d.ts +1 -0
- package/dist/languageService/pullDiagnosticsDynamicFeature.js +4 -0
- package/dist/languageService/pullDiagnosticsDynamicFeature.js.map +1 -1
- package/dist/languageService/referencesProvider.js +5 -4
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +1 -0
- package/dist/languageService/signatureHelpProvider.js +76 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +1 -0
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.d.ts +11 -4
- package/dist/languageService/tooltipUtils.js +195 -7
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/parser/tokenizer.js +6 -2
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/partialStubService.d.ts +11 -0
- package/dist/partialStubService.js +23 -1
- package/dist/partialStubService.js.map +1 -1
- package/dist/pyright.js +13 -2
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +138 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +12 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +328 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +54 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +44 -0
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js +1 -1
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js +25 -1
- package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.multipart3.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.multipart3.fourslash.js +46 -0
- package/dist/tests/fourslash/import.multipart3.fourslash.js.map +1 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js +33 -0
- package/dist/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/runner.d.ts +4 -4
- package/dist/tests/harness/fourslash/runner.js +5 -5
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +20 -5
- package/dist/tests/harness/fourslash/testState.js +11 -26
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -0
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -1
- package/dist/tests/harness/testAccessHost.js +6 -2
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +20 -18
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +4 -1
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +8 -1
- package/dist/tests/harness/vfs/filesystem.js +84 -30
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +290 -0
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/importResolverSupport.test.d.ts +1 -0
- package/dist/tests/importResolverSupport.test.js +319 -0
- package/dist/tests/importResolverSupport.test.js.map +1 -0
- package/dist/tests/importStatementUtils.test.js +66 -0
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/lsp/{webpack.testserver.config.d.ts → rspack.testserver.config.d.ts} +1 -1
- package/dist/tests/lsp/{webpack.testserver.config.js → rspack.testserver.config.js} +4 -11
- package/dist/tests/lsp/rspack.testserver.config.js.map +1 -0
- package/dist/tests/realTempFile.test.d.ts +1 -0
- package/dist/tests/realTempFile.test.js +144 -0
- package/dist/tests/realTempFile.test.js.map +1 -0
- package/dist/tests/service.test.js +182 -3
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +391 -6
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/testState.test.js +19 -0
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +42 -0
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +7 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +13 -1
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/uri.test.js +29 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/wildcardImportPackageMerge.test.d.ts +1 -0
- package/dist/tests/wildcardImportPackageMerge.test.js +97 -0
- package/dist/tests/wildcardImportPackageMerge.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +0 -1
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/package.json +12 -11
- package/dist/tests/lsp/webpack.testserver.config.js.map +0 -1
package/dist/analyzer/service.js
CHANGED
|
@@ -60,6 +60,7 @@ const sourceFile_1 = require("./sourceFile");
|
|
|
60
60
|
// the analyzer on any files that have not yet been analyzed?
|
|
61
61
|
const _userActivityBackoffTimeInMs = 250;
|
|
62
62
|
const _gitDirectory = (0, pathUtils_1.normalizeSlashes)('/.git/');
|
|
63
|
+
const _pyTypedMarkerFileName = 'py.typed';
|
|
63
64
|
// Hold uniqueId for this service. It can be used to distinguish each service later.
|
|
64
65
|
let _nextServiceId = 1;
|
|
65
66
|
function getNextServiceId(name) {
|
|
@@ -216,12 +217,10 @@ class AnalyzerService {
|
|
|
216
217
|
// Open the file. Notebook cells are always tracked as they aren't 3rd party library files.
|
|
217
218
|
// This is how it's worked in the past since each notebook used to have its own
|
|
218
219
|
// workspace and the workspace include setting marked all cells as tracked.
|
|
219
|
-
//
|
|
220
|
-
|
|
221
|
-
// (e.g. files imported via extraPaths in another workspace) invalidate the program
|
|
222
|
-
// and are reflected immediately in language features like hover/rename.
|
|
220
|
+
// Untitled files also exist only in memory and should be treated as virtual.
|
|
221
|
+
const isVirtual = ipythonMode !== sourceFile_1.IPythonMode.None || uri.isUntitled();
|
|
223
222
|
this._backgroundAnalysisProgram.setFileOpened(uri, version, contents, {
|
|
224
|
-
|
|
223
|
+
isVirtual,
|
|
225
224
|
ipythonMode,
|
|
226
225
|
chainedFileUri: chainedFileUri,
|
|
227
226
|
});
|
|
@@ -236,15 +235,14 @@ class AnalyzerService {
|
|
|
236
235
|
}
|
|
237
236
|
updateOpenFileContents(uri, version, contents, ipythonMode = sourceFile_1.IPythonMode.None, changedRange) {
|
|
238
237
|
this._backgroundAnalysisProgram.updateOpenFileContents(uri, version, contents, {
|
|
239
|
-
isTracked: this.isTracked(uri) || this.checkOnlyOpenFiles || ipythonMode !== sourceFile_1.IPythonMode.None,
|
|
240
238
|
ipythonMode,
|
|
241
239
|
chainedFileUri: undefined,
|
|
242
240
|
changedRange,
|
|
243
241
|
});
|
|
244
242
|
this.scheduleReanalysis(/* requireTrackedFileUpdate */ false);
|
|
245
243
|
}
|
|
246
|
-
setFileClosed(uri
|
|
247
|
-
this._backgroundAnalysisProgram.setFileClosed(uri
|
|
244
|
+
setFileClosed(uri) {
|
|
245
|
+
this._backgroundAnalysisProgram.setFileClosed(uri);
|
|
248
246
|
this.scheduleReanalysis(/* requireTrackedFileUpdate */ false);
|
|
249
247
|
}
|
|
250
248
|
addInterimFile(uri) {
|
|
@@ -308,21 +306,37 @@ class AnalyzerService {
|
|
|
308
306
|
test_getFileNamesFromFileSpecs() {
|
|
309
307
|
const enumerator = new sourceEnumerator_1.SourceEnumerator(this._configOptions.include, this._configOptions.exclude, !!this._configOptions.autoExcludeVenv, this.fs, this._console);
|
|
310
308
|
const results = enumerator.enumerate(0);
|
|
311
|
-
return
|
|
309
|
+
return Array.from(results.matches.values());
|
|
312
310
|
}
|
|
313
311
|
test_shouldHandleSourceFileWatchChanges(uri, isFile) {
|
|
314
312
|
return this._shouldHandleSourceFileWatchChanges(uri, isFile);
|
|
315
313
|
}
|
|
314
|
+
test_setOnInvalidatedCallback(onInvalidated) {
|
|
315
|
+
this.options.onInvalidated = onInvalidated;
|
|
316
|
+
}
|
|
316
317
|
test_shouldHandleLibraryFileWatchChanges(uri, libSearchUris) {
|
|
317
318
|
return this._shouldHandleLibraryFileWatchChanges(uri, libSearchUris);
|
|
318
319
|
}
|
|
319
|
-
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
320
|
+
getTypeStubTargetInfo() {
|
|
321
|
+
const stubPath = this._configOptions.stubPath ??
|
|
322
|
+
this.fs.realCasePath(this._configOptions.projectRoot.resolvePaths(pathConsts_1.defaultStubsDirectory));
|
|
323
|
+
if (!this._typeStubTargetUri || !this._typeStubTargetImportName) {
|
|
324
|
+
const errMsg = `Import '${this._typeStubTargetImportName}'` + ` could not be resolved`;
|
|
325
|
+
this._console.error(errMsg);
|
|
326
|
+
throw new Error(errMsg);
|
|
327
|
+
}
|
|
328
|
+
const typeStubInputTargetParts = this._typeStubTargetImportName.split('.');
|
|
329
|
+
if (typeStubInputTargetParts[0].length === 0) {
|
|
330
|
+
const errMsg = `Import '${this._typeStubTargetImportName}'` + ` could not be resolved`;
|
|
331
|
+
this._console.error(errMsg);
|
|
332
|
+
throw new Error(errMsg);
|
|
333
|
+
}
|
|
334
|
+
return {
|
|
335
|
+
outputPath: stubPath.resolvePaths(typeStubInputTargetParts[0]),
|
|
336
|
+
stubPath,
|
|
337
|
+
targetImportPath: this._typeStubTargetUri,
|
|
338
|
+
targetIsSingleFile: this._typeStubTargetIsSingleFile,
|
|
339
|
+
};
|
|
326
340
|
}
|
|
327
341
|
invalidateAndScheduleReanalysis(reason) {
|
|
328
342
|
this.invalidateAndForceReanalysis(reason);
|
|
@@ -369,13 +383,12 @@ class AnalyzerService {
|
|
|
369
383
|
this._backgroundAnalysisProgram.setConfigOptions(this._configOptions);
|
|
370
384
|
}
|
|
371
385
|
fileMap = enumResults.matches;
|
|
372
|
-
|
|
373
|
-
this._backgroundAnalysisProgram.setTrackedFiles(fileList);
|
|
386
|
+
this._backgroundAnalysisProgram.setTrackedFiles(Array.from(fileMap.values()));
|
|
374
387
|
// Source file enumeration is complete. Proceed with analysis.
|
|
375
388
|
this._sourceEnumerator = undefined;
|
|
376
389
|
if (this.options.onSourceEnumerationComplete) {
|
|
377
390
|
try {
|
|
378
|
-
this.options.onSourceEnumerationComplete();
|
|
391
|
+
this.options.onSourceEnumerationComplete(enumerator);
|
|
379
392
|
}
|
|
380
393
|
catch (e) {
|
|
381
394
|
// Swallow exceptions to avoid impacting normal analysis.
|
|
@@ -586,7 +599,7 @@ class AnalyzerService {
|
|
|
586
599
|
}
|
|
587
600
|
const configOptions = new configOptions_1.ConfigOptions(projectRoot);
|
|
588
601
|
// If we found a config file, load it and apply its settings.
|
|
589
|
-
const configs = this._getExtendedConfigurations(configFilePath ?? pyprojectFilePath);
|
|
602
|
+
const configs = this._getExtendedConfigurations(configFilePath ?? pyprojectFilePath, !configFilePath ? pyprojectFilePath?.getDirectory() : undefined);
|
|
590
603
|
if (configs && configs.length > 0) {
|
|
591
604
|
// With a pyrightconfig.json set, we want the typeCheckingMode to always be standard
|
|
592
605
|
// as that's what the Pyright CLI will expect. Command line options (if not a language server) and
|
|
@@ -597,8 +610,8 @@ class AnalyzerService {
|
|
|
597
610
|
for (const config of configs) {
|
|
598
611
|
configOptions.initializeFromJson(config.configFileJsonObj, config.configFileDirUri, this.serviceProvider, host);
|
|
599
612
|
}
|
|
600
|
-
// Set the configFileSource since we have a config file
|
|
601
|
-
configOptions.configFileSource =
|
|
613
|
+
// Set the configFileSource since we have a config file (set by `_getExtendedConfigurations`)
|
|
614
|
+
configOptions.configFileSource = this._primaryConfigFileUri;
|
|
602
615
|
// When not in language server mode, command line options override config file options.
|
|
603
616
|
if (!commandLineOptions.fromLanguageServer) {
|
|
604
617
|
this._applyCommandLineOverrides(configOptions, commandLineOptions.configSettings, projectRoot, false);
|
|
@@ -839,7 +852,9 @@ class AnalyzerService {
|
|
|
839
852
|
}
|
|
840
853
|
// Loads the config JSON object from the specified config file along with any
|
|
841
854
|
// chained config files specified in the "extends" property (recursively).
|
|
842
|
-
|
|
855
|
+
// If pyprojectSearchDir is provided and the primary file is a pyproject.toml with no
|
|
856
|
+
// [tool.pyright] section, falls back to searching ancestor dirs from pyprojectSearchDir.
|
|
857
|
+
_getExtendedConfigurations(primaryConfigFileUri, pyprojectSearchDir) {
|
|
843
858
|
this._primaryConfigFileUri = primaryConfigFileUri;
|
|
844
859
|
this._extendedConfigFileUris = [];
|
|
845
860
|
if (!primaryConfigFileUri) {
|
|
@@ -876,50 +891,21 @@ class AnalyzerService {
|
|
|
876
891
|
}
|
|
877
892
|
curConfigFileUri = baseConfigUri;
|
|
878
893
|
}
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
// We should never get here because the import resolution
|
|
892
|
-
// would have failed.
|
|
893
|
-
const errMsg = `Import '${this._typeStubTargetImportName}'` + ` could not be resolved`;
|
|
894
|
-
this._console.error(errMsg);
|
|
895
|
-
throw new Error(errMsg);
|
|
896
|
-
}
|
|
897
|
-
try {
|
|
898
|
-
// Generate a new typings directory if necessary.
|
|
899
|
-
if (!this.fs.existsSync(stubPath)) {
|
|
900
|
-
this.fs.mkdirSync(stubPath);
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
catch (e) {
|
|
904
|
-
const errMsg = `Could not create typings directory '${stubPath.toUserVisibleString()}'`;
|
|
905
|
-
this._console.error(errMsg);
|
|
906
|
-
throw new Error(errMsg);
|
|
907
|
-
}
|
|
908
|
-
// Generate a typings subdirectory hierarchy.
|
|
909
|
-
const typingsSubdirPath = stubPath.resolvePaths(typeStubInputTargetParts[0]);
|
|
910
|
-
const typingsSubdirHierarchy = stubPath.resolvePaths(...typeStubInputTargetParts);
|
|
911
|
-
try {
|
|
912
|
-
// Generate a new typings subdirectory if necessary.
|
|
913
|
-
if (!this.fs.existsSync(typingsSubdirHierarchy)) {
|
|
914
|
-
(0, uriUtils_1.makeDirectories)(this.fs, typingsSubdirHierarchy, stubPath);
|
|
894
|
+
// If a pyproject.toml was found but had no [tool.pyright] section, fall back to
|
|
895
|
+
// searching ancestor directories as if that pyproject.toml didn't exist.
|
|
896
|
+
if (configJsonObjs.length === 0 && pyprojectSearchDir) {
|
|
897
|
+
const parentDir = pyprojectSearchDir.getDirectory();
|
|
898
|
+
if (!parentDir.equals(pyprojectSearchDir)) {
|
|
899
|
+
const fallback = (0, serviceUtils_1.findConfigFileHereOrUp)(this.fs, parentDir) ?? (0, serviceUtils_1.findPyprojectTomlFileHereOrUp)(this.fs, parentDir);
|
|
900
|
+
if (fallback) {
|
|
901
|
+
return this._getExtendedConfigurations(fallback,
|
|
902
|
+
// Provide the next pyprojectSearchDir, so we can continue
|
|
903
|
+
// searching upward
|
|
904
|
+
fallback.lastExtension.endsWith('.toml') ? fallback.getDirectory() : undefined);
|
|
905
|
+
}
|
|
915
906
|
}
|
|
916
907
|
}
|
|
917
|
-
|
|
918
|
-
const errMsg = `Could not create typings subdirectory '${typingsSubdirHierarchy.toUserVisibleString()}'`;
|
|
919
|
-
this._console.error(errMsg);
|
|
920
|
-
throw new Error(errMsg);
|
|
921
|
-
}
|
|
922
|
-
return typingsSubdirPath;
|
|
908
|
+
return configJsonObjs;
|
|
923
909
|
}
|
|
924
910
|
_parseJsonConfigFile(configPath) {
|
|
925
911
|
return this._attemptParseFile(configPath, (fileContents) => {
|
|
@@ -982,20 +968,6 @@ class AnalyzerService {
|
|
|
982
968
|
}
|
|
983
969
|
return undefined;
|
|
984
970
|
}
|
|
985
|
-
// Given a file map returned by the source enumerator, this function
|
|
986
|
-
// adds any open files that match the include file spec and returns a
|
|
987
|
-
// final deduped file list.
|
|
988
|
-
_getTrackedFileList(fileMap) {
|
|
989
|
-
// And scan all matching open files. We need to do this since some of files are not backed by
|
|
990
|
-
// files in file system but only exist in memory (ex, virtual workspace)
|
|
991
|
-
this._backgroundAnalysisProgram.program
|
|
992
|
-
.getOpened()
|
|
993
|
-
.map((o) => o.uri)
|
|
994
|
-
.filter((f) => f.isUntitled() || (0, configOptions_1.matchFileSpecs)(this._program.configOptions, f))
|
|
995
|
-
.forEach((f) => fileMap.set(f.key, f));
|
|
996
|
-
const fileList = Array.from(fileMap.values());
|
|
997
|
-
return fileList;
|
|
998
|
-
}
|
|
999
971
|
// If markFilesDirtyUnconditionally is true, we need to reparse
|
|
1000
972
|
// and reanalyze all files in the program. If false, we will
|
|
1001
973
|
// reparse and reanalyze only those files whose on-disk contents
|
|
@@ -1112,6 +1084,13 @@ class AnalyzerService {
|
|
|
1112
1084
|
if (!this._shouldHandleSourceFileWatchChanges(uri, eventInfo.isFile)) {
|
|
1113
1085
|
return;
|
|
1114
1086
|
}
|
|
1087
|
+
// The presence or absence of a PEP 561 marker file can change import resolution results.
|
|
1088
|
+
// Treat all events for `py.typed` as structural changes that require invalidation.
|
|
1089
|
+
if (eventInfo.isFile && uri.fileName === _pyTypedMarkerFileName) {
|
|
1090
|
+
this.invalidateAndForceReanalysis(backgroundAnalysisProgram_1.InvalidatedReason.SourceWatcherChanged);
|
|
1091
|
+
this.scheduleReanalysis(/* requireTrackedFileUpdate */ true);
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1115
1094
|
// This is for performance optimization. If the change only pertains to the content of one file,
|
|
1116
1095
|
// then it can't affect the 'import resolution' result. All we need to do is reanalyze the related files
|
|
1117
1096
|
// (those that have a transitive dependency on this file).
|
|
@@ -1150,7 +1129,7 @@ class AnalyzerService {
|
|
|
1150
1129
|
// If we got 'change', but can't access the path, then we consider it as delete.
|
|
1151
1130
|
if (!stats) {
|
|
1152
1131
|
// See whether it is a file that got deleted.
|
|
1153
|
-
const isFile = !!program.getSourceFile(path);
|
|
1132
|
+
const isFile = !!program.getSourceFile(path) || path.fileName === _pyTypedMarkerFileName;
|
|
1154
1133
|
// If not, check whether it is a part of the workspace at all.
|
|
1155
1134
|
if (!isFile && !program.containsSourceFileIn(path)) {
|
|
1156
1135
|
// There is no source file under the given path. There is nothing we need to do.
|
|
@@ -1167,13 +1146,18 @@ class AnalyzerService {
|
|
|
1167
1146
|
}
|
|
1168
1147
|
_shouldHandleSourceFileWatchChanges(path, isFile) {
|
|
1169
1148
|
if (isFile) {
|
|
1170
|
-
|
|
1149
|
+
const isPyTypedMarkerFile = path.fileName === _pyTypedMarkerFileName;
|
|
1150
|
+
if (!isPyTypedMarkerFile && (!(0, uriUtils_1.hasPythonExtension)(path) || isTemporaryFile(path))) {
|
|
1171
1151
|
return false;
|
|
1172
1152
|
}
|
|
1173
1153
|
// Check whether the file change can affect semantics. If the file changed is not a user file or already a part of
|
|
1174
1154
|
// the program (since we lazily load library files or extra path files when they are used), then the change can't
|
|
1175
1155
|
// affect semantics. so just bail out.
|
|
1176
|
-
if (!this.isTracked(path) && !this._program.getSourceFileInfo(path)) {
|
|
1156
|
+
if (!isPyTypedMarkerFile && !this.isTracked(path) && !this._program.getSourceFileInfo(path)) {
|
|
1157
|
+
return false;
|
|
1158
|
+
}
|
|
1159
|
+
if (isPyTypedMarkerFile &&
|
|
1160
|
+
!canPyTypedMarkerAffectSemantics(this._program, this._configOptions, this.fs, path)) {
|
|
1177
1161
|
return false;
|
|
1178
1162
|
}
|
|
1179
1163
|
return true;
|
|
@@ -1192,6 +1176,21 @@ class AnalyzerService {
|
|
|
1192
1176
|
return false;
|
|
1193
1177
|
}
|
|
1194
1178
|
return true;
|
|
1179
|
+
function canPyTypedMarkerAffectSemantics(program, configOptions, fs, path) {
|
|
1180
|
+
const parentPath = path.getDirectory();
|
|
1181
|
+
// Respect include/exclude rules (including the default exclusion of dot-folders).
|
|
1182
|
+
if (!(0, configOptions_1.matchFileSpecs)(program.configOptions, parentPath, /* isFile */ false)) {
|
|
1183
|
+
return false;
|
|
1184
|
+
}
|
|
1185
|
+
// If the directory containing the marker isn't already a workspace package folder (or doesn't contain
|
|
1186
|
+
// any tracked source files), it can't affect import resolution or type evaluation.
|
|
1187
|
+
const hasInit = parentPath.startsWith(configOptions.projectRoot) &&
|
|
1188
|
+
(fs.existsSync(parentPath.initPyUri) || fs.existsSync(parentPath.initPyiUri));
|
|
1189
|
+
const hasPythonSourceFileInParent = program
|
|
1190
|
+
.getSourceFileInfoList()
|
|
1191
|
+
.some((fileInfo) => (0, uriUtils_1.hasPythonExtension)(fileInfo.uri) && fileInfo.uri.startsWith(parentPath));
|
|
1192
|
+
return hasInit || hasPythonSourceFileInParent;
|
|
1193
|
+
}
|
|
1195
1194
|
function isTemporaryFile(path) {
|
|
1196
1195
|
// Determine if this is an add or delete event related to a temporary
|
|
1197
1196
|
// file. Some tools (like auto-formatters) create temporary files
|
|
@@ -1365,7 +1364,7 @@ class AnalyzerService {
|
|
|
1365
1364
|
}
|
|
1366
1365
|
if (event === 'add' || event === 'change') {
|
|
1367
1366
|
const fileName = (0, pathUtils_1.getFileName)(path);
|
|
1368
|
-
if (fileName === pathConsts_1.configFileName) {
|
|
1367
|
+
if (fileName === pathConsts_1.configFileName || fileName === pathConsts_1.pyprojectTomlName) {
|
|
1369
1368
|
if (this._verboseOutput) {
|
|
1370
1369
|
this._console.info(`Received fs event '${event}' for config file`);
|
|
1371
1370
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/analyzer/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/analyzer/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,11 @@ export declare class SourceEnumerator {
|
|
|
21
21
|
private _numFilesVisited;
|
|
22
22
|
private _loggedLongOperationError;
|
|
23
23
|
private _seenDirs;
|
|
24
|
+
private readonly _symlinkedDirectoryRoots;
|
|
24
25
|
constructor(include: FileSpec[], _excludes: FileSpec[], _autoExcludeVenv: boolean, _fs: FileSystem, _console: ConsoleInterface);
|
|
26
|
+
getSymlinkedDirectoryRoots(): Uri[];
|
|
25
27
|
enumerate(timeLimitInMs: number): SourceEnumerateResult;
|
|
28
|
+
private _recordSymlinkedDirectoryRoot;
|
|
26
29
|
private _doNext;
|
|
27
30
|
private _exploreDir;
|
|
28
31
|
private _exploreInclude;
|
|
@@ -25,9 +25,16 @@ class SourceEnumerator {
|
|
|
25
25
|
this._numFilesVisited = 0;
|
|
26
26
|
this._loggedLongOperationError = false;
|
|
27
27
|
this._seenDirs = new Set();
|
|
28
|
+
// This tracks symlinked directory roots across the entire enumeration cycle,
|
|
29
|
+
// potentially spanning multiple include roots, so Pylance can later filter
|
|
30
|
+
// workspace indexing against the full discovered set.
|
|
31
|
+
this._symlinkedDirectoryRoots = new Map();
|
|
28
32
|
this._includesToExplore = include.slice(0).reverse();
|
|
29
33
|
this._console.log(`Searching for source files`);
|
|
30
34
|
}
|
|
35
|
+
getSymlinkedDirectoryRoots() {
|
|
36
|
+
return Array.from(this._symlinkedDirectoryRoots.values());
|
|
37
|
+
}
|
|
31
38
|
// Enumerates as many files as possible within the specified
|
|
32
39
|
// time limit and returns all matching files.
|
|
33
40
|
enumerate(timeLimitInMs) {
|
|
@@ -69,6 +76,19 @@ class SourceEnumerator {
|
|
|
69
76
|
isComplete: this._isComplete,
|
|
70
77
|
};
|
|
71
78
|
}
|
|
79
|
+
_recordSymlinkedDirectoryRoot(root) {
|
|
80
|
+
for (const existingRoot of this._symlinkedDirectoryRoots.values()) {
|
|
81
|
+
if (root.isChild(existingRoot)) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
for (const [key, existingRoot] of this._symlinkedDirectoryRoots.entries()) {
|
|
86
|
+
if (existingRoot.isChild(root)) {
|
|
87
|
+
this._symlinkedDirectoryRoots.delete(key);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
this._symlinkedDirectoryRoots.set(root.key, root);
|
|
91
|
+
}
|
|
72
92
|
// Performs the next enumeration action. Returns true if complete.
|
|
73
93
|
_doNext() {
|
|
74
94
|
const dirToExplore = this._dirsToExplore.pop();
|
|
@@ -89,6 +109,9 @@ class SourceEnumerator {
|
|
|
89
109
|
this._console.warn(`Skipping broken link "${dir.uri}"`);
|
|
90
110
|
return;
|
|
91
111
|
}
|
|
112
|
+
if (realDirPath.key !== dir.uri.key) {
|
|
113
|
+
this._recordSymlinkedDirectoryRoot(dir.uri);
|
|
114
|
+
}
|
|
92
115
|
if (this._seenDirs.has(realDirPath.key)) {
|
|
93
116
|
this._console.info(`Skipping recursive symlink "${dir.uri}" -> "${realDirPath}"`);
|
|
94
117
|
return;
|
|
@@ -101,7 +124,10 @@ class SourceEnumerator {
|
|
|
101
124
|
return;
|
|
102
125
|
}
|
|
103
126
|
}
|
|
104
|
-
const { files, directories } = (0, uriUtils_1.
|
|
127
|
+
const { files, directories, symlinkedDirectories } = (0, uriUtils_1.getFileSystemEntriesWithSymlinkedDirectories)(this._fs, dir.uri);
|
|
128
|
+
for (const symlinkedDir of symlinkedDirectories) {
|
|
129
|
+
this._recordSymlinkedDirectoryRoot(symlinkedDir);
|
|
130
|
+
}
|
|
105
131
|
for (const file of files) {
|
|
106
132
|
if (uriUtils_1.FileSpec.matchIncludeFileSpec(dir.includeRegExp, this._excludes, file)) {
|
|
107
133
|
this._numFilesVisited++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceEnumerator.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceEnumerator.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAKH,
|
|
1
|
+
{"version":3,"file":"sourceEnumerator.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceEnumerator.ts"],"names":[],"mappings":"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"}
|