Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
16b7680
Standardize imports to use TypeScript path aliases
dannon Oct 29, 2025
f99c871
Add .vue extensions to component imports
dannon Oct 29, 2025
97bf720
Fix TypeScript error in collectionBuilderItemsStore
dannon Oct 29, 2025
d014e58
Remove webpack-specific tilde prefixes from SCSS imports
dannon Oct 29, 2025
0a0f799
Standardize SCSS imports to use @ prefix
dannon Oct 29, 2025
74d58c2
Convert DOMPurify to default import for ESM compatibility
dannon Oct 29, 2025
0e2c7b9
Standardize remaining bare imports with @ prefix
dannon Oct 29, 2025
404bb05
Fix SCSS imports in JS files to use @ prefix
dannon Oct 29, 2025
52111ca
Fix all simple-import-sort/imports linting issues post-import-updates
dannon Oct 29, 2025
2df080b
Reconcile sanitize/purify, format.
dannon Oct 29, 2025
4b19b07
Fix notificationsbell prop typing
dannon Oct 29, 2025
0493601
Add nullish coalescing to fix types in HistoryDatasetPicker and Workf…
dannon Oct 29, 2025
cfd13dc
cleanup, formatting post-rebase
dannon Nov 3, 2025
4e559a2
Fix VisualizationDisplay import in router
dannon Nov 3, 2025
b86f2de
Fix Masthead components to use IconLike objects instead of strings
dannon Nov 3, 2025
55e49ee
Add TypeScript types to MastheadDropdown
dannon Nov 3, 2025
2064e21
Add data-description attributes to dropdown items and update selenium…
dannon Nov 3, 2025
1b7f93c
Support both FontAwesome icon objects and legacy string icons in Mast…
dannon Nov 3, 2025
a2c4abc
Fix selenium selectors for user dropdown after icon refactor
dannon Nov 4, 2025
74bd456
Ensure purify is available in LibraryFolder template
dannon Nov 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion client/src/app/app.test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import galaxyOptions from "@tests/test-data/bootstrapped";
import { getGalaxyInstance, setGalaxyInstance } from "app";
import { suppressDebugConsole } from "tests/jest/helpers";

import { getGalaxyInstance, setGalaxyInstance } from "@/app";

