Revision 2664bc2b3ef4ee5fd671f915828cfcc274a36c77 authored by Paul Gschwendtner on 20 November 2021, 16:23:07 UTC, committed by Alex Rickabaugh on 08 December 2021, 18:42:42 UTC
Switches the integration tests form Puppeteer/webdriver-manager to the
Bazel-managed Chromium/Chromedriver. This is now possible with the new
integration test rule for which we can consult the
`dev-infra/bazel/browsers` toolchain and setup environment variables.
This has been configured already in a previous commit.

This commit also includes some additional small cleanups necessary for
the new integration test rule:

* The `test.sh` scripts have been renamed as they would conflict with
  the `test.sh` scripts generated by the integration test rule.
  Previously this was not an issue because tests were declared at a
  higher-level. As mentioned though this has other downsides and it is
  trivial to rename the file.

* Related to the point above, since tests are now declared witin the
  actual test folder (for perf e.g.), `package.json` files setting
  `"type": "module"` will accidentally cause the `nodejs_test`-generated
  files to be considered ESM. This is not correct and likely needs to be
  fixed upstream in `rules_nodejs` where explicit `.cjs` extensions
  should be used. This is only happening **once** in the `injectable-def`
  test so it is acceptable doing that for now.

PR Close #44238
1 parent 5837fbd
Raw File
.eslintrc.json
{
  "root": true,
  "overrides": [
    {
      "files": [
        "*.ts"
      ],
      "parserOptions": {
        "project": [
          "tsconfig.json",
          "tests/e2e/tsconfig.json"
        ],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/ng-cli-compat",
        "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "@typescript-eslint/ban-types": "error",
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "aio",
            "style": "kebab-case"
          }
        ],
        "max-len": ["error" , 120],
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "aio",
            "style": "camelCase"
          }
        ],
        "dot-notation": "error",
        "indent": "off",
        "@typescript-eslint/member-delimiter-style": ["error", {
          "singleline": {
            "delimiter": "comma",
            "requireLast": false
          }
        }],
        "@typescript-eslint/member-ordering": "off",
        "@typescript-eslint/naming-convention": "off",
        "no-console": ["error", {"allow": ["log", "warn", "error"]}],
        "no-empty-function": "off",
        "no-restricted-syntax": [
          "error",
          {
            "selector": "CallExpression[callee.name=/^(fdescribe|fit)$/]",
            "message": "Don't keep jasmine focus methods."
          }
        ],
        "no-shadow": "off",
        "@typescript-eslint/no-shadow": ["error"],
        "no-tabs": "error",
        "no-underscore-dangle": "off",
        "no-unused-expressions": "error",
        "no-use-before-define": "off",
        "prefer-arrow/prefer-arrow-functions": "off",
        "quotes": "off",
        "@typescript-eslint/quotes": ["error", "single", {"avoidEscape": true}],
        "semi": "error"
      }
    },
    {
      "files": [
        "*.html"
      ],
      "extends": [
        "plugin:@angular-eslint/template/recommended"
      ],
      "rules": {
        "@angular-eslint/template/accessibility-alt-text": "error",
        "@angular-eslint/template/accessibility-elements-content": "error",
        "@angular-eslint/template/accessibility-label-has-associated-control": "error",
        "@angular-eslint/template/accessibility-table-scope": "error",
        "@angular-eslint/template/accessibility-valid-aria": "error",
        "@angular-eslint/template/click-events-have-key-events": "error",
        "@angular-eslint/template/eqeqeq": "off",
        "@angular-eslint/template/mouse-events-have-key-events": "error",
        "@angular-eslint/template/no-autofocus": "error",
        "@angular-eslint/template/no-distracting-elements": "error",
        "@angular-eslint/template/no-positive-tabindex": "error"
      }
    }
  ]
}
back to top