1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.WorkspaceFetcher = void 0;
|
4 | const fslib_1 = require("@yarnpkg/fslib");
|
5 | const WorkspaceResolver_1 = require("./WorkspaceResolver");
|
6 | class WorkspaceFetcher {
|
7 | supports(locator) {
|
8 | if (!locator.reference.startsWith(WorkspaceResolver_1.WorkspaceResolver.protocol))
|
9 | return false;
|
10 | return true;
|
11 | }
|
12 | getLocalPath(locator, opts) {
|
13 | return this.getWorkspace(locator, opts).cwd;
|
14 | }
|
15 | async fetch(locator, opts) {
|
16 | const sourcePath = this.getWorkspace(locator, opts).cwd;
|
17 | return { packageFs: new fslib_1.CwdFS(sourcePath), prefixPath: fslib_1.PortablePath.dot, localPath: sourcePath };
|
18 | }
|
19 | getWorkspace(locator, opts) {
|
20 | return opts.project.getWorkspaceByCwd(locator.reference.slice(WorkspaceResolver_1.WorkspaceResolver.protocol.length));
|
21 | }
|
22 | }
|
23 | exports.WorkspaceFetcher = WorkspaceFetcher;
|