Saltearse al contenido

sdk/effect/getVersionFromNPM

Esta página aún no está disponible en tu idioma.

Defined in: studiocms/packages/studiocms/src/sdk/effect/getVersionFromNPM.ts:34^

An Effect service for retrieving the version of an NPM package from the NPM registry.

This service uses an HTTP client with retry logic to fetch the version information for a given package and version (defaulting to ‘latest’) from the NPM registry.

const version = await GetVersionFromNPM.get('react');
  • Depends on FetchHttpClient.layer for HTTP requests.

get

The name of the NPM package.

The version tag or number (defaults to ‘latest’).

  • any

new GetVersionFromNPM(): GetVersionFromNPM

GetVersionFromNPM

Effect.Service<GetVersionFromNPM>()(
'studiocms/sdk/effect/GetVersionFromNPM',
{
effect: Effect.gen(function () {
const httpClient = (yield HttpClient.HttpClient).pipe(
HttpClient.retryTransient({
times: 3,
schedule: Schedule.spaced('1 second'),
})
);
/
Retrieves the version of an NPM package.
@param pkg - The name of the NPM package.
@param ver - The version tag or number (defaults to 'latest').
@returns An Effect that resolves to the version string of the specified package.
/
const get = (pkg: string, ver = 'latest') =>
Effect.gen(function () {
const response = yield httpClient
.get(https://registry.npmjs.org/${pkg}/${ver})
.pipe(Effect.flatMap(HttpClientResponse.schemaBodyJson(NpmVersion)));
return response.version;
});
return { get };
}),
dependencies: [FetchHttpClient.layer],
}
).constructor

Defined in: studiocms/packages/studiocms/src/sdk/effect/getVersionFromNPM.ts:10^

Represents the version information retrieved from NPM.

  • any

new NpmVersion(): NpmVersion

NpmVersion

Schema.Class<NpmVersion>('NpmVersion')({
version: Schema.String,
}).constructor