jquery-4

skill:jquery-4 — Migrate jQuery 3.x to 4.0.0

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "jquery-4" with this command: npx skills add olino3/forge/olino3-forge-jquery-4

skill:jquery-4 — Migrate jQuery 3.x to 4.0.0

Version: 1.0.0

Purpose

Safely migrate jQuery 3.x codebases to jQuery 4.0.0, with first-class support for WordPress themes, plugins, and legacy web applications. This skill systematically audits every breaking change introduced in jQuery 4.0, generates a prioritized migration plan with exact code replacements, and produces safe, reviewable patches.

Use this skill when:

  • Upgrading a WordPress site or plugin from jQuery 3.x to 4.0

  • Migrating a legacy web application that depends on removed jQuery APIs

  • Auditing a codebase for jQuery 4.0 compatibility before upgrading

  • Resolving jQuery Migrate plugin warnings in preparation for jQuery 4.0

File Structure

skills/jquery-4/ ├── SKILL.md (this file) └── examples.md

jQuery 4.0 Breaking Changes Reference

Removed Static Methods

Removed API Replacement

$.isArray(x)

Array.isArray(x)

$.trim(str)

str.trim() or String.prototype.trim.call(str)

$.parseJSON(str)

JSON.parse(str)

$.type(obj)

typeof obj or custom type-checking

$.isFunction(fn)

typeof fn === "function"

$.isNumeric(val)

!isNaN(parseFloat(val)) && isFinite(val)

$.isWindow(obj)

obj != null && obj === obj.window

$.now()

Date.now()

$.proxy(fn, ctx)

fn.bind(ctx)

Other Breaking Changes

  • Focus event order: focus /blur now fire before focusin /focusout (reversed from 3.x)

  • Deferred/Promise alignment: .then() follows native Promise semantics (async resolution, error swallowing changes)

  • Slim build removed: Only one build; AJAX and effects are always included

  • :even / :odd selectors: Now 0-based (:even selects 1st, 3rd, 5th elements)

  • jQuery.holdReady() removed: Use $.when() or native module loading instead

  • jQuery.unique() removed: Use jQuery.uniqueSort() instead

  • .andSelf() removed: Use .addBack() instead

  • .size() removed: Use .length property instead

  • jQuery.cssNumber reduced: Several properties removed from the unitless list

Interface References

  • Context: Loaded via ContextProvider Interface

  • Memory: Accessed via MemoryStore Interface

  • Shared Patterns: Shared Loading Patterns

  • Schemas: Validated against context_metadata.schema.json and memory_entry.schema.json

Mandatory Workflow

⚠️ IMPORTANT: Execute ALL steps in order. Do not skip any step.

Step 1: Initial Analysis

  • Detect jQuery version in use (check package.json , CDN references, wp_enqueue_script calls, bundled files)

  • Identify all jQuery plugin dependencies and their jQuery version requirements

  • Detect custom jQuery extensions ($.fn.* additions, $.extend usage)

  • Determine WordPress context: theme, plugin, mu-plugin, or standalone

  • Catalog all JS files that reference jQuery or $

  • Check for existing jQuery Migrate plugin usage

Step 2: Load Memory

Follow Standard Memory Loading with skill="jquery-4" and domain="engineering" .

Load project-specific memory:

  • migration_progress.md — previous migration state, completed files, blockers

  • codebase_patterns.md — known jQuery usage patterns, custom abstractions, plugin inventory

Step 3: Load Context

Follow Standard Context Loading for the engineering domain. Stay within the file budget declared in frontmatter.

Step 4: Audit Breaking Changes

Systematically scan every JS file for jQuery 4.0 incompatibilities:

Removed Static Methods — grep for each removed API:

  • $.isArray , jQuery.isArray

  • $.trim , jQuery.trim

  • $.parseJSON , jQuery.parseJSON

  • $.type , jQuery.type

  • $.isFunction , jQuery.isFunction

  • $.isNumeric , jQuery.isNumeric

  • $.isWindow , jQuery.isWindow

  • $.now , jQuery.now

  • $.proxy , jQuery.proxy

