<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Salable</title>
    <description>The latest articles on Forem by Salable (@salableapp).</description>
    <link>https://forem.com/salableapp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1058831%2Fd595e3bf-61cb-4a32-bcbd-2ce692089e66.png</url>
      <title>Forem: Salable</title>
      <link>https://forem.com/salableapp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/salableapp"/>
    <language>en</language>
    <item>
      <title>Monetise your Miro apps with Salable!</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Tue, 03 Sep 2024 15:46:44 +0000</pubDate>
      <link>https://forem.com/salableapp/monetise-your-miro-apps-with-salable-1el</link>
      <guid>https://forem.com/salableapp/monetise-your-miro-apps-with-salable-1el</guid>
      <description>&lt;p&gt;We're thrilled to announce our new collaboration with Miro🎉&lt;/p&gt;

&lt;p&gt;Our guide on monetising your Miro apps using Salable is now live on their developer documentation site! 📚✨&lt;/p&gt;

&lt;p&gt;Developers, this is your chance to seamlessly leverage our powerful Salable platform for all your monetisation and licensing needs. With our guide, you'll have all the tools and insights you need to turn your innovative Miro apps into profitable ventures. 💡💸&lt;/p&gt;

&lt;p&gt;Why wait? Dive into the guide today and start maximising your app's potential!&lt;/p&gt;

&lt;p&gt;Grab it here 👉 &lt;a href="https://developers.miro.com/docs/monetization-with-miro-salable" rel="noopener noreferrer"&gt;https://developers.miro.com/docs/monetization-with-miro-salable&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to learn more about Salable, you can check us out here 😊 &lt;a href="https://salable.app" rel="noopener noreferrer"&gt;https://salable.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>developers</category>
      <category>developer</category>
      <category>development</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Streamline your SaaS: why Salable is the game-changer for app developers</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Fri, 03 May 2024 12:13:18 +0000</pubDate>
      <link>https://forem.com/salableapp/streamline-your-saas-why-salable-is-the-game-changer-for-app-developers-5cdo</link>
      <guid>https://forem.com/salableapp/streamline-your-saas-why-salable-is-the-game-changer-for-app-developers-5cdo</guid>
      <description>&lt;p&gt;SaaS developers are a unique breed. They face a labyrinth of challenges, from coding and UI design to the intricacies of &lt;a href="https://docs.salable.app/docs/developing-with-salable/taking-payments" rel="noopener noreferrer"&gt;payment processing&lt;/a&gt;. While platforms like Stripe have been go-to solutions, many developers find themselves wrestling with systems that, although powerful, can feel like trying to navigate a crowded market with an oversized backpack. They’re impractical and often miss out on crucial features needed by SaaS products — most notably, a robust user licensing model.&lt;/p&gt;

&lt;p&gt;Enter Salable: your new secret weapon in launching and managing your SaaS application with unprecedented ease.‍&lt;/p&gt;

&lt;h2&gt;
  
  
  Speedy development meets real user licensing
&lt;/h2&gt;

&lt;p&gt;Imagine if you could wave goodbye to the complexities of licensing models, bid farewell to the perplexities of subscription management, and say hello to more time innovating and less time fretting about operational details. That’s not just wishful thinking — it’s what we offer at Salable.&lt;/p&gt;

&lt;p&gt;One significant headache for many SaaS developers is finding a platform that understands their needs — not just in handling transactions but also in managing real user licenses effectively. Traditional platforms often leave much to be desired here; they’re like square pegs for round holes — close but not quite right.&lt;/p&gt;

&lt;p&gt;Salable changes the game by integrating these critical features right into its core functionality. This means you can set up user licenses that match your app’s needs without juggling additional software or plugins — a move that’s bound to streamline operations and slash your time-to-market dramatically.‍&lt;/p&gt;

&lt;h2&gt;
  
  
  Monetisation made simple
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.salable.app/blogs/beyond-payments-salables-flexible-insightful-monetisation-solutions" rel="noopener noreferrer"&gt;Let’s talk money-making&lt;/a&gt; because let’s face it — that’s why we’re all here! With Salable, monetisation isn’t just an afterthought; it’s woven into the fabric of what we do. Whether you’re exploring subscription models or looking for more complex commercial arrangements, our platform makes it effortless.&lt;/p&gt;

