0.6.1 • Published 5 months ago

@prettier/sync v0.6.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@prettier/sync

Build Status Coverage Npm Version MIT License

Synchronous version of Prettier

Installation

yarn add prettier @prettier/sync

Usage

import synchronizedPrettier from "@prettier/sync";

synchronizedPrettier.format("foo( )", { parser: "babel" });
// => 'foo();\n'

This package is a simple wrapper of make-synchronized.

For more complex use cases, it's better to use make-synchronized directly:

Example 1:

// utilities.js
import * as fs from "node:fs/promises";
import * as prettier from "prettier";

export async function formatFile(file) {
  const config = await prettier.resolveConfig(file);
  const content = await fs.readFile(file, "utf8");
  const formatted = await prettier.format(content, {
    ...config,
    filepath: file,
  });
  await fs.writeFile(file, formatted);
}

// index.js
import makeSynchronized from "make-synchronized";

const utilities = makeSynchronized(new URL("./utilities.js", import.meta.url));

utilities.formatFile("/path/to/file.js");

Example 2:

import * as fs from "node:fs/promises";
import * as prettier from "prettier";
import makeSynchronized from "make-synchronized";

export default makeSynchronized(import.meta, async function formatFile(file) {
  const config = await prettier.resolveConfig(file);
  const content = await fs.readFile(file, "utf8");
  const formatted = await prettier.format(content, {
    ...config,
    filepath: file,
  });
  await fs.writeFile(file, formatted);
});

Alternatively you can also use synckit or make-synchronous.

createSynchronizedPrettier(options)

options

Type: object

prettierEntry

Type: string | URL

Path or URL to prettier entry.

import { createSynchronizedPrettier } from "@prettier/sync";

const synchronizedPrettier = createSynchronizedPrettier({
  prettierEntry: "/path/to/prettier/index.js",
});

synchronizedPrettier.format("foo( )", { parser: "babel" });
// => 'foo();\n'
@infinitebrahmanuniverse/nolb-_pre@everything-registry/sub-chunk-736jest-extended-codejome.jsgulp-hargvs-chat-gv@wisdesign/token@wisdesign/utils@ursalang/ursa@zalastax/nolb-_presolhint-plugin-prettierzeugvue-snapshot-serializervue-style-transformer@ng-doc/buildern-compopenapi-ts-requestopenapi-ts-request-dotnetpastapi-node-expresspastapi-ts-axiosrollup-config-factoryremark-typescript-toolspobgluestack-ui-scripts@nstseek/json-to-ts@hynix-team/design-core@hubspot/prettier-plugin-hubl@freon4dsl/meta@phensley/cldr-compiler@powerhousedao/builder-toolsdocs-typescripteslint-config-remcohaszingember-template-lint-plugin-prettier@11ty/import@protobuf-es/cli@best-shot/sfc-split-loader@braid-design-system/source.macrocustom-element-solidjs-integrationcustom-element-svelte-integrationcustom-element-vs-code-integrationcustom-element-vuejs-integrationcustom-element-react-wrapperscustom-elements-manifest-deprecatorcustom-element-eslint-rule-generatorcustom-element-jet-brains-integrationcustom-element-jsx-integrationcustom-element-lazy-loader@aplus-frontend/i18n-extract-cli@arktype/attest@ark/attest@altano/vitest-plugins@mapped.js/cli@jdeighan/svelte-utils@metaplex-foundation/kinobi@medflyt/eslint-plugin-graphql-type-checker@saapless/graphql-transformer@dpl-foundation/cognacobi@mo36924/graphql@sentio/sdk@semantic-icons/nx-generators@sapphire/docusaurus-plugin-ts2esm2cjs@cresteem/richie-js@qasconfig/prettier@emperorschildren/swr-request-generator-win@kosori/cli@ephemeras/compiler@ephemeras/file@ephemeras/parser
0.5.4

8 months ago

0.5.3

8 months ago

0.5.5

8 months ago

0.6.1

5 months ago

0.6.0

5 months ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.1.0

2 years ago

0.3.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.0.4

3 years ago