npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bbpr

v3.4.17

Published

Make pull requests through the Bitbucket API 2.0 from your terminal

Downloads

60

Readme

This package is deprecated and no longer maintained.

Quick Start Synopsis Features Installation Use and Configuration How to Contribute Maintainer

npm install -g bbpr

Use the bbpr command from a feature branch to start a pull request process.

Please log an issue or send an email if you get any error during the quick start process.

bbpr (BitBucket Pull Requests) is a cross-platform, interactive, configurable program helping you making pull requests from your terminal.

A positive side effect of using bbpr is that it can also help you standardize the pull request process across members of your team. Forgetting little details when doing a pull request is very easy (forgetting to add a reviewer, not providing detailed specifications helping your teammates understand where they should focus their attention while reviewing, etc). bbpr wants to partner up with you on that journey, so that your future pull requests will always be picture perfect.

  • Comprehensive pull request creation command to use from your terminal
  • Cross-platform compatibility for Windows, MacOS, and Linux
  • Global (for all your repositories) and local (repository-specific) configuration options
  • Easy integration/importation of configuration files whether located locally or remotely (http/https)
  • Granular options for destination branch selection, password caching, reviewers addition, source branch closing, demo url addition, and pull request description
  • BitBucket markdown support for pull request descriptions

First, make sure you have the latest stable versions of the following programs installed on your computer: node.js, npm, and git or mercurial depending on which version control system your team is using.

The single best way to use bbpr is to install it globally on your computer:

npm install -g bbpr

then you can use the bbpr command from your terminal. But, read along, there is more.

bbpr comes bundled with a global configuration file (bbpr.config.js) by default, which means you can use it right after installing the module globally on your computer with the bbpr terminal command. bbpr also leaves you with a series of commandline options in order to configure the program to your taste:

Here are all the properties you can set in your bbpr.config.js configuration file, whether global or local:

module.exports = {
  user: {
    password: null, // null or String.
        // If null and cachePwd is set to true, this property will be set to the (encrypted) password you entered via the prompt for your next BBPR sessions.
        // If not null and cachePwd is set to true, it will use the encrypted password stored in this property.
        // In any other case, you will be prompted at each BBPR session to provide your BitBucket password.
    cachePwd: false // Boolean. See the password property for detailed explanation.
  },
  demo: {
    shouldPrompt: false, // Boolean. Set to true if you'll need a demo link with your PR.
    shouldPromptDescription: false, // Boolean. Set to true if you'll need a description with your demo.
    demoIntro: '', // String. Introduction appearing in your pull request description right before your demo url
    basePath: '', // String. Base path to your demo (ex. https://mydemo.com/). Provide only if needing a demo. It will be ignored otherwise.
    // You can also provide a basePath with the below path variables as such https://mydemo.com/{{repositoryName}}/{{sourceBranch}}/{{orAnyPathVariableListedBelow}}
    pathVariables: {
      repositoryName: null, // null or Function with signature (repositoryName) => String. Formatting function for repositoryName.
      repositoryOwner: null, // null or Function with signature (repositoryOwner) => String. Formatting function for repositoryOwner.
      pullRequestAuthor: null, // null or Function with signature (pullRequestAuthor) => String. Formatting function for pullRequestAuthor.
      sourceBranch: null, // null or Function with signature (sourceBranch) => String. Formatting function for sourceBranch.
      destinationBranch: null // null or Function with signature (destinationBranch) => String. Formatting function for destinationBranch.
    }
  },
  reviewers: {
    default: [], // Array of String. Each entry must be a valid BitBucket username. These are the reviewers who are assign to reviewing your work. An empty Array is also valid.
    potential: [] // Array of String. Each entry must be a valid BitBucket username. These are the reviewers who may be assigned to reviewing your work. An empty Array is also valid.
  },
  branches: {
    source: {
      close: true // Boolean. Set to false if you do not want your source branch to be closed after merging in the destination branch.
    },
    dest: {
      default: '' // String. Set to your main branch (ex: master or default), or the branch to which you are making PRs most often. Defaults to default for Mercurial and master for Git
    }
  },
  globalVars: {
    openFileCommand: '' // String. Your preferred terminal command to open your config file (javascript file). BBPR uses a default command according to your platform if empty.
  }
}

Ideas and suggestions are strongly encouraged. What would be your needs?

Please do not hesitate to make any change at any time to bbpr by submitting a pull request, an issue, or any suggestion for improvements.

  • eliminate the need to provide organization name and username - DONE
  • add local bbpr.config.js file initialization terminal option - DONE
  • allow configuration file to be set from a remote or local file - DONE
  • better error messages on failed pull request - DONE
  • allow git repositories to be handled - DONE
  • better commandline options for configuration (local and global) DONE
  • fix pre-install and post-install script to preserve global config file of users DONE
  • rethink demo link options DONE
  • allow users to have local bbpr.config.js file for their repositories - DONE
  • reduce shelljs and bash dependency for before module install and after module install DONE
  • eliminate bash dependency for password caching DONE
  • improve password caching procedure DONE
  • improved readme with more information, code examples, and cross-platform compatibility IN PROGRESS
  • detailed explanation on how to contribute in README IN PROGRESS
  • unit tests everything - IN PROGRESS
  • allow PR updates through bbpr with granular options (update only one property: title, description, etc)
  • beautify code
  • check if destination branch exists remotely before making pull request
  • improve normalization of configuration file
  • support github repositories
  • view all pull requests for a specific remote repository
  • get existing pull requests with granular options
  • add code documentation

Michel Moreau - [email protected]