MCPcopy Create free account
hub / github.com/vercel/vercel / useProject

Function useProject

packages/cli/test/mocks/project.ts:227–428  ·  view source on GitHub ↗
(
  project: Partial<
    Project & { customEnvironments?: CustomEnvironment[] }
  > = defaultProject,
  projectEnvs: ProjectEnvVariable[] = envs
)

Source from the content-addressed store, hash-verified

225}
226
227export function useProject(
228 project: Partial<
229 Project & { customEnvironments?: CustomEnvironment[] }
230 > = defaultProject,
231 projectEnvs: ProjectEnvVariable[] = envs
232) {
233 client.scenario.get(`/:version/projects/${project.name}`, (_req, res) => {
234 res.json(project);
235 });
236 client.scenario.get(`/:version/projects/${project.id}`, (_req, res) => {
237 res.json(project);
238 });
239 client.scenario.patch(`/:version/projects/${project.id}`, (req, res) => {
240 Object.assign(project, req.body);
241 res.json(project);
242 });
243 client.scenario.get(`/v9/projects/${project.name}`, (_req, res) => {
244 res.json(project);
245 });
246 client.scenario.get(`/v9/projects/${project.id}`, (_req, res) => {
247 res.json(project);
248 });
249 client.scenario.get(
250 `/v3/env/pull/${project.id}/:target?/:gitBranch?`,
251 (req, res) => {
252 const target =
253 typeof req.params.target === 'string'
254 ? parseEnvironment(req.params.target)
255 : undefined;
256 if (target) {
257 projectEnvs = projectEnvs.filter(env => {
258 if (!env.target) return false;
259
260 // Ensure `target` matches
261 const targets = Array.isArray(env.target) ? env.target : [env.target];
262 const matchingTarget = targets.includes(target);
263 if (!matchingTarget) return false;
264
265 // Ensure `gitBranch` matches
266 if (!env.gitBranch) return true;
267 return req.params.gitBranch === env.gitBranch;
268 });
269 }
270 const allEnvs = Object.entries(
271 exposeSystemEnvs(
272 projectEnvs,
273 systemEnvs.map(env => env.key),
274 project.autoExposeSystemEnvs,
275 undefined,
276 target
277 )
278 );
279
280 const env: Record<string, string> = {};
281
282 allEnvs.forEach(([k, v]) => {
283 env[k] = v ?? '';
284 });

Callers 15

purge.test.tsFile · 0.90
invalidate.test.tsFile · 0.90
index.test.tsFile · 0.90
initRollbackTestFunction · 0.90
index.test.tsFile · 0.90
list.test.tsFile · 0.90
index.test.tsFile · 0.90

Calls 11

parseEnvironmentFunction · 0.90
formatProviderFunction · 0.90
exposeSystemEnvsFunction · 0.85
patchMethod · 0.80
filterMethod · 0.80
statusMethod · 0.80
getMethod · 0.65
jsonMethod · 0.65
pushMethod · 0.65
postMethod · 0.45
deleteMethod · 0.45

Tested by 9

initRollbackTestFunction · 0.72
setupLinkedProjectFunction · 0.72
connectAndExpectFunction · 0.72
initRedeployTestFunction · 0.72
setupLinkedProjectFunction · 0.72
initPromoteTestFunction · 0.72
setupLinkedProjectFunction · 0.72
setupLinkedProjectFunction · 0.72
setupLinkedProjectFunction · 0.72