1414from pre_commit import five
1515from pre_commit import git
1616from pre_commit .clientlib import is_local_repo
17+ from pre_commit .clientlib import load_manifest
1718from pre_commit .clientlib import MANIFEST_HOOK_DICT
1819from pre_commit .languages .all import languages
1920from pre_commit .languages .helpers import environment_dir
20- from pre_commit .manifest import Manifest
2121from pre_commit .prefixed_command_runner import PrefixedCommandRunner
2222from pre_commit .schema import apply_defaults
2323from pre_commit .schema import validate
@@ -152,13 +152,14 @@ def _cmd_runner_from_deps(self, language_name, deps):
152152 return self ._cmd_runner
153153
154154 @cached_property
155- def manifest (self ):
156- return Manifest (self ._repo_path )
155+ def manifest_hooks (self ):
156+ manifest_path = os .path .join (self ._repo_path , C .MANIFEST_FILE )
157+ return {hook ['id' ]: hook for hook in load_manifest (manifest_path )}
157158
158159 @cached_property
159160 def hooks (self ):
160161 for hook in self .repo_config ['hooks' ]:
161- if hook ['id' ] not in self .manifest . hooks :
162+ if hook ['id' ] not in self .manifest_hooks :
162163 logger .error (
163164 '`{}` is not present in repository {}. '
164165 'Typo? Perhaps it is introduced in a newer version? '
@@ -169,7 +170,7 @@ def hooks(self):
169170 exit (1 )
170171
171172 return tuple (
172- (hook ['id' ], _hook (self .manifest . hooks [hook ['id' ]], hook ))
173+ (hook ['id' ], _hook (self .manifest_hooks [hook ['id' ]], hook ))
173174 for hook in self .repo_config ['hooks' ]
174175 )
175176
0 commit comments