Skip to content

PackageJSON Plugin

Rules for linting Node.js package.json manifest files in repositories and workspaces.
This plugin comes packaged 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.
sorting☑️ When ReadyCommon rules sorting various aspects of code.
stylistic✅ AlwaysCommon rules for consistent styling and best stylistic practices.

Flint recommends using the logical and stylistic presets:

flint.config.ts
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

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.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

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.

@seehttps://flint.fyi/glossary#files flint.fyi/glossary#files

files
.
all: FilesValue
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

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.

@seehttps://flint.fyi/glossary#preset flint.fyi/glossary#preset

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.

@seehttps://flint.fyi/glossary#preset flint.fyi/glossary#preset

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
],
},
],
});

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

flint.config.ts
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

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.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

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.

@seehttps://flint.fyi/glossary#files flint.fyi/glossary#files

files
.
all: FilesValue
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

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.

@seehttps://flint.fyi/glossary#preset flint.fyi/glossary#preset

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
,
},
],
});

Rules that enforce consistent ordering of various aspects of code.

flint.config.ts
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

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.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

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.

@seehttps://flint.fyi/glossary#files flint.fyi/glossary#files

files
.
all: FilesValue
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

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.

@seehttps://flint.fyi/glossary#preset flint.fyi/glossary#preset

presets
.
any
sorting
,
},
],
});

Rules that enforce consistent styling and best stylistic practices for most-to-all package.json files.

flint.config.ts
import {
function defineConfig(definition: ConfigDefinition): Config

Defines a new linter configuration for a Flint config file.

@seehttps://flint.fyi/configuration flint.fyi/configuration

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.

@seehttps://flint.fyi/configuration flint.fyi/configuration

defineConfig
({
ConfigDefinition.use: ConfigUseDefinition[]

Specifies the files to be linted alongside the rules and settings to lint with.

@seehttps://flint.fyi/configuration#use flint.fyi/configuration#use

use
: [
{
ConfigUseDefinition.files: AnyLevelDeep<FilesValue>

A list of glob patterns describing which file(s) to lint.

@seehttps://flint.fyi/configuration#files flint.fyi/configuration#files

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.

@seehttps://flint.fyi/glossary#files flint.fyi/glossary#files

files
.
all: FilesValue
all
,
ConfigUseDefinition.rules: AnyLevelDeep<ConfigRuleDefinition>

Any number of rules and/or presets of rules to enable for those files.

@seehttps://flint.fyi/configuration#rules flint.fyi/configuration#rules

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.

@seehttps://flint.fyi/glossary#preset flint.fyi/glossary#preset

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 RulePreset
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
filesRedundancylogical
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
repositoryDirectoryValiditylogical
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
packageCollectionsOrdersorting
propertyOrdersorting
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)

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

  • all: **/package.json
Made with ❤️‍🔥 around the world by the Flint team and contributors.