SCSS

SharePoint Development : SPFx Folder Structure Explained

SPFx (SharePoint Framework) scaffolds a fairly opinionated folder structure via its Yeoman generator — here’s what each part actually does, and the two competing ways to organize your own code inside src/ once a project grows past a single web part. In this post: The scaffolded structure · src/ and config/ in detail · Type-based […]

SharePoint Development : SPFx Folder Structure Explained Read More »

SharePoint Attachments Operations with PnP.js in React

List attachments keep a file tied directly to a specific item — a screenshot on a bug, a resume on a candidate record — without setting up a separate document library. This covers uploading, reading, and deleting them with PnP.js inside a React-based SPFx component, plus batching when you’re handling more than one file at

SharePoint Attachments Operations with PnP.js in React Read More »

NPM Link and Gulp: Understanding the Power of Local Development

npm link creates a symlink between a globally-linked local package and another project, so you can develop a package and test it live in a consuming project without publishing it to the registry first. In this post: Worked example: building a custom Gulp plugin · The gotcha to know about · Confirming what actually got

NPM Link and Gulp: Understanding the Power of Local Development 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 »

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 »