"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@yarnpkg/core"); const JsrFetcher_1 = require("./JsrFetcher"); const JsrResolver_1 = require("./JsrResolver"); const helpers_1 = require("./helpers"); const DEPENDENCY_TYPES = [`dependencies`, `devDependencies`, `peerDependencies`]; function beforeWorkspacePacking(workspace, rawManifest) { for (const dependencyType of DEPENDENCY_TYPES) { for (const descriptor of workspace.manifest.getForScope(dependencyType).values()) { if (!descriptor.range.startsWith(`jsr:`)) continue; const normalizedDescriptor = (0, helpers_1.convertDescriptorFromJsrToNpm)(descriptor); // Ensure optional dependencies are handled as well const identDescriptor = dependencyType === `dependencies` ? core_1.structUtils.makeDescriptor(descriptor, `unknown`) : null; const finalDependencyType = identDescriptor !== null && workspace.manifest.ensureDependencyMeta(identDescriptor).optional ? `optionalDependencies` : dependencyType; rawManifest[finalDependencyType][core_1.structUtils.stringifyIdent(descriptor)] = normalizedDescriptor.range; } } } const plugin = { hooks: { beforeWorkspacePacking, }, resolvers: [ JsrResolver_1.JsrResolver, ], fetchers: [ JsrFetcher_1.JsrFetcher, ], }; // eslint-disable-next-line arca/no-default-export exports.default = plugin;