Skip to content

Commit 98d55cb

Browse files
Add packageNameFromSpec method (#104)
1 parent 11f645d commit 98d55cb

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

packages/mambajs-core/src/index.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,3 +503,14 @@ export function sort(installed: ISolvedPackages): Map<string, ISolvedPackage> {
503503

504504
return new Map(sorted);
505505
}
506+
507+
export function packageNameFromSpec(specs: string) {
508+
const nameMatch = specs.match(/^([a-zA-Z0-9_-]+)/);
509+
510+
if (!nameMatch) {
511+
return null;
512+
}
513+
514+
const packageName = nameMatch[1];
515+
return packageName;
516+
}

packages/mambajs/src/solverpip.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { parse } from 'yaml';
44
import {
55
ILogger,
66
ISolvedPackage,
7-
ISolvedPackages
7+
ISolvedPackages,
8+
packageNameFromSpec
89
} from '@emscripten-forge/mambajs-core';
910

1011
interface ISpec {
@@ -88,14 +89,11 @@ function resolveVersion(availableVersions: string[], constraint: string) {
8889
}
8990

9091
function parsePyPiRequirement(requirement: string): ISpec | null {
91-
const nameMatch = requirement.match(/^([a-zA-Z0-9_-]+)/);
92-
93-
if (!nameMatch) {
92+
const packageName = packageNameFromSpec(requirement);
93+
if (!packageName) {
9494
return null;
9595
}
9696

97-
const packageName = nameMatch[1];
98-
9997
return {
10098
package: packageName,
10199
constraints: requirement.slice(packageName.length) || null

0 commit comments

Comments
 (0)