&lt;p&gt;From recurring payments to one-time transactions, everything is handled within our sleek interface designed with both speediness and handleability in mind.‍&lt;/p&gt;

&lt;h2&gt;
  
  
  Grow effortlessly
&lt;/h2&gt;

&lt;p&gt;But where would all this be if it didn’t help you grow? Scaling up should be exciting — not exhausting. Our tailored services ensure that as your user base expands or as you refine your offerings based on feedback without missing a beat.&lt;/p&gt;

&lt;p&gt;The future-proof design keeps pace with evolving tech landscapes so you can concentrate on bringing new ideas into reality rather than being bogged down by backend hassles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: make space for innovation
&lt;/h2&gt;

&lt;p&gt;In today’s fast-paced digital world where every second counts towards success or stagnation, having tools that are not only functional but finely tuned for SaaS development could mean the difference between blending in or standing out.&lt;/p&gt;

&lt;p&gt;Salable isn’t just another tool — it’s an ally for developers who dream big but are weighed down by operational inefficiencies. If transforming ideas into impactful software experiences quickly is what drives you then pivoting to Salable might just be one of your best moves yet.&lt;/p&gt;

&lt;p&gt;If the idea of cutting-edge software development without the usual constraints grabs you (and frankly why wouldn’t it?), then &lt;a href="https://salable.app/signup" rel="noopener noreferrer"&gt;welcome aboard&lt;/a&gt; — the future looks bright from here!&lt;/p&gt;

</description>
      <category>developers</category>
      <category>developer</category>
      <category>development</category>
    </item>
    <item>
      <title>Simplify authentication and monetisation with Clerk and Salable</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Thu, 11 Apr 2024 08:51:29 +0000</pubDate>
      <link>https://forem.com/salableapp/simplify-authentication-and-monetisation-with-clerk-and-salable-56hg</link>
      <guid>https://forem.com/salableapp/simplify-authentication-and-monetisation-with-clerk-and-salable-56hg</guid>
      <description>&lt;p&gt;When it comes to rapidly implementing secure authentication in your application, it doesn’t get much simpler than &lt;a href="https://clerk.com/" rel="noopener noreferrer"&gt;Clerk&lt;/a&gt;. Create an account, implement some pre-built components, and you’re done!&lt;/p&gt;

&lt;p&gt;So you’ve now got authentication, but you wanted to make a paid product — what next? This is where Salable comes into the picture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.salable.app/" rel="noopener noreferrer"&gt;Salable&lt;/a&gt; is a platform that allows you to implement flexible licensing/monetisation without all of the headaches. We make it simple to take payments and authorise users in your system.&lt;/p&gt;

&lt;p&gt;Clerk allows you to implement auth in hours instead of days, Salable aims to do the same with licensing and payments.&lt;/p&gt;

&lt;p&gt;And guess what? They fit together like two peas in a pod.&lt;/p&gt;

&lt;p&gt;In Salable, we have the concept of a &lt;strong&gt;Grantee&lt;/strong&gt; — this is anything/anyone that you’d want a license to belong to. It could be a team, it could be an individual user, it could be a Trello board, anything!&lt;/p&gt;

&lt;p&gt;Clerk provides us with a &lt;code&gt;userId&lt;/code&gt; for our authenticated user. Here is an example of fetching it using the &lt;code&gt;@clerk/clerk-react&lt;/code&gt; package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useUser } from '@clerk/clerk-react'const 
{ user } = useUser()const granteeId = user.id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can now use this &lt;code&gt;granteeId&lt;/code&gt; value with any of the Salable SDKs (or our REST API) to start accepting payments.&lt;/p&gt;

&lt;p&gt;Let’s look at an example of checking a user’s license capabilities with &lt;a href="https://www.npmjs.com/package/@salable/js" rel="noopener noreferrer"&gt;&lt;code&gt;@salable/js&lt;/code&gt;:&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { getGrantee } from '@salable/js';
const { hasCapability } = await getGrantee({  
apiKey: 'your-salable-api-key',  
productUuid: 'your-products-uuid',  
granteeId, // 💡 this is using the `user.id` from Clerk
});
const isUserLicensedToPerformAction = hasCapability('your-capability-name');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And that is all there is to it. You can now use your Clerk authentication setup to accept payments and run license checks for authenticated users.&lt;/p&gt;

