magic_webgen 1.0.3 copy "magic_webgen: ^1.0.3" to clipboard
magic_webgen: ^1.0.3 copied to clipboard

retracted[pending analysis]

Build WebAssembly libraries from C sources and generate Dart bindings from project configuration.

Пакет для работы с webasm библиотеками.

Возможности:

  • сборка webasm библиотеки
  • генерация dart биндингов для webasm библиотеки
  • настройка проекта для работы с webasm пакетами

Установка #

Добавление dev-зависимости:

dart pub add --dev webgen --path ../webgen

Если пакет webgen опубликован на pub.dev, то путь не указывается.

Также можно установить как системную утилиту:

dart pub global activate --source path ../webgen

Компиляция webasm библиотеки и генерация биндингов #

Выполняется в корне проекта, который является оберткой для webasm библиотеки:

dart run webgen:build

В корне проекта должен быть файл build_config.yaml.

Настройки сборки webasm описываются в секции web:

web:
  api_file:
    'lib/src/web/api.g.dart'
  
  sources:
    - src/sqlite3.c

  headers:
    - src/sqlite3.h

Поддерживаются и другие настройки в этой секции. Список настроек будет перечислен отдельно.

Настройка текущего проекта для работы с webasm #

Все webasm пакеты должны быть подключены как зависимости к пакету.

После этого требуется выполнить команду для создания .dart_tool/package_config.json:

dart pub get

Текущий пакет подключается как dev-зависимость.

dart pub add --dev webgen --path ../webgen

После этого выполняется команда:

dart run webgen:websetup

После этого в каталоге web создается каталог webasm с библиотеками webasm из пакетов зависимостей. Текущий пакет также может быть webasm пакетом.

Также обновляется скрипт index.html, создается при необходимости.

К списку зависимостей также требуется подключить пакет magic_js_types.

EMSDK #

Для сборки webasm библиотеки требуется наличие EMSDK. Путь к EMSDK задается через переменную EMSDK. Путь по умолчанию к EMSDK: ~/emsdk.

0
likes
0
points
430
downloads

Publisher

unverified uploader

Weekly Downloads

Build WebAssembly libraries from C sources and generate Dart bindings from project configuration.

License

(pending) (license)

Dependencies

args, magic_yaml_config, path, yaml

More

Packages that depend on magic_webgen