knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
26 lines (25 loc) • 900 B
JavaScript
import { compact } from "../../util/array.js";
import { toProductionEntry } from "../../util/input.js";
import { hasDependency } from "../../util/plugin.js";
const title = 'Raycast';
const enablers = ['@raycast/api'];
const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
const config = ['package.json'];
const packageJsonPath = (manifest) => manifest;
const mapEntries = (items, directory) => {
const names = compact((items ?? []).map(item => (typeof item.name === 'string' ? item.name : undefined)));
return names.map(name => toProductionEntry(`${directory}${name}.{js,jsx,ts,tsx}`));
};
const resolveConfig = async (manifest) => [
...mapEntries(manifest.commands, 'src/'),
...mapEntries(manifest.tools, 'src/tools/'),
];
const plugin = {
title,
enablers,
isEnabled,
config,
packageJsonPath,
resolveConfig,
};
export default plugin;