Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
What is left todo for the monorepo release

TODO Monorepo

⚠️ Needs to be fixed before further testing ⚠️

Features

  • Greenkeeper can find all package.json files in a repository.
  • The combined package information from all package.json files is stored in a repository document in the Greenkeeper database.
  • By default there will be one pull request per dependency (affecting multiple package.json files).
  • package.json files can be grouped by the user to receive a pull request per dependency per group.
  • No additional config is needed to run Greenkeeper in “single package.json mode”.

greenkeeper.json

  • „find“ config file and add contents to repoDoc
  • getConfig gets config from greenkeeper.json
  • create default config file in initial branch/PR
  • validate config file
  • already has greenkeeper.json that is invalid and greenkeeper gets installed.
  • trigger issue when a defined path (for package.json, lockfiles) is not found
  • send Issue about invalid config file
  • diff greenkeeper.json changes
  • Initial PR contains information on how to customise the greenkeeper.json file
  • validation: package paths with - in them are seen as invalid! thats uncool: https://github.com/neighbourhoodie/gk-test-lerna-big/issues/4
  • validation: we are currently not allowing group names with -, why not? Should we?

subgroup initial branch

  • disable group if initial subgroup PR was not merged ?? Is that even necessary since we do individual commits within a PR anyway. But! Needs to be deleted if they merge an update PR in the mean time

change comes in from GitHub

  • trigger sub-initial branch for groups if necessary
  • delete branches & close PRs for groups
  • new greenkeeper.json is added -> create subgroup initial branches for all groups
  • new greenkeeper.json is added -> inform the user that we have noticed and will handle their monorepo from now on
  • package.json is removed -> remove it from greenkeeper.json. (on next PR)
  • greenkeeper.json is deleted -> only delete branches if the group did not just contain the root package.json

dependency update comes in from npm

  • registry-change can trigger version update branches for groups

general

  • adapt repository document for monorepos
  • auto discover relevant files (package.json, lock files, config)
  • push: greenkeeper config was deleted but only contained the root package.json . is logged with every push
  • create (group) version branch: fix checking for lockfiles!
  • push: if has invalid config and other things, it will only return the invalid-config-job and not do the other stuff (L.66)

group version branch

  • group level ignore of dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.