UNPKG

@prefer-jsr/npm2jsr

Version:

Mapping of NPM packages to their JSR equivalents

336 lines (335 loc) 9.02 kB
/** * Mapping of NPM package names to their JSR equivalents with metadata * Key: NPM package name * Value: JSR package information including version constraints * * @example * // To add a new mapping: * ['npm-package-name', { * jsrPackage: '@scope/jsr-package-name', * minimumVersion: '1.0.0', * sourceUrl: 'https://github.com/author/repo', * }] */ export const npmToJsrMapping = new Map([ [ '@eslint/compat', { jsrPackage: '@eslint/compat', minimumVersion: '1.0.3', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@eslint/config-array', { jsrPackage: '@eslint/config-array', minimumVersion: '0.15.1', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@eslint/config-helpers', { jsrPackage: '@eslint/config-helpers', minimumVersion: '0.1.0', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@eslint/core', { jsrPackage: '@eslint/core', minimumVersion: '0.1.0', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@eslint/css', { jsrPackage: '@eslint/css', minimumVersion: '0.2.0', sourceUrl: 'https://github.com/eslint/css', }, ], [ '@eslint/json', { jsrPackage: '@eslint/json', minimumVersion: '0.2.0', sourceUrl: 'https://github.com/eslint/json', }, ], [ '@eslint/markdown', { jsrPackage: '@eslint/markdown', minimumVersion: '6.0.0', sourceUrl: 'https://github.com/eslint/markdown', }, ], [ '@eslint/object-schema', { jsrPackage: '@eslint/object-schema', minimumVersion: '2.1.3', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@eslint/plugin-kit', { jsrPackage: '@eslint/plugin-kit', minimumVersion: '0.2.1', sourceUrl: 'https://github.com/eslint/rewrite', }, ], [ '@hono/ajv-validator', { jsrPackage: '@hono/ajv-validator', minimumVersion: '0.0.1', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/arktype-validator', { jsrPackage: '@hono/arktype-validator', minimumVersion: '2.0.1', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/class-validator', { jsrPackage: '@hono/class-validator', minimumVersion: '1.0.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/clerk-auth', { jsrPackage: '@hono/clerk-auth', minimumVersion: '3.0.3', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/conform-validator', { jsrPackage: '@hono/conform-validator', minimumVersion: '1.0.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/effect-validator', { jsrPackage: '@hono/effect-validator', minimumVersion: '1.2.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/esbuild-transpiler', { jsrPackage: '@hono/esbuild-transpiler', minimumVersion: '0.1.4', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/event-emitter', { jsrPackage: '@hono/event-emitter', minimumVersion: '2.0.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/graphql-server', { jsrPackage: '@hono/graphql-server', minimumVersion: '0.6.1', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/hello', { jsrPackage: '@hono/hello', minimumVersion: '0.1.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/mcp', { jsrPackage: '@hono/mcp', minimumVersion: '0.1.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/otel', { jsrPackage: '@hono/otel', minimumVersion: '0.2.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/prometheus', { jsrPackage: '@hono/prometheus', minimumVersion: '1.0.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/standard-validator', { jsrPackage: '@hono/standard-validator', minimumVersion: '0.1.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/swagger-editor', { jsrPackage: '@hono/swagger-editor', minimumVersion: '1.0.1', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/swagger-ui', { jsrPackage: '@hono/swagger-ui', minimumVersion: '0.5.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/trpc-server', { jsrPackage: '@hono/trpc-server', minimumVersion: '0.3.4', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/typebox-validator', { jsrPackage: '@hono/typebox-validator', minimumVersion: '0.3.3', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/typia-validator', { jsrPackage: '@hono/typia-validator', minimumVersion: '0.1.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/valibot-validator', { jsrPackage: '@hono/valibot-validator', minimumVersion: '0.5.2', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@hono/zod-validator', { jsrPackage: '@hono/zod-validator', minimumVersion: '0.7.0', sourceUrl: 'https://github.com/honojs/middleware', }, ], [ '@openai/openai', { jsrPackage: '@openai/openai', minimumVersion: '4.47.1', sourceUrl: 'https://github.com/openai/openai-node', }, ], [ '@prefer-jsr/eslint-plugin-prefer-jsr', { jsrPackage: '@prefer-jsr/eslint-plugin-prefer-jsr', minimumVersion: '0.1.0', sourceUrl: 'https://github.com/prefer-jsr/prefer-jsr', }, ], [ '@prefer-jsr/npm2jsr', { jsrPackage: '@prefer-jsr/npm2jsr', minimumVersion: '0.1.0', sourceUrl: 'https://github.com/prefer-jsr/prefer-jsr', }, ], [ 'hono', { jsrPackage: '@hono/hono', minimumVersion: '4.4.0', sourceUrl: 'https://github.com/honojs/hono', }, ], [ 'zod', { jsrPackage: '@zod/zod', minimumVersion: '3.0.0', sourceUrl: 'https://github.com/colinhacks/zod', }, ], ]); /** * Get all available NPM packages that have JSR equivalents * @returns Array of NPM package names that have JSR mappings */ export function getAvailableNpmPackages() { return Array.from(npmToJsrMapping.keys()); } /** * Get the JSR package name for an NPM package * @param npmPackage The NPM package name * @returns The JSR package name (without jsr: prefix) or null if no mapping exists */ export function getJsrEquivalent(npmPackage) { const info = npmToJsrMapping.get(npmPackage); return info ? info.jsrPackage : null; } /** * Get full package information for an NPM package * @param npmPackage The NPM package name * @returns The JSR package information or null if no mapping exists */ export function getJsrPackageInfo(npmPackage) { return npmToJsrMapping.get(npmPackage) || null; } /** * Check if an NPM package has a JSR equivalent * @param npmPackage The NPM package name * @returns True if a JSR equivalent exists */ export function hasJsrEquivalent(npmPackage) { return npmToJsrMapping.has(npmPackage); } /** * Convert a version range to JSR format * @param version The NPM version range (e.g., "^4.1.12") * @returns The complete JSR dependency string (e.g., "jsr:^4.1.12") */ export function toJsrDependency(version) { return `jsr:${version}`; }