Skip to content

PackageJSON Plugin

Flint’s package.json plugin includes rules targeted to package.json files. It comes provided with the flint npm package.

Flint’s package.json plugin provides the following preset:

PresetRecommendedDescription
logical✅ AlwaysCommon rules for finding bugs and good practices in package.json files.

Flint recommends using the logical preset:

flint.config.ts
import { defineConfig, packageJson } from "flint";
export default defineConfig({
use: [
{
files: packageJson.files.all,
rules: [packageJson.presets.logical],
},
],
});

Rules that find bugs and enforce best practices and prevent common pitfalls for most-to-all package.json files.

flint.config.ts
import { defineConfig, packageJson } from "flint";
export default defineConfig({
use: [
{
files: packageJson.files.all,
rules: packageJson.presets.logical,
},
],
});
Implemented: 0 of 51 (0%)
Flint NamePresetBiome Rule(s)Deno Lint Rule(s)ESLint Rule(s)Oxlint Rule(s)
authorValidityLogicalpackage-json/valid-author
binValidityLogicalpackage-json/valid-bin
bundleDependenciesValidityLogicalpackage-json/valid-bundleDependencies
configValidityLogicalpackage-json/valid-config
cpuValidityLogicalpackage-json/valid-cpu
dependenciesValidityLogicalpackage-json/valid-dependencies
dependencyUniquenessLogicalpackage-json/unique-dependencies
descriptionPresenceLogicalpackage-json/require-description
descriptionValidityLogicalpackage-json/valid-description
devDependenciesValidityLogicalpackage-json/valid-devDependencies
directoriesValidityLogicalpackage-json/valid-directories
emptyFieldsLogicalpackage-json/no-empty-fields
exportsValidityLogicalpackage-json/valid-exports
filesRedundancyLogicalpackage-json/no-redundant-files
filesValidityLogicalpackage-json/valid-files
homepageValidityLogicalpackage-json/valid-homepage
keywordsValidityLogicalpackage-json/valid-keywords
licenseRequiredLogicalpackage-json/license-required
licenseValidityLogicalpackage-json/valid-license
mainValidityLogicalpackage-json/valid-main
manValidityLogicalpackage-json/valid-man
namePresenceLogicalpackage-json/require-name
nameValidityLogicalpackage-json/valid-name
optionalDependenciesValidityLogicalpackage-json/valid-optionalDependencies
osValidityLogicalpackage-json/valid-os
peerDependenciesValidityLogicalpackage-json/valid-peerDependencies
privateValidityLogicalpackage-json/valid-private
propertyOrderingLogicalpackage-json/order-properties
publishConfigValidityLogicalpackage-json/valid-publishConfig
repositoryDirectoryValidityLogicalpackage-json/valid-repository-directory
repositoryShorthandLogicalpackage-json/repository-shorthand
repositoryValidityLogicalpackage-json/valid-repository
scriptsValidityLogicalpackage-json/valid-scripts
typePresenceLogicalpackage-json/require-type
typeRequiredLogicalpackage-json/type-required
typeValidityLogicalpackage-json/valid-type
versionPresenceLogicalpackage-json/require-version
versionValidityLogicalpackage-json/valid-version
workspacesValidityLogicalpackage-json/valid-workspaces
authorPresenceNonepackage-json/require-author
bugsPresenceNonepackage-json/require-bugs
bundleDependenciesPresenceNonepackage-json/require-bundleDependencies
dependenciesPresenceNonepackage-json/require-dependencies
dependencyRangesNonepackage-json/restrict-dependency-ranges
devDependenciesPresenceNonepackage-json/require-devDependencies
enginesPresenceNonepackage-json/require-engines
filesPresenceNonepackage-json/require-files
keywordsPresenceNonepackage-json/require-keywords
optionalDependenciesPresenceNonepackage-json/require-optionalDependencies
peerDependenciesPresenceNonepackage-json/require-peerDependencies
typesPresenceNonepackage-json/require-types

Flint’s package.json plugin will provide the following files selector:

  • all: **/package.json
Made with ❤️‍🔥 in Boston by Josh Goldberg and contributors.