Removed Instance Methods — scan for:

  • .andSelf() → .addBack()

  • .size() → .length

Removed Utilities:

  • jQuery.unique() → jQuery.uniqueSort()

  • jQuery.holdReady() → remove or replace with module loading

Behavioral Changes:

  • Focus/blur event handlers that depend on event order relative to focusin/focusout

  • .then() chains on $.Deferred() that rely on synchronous resolution

  • :even / :odd selector usage that assumes 1-based indexing

  • Slim build references (jquery.slim.min.js ) that must switch to the full build

WordPress-Specific:

  • jQuery.noConflict() usage and $ wrapper patterns

  • wp-includes/js/jquery/ bundled version references

  • wp_enqueue_script('jquery') dependency chains

Produce a categorized audit report with file paths, line numbers, and severity.

Step 5: Generate Migration Plan

Produce a prioritized, file-by-file migration plan:

  • Critical — Code that will break immediately (removed APIs, removed methods)

  • High — Behavioral changes that may cause subtle bugs (focus events, Deferred semantics)

  • Medium — Deprecated patterns that should be modernized (slim build refs, selector changes)

  • Low — Optional improvements (replace jQuery utilities with modern JS equivalents)

For each finding, specify:

  • File path and line number(s)

  • Current code snippet

  • Exact replacement code

  • Risk level and testing notes

Step 6: Apply Safe Transformations

Generate code patches/diffs for each file:

  • Produce unified diff format for each change

  • Group related changes per file

  • Include rollback instructions (original code in comments or git revert guidance)

  • Handle WordPress-specific patterns:

  • Preserve jQuery(document).ready(function($) { ... }) wrapper pattern

  • Maintain wp.hooks integration points

  • Respect jQuery.noConflict() mode — never use bare $ outside wrapper

Step 7: Validate Migration

Produce a test checklist:

  • All removed API calls replaced with native equivalents

  • Focus/blur event handlers tested for correct order

  • Deferred/Promise chains tested for async behavior changes

  • :even /:odd selectors verified for 0-based indexing

  • Slim build references updated to full build

  • WordPress admin pages load without JS console errors

  • Front-end interactions (forms, modals, tabs) function correctly

  • Third-party jQuery plugins tested for compatibility

Include jQuery Migrate plugin strategy:

  • Install jQuery Migrate 3.x to catch runtime warnings before upgrading

  • Run application with Migrate plugin and capture all warnings

  • Address all warnings, then remove Migrate and upgrade to jQuery 4.0

Step 8: Generate Output

  • Save output to /claudedocs/jquery-4_{project}_{YYYY-MM-DD}.md

  • Follow naming conventions in ../OUTPUT_CONVENTIONS.md

  • Include: audit report, migration plan, generated patches, test checklist

Step 9: Update Memory

Follow Standard Memory Update for skill="jquery-4" .

Update memory with:

  • Migration progress (files completed, files remaining, blockers)

  • Discovered codebase patterns (custom jQuery abstractions, plugin versions)

  • WordPress-specific findings (theme structure, enqueue patterns)

Compliance Checklist

Before completing, verify:

  • All mandatory workflow steps executed in order

  • Standard Memory Loading pattern followed (Step 2)

  • Standard Context Loading pattern followed (Step 3)

  • Every jQuery 4.0 breaking change category audited (Step 4)

  • Migration plan includes exact code replacements (Step 5)

  • Patches include rollback notes (Step 6)

  • Test checklist covers all behavioral changes (Step 7)

  • Output saved with standard naming convention (Step 8)

  • Standard Memory Update pattern followed (Step 9)

Version History

Version Date Changes

1.0.0 2025-06-27 Initial release — full jQuery 3.x → 4.0 migration support

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

office

No summary provided by upstream source.

Repository SourceNeeds Review
General

accessibility

No summary provided by upstream source.

Repository SourceNeeds Review
General

divine

No summary provided by upstream source.

Repository SourceNeeds Review