From c737bc5f4fd4a4a1520c42bf4f06662f8701d324 Mon Sep 17 00:00:00 2001 From: koa-wang Date: Sat, 10 Oct 2026 15:28:42 +0800 Subject: [PATCH] feat(inspector): add side effects indicator for packages Display whether a package has side effects declared in package.json, helping users debug tree-shaking issues at a glance. Closes #100 --- .../components/display/SideEffectsBadge.vue | 45 +++++++++++++++++++ .../src/app/components/grid/Item.vue | 3 ++ .../components/panel/PackageDetailsInfo.vue | 2 + .../src/app/components/panel/Settings.vue | 3 ++ .../src/app/state/settings.ts | 1 + .../src/shared/types.ts | 1 + .../node-modules-tools/src/resolve-json.ts | 4 +- packages/node-modules-tools/src/types/node.ts | 8 ++++ .../src/utils/package-json.ts | 17 +++++++ 9 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 packages/node-modules-inspector/src/app/components/display/SideEffectsBadge.vue diff --git a/packages/node-modules-inspector/src/app/components/display/SideEffectsBadge.vue b/packages/node-modules-inspector/src/app/components/display/SideEffectsBadge.vue new file mode 100644 index 00000000..453e4f52 --- /dev/null +++ b/packages/node-modules-inspector/src/app/components/display/SideEffectsBadge.vue @@ -0,0 +1,45 @@ + + + diff --git a/packages/node-modules-inspector/src/app/components/grid/Item.vue b/packages/node-modules-inspector/src/app/components/grid/Item.vue index 584bd800..d9fbad84 100644 --- a/packages/node-modules-inspector/src/app/components/grid/Item.vue +++ b/packages/node-modules-inspector/src/app/components/grid/Item.vue @@ -8,6 +8,7 @@ import DisplayDateBadge from '../display/DateBadge.vue' import DisplayFileSizeBadge from '../display/FileSizeBadge.vue' import DisplayModuleType from '../display/ModuleType' import DisplayPackageSpec from '../display/PackageSpec.vue' +import DisplaySideEffectsBadge from '../display/SideEffectsBadge.vue' import DisplaySourceTypeBadge from '../display/SourceTypeBadge.vue' import UiPackageBorder from '../ui/PackageBorder.vue' @@ -55,6 +56,8 @@ defineProps<{ + +