Skip to content

Commit 439afa6

Browse files
authored
feat: node-modules-inspector plugin (#1215)
1 parent 938b906 commit 439afa6

File tree

11 files changed

+83
-0
lines changed

11 files changed

+83
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { defineConfig } from 'node-modules-inspector';
2+
3+
export default defineConfig({
4+
defaultSettings: {
5+
moduleTypeSimple: true,
6+
},
7+
});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { defineConfig } from 'node-modules-inspector';
2+
3+
export default defineConfig({
4+
// Experimental publint.dev integration
5+
publint: true,
6+
});

packages/knip/fixtures/plugins/node-modules-inspector/node_modules/node-modules-inspector/index.js

Whitespace-only changes.

packages/knip/fixtures/plugins/node-modules-inspector/node_modules/node-modules-inspector/package.json

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "@plugins/node-modules-inspector",
3+
"dependencies": {
4+
"node-modules-inspector": "*"
5+
},
6+
"scripts": {
7+
"build": "node-modules-inspector build",
8+
"build-3": "node-modules-inspector --config .nmrc.js"
9+
}
10+
}

packages/knip/schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,10 @@
499499
"title": "node plugin configuration (https://knip.dev/reference/plugins/node)",
500500
"$ref": "#/definitions/plugin"
501501
},
502+
"node-modules-inspector": {
503+
"title": "node-modules-inspector plugin configuration (https://knip.dev/reference/plugins/node-modules-inspector)",
504+
"$ref": "#/definitions/plugin"
505+
},
502506
"node-test-runner": {
503507
"title": "node-test-runner plugin configuration (https://knip.dev/reference/plugins/node-test-runner)",
504508
"$ref": "#/definitions/plugin"

packages/knip/src/plugins/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import { default as nanoStaged } from './nano-staged/index.js';
4949
import { default as nest } from './nest/index.js';
5050
import { default as netlify } from './netlify/index.js';
5151
import { default as next } from './next/index.js';
52+
import { default as nodeModulesInspector } from './node-modules-inspector/index.js';
5253
import { default as node } from './node/index.js';
5354
import { default as nodemon } from './nodemon/index.js';
5455
import { default as npmPackageJsonLint } from './npm-package-json-lint/index.js';
@@ -162,6 +163,7 @@ export const Plugins = {
162163
netlify,
163164
next,
164165
node,
166+
'node-modules-inspector': nodeModulesInspector,
165167
nodemon,
166168
'npm-package-json-lint': npmPackageJsonLint,
167169
nuxt,
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import type { IsPluginEnabled, Plugin } from '../../types/config.js';
2+
import { toUnconfig } from '../../util/plugin-config.js';
3+
import { hasDependency } from '../../util/plugin.js';
4+
5+
// https://github.com/antfu/node-modules-inspector
6+
7+
const title = 'node-modules-inspector';
8+
9+
const enablers = ['node-modules-inspector'];
10+
11+
const isEnabled: IsPluginEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
12+
13+
const config: string[] = [...toUnconfig('node-modules-inspector.config')];
14+
15+
const args = {
16+
binaries: ['node-modules-inspector'],
17+
config: true,
18+
};
19+
20+
export default {
21+
title,
22+
enablers,
23+
isEnabled,
24+
config,
25+
args,
26+
} satisfies Plugin;

packages/knip/src/schema/plugins.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export const pluginsSchema = z.object({
6464
netlify: pluginSchema,
6565
next: pluginSchema,
6666
node: pluginSchema,
67+
'node-modules-inspector': pluginSchema,
6768
nodemon: pluginSchema,
6869
'npm-package-json-lint': pluginSchema,
6970
nuxt: pluginSchema,

packages/knip/src/types/PluginNames.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export type PluginName =
5151
| 'netlify'
5252
| 'next'
5353
| 'node'
54+
| 'node-modules-inspector'
5455
| 'nodemon'
5556
| 'npm-package-json-lint'
5657
| 'nuxt'
@@ -163,6 +164,7 @@ export const pluginNames = [
163164
'netlify',
164165
'next',
165166
'node',
167+
'node-modules-inspector',
166168
'nodemon',
167169
'npm-package-json-lint',
168170
'nuxt',

0 commit comments

Comments
 (0)