chore: fix @typescript-eslint/no-unused-vars rule

allow the usage of _ prefix to ignore the pattern

Signed-off-by: Florent Benoit <fbenoit@redhat.com>
This commit is contained in:
Florent Benoit 2023-06-16 09:06:53 +02:00 committed by Florent BENOIT
parent 0b96e92b4f
commit 79a9644a39
36 changed files with 50 additions and 116 deletions

View file

@ -59,7 +59,7 @@
"**/dist/**"
],
"rules": {
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/consistent-type-imports": "error",
"@typescript-eslint/no-explicit-any": "error",

View file

@ -13,7 +13,6 @@
"@typescript-eslint/no-empty-function": "off",
"no-undef": "off",
"sonarjs/no-collapsible-if": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/prefer-optional-chain": "off",
"svelte/no-at-html-tags": "off",
"no-useless-escape": "off",

View file

@ -8,7 +8,6 @@ import { router } from 'tinro';
import Route from './Route.svelte';
import ContainerList from './lib/ContainerList.svelte';
import { onMount } from 'svelte';
import ImagesList from './lib/ImagesList.svelte';
import ProviderList from './lib/ProviderList.svelte';
import PreferencesPage from './lib/preferences/PreferencesPage.svelte';
@ -16,8 +15,6 @@ import BuildImageFromContainerfile from './lib/image/BuildImageFromContainerfile
import PullImage from './lib/image/PullImage.svelte';
import DockerExtension from './lib/docker-extension/DockerExtension.svelte';
import ContainerDetails from './lib/container/ContainerDetails.svelte';
import { providerInfos } from './stores/providers';
import type { ProviderInfo } from '../../main/src/plugin/api/provider-info';
import WelcomePage from './lib/welcome/WelcomePage.svelte';
import DashboardPage from './lib/dashboard/DashboardPage.svelte';
import HelpPage from './lib/help/HelpPage.svelte';
@ -50,18 +47,6 @@ router.subscribe(function (navigation) {
}
});
let providers: ProviderInfo[] = [];
$: providerConnections = providers
.map(provider => provider.containerConnections)
.flat()
.filter(providerContainerConnection => providerContainerConnection.status === 'started');
onMount(() => {
providerInfos.subscribe(value => {
providers = value;
});
});
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
window.events?.receive('display-help', () => {

View file

@ -6,9 +6,8 @@ import { CONFIGURATION_DEFAULT_SCOPE } from '../../main/src/plugin/configuration
export let meta;
let extensions, configProperties: Map<string, { id: string; title: string }>;
let configProperties: Map<string, { id: string; title: string }>;
$: extensions = [];
$: configProperties = new Map();
$: sectionExpanded = {};
@ -17,9 +16,6 @@ function toggleSection(provider: string) {
}
onMount(async () => {
extensionInfos.subscribe(value => {
extensions = value;
});
configurationProperties.subscribe(value => {
configProperties = value
.filter(property => property.scope === CONFIGURATION_DEFAULT_SCOPE)

View file

@ -279,10 +279,6 @@ function toggleCreateContainer(): void {
openChoiceModal = !openChoiceModal;
}
function runContainerYaml(): void {
router.goto('/containers/play');
}
function fromDockerfile(): void {
openChoiceModal = false;
router.goto('/images/build');

View file

@ -23,10 +23,10 @@ export let detailed = false;
export let inProgressCallback: (inProgress: boolean, state?: string) => void = () => {};
export let errorCallback: (erroMessage: string) => void = () => {};
async function startContainer(containerInfo: ContainerInfoUI) {
async function startContainer() {
inProgressCallback(true, 'STARTING');
try {
await window.startContainer(containerInfo.engineId, containerInfo.id);
await window.startContainer(container.engineId, container.id);
} catch (error) {
errorCallback(error);
} finally {
@ -34,10 +34,10 @@ async function startContainer(containerInfo: ContainerInfoUI) {
}
}
async function restartContainer(containerInfo: ContainerInfoUI) {
async function restartContainer() {
inProgressCallback(true, 'RESTARTING');
try {
await window.restartContainer(containerInfo.engineId, containerInfo.id);
await window.restartContainer(container.engineId, container.id);
} catch (error) {
errorCallback(error);
} finally {
@ -45,10 +45,10 @@ async function restartContainer(containerInfo: ContainerInfoUI) {
}
}
async function stopContainer(containerInfo: ContainerInfoUI) {
async function stopContainer() {
inProgressCallback(true, 'STOPPING');
try {
await window.stopContainer(containerInfo.engineId, containerInfo.id);
await window.stopContainer(container.engineId, container.id);
} catch (error) {
errorCallback(error);
} finally {
@ -56,18 +56,18 @@ async function stopContainer(containerInfo: ContainerInfoUI) {
}
}
function openBrowser(containerInfo: ContainerInfoUI): void {
window.openExternal(containerInfo.openingUrl);
function openBrowser(): void {
window.openExternal(container.openingUrl);
}
function openLogs(containerInfo: ContainerInfoUI): void {
function openLogs(): void {
router.goto(`/containers/${container.id}/logs`);
}
async function deleteContainer(containerInfo: ContainerInfoUI): Promise<void> {
async function deleteContainer(): Promise<void> {
inProgressCallback(true, 'DELETING');
try {
await window.deleteContainer(containerInfo.engineId, containerInfo.id);
await window.deleteContainer(container.engineId, container.id);
router.goto('/containers/');
} catch (error) {
errorCallback(error);
@ -76,7 +76,7 @@ async function deleteContainer(containerInfo: ContainerInfoUI): Promise<void> {
}
}
function openTerminalContainer(containerInfo: ContainerInfoUI): void {
function openTerminalContainer(): void {
router.goto(`/containers/${container.id}/terminal`);
}
@ -100,7 +100,7 @@ if (dropdownMenu) {
<ListItemButtonIcon
title="Start Container"
onClick="{() => startContainer(container)}"
onClick="{() => startContainer()}"
hidden="{container.state === 'RUNNING' || container.state === 'STOPPING'}"
detailed="{detailed}"
inProgress="{container.actionInProgress && container.state === 'STARTING'}"
@ -109,7 +109,7 @@ if (dropdownMenu) {
<ListItemButtonIcon
title="Stop Container"
onClick="{() => stopContainer(container)}"
onClick="{() => stopContainer()}"
hidden="{!(container.state === 'RUNNING' || container.state === 'STOPPING')}"
detailed="{detailed}"
inProgress="{container.actionInProgress && container.state === 'STOPPING'}"
@ -117,7 +117,7 @@ if (dropdownMenu) {
<ListItemButtonIcon
title="Delete Container"
onClick="{() => deleteContainer(container)}"
onClick="{() => deleteContainer()}"
icon="{faTrash}"
detailed="{detailed}"
inProgress="{container.actionInProgress && container.state === 'DELETING'}" />
@ -127,7 +127,7 @@ if (dropdownMenu) {
{#if !detailed}
<ListItemButtonIcon
title="Open Logs"
onClick="{() => openLogs(container)}"
onClick="{() => openLogs()}"
menu="{dropdownMenu}"
detailed="{false}"
icon="{faAlignLeft}" />
@ -150,7 +150,7 @@ if (dropdownMenu) {
icon="{faRocket}" />
<ListItemButtonIcon
title="Open Browser"
onClick="{() => openBrowser(container)}"
onClick="{() => openBrowser()}"
menu="{dropdownMenu}"
enabled="{container.state === 'RUNNING' && container.hasPublicPort}"
hidden="{dropdownMenu && container.state !== 'RUNNING'}"
@ -159,7 +159,7 @@ if (dropdownMenu) {
{#if !detailed}
<ListItemButtonIcon
title="Open Terminal"
onClick="{() => openTerminalContainer(container)}"
onClick="{() => openTerminalContainer()}"
menu="{dropdownMenu}"
hidden="{!(container.state === 'RUNNING')}"
detailed="{false}"
@ -167,7 +167,7 @@ if (dropdownMenu) {
{/if}
<ListItemButtonIcon
title="Restart Container"
onClick="{() => restartContainer(container)}"
onClick="{() => restartContainer()}"
menu="{dropdownMenu}"
detailed="{detailed}"
icon="{faArrowsRotate}" />

View file

@ -104,7 +104,7 @@ onMount(async () => {
await refreshTerminal();
fetchContainerLogs();
// Resize the terminal each time we change the div size
resizeObserver = new ResizeObserver(entries => {
resizeObserver = new ResizeObserver(() => {
termFit?.fit();
});

View file

@ -29,16 +29,6 @@ let logsTerminal;
let resizeObserver: ResizeObserver;
let termFit: FitAddon;
async function initializeProvider() {
initializeError = undefined;
logsTerminal.clear();
initializationContext.promise?.catch((error: unknown) => {
initializeError = String(error);
logsTerminal.write(error + '\r');
console.error('Error while initializing the provider', error);
});
}
async function refreshTerminal() {
// missing element, return
if (!logsXtermDiv) {
@ -81,7 +71,7 @@ onMount(async () => {
refreshTerminal();
// Resize the terminal each time we change the div size
resizeObserver = new ResizeObserver(entries => {
resizeObserver = new ResizeObserver(() => {
termFit?.fit();
});

View file

@ -100,7 +100,7 @@ onMount(async () => {
refreshTerminal();
// Resize the terminal each time we change the div size
resizeObserver = new ResizeObserver(entries => {
resizeObserver = new ResizeObserver(() => {
termFit?.fit();
});

View file

@ -1,5 +1,5 @@
<script lang="ts">
import type { CheckStatus, ProviderInfo } from '../../../../main/src/plugin/api/provider-info';
import type { ProviderInfo } from '../../../../main/src/plugin/api/provider-info';
import ProviderLinks from './ProviderLinks.svelte';
import ProviderLogo from './ProviderLogo.svelte';

View file

@ -1,6 +1,5 @@
<script lang="ts">
import type { ProviderInfo } from '../../../../main/src/plugin/api/provider-info';
import type * as extensionApi from '@podman-desktop/api';
import { providerInfos } from '../../stores/providers';
export let provider: ProviderInfo;

View file

@ -38,7 +38,7 @@ window.events?.receive('dev-tools:open-extension', extensionId => {
</script>
{#if source && preloadPath}
<Route path="/*" breadcrumb="{name}" let:meta>
<Route path="/*" breadcrumb="{name}">
<webview
id="dd-webview-{webviewId}"
src="{source}?extensionName={currentContrib.extensionId}&arch={arch}&hostname={hostname}&platform={platform}"

View file

@ -1,6 +1,5 @@
<script lang="ts">
import type { EngineInfoUI } from './EngineInfoUI';
import type { MessageBoxReturnValue } from '../../../../main/src/plugin/message-box';
// Imported type for prune (containers, images, pods, volumes)
export let type: string;

View file

@ -1,7 +1,6 @@
<script lang="ts">
import type { FeaturedExtension } from '../../../../main/src/plugin/featured/featured-api';
import { faCheckCircle, faDownload } from '@fortawesome/free-solid-svg-icons';
import Fa from 'svelte-fa/src/fa.svelte';
import { faDownload } from '@fortawesome/free-solid-svg-icons';
import LoadingIcon from '../ui/LoadingIcon.svelte';
import ErrorMessage from '../ui/ErrorMessage.svelte';

View file

@ -1,6 +1,6 @@
<script lang="ts">
import { featuredExtensionInfos } from '/@/stores/featuredExtensions';
import { faCheckCircle, faCircleXmark, faDownload } from '@fortawesome/free-solid-svg-icons';
import { faCheckCircle, faCircleXmark } from '@fortawesome/free-solid-svg-icons';
import Fa from 'svelte-fa/src/fa.svelte';
import FeaturedExtensionDownload from './FeaturedExtensionDownload.svelte';
</script>

View file

@ -10,12 +10,6 @@ import type { ImageInfoUI } from './ImageInfoUI';
export let closeCallback: () => void;
export let imageInfoToPush: ImageInfoUI;
function keydownDockerfileChoice(e: KeyboardEvent) {
e.stopPropagation();
if (e.key === 'Escape') {
closeCallback();
}
}
let pushInProgress = false;
let pushFinished = false;
let logsPush;

View file

@ -1,6 +1,5 @@
<script lang="ts">
import StarIcon from './StarIcon.svelte';
import { SvelteComponent } from 'svelte';
// status: one of RUNNING, STARTING, USED, CREATED, or DEGRADED
// any other status will result in a standard outlined box

View file

@ -1,5 +1,5 @@
<script lang="ts">
import { onMount, tick, onDestroy } from 'svelte';
import { onMount, onDestroy } from 'svelte';
import type { Unsubscriber } from 'svelte/store';
import type { ProviderContainerConnectionInfo, ProviderInfo } from '../../../../main/src/plugin/api/provider-info';
let providerUnsubscribe: Unsubscriber;

View file

@ -164,7 +164,7 @@ onMount(async () => {
fetchPodLogs();
// Resize the terminal each time we change the div size
resizeObserver = new ResizeObserver(entries => {
resizeObserver = new ResizeObserver(() => {
termFit?.fit();
});

View file

@ -17,8 +17,6 @@ import PodActions from './PodActions.svelte';
import KubePlayButton from '../kube/KubePlayButton.svelte';
import moment from 'moment';
import Tooltip from '../ui/Tooltip.svelte';
import Fa from 'svelte-fa/src/fa.svelte';
import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
import Prune from '../engine/Prune.svelte';
import type { EngineInfoUI } from '../engine/EngineInfoUI';
import ErrorMessage from '../ui/ErrorMessage.svelte';

View file

@ -133,7 +133,7 @@ onDestroy(() => {
}
});
function handleInvalidComponent(_error: string) {
function handleInvalidComponent() {
isValid = false;
}

View file

@ -4,7 +4,7 @@ import type { IConfigurationPropertyRecordedSchema } from '../../../../main/src/
import { Buffer } from 'buffer';
import type { ContainerProviderConnection } from '@podman-desktop/api';
import { providerInfos } from '../../stores/providers';
import { beforeUpdate, onMount } from 'svelte';
import { onMount } from 'svelte';
import type { ProviderContainerConnectionInfo, ProviderInfo } from '../../../../main/src/plugin/api/provider-info';
import { router } from 'tinro';
import Modal from '../dialogs/Modal.svelte';
@ -167,7 +167,7 @@ async function stopReceivingLogs(provider: ProviderInfo): Promise<void> {
}
</script>
<Route path="/*" breadcrumb="{connectionName} Settings" let:meta>
<Route path="/*" breadcrumb="{connectionName} Settings">
<div class="flex flex-1 flex-col bg-charcoal-600 px-2">
<div class="flex flex-row align-middle my-4">
<div class="capitalize text-xl">{connectionName} settings</div>

View file

@ -28,7 +28,7 @@ async function removeExtension() {
</span>
<div class="bg-charcoal-600 mt-5 rounded-md p-3">
{#if extensionInfo}
<Route path="/*" breadcrumb="{extensionInfo.displayName}" let:meta>
<Route path="/*" breadcrumb="{extensionInfo.displayName}">
<!-- Manage lifecycle-->
<div class="flex pb-2">
<div class="pr-2">Status</div>

View file

@ -51,7 +51,7 @@ $: latestVersionNumber = latestVersion ? `v${latestVersion.version}` : '';
$: latestVersionOciLink = latestVersion ? latestVersion.ociUri : undefined;
$: latestVersionIcon = latestVersion ? latestVersion.files.find(f => f.assetType === 'icon')?.data : undefined;
$: latestVersionReadme = latestVersion ? latestVersion.files.find(f => f.assetType === 'README')?.data : undefined;
$: latestVersionReadmeContent = fetchReadmeContent(latestVersionReadme);
$: fetchReadmeContent(latestVersionReadme);
$: isInstalled = installedExtensions.find(e => e.id === extensionId) !== undefined;
let installInProgress = false;

View file

@ -105,12 +105,12 @@ let showModal: ProviderInfo = undefined;
let logsTerminal: Terminal;
async function stopReceivingLogs(provider: ProviderInfo): Promise<void> {
async function stopReceivingLogs(_provider: ProviderInfo): Promise<void> {
// await window.stopReceiveLogs(provider.internalId, kubernetesConnectionInfo);
}
</script>
<Route path="/*" breadcrumb="{connectionName} Settings" let:meta>
<Route path="/*" breadcrumb="{connectionName} Settings">
<div class="flex flex-1 flex-col bg-charcoal-600 px-2">
<div class="flex flex-row align-middle my-4">
<div class="capitalize text-xl">{connectionName}</div>

View file

@ -47,7 +47,7 @@ onMount(async () => {
<Route path="/default/:key/*" breadcrumb="Preferences" let:meta>
<PreferencesRendering key="{meta.params.key}" properties="{properties}" />
</Route>
<Route path="/ddExtensions" breadcrumb="Docker Desktop Extensions" let:meta>
<Route path="/ddExtensions" breadcrumb="Docker Desktop Extensions">
<PreferencesPageDockerExtensions />
</Route>
<Route path="/extension/:extensionId/*" breadcrumb="Extensions" let:meta>

View file

@ -36,22 +36,17 @@ onMount(() => {
let providerInfo: ProviderInfo;
$: providerInfo = providers.filter(provider => provider.internalId === providerInternalId)[0];
let waiting = false;
let logsTerminal: Terminal;
async function startProvider(): Promise<void> {
waiting = true;
await window.startProviderLifecycle(providerInfo.internalId);
window.dispatchEvent(new CustomEvent('provider-lifecycle-change'));
waiting = false;
}
async function stopProvider(): Promise<void> {
waiting = true;
await window.stopProviderLifecycle(providerInfo.internalId);
window.dispatchEvent(new CustomEvent('provider-lifecycle-change'));
waiting = false;
}
async function startReceivingLogs(provider: ProviderInfo): Promise<void> {
@ -66,7 +61,7 @@ async function stopReceivingLogs(provider: ProviderInfo): Promise<void> {
}
</script>
<Route path="/*" breadcrumb="{providerInfo?.name}" let:meta>
<Route path="/*" breadcrumb="{providerInfo?.name}">
<div class="flex flex-1 flex-col bg-charcoal-800 px-6 py-1">
<div>
<button

View file

@ -46,7 +46,7 @@ function updateSearchValue(event: any) {
}
</script>
<Route path="/" breadcrumb="{key}" let:meta>
<Route path="/" breadcrumb="{key}">
<SettingsPage title="Preferences">
<div class="bg-charcoal-900">
<div

View file

@ -11,13 +11,13 @@ import Tooltip from '../ui/Tooltip.svelte';
let invalidEntry = false;
let invalidText = undefined;
export let showUpdate = false;
export let invalidRecord = (error: string) => {};
export let invalidRecord = (_error: string) => {};
export let validRecord = () => {};
export let updateResetButtonVisibility = (recordValue: any) => {};
export let updateResetButtonVisibility = (_recordValue: any) => {};
export let resetToDefault = false;
export let enableAutoSave = false;
export let setRecordValue = (id: string, value: string) => {};
export let setRecordValue = (_id: string, _value: string) => {};
export let enableSlider = false;
export let record: IConfigurationPropertyRecordedSchema;

View file

@ -11,7 +11,7 @@ import type {
import { onDestroy, onMount } from 'svelte';
import type { IConfigurationPropertyRecordedSchema } from '../../../../main/src/plugin/configuration-registry';
import { configurationProperties } from '../../stores/configurationProperties';
import type { ContainerProviderConnection, ProviderDetectionCheck, provider } from '@podman-desktop/api';
import type { ContainerProviderConnection } from '@podman-desktop/api';
import type { Unsubscriber } from 'svelte/store';
import Tooltip from '../ui/Tooltip.svelte';
import { filesize } from 'filesize';

View file

@ -1,17 +1,8 @@
<script lang="ts">
import {
faCheck,
faCheckCircle,
faCheckDouble,
faCheckSquare,
faChevronDown,
faCircle,
faInfoCircle,
} from '@fortawesome/free-solid-svg-icons';
import { faCheck, faChevronDown, faCircle } from '@fortawesome/free-solid-svg-icons';
import { clearCompletedTasks, tasksInfo } from '/@/stores/tasks';
import Fa from 'svelte-fa/src/fa.svelte';
import BellSlashIcon from '../images/BellSlashIcon.svelte';
import TaskIcon from '../images/TaskIcon.svelte';
import TaskManagerEmptyScreen from './TaskManagerEmptyScreen.svelte';
import TaskManagerGroup from './TaskManagerGroup.svelte';

View file

@ -1,6 +1,6 @@
<script lang="ts">
import { faClose, faInfoCircle, faSquareCheck, faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';
import { createEventDispatcher, onMount } from 'svelte';
import { onMount } from 'svelte';
import Fa from 'svelte-fa/src/fa.svelte';
import { TaskManager, type TaskUI } from './task-manager';
import { removeTask } from '/@/stores/tasks';
@ -9,7 +9,6 @@ import type { Task } from '../../../../main/src/plugin/api/task';
export let task: Task;
const taskManager = new TaskManager();
const dispatch = createEventDispatcher();
let taskUI: TaskUI;
$: taskUI = taskManager.toTaskUi(task);

View file

@ -1,7 +1,7 @@
<script lang="ts">
import Fa from 'svelte-fa/src/fa.svelte';
import { faPaste } from '@fortawesome/free-solid-svg-icons';
import { onMount, SvelteComponent } from 'svelte';
import { onMount } from 'svelte';
export let icon: any;
export let title = 'No title';

View file

@ -1,6 +1,6 @@
<script lang="ts">
import Fa from 'svelte-fa/src/fa.svelte';
import { faChevronDown, faChevronRight, faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
import Tooltip from './Tooltip.svelte';
export let error: string;

View file

@ -1,11 +1,6 @@
<script lang="ts">
import Fa from 'svelte-fa/src/fa.svelte';
import {
faChevronDown,
faChevronRight,
faExclamationCircle,
faTriangleExclamation,
} from '@fortawesome/free-solid-svg-icons';
import { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';
import Tooltip from './Tooltip.svelte';
export let error: string;

View file

@ -1,5 +1,5 @@
<script lang="ts">
import { faPlay, faStop, faArrowsRotate, faTrash } from '@fortawesome/free-solid-svg-icons';
import { faTrash } from '@fortawesome/free-solid-svg-icons';
import type { VolumeInfoUI } from './VolumeInfoUI';
import { router } from 'tinro';
import ListItemButtonIcon from '../ui/ListItemButtonIcon.svelte';