Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ember upgrade v5 #1527

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .stylelintrc.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
'use strict';

module.exports = {
extends: [
'stylelint-config-standard',
'stylelint-config-standard-scss',
'stylelint-prettier/recommended',
],
extends: ['stylelint-config-standard', 'stylelint-prettier/recommended'],
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Restore stylelint-config-standard-scss to maintain SCSS linting capabilities

The project extensively uses SCSS with over 200 SCSS files across various components. Removing the SCSS stylelint configuration would impact the linting capabilities for these files.

🔗 Analysis chain

Verify SCSS usage before removing SCSS stylelint config.

The removal of stylelint-config-standard-scss might impact SCSS linting. Let's verify if the project still uses SCSS files.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for SCSS files in the project
echo "Searching for SCSS files..."
fd -e scss

# Check for SCSS imports or references
echo -e "\nSearching for SCSS references in package.json..."
rg -i "scss" package.json

Length of output: 20823

};
2 changes: 1 addition & 1 deletion app/adapters/jira-repo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default class JiraRepoAdapter extends commondrf {
modelName: string | number,
snapshot: Snapshot<K>
) {
return this._buildURL(modelName, snapshot.id);
return this._buildURL(modelName, snapshot.record.project.get('id'));
}
}

Expand Down
34 changes: 20 additions & 14 deletions app/components/ak-drawer/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { later } from '@ember/runloop';
import { runTask } from 'ember-lifeline';

