Build Chrome extensions quicker with a TypeScript boilerplate project

What's new in Chrome Extensions in 2023

ExtensionNinja | 6/22/2023

2023 has brought exciting changes to web extensions. With the introduction of Manifest V3, a new extension format, developers can now enhance security and build user trust. The Chrome Web Store has also undergone significant updates, including badges for top publishers, privacy practices disclosure, and upcoming store redesign. In this blog post, we'll explore these exciting changes in web extensions and their impact on developers and users. Continue reading...

How to use Google Analytics 4 in Chrome Web Store

ExtensionNinja | 3/31/2023

Google has finally released support for Google Analytics 4 (GA4) in Chrome Web Store. Until now extension developers were left anxious of impeding deprecation without any way to move forward in Chrome Web Store. Continue reading...

Automate Chrome extension publishing to Chrome Web Store

ExtensionNinja | 3/11/2023

At some point everyone gets tired of building, zipping, uploading extension bundle to Chrome Web Store and then repeating everything again after noticing a small spelling mistake or a bug. Now replicate that over multiple extensions you may be maintaining, and we have a lot of unproductive time that could be spent on writing code.

If you are feeling this pain already, then good news, you are ready to invest a few minutes to automate your web extension publishing to Web Store. I will be using GitHub and GitHub Actions, but the same steps can be easily transferred to a different provider or even run locally.

At the end of this article, you will have a flow where you create a GitHub release tag, and the latest version of your extension automatically appears in Chrome Web Store ready for publishing. Continue reading...

Chrome Manifest V3 brings a new API to fetch website favicons in extensions

ExtensionNinja | 2/18/2023

There are too many interesting articles on the internet and too little time to read them all. One day when my “read later” bookmark folder reached 200 pages, I concluded that there is no way that I am going to read them all without a habit change. Like any software engineer I have decided to write some software to solve my problem. This is how a new extension was born to display my read later bookmarks in Chrome new tab page and give me constant reminder of unread articles.

Shortly after releasing my extension, Google announced transition to Manifest V3. My extension was a couple hundred lines of code so I thought that it would be piece of cake to migrate to Manifest V3. My thinking quickly changed after the first run in MV3 mode. The good part is that all my code on top of bookmark API worked as before with bonus of being promise based. The bad part is that all favicons for bookmarks failed to load. Not having favicons next to bookmarks would be a big UI downgrade. How do you display favicons in MV3? Well, it turns out that Google simply forgot (down prioritized) to implement this feature in MV3. Ups. Continue reading...

How to use Web Accessible Resources in Chrome Extensions

ExtensionNinja | 2/11/2023

You are working on a content script that shows your custom UI on a website and you want to display your extension logo or use your brand font. How do you achieve this? One way is to host these resources on your website or CDN and hardcode URLs in your content script code.

But you may be in the situation where you don’t have a website or want to manage, support and pay for a complex flow of deploying resources somewhere on the internet. In this article, we will explore an alternative way to supply web resources to your content script that is fully self-contained to your extension code and deployment. Continue reading...

Older posts