---
mime_tag:
css:
type: css
html:
type: html
javascript:
type: js
json:
type: json
markdown:
type: markdown
perl-config: # NOTE *.perl
perl_critic: pcore-config
type: perl
perl-cpanfile: # NOTE cpanfile
perl_critic: 0
type: perl
perl-module:
perl_critic: 1
type: perl
perl-script:
perl_compress_end_section: 1
perl_critic: 1
type: perl
perl-script-auto: # NOTE *.PL
perl_compress_end_section: 1
perl_critic: 0
type: perl
vue:
type: vue
yaml:
type: yaml
perlcritic:
common:
__pcore__: 0
__defaults__:
severity: 1
BuiltinFunctions::ProhibitUselessTopic:
severity: 4
ClassHierarchies::ProhibitAutoloading:
severity: 5
CodeLayout::RequireTidyCode: ~ # NOTE covered by running perltidy separately
ControlStructures::ProhibitCascadingIfElse:
max_elsif: 5
ControlStructures::ProhibitPostfixControls:
allow: if unless
ControlStructures::ProhibitUnlessBlocks: ~
ControlStructures::ProhibitYadaOperator:
severity: 3
Documentation::RequirePodSections: ~
InputOutput::ProhibitBacktickOperators:
only_in_void_context: 1
Miscellanea::ProhibitUselessNoCritic:
severity: 4
Modules::ProhibitEvilModules:
modules: indirect # NOTE !!! exporting indirect pragma cause random crashes under windows
Modules::RequireNoMatchVarsWithUseEnglish: ~
NamingConventions::Capitalization: ~
References::ProhibitDoubleSigils: ~ # TODO enable, when bug with ->%* will be fixed, https://github.com/Perl-Critic/Perl-Critic/issues/578
RegularExpressions::ProhibitEscapedMetacharacters:
severity: 4
RegularExpressions::ProhibitUnusualDelimiters:
allow_all_brackets: 1
RegularExpressions::ProhibitUselessTopic:
severity: 4
RegularExpressions::RequireBracesForMultiline:
allow_all_brackets: 1
RegularExpressions::RequireDotMatchAnything:
severity: 4
RegularExpressions::RequireExtendedFormatting: ~
RegularExpressions::RequireLineBoundaryMatching:
severity: 4
Subroutines::ProhibitAmpersandSigils:
severity: 4
Subroutines::ProhibitSubroutinePrototypes: ~ # TODO [PCORE-27] - remove this policy, https://github.com/Perl-Critic/Perl-Critic/issues/591
Subroutines::ProhibitUnusedPrivateSubroutines:
private_name_regex: _(?!_?build_)\w+
Subroutines::RequireArgUnpacking: ~
TestingAndDebugging::ProhibitNoStrict:
allow: subs refs
TestingAndDebugging::ProhibitNoWarnings:
allow_with_category_restriction: 1
TestingAndDebugging::RequireUseStrict:
equivalent_modules: common::header Pcore
TestingAndDebugging::RequireUseWarnings:
equivalent_modules: common::header Pcore
ValuesAndExpressions::ProhibitEscapedCharacters: ~
ValuesAndExpressions::ProhibitInterpolationOfLiterals:
severity: 3
ValuesAndExpressions::ProhibitMagicNumbers: ~
ValuesAndExpressions::ProhibitNoisyQuotes: ~
ValuesAndExpressions::ProhibitVersionStrings: ~
Variables::ProhibitPackageVars: ~
Variables::ProhibitPunctuationVars: ~
Variables::ProhibitReusedNames:
severity: 4
Variables::ProhibitUnusedVariables:
severity: 4
pcore-script:
__parent__: common
__pcore__: 1
ErrorHandling::RequireCarping: ~
InputOutput::RequireCheckedClose:
severity: 4
InputOutput::RequireCheckedOpen:
severity: 4
InputOutput::RequireCheckedSyscalls:
exclude_functions: print say sleep
functions: :builtins
severity: 4
Modules::ProhibitEvilModules:
# NOTE !!! exporting indirect pragma cause random crashes under windows
modules: autodie indirect /\Aconstant/ /\AReadonly/ Const::Fast English
Encode Sys::Hostname Scalar::Util List::Util List::Util::XS List::AllUtils
Hash::Util Sub::Util /JSON/ /Data::Dump/ Data::Printer File::Path
File::Slurp File::Temp Path::Tiny File::Copy Cwd File::Spec File::Basename
File::Find /Data::UUID/ /Data::Serializer/ Capture::Tiny HTTP::Tiny
Sub::Name Sub::Identify MIME::Base64 /URI::Escape/ URL::Encode /Geo::IP/
Moo Moo::Role MooX::late /MooX::Types::MooseLike/ /Type::Tiny/ /\ATypes::/
Modules::ProhibitMultiplePackages: ~
Modules::RequireVersionVar: ~
pcore-config:
__parent__: pcore-script
Modules::RequireEndWithOne: ~
Modules::RequireExplicitPackage: ~
TestingAndDebugging::RequireUseStrict: ~
TestingAndDebugging::RequireUseWarnings: ~
ValuesAndExpressions::ProhibitEmptyQuotes: ~
ValuesAndExpressions::ProhibitInterpolationOfLiterals: ~
ValuesAndExpressions::ProhibitNoisyQuotes: ~
ValuesAndExpressions::RequireInterpolationOfMetachars: ~
perltidy:
- --perl-best-practices
- --tight-secret-operators
- --continuation-indentation=2
- --weld-nested-containers
- --one-line-block-semicolons=0
- --maximum-line-length=0
- --space-prototype-paren=2
- --format-skipping
- --format-skipping-begin="# <<<"
- --format-skipping-end="# >>>"
- --converge
- --nostandard-output
- --character-encoding=utf8