export interface DrawerSignature {
Element: HTMLDivElement;
Expand Down Expand Up @@ -38,9 +38,7 @@ export default class DrawerComponent extends Component<DrawerSignature> {

@action
handleDrawerClose() {
later(() => {
this.args.onClose();
}, 300);
runTask(this, () => this.args.onClose(), 300);

if (this.backdropElement) {
this.backdropElement.style.opacity = '0';
Expand All @@ -55,22 +53,30 @@ export default class DrawerComponent extends Component<DrawerSignature> {

@action
backdropInserted(element: HTMLElement) {
later(() => {
this.backdropElement = element;
runTask(
this,
() => {
this.backdropElement = element;

element.style.opacity = '1';
element.style.transition = 'opacity 225ms ease-in-out 0ms';
}, 0);
element.style.opacity = '1';
element.style.transition = 'opacity 225ms ease-in-out 0ms';
},
0
);
}

@action
drawerInserted(element: HTMLElement) {
later(() => {
this.drawerElement = element;
runTask(
this,
() => {
this.drawerElement = element;

element.style.transform = 'none';
element.style.transition = 'transform 225ms ease-out 0ms';
}, 0);
element.style.transform = 'none';
element.style.transition = 'transform 225ms ease-out 0ms';
},
0
);
}
}

Expand Down
8 changes: 4 additions & 4 deletions app/components/ak-select/before-option/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { action } from '@ember/object';
import Component from '@glimmer/component';
import { Select } from 'ember-power-select/components/power-select';
import { later, scheduleOnce } from '@ember/runloop';
import { runTask, scheduleTask } from 'ember-lifeline';

interface AkSelectBeforeOptionArgs {
select: Select;
Expand All @@ -22,16 +22,16 @@ export default class AkSelectBeforeOptionComponent extends Component<AkSelectBef

@action
clearSearch(): void {
scheduleOnce('actions', this.args.select.actions, 'search', '');
scheduleTask(this, 'actions', () => this.args.select.actions.search(''));
}

@action
focusInput(el: HTMLElement) {
later(() => {
runTask(this, () => {
if (this.args.autofocus !== false) {
el.focus();
}
}, 0);
});
}

@action
Expand Down
4 changes: 2 additions & 2 deletions app/components/ak-select/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { guidFor } from '@ember/object/internals';
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { next } from '@ember/runloop';
import { runTask } from 'ember-lifeline';

import type {
PowerSelectArgs,
Expand Down Expand Up @@ -70,7 +70,7 @@ export default class AkSelectComponent<O> extends Component<
@action
onOpen(select: Select, event: Event) {
// Reposition the dropdown to make sure it's properly aligned
next(this, () => select.actions.reposition());
runTask(this, () => select.actions.reposition());

this.args.onOpen?.(select, event);
}
Expand Down
36 changes: 24 additions & 12 deletions app/components/ak-tooltip/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import { later, cancel } from '@ember/runloop';
import { runTask, cancelTask } from 'ember-lifeline';
import { Placement } from '@popperjs/core';
import { EmberRunTimer } from '@ember/runloop/types';

Expand All @@ -27,14 +27,19 @@ export interface AkTooltipSignature {
export default class AkTooltipComponent extends Component<AkTooltipSignature> {
@tracked anchorRef: HTMLElement | null = null;

@tracked runShowToolipLater?: EmberRunTimer;
@tracked runHideToolipLater?: EmberRunTimer;
@tracked runShowToolipLater?: EmberRunTimer | number;
@tracked runHideToolipLater?: EmberRunTimer | number;

willDestroy() {
super.willDestroy();

cancel(this.runShowToolipLater);
cancel(this.runHideToolipLater);
if (this.runShowToolipLater) {
cancelTask(this, this.runShowToolipLater as EmberRunTimer);
}

if (this.runHideToolipLater) {
cancelTask(this, this.runHideToolipLater as EmberRunTimer);
}
}

@action
Expand All @@ -44,9 +49,11 @@ export default class AkTooltipComponent extends Component<AkTooltipSignature> {
}

if (this.args.enterDelay) {
this.runShowToolipLater = later(() => {
this.showTooltip(event, event.target as HTMLElement);
}, this.args.enterDelay);
this.runShowToolipLater = runTask(
this,
() => this.showTooltip(event, event.target as HTMLElement),
this.args.enterDelay
);
} else {
this.showTooltip(event, event.currentTarget as HTMLElement);
}
Expand All @@ -67,17 +74,22 @@ export default class AkTooltipComponent extends Component<AkTooltipSignature> {
}

// cancel if mouse leaves before timeout
const cancelled = cancel(this.runShowToolipLater);
const cancelled = cancelTask(
this,
this.runShowToolipLater as EmberRunTimer
);

// tooltip never appeared so onClose should not be called
if (cancelled) {
return;
}

if (this.args.leaveDelay) {
this.runHideToolipLater = later(() => {
this.hideTooltip(event);
}, this.args.leaveDelay);
this.runHideToolipLater = runTask(
this,
() => this.hideTooltip(event),
this.args.leaveDelay
);
} else {
this.hideTooltip(event);
}
Expand Down
4 changes: 2 additions & 2 deletions app/components/analysis-risk/override-edit-drawer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { service } from '@ember/service';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import IntlService from 'ember-intl/services/intl';
import { next } from '@ember/runloop';
import { runTask } from 'ember-lifeline';
import { ComponentLike } from '@glint/template';

import AnalysisModel from 'irene/models/analysis';
Expand Down Expand Up @@ -65,7 +65,7 @@ export default class AnalysisRiskOverrideEditDrawerComponent extends Component<A

@action
setAppBarData(appBarData: OverrideEditDrawerAppBarData) {
next(this, () => {
runTask(this, () => {
this.appBarData = appBarData;
});
}
Expand Down
4 changes: 2 additions & 2 deletions app/components/app-monitoring/settings/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { task } from 'ember-concurrency';
import IntlService from 'ember-intl/services/intl';
import { action } from '@ember/object';
import RouterService from '@ember/routing/router-service';
import { debounce } from '@ember/runloop';
import { debounceTask } from 'ember-lifeline';

import AmConfigurationModel from 'irene/models/amconfiguration';
import MeService from 'irene/services/me';
Expand Down Expand Up @@ -96,7 +96,7 @@ export default class AppMonitoringSettingsComponent extends Component<AppMonitor
@action onSearchQueryChange(event: Event) {
const query = (event.target as HTMLSelectElement).value;

debounce(this, this.setSearchQuery, query, 500);
debounceTask(this, 'setSearchQuery', query, 500);
}

@action clearSearchInput() {
Expand Down
4 changes: 2 additions & 2 deletions app/components/appknox-wrapper/onboarding-guide/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import { next } from '@ember/runloop';
import { runTask } from 'ember-lifeline';
import { inject as service } from '@ember/service';
import type IntlService from 'ember-intl/services/intl';

Expand Down Expand Up @@ -105,7 +105,7 @@ export default class AppknoxWrapperOnboardingGuide extends Component<AppknoxWrap

@action
handleIframeInsertion() {
next(this, () => {
runTask(this, () => {
this.mountIFrame = true;
});
}
Expand Down
8 changes: 6 additions & 2 deletions app/components/file-compare/table/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { action } from '@ember/object';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { later } from '@ember/runloop';
import { runTask } from 'ember-lifeline';
import RouterService from '@ember/routing/router-service';
import IntlService from 'ember-intl/services/intl';

Expand Down Expand Up @@ -150,7 +150,11 @@ export default class FileCompareTableComponent extends Component<FileCompareTabl
this.offset = offset;

// Allows rendering table change before scrolling
later(() => scrollDashboardMainContainerTo({ top: 0, left: 0 }), 150);
runTask(
this,
() => scrollDashboardMainContainerTo({ top: 0, left: 0 }),
150
);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { tracked } from '@glimmer/tracking';
import { task } from 'ember-concurrency';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import { later } from '@ember/runloop';
import { runTask } from 'ember-lifeline';
import { EmberRunTimer } from '@ember/runloop/types';
import type Store from '@ember-data/store';
import type { AsyncBelongsTo } from '@ember-data/model';
Expand Down Expand Up @@ -89,7 +89,7 @@ export default class DynamicScanExpiryComponent extends Component<DynamicScanExp

this.updateDurationRemaining();

later(this, this.clock, 1000);
runTask(this, () => this.clock(), 1000);
}

updateDurationRemaining() {
Expand Down
8 changes: 7 additions & 1 deletion app/components/github-account/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,17 @@ export default class GithubAccountComponent extends Component {
@service organization;

@tracked showRevokeGithubConfirmBox = false;
@tracked integratedUser = this.args.integratedUser;
@tracked integratedUser;

tGithubWillBeRevoked = this.intl.t('githubWillBeRevoked');
tGithubErrorIntegration = this.intl.t('githubErrorIntegration');

constructor() {
super(...arguments);

this.integratedUser = this.args.integratedUser;
}

redirectAPI = task(async () => {
return await this.ajax.request(
`/api/organizations/${this.organization.selected.id}/github/redirect`
Expand Down
6 changes: 3 additions & 3 deletions app/components/organization-member/list/add-to-team/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { task } from 'ember-concurrency';
import { debounce } from '@ember/runloop';
import { debounceTask } from 'ember-lifeline';
import Store from '@ember-data/store';
import IntlService from 'ember-intl/services/intl';
// eslint-disable-next-line ember/use-ember-data-rfc-395-imports
Expand Down Expand Up @@ -65,9 +65,9 @@ export default class AddToTeamComponent extends Component<AddToTeamComponentSign

@action
handleSearchQueryChange(event: Event) {
debounce(
debounceTask(
this,
this.setSearchQuery,
'setSearchQuery',
(event.target as HTMLInputElement)?.value,
500
);
Expand Down
6 changes: 3 additions & 3 deletions app/components/organization-member/list/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { debounce } from '@ember/runloop';
import { debounceTask } from 'ember-lifeline';
import { task } from 'ember-concurrency';
import { tracked } from '@glimmer/tracking';
import IntlService from 'ember-intl/services/intl';
Expand Down Expand Up @@ -156,9 +156,9 @@ export default class OrganizationMemberListComponent extends Component<Organizat

@action
searchUserForQuery(event: Event): void {
debounce(
debounceTask(
this,
this.setSearchQuery,
'setSearchQuery',
(event.target as HTMLInputElement).value,
500
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';
import { debounce } from '@ember/runloop';
import { debounceTask } from 'ember-lifeline';
import { tracked } from '@glimmer/tracking';
import Store from '@ember-data/store';
import IntlService from 'ember-intl/services/intl';
Expand Down Expand Up @@ -127,9 +127,9 @@ export default class MemberDetailsComponent extends Component<MemberDetailsCompo

@action
handleSearchQueryChange(event: Event) {
debounce(
debounceTask(
this,
this.setSearchQuery,
'setSearchQuery',
(event.target as HTMLInputElement)?.value,
500
);
Expand Down
6 changes: 3 additions & 3 deletions app/components/organization-team/add-team-member/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { task } from 'ember-concurrency';
import { action } from '@ember/object';
import { debounce } from '@ember/runloop';
import { debounceTask } from 'ember-lifeline';
// eslint-disable-next-line ember/use-ember-data-rfc-395-imports
import DS from 'ember-data';
import Store from '@ember-data/store';
Expand Down Expand Up @@ -190,9 +190,9 @@ export default class OrganizationTeamAddTeamMemberComponent extends Component<Or

@action
handleSearchQueryChange(event: Event) {
debounce(
debounceTask(
this,
this.setSearchQuery,
'setSearchQuery',
(event.target as HTMLInputElement).value,
500
);
Expand Down
Loading
Loading