Skip to content
Back to skills

Debug Build

ASecurity

Debug TypeScript/Rollup build failures in mParticle Web SDK including TS2307 cannot find module/TS2345 argument type mismatch/TS2339 property doesn't exist/TS2322 type not assignable/TS2532 object possibly undefined/TS2554 expected X arguments/TS2769 no overload matches/TS7006 implicit any/TS7053 element implicitly has any/compilation error/compilation failed/compile error/tsc failed/tsc error/build failed/build error/rollup error/module not found/cannot resolve module/cannot find module/fail...

  • 24 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 5, 2026
developmenttypescriptgobashnodedebuggingapiperformance

Works with

  • vscode
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned June 5, 2026

npx -y skills add mParticle/mparticle-web-sdk --skill debug-build --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Debug Build?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Debug Build
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mparticle-debug-build/badge)](https://www.skillsdirectory.com/skills/mparticle-debug-build)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: debug-build
description: Debug TypeScript/Rollup build failures in mParticle Web SDK including TS2307 cannot find module/TS2345 argument type mismatch/TS2339 property doesn't exist/TS2322 type not assignable/TS2532 object possibly undefined/TS2554 expected X arguments/TS2769 no overload matches/TS7006 implicit any/TS7053 element implicitly has any/compilation error/compilation failed/compile error/tsc failed/tsc error/build failed/build error/rollup error/module not found/cannot resolve module/cannot find module/failed to resolve/import error/export error/declaration file missing/missing type declarations/@types package missing/bundle error/bundling failed/chunk load error
---

# Build Debug Skill - Web SDK

## Purpose
Fix TypeScript compilation and Rollup bundling failures in the mParticle Web SDK that block development and deployment.

## Core Principles
- **Types are contracts**: TS errors reveal actual vs expected interfaces
- **Module resolution is path math**: Cannot find module → path calculation wrong
- **Avoid `any`**: Use proper types where possible, but SDK has strictNullChecks=false
- **Build before test**: TS errors block everything downstream

## Architecture Context
TypeScript in `tsconfig.json` (ES5 target, no strict mode). Rollup in `rollup.config.js` builds IIFE, CommonJS, and ESM bundles. Build must pass before dev/test/deploy.

## Failure Classification

**Type errors:**
- TS2307: Cannot find module → import path wrong or missing declaration
- TS2345: Argument type mismatch → function signature changed
- TS2339: Property doesn't exist → interface outdated or typo
- TS2322: Type not assignable → incompatible types
- TS2769: No overload matches → wrong argument count/types
- TS7006: Implicit any → no type annotation (less strict in this SDK)

**Module resolution:**
- Cannot find module → path wrong, file moved, extension missing
- Circular dependency → A imports B imports A
- Ambient module missing → @types package not installed
- Path mapping wrong → tsconfig paths not resolving

**Rollup errors:**
- Module not found → file path incorrect or missing
- Chunk size exceeded → bundle too large (check with `npm run bundle`)
- Plugin failure → Rollup plugin crashed (Babel, TypeScript, Uglify)
- Circular dependency warning → refactor to break cycle

**Build output issues:**
- IIFE format broken → browser <script> tag fails
- CommonJS format broken → npm package fails
- ESM format broken → modern bundlers fail
- Stub file broken → pre-init capture fails

## Investigation Strategy

### 1. Locate Error
Build output shows:
- File path and line number
- Error code (TS2XXX)
- Expected vs actual types
- Quick fix suggestions

Navigate to exact location.

### 2. Check Recent Changes
- What file was last modified?
- Did interface change?
- Was dependency added/removed?
- Did someone add untyped code?

### 3. Validate Types
Hover in IDE to see inferred types:
- What does TS think this is?
- Does it match expectation?
- Where did inference go wrong?

### 4. Module Resolution Debug
Check import path:
- Relative vs absolute correct?
- File extension needed?
- Index file exists?
- tsconfig paths configured?

## Common Root Causes

**TS2307 Cannot find module:**
- Import path relative/absolute wrong
- File extension required but missing (.ts/.js)
- File moved but import not updated
- @types package missing (`npm install -D @types/package`)
- tsconfig paths not including directory

**TS2345 Argument type mismatch:**
- Function signature changed upstream
- Optional param became required
- Type widened/narrowed
- Generic constraint violated

**TS2339 Property doesn't exist:**
- Interface outdated (API contract changed)
- Typo in property name
- Property optional but not checked (use `?.`)
- Type guard failed (narrowing didn't work)

**Circular dependency:**
- A imports B, B imports A → refactor to shared file
- Barrel export (index.ts) imports from files that import it
- Type-only import can break cycle: `import type { X } from './y'`

**Rollup module not found:**
- Import path incorrect for Rollup resolution
- File extension required for some imports
- Plugin order wrong in rollup.config.js
- Node module not installed

## Obscure Debugging Vectors

- **npm run build:ts**: TypeScript compilation only (faster than full build)
- **tsc --noEmit**: Check types without building
- **tsc --traceResolution**: See module resolution path
- **tsc --listFiles**: All files included in compilation
- **npm run bundle**: Check minified bundle size (uglify + gzip)
- **rollup --environment BUILD:iife**: Build only IIFE format
- **VSCode restart**: Language server cache stale
- **Check dist/ output**: Verify all three formats generated

## Debugging Flow

1. Run build: `npm run build` or `npm run build:ts`
2. Read first error (fix top-down, errors cascade)
3. Navigate to file:line
4. Check recent changes to that file
5. Validate types with IDE hover
6. Fix issue (import, type, signature)
7. Re-run build (verify no cascade errors)
8. Run `npm run bundle` to verify bundle size
9. Run full test suite to confirm

## Success Criteria
- `npm run build` completes successfully
- All three bundles generated (IIFE, CommonJS, ESM)
- Bundle size reasonable (check with `npm run bundle`)
- No new implicit `any` types introduced
- Stub file generated correctly
- Screenshot: successful build output

## SDK-Specific Build Targets

**IIFE bundle (dist/mparticle.js):**
- Browser <script> tag usage
- Global `mParticle` variable
- Minified with Uglify

**CommonJS (dist/mparticle.common.js):**
- npm/Node.js environments
- `require('mparticle')` syntax

**ESM (dist/mparticle.esm.js):**
- Modern bundlers
- Tree-shaking support
- `import mParticle from 'mparticle'`

**Stub (dist/mparticle.stub.js):**
- Pre-init API call capture
- Async snippet loading

## Build Commands Reference

```bash
# Full build (all formats)
npm run build

# Individual formats
npm run build:iife       # Browser bundle
npm run build:npm        # CommonJS
npm run build:esm        # ES Modules
npm run build:stub       # Stub file

# Development
npm run build:dev        # Dev build with sourcemaps
npm run watch            # Watch IIFE and rebuild
npm run watch:all        # Watch all formats

# Analysis
npm run bundle           # Uglify + gzip for size
npm run uglify           # Minify only
npm run gzip             # Gzip only
```

## Self-Improvement
**CRITICAL**: Update with:
- Module resolution patterns specific to Rollup
- Type inference gotchas in non-strict mode
- Rollup configuration issues
- Build performance optimizations
- Common SDK build failures

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.