Skip to content

Commit b76f460

Browse files
authored
Remove dead code and add job in CI to find it (#2882)
1 parent cbd2c46 commit b76f460

File tree

27 files changed

+74
-1468
lines changed

27 files changed

+74
-1468
lines changed

.github/workflows/jobs.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ jobs:
120120
continue-on-error: false
121121
run: |
122122
./check-prettier.sh
123+
- name: Check for dead code
124+
working-directory: ./portal-ui
125+
continue-on-error: false
126+
run: |
127+
./check-deadcode.sh
123128
reuse-golang-dependencies:
124129
name: reuse golang dependencies
125130
runs-on: ubuntu-latest

portal-ui/check-deadcode.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
if [ -f "$NVM_DIR/nvm.sh" ]
4+
then
5+
\. "$NVM_DIR/nvm.sh";
6+
nvm use;
7+
fi
8+
yarn find-deadcode

portal-ui/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
"buildistanbulcoverage": "PORT=9090 USE_BABEL_PLUGIN_ISTANBUL=1 react-app-rewired build",
4646
"test": "react-scripts test",
4747
"eject": "react-scripts eject",
48-
"playwright": "PORT=5005 USE_BABEL_PLUGIN_ISTANBUL=1 react-app-rewired start"
48+
"playwright": "PORT=5005 USE_BABEL_PLUGIN_ISTANBUL=1 react-app-rewired start",
49+
"find-deadcode": "ts-prune -s consoleApi.ts | (! grep -v 'used in module')"
4950
},
5051
"eslintConfig": {
5152
"extends": "react-app",
@@ -93,6 +94,7 @@
9394
"react-app-rewired": "^2.2.1",
9495
"react-scripts": "5.0.1",
9596
"testcafe": "^2.6.2",
97+
"ts-prune": "^0.10.3",
9698
"typescript": "^4.4.3"
9799
},
98100
"resolutions": {

portal-ui/src/common/utils.ts

Lines changed: 0 additions & 209 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ export const units = [
3434
];
3535
export const k8sUnits = ["Ki", "Mi", "Gi", "Ti", "Pi", "Ei"];
3636
export const k8sCalcUnits = ["B", ...k8sUnits];
37-
export const timeUnits = ["ms", "s", "m", "h", "d", "w", "M", "Q", "y"];
3837

3938
export const niceBytes = (x: string, showK8sUnits: boolean = false) => {
4039
let n = parseInt(x, 10) || 0;
@@ -54,18 +53,6 @@ export const niceBytesInt = (n: number, showK8sUnits: boolean = false) => {
5453
return n.toFixed(1) + " " + (showK8sUnits ? k8sUnitsN[l] : units[l]);
5554
};
5655

57-
export const setCookie = (name: string, val: string) => {
58-
const date = new Date();
59-
const value = val;
60-
61-
// Set it expire in 45 minutes
62-
date.setTime(date.getTime() + 45 * 60 * 1000);
63-
64-
// Set it
65-
document.cookie =
66-
name + "=" + value + "; expires=" + date.toUTCString() + "; path=/";
67-
};
68-
6956
export const deleteCookie = (name: string) => {
7057
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:01 GMT;";
7158
};
@@ -86,13 +73,6 @@ export const timeFromDate = (d: Date) => {
8673
return `${h}:${m}:${s}:${d.getMilliseconds()}`;
8774
};
8875

89-
// units to be used in a dropdown
90-
export const factorForDropdown = () => {
91-
return units.map((unit) => {
92-
return { label: unit, value: unit };
93-
});
94-
};
95-
9676
// units to be used in a dropdown
9777
export const k8sScalarUnitsExcluding = (exclude?: string[]) => {
9878
return k8sUnits
@@ -137,12 +117,6 @@ export const getBytesNumber = (
137117
return total;
138118
};
139119

140-
//getTotalSize gets the total size of a value & unit
141-
export const getTotalSize = (value: string, unit: string) => {
142-
const bytes = getBytes(value, unit, true).toString();
143-
return niceBytes(bytes);
144-
};
145-
146120
export const setMemoryResource = (
147121
memorySize: number,
148122
capacitySize: string,
@@ -518,189 +492,6 @@ export const getClientOS = (): string => {
518492
return getPlatform;
519493
};
520494

521-
export const MinIOEnvVarsSettings: any = {
522-
MINIO_ACCESS_KEY: { secret: true },
523-
MINIO_ACCESS_KEY_OLD: { secret: true },
524-
MINIO_AUDIT_WEBHOOK_AUTH_TOKEN: { secret: true },
525-
MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD: { secret: true },
526-
MINIO_IDENTITY_OPENID_CLIENT_SECRET: { secret: true },
527-
MINIO_KMS_SECRET_KEY: { secret: true },
528-
MINIO_LOGGER_WEBHOOK_AUTH_TOKEN: { secret: true },
529-
MINIO_NOTIFY_ELASTICSEARCH_PASSWORD: { secret: true },
530-
MINIO_NOTIFY_KAFKA_SASL_PASSWORD: { secret: true },
531-
MINIO_NOTIFY_MQTT_PASSWORD: { secret: true },
532-
MINIO_NOTIFY_NATS_PASSWORD: { secret: true },
533-
MINIO_NOTIFY_NATS_TOKEN: { secret: true },
534-
MINIO_NOTIFY_REDIS_PASSWORD: { secret: true },
535-
MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN: { secret: true },
536-
MINIO_ROOT_PASSWORD: { secret: true },
537-
MINIO_SECRET_KEY: { secret: true },
538-
MINIO_SECRET_KEY_OLD: { secret: true },
539-
};
540-
541-
export const MinIOEnvironmentVariables = [
542-
"MINIO_ACCESS_KEY",
543-
"MINIO_ACCESS_KEY_OLD",
544-
"MINIO_AUDIT_WEBHOOK_AUTH_TOKEN",
545-
"MINIO_AUDIT_WEBHOOK_CLIENT_CERT",
546-
"MINIO_AUDIT_WEBHOOK_CLIENT_KEY",
547-
"MINIO_AUDIT_WEBHOOK_ENABLE",
548-
"MINIO_AUDIT_WEBHOOK_ENDPOINT",
549-
"MINIO_BROWSER",
550-
"MINIO_BROWSER_REDIRECT_URL",
551-
"MINIO_IDENTITY_LDAP_COMMENT",
552-
"MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN",
553-
"MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER",
554-
"MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN",
555-
"MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD",
556-
"MINIO_IDENTITY_LDAP_SERVER_ADDR",
557-
"MINIO_IDENTITY_LDAP_SERVER_INSECURE",
558-
"MINIO_IDENTITY_LDAP_SERVER_STARTTLS",
559-
"MINIO_IDENTITY_LDAP_STS_EXPIRY",
560-
"MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY",
561-
"MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN",
562-
"MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER",
563-
"MINIO_IDENTITY_LDAP_USERNAME_FORMAT",
564-
"MINIO_IDENTITY_OPENID_CLAIM_NAME",
565-
"MINIO_IDENTITY_OPENID_CLAIM_PREFIX",
566-
"MINIO_IDENTITY_OPENID_CLIENT_ID",
567-
"MINIO_IDENTITY_OPENID_CLIENT_SECRET",
568-
"MINIO_IDENTITY_OPENID_COMMENT",
569-
"MINIO_IDENTITY_OPENID_CONFIG_URL",
570-
"MINIO_IDENTITY_OPENID_REDIRECT_URI",
571-
"MINIO_IDENTITY_OPENID_SCOPES",
572-
"MINIO_KMS_AUTO_ENCRYPTION",
573-
"MINIO_KMS_KES_CERT_FILE",
574-
"MINIO_KMS_KES_ENDPOINT",
575-
"MINIO_KMS_KES_KEY_FILE",
576-
"MINIO_KMS_KES_KEY_NAME",
577-
"MINIO_KMS_SECRET_KEY",
578-
"MINIO_LOGGER_WEBHOOK_AUTH_TOKEN",
579-
"MINIO_LOGGER_WEBHOOK_ENABLE",
580-
"MINIO_LOGGER_WEBHOOK_ENDPOINT",
581-
"MINIO_LOG_QUERY_URL",
582-
"MINIO_NOTIFY_AMQP_AUTO_DELETED",
583-
"MINIO_NOTIFY_AMQP_COMMENT",
584-
"MINIO_NOTIFY_AMQP_DELIVERY_MODE",
585-
"MINIO_NOTIFY_AMQP_DURABLE",
586-
"MINIO_NOTIFY_AMQP_ENABLE",
587-
"MINIO_NOTIFY_AMQP_EXCHANGE",
588-
"MINIO_NOTIFY_AMQP_EXCHANGE_TYPE",
589-
"MINIO_NOTIFY_AMQP_INTERNAL",
590-
"MINIO_NOTIFY_AMQP_MANDATORY",
591-
"MINIO_NOTIFY_AMQP_NO_WAIT",
592-
"MINIO_NOTIFY_AMQP_QUEUE_DIR",
593-
"MINIO_NOTIFY_AMQP_QUEUE_LIMIT",
594-
"MINIO_NOTIFY_AMQP_ROUTING_KEY",
595-
"MINIO_NOTIFY_AMQP_URL",
596-
"MINIO_NOTIFY_ELASTICSEARCH_COMMENT",
597-
"MINIO_NOTIFY_ELASTICSEARCH_ENABLE",
598-
"MINIO_NOTIFY_ELASTICSEARCH_FORMAT",
599-
"MINIO_NOTIFY_ELASTICSEARCH_INDEX",
600-
"MINIO_NOTIFY_ELASTICSEARCH_PASSWORD",
601-
"MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR",
602-
"MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT",
603-
"MINIO_NOTIFY_ELASTICSEARCH_URL",
604-
"MINIO_NOTIFY_ELASTICSEARCH_USERNAME",
605-
"MINIO_NOTIFY_KAFKA_BROKERS",
606-
"MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT",
607-
"MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY",
608-
"MINIO_NOTIFY_KAFKA_COMMENT",
609-
"MINIO_NOTIFY_KAFKA_ENABLE",
610-
"MINIO_NOTIFY_KAFKA_QUEUE_DIR",
611-
"MINIO_NOTIFY_KAFKA_QUEUE_LIMIT",
612-
"MINIO_NOTIFY_KAFKA_SASL",
613-
"MINIO_NOTIFY_KAFKA_SASL_MECHANISM",
614-
"MINIO_NOTIFY_KAFKA_SASL_PASSWORD",
615-
"MINIO_NOTIFY_KAFKA_SASL_USERNAME",
616-
"MINIO_NOTIFY_KAFKA_TLS",
617-
"MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH",
618-
"MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY",
619-
"MINIO_NOTIFY_KAFKA_TOPIC",
620-
"MINIO_NOTIFY_KAFKA_VERSION",
621-
"MINIO_NOTIFY_MQTT_BROKER",
622-
"MINIO_NOTIFY_MQTT_COMMENT",
623-
"MINIO_NOTIFY_MQTT_ENABLE",
624-
"MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL",
625-
"MINIO_NOTIFY_MQTT_PASSWORD",
626-
"MINIO_NOTIFY_MQTT_QOS",
627-
"MINIO_NOTIFY_MQTT_QUEUE_DIR",
628-
"MINIO_NOTIFY_MQTT_QUEUE_LIMIT",
629-
"MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL",
630-
"MINIO_NOTIFY_MQTT_TOPIC",
631-
"MINIO_NOTIFY_MQTT_USERNAME",
632-
"MINIO_NOTIFY_MYSQL_COMMENT",
633-
"MINIO_NOTIFY_MYSQL_DSN_STRING",
634-
"MINIO_NOTIFY_MYSQL_ENABLE",
635-
"MINIO_NOTIFY_MYSQL_FORMAT",
636-
"MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS",
637-
"MINIO_NOTIFY_MYSQL_QUEUE_DIR",
638-
"MINIO_NOTIFY_MYSQL_QUEUE_LIMIT",
639-
"MINIO_NOTIFY_MYSQL_TABLE",
640-
"MINIO_NOTIFY_NATS_ADDRESS",
641-
"MINIO_NOTIFY_NATS_CERT_AUTHORITY",
642-
"MINIO_NOTIFY_NATS_CLIENT_CERT",
643-
"MINIO_NOTIFY_NATS_CLIENT_KEY",
644-
"MINIO_NOTIFY_NATS_COMMENT",
645-
"MINIO_NOTIFY_NATS_ENABLE",
646-
"MINIO_NOTIFY_NATS_PASSWORD",
647-
"MINIO_NOTIFY_NATS_PING_INTERVAL",
648-
"MINIO_NOTIFY_NATS_QUEUE_DIR",
649-
"MINIO_NOTIFY_NATS_QUEUE_LIMIT",
650-
"MINIO_NOTIFY_NATS_STREAMING",
651-
"MINIO_NOTIFY_NATS_STREAMING_ASYNC",
652-
"MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID",
653-
"MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT",
654-
"MINIO_NOTIFY_NATS_SUBJECT",
655-
"MINIO_NOTIFY_NATS_TLS",
656-
"MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY",
657-
"MINIO_NOTIFY_NATS_TOKEN",
658-
"MINIO_NOTIFY_NATS_USERNAME",
659-
"MINIO_NOTIFY_NSQ_COMMENT",
660-
"MINIO_NOTIFY_NSQ_ENABLE",
661-
"MINIO_NOTIFY_NSQ_NSQD_ADDRESS",
662-
"MINIO_NOTIFY_NSQ_QUEUE_DIR",
663-
"MINIO_NOTIFY_NSQ_QUEUE_LIMIT",
664-
"MINIO_NOTIFY_NSQ_TLS",
665-
"MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY",
666-
"MINIO_NOTIFY_NSQ_TOPIC",
667-
"MINIO_NOTIFY_POSTGRESQL_COMMENT",
668-
"MINIO_NOTIFY_POSTGRESQL_CONNECTION_STRING",
669-
"MINIO_NOTIFY_POSTGRESQL_ENABLE",
670-
"MINIO_NOTIFY_POSTGRESQL_FORMAT",
671-
"MINIO_NOTIFY_POSTGRESQL_MAX_OPEN_CONNECTIONS",
672-
"MINIO_NOTIFY_POSTGRESQL_QUEUE_DIR",
673-
"MINIO_NOTIFY_POSTGRESQL_QUEUE_LIMIT",
674-
"MINIO_NOTIFY_POSTGRESQL_TABLE",
675-
"MINIO_NOTIFY_REDIS_ADDRESS",
676-
"MINIO_NOTIFY_REDIS_COMMENT",
677-
"MINIO_NOTIFY_REDIS_ENABLE",
678-
"MINIO_NOTIFY_REDIS_FORMAT",
679-
"MINIO_NOTIFY_REDIS_KEY",
680-
"MINIO_NOTIFY_REDIS_PASSWORD",
681-
"MINIO_NOTIFY_REDIS_QUEUE_DIR",
682-
"MINIO_NOTIFY_REDIS_QUEUE_LIMIT",
683-
"MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN",
684-
"MINIO_NOTIFY_WEBHOOK_CLIENT_CERT",
685-
"MINIO_NOTIFY_WEBHOOK_CLIENT_KEY",
686-
"MINIO_NOTIFY_WEBHOOK_COMMENT",
687-
"MINIO_NOTIFY_WEBHOOK_ENABLE",
688-
"MINIO_NOTIFY_WEBHOOK_ENDPOINT",
689-
"MINIO_NOTIFY_WEBHOOK_QUEUE_DIR",
690-
"MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT",
691-
"MINIO_PROMETHEUS_AUTH_TYPE",
692-
"MINIO_PROMETHEUS_JOB_ID",
693-
"MINIO_PROMETHEUS_URL",
694-
"MINIO_ROOT_PASSWORD",
695-
"MINIO_ROOT_USER",
696-
"MINIO_SECRET_KEY",
697-
"MINIO_SECRET_KEY_OLD",
698-
"MINIO_SERVER_URL",
699-
"MINIO_STORAGE_CLASS_COMMENT",
700-
"MINIO_STORAGE_CLASS_RRS",
701-
"MINIO_STORAGE_CLASS_STANDARD",
702-
];
703-
704495
// Generates a valid access/secret key string
705496
export const getRandomString = function (length = 16): string {
706497
let retval = "";

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx

Lines changed: 0 additions & 83 deletions
This file was deleted.

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/types.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ export interface BucketObjectItem {
2727
is_latest?: boolean;
2828
}
2929

30-
export interface BucketObjectItemsList {
31-
objects: BucketObjectItem[];
32-
total?: number;
33-
}
34-
3530
export interface WebsocketRequest {
3631
mode: "objects" | "rewind" | "close" | "cancel";
3732
bucket_name?: string;

portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/types.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ export interface IFileInfo {
2828
is_delete_marker?: boolean;
2929
user_metadata?: object;
3030
}
31-
32-
export interface FileInfoResponse {
33-
objects: IFileInfo[];
34-
total: number;
35-
}
36-
3731
export interface MetadataResponse {
3832
objectMetadata: object;
3933
}

0 commit comments

Comments
 (0)