Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add function to load known MetaMask repos #22

Merged
merged 8 commits into from
Nov 6, 2023

Commits on Oct 26, 2023

  1. Add file caching utility function

    One of the things that this tool will do is to hit the GitHub API and
    request all of the repositories under the MetaMask organization. We
    don't want to do this every time the tool is run, though, or else we
    might get rate limited. To prevent this, we can cache the response data
    from the API in a file.
    
    This `fetchOrPopulateFileCache` function being introduced here (which we
    will use in a later commit) makes that possible.
    mcmire committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    9e5b19c View commit details
    Browse the repository at this point in the history
  2. Add RepositoryFilesystem

    When linting a project, we need to constantly read the files within
    either the module template or the project. We want this tool to run as
    fast as possible, and to do this, we can cache the metadata and content
    of each file that we read so that we don't have to do it again. This
    class assists with that.
    mcmire committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    09bcfec View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    02ee6a7 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Add function to load known MetaMask repos

    If a user passes a bare identifier on the command line, like this:
    
    ```
    yarn dlx @metamask/module-lint utils
    ```
    
    then we assume that they want to lint the `MetaMask/utils` repository.
    However we have to double-check that the repo they want to lint actually
    exists. They shouldn't be able to do this, for instance:
    
    ```
    yarn dlx @metamask/module-lint asdlsdfl
    ```
    
    The way we do this is by pulling the list of repositories that sit under
    the MetaMask GitHub organization. We exclude forks as well as archived
    repos. This list is cached for an hour so that future runs of the tool
    do not cause the rate limit for the GitHub API to be exceeded.
    mcmire committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    a6166fe View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. Configuration menu
    Copy the full SHA
    96894a6 View commit details
    Browse the repository at this point in the history
  2. Remove extraneous code

    mcmire committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    b758921 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    afd04a6 View commit details
    Browse the repository at this point in the history
  4. Okay, now we're done

    mcmire committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    d2b2e49 View commit details
    Browse the repository at this point in the history