Skip to content

Order-in-* rules do not work in native class syntax #417

@lstrzebinczyk

Description

@lstrzebinczyk

It would seem that, as in issue, if code is written using modern native classess + decorators, the order-in-* rules do not pick it up. Example would be, from my codebase:

import Component from "@ember/component";
import UploadManager from "web/services/upload-manager";
import { action } from "@ember/object";
import { inject as service } from "@ember/service";

export default class extends Component {
  @service uploadManager!: UploadManager;

  tagName = "";

  sideMenuOpen = false;

  @action openSideMenu() {
    this.set("sideMenuOpen", true);
  }

  @action closeSideMenu() {
    this.set("sideMenuOpen", false);
  }
}

If I were to put @service lower in the file, no error is raised. I am also using typescript, but that doesn't seem to matter for other rules.

What is the situation here, is this a known issue? And first of all, do I understand correctly that the expected situation would be for this rule to be applied to native class based ember entities?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions