/** * Utility functions for working with npm package names. * * @packageDocumentation */ /** * Result of parsing a package name into its components. * * @alpha */ export interface ParsedPackageName { /** * The full original package name. */ name: string; /** * The scope portion of the name (e.g., `@myorg`), or `undefined` if unscoped. */ scope: string | undefined; /** * The name portion without the scope (e.g., `my-package`). * For unscoped packages, this is the same as `name`. */ unscopedName: string; } /** * Parse a package name into its scope and unscoped name components. * * @param packageName - The package name to parse (e.g., `@myorg/my-package` or `my-package`) * @returns An object containing the parsed components * * @example * ```typescript * parsePackageName("@myorg/my-package") * // Returns: { name: "@myorg/my-package", scope: "@myorg", unscopedName: "my-package" } * * parsePackageName("my-package") * // Returns: { name: "my-package", scope: undefined, unscopedName: "my-package" } * ``` * * @alpha */ export declare function parsePackageName(packageName: string): ParsedPackageName; /** * Extract just the scope from a package name. * * @param packageName - The package name (e.g., `@myorg/foo` or `unscoped-pkg`) * @returns The scope (e.g., `@myorg`) or `undefined` if unscoped * * @alpha */ export declare function getPackageScope(packageName: string): string | undefined; /** * Extract the unscoped portion of a package name. * * @param packageName - The package name (e.g., `@myorg/my-package` or `my-package`) * @returns The unscoped name (e.g., `my-package`) * * @alpha */ export declare function getUnscopedName(packageName: string): string; /** * Check if a package name is scoped. * * @param packageName - The package name to check * @returns `true` if the package is scoped (starts with `@` and contains `/`) * * @alpha */ export declare function isScoped(packageName: string): boolean; //# sourceMappingURL=packageName.d.ts.map