Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Доработка генератора #28

Closed
3 tasks done
Nelfimov opened this issue Oct 27, 2023 · 19 comments · Fixed by #29
Closed
3 tasks done

Доработка генератора #28

Nelfimov opened this issue Oct 27, 2023 · 19 comments · Fixed by #29
Assignees
Labels

Comments

@Nelfimov
Copy link
Member

Nelfimov commented Oct 27, 2023

С чем связан запрос на фичу?

Необходимо доработать генератор темы под наши нужды

Расскажите как вы это себе видите

  • необходима возможность добавлять страницы в игнор
  • необходимо в цветах держать структуру с фигмы, особенно для кнопок и инпутов
  • нейминг у всего кроме цветов и fontSize

Definition of done (критерий готовности)

Генератор работает, фичи имплементированы

@Nelfimov
Copy link
Member Author

Nelfimov commented Feb 5, 2024

В качестве тестового дизайна можно использовать nuym

Найденные ошибки:

@TorinAsakura TorinAsakura removed their assignment Apr 5, 2024
@TorinAsakura
Copy link
Member

.

@Nelfimov
Copy link
Member Author

В дополнение к этой задаче:

В идеале должна быть возможность фильтрации по токенам. Например:

  • мы с дизайнером договариваемся, что токены с префиксом dev - это то что мы будем стягивать нашим генератором
  • настраиваем генератор на стягивание только этого префикса
  • адаптируем выпуск генератора на учитывание нашего стэка - как например сейчас с цветами для кнопок и инпутов. Сегодня мы это делаем руками, а должно быть - автоматом из дизайна на регулярной основе.

@aliceinapple
Copy link
Member

aliceinapple commented Jun 12, 2024

@Nelfimov

нейминг у всего кроме цветов и fontSize

Не поняла что не так с неймингом у всего кроме цветов и размеров шрифтов и как должно быть?


По поводу лишних шрифтов и прочего, скорее всего это все вытягивалось из всех страниц макета, в том числе архивных, если вытягивать данные только с определенной страницы (например добавить остальные в игнор или наоборт при генерации указывать id только нужной страницы), то лишнего не добавляется.


необходимо в цветах держать структуру с фигмы, особенно для кнопок и инпутов

Посмотрела для примера два разных макета с кнопками, один из риса, один из кэнди, структура у них разная, непонятно какую брать за образец для генератора цветов.

@TorinAsakura
Copy link
Member

@Nelfimov

нейминг у всего кроме цветов и fontSize

Не понла что не так с неймингом у всего кроме цветов и размеров шрифтов и как должно быть?

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

По поводу лишних шрифтов и прочего, скорее всего это все вытягивалось из всех страниц макета, в том числе архивных, если вытягивать данные только с определенной страницы (например добавить остальные в игнор или наоборт при генерации указывать id только нужной страницы), то лишнего не добавляется.

  • ясное дело, однако наша задача не трогать это руками, а делать на стороне фигмы, как-то парсить исключения и не трогать их

необходимо в цветах держать структуру с фигмы, особенно для кнопок и инпутов

Посмотрела для примера два разных макета с кнопками, один из риса, один из кэнди, структура у них разная, непонятно какую брать за образец для генератора цветов.

  • кенди для нас будет поближе, на крайняк будем править на живую, через требования к дизайнеру Риса, в конце-концов нам сейчас надо генерить Рис, но, не нарушая правил

@aliceinapple
Copy link
Member

@TorinAsakura @Nelfimov

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

Поняла, а где я могу посмотреть нужные нейминги?

@TorinAsakura
Copy link
Member

@TorinAsakura @Nelfimov

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

Поняла, а где я могу посмотреть нужные нейминги?

…ты их каждый день используешь когда делаешь фронт…ты сейчас серьёзно?

@aliceinapple
Copy link
Member

@TorinAsakura @Nelfimov

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

Поняла, а где я могу посмотреть нужные нейминги?

…ты их каждый день используешь когда делаешь фронт…ты сейчас серьёзно?

Ну в частности для радиусов напрмер, мы сейчас пишем так "f20", и в генераторе тоже так, вот и возник вопрос, как должно быть

@TorinAsakura
Copy link
Member

TorinAsakura commented Jun 12, 2024

@TorinAsakura @Nelfimov

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

Поняла, а где я могу посмотреть нужные нейминги?

