File tree Expand file tree Collapse file tree 2 files changed +16
-13
lines changed Expand file tree Collapse file tree 2 files changed +16
-13
lines changed Original file line number Diff line number Diff line change @@ -21,3 +21,9 @@ export class ProjectError extends Data.TaggedError("ProjectError")<{ readonly ca
2121export class PackageDeclarationsError extends Data . TaggedError ( "PackageDeclarationsError" ) < {
2222 cause ?: unknown ;
2323} > { }
24+
25+ /** `PackageNameError` occurs when the name of a package is not a name valid on the npm registry. */
26+ export class PackageNameError extends Data . TaggedError ( "PackageNameError" ) < {
27+ warnings ?: string [ ] ;
28+ errors ?: string [ ] ;
29+ } > { }
Original file line number Diff line number Diff line change 1- import { Data , Effect } from "effect" ;
1+ import { Effect } from "effect" ;
22import validate from "validate-npm-package-name" ;
3+ import { PackageNameError } from "./errors.ts" ;
34
4- /** @internal */
5- export class PackageNameError extends Data . TaggedError ( "PackageNameError" ) < {
6- warnings ?: string [ ] ;
7- errors ?: string [ ] ;
8- } > { }
9-
10- /** @internal */
11- export const packageName = ( pkg : string ) =>
12- Effect . gen ( function * ( ) {
5+ /**
6+ `packageName` returns an Effect for validating package names
7+ according to the npm registry's new naming rules.
8+ */
9+ export function packageName ( pkg : string ) {
10+ return Effect . gen ( function * ( ) {
1311 const versionMarker = pkg . lastIndexOf ( "@" ) ;
1412 const pkgName = pkg . slice ( 0 , versionMarker > 0 ? versionMarker : undefined ) ;
1513 const { validForNewPackages, warnings, errors } = validate ( pkgName ) ;
16- if ( ! validForNewPackages ) {
17- return yield * new PackageNameError ( { warnings, errors } ) ;
18- }
14+ if ( ! validForNewPackages ) return yield * new PackageNameError ( { warnings, errors } ) ;
1915 return pkgName ;
2016 } ) ;
17+ }
You can’t perform that action at this time.
0 commit comments