Socket
Socket
Sign inDemoInstall

weex-transformer

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

weex-transformer

Weex DSL transformer


Version published
Weekly downloads
43
increased by34.38%
Maintainers
2
Weekly downloads
 
Created
Source

Weex DSL Transformer

NPM version Build status Downloads

<template> + <style> + <script> + <element>

Install

npm install weex-transformer

Usage

CLI tool

  Usage: transformer [options] <file...>

  Options:

    -h, --help               output usage information
    -V, --version            output the version number
    -g, --logLevel [value]   specify log output level - `NOTE`, `WARNING`, `ERROR`, `OFF` (default: `NOTE`, equivalent to `ALL`)
    -e, --isEntry [value]    whether is an entry module which has `bootstrap` (default: true)
    -l, --oldFormat [value]  whether to transform to old format (default: false)
    -o, --output [path]      the output file dirname

API

transform(name, code, path, elements, config)
var transformer = require('weex-transformer')
var output = transformer.transform('foo', '/* code here */', '.', {})
params
  • name: string, current bundle name
  • code: string, source code
  • path: string optional, useful when find custom component in a certain path
  • elements: object optional, existed custom component map
  • config: object optional
    • logLevel: specify log output level - NOTE (default, equivalent to ALL), WARNING, ERROR, OFF, aranging from low to high
    • isEntry: whether is an entry module which has bootstrap (default: true)
    • oldFormat: whether to transform to old format (default: false)
returns
  • an object with keys
    • result: string, all custom components define() and final bootstrap()
    • logs: array, corresponding warning & error logs
transformOld(...)

same params and different output format for old style: register(name, options) and render(name, data)

transforming content

  • template: JavaScript Object by parse5
  • style: JSON Object by css
  • script: JavaScript AST with template, deps, style by esprima
  • element: string code map for deeply parsing

workflow

  1. get template, style, script, elements
  2. parse and validate style by styler
  3. parse and validate template by templater and get deps
  4. parse script by scripter
  5. join template, style and script to build a module
  6. collect element code map
  7. output define() string code, deps, element code map and logs
  8. find deps code by name from element code map first and from file system for second
  9. join all deps code together recursively
  10. find all required 3rd party javascript and bundle them
  11. append bootstrap() string code and bundle at last

Keywords

FAQs

Package last updated on 07 Feb 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc