Skip to content

esm-dynamic-only

Detect when package is only available via dynamic import for ESM consumers

PropertyValue
Rule IDtypes/esm-dynamic-only
Categorytypes
Severity🟡 warning
FixableNo

What it Checks

Detects when a package can only be consumed via await import() in ESM, not via a static import statement. This typically happens when a CJS-only package is used from an ESM context, forcing consumers into async-only usage patterns.

Configuration

Disable this rule:

bash
tspub check --ignore-rules "types/esm-dynamic-only"

Or in tspub.config.ts:

typescript
export default {
  check: {
    severityOverrides: {
      "types/esm-dynamic-only": "off",  // or "warning", "error", "info"
    },
  },
};

Released under the MIT License.