@gravityforms/dependency-extraction-webpack-plugin
Version:
Dependency extraction webpack plugin for use in Gravity Forms development. Extends the WordPress plugin.
34 lines (19 loc) • 1.3 kB
Markdown
# AGENTS.md - Dependency Extraction Webpack Plugin
Package-specific guidance for `@gravityforms/dependency-extraction-webpack-plugin`. See root `AGENTS.md` for shared conventions.
## Purpose
Extends `@wordpress/dependency-extraction-webpack-plugin` to automatically handle `@gravityforms/*` packages as WordPress externals. Ensures monorepo packages are not bundled into every script — instead they reference the shared globals enqueued by the plugin.
## Key Files
- `src/index.js` — Main plugin logic; maps `@gravityforms/*` imports to `gform.*` global variables
## How It Works
When webpack encounters an import like:
```javascript
import Button from '@gravityforms/components/react/admin/elements/Button';
```
This plugin maps it to the WordPress external `gform.components.admin.react.elements.Button`, preventing duplicate bundling.
## Component Mapping
Component-level mappings are driven by `package-config.js` files inside each component directory in `packages/npm/storybooks/`. These define:
- `defaultExport` — The component's default export name
- `importPath` — The import subpath (e.g., `react/admin/elements/`)
- `externalPath` — The WordPress global path (e.g., `components.admin.react.elements`)
## Dependencies
- `@wordpress/dependency-extraction-webpack-plugin`