volar-service-prettier 0.0.30 → 0.0.31-patch.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -41,5 +41,9 @@ export declare function create(options?: {
41
41
  */
42
42
  prettier?: typeof import('prettier') | undefined;
43
43
  getPrettier?: (serviceEnv: ServiceEnvironment) => typeof import('prettier') | undefined;
44
+ /**
45
+ * If true, the plugin will not throw an error if it can't load Prettier either through the `prettier`, or `getPrettier` properties or through a normal `import('prettier')`.
46
+ */
47
+ allowImportError?: boolean;
44
48
  }, getPrettierConfig?: (filePath: string, prettier: typeof import('prettier'), config?: ResolveConfigOptions) => Promise<Options>): ServicePlugin;
45
49
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -8,16 +8,28 @@ function create(options = {}, getPrettierConfig = async (filePath, prettier, con
8
8
  return {
9
9
  name: 'prettier',
10
10
  create(context) {
11
- let prettier;
11
+ const languages = options.languages ?? ['html', 'css', 'scss', 'typescript', 'javascript'];
12
+ let _prettier = options.prettier;
12
13
  try {
13
- prettier = options.prettier
14
- ?? options.getPrettier?.(context.env)
15
- ?? require('prettier');
14
+ if (!_prettier) {
15
+ if (options.getPrettier) {
16
+ _prettier = options.getPrettier(context.env);
17
+ }
18
+ else {
19
+ _prettier = require('prettier');
20
+ }
21
+ }
16
22
  }
17
- catch (e) {
18
- throw new Error("Could not load Prettier: " + e);
23
+ catch (error) {
24
+ if (!options.allowImportError) {
25
+ throw new Error("Could not load Prettier: ");
26
+ }
27
+ ;
19
28
  }
20
- const languages = options.languages ?? ['html', 'css', 'scss', 'typescript', 'javascript'];
29
+ if (!_prettier) {
30
+ return {};
31
+ }
32
+ const prettier = _prettier;
21
33
  return {
22
34
  async provideDocumentFormattingEdits(document, _, formatOptions) {
23
35
  if (!languages.includes(document.languageId)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volar-service-prettier",
3
- "version": "0.0.30",
3
+ "version": "0.0.31-patch.1",
4
4
  "description": "Integrate Prettier into Volar",
5
5
  "homepage": "https://github.com/volarjs/services/tree/master/packages/prettier",
6
6
  "bugs": "https://github.com/volarjs/services/issues",
@@ -32,7 +32,7 @@
32
32
  "prettier": "^3.0.3"
33
33
  },
34
34
  "peerDependencies": {
35
- "@volar/language-service": "~2.0.1",
35
+ "@volar/language-service": "~2.1.0",
36
36
  "prettier": "^2.2 || ^3.0"
37
37
  },
38
38
  "peerDependenciesMeta": {
@@ -42,6 +42,5 @@
42
42
  "@volar/language-service": {
43
43
  "optional": true
44
44
  }
45
- },
46
- "gitHead": "30c3cc3c76e90f75f14fe0c2fa4fd33b7ff06507"
45
+ }
47
46
  }
@@ -0,0 +1 @@
1
+ Copy from `*.vue.html` to `*.vue` and `Format Document With Volar` (or simply save in Visual Studio Code) to see the differences.