Skip to content

Commit b15df6a

Browse files
committed
chore: update prettier to version 3
Closes #95.
1 parent d588db2 commit b15df6a

File tree

5 files changed

+23
-20
lines changed

5 files changed

+23
-20
lines changed

index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/**
2+
* @todo change these to their new locations (`prettier/plugins/<parser>`) with
3+
* the next major release.
4+
*/
15
const { parsers: babelParsers } = require('prettier/parser-babel');
26
const { parsers: htmlParsers } = require('prettier/parser-html');
37
const { parsers: typescriptParsers } = require('prettier/parser-typescript');
@@ -53,7 +57,6 @@ const plugin = {
5357
default: false,
5458
category: 'OrganizeImports',
5559
description: 'Skip destructive code actions like removing unused imports.',
56-
since: '2.0.0',
5760
},
5861
},
5962
parsers: {

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,10 @@
3939
},
4040
"devDependencies": {
4141
"@types/node": "18.11.9",
42-
"@types/prettier": "2.7.3",
4342
"@volar/vue-language-plugin-pug": "1.0.9",
4443
"@volar/vue-typescript": "1.0.9",
4544
"ava": "3.15.0",
46-
"prettier": "2.7.1",
45+
"prettier": "3.0.0",
4746
"typescript": "5.1.6"
4847
},
4948
"prettier": {

test/_utils.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ const prettier = require('prettier');
44
* @param {string} code
55
* @param {prettier.Options} [options]
66
*/
7-
module.exports.prettify = (code, options) => prettier.format(code, { plugins: ['.'], filepath: 'file.ts', ...options });
7+
module.exports.prettify = async (code, options) =>
8+
prettier.format(code, { plugins: ['./index.js'], filepath: 'file.ts', ...options });
89

910
/**
1011
* @param {prettier.Options['parser']} parser
@@ -18,8 +19,8 @@ module.exports.getMacro = (parser) => {
1819
* @param {prettier.Options} [options.options]
1920
* @param {(res: string) => string} [options.transformer]
2021
*/
21-
function macro(t, input, expected, { options = {}, transformer = (res) => res.split('\n')[0] } = {}) {
22-
const formattedCode = module.exports.prettify(input, { parser, ...options });
22+
async function macro(t, input, expected, { options = {}, transformer = (res) => res.split('\n')[0] } = {}) {
23+
const formattedCode = await module.exports.prettify(input, { parser, ...options });
2324

2425
t.is(transformer(formattedCode), expected);
2526
}

test/main.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ test(
7070
{ transformer: (res) => res.split('\n')[1] },
7171
);
7272

73-
test('does not remove unused imports with `organizeImportsSkipDestructiveCodeActions` enabled', (t) => {
73+
test('does not remove unused imports with `organizeImportsSkipDestructiveCodeActions` enabled', async (t) => {
7474
const code = `import { foo } from "./bar";
7575
`;
7676

77-
const formattedCode = prettify(code, { organizeImportsSkipDestructiveCodeActions: true });
77+
const formattedCode = await prettify(code, { organizeImportsSkipDestructiveCodeActions: true });
7878

7979
t.is(formattedCode, code);
8080
});

test/vue.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const test = require('ava').default;
22
const ts = require('typescript');
33
const { prettify } = require('./_utils');
44

5-
test('works with TypeScript code inside Vue files', (t) => {
5+
test('works with TypeScript code inside Vue files', async (t) => {
66
const code = `
77
<script lang="ts">
88
import {defineComponent,compile} from 'vue';
@@ -11,25 +11,25 @@ test('works with TypeScript code inside Vue files', (t) => {
1111
</script>
1212
`;
1313

14-
const formattedCode = prettify(code, { filepath: 'file.vue' });
14+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
1515

1616
t.is(formattedCode.split('\n')[1], `import { compile, defineComponent } from "vue";`);
1717
});
1818

19-
test('works with Vue setup scripts', (t) => {
19+
test('works with Vue setup scripts', async (t) => {
2020
const code = `
2121
<script setup lang="ts">
2222
import {defineComponent,compile} from 'vue';
2323
export default defineComponent({});
2424
</script>
2525
`;
2626

27-
const formattedCode = prettify(code, { filepath: 'file.vue' });
27+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
2828

2929
t.is(formattedCode.split('\n')[1], `import { defineComponent } from "vue";`);
3030
});
3131

32-
test('preserves new lines and comments in Vue files', (t) => {
32+
test('preserves new lines and comments in Vue files', async (t) => {
3333
const code = `<script lang="ts">
3434
import { defineComponent, ref } from "vue";
3535
export default defineComponent({
@@ -45,12 +45,12 @@ export default defineComponent({
4545
<style></style>
4646
`;
4747

48-
const formattedCode = prettify(code, { filepath: 'file.vue' });
48+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
4949

5050
t.is(formattedCode, code);
5151
});
5252

53-
test('does not remove imports when Vue components use kebab case', (t) => {
53+
test('does not remove imports when Vue components use kebab case', async (t) => {
5454
const code = `<template>
5555
<div>
5656
<n-divider />
@@ -62,12 +62,12 @@ import { NDivider } from "naive-ui";
6262
</script>
6363
`;
6464

65-
const formattedCode = prettify(code, { filepath: 'file.vue' });
65+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
6666

6767
t.is(formattedCode, code);
6868
});
6969

70-
test('works with pug templates in Vue files', (t) => {
70+
test('works with pug templates in Vue files', async (t) => {
7171
const code = `<script setup lang="ts">
7272
import { Foo, Bar } from "@/components";
7373
</script>
@@ -86,12 +86,12 @@ Foo
8686
</template>
8787
`;
8888

89-
const formattedCode = prettify(code, { filepath: 'file.vue' });
89+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
9090

9191
t.is(formattedCode, expected);
9292
});
9393

94-
test.serial('works with Volar language plugins when not running from the project root', (t) => {
94+
test.serial('works with Volar language plugins when not running from the project root', async (t) => {
9595
const originalGetCurrentDir = ts.sys.getCurrentDirectory;
9696

9797
ts.sys.getCurrentDirectory = () => '/';
@@ -114,7 +114,7 @@ Foo
114114
</template>
115115
`;
116116

117-
const formattedCode = prettify(code, { filepath: 'file.vue' });
117+
const formattedCode = await prettify(code, { filepath: 'file.vue' });
118118

119119
t.is(formattedCode, expected);
120120

0 commit comments

Comments
 (0)