Support tsconfig `paths` in Template API imports (.figma.ts)

Abierto
#408 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
javascript, nodejs, typescript
Área
tooling

Línea de trabajo

Start by reading raw_template_bundler.ts and the bundleTemplateWithHelpers function mentioned in the issue, then trace how figma.config.json settings reach the esbuild call. Check the existing template import handling and tests for bundling or path aliases. Done means .figma.ts templates can resolve aliases configured with paths and publish without the relative-import error.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

API question

Please provide:

  • Code Connect CLI version: 2.0.0
  • Operating system: MacOS
  • Code Connect file, Figma design and/or relevant code snippet that could help us get more context
    • If you prefer not to share those publicly please reach out via the Figma support
Problem

Alias imports in .figma.ts fail during publish, even with paths set per docs.

And looking at the source, in raw_template_bundler.ts the bundleTemplateWithHelpers function passes an empty value for the tsconfig.json settings during the esbuild build, and it doesn't seem to specifically consume the paths field added in figma.config.json. I'm not sure if I've pinpointed this correctly, but is there a specific reason this decision was made?

Infos

figma.config.json:

{
    "$schema": "https://raw.githubusercontent.com/figma/code-connect/main/schemas/figma.config.schema.json",
    "codeConnect": {
        "parser": "react",
        "label": "TEST",
        "language": "typescript",
        "include": ["src/**/*.figma.ts"],
        "paths": {
            "~/*": ["./src/*"]
        }
    },
    "fileKey": "he4tiAGOKGPl0Fm56ZpJsy",
    "packageImportPath": "@vapor-ui/composites"
}

.figma.ts:

import { getProperties } from '~/utils/figma-utils';

export default {
    example: figma.code` ... `
}

error log:

npx figma connect publish

Config file found, parsing /Users/goorm/01_works/my-works/packages/composites using specified include globs
❌ /Users/goorm/01_works/my-works/packages/composites/src/components/dialog/dialog.figma.ts
TypeScript template files only support importing from 'figma' and relative helper files.
Found in /Users/goorm/01_works/my-works/packages/composites/src/components/dialog/dialog.figma.ts:
  import { getProperties } from '~/utils/figma-utils';

Use "const figma = require('figma')" or "import figma from 'figma'" for the Figma API.
Helper imports must use relative paths (for example: "./helpers").
Using label "TEST"
Using language "typescript"
No Code Connect files found in /Users/goorm/01_works/my-works/packages/composites - Make sure you have configured `include` and `exclude` in your figma.config.json file correctly, or that you are running in a directory that contains Code Connect files.
Lenguaje dominante
TypeScript
Estrellas
1.6k
Forks
126
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de figma/code-connect

Todos los issues de figma/code-connect

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.