&lt;p&gt;To learn more about what methods and functionality Salable offers, check out our &lt;a href="https://docs.salable.app/docs/quick-start-guide" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; site.&lt;/p&gt;

&lt;p&gt;For any questions on any Clerk and Salable integration tips and tricks, you can visit our &lt;a href="https://discord.com/channels/1064480618546737163/1227919742371889182" rel="noopener noreferrer"&gt;Discord channel&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Per-seat (per-user) billing - make money with this flexible pricing model</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Wed, 14 Feb 2024 13:02:43 +0000</pubDate>
      <link>https://forem.com/salableapp/per-seat-per-user-billing-make-money-with-this-flexible-pricing-model-2igl</link>
      <guid>https://forem.com/salableapp/per-seat-per-user-billing-make-money-with-this-flexible-pricing-model-2igl</guid>
      <description>&lt;p&gt;In this software-as-a-service (SaaS) era, &lt;a href="https://www.salable.app/blogs/7-saas-pricing-models-which-one-is-right-for-your-business" rel="noopener noreferrer"&gt;finding a pricing model&lt;/a&gt; that's simple, scalable, and predictable is like finding a pot of gold. Enter per-seat billing (also referred to as per-user billing), the popular kid on the pricing block. &lt;/p&gt;

&lt;p&gt;With this model, the price your customer pays depends on the number of user licenses needed. This could be a number of specified users or a number of Trello board IDs, for example.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhnlcddlv3oz1cfnjx17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhnlcddlv3oz1cfnjx17.png" alt="an arrow pointing at a seat" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before we dive into how to implement per-seat billing via the Salable platform, let's explore some of the perks of this pricing model.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of per-seat (per-user) pricing
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It's as easy as 1-2-3
Imagine your customer pays $50 per seat per month. Add more seats, and the price doubles, triples, and so on. It's simple maths! No mind-boggling calculations here. So, taking the above image as an example, your customer understands that their monthly subscription would be $50 x 12 = $600. It's a piece of cake! &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  2. Your revenue grows with their squad
&lt;/h2&gt;

&lt;p&gt;As your customer grows and hires more awesome people, their subscription fees will increase accordingly. That means your revenue scales with their adoption. It's a win-win! And your customers only pay for the level of service they need, giving them a predictable cost.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Full access for all
With per-seat billing, everyone gets equal access to all the fantastic features. There are no hidden fees or restricted access based on subscription tiers. Everyone can unleash their productivity without any limitations. Collaboration, here we come!&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  4. Get teams on board quickly
&lt;/h2&gt;

&lt;p&gt;When pricing is based on headcount, getting your customer's entire organisation on board is super easy. There's no need to worry about extra costs for specific features or limited functionality. Everybody gets access to everything right from the start. It's a great way to drive adoption and keep teams engaged.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Budget like a pro
&lt;/h2&gt;

&lt;p&gt;Budgeting and cash flow forecasting just got a whole lot simpler. With per-seat billing, your customers can easily calculate their cost by multiplying the number of seats by the per-seat price. No more headaches! They'll know exactly what they need to pay, helping them make informed financial decisions.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;At Salable, we understand that monetisation plus flexibility is key. That's why we've &lt;a href="https://www.salable.app/features/per-seat-pricing" rel="noopener noreferrer"&gt;introduced per-seat billing&lt;/a&gt;. Whether your customers are small startups or big-shot enterprises, this pricing model adapts to their needs. They only pay for what they use, allowing them to scale up or down effortlessly!&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h2&gt;
  
  
  So how does per-seat billing work on Salable?
&lt;/h2&gt;

&lt;p&gt;Simplicity and ease is our mantra. At Salable, we don't like to overcomplicate things. We're here to help you &lt;a href="https://docs.salable.app/docs/quick-start-guide" rel="noopener noreferrer"&gt;get set up easily&lt;/a&gt; so you can make money with this pricing model. &lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;So why wait? Experience the flexibility and value of per-seat billing with Salable, and simplify your billing process today. It's totally free to sign up, plus you can play around in our test mode environment, so there are no strings attached. Go ahead, give it a try! To get started implementing per-seat billing &lt;a href="https://www.salable.app/features/per-seat-pricing" rel="noopener noreferrer"&gt;get early access here&lt;/a&gt;, and check out our &lt;a href="https://docs.salable.app/docs/developing-with-salable/taking-payments" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; for more info!&lt;/p&gt;

