tamtam-chat/rollup-plugins(新しいタブで開きます)
主要言語: TypeScript
- star 数
- 0
- watcher 数
- 4
- fork 数
- 0
- issue 数
- 0
- 最終更新
- 2022/11/21
主要言語: TypeScript
Модуль содержит набор общих плагинов для Rollup.js, которые используются для сборки проектов внутри TamTam/OK.
Модуль устанавливается как обычный npm-пакет, но сначала необходимо добавить в файл .npmrc проекта (если файле нет — нужно его создать) следующую строчку:
@tamtam-chat:registry=https://npm.pkg.github.com
Для установки используем команду npm install:
npm install @tamtam-chat/rollup-plugins
Пример подключения плагинов в rollup.config.js:
import { url, buble } from '@tamtam-chat/rollup-plugins'; /** @type {import('rollup').RollupOptions} */ export default { input: './src/index.ts', plugins: [url(), buble()], output: { dir: './dist' } }
Плагин позволяет получать ссылки на указанный файл, при это сам файл будет добавлен в общий бандл и хэширован согласно настройкам сборки. Для получения ссылки на любой файл, нужно указать в импорте суффикс ?url:
import img from './assets/image.png?url'; const imgElem = document.createElement('img'); imgElem.src = img;
Если с помощью суффикса ?url подключается .js или .ts файл, он добавляется как чанк и пройдёт через весь процесс трансформаций Rollup. Если импортируемый .js-файл не надо обрабатывать, нужно добавить его в исключения:
// rollup.config.js import { url } from '@tamtam-chat/rollup-plugins'; /** @type {import('rollup').RollupOptions} */ export default { input: './src/index.ts', plugins: [url({ include: ['**/*.js'], exclude: ['**/worker.js'] })], output: { dir: './dist' } }
Для правильной поддержки со стороны IDE рекомендуется сделать файл
ambient.d.tsи добавить в него такое описание:
declare module '*?url' { const src: string export default src }
Копия @rollup/plugin-buble[https://www.npmjs.com/package/@rollup/plugin-buble], но использует более свежую версию библиотеки acorn, которая необходима для современного JS-синтаксиса. Список опций такой же, как и в оригинальном плагине.