Add a validation for non-existent node-id

Open
#337 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
figma, typescript
Domain
tooling

Research direction

Start by reading the publish command’s validation and upload flow to find where linked Figma node IDs are handled; the issue does not name specific files or tests. Check how the command currently reports validation and upload results, then verify the expected behavior for a node ID that no longer resolves. Done means publishing reports the unresolved link as an error or warning, as proposed.

Written by the indexing model from the issue text.

Description

feature request

When a component is removed in Figma or moved to another file, the Code Connect link in our codebase becomes stale.

Currently, the publish command still succeeds without errors, even though the linked node-id no longer exists in Figma.

Example CLI output

npx @figma/code-connect connect publish --dir .

No config file found in ., proceeding with default options
Using "react" parser as package.json containing a "react" dependency was found in /Users/xxx/WebstormProjects/xxx. If this is incorrect, please check you are running Code Connect from your project root, or add a `parser` key to your config file. See https://github.com/figma/code-connect for more information.
Validating Code Connect files...
All Code Connect files are valid (9394ms)
Uploading to Figma...
Successfully uploaded to Figma, for Storybook:
-> Icon https://www.figma.com/design/xxx/xxx?node-id=xxx&m=dev
-> Button https://www.figma.com/design/xxx/xxx?node-id=xxx&m=dev
Done.

For context, When I open the "Icon" link, it opens the file on the first page and does not select any node, as it does not exist anymore. I would expect an error that the Icon could not be published.

Proposed change:

The publish script should fail (non-zero exit code) or at least emit an error/warning when any linked Figma node cannot be resolved.

Dominant language
TypeScript
Stars
1.6k
Forks
126
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from figma/code-connect

All issues in figma/code-connect

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.