</description>
      <category>saas</category>
      <category>monetise</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Salable was created by developers, for developers</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Mon, 15 May 2023 09:21:38 +0000</pubDate>
      <link>https://forem.com/salableapp/salable-was-created-by-developers-for-developers-18c7</link>
      <guid>https://forem.com/salableapp/salable-was-created-by-developers-for-developers-18c7</guid>
      <description>&lt;p&gt;Did somebody say an all in one SaaS platform? That's us 🙌&lt;/p&gt;

&lt;p&gt;Flexible licensing ✔️&lt;br&gt;
App monetisation✔️&lt;br&gt;
Subscription management✔️&lt;br&gt;
and lots more! ✔️✔️✔️&lt;/p&gt;

&lt;p&gt;We do all the heavy lifting and help you turn your product concept into a successful revenue-generating business. Sound exciting? &lt;/p&gt;

&lt;p&gt;We understand the frustrations that come with existing commercial solutions, which is why we set out to build an easy-to-use tool that simplifies the process of setting up a SaaS business.&lt;/p&gt;

&lt;p&gt;Salable is designed for app creators, small app vendors, and SaaS start-ups who want to turn their product concept into a successful revenue-generating business.&lt;/p&gt;

&lt;p&gt;With Salable, you'll only need to learn one efficient tool to manage, monetise, and develop your business. Our platform streamlines the integration of payment providers, analytics tools, marketing, and other business tools, so you can focus on building your business while we do the heavy lifting. Trust Salable to take care of the hard work and help you succeed...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0v0b4e3u78gyj3ti9i3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0v0b4e3u78gyj3ti9i3f.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.salable.app/" rel="noopener noreferrer"&gt;https://www.salable.app/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>developers</category>
      <category>github</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Using a private GitHub repository as an NPM package in another repository</title>
      <dc:creator>Salable</dc:creator>
      <pubDate>Thu, 13 Apr 2023 12:35:09 +0000</pubDate>
      <link>https://forem.com/salableapp/using-a-private-github-repository-as-an-npm-package-in-another-repository-10m</link>
      <guid>https://forem.com/salableapp/using-a-private-github-repository-as-an-npm-package-in-another-repository-10m</guid>
      <description>&lt;p&gt;Creating NPM packages is an easy and convenient way to share code across multiple projects. But, if you want to keep the package private and are unwilling to pay for the premium features of an NPM account, you’ll hit a bit of a sticking point.&lt;/p&gt;

&lt;p&gt;This is the situation we found ourselves in recently with our Global Design System (GDS) package for &lt;a href="https://www.salable.app/" rel="noopener noreferrer"&gt;Salable&lt;/a&gt;. While the eventual goal is to open source the package and have it freely available on GitHub and NPM, in the short to mid-term we wanted to keep the package private until we had a core offering to release. But this meant we needed to find a way to install our private package into our Salable repository without running a high-bill on NPM user accounts, just so we could publish a private package on the NPM registry.&lt;/p&gt;

&lt;p&gt;But not to worry, because we can install our package directly from our private GitHub repository using SSH.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-Requisites&lt;/strong&gt;&lt;br&gt;
Prior to being able to install from a private GitHub repository, you need to ensure it’s set-up correctly. I won’t be covering the exact details of setting up a repository in this post, but in essence we need to make sure our package is being built into an output directory like dist. We also need to ensure ourpackage.json file has the main, module, name and files properties configured.&lt;/p&gt;

&lt;p&gt;For example, these properties could look like;&lt;/p&gt;

&lt;p&gt;‍&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "name": 'some-package-name',
  "main": "dist/index.js",
  "module": "dist/index.es.js",
  "files": [
    "dist"
  ]
}
‍
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These properties give information about the package contained in the repository. Most notably are the files and name properties. The files property controls what files will be installed when a user installs the package, in this example we want to only install the built files in the dist directory. And the name property is the name of the package that will be added to the package.json of the project you’re installing into.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local Setup&lt;/strong&gt;&lt;br&gt;
For us to install the package contained in our private GitHub repository, we need to ensure we have SSH access configured with a GitHub account that has access to the private repository. If you don’t have SSH access configured, you can follow GitHub’s guide here.&lt;/p&gt;

