• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla / fx-private-relay / 9c0e7611-27ad-4f98-84d9-d19b8b320fbe

08 Jan 2025 03:48PM CUT coverage: 85.084%. Remained the same
9c0e7611-27ad-4f98-84d9-d19b8b320fbe

Pull #5296

circleci

jwhitlock
Use @typescript-eslint/typescript-estree@8.19.1

Avoid the CI test_frontend lint warning:

WARNING: You are currently running a version of TypeScript which is not
officially supported by @typescript-eslint/typescript-estree.

The stricted nested dependency is @typescript-eslint/parser, so sync
on its version by using @typescript-eslint/eslint-plugin 8.19.1

1) Add "overrides" to package.json:

{
  "overrides": {
    "eslint-config-next": {
      "@typescript-eslint/eslint-plugin": "8.19.1"
    },
    "eslint-plugin-testing-library": {
      "@typescript-eslint/eslint-plugin": "8.19.1"
    }
  },
}

2) Uninstall and reinstall

npm uninstall --workspace frontend eslint-plugin-testing-library
npm install --workspace frontend -D eslint-plugin-testing-library@7.1.1
npm uninstall --workspace frontend eslint-config-next
npm install --workspace frontend -D eslint-config-next@15.1.3

Verify that frontend/package.json did not change.

3) Revert package.json to remove overrides

4) Confirm same version is used everywhere:

npm list @typescript-eslint/typescript-estree

5) Commit package-lock.json
Pull Request #5296: Bump typescript from 5.4.5 to 5.7.2

2433 of 3561 branches covered (68.32%)

Branch coverage included in aggregate %.

16995 of 19273 relevant lines covered (88.18%)

9.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/frontend/src/components/landing/DemoPhone.tsx
1
import { StaticImageData } from "next/image";
2
import styles from "./DemoPhone.module.scss";
×
3
import BgImage from "./images/hero-image-bg.svg";
×
4
import PremiumScreenshot from "./images/hero-image-premium.svg";
×
5
import PremiumScreenshotFr from "./images/hero-image-premium-fr.svg";
×
6
import PremiumScreenshotDe from "./images/hero-image-premium-de.svg";
×
7
import NoPremiumScreenshot from "./images/hero-image-nopremium.svg";
×
8
import FgImage from "./images/hero-image-fg.svg";
×
9
import FgImageDe from "./images/hero-image-fg-de.svg";
×
10
import FgImageFr from "./images/hero-image-fg-fr.svg";
×
11
import Image from "../Image";
×
12
import { getLocale } from "../../functions/getLocale";
×
13
import { useL10n } from "../../hooks/l10n";
×
14

15
export type Props = {
16
  premium?: boolean;
17
};
18

19
/**
20
 * Image of a phone showing the Relay interface, either the Premium or regular UI as desired.
21
 */
22

23
export const DemoPhone = (props: Props) => {
×
24
  const l10n = useL10n();
×
25
  const lang = getLocale(l10n).split("-")[0] ?? "en";
×
26

27
  const getScreenshotImage = (
×
28
    isPremium: boolean,
29
    lang: string,
30
  ): StaticImageData => {
31
    if (lang === "fr") {
×
32
      return PremiumScreenshotFr;
×
33
    }
34
    if (lang === "de") {
×
35
      return PremiumScreenshotDe;
×
36
    }
37
    // If Premium is not availabe in the country,
38
    // show no premium demo phone state
39
    if (!isPremium) {
×
40
      return NoPremiumScreenshot;
×
41
    }
42
    return PremiumScreenshot;
×
43
  };
44

45
  const getForegroundImage = (lang: string): StaticImageData => {
×
46
    if (lang === "fr") {
×
47
      return FgImageFr;
×
48
    }
49
    if (lang === "de") {
×
50
      return FgImageDe;
×
51
    }
52
    return FgImage;
×
53
  };
54

55
  return (
56
    <div className={styles.container}>
57
      <Image src={BgImage} alt="" className={styles.background} />
58

59
      <Image
60
        src={getScreenshotImage(props.premium ?? false, lang)}
×
61
        className={styles.phone}
62
        alt=""
63
      />
64
      <Image
65
        src={getForegroundImage(lang)}
66
        alt=""
67
        className={styles.foreground}
68
      />
69
    </div>
70
  );
71
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc