Rete CLI - Rete.js

Rete CLI

Rete CLIRollupESLintJestTypeDoc

Архітектура

Rete CLI — це інструмент для збірки з вбудованою підтримкою TypeScript і ESLint разом із попередньо визначеними правилами. Крім того, він включає Jest. Ці функції спрощують створення нових плагінів без необхідності налаштовувати власне середовище для збірки, лінтингу та тестування.

Функція збірки базується на Rollup і постачається з попередньо налаштованими стилями Babel для підтримки TypeScript.

Встановлення

bash
npm i -g rete-cli

Збірка проекту

Першим кроком є створення файлу конфігурації під назвою rete.config.ts

ts
import { ReteOptions } from 'rete-cli'

export default<ReteOptions>{
  input: 'src/index.ts', // шлях до вхідного скрипту
  name: 'Namespace' // простір імен для UMD бандлів
}

Виконайте команду

bash
rete build --config rete.config.ts

Створена директорія dist готова до публікації та містить усі необхідні бандли, визначення типів, файли README.md і package.json із відповідними шляхами.

Параметр --watch можна використовувати для запуску автоматичного створення проекту після збереження, тоді як параметр --outputs дозволяє вказати кілька вихідних шляхів, розділених комами, для місця призначення збірки.

Створіть розширену конфігурацію

Давайте розглянемо кілька підтримуваних параметрів конфігурації:

  • підключення плагінів Rollup
  • вказання сторонніх залежностей, які не слід включати в бандл
  • вказання вихідного шляху
  • підключати плагіни та пресети Babel
ts
import { ReteOptions } from 'rete-cli'

export default <ReteOptions>[ // конфігурація з кількома входженнями
  {
    input: 'src/foo/index.ts',
    name: 'Namespace'
    babel: {
      presets: [
        require('@babel/preset-env'), // використовується за замовчуванням, але має бути оголошено, коли ви вказуєте 'presets'
        require('@babel/preset-typescript'), // використовується за замовчуванням
        require('@babel/preset-react'),
      ]
    }
  },
  {
    input: 'src/bar/index.ts',
    name: 'Namespace'
    globals: {
      'rete': 'Rete',
    },
    plugins: [ // вказати Rollup плагіни
      commonjs(),
    ],
    babel: {
      plugins: [
        // включити Babel плагіни
      ]
    }
  }
]

Лінтінг

За замовчуванням виконання команди rete build включає етап лінтінгу перед генеруванням бандлів. Однак ви також можете виконати лінтінг самостійно, виконавши окрему команду.

bash
rete lint