b6df56f9a285f2987a5b45aec510048b2b08244e7dd6ec9dafdd1e2232628f07294ce43e03d7f50328692e6c89d23ba10f45a6d85327659d73a981a67acd3b 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* c8 ignore start */
  2. import type { ValidatedOptions } from "./validation/options.ts";
  3. import getTargets, {
  4. type InputTargets,
  5. } from "@babel/helper-compilation-targets";
  6. import type { Targets } from "@babel/helper-compilation-targets";
  7. export function resolveBrowserslistConfigFile(
  8. // eslint-disable-next-line @typescript-eslint/no-unused-vars
  9. browserslistConfigFile: string,
  10. // eslint-disable-next-line @typescript-eslint/no-unused-vars
  11. configFilePath: string,
  12. ): string | void {
  13. return undefined;
  14. }
  15. export function resolveTargets(
  16. options: ValidatedOptions,
  17. // eslint-disable-next-line @typescript-eslint/no-unused-vars
  18. root: string,
  19. ): Targets {
  20. const optTargets = options.targets;
  21. let targets: InputTargets;
  22. if (typeof optTargets === "string" || Array.isArray(optTargets)) {
  23. targets = { browsers: optTargets };
  24. } else if (optTargets) {
  25. if ("esmodules" in optTargets) {
  26. targets = { ...optTargets, esmodules: "intersect" };
  27. } else {
  28. // https://github.com/microsoft/TypeScript/issues/17002
  29. targets = optTargets as InputTargets;
  30. }
  31. }
  32. return getTargets(targets, {
  33. ignoreBrowserslistConfig: true,
  34. browserslistEnv: options.browserslistEnv,
  35. });
  36. }