&lt;p&gt;You can test your SSH access with the command ssh- T &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt; (enter ‘yes’ if prompted to confirm the fingerprint match). If the command is successfull you should see a personalised welcome message printed out to the terminal.&lt;/p&gt;

&lt;p&gt;With your SSH access configured, all you need to do is run an install command using your GitHub username (or organisation name) and the repository name like npm install user(organisation)/repository-name or yarn add user(organisation)/repository-name if you’re using yarn. For example yarn add exampleUser/exampleRepo .&lt;/p&gt;

&lt;p&gt;It is important to note the repository name used in the command is the GitHub repository name and not the name field in the package.json mentioned in the last section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bitbucket Pipelines Setup&lt;/strong&gt;&lt;br&gt;
For us, the repository we would be installing the GDS into, it is hosted on Bitbucket and utilises Bitbucket pipelines for CI/CD. This means we will also need to configure a way of installing the GDS package via Bitbucket pipelines.&lt;/p&gt;

&lt;p&gt;Luckily this can be easily achieved by adding in an SSH key for our pipelines to consume. Read the documentation here if you’re interested in learning more.&lt;/p&gt;

&lt;p&gt;To set this up, you’ll need to log into your Bitbucket account and head to your ‘Repository Settings’. From there, scroll down on the side menu until you see the ‘Pipelines’ category and the ‘SSH Keys’ option within it, then click on ‘SSH Keys’.&lt;/p&gt;

&lt;p&gt;Then on this page, you’ll need to add in the private and public keys for the SSH key you configured earlier for access to GitHub. With those keys saved, Bitbucket pipelines is now configured to install the package hosted on our private GitHub repository.&lt;/p&gt;

&lt;p&gt;NOTE: In your pipelines configuration file you may also need to append ||true to any yarn install commands. Otherwise the step might fail due to installing from a GitHub remote source like this, the error fatal; not a git repository (or any of the parent directories): .git: is generated, triggering the pipeline to error. But the package is still installed even with this output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vercel Setup&lt;/strong&gt;&lt;br&gt;
Now the final part of our setup is configuring Vercel to be able to access the private repository as well. You might be thinking “Let’s just do the same that we did for Bitbucket…” but unfortunately that isn’t possible, as Vercel doesn’t allow you to add SSH keys like Bitbucket does.&lt;/p&gt;

&lt;p&gt;Instead of installing it via SSH we’re going to do some git config editing to use HTTPS authentication instead. What this means is before the yarn install or npm install command is run, git will have switched the package remote path from an SSH string to a HTTPS one using a Personal Access Token (PAT) for authentication.&lt;/p&gt;

&lt;p&gt;And as Vercel already have a great guide on installing private NPM dependencies using HTTPS, we should be able to install our private packages with no issues.&lt;/p&gt;

&lt;p&gt;To setup this up, the first thing we need to do is generate a Personal Access Token on GitHub which you can do by following their guide here. The important thing to note is when you create the token, the token’s scope should be set as repo to let it access all your private and public repositories.&lt;/p&gt;

&lt;p&gt;With your token generated, add it to your Vercel project as an environmental variable with whatever name you wish to use. After adding your token added to Vercel, we need to setup an install script for our project, so create a new file in the root of your target repository called install.sh and add in the following contents to the file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global url."https://$YOUR_TOKEN_NAME:x-oauth-basic@github.com/".instead0f ssh://git@github.com
yarn install 1&amp;gt;/dev/null;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;NOTE: Make sure to switch the YOUR_TOKEN_NAME to your actual token name that you just added to Vercel. Also make sure to mark the script as executible by running chmodtrue +x ./install.sh&lt;br&gt;
Finally revisit your Vercel project and under ‘settings’, set the ‘install command’ field to./install.sh so it runs the script we just created for installing dependencies.&lt;/p&gt;

&lt;p&gt;You should be able to install your package from your private GitHub repository on Vercel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
In this post, we’ve covered everything needed to be able to install a NPM package directly from a private GitHub repository on local machines, Bitbucket Pipelines and on Vercel. I hope you found this post helpful.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>github</category>
      <category>bitbucket</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
