Skip to content

Allows you to associate deno tasks with githooks by extending the native deno.json configuration file

Notifications You must be signed in to change notification settings

deco-cx/deno-githooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

githooks for Deno

This is a simple tool for Deno projects that allows you to associate specific deno tasks with specific Git Hooks by extending the native deno.json configuration file or adding a separate one.

It works like this:

  1. In your deno.json (or deno.jsonc) file, add a githooks key containing a map of {githook} to {deno task}. For example:

    {
      "tasks": {
        "start": "deno run -A dev.ts",
        "check": "deno fmt --check && deno lint"
      },
      "githooks": {
        "pre-commit": "check"
      }
    }

    You can also create a separate githooks.json, githooks.jsonc, githooks.yaml or githooks.yml file:

    {
      "pre-commit": "check"
    }
    pre-commit: check

    To add autocompletion, you can use our JSON schema. This schema can either be specified in the settings of your code editor or directly in the JSON file:

    {
      "$schema": "https://deno.land/x/githooks/schema.json",
      "pre-commit": "check"
    }
  2. In your terminal, run the githooks.ts script. It will automatically create a hook file for each githook in your deno.json file.

    deno run -A -r https://deno.land/x/githooks/githooks.ts

That's it. Now your Git Hook should call deno task check before every commit.


PROTIP: deco projects come with this extension pre-installed in the dev script. You don't have to do anything, just add githooks to deno.json and run dev to install the hooks transparently.


About

Allows you to associate deno tasks with githooks by extending the native deno.json configuration file

Resources

Stars

Watchers

Forks