Skip to content

Commit 121015f

Browse files
authoredNov 28, 2023
adds support for package.json shared prettier configuration (#368)
1 parent 25f0115 commit 121015f

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"prettier": "@company/prettier-config"
3+
}

‎packages/knip/src/plugins/prettier/index.ts

+5
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ const findPrettierDependencies: GenericPluginCallback = async (configFilePath, {
2727
? manifest.prettier
2828
: await load(configFilePath);
2929

30+
// https://prettier.io/docs/en/configuration.html#sharing-configurations
31+
if (typeof localConfig === 'string') {
32+
return [localConfig];
33+
}
34+
3035
return localConfig && Array.isArray(localConfig.plugins)
3136
? localConfig.plugins.filter((plugin): plugin is string => typeof plugin === 'string')
3237
: [];

‎packages/knip/test/plugins/prettier.test.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,19 @@ import assert from 'node:assert/strict';
22
import test from 'node:test';
33
import * as prettier from '../../src/plugins/prettier/index.js';
44
import { resolve, join } from '../../src/util/path.js';
5+
import { getManifest } from '../helpers/index.js';
56

67
const cwd = resolve('fixtures/plugins/prettier');
8+
const manifest = getManifest(cwd);
79

8-
test('Find dependencies in Prettier configuration', async () => {
10+
test('Find dependencies in Prettier configuration (.prettierrc)', async () => {
911
const configFilePath = join(cwd, '.prettierrc');
1012
const dependencies = await prettier.findDependencies(configFilePath, {});
1113
assert.deepEqual(dependencies, ['prettier-plugin-xml']);
1214
});
15+
16+
test('Find dependencies in Prettier configuration (package.json)', async () => {
17+
const configFilePath = join(cwd, 'package.json');
18+
const dependencies = await prettier.findDependencies(configFilePath, {manifest});
19+
assert.deepEqual(dependencies, ['@company/prettier-config']);
20+
});

0 commit comments

Comments
 (0)
Please sign in to comment.