@effect/language-service 0.23.2 → 0.23.3
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/index.js +42 -11
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -3496,6 +3496,7 @@ var makeImportablePackagesMetadata = fn("makeImportablePackagesMetadata")(functi
|
|
|
3496
3496
|
const excludedByFileName = /* @__PURE__ */ new Map();
|
|
3497
3497
|
const unbarreledModulePathByFileName = /* @__PURE__ */ new Map();
|
|
3498
3498
|
const barreledModulePathByFileName = /* @__PURE__ */ new Map();
|
|
3499
|
+
const barreledFunctionPathByFileName = /* @__PURE__ */ new Map();
|
|
3499
3500
|
const packages = [
|
|
3500
3501
|
...languageServicePluginOptions.namespaceImportPackages.map((packageName) => ({
|
|
3501
3502
|
packageName,
|
|
@@ -3552,6 +3553,15 @@ var makeImportablePackagesMetadata = fn("makeImportablePackagesMetadata")(functi
|
|
|
3552
3553
|
excludedMethods.push(unbarreledModulePath);
|
|
3553
3554
|
excludedByFileName.set(methodName, excludedMethods);
|
|
3554
3555
|
}
|
|
3556
|
+
if (kind === "barrel") {
|
|
3557
|
+
const previousBarreledFunctionPath = barreledFunctionPathByFileName.get(unbarreledModulePath) || [];
|
|
3558
|
+
previousBarreledFunctionPath.push({
|
|
3559
|
+
fileName: barrelSource.fileName,
|
|
3560
|
+
exportName: methodName,
|
|
3561
|
+
packageName
|
|
3562
|
+
});
|
|
3563
|
+
barreledFunctionPathByFileName.set(unbarreledModulePath, previousBarreledFunctionPath);
|
|
3564
|
+
}
|
|
3555
3565
|
}
|
|
3556
3566
|
}
|
|
3557
3567
|
}
|
|
@@ -3565,7 +3575,8 @@ var makeImportablePackagesMetadata = fn("makeImportablePackagesMetadata")(functi
|
|
|
3565
3575
|
getImportNamespaceByFileName: (fileName) => namespaceByFileName.get(fileName),
|
|
3566
3576
|
isExcludedFromNamespaceImport: (fileName, exportName) => (excludedByFileName.get(exportName) || []).includes(fileName),
|
|
3567
3577
|
getUnbarreledModulePath: (fileName, exportName) => unbarreledModulePathByFileName.get(fileName)?.find((_) => _.exportName === exportName)?.fileName,
|
|
3568
|
-
getBarreledModulePath: (fileName) => barreledModulePathByFileName.get(fileName)
|
|
3578
|
+
getBarreledModulePath: (fileName) => barreledModulePathByFileName.get(fileName),
|
|
3579
|
+
getBarreledFunctionPath: (fileName, exportName) => barreledFunctionPathByFileName.get(fileName)?.find((_) => _.exportName === exportName)
|
|
3569
3580
|
};
|
|
3570
3581
|
});
|
|
3571
3582
|
var appendEffectCompletionEntryData = fn("appendEffectCompletionEntryData")(
|
|
@@ -3665,7 +3676,7 @@ var getImportFromNamespaceCodeActions = fn("getImportFromNamespaceCodeActions")(
|
|
|
3665
3676
|
}
|
|
3666
3677
|
];
|
|
3667
3678
|
});
|
|
3668
|
-
var getImportFromBarrelCodeActions = fn("getImportFromBarrelCodeActions")(function* (formatOptions, preferences, languageServiceHost, sourceFile, effectReplaceSpan, newModuleSpecifier, barrelExportName) {
|
|
3679
|
+
var getImportFromBarrelCodeActions = fn("getImportFromBarrelCodeActions")(function* (formatOptions, preferences, languageServiceHost, sourceFile, effectReplaceSpan, newModuleSpecifier, barrelExportName, shouldPrependExportName) {
|
|
3669
3680
|
const ts = yield* service(TypeScriptApi);
|
|
3670
3681
|
const formatContext = ts.formatting.getFormatContext(
|
|
3671
3682
|
formatOptions || {},
|
|
@@ -3729,11 +3740,13 @@ var getImportFromBarrelCodeActions = fn("getImportFromBarrelCodeActions")(functi
|
|
|
3729
3740
|
preferences || {}
|
|
3730
3741
|
);
|
|
3731
3742
|
}
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3743
|
+
if (shouldPrependExportName) {
|
|
3744
|
+
changeTracker.insertText(
|
|
3745
|
+
sourceFile,
|
|
3746
|
+
effectReplaceSpan.start,
|
|
3747
|
+
barrelExportName + "."
|
|
3748
|
+
);
|
|
3749
|
+
}
|
|
3737
3750
|
}
|
|
3738
3751
|
);
|
|
3739
3752
|
return [
|
|
@@ -3772,16 +3785,34 @@ var postprocessCompletionEntryDetails = fn("postprocessCompletionEntryDetails")(
|
|
|
3772
3785
|
exportName
|
|
3773
3786
|
);
|
|
3774
3787
|
if (isExcluded) return applicableCompletionEntryDetails;
|
|
3775
|
-
const
|
|
3776
|
-
if (
|
|
3788
|
+
const asBarrelFunctionImport = packagesMetadata.getBarreledFunctionPath(fileName, exportName);
|
|
3789
|
+
if (asBarrelFunctionImport) {
|
|
3790
|
+
const codeActions = yield* getImportFromBarrelCodeActions(
|
|
3791
|
+
formatOptions,
|
|
3792
|
+
preferences,
|
|
3793
|
+
languageServiceHost,
|
|
3794
|
+
sourceFile,
|
|
3795
|
+
effectReplaceSpan,
|
|
3796
|
+
asBarrelFunctionImport.packageName,
|
|
3797
|
+
asBarrelFunctionImport.exportName,
|
|
3798
|
+
false
|
|
3799
|
+
);
|
|
3800
|
+
return {
|
|
3801
|
+
...applicableCompletionEntryDetails,
|
|
3802
|
+
codeActions
|
|
3803
|
+
};
|
|
3804
|
+
}
|
|
3805
|
+
const asBarrelModuleImport = packagesMetadata.getBarreledModulePath(fileName);
|
|
3806
|
+
if (asBarrelModuleImport) {
|
|
3777
3807
|
const codeActions = yield* getImportFromBarrelCodeActions(
|
|
3778
3808
|
formatOptions,
|
|
3779
3809
|
preferences,
|
|
3780
3810
|
languageServiceHost,
|
|
3781
3811
|
sourceFile,
|
|
3782
3812
|
effectReplaceSpan,
|
|
3783
|
-
|
|
3784
|
-
|
|
3813
|
+
asBarrelModuleImport.packageName,
|
|
3814
|
+
asBarrelModuleImport.exportName,
|
|
3815
|
+
true
|
|
3785
3816
|
);
|
|
3786
3817
|
return {
|
|
3787
3818
|
...applicableCompletionEntryDetails,
|