Have ideas to improve npm?Join in the discussion! »

    usyncit

    0.2.0 • Public • Published

    uSync

    Build status codecov

    Sync subdirectories of a monorepo with external repos

    Setup your monorepo

    Configuration for synced repos exists as a json file in the root of your monorepo; this allows your configuration to be versioned along with your code.

    .usyncrc.json

    {
      "$schema": "https://raw.githubusercontent.com/uber-workflow/usync/v0.0.1/schema/.usyncrc.json",
      "mapping": {
        // setup directory mappings per external repo
        "my-open-source-org/some-repo": {
          // sync `/projects/some-repo` with root of external repo
          "/projects/some-repo": "/"
        }
      }
    }

    Setup your server

    Install

    yarn add usyncit

    Provide environment vars

    GH_TOKEN

    Used in the remote url when cloning repos (see docs on customizing git). Must be from an account that has write access to repos in your org.

    Use

    const {USync} = require('usyncit');
     
    // provide parent monorepo name so it knows where to look
    // for config and where to import into
    const usync = new USync('myorg/monorepo');
     
    yourImportWebhookHandler(async () => {
      await usync.import(...);
    });
     
    yourLandWebhookHandler(async () => {
      await usync.land(...);
    });

    See DOCS.md for full usage info.

    License

    MIT

    Keywords

    none

    Install

    npm i usyncit

    DownloadsWeekly Downloads

    7

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    23.7 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar