SU-SWS/stanford_profile_helper

View on GitHub

Showing 395 of 588 total issues

Qualifying elements are not allowed for class selectors
Open

    div.su-font-splash {

No Qualifying Elements

Rule no-qualifying-elements will enforce that selectors are not allowed to have qualifying elements.

Options

  • allow-element-with-attribute: true/false (defaults to false)
  • allow-element-with-class: true/false (defaults to false)
  • allow-element-with-id: true/false (defaults to false)

Examples

By default, the following are disallowed:

div.foo {
  content: 'foo';
}

ul#foo {
  content: 'foo';
}

input[type='email'] {
  content: 'foo';
}

allow-element-with-attribute

When allow-element-with-attribute: true, the following are allowed. When allow-element-with-attribute: false, the following are disallowed.

input[type='email'] {
  content: 'foo';
}

a[href] {
  content: 'foo';
}

allow-element-with-class

When allow-element-with-class: true, the following are allowed. When allow-element-with-class: false, the following are disallowed.

div.foo {
  content: 'foo';
}

h1.bar {
  content: 'foo';
}

allow-element-with-id

When allow-element-with-id: true, the following are allowed. When allow-element-with-id: false, the following are disallowed.

ul#foo {
  content: 'foo';
}

p#bar {
  content: 'foo';
}

Nesting depth 5 greater than max of 4
Open

          &:hover,

Nesting Depth

Rule nesting-depth will enforce how deeply a selector can be nested.

Options

  • max-depth: number (defaults to 2)

Examples

When enabled (assuming max-depth: 2) the deepest element (&:hover and &--modifier) are at at depth 2. Any nested selector deeper is disallowed:

.foo {
  .baz {
    &:hover {
      // Deepest Nest Allowed
    }
  }
}

.block {
  &__element {
    &--modifier {
      // Deepest Nest Allowed
    }
  }
}

Qualifying elements are not allowed for class selectors
Open

    & ~ div.node-stanford-event-su-event-date-time {

No Qualifying Elements

Rule no-qualifying-elements will enforce that selectors are not allowed to have qualifying elements.

Options

  • allow-element-with-attribute: true/false (defaults to false)
  • allow-element-with-class: true/false (defaults to false)
  • allow-element-with-id: true/false (defaults to false)

Examples

By default, the following are disallowed:

div.foo {
  content: 'foo';
}

ul#foo {
  content: 'foo';
}

input[type='email'] {
  content: 'foo';
}

allow-element-with-attribute

When allow-element-with-attribute: true, the following are allowed. When allow-element-with-attribute: false, the following are disallowed.

input[type='email'] {
  content: 'foo';
}

a[href] {
  content: 'foo';
}

allow-element-with-class

When allow-element-with-class: true, the following are allowed. When allow-element-with-class: false, the following are disallowed.

div.foo {
  content: 'foo';
}

h1.bar {
  content: 'foo';
}

allow-element-with-id

When allow-element-with-id: true, the following are allowed. When allow-element-with-id: false, the following are disallowed.

ul#foo {
  content: 'foo';
}

p#bar {
  content: 'foo';
}

Property gap appears to be spelled incorrectly
Open

    gap: 7.2rem;

No Misspelled Properties

Rule no-misspelled-properties will enforce the correct spelling of CSS properties and prevent the use of unknown CSS properties.

Options

  • extra-properties: [array of extra properties to check spelling against] (defaults to empty array []).

Examples

When enabled, the following are disallowed:

// incorrect spelling
.foo {
  borders: 0;
}

// unknown property
.bar {
  border-right-left: 0;
}

// incorrect spelling
.baz {
  -webkit-transit1on: width 2s;
}

When extra-properties contains a property value of transit1on as show below:

no-misspelled-properties:
  - 1
  -
    'extra-properties':
      - 'transit1on'

The following would now be allowed:

// incorrect spelling now whitelisted
.baz {
  -webkit-transit1on: width 2s;
}

// incorrect spelling now whitelisted
.quz {
  transit1on: width 2s;
}

While the following would remain disallowed:

// incorrect spelling
.foo {
  borders: 0;
}

// unknown property
.bar {
  border-right-left: 0;
}

Property gap appears to be spelled incorrectly
Open

    gap: 10px;

No Misspelled Properties

Rule no-misspelled-properties will enforce the correct spelling of CSS properties and prevent the use of unknown CSS properties.

Options

  • extra-properties: [array of extra properties to check spelling against] (defaults to empty array []).

Examples

When enabled, the following are disallowed:

// incorrect spelling
.foo {
  borders: 0;
}

// unknown property
.bar {
  border-right-left: 0;
}

// incorrect spelling
.baz {
  -webkit-transit1on: width 2s;
}

When extra-properties contains a property value of transit1on as show below:

