Socket
Book a DemoInstallSign in
Socket

zephyr-xpack-internal

Package Overview
Dependencies
Maintainers
3
Versions
117
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zephyr-xpack-internal

Xpack internals for Zephyr

latest
Source
npmnpm
Version
0.0.59
Version published
Weekly downloads
2.9K
-7.9%
Maintainers
3
Weekly downloads
 
Created
Source

Zephyr XPack Internal (Internal)

Zephyr Cloud | Zephyr Docs | Discord | Twitter | LinkedIn

Zephyr Logo

Internal Package - Shared types, Module Federation capabilities, and utilities for bundlers built on top of Webpack or Rspack. This package provides common functionality for Webpack-compatible bundlers.

Note: This is an internal package used by Webpack and Rspack plugins. It is not intended for direct use by end users.

Overview

The Zephyr XPack Internal package provides shared functionality for Webpack-compatible bundlers:

  • Module Federation: Advanced Module Federation capabilities and utilities
  • Federation Dashboard: Build-time analytics and federation insights
  • XPack Extraction: Asset and configuration extraction for Webpack/Rspack
  • Lifecycle Events: Build lifecycle hooks and event management
  • Shared Types: Common TypeScript interfaces and types

Package Structure

Federation Dashboard Legacy (federation-dashboard-legacy/)

  • Legacy Module Federation dashboard functionality
  • Build statistics collection and analysis
  • Dependency graph conversion and visualization
  • Federation metadata processing

Hooks (hooks/)

  • Build lifecycle event hooks
  • Deployment setup and logging configuration
  • Integration points for build processes

Lifecycle Events (lifecycle-events/)

  • Standardized build lifecycle management
  • Event dispatching and handling
  • Plugin coordination during builds

XPack Extract (xpack-extract/)

  • Webpack/Rspack asset extraction utilities
  • Module Federation configuration extraction
  • Runtime code generation for federation
  • Federation dependency analysis

Federation Dashboard

Advanced Module Federation analytics and insights:

Build Statistics

interface FederationBuildStats {
  modules: ModuleInfo[];
  dependencies: DependencyInfo[];
  remotes: RemoteInfo[];
  exposes: ExposeInfo[];
  shared: SharedInfo[];
  buildTime: number;
  bundleSize: number;
}

Dependency Graph Conversion

// Convert webpack stats to federation graph
const graph = convertToGraph(webpackStats, {
  includeModules: true,
  includeDependencies: true,
  includeChunks: true,
});

License Extraction

// Extract license information from modules
const licenses = getLicenses(modules, {
  includeDevDependencies: false,
  groupByLicense: true,
});

Module Federation Utilities

Federation Config Extraction

// Extract federation configuration from webpack config
const federationConfig = extractFederationConfig(webpackConfig);

// Iterate through remote configurations
const remotes = iterateFederatedRemoteConfig(federationConfig);

// Process federation dependencies
const deps = extractFederatedDependencyPairs(config);

Runtime Code Generation

// Create Module Federation runtime code
const runtimeCode = createMfRuntimeCode({
  remotes: federationConfig.remotes,
  shared: federationConfig.shared,
  exposes: federationConfig.exposes,
});

Plugin Detection

// Detect Module Federation plugin in webpack config
const isModuleFederation = isModuleFederationPlugin(plugin);

// Extract federation plugin options
const options = makeCopyOfModuleFederationOptions(plugin);

Asset Management

Webpack Assets Map

// Build comprehensive assets map
const assetsMap = buildWebpackAssetsMap(compilation, {
  includeSourceMaps: true,
  includeChunks: true,
  includeModules: true,
});

Asset Upload

// Upload agent for assets
const uploadAgent = new ZeXpackUploadAgent({
  assets: assetsMap,
  federation: federationConfig,
  buildStats: stats,
});

await uploadAgent.upload();

Version Strategy

Compute versioning strategy for federated modules:

// Compute version strategy for federation
const versionStrategy = computeVersionStrategy({
  packageJson: packageInfo,
  gitInfo: gitContext,
  buildContext: buildInfo,
});

Graph Merging

Merge multiple federation graphs:

// Merge federation graphs from multiple builds
const mergedGraph = mergeGraphs([hostGraph, remoteGraph1, remoteGraph2], {
  deduplicateModules: true,
  preserveMetadata: true,
});

Integration with Bundlers

Webpack Integration

// Webpack plugin integration
class ZephyrWebpackPlugin {
  apply(compiler) {
    // Use xpack utilities
    const federationConfig = extractFederationConfig(compiler.options);
    const assetsMap = buildWebpackAssetsMap(compilation);
  }
}

Rspack Integration

// Rspack plugin integration
class ZephyrRspackPlugin {
  apply(compiler) {
    // Reuse webpack-compatible utilities
    const federationConfig = extractFederationConfig(compiler.options);
    const stats = convertToGraph(compilation.getStats());
  }
}

Advanced Features

Federation Dashboard Plugin

// Advanced federation analytics
const dashboardPlugin = new FederationDashboardPlugin({
  filename: 'federation-stats.json',
  includeModules: true,
  includeDependencies: true,
  computeVersionStrategy: true,
});

Runtime Requirements

// Add runtime requirements for federation
addRuntimeRequirementToPromiseExternal(compilation, 'federation-runtime');

Development Utilities

Mock Data

  • Comprehensive test data for federation scenarios
  • Mock configurations for testing plugins
  • Sample build statistics and dependency graphs

Validation

// Validate federation parameters
const isValid = validateParams({
  federationConfig,
  webpackConfig,
  buildContext,
});

Usage by Plugins

Webpack and Rspack plugins use this package:

import { extractFederationConfig, buildWebpackAssetsMap, convertToGraph, FederationDashboardPlugin } from 'zephyr-xpack-internal';

// In webpack/rspack plugin
const federationConfig = extractFederationConfig(compiler.options);
const assetsMap = buildWebpackAssetsMap(compilation);
const graph = convertToGraph(stats);

Development

For internal development:

# Build the package
npm run build

# Run tests
npm run test

# Test with mock data
npm run test:integration

Contributing

This is an internal package. Contributions should be made through the main Zephyr plugins repository. Please read our contributing guidelines for more information.

License

Licensed under the Apache-2.0 License. See LICENSE for more information.

FAQs

Package last updated on 16 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts