knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
39 lines (38 loc) • 1.15 kB
JavaScript
import { toDependency } from "../../util/input.js";
import { hasDependency } from "../../util/plugin.js";
const title = 'React Native';
const enablers = ['react-native'];
const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
const config = ['react-native.config.js'];
const RN_CLI_PACKAGES = [
'@react-native-community/cli',
'@react-native-community/cli-platform-android',
'@react-native-community/cli-platform-ios',
];
const resolveConfig = async (config) => {
const inputs = [];
if (config.dependencies) {
for (const name of Object.keys(config.dependencies)) {
inputs.push(toDependency(name));
}
}
if (config.platforms) {
for (const platform of Object.values(config.platforms)) {
if (platform.npmPackageName)
inputs.push(toDependency(platform.npmPackageName));
}
}
return inputs;
};
const resolve = () => {
return RN_CLI_PACKAGES.map(pkg => toDependency(pkg, { optional: true }));
};
const plugin = {
title,
enablers,
isEnabled,
config,
resolveConfig,
resolve,
};
export default plugin;