Giter VIP home page Giter VIP logo

Comments (5)

FadhlanR avatar FadhlanR commented on July 23, 2024 1

I tried this config but it still didn't catch this.pauseTest().

module.exports = {
  root: true,
  env: {
    browser: true,
  },
  overrides: [
    {
      files: ['**/*.{js,ts}'],
      parser: '@typescript-eslint/parser',
      parserOptions: {
        ecmaVersion: 'latest',
        sourceType: 'module',
        babelOptions: {
          plugins: [
            ['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
          ],
        },
      },
      plugins: [
        'ember',
        '@typescript-eslint',
        'simple-import-sort',
        'typescript-sort-keys',
      ],
      extends: [
        'eslint:recommended',
        'plugin:@typescript-eslint/eslint-recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:typescript-sort-keys/recommended',
        'plugin:prettier/recommended',
        'plugin:ember/recommended',
      ],
      rules: {
        curly: 'error',
        'simple-import-sort/exports': 'error',
        'simple-import-sort/imports': 'error',
        'prefer-const': 'off',
        '@typescript-eslint/no-empty-function': 'off',
        '@typescript-eslint/no-explicit-any': 'off',
        '@typescript-eslint/no-non-null-assertion': 'off',
        '@typescript-eslint/no-unused-vars': [
          'error',
          { argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
        ],
      },
    },
    {
      files: ['**/*.gts'],
      parser: 'ember-eslint-parser',
      plugins: ['ember'],
      extends: [
        'eslint:recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:ember/recommended',
        'plugin:ember/recommended-gts',
      ],
      rules: {
        curly: 'error',
        'simple-import-sort/exports': 'error',
        'simple-import-sort/imports': 'error',
        'prefer-const': 'off',
        '@typescript-eslint/no-empty-function': 'off',
        '@typescript-eslint/no-explicit-any': 'off',
        '@typescript-eslint/no-non-null-assertion': 'off',
        '@typescript-eslint/no-unused-vars': [
          'error',
          { argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
        ],
      },
    },
    // node files
    {
      files: [
        './.eslintrc.cjs',
        './.prettierrc.cjs',
        './.template-lintrc.cjs',
        './addon-main.cjs',
      ],
      parserOptions: {
        sourceType: 'script',
      },
      env: {
        browser: false,
        node: true,
      },
      extends: ['plugin:n/recommended'],
      rules: {
        'n/no-unpublished-require': 'off',
        '@typescript-eslint/no-var-requires': 'off',
      },
    },
    {
      // typescript-eslint recommends turning off no-undef for Typescript files since
      // Typescript will better analyse that:
      // https://github.com/typescript-eslint/typescript-eslint/blob/5b0e577f2552e8b2c53a3fb22edc9d219589b937/docs/linting/Troubleshooting.mdx#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
      files: ['**/*.ts', '**/*.gts'],
      rules: {
        'no-undef': 'off',
      },
    },
  ],
};

from eslint-plugin-ember.

NullVoxPopuli avatar NullVoxPopuli commented on July 23, 2024

what's your eslint config look like?

from eslint-plugin-ember.

NullVoxPopuli avatar NullVoxPopuli commented on July 23, 2024

Thanks!

I've confirmed there is an issue on my polaris starter here: https://github.com/NullVoxPopuli/polaris-starter/tree/webpack

with only this repro:

import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';

module('...', function (hooks) {
  setupRenderingTest(hooks);

  test('...', async function (assert) {
    await this.pauseTest();

    assert.ok(true);
  });
});
here is the `--print-config` output
{
  "env": {
    "browser": true,
    "es2022": true,
    "es6": true
  },
  "globals": {},
  "parser": "/home/nvp/Development/NullVoxPopuli/polaris-starter/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected][email protected]_ty_mr372rwtiyhxgjnvzwp7x7cfb4/node_modules/ember-eslint-parser/src/parser/gjs-gts-parser.js",
  "parserOptions": {
    "sourceType": "module",
    "ecmaVersion": 2022,
    "ecmaFeatures": {
      "legacyDecorators": true
    },
    "babelOptions": {
      "configFile": "/home/nvp/Development/NullVoxPopuli/polaris-starter/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected][email protected][email protected]/node_modules/eslint-plugin-decorator-position/babel.config.cjs"
    }
  },
  "plugins": [
    "qunit",
    "@typescript-eslint",
    "ember",
    "decorator-position",
    "simple-import-sort"
  ],
  "rules": {
    "prefer-const": [
      "off"
    ],
    "getter-return": [
      "error",
      {
        "allowImplicit": true
      }
    ],
    "no-console": [
      "error",
      {
        "allow": [
          "debug",
          "warn",
          "error",
          "info",
          "group",
          "groupEnd",
          "groupCollapsed"
        ]
      }
    ],
    "padding-line-between-statements": [
      "error",
      {
        "blankLine": "always",
        "prev": "*",
        "next": "return"
      },
      {
        "blankLine": "always",
        "prev": "*",
        "next": "break"
      },
      {
        "blankLine": "always",
        "prev": "*",
        "next": "block-like"
      },
      {
        "blankLine": "always",
        "prev": "block-like",
        "next": "*"
      },
      {
        "blankLine": "always",
        "prev": [
          "const",
          "let"
        ],
        "next": "*"
      },
      {
        "blankLine": "always",
        "prev": "*",
        "next": [
          "const",
          "let"
        ]
      },
      {
        "blankLine": "any",
        "prev": [
          "const",
          "let"
        ],
        "next": [
          "const",
          "let"
        ]
      },
      {
        "blankLine": "any",
        "prev": [
          "*"
        ],
        "next": [
          "case"
        ]
      }
    ],
    "simple-import-sort/imports": [
      "error",
      {
        "groups": [
          [
            "^\\u0000"
          ],
          [
            "^ember$",
            "^@glimmer",
            "^@ember",
            "^ember-cli-htmlbars",
            "^qunit",
            "^ember-qunit",
            "^@embroider",
            "^@embroider",
            "^node:"
          ],
          [
            "^@?\\w"
          ],
          [
            "^"
          ],
          [
            "^emberclear",
            "^pinochle",
            "^limber"
          ],
          [
            "^@emberclear",
            "^@limber",
            "@glimdown"
          ],
          [
            "/test-support"
          ],
          [
            "^\\."
          ],
          [
            "^.+\\u0000$"
          ]
        ]
      }
    ],
    "simple-import-sort/exports": [
      "error"
    ],
    "@typescript-eslint/interface-name-prefix": [
      "off"
    ],
    "@typescript-eslint/no-empty-interface": [
      "off"
    ],
    "@typescript-eslint/consistent-type-imports": [
      "error"
    ],
    "@typescript-eslint/explicit-function-return-type": [
      "off"
    ],
    "@typescript-eslint/explicit-module-boundary-types": [
      "off"
    ],
    "@typescript-eslint/ban-types": [
      "off"
    ],
    "@typescript-eslint/prefer-optional-chain": [
      "off"
    ],
    "@typescript-eslint/no-non-null-assertion": [
      "error"
    ],
    "@typescript-eslint/no-unused-vars": [
      "error",
      {
        "argsIgnorePattern": "^_"
      }
    ],
    "qunit/assert-args": [
      "error"
    ],
    "qunit/literal-compare-order": [
      "error"
    ],
    "qunit/no-assert-equal": [
      "error"
    ],
    "qunit/no-assert-equal-boolean": [
      "error"
    ],
    "qunit/no-assert-logical-expression": [
      "error"
    ],
    "qunit/no-async-in-loops": [
      "error"
    ],
    "qunit/no-async-module-callbacks": [
      "error"
    ],
    "qunit/no-async-test": [
      "error"
    ],
    "qunit/no-commented-tests": [
      "error"
    ],
    "qunit/no-compare-relation-boolean": [
      "error"
    ],
    "qunit/no-conditional-assertions": [
      "error"
    ],
    "qunit/no-early-return": [
      "error"
    ],
    "qunit/no-global-assertions": [
      "error"
    ],
    "qunit/no-global-expect": [
      "error"
    ],
    "qunit/no-global-module-test": [
      "error"
    ],
    "qunit/no-global-stop-start": [
      "error"
    ],
    "qunit/no-hooks-from-ancestor-modules": [
      "error"
    ],
    "qunit/no-identical-names": [
      "error"
    ],
    "qunit/no-init": [
      "error"
    ],
    "qunit/no-jsdump": [
      "error"
    ],
    "qunit/no-negated-ok": [
      "error"
    ],
    "qunit/no-nested-tests": [
      "error"
    ],
    "qunit/no-ok-equality": [
      "error"
    ],
    "qunit/no-only": [
      "error"
    ],
    "qunit/no-qunit-push": [
      "error"
    ],
    "qunit/no-qunit-start-in-tests": [
      "error"
    ],
    "qunit/no-qunit-stop": [
      "error"
    ],
    "qunit/no-reassign-log-callbacks": [
      "error"
    ],
    "qunit/no-reset": [
      "error"
    ],
    "qunit/no-setup-teardown": [
      "error"
    ],
    "qunit/no-test-expect-argument": [
      "error"
    ],
    "qunit/no-throws-string": [
      "error"
    ],
    "qunit/require-expect": [
      "error"
    ],
    "qunit/require-object-in-propequal": [
      "error"
    ],
    "qunit/resolve-async": [
      "error"
    ],
    "@typescript-eslint/ban-ts-comment": [
      "error"
    ],
    "no-array-constructor": [
      "off"
    ],
    "@typescript-eslint/no-array-constructor": [
      "error"
    ],
    "@typescript-eslint/no-duplicate-enum-values": [
      "error"
    ],
    "@typescript-eslint/no-explicit-any": [
      "error"
    ],
    "@typescript-eslint/no-extra-non-null-assertion": [
      "error"
    ],
    "no-loss-of-precision": [
      "off"
    ],
    "@typescript-eslint/no-loss-of-precision": [
      "error"
    ],
    "@typescript-eslint/no-misused-new": [
      "error"
    ],
    "@typescript-eslint/no-namespace": [
      "error"
    ],
    "@typescript-eslint/no-non-null-asserted-optional-chain": [
      "error"
    ],
    "@typescript-eslint/no-this-alias": [
      "error"
    ],
    "@typescript-eslint/no-unnecessary-type-constraint": [
      "error"
    ],
    "@typescript-eslint/no-unsafe-declaration-merging": [
      "error"
    ],
    "no-unused-vars": [
      "off"
    ],
    "@typescript-eslint/no-var-requires": [
      "error"
    ],
    "@typescript-eslint/prefer-as-const": [
      "error"
    ],
    "@typescript-eslint/triple-slash-reference": [
      "error"
    ],
    "ember/avoid-leaking-state-in-ember-objects": [
      "error"
    ],
    "ember/avoid-using-needs-in-controllers": [
      "error"
    ],
    "ember/classic-decorator-hooks": [
      "error"
    ],
    "ember/classic-decorator-no-classic-methods": [
      "error"
    ],
    "ember/closure-actions": [
      "error"
    ],
    "ember/jquery-ember-run": [
      "error"
    ],
    "ember/new-module-imports": [
      "error"
    ],
    "ember/no-actions-hash": [
      "error"
    ],
    "ember/no-arrow-function-computed-properties": [
      "error"
    ],
    "ember/no-assignment-of-untracked-properties-used-in-tracking-contexts": [
      "error"
    ],
    "ember/no-at-ember-render-modifiers": [
      "error"
    ],
    "ember/no-attrs-in-components": [
      "error"
    ],
    "ember/no-attrs-snapshot": [
      "error"
    ],
    "ember/no-capital-letters-in-routes": [
      "error"
    ],
    "ember/no-classic-classes": [
      "error"
    ],
    "ember/no-classic-components": [
      "error"
    ],
    "ember/no-component-lifecycle-hooks": [
      "error"
    ],
    "ember/no-computed-properties-in-native-classes": [
      "error"
    ],
    "ember/no-controller-access-in-routes": [
      "error"
    ],
    "ember/no-deeply-nested-dependent-keys-with-each": [
      "error"
    ],
    "ember/no-deprecated-router-transition-methods": [
      "error"
    ],
    "ember/no-duplicate-dependent-keys": [
      "error"
    ],
    "ember/no-ember-super-in-es-classes": [
      "error"
    ],
    "ember/no-ember-testing-in-module-scope": [
      "error"
    ],
    "ember/no-empty-glimmer-component-classes": [
      "error"
    ],
    "ember/no-function-prototype-extensions": [
      "error"
    ],
    "ember/no-get-with-default": [
      "error"
    ],
    "ember/no-get": [
      "error"
    ],
    "ember/no-global-jquery": [
      "error"
    ],
    "ember/no-implicit-injections": [
      "error"
    ],
    "ember/no-incorrect-calls-with-inline-anonymous-functions": [
      "error"
    ],
    "ember/no-incorrect-computed-macros": [
      "error"
    ],
    "ember/no-invalid-debug-function-arguments": [
      "error"
    ],
    "ember/no-invalid-dependent-keys": [
      "error"
    ],
    "ember/no-invalid-test-waiters": [
      "error"
    ],
    "ember/no-jquery": [
      "error"
    ],
    "ember/no-legacy-test-waiters": [
      "error"
    ],
    "ember/no-mixins": [
      "error"
    ],
    "ember/no-new-mixins": [
      "error"
    ],
    "ember/no-noop-setup-on-error-in-before": [
      "error"
    ],
    "ember/no-observers": [
      "error"
    ],
    "ember/no-old-shims": [
      "error"
    ],
    "ember/no-on-calls-in-components": [
      "error"
    ],
    "ember/no-pause-test": [
      "error"
    ],
    "ember/no-private-routing-service": [
      "error"
    ],
    "ember/no-restricted-resolver-tests": [
      "error"
    ],
    "ember/no-runloop": [
      "error"
    ],
    "ember/no-settled-after-test-helper": [
      "error"
    ],
    "ember/no-shadow-route-definition": [
      "error"
    ],
    "ember/no-side-effects": [
      "error"
    ],
    "ember/no-string-prototype-extensions": [
      "error"
    ],
    "ember/no-test-and-then": [
      "error"
    ],
    "ember/no-test-import-export": [
      "error"
    ],
    "ember/no-test-module-for": [
      "error"
    ],
    "ember/no-test-support-import": [
      "error"
    ],
    "ember/no-test-this-render": [
      "error"
    ],
    "ember/no-tracked-properties-from-args": [
      "error"
    ],
    "ember/no-try-invoke": [
      "error"
    ],
    "ember/no-unnecessary-route-path-option": [
      "error"
    ],
    "ember/no-volatile-computed-properties": [
      "error"
    ],
    "ember/prefer-ember-test-helpers": [
      "error"
    ],
    "ember/require-computed-macros": [
      "error"
    ],
    "ember/require-computed-property-dependencies": [
      "error"
    ],
    "ember/require-return-from-computed": [
      "error"
    ],
    "ember/require-super-in-lifecycle-hooks": [
      "error"
    ],
    "ember/require-tagless-components": [
      "error"
    ],
    "ember/require-valid-css-selector-in-test-helpers": [
      "error"
    ],
    "ember/routes-segments-snake-case": [
      "error"
    ],
    "ember/use-brace-expansion": [
      "error"
    ],
    "ember/use-ember-data-rfc-395-imports": [
      "error"
    ],
    "decorator-position/decorator-position": [
      "error",
      {}
    ],
    "constructor-super": [
      "error"
    ],
    "for-direction": [
      "error"
    ],
    "no-async-promise-executor": [
      "error"
    ],
    "no-case-declarations": [
      "error"
    ],
    "no-class-assign": [
      "error"
    ],
    "no-compare-neg-zero": [
      "error"
    ],
    "no-cond-assign": [
      "error"
    ],
    "no-const-assign": [
      "error"
    ],
    "no-constant-condition": [
      "error"
    ],
    "no-control-regex": [
      "error"
    ],
    "no-debugger": [
      "error"
    ],
    "no-delete-var": [
      "error"
    ],
    "no-dupe-args": [
      "error"
    ],
    "no-dupe-class-members": [
      "error"
    ],
    "no-dupe-else-if": [
      "error"
    ],
    "no-dupe-keys": [
      "error"
    ],
    "no-duplicate-case": [
      "error"
    ],
    "no-empty": [
      "error"
    ],
    "no-empty-character-class": [
      "error"
    ],
    "no-empty-pattern": [
      "error"
    ],
    "no-ex-assign": [
      "error"
    ],
    "no-extra-boolean-cast": [
      "error"
    ],
    "no-extra-semi": [
      "error"
    ],
    "no-fallthrough": [
      "error"
    ],
    "no-func-assign": [
      "error"
    ],
    "no-global-assign": [
      "error"
    ],
    "no-import-assign": [
      "error"
    ],
    "no-inner-declarations": [
      "error"
    ],
    "no-invalid-regexp": [
      "error"
    ],
    "no-irregular-whitespace": [
      "error"
    ],
    "no-misleading-character-class": [
      "error"
    ],
    "no-mixed-spaces-and-tabs": [
      "error"
    ],
    "no-new-symbol": [
      "error"
    ],
    "no-nonoctal-decimal-escape": [
      "error"
    ],
    "no-obj-calls": [
      "error"
    ],
    "no-octal": [
      "error"
    ],
    "no-prototype-builtins": [
      "error"
    ],
    "no-redeclare": [
      "error"
    ],
    "no-regex-spaces": [
      "error"
    ],
    "no-self-assign": [
      "error"
    ],
    "no-setter-return": [
      "error"
    ],
    "no-shadow-restricted-names": [
      "error"
    ],
    "no-sparse-arrays": [
      "error"
    ],
    "no-this-before-super": [
      "error"
    ],
    "no-undef": [
      "error"
    ],
    "no-unexpected-multiline": [
      "error"
    ],
    "no-unreachable": [
      "error"
    ],
    "no-unsafe-finally": [
      "error"
    ],
    "no-unsafe-negation": [
      "error"
    ],
    "no-unsafe-optional-chaining": [
      "error"
    ],
    "no-unused-labels": [
      "error"
    ],
    "no-useless-backreference": [
      "error"
    ],
    "no-useless-catch": [
      "error"
    ],
    "no-useless-escape": [
      "error"
    ],
    "no-with": [
      "error"
    ],
    "require-yield": [
      "error"
    ],
    "use-isnan": [
      "error"
    ],
    "valid-typeof": [
      "error"
    ]
  },
  "settings": {},
  "ignorePatterns": [
    "/blueprints/*/files/",
    "/dist/",
    "/coverage/",
    "!.*",
    ".*/",
    "/.node_modules.ember-try/"
  ]
}

I would but that there is a bug in isTestFile that eslint-plugin-ember uses:

    if (!emberUtils.isTestFile(context.getFilename())) {
      return {};
    }

from eslint-plugin-ember.

NullVoxPopuli avatar NullVoxPopuli commented on July 23, 2024

I just opened: #2147

can you try that fix locally?

from eslint-plugin-ember.

FadhlanR avatar FadhlanR commented on July 23, 2024

I just opened: #2147

can you try that fix locally?

I've tried it locally and it works. Thanks!

from eslint-plugin-ember.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.