…ты их каждый день используешь когда делаешь фронт…ты сейчас серьёзно?

Ну в частности для радиусов напрмер, мы сейчас пишем так "f20", и в генераторе тоже так, вот и возник вопрос, как должно быть

чего? где мы пишем f20? ничего не понимаю…и что такое f?

@aliceinapple
Copy link
Member

@TorinAsakura @Nelfimov

  • у радиусо, размеров и других токенов генерились нейминги по айди шейпов, вместо конвенциональных

Поняла, а где я могу посмотреть нужные нейминги?

…ты их каждый день используешь когда делаешь фронт…ты сейчас серьёзно?

Ну в частности для радиусов напрмер, мы сейчас пишем так "f20", и в генераторе тоже так, вот и возник вопрос, как должно быть

чего? где мы пишем f20? ничего не понимаю? и что такое f?

Когда задавали бордер радиус, писали "f20", нейминги для радиусов сейчас так генерируются (f + радиус), ну не суть, я поняла, буду ориентироваться на то как сейчас задаются названия для fontSizes

@TorinAsakura
Copy link
Member

@aliceinapple Никогда мы руками такого не задавали. Посмотри во все проекты. Там всегда был нейминг конвенциональный, f20 - это как раз начало прилетать из генератора и это мы как раз сейчас стремимся пофиксить

@aliceinapple
Copy link
Member

@Nelfimov

Тесты к генераторам, в которых импортируется camelcase падают с такой ошибкой:

 Test suite failed to run

    Jest encountered an unexpected token

    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.

    Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.

    By default "node_modules" folder is ignored by transformers.

    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
     • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/configuration
    For information about custom transformations, see:
    https://jestjs.io/docs/code-transformation

    Details:

    /Users/macbookair15/WebstormProjects/figma/.yarn/cache/camelcase-npm-8.0.0-a3fa03dcc3-6da7abe997.zip/node_modules/camelcase/index.js:57
    export default function camelCase(input, options) {
    ^^^^^^

    SyntaxError: Unexpected token 'export'

@Nelfimov
Copy link
Member Author

Обнови пожалуйста jest-config - должно поправить ошибку.

@aliceinapple
Copy link
Member

Обнови пожалуйста jest-config

@Nelfimov

Теперь такое получаю:

➤ YN0001: ● Validation Error:

  Option: extensionsToTreatAsEsm: ['.ts', '.tsx', '.js', 'jsx'] includes a string that does not start with a period (.).
  Please change your configuration to extensionsToTreatAsEsm: ['.ts', '.tsx', '.js', '.jsx'].

  Configuration Documentation:
  https://jestjs.io/docs/configuration

@Nelfimov
Copy link
Member Author

Обнови еще

@aliceinapple
Copy link
Member

Обнови еще

@Nelfimov

Обновила @atls/config-jest до 0.1.4, проблема осталась

 YN0001: ● Validation Error:

  Option: extensionsToTreatAsEsm: ['.ts', '.tsx', '.js', '.jsx'] includes '.js' which is always inferred based on type in its nearest package.json.

  Configuration Documentation:
  https://jestjs.io/docs/configuration

@Nelfimov
Copy link
Member Author

@Nelfimov

Тесты к генераторам, в которых импортируется camelcase падают с такой ошибкой:

 Test suite failed to run

    Jest encountered an unexpected token

    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.

    Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.

    By default "node_modules" folder is ignored by transformers.

    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
     • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/configuration
    For information about custom transformations, see:
    https://jestjs.io/docs/code-transformation

    Details:

    /Users/macbookair15/WebstormProjects/figma/.yarn/cache/camelcase-npm-8.0.0-a3fa03dcc3-6da7abe997.zip/node_modules/camelcase/index.js:57
    export default function camelCase(input, options) {
    ^^^^^^

    SyntaxError: Unexpected token 'export'

Это юнит или интеграционные тесты.

@aliceinapple
Copy link
Member

@Nelfimov

Это юнит или интеграционные тесты.

Это юнит тесты (yarn test unit)

Хотя если запустить yarn test integration все равно ошибка та же

@Nelfimov
Copy link
Member Author

Исправил и запушил.

Вот что пришлось сделать: atls/raijin@d4c103c

Разберись пожалуйста, скоро придется и тебе тулзы править.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants