PackageJSON Plugin
Rules for linting Node.js package.json manifest files in repositories and workspaces.
This plugin comes packaged with the flint npm package.
Presets
Section titled “Presets”Flint’s package.json plugin provides the following preset:
| Preset | Recommended | Description |
|---|---|---|
logical | ✅ Always | Common rules for finding bugs and good practices in package.json files. |
sorting | ☑️ When Ready | Common rules sorting various aspects of code. |
stylistic | ✅ Always | Common rules for consistent styling and best stylistic practices. |
Flint recommends using the logical and stylistic presets:
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
Specifies the files to be linted alongside the rules and settings to lint with.
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
A list of glob patterns describing which file(s) to lint.
files: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.files: Record<"all", FilesValue>
Selectors of files this plugin suggests applying its rules to.
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
Any number of rules and/or presets of rules to enable for those files.
rules: [const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.presets: PluginPresets<[Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
Preset lists of rules to enable on files.
presets.logical: (Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}> | Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined> | ... 10 more ... | AnyRule)[]
logical, const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.presets: PluginPresets<[Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
Preset lists of rules to enable on files.
presets.stylistic: (Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}> | Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined> | ... 10 more ... | AnyRule)[]
stylistic], }, ],});logical
Section titled “logical”Rules that find bugs and enforce best practices and prevent common pitfalls for most-to-all package.json files.
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
Specifies the files to be linted alongside the rules and settings to lint with.
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
A list of glob patterns describing which file(s) to lint.
files: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.files: Record<"all", FilesValue>
Selectors of files this plugin suggests applying its rules to.
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
Any number of rules and/or presets of rules to enable for those files.
rules: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.presets: PluginPresets<[Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
Preset lists of rules to enable on files.
presets.logical: (Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}> | Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined> | ... 10 more ... | AnyRule)[]
logical, }, ],});sorting
Section titled “sorting”Rules that enforce consistent ordering of various aspects of code.
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
Specifies the files to be linted alongside the rules and settings to lint with.
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
A list of glob patterns describing which file(s) to lint.
files: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.files: Record<"all", FilesValue>
Selectors of files this plugin suggests applying its rules to.
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
Any number of rules and/or presets of rules to enable for those files.
rules: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.presets: PluginPresets<[Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
Preset lists of rules to enable on files.
presets.any
sorting, }, ],});stylistic
Section titled “stylistic”Rules that enforce consistent styling and best stylistic practices for most-to-all package.json files.
import { function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig, const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson } from "flint";
export default function defineConfig(definition: ConfigDefinition): Config
Defines a new linter configuration for a Flint config file.
defineConfig({ ConfigDefinition.use: ConfigUseDefinition[]
Specifies the files to be linted alongside the rules and settings to lint with.
use: [ { ConfigUseDefinition.files: AnyLevelDeep<FilesValue>
A list of glob patterns describing which file(s) to lint.
files: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.files: Record<"all", FilesValue>
Selectors of files this plugin suggests applying its rules to.
files.all: FilesValue
all, ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>
Any number of rules and/or presets of rules to enable for those files.
rules: const packageJson: Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
packageJson.Plugin<RuleAbout<string>, "all", [Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly [...]; } & { ...; }, "emptyContributors" | ... 2 more ... | "preferContributorsOnly", { ...; }>, ... 11 more ..., AnyRule]>.presets: PluginPresets<[Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}>, Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined>, ... 10 more ..., AnyRule]>
Preset lists of rules to enable on files.
presets.stylistic: (Rule<{ readonly description: "Enforces that package.json declares author or contributor attribution."; readonly id: "attribution"; readonly presets: readonly ["logical"];} & { readonly pluginId: string; readonly url: string;}, "emptyContributors" | "missing" | "missingContributors" | "preferContributorsOnly", { ignorePrivate: ZodDefault<ZodBoolean>; preferContributorsOnly: ZodDefault<ZodBoolean>;}> | Rule<{ readonly description: "Enforce that names for bin properties are in kebab case."; readonly id: "binNameCasing"; readonly presets: readonly [...];} & { readonly pluginId: string; readonly url: string;}, "invalidCase", undefined> | ... 10 more ... | AnyRule)[]
stylistic, }, ],});Implemented: 90 of 96 (93.7%)
| Flint Rule | Preset |
|---|---|
attributionEnforces that package.json declares author or contributor attribution. | logical |
authorValidityEnforces that the author property is valid. | logical |
binValidityEnforces that the bin property is valid. | logical |
browserValidityEnforces that the browser property is valid. | logical |
bundleDependenciesValidityEnforces that the bundleDependencies (also: bundledDependencies) property is valid. | logical |
configValidityEnforces that the config property is valid. | logical |
contributorsValidityEnforces that the contributors property is valid. | logical |
cpuValidityEnforces that the cpu property is valid. | logical |
dependenciesValidityEnforces that the dependencies property is valid. | logical |
dependencyUniquenessReports dependency names that are declared more than once in package.json. | logical |
descriptionPresenceEnforces that the description property is present. | logical |
descriptionValidityEnforces that the description property is valid. | logical |
devDependenciesValidityEnforces that the devDependencies property is valid. | logical |
devEnginesValidityEnforces that the devEngines property is valid. | logical |
directoriesValidityEnforces that the directories property is valid. | logical |
emptyFieldsReports empty package.json fields that do not add package metadata. | logical |
enginesValidityEnforces that the engines property is valid. | logical |
exportsPresenceEnforces that the exports property is present. | logical |
exportsValidityEnforces that the exports property is valid. | logical |
filesRedundancy | logical |
filesValidityEnforces that the files property is valid. | logical |
fundingValidityEnforces that the funding property is valid. | logical |
gypfileValidityEnforces that the gypfile property is valid. | logical |
homepagePresenceEnforces that the homepage property is present. | logical |
homepageValidityEnforces that the homepage property is valid. | logical |
keywordsValidityEnforces that the keywords property is valid. | logical |
libcValidityEnforces that the libc property is valid. | logical |
licensePresenceEnforces that the license property is present. | logical |
licenseValidityEnforces that the license property is valid. | logical |
mainValidityEnforces that the main property is valid. | logical |
manValidityEnforces that the man property is valid. | logical |
moduleValidityEnforces that the module property is valid. | logical |
namePresenceEnforces that the name property is present. | logical |
nameValidityEnforces that the name property is valid. | logical |
optionalDependenciesValidityEnforces that the optionalDependencies property is valid. | logical |
osValidityEnforces that the os property is valid. | logical |
packageManagerValidityEnforces that the packageManager property is valid. | logical |
peerDependenciesInstallationEnforces that peer dependencies are installed through devDependencies. | logical |
peerDependenciesMetaRelationshipEnforces that any dependencies declared in peerDependenciesMeta are also defined in the package's peerDependencies. | logical |
peerDependenciesMetaValidityEnforces that the peerDependenciesMeta property is valid. | logical |
peerDependenciesValidityEnforces that the peerDependencies property is valid. | logical |
privateValidityEnforces that the private property is valid. | logical |
publishConfigRedundancyReports publishConfig.access fields that do not affect unscoped packages. | logical |
publishConfigValidityEnforces that the publishConfig property is valid. | logical |
repositoryDirectoryValidity | logical |
repositoryPresenceEnforces that the repository property is present. | logical |
repositoryShorthandEnforces using an object locator for repository. | logical |
repositoryValidityEnforces that the repository property is valid. | logical |
scriptsValidityEnforces that the scripts property is valid. | logical |
sideEffectsPresenceEnforces that the sideEffects property is present. | logical |
sideEffectsValidityEnforces that the sideEffects property is valid. | logical |
typePresenceEnforces that the type property is present. | logical |
typeValidityEnforces that the type property is valid. | logical |
versionPresenceEnforces that the version property is present. | logical |
versionValidityEnforces that the version property is valid. | logical |
workspacesValidityEnforces that the workspaces property is valid. | logical |
packageCollectionsOrder | sorting |
propertyOrder | sorting |
binNameCasingEnforce that names for bin properties are in kebab case. | stylistic |
exportsSubpathsStyleEnforce consistent root exports subpath style in package.json. | stylistic |
scriptsNameCasingEnforce that names for scripts properties are in kebab case. | stylistic |
authorPresenceEnforces that the author property is present. | (none) |
binPresenceEnforces that the bin property is present. | (none) |
browserPresenceEnforces that the browser property is present. | (none) |
bugsPresenceEnforces that the bugs property is present. | (none) |
bugsValidityEnforces that the bugs property is valid. | (none) |
bundleDependenciesPresenceEnforces that the bundleDependencies property is present. | (none) |
configPresenceEnforces that the config property is present. | (none) |
contributorsPresenceEnforces that the contributors property is present. | (none) |
cpuPresenceEnforces that the cpu property is present. | (none) |
dependenciesPresenceEnforces that the dependencies property is present. | (none) |
dependencyRanges | (none) |
devDependenciesPresenceEnforces that the devDependencies property is present. | (none) |
devEnginesPresenceEnforces that the devEngines property is present. | (none) |
directoriesPresenceEnforces that the directories property is present. | (none) |
enginesPresenceEnforces that the engines property is present. | (none) |
filesPresenceEnforces that the files property is present. | (none) |
fundingPresenceEnforces that the funding property is present. | (none) |
gypfilePresenceEnforces that the gypfile property is present. | (none) |
keywordsPresenceEnforces that the keywords property is present. | (none) |
libcPresenceEnforces that the libc property is present. | (none) |
mainPresenceEnforces that the main property is present. | (none) |
manPresenceEnforces that the man property is present. | (none) |
modulePresenceEnforces that the module property is present. | (none) |
optionalDependenciesPresenceEnforces that the optionalDependencies property is present. | (none) |
osPresenceEnforces that the os property is present. | (none) |
packageManagerPresenceEnforces that the packageManager property is present. | (none) |
peerDependenciesMetaPresenceEnforces that the peerDependenciesMeta property is present. | (none) |
peerDependenciesPresenceEnforces that the peerDependencies property is present. | (none) |
privatePackagePropertiesReports package.json properties that do not apply to private packages. | (none) |
privatePresenceEnforces that the private property is present. | (none) |
publishConfigPresenceEnforces that the publishConfig property is present. | (none) |
scriptsPresenceEnforces that the scripts property is present. | (none) |
topLevelPackageProperties | (none) |
typesPresenceEnforces that the types property is present. | (none) |
workspacesPresenceEnforces that the workspaces property is present. | (none) |
Selectors
Section titled “Selectors”Flint’s package.json plugin will provide the following files selector:
all:**/package.json