export function setupTestGalaxy(galaxyOptions_ = null) {
galaxyOptions_ = galaxyOptions_ || galaxyOptions;
setGalaxyInstance((GalaxyApp) => new GalaxyApp(galaxyOptions_));
Expand Down
4 changes: 2 additions & 2 deletions client/src/app/galaxy.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { create, dialog } from "utils/data";
import { _getUserLocale, _setUserLocale, localize } from "utils/localization";
import { create, dialog } from "@/utils/data";
import { _getUserLocale, _setUserLocale, localize } from "@/utils/localization";

import { getGalaxyInstance } from "./singleton";
import userModel from "./user-model";
Expand Down
5 changes: 3 additions & 2 deletions client/src/app/monitor.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
// through getGalaxyInstance, and rarely with setGalaxyInstance

import config from "config";
import { getAppRoot } from "onload/loadConfig";
import { serverPath } from "utils/serverPath";

import { getAppRoot } from "@/onload/loadConfig";
import { serverPath } from "@/utils/serverPath";

import { getGalaxyInstance, setGalaxyInstance } from "./singleton";

Expand Down
3 changes: 2 additions & 1 deletion client/src/app/singleton.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
*/

import config from "config";
import { serverPath } from "utils/serverPath";

import { serverPath } from "@/utils/serverPath";

import { GalaxyApp } from "./galaxy";

Expand Down
4 changes: 2 additions & 2 deletions client/src/app/user-model.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { getAppRoot } from "onload/loadConfig";
import _l from "utils/localization";
import { getAppRoot } from "@/onload/loadConfig";
import _l from "@/utils/localization";

const CURRENT_ID_STR = "current";

Expand Down
4 changes: 2 additions & 2 deletions client/src/bundleEntries.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/

// legacy/grid_base.mako
export { default as LegacyGridView } from "legacy/grid/grid-view";
export { default as LegacyGridView } from "@/legacy/grid/grid-view";

// webapps/reports/run_stats.mako
export { create_chart, create_histogram } from "reports/run_stats";
export { create_chart, create_histogram } from "@/reports/run_stats";
2 changes: 1 addition & 1 deletion client/src/components/AboutGalaxy.vue
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ const versionUserDocumentationUrl = computed(() => {
</template>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.about-galaxy h1 {
--fa-primary-color: #{$brand-primary};
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/ActivityBar/ActivityBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ defineExpose({
</template>

<style lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.activity-bar {
background: $panel-bg-color;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/ActivityBar/ActivityItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ const meta = computed(() => store.metaForId(props.id));
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
.activity-item {
position: relative;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/ActivityBar/ActivitySettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ function executeActivity(activity: Activity) {
</template>

<style lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.activity-settings-item {
background: none;
Expand Down
3 changes: 2 additions & 1 deletion client/src/components/Annotation.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<template>

Check warning on line 1 in client/src/components/Annotation.vue

View workflow job for this annotation

GitHub Actions / client-unit-test

Component name "Annotation" should always be multi-word
<ClickToEdit
ref="annotationInput"
v-slot="{ toggleEdit, placeholder, stateValidator }"
Expand All @@ -24,9 +24,10 @@
</template>

<script>
import ClickToEdit from "./ClickToEdit";
import DebouncedInput from "./DebouncedInput";

import ClickToEdit from "./ClickToEdit.vue";

export default {
components: {
DebouncedInput,
Expand Down
4 changes: 2 additions & 2 deletions client/src/components/ClickToEdit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ export default {
</script>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "~scss/mixins.scss";
@import "@/style/scss/theme/blue.scss";
@import "@/style/scss/mixins.scss";
.clickToEdit {
position: relative;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Collections/BuildFileSetWizard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ const {
</template>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
@import "@/components/Collections/wizard/workbook-dropzones.scss";
// modeled a bit after upload-helper in the upload component...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -703,7 +703,7 @@ function selectionAsHdaSummary(value: any): HDASummary {

<style scoped lang="scss">
@import "base.scss";
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
.list-collection-creator {
.footer {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Collections/ListWizard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import ListCollectionCreator from "./ListCollectionCreator.vue";
import WhichBuilder from "./ListWizard/WhichBuilder.vue";
import PairedOrUnpairedListCollectionCreator from "./PairedOrUnpairedListCollectionCreator.vue";
import GenericWizard from "@/components/Common/Wizard/GenericWizard.vue";
import RuleCollectionBuilder from "components/RuleCollectionBuilder.vue";
import RuleCollectionBuilder from "@/components/RuleCollectionBuilder.vue";
interface Props {
initialAdvanced: boolean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import _l from "utils/localization";
import Modal from "utils/modal";
import Vue from "vue";

import { rawToTable } from "@/components/Collections/tables";
import _l from "@/utils/localization";
import Modal from "@/utils/modal";

const modal = new Modal();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export default defineComponent({
</template>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.status-ok {
color: $brand-success;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,10 @@ watch(

<style lang="scss">
$fa-font-path: "../../../../node_modules/@fortawesome/fontawesome-free/webfonts/";
@import "~@fortawesome/fontawesome-free/scss/_variables";
@import "~@fortawesome/fontawesome-free/scss/solid";
@import "~@fortawesome/fontawesome-free/scss/fontawesome";
@import "~@fortawesome/fontawesome-free/scss/brands";
@import "@fortawesome/fontawesome-free/scss/_variables";
@import "@fortawesome/fontawesome-free/scss/solid";
@import "@fortawesome/fontawesome-free/scss/fontawesome";
@import "@fortawesome/fontawesome-free/scss/brands";

// Outside the modal - we need to set a max width on the help so ellipses display
// doesn't cause it to grow without bound. Would greater appreciate a better workaround.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
</div>
</div>
<div v-else class="paired-datasets-cell">
<div

Check warning on line 116 in client/src/components/Collections/common/PairedDatasetCellComponent.vue

View workflow job for this annotation

GitHub Actions / client-unit-test

Visible, non-interactive elements should not have an interactive handler

Check warning on line 116 in client/src/components/Collections/common/PairedDatasetCellComponent.vue

View workflow job for this annotation

GitHub Actions / client-unit-test

Visible, non-interactive elements with click handlers must have at least one keyboard listener
class="icon-wrapper"
:class="{ dragging: dragging, 'drop-target': dropOver }"
:draggable="true"
Expand Down Expand Up @@ -146,7 +146,7 @@
</template>

<style lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.paired-datasets-cell {
display: flex;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const emit = defineEmits(["workbookContents"]);
</template>

<style scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
@import "@/components/Collections/wizard/workbook-dropzones.scss";
.dropzone {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Collections/wizard/PasteData.vue
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const handleDrop = (event: DragEvent) => {
</template>

<style scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.paste-data {
min-width: 576px;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.dropzone.highlight {
border-width: 2px;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/DraggableSeparator.vue
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ const style = computed(() => ({
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
$border-width: 6px;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/GCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ function onKeyDown(event: KeyboardEvent) {
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
@import "_breakpoints.scss";
.g-card {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/Heading.vue
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ const element = computed(() => {
</template>

<style lang="scss" scoped>
@import "scss/theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
// prettier-ignore
h1, h2, h3, h4, h5, h6 {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/ItemListEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ function resetForm() {
</template>

<style lang="scss" scoped>
@import "custom_theme_variables.scss";
@import "@/style/scss/custom_theme_variables.scss";
.error {
color: var(--color-red-500);
}
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/TextSummary.vue
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ const textTooLong = computed(() => {
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
.text-summary {
&.text-summary-short {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/VerticalSeparator.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.vr-container {
position: relative;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Common/Wizard/GenericWizard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ const bodyStyle = computed(() => {
</template>

<style lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
.wizard {
padding: 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ function getOptionType(type: string) {
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
@import "_breakpoints.scss";
.source-options-list {
Expand Down
3 changes: 2 additions & 1 deletion client/src/components/CopyToClipboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
<script>
import { faCopy } from "@fortawesome/free-regular-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { copy } from "utils/clipboard";

import { copy } from "@/utils/clipboard";

export default {
components: {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/DataDialog/DataDialog.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Services } from "./services";
import { UrlTracker } from "./utilities";

import DataDialog from "./DataDialog.vue";
import SelectionDialog from "components/SelectionDialog/SelectionDialog.vue";
import SelectionDialog from "@/components/SelectionDialog/SelectionDialog.vue";

jest.mock("app");

Expand Down
3 changes: 2 additions & 1 deletion client/src/components/DataDialog/services.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import axios from "axios";
import { getAppRoot } from "onload/loadConfig";

import { getAppRoot } from "@/onload/loadConfig";

/** Data populator traverses raw server responses **/
export class Services {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Dataset/DatasetView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ watch(
</template>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

.header-details {
padding-left: 1rem;
Expand Down
7 changes: 4 additions & 3 deletions client/src/components/DecodedId.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
<span v-if="decoded_id">({{ decoded_id }})</span>
</template>
<script>
import { getGalaxyInstance } from "app";
import axios from "axios";
import { getAppRoot } from "onload/loadConfig";
import { rethrowSimple } from "utils/simple-error";

import { getGalaxyInstance } from "@/app";
import { getAppRoot } from "@/onload/loadConfig";
import { rethrowSimple } from "@/utils/simple-error";

export default {
props: {
Expand Down
5 changes: 3 additions & 2 deletions client/src/components/DragGhost.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
import { faPaperPlane } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { storeToRefs } from "pinia";
import { useEventStore } from "stores/eventStore";
import { computed } from "vue";

import { useEventStore } from "@/stores/eventStore";

import TextShort from "@/components/Common/TextShort.vue";

const eventStore = useEventStore();
Expand All @@ -28,7 +29,7 @@ const name = computed(() => {
</template>

<style scoped lang="scss">
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";

#drag-ghost {
background: $brand-light;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Form/Elements/FormBoolean.test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { mount } from "@vue/test-utils";
import { getLocalVue } from "tests/jest/helpers";

import FormBoolean from "./FormBoolean";
import FormBoolean from "./FormBoolean.vue";

const localVue = getLocalVue();

Expand Down
2 changes: 1 addition & 1 deletion client/src/components/Form/Elements/FormCheck.test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { mount } from "@vue/test-utils";
import { getLocalVue } from "tests/jest/helpers";

import MountTarget from "./FormCheck";
import MountTarget from "./FormCheck.vue";

const localVue = getLocalVue(true);

Expand Down
6 changes: 3 additions & 3 deletions client/src/components/Form/Elements/FormDirectory.vue
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@
<script>
import { faFolderOpen } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import { FilesDialog } from "components/FilesDialog";
import { Toast } from "composables/toast";
import _l from "utils/localization";

import { FilesDialog } from "@/components/FilesDialog";
import { Toast } from "@/composables/toast";
import _l from "@/utils/localization";
import { errorMessageAsString } from "@/utils/simple-error";

import GButton from "@/components/BaseComponents/GButton.vue";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ defineProps<{
</template>

<style lang="scss" scoped>
@import "theme/blue.scss";
@import "@/style/scss/theme/blue.scss";
.ui-drilldown {
$ui-drilldown-border: 0.5px solid $gray-500;

Expand Down
Loading
Loading