noThenProperty (since v1.5.0)
Diagnostic Category: lint/suspicious/noThenProperty
Sources:
- Same as: 
unicorn/no-thenable 
Disallow then property.
When combining objects with a then method (thenable objects) with await expressions or dynamic imports, caution is necessary.
These syntaxes interpret the object’s then method as intended for the resolution or rejection of a promise, which can lead to unexpected behavior or errors.
Examples
Section titled ExamplesInvalid
Section titled Invalidexport {then};code-block.js:1:9 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not export then.
  
  > 1 │ export {then};
      │         ^^^^
    2 │ 
  
const foo = {    then() {}};code-block.js:2:5 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to an object.
  
    1 │ const foo = {
  > 2 │     then() {}
      │     ^^^^
    3 │ };
    4 │ 
  
const foo = {    get then() {}};code-block.js:2:9 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to an object.
  
    1 │ const foo = {
  > 2 │     get then() {}
      │         ^^^^
    3 │ };
    4 │ 
  
const foo = {   get then() {}};code-block.js:2:8 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to an object.
  
    1 │ const foo = {
  > 2 │    get then() {}
      │        ^^^^
    3 │ };
    4 │ 
  
foo.then = function () {}code-block.js:1:1 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to an object.
  
  > 1 │ foo.then = function () {}
      │ ^^^^^^^^
    2 │ 
  
class Foo {    then() {}}code-block.js:2:5 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to a class.
  
    1 │ class Foo {
  > 2 │     then() {}
      │     ^^^^
    3 │ }
    4 │ 
  
class Foo {    static then() {}}code-block.js:2:12 lint/suspicious/noThenProperty ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ Do not add then to a class.
  
    1 │ class Foo {
  > 2 │     static then() {}
      │            ^^^^
    3 │ }
    4 │ 
  
Valid
Section titled Validexport {then as success};const foo = {    success() {}};class Foo {    success() {}}const foo = bar.then;