Every frontend developer knows this pain: You host a simple JSON or CSS file on GitHub, copy the "Raw" URL, and hit refresh... only to be greeted by a massive red CORS error in the console. X GitHub serves raw files as text/plain with strict MIME checking, which means browsers refuse to execute them. I got tired of setting up custom servers just to bypass this, so I built a solution. Today, I am incredibly excited to announce the launch of the GitDelivr v3.0 Ecosystem! GitDelivr is a blazing-fast Global Edge CDN that acts as a bridge between your raw repository files (GitHub, GitLab, Bitbucket) and your production apps. It automatically detects the correct MIME type and injects Access-Control-Allow-Origin: * headers, making your files production-ready instantly. What started as a simple web tool is now a complete cross-platform ecosystem: Web Dashboard: Convert links instantly from your browser. Windows Desktop App: A native .exe built with Electron for seamless PC workflows. Android App: Built with Capacitor to manage your CDN links on the go. Stop fighting CORS policies and start building. I just published a detailed blog post explaining the technical architecture behind GitDelivr and how it bypasses these restrictions. Read the full story and try the apps here: [Insert link to your blog post or gitdelivr.in] Would love to hear feedback from the dev community! What features should I add to the roadmap next? #WebDevelopment #Frontend #JavaScript #ReactJS #NodeJS #CDN #Developer Tools #BuildInPublic #GitDelivr #Software Engineering
Bypass CORS with GitDelivr v3.0 Ecosystem
More Relevant Posts
-
I just wanted to see localhost:3000. 😭 Clone repo → run app Simple, right? Nope. Now it’s: • Install Node 22.11.0 • Actually use Bun 🥖 • But only for local • Use pnpm, not npm • Run Docker 🐳 • Add 14 env vars • Clear cache • Delete node_modules • Pray 🙏 And after all that… The app still crashes because one package changed from 4.2.1 → 4.2.2 💀 2010: <script src="app.js"></script> 2026: bun run turbo dev --filter=web Which somehow starts: ⚡ Vite 📦 Next.js 🎨 Tailwind 🧠 TypeScript 🐶 Husky 🐳 Docker …and 7 background processes eating 6GB RAM for spiritual reasons 👻 The worst part? All these tools exist for a reason: • TypeScript catches bugs • Bun is faster • Docker fixes “works on my machine” • Monorepos help big teams We didn’t build a website. We built a tiny operating system wearing a login page. 🤡 And no matter how advanced the stack gets, the final fix is still: rm -rf node_modules Bun is generally faster, Node still has the biggest ecosystem, and Deno focuses on security-by-default — which is exactly why teams now juggle multiple runtimes instead of one. #WebDevelopment #Frontend #NextJS #JavaScript #SvelteKit #RemixRun #NuxtJS #SoftwareEngineering #DevCommunity #FullStack #TechTrends #ProgrammerHumor #OpenSource #ReactJS #ServerSideRendering
To view or add a comment, sign in
-
-
React State Management doesn't need to be painful. I just spent today trying out Zustand for a simple Todo app, and I'm genuinely impressed. As a full-stack developer comfortable with the ecosystem, I love Redux, but sometimes the boilerplate feels like overkill just to manage a few booleans and strings. Zustand changed that for me today. Here’s why it’s my new default for React state: 1. Zero Boilerplate Setup: You create the store, define the state and actions in one hook, and you’re done. The setup complexity is virtually zero compared to Redux Toolkit. 2. Built-in Middleware (The Real Game-Changer): This is where it gets powerful. I didn't have to install separate libraries for persistence or mutable state. 3. Automatic Persistence: With just the persist middleware, I hooked my entire store up to localStorage with a single config object. 4. Immutability Made Simple: I used the immer middleware. I can update state directly (like state.todos.push()), and Immer handles making it safe and immutable behind the scenes. No more complex nested object spreads. I've attached the code snippet showing exactly how I combined persist and immer. It’s clean, readable, and effective. If you’re starting a new React project and are dreading the state management setup, give Zustand a shot. It will save you time. What is your current favorite library for managing state in React, and why? Drop your thoughts below. 👇 #FullStackWithArup #Zustand #ReactJS #JavaScript #TypeScript #WebDevelopment #Frontend #BuildInPublic
To view or add a comment, sign in
-
-
🚀 Just shipped my latest React project — GitHub Profile Finder! Type any GitHub username → instantly see their full profile + repositories. That's it. Simple idea, but building it taught me SO much. 🔍 Try it yourself → https://lnkd.in/gaTeTNdM (search your own username 👀) 🛠️ What it does: → Search any GitHub user by username → View avatar, bio, followers & following → Top repositories with stars & language → Click any repo — opens directly on GitHub → Smart error handling for invalid usernames → Fully responsive — works on mobile too! 💡 What I actually learned building this (not just theory): ✅ React Router DOM — real page navigation ✅ Fetching live data from GitHub's free API ✅ useState + useEffect in an actual project ✅ Session storage — so data stays on refresh ✅ CSS Grid + Flexbox for responsive layouts ✅ Deploying on Vercel with routing fixes Honestly the bugs taught me more than any tutorial ever did 😅 🔗 Live Demo → https://lnkd.in/gaTeTNdM 💻 Source Code → https://lnkd.in/gJcWt3FT If you're learning React — just build something. Anything. You'll figure it out as you go 🙌 Would love your feedback! What feature should I add next? Drop it below 👇 #React #JavaScript #WebDevelopment #Frontend #GitHub #100DaysOfCode #BuildInPublic #OpenSource #Vercel
To view or add a comment, sign in
-
Running 6 projects locally shouldn't require 6 terminals, Docker Desktop, and 4 GB of RAM. I built AppNest — a 2 MB native app that replaces all of that. Add your projects. Pick a type. Hit Start. Done. The problem: Every day I juggle multiple web projects — .NET APIs, React frontends, Node microservices. Each needs its own terminal, its own build commands, its own port. Close the wrong tab and you lose your logs. Docker Compose works but eats RAM, slows down hot reload through volume mounts, and turns private NuGet/npm feeds into a credentials nightmare. The solution: AppNest is a single executable with an embedded web dashboard. No installer, no runtime, no config files. It manages your apps as native processes — same as running them from a terminal, but with a UI on top. What you get: ✅ One-click build & run for .NET, Node.js, React, Angular, Vue, Next.js, Express ✅ Dev & Release mode presets — dotnet run for dev, full publish pipeline for release ✅ Live color-coded logs with error highlighting and clickable URLs ✅ Built-in static file server with SPA fallback (no need for npx serve) ✅ System tray — runs in background, start/stop all from the tray menu ✅ Auto-start apps on launch, drag-and-drop reordering ✅ Persistent file-based logs with export ✅ Private feeds just work — inherits your .npmrc, nuget.config, VPN, proxy settings What it costs: 🔹 2 MB on disk 🔹 ~10 MB RAM at runtime 🔹 Zero dependencies — no Node.js, no Docker, no Electron Built with Rust, Axum, and Tokio. The HTML/CSS/JS dashboard is compiled into the binary at build time via rust-embed. The server binds to localhost only — nothing is exposed to the network. It's not a Docker replacement. Docker is the right tool for production, CI, and reproducible environments. AppNest is for the developer inner loop — when you just want your apps running and visible while you code. Open source (MIT): https://lnkd.in/gq8TShnn If you've ever spent more time managing terminals than writing code — give it a try. #OpenSource #DeveloperTools #Rust #DevProductivity
To view or add a comment, sign in
-
Ever wondered why Node.js projects have BOTH package.json and package-lock.json? 🤔 Here’s the simplest way to understand it: 📦 package.json = the plan (what you want) Lists your project dependencies Uses flexible versions (like ^18.2.0) Example: “Install React and compatible versions” 🔒 package-lock.json = the reality (what you actually get) Automatically generated by npm Locks exact versions of every dependency (including sub-dependencies) Ensures everyone installs the SAME versions 💡 Why this matters: Without the lock file, your app might work on your machine but break on someone else’s due to version differences. 🧠 Think of it like: package.json → Shopping list 🛒 package-lock.json → Final bill/receipt 🧾 ✅ Best practices: Always commit both files Don’t edit package-lock.json manually Use npm ci for consistent installs in production 🚀 Bottom line: package.json tells npm what you want, package-lock.json ensures you always get exactly that. #NodeJS #JavaScript #WebDevelopment #npm #SoftwareDevelopment
To view or add a comment, sign in
-
My system was getting slower every single day… Apps lagging, memory overloaded, productivity dropping 😤 So instead of complaining, I decided to build a solution. I was constantly facing: • High memory usage • Cache buildup over time • Slower performance after long usage And then I thought — this isn’t just my problem. Many of us deal with this daily. So I built an NPM package: 🔗 https://lnkd.in/gGuwbm2F 🏠 https://lnkd.in/gs7p5QZC It’s a simple tool that helps you: ✔️ Clean system cache ✔️ Free up memory ✔️ Speed up your system quickly No complex setup. Just install and run. This is my small attempt to solve a real-world problem using code 💻 Now I’d love your help to make it better 🙌 Try it out, share your feedback, suggest improvements, or contribute to the project. If you find it useful, feel free to share it with others 🚀 Because sometimes the best products come from solving your own problems. #opensource #npm #javascript #nodejs #developers #webdev #buildinpublic #productivity #programming #codinglife #devtools #techinnovation #indiedev #softwaredevelopment #github
To view or add a comment, sign in
-
-
🚀 package.json vs package-lock.json in React (and any Node project) When you create a React app, you’ll always see two important files in the root folder: package.json and package-lock.json. They work together but have different roles. 1️⃣ package.json – “Project blueprint” Created manually or via npm init / create-react-app. Stores project metadata: name, version, scripts (like start, build, test). Lists dependencies and devDependencies with version ranges (e.g. ^18.2.0). This is the file you edit when you add, remove, or update packages. 2️⃣ package-lock.json – “Exact snapshot of dependencies” Auto-generated when you run npm install. You don’t edit it manually. Locks exact versions of every dependency and sub-dependency installed. Ensures everyone on the team (and CI/CD) installs the same versions, avoiding “works on my machine” issues. Also helps faster installs because npm doesn’t need to resolve versions again. 💡 In simple terms: package.json → What packages your React app needs. package-lock.json → The exact versions that were actually installed. ✅ Best practice: Commit both files to your repo. Edit package.json when changing dependencies and let npm manage package-lock.json automatically. #React #JavaScript #NodeJS #WebDevelopment #packagejson #packagelockjson #Angular
To view or add a comment, sign in
-
Every Node.js app eventually hits "I need rate limiting." You Google it. You find express-rate-limit. You install it. Then you realize: → It only works with Express → You also have a Next.js Edge route → And a React frontend making too many API calls → Oh, and you need Redis for production So now you're stitching 4 different libraries together. 😅 That's exactly why I built limiterx. One package. Every runtime. ✅ Express, Koa, Node HTTP ✅ Next.js API routes + Edge Middleware ✅ React hook for client-side throttling ✅ Fetch + Axios wrappers ✅ Redis store out of the box ✅ 3 algorithms: fixed-window, sliding-window, token-bucket And it ships with zero runtime dependencies. Tree-shakeable. TypeScript-first. Works on Node, browsers, Edge, and Bun. Getting started is literally this: npm install limiterx Then: app.use(rateLimitExpress({ max: 100, window: '15m' })) That's it. If you're building anything in JS/TS that talks to an API — this is for you. 🔗 npm: https://lnkd.in/gxbf3Jxt 🐙 GitHub: https://lnkd.in/gxt-RAi3 Drop a ⭐ if this saves you a headache. And share with anyone building Node apps — they'll thank you. #nodejs #javascript #typescript #webdev #opensource #ratelimiting #nextjs #developer
To view or add a comment, sign in
-
⚛️ Fetch or Axios in React — which one should you use? Every beginner hits this confusion. Both do the same thing: 👉 Fetch data from APIs 👉 Power your frontend apps But they’re NOT the same. Let’s simplify it 👇 🌐 Fetch (Built-in API) ✔ No installation needed ✔ Lightweight ❗ Requires manual JSON parsing + error handling 📦 Axios (Library) ✔ Automatic JSON parsing ✔ Better error handling ✔ Supports interceptors & advanced features Think like this: 👉 Fetch = simple & minimal 👉 Axios = powerful & developer-friendly 💡 When to use what? ✔ Use Fetch for: • Small projects • Simple API calls • Minimal dependencies ✔ Use Axios for: • Large applications • Authentication & interceptors • Complex API handling Reality check: Both are correct — the best choice depends on your project. (NareshIT) I wrote a beginner-friendly guide covering: ✔ Fetch vs Axios differences ✔ Real examples in React ✔ Best practices for API calls 🔗 Read here: https://lnkd.in/gYBJYE-h 🚀 Pro tip: Separate API logic from UI components — your React code becomes much cleaner. Comment "REACT" and I’ll share a complete API integration project 👇 #ReactJS #WebDevelopment #Frontend #JavaScript #Developers #Coding #LearnToCode
To view or add a comment, sign in
-
Built a weather app with React.js— yes, I know it's been done a thousand times. 😄 But here's why I still built it: Working with a real API as a beginner is genuinely humbling. The data coming back from OpenWeatherMap wasn't just a clean string I could slap on the screen — it was nested objects, Unix timestamps, coded responses, and edge cases. Parsing all of that, handling loading states, managing errors, and keeping the UI clean taught me more than any tutorial section on useEffect ever could. Every line of this was written by hand. No AI generation, just me, the docs, and a lot of console.log(). What it does: → Live weather for any city worldwide → Temperature, humidity, wind, visibility, pressure → Sunrise & sunset times → Error handling for invalid cities Built with React.js, Tailwind CSS, and OpenWeatherMap API. Deployed on Netlify. 🔗 Live: https://lnkd.in/dkFSbatc 📁 GitHub: https://lnkd.in/dXnS7KUi #React #WebDevelopment #JavaScript #Frontend
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development