@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
|
@@ -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,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
|
|
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('
|
|
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
|
|
54
|
+
plugins: [new rspack.CopyRspackPlugin({ patterns: [{ from: typeshedFallback, to: 'typeshed-fallback' }] })],
|
|
62
55
|
};
|
|
63
56
|
};
|
|
64
|
-
//# sourceMappingURL=
|
|
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 {};
|