From f62652e36991789b88dc2769a401194b804f8c7a Mon Sep 17 00:00:00 2001 From: Katerina Koukiou Date: Fri, 17 Mar 2023 14:52:01 +0100 Subject: [PATCH] When importing from lib don't use file extension https://github.com/evanw/esbuild/issues/3001 Unfortunally scss imports with non relative paths still don't work with esbuild-wasm if these are inside jsx files. Use relative paths for importing scss from JS. Same for .sh and .py files processed by the raw loader. Replacement done with: for file in $(ls pkg/lib); do echo 'Processing' $file; base=$(basename $file) find pkg/ -type f -exec sed -i "s/$base/${base%.*}/g" {} +; done And fixed up the rest manually. --- pkg/apps/application-list.jsx | 4 ++-- pkg/apps/apps.jsx | 2 +- pkg/apps/appstream.js | 4 ++-- pkg/apps/packagekit.js | 2 +- pkg/apps/utils.jsx | 2 +- pkg/kdump/kdump-view.jsx | 6 +++--- pkg/kdump/kdump.js | 2 +- pkg/lib/cockpit-components-context-menu.jsx | 2 +- pkg/lib/cockpit-components-dialog.jsx | 2 +- pkg/lib/cockpit-components-install-dialog.jsx | 6 +++--- pkg/lib/cockpit-components-logs-panel.jsx | 4 ++-- pkg/lib/cockpit-components-modifications.jsx | 2 +- pkg/lib/cockpit-components-plot.jsx | 4 ++-- pkg/lib/cockpit-components-shutdown.jsx | 8 ++++---- pkg/lib/cockpit-components-terminal.jsx | 4 ++-- pkg/lib/credentials-ssh-private-keys.sh | 6 +++--- pkg/lib/credentials.js | 4 ++-- pkg/lib/ct-card.scss | 2 +- pkg/lib/dialogs.jsx | 4 ++-- pkg/lib/serverTime.js | 14 +++++++------- pkg/metrics/metrics.jsx | 17 ++++++++--------- pkg/metrics/metrics.scss | 2 ++ pkg/networkmanager/bond.jsx | 2 +- pkg/networkmanager/bridge.jsx | 2 +- pkg/networkmanager/bridgeport.jsx | 2 +- pkg/networkmanager/dialogs-common.jsx | 4 ++-- pkg/networkmanager/firewall.jsx | 8 ++++---- pkg/networkmanager/interfaces.js | 4 ++-- pkg/networkmanager/ip-settings.jsx | 2 +- pkg/networkmanager/mac.jsx | 2 +- pkg/networkmanager/mtu.jsx | 2 +- .../network-interface-members.jsx | 4 ++-- pkg/networkmanager/network-interface.jsx | 2 +- pkg/networkmanager/network-main.jsx | 4 ++-- pkg/networkmanager/networkmanager.jsx | 6 +++--- pkg/networkmanager/plots.js | 2 +- pkg/networkmanager/team.jsx | 2 +- pkg/networkmanager/teamport.jsx | 2 +- pkg/networkmanager/vlan.jsx | 2 +- pkg/packagekit/autoupdates.jsx | 4 ++-- pkg/packagekit/history.jsx | 4 ++-- pkg/packagekit/kpatch.jsx | 6 +++--- pkg/packagekit/updates.jsx | 16 ++++++++-------- pkg/playground/journal.jsx | 4 ++-- pkg/playground/plot.js | 4 ++-- .../react-demo-file-autocomplete.jsx | 2 +- pkg/playground/react-patterns.js | 2 +- pkg/playground/seddwXF1p | Bin 0 -> 49152 bytes pkg/selinux/setroubleshoot-view.jsx | 8 ++++---- pkg/shell/active-pages-modal.jsx | 4 ++-- pkg/shell/credentials.jsx | 10 +++++----- pkg/shell/failures.jsx | 2 +- pkg/shell/hosts_dialog.jsx | 2 +- pkg/shell/indexes.jsx | 2 +- pkg/shell/shell-modals.jsx | 4 ++-- pkg/shell/superuser.jsx | 4 ++-- pkg/shell/topnav.jsx | 4 ++-- pkg/sosreport/sosreport.jsx | 8 ++++---- pkg/sosreport/sosreport.scss | 2 +- pkg/storaged/client.js | 8 ++++---- pkg/storaged/content-views.jsx | 6 +++--- pkg/storaged/crypto-keyslots.jsx | 2 +- pkg/storaged/crypto-panel.jsx | 2 +- pkg/storaged/crypto-tab.jsx | 4 ++-- pkg/storaged/dialog.jsx | 6 +++--- pkg/storaged/fsys-panel.jsx | 2 +- pkg/storaged/logs-panel.jsx | 2 +- pkg/storaged/nfs-panel.jsx | 2 +- pkg/storaged/optional-panel.jsx | 2 +- pkg/storaged/plot.jsx | 2 +- pkg/storaged/sed3q1rLN | 0 pkg/storaged/storage-controls.jsx | 2 +- pkg/storaged/storaged.jsx | 4 ++-- pkg/storaged/stratis-details.jsx | 6 +++--- pkg/storaged/things-panel.jsx | 2 +- pkg/storaged/vdo-details.jsx | 2 +- pkg/storaged/vgroup-details.jsx | 2 +- pkg/systemd/abrtLog.jsx | 2 +- pkg/systemd/hw-detect.js | 2 +- pkg/systemd/hwinfo.jsx | 6 +++--- pkg/systemd/logDetails.jsx | 2 +- pkg/systemd/logsJournal.jsx | 4 ++-- .../overview-cards/configurationCard.jsx | 9 ++++----- pkg/systemd/overview-cards/cryptoPolicies.jsx | 6 +++--- pkg/systemd/overview-cards/insights.jsx | 2 +- pkg/systemd/overview-cards/motdCard.jsx | 4 ++-- .../profiles-menu-dialog-body.jsx | 2 +- pkg/systemd/overview-cards/realmd.jsx | 10 +++++----- .../overview-cards/systemInformationCard.jsx | 4 ++-- pkg/systemd/overview-cards/tuned-dialog.jsx | 6 +++--- pkg/systemd/overview-cards/usageCard.jsx | 2 +- pkg/systemd/overview.jsx | 4 ++-- pkg/systemd/reporting.jsx | 2 +- pkg/systemd/service-details.jsx | 6 +++--- pkg/systemd/service-details.scss | 2 +- pkg/systemd/service.jsx | 6 +++--- pkg/systemd/services-list.jsx | 4 ++-- pkg/systemd/services.jsx | 4 ++-- pkg/systemd/superuser-alert.jsx | 2 +- pkg/systemd/terminal.jsx | 2 +- pkg/systemd/timer-dialog.jsx | 6 +++--- pkg/users/account-create-dialog.js | 4 ++-- pkg/users/account-details.js | 4 ++-- pkg/users/account-logs-panel.jsx | 4 ++-- pkg/users/accounts-list.js | 6 +++--- pkg/users/authorized-keys-panel.js | 6 +++--- pkg/users/delete-account-dialog.js | 2 +- pkg/users/delete-group-dialog.js | 2 +- pkg/users/dialog-utils.js | 2 +- pkg/users/expiration-dialogs.js | 4 ++-- pkg/users/group-create-dialog.js | 2 +- pkg/users/lock-account-dialog.js | 2 +- pkg/users/logout-account-dialog.js | 2 +- pkg/users/password-dialogs.js | 4 ++-- pkg/users/rename-group-dialog.jsx | 2 +- pkg/users/users.js | 4 ++-- 116 files changed, 226 insertions(+), 226 deletions(-) create mode 100644 pkg/playground/seddwXF1p create mode 100644 pkg/storaged/sed3q1rLN diff --git a/pkg/apps/application-list.jsx b/pkg/apps/application-list.jsx index f31d28eb776f..d0323e70bbf7 100644 --- a/pkg/apps/application-list.jsx +++ b/pkg/apps/application-list.jsx @@ -28,10 +28,10 @@ import { Page, PageSection, PageSectionVariants } from "@patternfly/react-core/d import { RebootingIcon } from "@patternfly/react-icons"; import * as PackageKit from "./packagekit.js"; -import { read_os_release } from "os-release.js"; +import { read_os_release } from "os-release"; import { icon_url, show_error, launch, ProgressBar, CancelButton } from "./utils.jsx"; import { ActionButton } from "./application.jsx"; -import { EmptyStatePanel } from "cockpit-components-empty-state.jsx"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; const _ = cockpit.gettext; diff --git a/pkg/apps/apps.jsx b/pkg/apps/apps.jsx index 565163a853e1..f2d4e24eed21 100644 --- a/pkg/apps/apps.jsx +++ b/pkg/apps/apps.jsx @@ -26,7 +26,7 @@ import cockpit from "cockpit"; import React, { useState } from "react"; import { createRoot } from 'react-dom/client'; -import { EmptyStatePanel } from "cockpit-components-empty-state.jsx"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; import { ApplicationList } from "./application-list.jsx"; import { Application } from "./application.jsx"; import { get_metainfo_db } from "./appstream.js"; diff --git a/pkg/apps/appstream.js b/pkg/apps/appstream.js index ad023208d935..1718a7ed2fd9 100644 --- a/pkg/apps/appstream.js +++ b/pkg/apps/appstream.js @@ -18,8 +18,8 @@ */ import cockpit from "cockpit"; -import * as python from "python.js"; -import inotify_py from "inotify.py"; +import * as python from "python"; +import inotify_py from "../lib/inotify.py"; import watch_appstream_py from "./watch-appstream.py"; let metainfo_db = null; diff --git a/pkg/apps/packagekit.js b/pkg/apps/packagekit.js index 059233c88456..ac06381abd4c 100644 --- a/pkg/apps/packagekit.js +++ b/pkg/apps/packagekit.js @@ -18,7 +18,7 @@ */ import cockpit from "cockpit"; -import * as PK from "packagekit.js"; +import * as PK from "packagekit"; class ProgressReporter { constructor(base, range, callback) { diff --git a/pkg/apps/utils.jsx b/pkg/apps/utils.jsx index 0a3266a6b733..fdf9eb62b8f0 100644 --- a/pkg/apps/utils.jsx +++ b/pkg/apps/utils.jsx @@ -23,7 +23,7 @@ import { Button } from "@patternfly/react-core/dist/esm/components/Button/index. import { Progress } from "@patternfly/react-core/dist/esm/components/Progress/index.js"; import { Split, SplitItem } from "@patternfly/react-core/dist/esm/layouts/Split/index.js"; import { Spinner } from "@patternfly/react-core/dist/esm/components/Spinner/index.js"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; +import { show_modal_dialog } from "cockpit-components-dialog"; const _ = cockpit.gettext; diff --git a/pkg/kdump/kdump-view.jsx b/pkg/kdump/kdump-view.jsx index 6c70c323f401..5999730d3085 100644 --- a/pkg/kdump/kdump-view.jsx +++ b/pkg/kdump/kdump-view.jsx @@ -40,9 +40,9 @@ import { Title } from "@patternfly/react-core/dist/esm/components/Title/index.js import { Tooltip, TooltipPosition } from "@patternfly/react-core/dist/esm/components/Tooltip/index.js"; import { OutlinedQuestionCircleIcon } from "@patternfly/react-icons"; -import { useDialogs, DialogsContext } from "dialogs.jsx"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; -import { ModalError } from 'cockpit-components-inline-notification.jsx'; +import { useDialogs, DialogsContext } from "dialogs"; +import { show_modal_dialog } from "cockpit-components-dialog"; +import { ModalError } from 'cockpit-components-inline-notification'; const _ = cockpit.gettext; diff --git a/pkg/kdump/kdump.js b/pkg/kdump/kdump.js index a19421cc0cf7..13719fb145fb 100644 --- a/pkg/kdump/kdump.js +++ b/pkg/kdump/kdump.js @@ -29,7 +29,7 @@ import { createRoot } from "react-dom/client"; import { KdumpPage } from "./kdump-view.jsx"; import * as kdumpClient from "./kdump-client.js"; import { superuser } from "superuser"; -import { WithDialogs } from "dialogs.jsx"; +import { WithDialogs } from "dialogs"; import './kdump.scss'; diff --git a/pkg/lib/cockpit-components-context-menu.jsx b/pkg/lib/cockpit-components-context-menu.jsx index 3d0b32a8f273..1dcab220e763 100644 --- a/pkg/lib/cockpit-components-context-menu.jsx +++ b/pkg/lib/cockpit-components-context-menu.jsx @@ -21,7 +21,7 @@ import cockpit from "cockpit"; import React from "react"; import PropTypes from "prop-types"; -import "context-menu.css"; +import "context-menu"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-dialog.jsx b/pkg/lib/cockpit-components-dialog.jsx index 0b2c0113342a..3038803e1fa2 100644 --- a/pkg/lib/cockpit-components-dialog.jsx +++ b/pkg/lib/cockpit-components-dialog.jsx @@ -29,7 +29,7 @@ import { Spinner } from "@patternfly/react-core/dist/esm/components/Spinner/inde import { Stack, StackItem } from "@patternfly/react-core/dist/esm/layouts/Stack/index.js"; import { HelpIcon, ExternalLinkAltIcon } from '@patternfly/react-icons'; -import "cockpit-components-dialog.scss"; +import "./cockpit-components-dialog.scss"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-install-dialog.jsx b/pkg/lib/cockpit-components-install-dialog.jsx index 1b3e918653dc..cffb46344964 100644 --- a/pkg/lib/cockpit-components-install-dialog.jsx +++ b/pkg/lib/cockpit-components-install-dialog.jsx @@ -22,10 +22,10 @@ import React from "react"; import { WarningTriangleIcon } from "@patternfly/react-icons"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; -import * as PK from "packagekit.js"; +import { show_modal_dialog } from "cockpit-components-dialog"; +import * as PK from "packagekit"; -import "cockpit-components-install-dialog.css"; +import "cockpit-components-install-dialog"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-logs-panel.jsx b/pkg/lib/cockpit-components-logs-panel.jsx index 9aa6e44392bb..73e131ce30e6 100644 --- a/pkg/lib/cockpit-components-logs-panel.jsx +++ b/pkg/lib/cockpit-components-logs-panel.jsx @@ -26,8 +26,8 @@ import { Card, CardActions, CardBody, CardHeader, CardTitle } from "@patternfly/ import { ExclamationTriangleIcon, TimesCircleIcon } from '@patternfly/react-icons'; import { journal } from "journal"; -import "journal.css"; -import "cockpit-components-logs-panel.scss"; +import "./journal.css"; +import "./cockpit-components-logs-panel.scss"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-modifications.jsx b/pkg/lib/cockpit-components-modifications.jsx index 3e902738246f..b495b6a9441c 100644 --- a/pkg/lib/cockpit-components-modifications.jsx +++ b/pkg/lib/cockpit-components-modifications.jsx @@ -29,7 +29,7 @@ import { TextArea } from "@patternfly/react-core/dist/esm/components/TextArea/in import { CheckIcon, CopyIcon, ExternalLinkAltIcon, OutlinedQuestionCircleIcon } from '@patternfly/react-icons'; import cockpit from "cockpit"; -import 'cockpit-components-modifications.css'; +import './cockpit-components-modifications.css'; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-plot.jsx b/pkg/lib/cockpit-components-plot.jsx index 30424079f5c0..10e133c16485 100644 --- a/pkg/lib/cockpit-components-plot.jsx +++ b/pkg/lib/cockpit-components-plot.jsx @@ -20,7 +20,7 @@ import cockpit from "cockpit"; import React, { useState, useRef, useLayoutEffect } from 'react'; -import { useEvent } from "hooks.js"; +import { useEvent } from "hooks"; import { Button } from "@patternfly/react-core/dist/esm/components/Button/index.js"; import { Dropdown, DropdownItem, DropdownSeparator, DropdownToggle } from "@patternfly/react-core/dist/esm/components/Dropdown/index.js"; @@ -29,7 +29,7 @@ import { AngleLeftIcon, AngleRightIcon, SearchMinusIcon } from '@patternfly/reac import * as timeformat from "timeformat"; import '@patternfly/patternfly/patternfly-charts.scss'; -import "cockpit-components-plot.scss"; +import "./cockpit-components-plot.scss"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-shutdown.jsx b/pkg/lib/cockpit-components-shutdown.jsx index 28f04ce84a75..a03b80a8b593 100644 --- a/pkg/lib/cockpit-components-shutdown.jsx +++ b/pkg/lib/cockpit-components-shutdown.jsx @@ -30,11 +30,11 @@ import { TextArea } from "@patternfly/react-core/dist/esm/components/TextArea/in import { DatePicker } from "@patternfly/react-core/dist/esm/components/DatePicker/index.js"; import { TimePicker } from "@patternfly/react-core/dist/esm/components/TimePicker/index.js"; -import { ServerTime } from 'serverTime.js'; -import * as timeformat from "timeformat.js"; -import { DialogsContext } from "dialogs.jsx"; +import { ServerTime } from 'serverTime'; +import * as timeformat from "timeformat"; +import { DialogsContext } from "dialogs"; -import "cockpit-components-shutdown.scss"; +import "./cockpit-components-shutdown.scss"; const _ = cockpit.gettext; diff --git a/pkg/lib/cockpit-components-terminal.jsx b/pkg/lib/cockpit-components-terminal.jsx index 167533faca77..4111cf934ab6 100644 --- a/pkg/lib/cockpit-components-terminal.jsx +++ b/pkg/lib/cockpit-components-terminal.jsx @@ -24,10 +24,10 @@ import { Button } from "@patternfly/react-core/dist/esm/components/Button/index. import { Terminal as Term } from "xterm"; import { CanvasAddon } from 'xterm-addon-canvas'; -import { ContextMenu } from "cockpit-components-context-menu.jsx"; +import { ContextMenu } from "cockpit-components-context-menu"; import cockpit from "cockpit"; -import "console.css"; +import "console"; const _ = cockpit.gettext; diff --git a/pkg/lib/credentials-ssh-private-keys.sh b/pkg/lib/credentials-ssh-private-keys.sh index e6ffc8404793..2f61b63b1fc9 100644 --- a/pkg/lib/credentials-ssh-private-keys.sh +++ b/pkg/lib/credentials-ssh-private-keys.sh @@ -28,7 +28,7 @@ cd "$1" || exit 0 # After that each .pub file gets its on set of blocks for file in *.pub; do printf "\v" - cat "$file" - printf "\v%s\v" "$file" - ssh-keygen -l -f "$file" || true + cat "${file%.*}" + printf "\v%s\v" "${file%.*}" + ssh-keygen -l -f "${file%.*}" || true done diff --git a/pkg/lib/credentials.js b/pkg/lib/credentials.js index d4a12aa17d8c..4c13478d2492 100644 --- a/pkg/lib/credentials.js +++ b/pkg/lib/credentials.js @@ -19,8 +19,8 @@ import cockpit from "cockpit"; -import lister from "credentials-ssh-private-keys.sh"; -import remove_key from "credentials-ssh-remove-key.sh"; +import lister from "./credentials-ssh-private-keys.sh"; +import remove_key from "./credentials-ssh-remove-key.sh"; const _ = cockpit.gettext; diff --git a/pkg/lib/ct-card.scss b/pkg/lib/ct-card.scss index 2f0d9633d2e6..8d56db07b6e1 100644 --- a/pkg/lib/ct-card.scss +++ b/pkg/lib/ct-card.scss @@ -1,4 +1,4 @@ -@use "_global-variables.scss" as *; +@use "_global-variables" as *; /* Rely on the margin from the Card for spacing */ .ct-card.pf-c-card .table { diff --git a/pkg/lib/dialogs.jsx b/pkg/lib/dialogs.jsx index a802bdcdd9f0..917a5836ef2b 100644 --- a/pkg/lib/dialogs.jsx +++ b/pkg/lib/dialogs.jsx @@ -21,7 +21,7 @@ * * Example: * - * import { WithDialogs, useDialogs } from "dialogs.jsx"; + * import { WithDialogs, useDialogs } from "dialogs"; * * const App = () => * @@ -71,7 +71,7 @@ * A class component can declare a static context type and then use * "this.context" to find the Dialogs object: * - * import { DialogsContext } from "dialogs.jsx"; + * import { DialogsContext } from "dialogs"; * * class ExampleButton extends React.Component { * static contextType = DialogsContext; diff --git a/pkg/lib/serverTime.js b/pkg/lib/serverTime.js index 2dac4edc625f..2d8df9891740 100644 --- a/pkg/lib/serverTime.js +++ b/pkg/lib/serverTime.js @@ -28,17 +28,17 @@ import { Spinner } from "@patternfly/react-core/dist/esm/components/Spinner/inde import { TimePicker } from "@patternfly/react-core/dist/esm/components/TimePicker/index.js"; import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/index.js"; import { CloseIcon, ExclamationCircleIcon, InfoCircleIcon, PlusIcon } from "@patternfly/react-icons"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; -import { useObject, useEvent } from "hooks.js"; +import { show_modal_dialog } from "cockpit-components-dialog"; +import { useObject, useEvent } from "hooks"; -import * as service from "service.js"; -import * as timeformat from "timeformat.js"; -import * as python from "python.js"; +import * as service from "service"; +import * as timeformat from "timeformat"; +import * as python from "python"; import get_timesync_backend_py from "./get-timesync-backend.py"; -import { superuser } from "superuser.js"; +import { superuser } from "superuser"; -import "serverTime.scss"; +import "serverTime"; const _ = cockpit.gettext; diff --git a/pkg/metrics/metrics.jsx b/pkg/metrics/metrics.jsx index 97f2fe583927..c3859023197f 100644 --- a/pkg/metrics/metrics.jsx +++ b/pkg/metrics/metrics.jsx @@ -44,22 +44,21 @@ import { import cockpit from 'cockpit'; import * as machine_info from "../lib/machine-info.js"; -import * as packagekit from "packagekit.js"; +import * as packagekit from "packagekit"; import * as service from "service"; import * as timeformat from "timeformat"; import { superuser } from "superuser"; import { journal } from "journal"; -import { useObject, useEvent, useInit } from "hooks.js"; -import { WithDialogs, useDialogs } from "dialogs.jsx"; +import { useObject, useEvent, useInit } from "hooks"; +import { WithDialogs, useDialogs } from "dialogs"; -import { EmptyStatePanel } from "../lib/cockpit-components-empty-state.jsx"; -import { JournalOutput } from "cockpit-components-logs-panel.jsx"; -import { install_dialog } from "cockpit-components-install-dialog.jsx"; -import { ModalError } from "cockpit-components-inline-notification.jsx"; -import { FirewalldRequest } from "cockpit-components-firewalld-request.jsx"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; +import { JournalOutput } from "cockpit-components-logs-panel"; +import { install_dialog } from "cockpit-components-install-dialog"; +import { ModalError } from "cockpit-components-inline-notification"; +import { FirewalldRequest } from "cockpit-components-firewalld-request"; import "./metrics.scss"; -import "journal.css"; const MSEC_PER_H = 3600000; const INTERVAL = 5000; diff --git a/pkg/metrics/metrics.scss b/pkg/metrics/metrics.scss index 987c64b7f138..10a0b1d5956a 100644 --- a/pkg/metrics/metrics.scss +++ b/pkg/metrics/metrics.scss @@ -6,6 +6,8 @@ // utilities for `pf-u...` classes @import "@patternfly/patternfly/utilities/Spacing/spacing.css"; +@import "../lib/journal.css"; + #app { section.pf-c-page__main-breadcrumb { padding-bottom: var(--pf-c-page__main-breadcrumb--PaddingTop); diff --git a/pkg/networkmanager/bond.jsx b/pkg/networkmanager/bond.jsx index aad5c95fc91d..7485b852585e 100644 --- a/pkg/networkmanager/bond.jsx +++ b/pkg/networkmanager/bond.jsx @@ -28,7 +28,7 @@ import { ExternalLinkSquareAltIcon, HelpIcon } from '@patternfly/react-icons'; import { MacMenu, MemberInterfaceChoices, NetworkModal, Name, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; import { v4 as uuidv4 } from 'uuid'; import { diff --git a/pkg/networkmanager/bridge.jsx b/pkg/networkmanager/bridge.jsx index 78004350ba9c..fa445d7470b5 100644 --- a/pkg/networkmanager/bridge.jsx +++ b/pkg/networkmanager/bridge.jsx @@ -26,7 +26,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { MemberInterfaceChoices, NetworkModal, Name, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; import { v4 as uuidv4 } from 'uuid'; import { diff --git a/pkg/networkmanager/bridgeport.jsx b/pkg/networkmanager/bridgeport.jsx index be1bcb50ad28..1e391db384be 100644 --- a/pkg/networkmanager/bridgeport.jsx +++ b/pkg/networkmanager/bridgeport.jsx @@ -25,7 +25,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/dialogs-common.jsx b/pkg/networkmanager/dialogs-common.jsx index 6dae051de2a1..c8d2cec0e991 100644 --- a/pkg/networkmanager/dialogs-common.jsx +++ b/pkg/networkmanager/dialogs-common.jsx @@ -37,9 +37,9 @@ import { TeamPortDialog } from './teamport.jsx'; import { VlanDialog, getGhostSettings as getVlanGhostSettings } from './vlan.jsx'; import { MtuDialog } from './mtu.jsx'; import { MacDialog } from './mac.jsx'; -import { ModalError } from 'cockpit-components-inline-notification.jsx'; +import { ModalError } from 'cockpit-components-inline-notification'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; import { apply_group_member, diff --git a/pkg/networkmanager/firewall.jsx b/pkg/networkmanager/firewall.jsx index 7c56ef901a7f..576e0a57193c 100644 --- a/pkg/networkmanager/firewall.jsx +++ b/pkg/networkmanager/firewall.jsx @@ -41,13 +41,13 @@ import { Modal } from "@patternfly/react-core/dist/esm/components/Modal/index.js import { ExclamationCircleIcon } from '@patternfly/react-icons'; import firewall from "./firewall-client.js"; -import { ListingTable } from 'cockpit-components-table.jsx'; -import { ModalError } from "cockpit-components-inline-notification.jsx"; -import { EmptyStatePanel } from "cockpit-components-empty-state.jsx"; +import { ListingTable } from 'cockpit-components-table'; +import { ModalError } from "cockpit-components-inline-notification"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; import { FirewallSwitch } from "./firewall-switch.jsx"; import { superuser } from "superuser"; -import { WithDialogs, DialogsContext } from "dialogs.jsx"; +import { WithDialogs, DialogsContext } from "dialogs"; import "./networking.scss"; diff --git a/pkg/networkmanager/interfaces.js b/pkg/networkmanager/interfaces.js index ec01f446183d..e9e44333a711 100644 --- a/pkg/networkmanager/interfaces.js +++ b/pkg/networkmanager/interfaces.js @@ -21,13 +21,13 @@ import cockpit from 'cockpit'; import { Button } from "@patternfly/react-core/dist/esm/components/Button/index.js"; -import { fmt_to_fragments } from 'utils.jsx'; +import { fmt_to_fragments } from 'utils'; import * as utils from './utils.js'; import { v4 as uuidv4 } from 'uuid'; import "./networking.scss"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; +import { show_modal_dialog } from "cockpit-components-dialog"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/ip-settings.jsx b/pkg/networkmanager/ip-settings.jsx index 3ca83a99e708..bcb9beea978b 100644 --- a/pkg/networkmanager/ip-settings.jsx +++ b/pkg/networkmanager/ip-settings.jsx @@ -31,7 +31,7 @@ import { MinusIcon, PlusIcon } from '@patternfly/react-icons'; import { NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/mac.jsx b/pkg/networkmanager/mac.jsx index 36e29337956b..ed5d6896cf72 100644 --- a/pkg/networkmanager/mac.jsx +++ b/pkg/networkmanager/mac.jsx @@ -23,7 +23,7 @@ import { FormGroup } from "@patternfly/react-core/dist/esm/components/Form/index import { MacMenu, NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/mtu.jsx b/pkg/networkmanager/mtu.jsx index d21567859b53..49ac6597f2f2 100644 --- a/pkg/networkmanager/mtu.jsx +++ b/pkg/networkmanager/mtu.jsx @@ -24,7 +24,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/network-interface-members.jsx b/pkg/networkmanager/network-interface-members.jsx index f881e185e149..c1cf8ac11f38 100644 --- a/pkg/networkmanager/network-interface-members.jsx +++ b/pkg/networkmanager/network-interface-members.jsx @@ -25,7 +25,7 @@ import { Switch } from "@patternfly/react-core/dist/esm/components/Switch/index. import { Text, TextVariants } from "@patternfly/react-core/dist/esm/components/Text/index.js"; import { MinusIcon } from '@patternfly/react-icons'; -import { ListingTable } from "cockpit-components-table.jsx"; +import { ListingTable } from "cockpit-components-table"; import { ModelContext } from './model-context.jsx'; import { useEvent } from "hooks"; @@ -40,7 +40,7 @@ import { with_checkpoint, is_managed, } from './interfaces.js'; -import { fmt_to_fragments } from 'utils.jsx'; +import { fmt_to_fragments } from 'utils'; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/network-interface.jsx b/pkg/networkmanager/network-interface.jsx index 2c8ddc9d99d4..8fce8bf0c9b4 100644 --- a/pkg/networkmanager/network-interface.jsx +++ b/pkg/networkmanager/network-interface.jsx @@ -31,7 +31,7 @@ import { ModelContext } from './model-context.jsx'; import { NetworkInterfaceMembers } from "./network-interface-members.jsx"; import { NetworkAction } from './dialogs-common.jsx'; import { NetworkPlots } from "./plots"; -import { fmt_to_fragments } from 'utils.jsx'; +import { fmt_to_fragments } from 'utils'; import { array_join, diff --git a/pkg/networkmanager/network-main.jsx b/pkg/networkmanager/network-main.jsx index 0a087564c146..3d215d148d31 100644 --- a/pkg/networkmanager/network-main.jsx +++ b/pkg/networkmanager/network-main.jsx @@ -29,9 +29,9 @@ import { Page, PageSection, PageSectionVariants } from "@patternfly/react-core/d import { Text, TextVariants } from "@patternfly/react-core/dist/esm/components/Text/index.js"; import { FirewallSwitch } from "./firewall-switch.jsx"; -import { ListingTable } from "cockpit-components-table.jsx"; +import { ListingTable } from "cockpit-components-table"; import { NetworkAction } from "./dialogs-common.jsx"; -import { LogsPanel } from "cockpit-components-logs-panel.jsx"; +import { LogsPanel } from "cockpit-components-logs-panel"; import { NetworkPlots } from "./plots"; import firewall from './firewall-client.js'; diff --git a/pkg/networkmanager/networkmanager.jsx b/pkg/networkmanager/networkmanager.jsx index 3551671ef4c4..be950ce3661e 100644 --- a/pkg/networkmanager/networkmanager.jsx +++ b/pkg/networkmanager/networkmanager.jsx @@ -25,19 +25,19 @@ import { createRoot } from "react-dom/client"; import { Button } from "@patternfly/react-core/dist/esm/components/Button/index.js"; import { ExclamationCircleIcon } from "@patternfly/react-icons"; -import { EmptyStatePanel } from "cockpit-components-empty-state.jsx"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; import { ModelContext } from './model-context.jsx'; import { NetworkInterfacePage } from './network-interface.jsx'; import { NetworkPage } from './network-main.jsx'; import { UsageMonitor } from './helpers.js'; -import * as service from 'service.js'; +import * as service from 'service'; import { init as initDialogs, NetworkManagerModel } from './interfaces.js'; import { superuser } from 'superuser'; import { PlotState } from 'plot'; import { useObject, useEvent, usePageLocation } from "hooks"; -import { WithDialogs } from "dialogs.jsx"; +import { WithDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/plots.js b/pkg/networkmanager/plots.js index a2780a643d1f..6e5fb03a54aa 100644 --- a/pkg/networkmanager/plots.js +++ b/pkg/networkmanager/plots.js @@ -21,7 +21,7 @@ import React from "react"; import { Split, SplitItem } from "@patternfly/react-core/dist/esm/layouts/Split/index.js"; import { Grid, GridItem } from "@patternfly/react-core/dist/esm/layouts/Grid/index.js"; -import { ZoomControls, SvgPlot, bits_per_sec_config } from "cockpit-components-plot.jsx"; +import { ZoomControls, SvgPlot, bits_per_sec_config } from "cockpit-components-plot"; import cockpit from "cockpit"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/team.jsx b/pkg/networkmanager/team.jsx index 2b8bb6cfa025..c5056e4c64b4 100644 --- a/pkg/networkmanager/team.jsx +++ b/pkg/networkmanager/team.jsx @@ -26,7 +26,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { MemberInterfaceChoices, NetworkModal, Name, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; import { v4 as uuidv4 } from 'uuid'; import { diff --git a/pkg/networkmanager/teamport.jsx b/pkg/networkmanager/teamport.jsx index ef337c8aac38..8664926be9e9 100644 --- a/pkg/networkmanager/teamport.jsx +++ b/pkg/networkmanager/teamport.jsx @@ -25,7 +25,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; const _ = cockpit.gettext; diff --git a/pkg/networkmanager/vlan.jsx b/pkg/networkmanager/vlan.jsx index 25a446c8306d..1921e6989bbd 100644 --- a/pkg/networkmanager/vlan.jsx +++ b/pkg/networkmanager/vlan.jsx @@ -26,7 +26,7 @@ import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput/ import { Name, NetworkModal, dialogSave } from './dialogs-common.jsx'; import { ModelContext } from './model-context.jsx'; -import { useDialogs } from "dialogs.jsx"; +import { useDialogs } from "dialogs"; import { v4 as uuidv4 } from 'uuid'; import { diff --git a/pkg/packagekit/autoupdates.jsx b/pkg/packagekit/autoupdates.jsx index ad9837530064..e7dc5e68def2 100644 --- a/pkg/packagekit/autoupdates.jsx +++ b/pkg/packagekit/autoupdates.jsx @@ -28,8 +28,8 @@ import { Modal } from "@patternfly/react-core/dist/esm/components/Modal/index.js import { Radio } from "@patternfly/react-core/dist/esm/components/Radio/index.js"; import { TimePicker } from "@patternfly/react-core/dist/esm/components/TimePicker/index.js"; -import { install_dialog } from "cockpit-components-install-dialog.jsx"; -import { useDialogs } from "dialogs.jsx"; +import { install_dialog } from "cockpit-components-install-dialog"; +import { useDialogs } from "dialogs"; import { useInit } from "hooks"; const _ = cockpit.gettext; diff --git a/pkg/packagekit/history.jsx b/pkg/packagekit/history.jsx index 9b2619b0a7e7..215f544f419e 100644 --- a/pkg/packagekit/history.jsx +++ b/pkg/packagekit/history.jsx @@ -22,8 +22,8 @@ import PropTypes from "prop-types"; import { Tooltip } from "@patternfly/react-core/dist/esm/components/Tooltip/index.js"; import { BundleIcon } from "@patternfly/react-icons"; -import { ListingTable } from "cockpit-components-table.jsx"; -import * as timeformat from "timeformat.js"; +import { ListingTable } from "cockpit-components-table"; +import * as timeformat from "timeformat"; import cockpit from "cockpit"; diff --git a/pkg/packagekit/kpatch.jsx b/pkg/packagekit/kpatch.jsx index 383ac8dca524..a4714afa45cd 100644 --- a/pkg/packagekit/kpatch.jsx +++ b/pkg/packagekit/kpatch.jsx @@ -35,9 +35,9 @@ import { InfoIcon, InfoCircleIcon } from "@patternfly/react-icons"; import cockpit from "cockpit"; import { proxy as serviceProxy } from "service"; -import { check_missing_packages } from "packagekit.js"; -import { install_dialog } from "cockpit-components-install-dialog.jsx"; -import { read_os_release } from "os-release.js"; +import { check_missing_packages } from "packagekit"; +import { install_dialog } from "cockpit-components-install-dialog"; +import { read_os_release } from "os-release"; const _ = cockpit.gettext; diff --git a/pkg/packagekit/updates.jsx b/pkg/packagekit/updates.jsx index 93b7746f5ab7..009cc71def7f 100644 --- a/pkg/packagekit/updates.jsx +++ b/pkg/packagekit/updates.jsx @@ -62,17 +62,17 @@ import { AutoUpdates, getBackend } from "./autoupdates.jsx"; import { KpatchSettings, KpatchStatus } from "./kpatch.jsx"; import { History, PackageList } from "./history.jsx"; import { page_status } from "notifications"; -import { EmptyStatePanel } from "cockpit-components-empty-state.jsx"; -import { ListingTable } from 'cockpit-components-table.jsx'; -import { ModalError } from 'cockpit-components-inline-notification.jsx'; -import { ShutdownModal } from 'cockpit-components-shutdown.jsx'; -import { WithDialogs } from "dialogs.jsx"; +import { EmptyStatePanel } from "cockpit-components-empty-state"; +import { ListingTable } from 'cockpit-components-table'; +import { ModalError } from 'cockpit-components-inline-notification'; +import { ShutdownModal } from 'cockpit-components-shutdown'; +import { WithDialogs } from "dialogs"; import { superuser } from 'superuser'; -import * as PK from "packagekit.js"; -import * as timeformat from "timeformat.js"; +import * as PK from "packagekit"; +import * as timeformat from "timeformat"; -import * as python from "python.js"; +import * as python from "python"; import callTracerScript from './callTracer.py'; import "./updates.scss"; diff --git a/pkg/playground/journal.jsx b/pkg/playground/journal.jsx index fa62dabaa3b1..5523b0d9918f 100644 --- a/pkg/playground/journal.jsx +++ b/pkg/playground/journal.jsx @@ -21,9 +21,9 @@ import React from "react"; import { createRoot } from 'react-dom/client'; import '../lib/patternfly/patternfly-4-cockpit.scss'; -import "page.scss"; +import "../lib/page.scss"; -import { LogsPanel } from "cockpit-components-logs-panel.jsx"; +import { LogsPanel } from "cockpit-components-logs-panel"; document.addEventListener("DOMContentLoaded", function() { const cur_unit_id = "certmonger.service"; diff --git a/pkg/playground/plot.js b/pkg/playground/plot.js index 28ed469d9d23..96e45fbcbef3 100644 --- a/pkg/playground/plot.js +++ b/pkg/playground/plot.js @@ -3,8 +3,8 @@ import './plot.css'; import React from 'react'; import { createRoot } from 'react-dom/client'; -import { PlotState } from "plot.js"; -import { SvgPlot, bytes_config } from "cockpit-components-plot.jsx"; +import { PlotState } from "plot"; +import { SvgPlot, bytes_config } from "cockpit-components-plot"; const direct_metric = { direct: ["mem.util.available"], diff --git a/pkg/playground/react-demo-file-autocomplete.jsx b/pkg/playground/react-demo-file-autocomplete.jsx index 846fc2e8b856..21b4c31bfc01 100644 --- a/pkg/playground/react-demo-file-autocomplete.jsx +++ b/pkg/playground/react-demo-file-autocomplete.jsx @@ -20,7 +20,7 @@ import React from "react"; import { createRoot } from 'react-dom/client'; -import { FileAutoComplete } from "cockpit-components-file-autocomplete.jsx"; +import { FileAutoComplete } from "cockpit-components-file-autocomplete"; export function showFileAcDemo(rootElement) { const root = createRoot(rootElement); diff --git a/pkg/playground/react-patterns.js b/pkg/playground/react-patterns.js index ab28250e7861..8ca62a5f5145 100644 --- a/pkg/playground/react-patterns.js +++ b/pkg/playground/react-patterns.js @@ -23,7 +23,7 @@ import React from "react"; import '../lib/patternfly/patternfly-4-cockpit.scss'; import "../../node_modules/@patternfly/patternfly/components/Page/page.css"; -import { show_modal_dialog } from "cockpit-components-dialog.jsx"; +import { show_modal_dialog } from "cockpit-components-dialog"; import { PatternDialogBody } from "./react-demo-dialog.jsx"; import { showCardsDemo } from "./react-demo-cards.jsx"; diff --git a/pkg/playground/seddwXF1p b/pkg/playground/seddwXF1p new file mode 100644 index 0000000000000000000000000000000000000000..add74a4f02122f351e8ebd5467588266e91f9eed GIT binary patch literal 49152 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