@effect/language-service 0.31.2 → 0.32.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/language-service",
3
- "version": "0.31.2",
3
+ "version": "0.32.0",
4
4
  "description": "A Language-Service Plugin to Refactor and Diagnostic effect-ts projects",
5
5
  "main": "index.cjs",
6
6
  "bin": {
package/transform.js CHANGED
@@ -1125,7 +1125,8 @@ function parse(config) {
1125
1125
  goto: isObject(config) && hasProperty(config, "goto") && isBoolean(config.goto) ? config.goto : true,
1126
1126
  allowedDuplicatedPackages: isObject(config) && hasProperty(config, "allowedDuplicatedPackages") && isArray(config.allowedDuplicatedPackages) && config.allowedDuplicatedPackages.every(isString) ? config.allowedDuplicatedPackages.map((_) => _.toLowerCase()) : [],
1127
1127
  namespaceImportPackages: isObject(config) && hasProperty(config, "namespaceImportPackages") && isArray(config.namespaceImportPackages) && config.namespaceImportPackages.every(isString) ? config.namespaceImportPackages.map((_) => _.toLowerCase()) : [],
1128
- barrelImportPackages: isObject(config) && hasProperty(config, "barrelImportPackages") && isArray(config.barrelImportPackages) && config.barrelImportPackages.every(isString) ? config.barrelImportPackages.map((_) => _.toLowerCase()) : []
1128
+ barrelImportPackages: isObject(config) && hasProperty(config, "barrelImportPackages") && isArray(config.barrelImportPackages) && config.barrelImportPackages.every(isString) ? config.barrelImportPackages.map((_) => _.toLowerCase()) : [],
1129
+ topLevelNamedReexports: isObject(config) && hasProperty(config, "topLevelNamedReexports") && isString(config.topLevelNamedReexports) && (config.topLevelNamedReexports.toLowerCase() === "ignore" || config.topLevelNamedReexports.toLowerCase() === "follow") ? config.topLevelNamedReexports.toLowerCase() : "ignore"
1129
1130
  };
1130
1131
  }
1131
1132
 
@@ -3156,9 +3157,11 @@ var floatingEffect = createDiagnostic({
3156
3157
  option
3157
3158
  );
3158
3159
  if (isNone2(allowedFloatingEffects)) {
3160
+ const isStrictEffect = yield* option(typeParser.strictEffectType(type, node.expression));
3161
+ const name = isSome2(isStrictEffect) ? "Effect" : "Effect-able " + typeChecker.typeToString(type);
3159
3162
  report({
3160
3163
  location: node,
3161
- messageText: `Effect must be yielded or assigned to a variable.`,
3164
+ messageText: `${name} must be yielded or assigned to a variable.`,
3162
3165
  fixes: []
3163
3166
  });
3164
3167
  }
@@ -3785,7 +3788,7 @@ var missingReturnYieldStar = createDiagnostic({
3785
3788
  }] : [];
3786
3789
  report({
3787
3790
  location: node,
3788
- messageText: `Yielded Effect never succeeds, so it is best to use a 'return yield*' instead.`,
3791
+ messageText: `It is recommended to use return yield* for Effects that never succeed to signal a definitive exit point for type narrowing and tooling support.`,
3789
3792
  fixes: fix
3790
3793
  });
3791
3794
  }