Comments (5)
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.
what's your eslint config look like?
from eslint-plugin-ember.
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.
I just opened: #2147
can you try that fix locally?
from eslint-plugin-ember.
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)
- gjs/gts Incorrect token mapping after handlebars HOT 1
- Support "Type aware" linting for gts files HOT 13
- "service" import not treated the same as "inject as service" HOT 1
- no-unused-expressions HOT 4
- Plan v13 Release HOT 5
- new "flat" configs contain invalid parser key HOT 19
- `@typescript-eslint` breaks after update to `eslint-plugin-ember` v12 HOT 19
- ember/template-no-let-reference HOT 4
- ember/no-runloop HOT 4
- New rule: prevent assignment of existing properties on a service (important for tests)
- @typescript-eslint/eslint-recommended not applicable to `*.gts` files HOT 1
- Should we provide a config that disables some rules from `@typescript-eslint/eslint-plugin`? HOT 11
- no-unused-vars firing incorrectly on args inside template-tag HOT 7
- Lint against shadowed keywords
- eslint v9 support HOT 5
- `ember/no-runloop` brings false positive error with function name `hasOwnProperty` HOT 4
- New rule proposal: no-tracked-declare HOT 1
- no-implicit-injections has bugs when auto-fixing
- `use-ember-data-rfc-395-imports` should ignore `ember-data/store`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eslint-plugin-ember.