no-misspelled-properties:
  - 1
  -
    'extra-properties':
      - 'transit1on'

The following would now be allowed:

// incorrect spelling now whitelisted
.baz {
  -webkit-transit1on: width 2s;
}

// incorrect spelling now whitelisted
.quz {
  transit1on: width 2s;
}

While the following would remain disallowed:

// incorrect spelling
.foo {
  borders: 0;
}

// unknown property
.bar {
  border-right-left: 0;
}

Class should be nested within its parent Type-selector
Open

    div.su-font-splash {

Force Element Nesting

Rule force-element-nesting will enforce the nesting of elements

Examples

When enabled, the following are disallowed:

div p {
  content: '';
}

.parent {
  &__child h1 {
    content: '';
  }
}

a[target="_blank"] span {
  content: '';
}

When enabled, the following are allowed:

div {
  p {
    content: '';
  }
}

.parent {
  &__child {
    h1 {
      content: '';
    }
  }
}

a[target="_blank"] {
  span {
    content: '';
  }
}

Class should be nested within its parent Class
Open

  .media-entity-wrapper.video {

Force Element Nesting

Rule force-element-nesting will enforce the nesting of elements

Examples

When enabled, the following are disallowed:

div p {
  content: '';
}

.parent {
  &__child h1 {
    content: '';
  }
}

a[target="_blank"] span {
  content: '';
}

When enabled, the following are allowed:

div {
  p {
    content: '';
  }
}

.parent {
  &__child {
    h1 {
      content: '';
    }
  }
}

a[target="_blank"] {
  span {
    content: '';
  }
}

Format should be "* Implements hook_foo().", "* Implements hook_foo_BAR_ID_bar() for xyz_bar().",, "* Implements hook_foo_BAR_ID_bar() for xyz-bar.html.twig.", "* Implements hook_foo_BAR_ID_bar() for xyz-bar.tpl.php.", or "* Implements hook_foo_BAR_ID_bar() for block templates."
Open

 * Implements hook_page_attachments.

Class should be nested within its parent Type-selector
Open

    & ~ div.node-stanford-event-su-event-date-time {

Force Element Nesting

Rule force-element-nesting will enforce the nesting of elements

Examples

When enabled, the following are disallowed:

div p {
  content: '';
}

.parent {
  &__child h1 {
    content: '';
  }
}

a[target="_blank"] span {
  content: '';
}

When enabled, the following are allowed:

div {
  p {
    content: '';
  }
}

.parent {
  &__child {
    h1 {
      content: '';
    }
  }
}

a[target="_blank"] {
  span {
    content: '';
  }
}

syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ']'
Open

      'fields' => fn() => [

Assigning ?\Drupal\Core\Render\RendererInterface to property but \Drupal\jumpstart_ui\Plugin\TwigPlugin\JumpstartUITwig->renderer is \Drupal\Core\Render\RendererInterface
Open

    $this->renderer = $renderer;

Suspicious array access to \Drupal\Core\Field\FieldItemListInterface
Open

    $item = $items[$delta];

syntax error, unexpected 'private' (T_PRIVATE), expecting variable (T_VARIABLE)
Open

  public function __construct(private readonly EntityTypeManagerInterface $entityTypeManager, private readonly UuidInterface $uuid, private readonly PasswordGeneratorInterface $passwordGenerator) {}

syntax error, unexpected '...' (T_ELLIPSIS), expecting ']'
Open

      ...$original_setting,
Severity: Critical
Found in src/Config/ConfigOverrides.php by phan

mixed $args is not variadic in comment, but variadic in param (...$args)
Open

   * @param mixed $args

Invalid offset "#field_name" of array type array{add_more:array{#value:}}|array{add_more:array{add_more_button_stanford_person_cta:array{#value:}}}|array{add_more_button_stanford_person_cta:array{#value:}}
Open

    if ($variables['element']['#field_name'] == "su_schedule_speaker") {

Returning type \Drupal\Core\TypedData\TranslatableInterface but getParentEntity() is declared to return \Drupal\Core\Entity\ContentEntityInterface|null
Open

    return $parent;

syntax error, unexpected 'protected' (T_PROTECTED), expecting variable (T_VARIABLE)
Open

  public function __construct(protected AccountProxyInterface $currentUser, protected StateInterface $state) {}

syntax error, unexpected '...' (T_ELLIPSIS), expecting ']'
Open

    return [...$fields, ...$focal_point];

Doc-block of $renderer in __construct is phpdoc param type \Drupal\Core\Render\RendererInterface which is not a permitted replacement of the nullable param type ?\Drupal\Core\Render\RendererInterface declared in the signature ('?T' should be documented as 'T|null' or '?T')
Open

   * @param \Drupal\Core\Render\RendererInterface $renderer
Severity
Category
Status
Source
Language