Files
AI/참고/playwright-main/utils/build/utilsBundleMapping.js
2026-05-12 19:40:31 +09:00

68 lines
3.4 KiB
JavaScript

// Single source of truth for the mapping between idiomatic npm imports and
// the keys exported from `playwright-core/lib/utilsBundle`.
//
// Each entry: package specifier → { default?, named?: {srcName: bundleKey}, namespace? }
// `lockfile` and `extract` have no clean npm equivalent (they wrap in-tree
// third_party files) and intentionally remain as direct utilsBundle imports.
/** @type {Record<string, { default?: string, named?: Record<string,string>, namespace?: string }>} */
const MAPPING = {
'colors/safe': { default: 'colors' },
'debug': { default: 'debug' },
'ini': { namespace: 'ini' },
'diff': { namespace: 'diff' },
'dotenv': { default: 'dotenv' },
'proxy-from-env': { named: { getProxyForUrl: 'getProxyForUrl' } },
'https-proxy-agent': { default: 'httpProxyAgent', named: { HttpsProxyAgent: 'HttpsProxyAgent' } },
'jpeg-js': { default: 'jpegjs' },
'mime': { default: 'mime' },
'minimatch': { default: 'minimatch' },
'open': { default: 'open' },
'pngjs': { named: { PNG: 'PNG' } },
'commander': { named: { program: 'program', Option: 'ProgramOption' } },
'progress': { default: 'progress' },
'socks-proxy-agent': { default: 'socksProxyAgent', named: { SocksProxyAgent: 'SocksProxyAgent' } },
'ws': {
default: 'ws',
named: { WebSocketServer: 'wsServer' },
},
'yaml': { default: 'yaml' },
'json5': { default: 'json5' },
'source-map-support': { default: 'sourceMapSupport' },
'enquirer': { default: 'enquirer' },
'chokidar': { default: 'chokidar' },
'get-east-asian-width': { namespace: 'getEastAsianWidth' },
'yazl': { namespace: 'yazl' },
'zod': { namespace: 'z' },
'zod-to-json-schema': { named: { zodToJsonSchema: 'zodToJsonSchema' } },
'@modelcontextprotocol/sdk/client/index.js': { named: { Client: 'Client' } },
'@modelcontextprotocol/sdk/server/index.js': { named: { Server: 'Server' } },
'@modelcontextprotocol/sdk/client/sse.js': { named: { SSEClientTransport: 'SSEClientTransport' } },
'@modelcontextprotocol/sdk/server/sse.js': { named: { SSEServerTransport: 'SSEServerTransport' } },
'@modelcontextprotocol/sdk/client/stdio.js': { named: { StdioClientTransport: 'StdioClientTransport' } },
'@modelcontextprotocol/sdk/server/stdio.js': { named: { StdioServerTransport: 'StdioServerTransport' } },
'@modelcontextprotocol/sdk/server/streamableHttp.js': { named: { StreamableHTTPServerTransport: 'StreamableHTTPServerTransport' } },
'@modelcontextprotocol/sdk/client/streamableHttp.js': { named: { StreamableHTTPClientTransport: 'StreamableHTTPClientTransport' } },
'@modelcontextprotocol/sdk/types.js': {
named: {
CallToolRequestSchema: 'CallToolRequestSchema',
ListRootsRequestSchema: 'ListRootsRequestSchema',
ListToolsRequestSchema: 'ListToolsRequestSchema',
PingRequestSchema: 'PingRequestSchema',
ProgressNotificationSchema: 'ProgressNotificationSchema',
},
},
// Transitive deps of in-tree third_party extractZip.ts / lockfile.ts.
// Callers use `@utils/third_party/*` which routes through coreBundle.utils;
// their transitive imports of these npm packages need to stay external and
// come from utilsBundle just like any other vendored package.
'graceful-fs': { default: 'gracefulFs', namespace: 'gracefulFs' },
'retry': { default: 'retry' },
'signal-exit': { default: 'onExit' },
'get-stream': { default: 'getStream' },
};
const VENDORED_PACKAGES = new Set(Object.keys(MAPPING));
module.exports = { MAPPING, VENDORED_PACKAGES };