NodeJS

Regular Expressions (Regex) : Quick Guide

Regex looks intimidating until you’ve internalized maybe a dozen symbols — after that it’s just the fastest way to validate, search, or extract text by pattern instead of writing a string-parsing function by hand. This is a working reference: the symbols that come up constantly, three real examples in different languages, and when it’s actually […]

Regular Expressions (Regex) : Quick Guide Read More »

Gulp: Automate Your Workflow Like a Pro

Gulp is a JavaScript task runner that automates the repetitive parts of a front-end build — minification, compilation, linting, browser reload — using plain JavaScript instead of a config file. It processes files through Node.js streams rather than writing intermediate files to disk, which is a meaningful part of why it’s fast: less disk I/O

Gulp: Automate Your Workflow Like a Pro Read More »

Methods on how to Add Attachments to SharePoint List

SharePoint doesn’t have one “add attachment” button that works everywhere — which method you reach for depends on whether you’re writing client-side JavaScript, building an SPFx web part, or automating something from a script. The three approaches below all do the same thing: attach a file to a specific list item. The difference is what

Methods on how to Add Attachments to SharePoint List Read More »

SharePoint REST API File Uploads Using JavaScript and PnPjs

Two ways to upload a file to a SharePoint document library via code — raw REST calls, or PnPjs — plus what changes once the file is big enough that a single request isn’t the right approach anymore. In this post: Option 1: raw REST API · Option 2: PnPjs · Large files: chunked uploads

SharePoint REST API File Uploads Using JavaScript and PnPjs Read More »

SharePoint Data Handling with PnP Batching Queries

Updating a thousand SharePoint list items one request at a time is slow and burns through API throttling limits fast. PnPjs batching bundles multiple operations into a single HTTP call instead — here’s the syntax for both the older and current versions of the library, and the real limit worth knowing before you rely on

SharePoint Data Handling with PnP Batching Queries Read More »

SPFx: Check if User is an Admin or an Owner is SharePoint

In this post: Introduction · Understanding SharePoint User Roles · Checking If a User Is an Admin in an SPFx WebPart · Checking in an Application Customizer · Alternative: Checking Site Owners Group Membership · The simpler check you probably want first · Pros and Cons of Different Approaches · Related reading Introduction When working

SPFx: Check if User is an Admin or an Owner is SharePoint Read More »

Handlebars.js: The Templating Engine You Didn’t Know You Needed

Handlebars.js separates HTML structure from the JavaScript that fills it with data — instead of building markup with string concatenation, you write a template with {{placeholders}} and compile it against a data object. Here’s what it actually looks like, where it fits, and where a real framework is the better call instead. In this post:

Handlebars.js: The Templating Engine You Didn’t Know You Needed Read More »

ChatGPT vs. GitHub Copilot: Comprehensive Comparison

ChatGPT and GitHub Copilot get compared a lot, but they’re not really competing for the same job. ChatGPT is a general conversational assistant; Copilot is built into a code editor and scoped around software development. Worth noting up front: both products change their pricing and feature set often enough that anything below is a snapshot,

ChatGPT vs. GitHub Copilot: Comprehensive Comparison Read More »

How to Escape Apostrophes in SharePoint REST Queries

An apostrophe in a data value — a name like O’Reilly, a title like Harry’s Adventures — breaks a SharePoint REST `$filter` query, because OData uses single quotes as the string delimiter and has no way to tell a literal apostrophe apart from the end of the string. The fix is one specific, verified rule:

How to Escape Apostrophes in SharePoint REST Queries Read More »

Rendering SharePoint List Extensions for Specific List Templates

Command Sets and Application Customizers scope to specific list templates the same way, through `RegistrationType`/`RegistrationId` in `elements.xml`. Field Customizers don’t — they’re registered against a specific column, not a list template, a genuinely different mechanism worth knowing before assuming one pattern covers all three extension types this post touches on. In this post: Scoping a

Rendering SharePoint List Extensions for Specific List Templates Read More »