Change Prettier Version

Run the following on a component that uses your env, to get the Prettier version currently being used:

$bit
Copiedcopy

The out is similar to the following:

teambit.defender/formatter

configured linter: prettier-formatter (Prettier @ 2.7.1)

To provide your Prettier formatter with a different version of Prettier, implement the formatter env handler.

/* @filename: my-env.bit-env.ts */

/* your base env. in this example, react-env. */
import { ReactEnv } from '@teambit/react.react-env';
import type { ReactEnvInterface } from '@teambit/react.react-env';

import { PrettierFormatter } from '@teambit/defender.prettier-formatter';
import prettier from 'prettier';

export class MyEnv extends ReactEnv implements ReactEnvInterface {
  constructor() {
    super();
  }
  name = 'my-env';

  /**
   * replace the default formatter
   */
  formatter() {
    return PrettierFormatter.from({
      /**
       * use the prettier instance this env has as a dependency
       */
      prettier,
    });
  }
}

export default new UpdatePrettierEnv();
CopiedCopy

Install the version of Prettier you want to use:

$bit
Copiedcopy
See command synopsis

Prettier is automatically detected as a dependency of that env. By default, dependencies are resolved to the ones installed in that workspace.

Run the following to compile your env:

$bit
Copiedcopy
See command synopsis