openharmony / ark_ts2abc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ts2abc

Introduction

ts2abc is a front-end tool in the ARK Runtime Subsystem. It converts JavaScript(JS) files into ARK bytecode files.

For more information, see: ARK Runtime Subsystem.

Directory Structure

/ark/ts2abc/
├── test262            # scripts for configuration and running Test262
├── testTs             # system test cases
├── ts2panda
    ├── scripts        # dependency scripts
    ├── src            # source code directory
    ├── templates      # ruby templates
    ├── tests          # unit test cases
    ├── tools          # tools provided by ts2abc
    └── ts2abc         # ts2abc source code

Build

ts2abc uses the command line interaction mode and converts JS code into ARK bytecode files that can be run on an ARK runtime system. ts2abc supports Windows, Linux, and macOS. Front-end tools, converting JS source code into ARK bytecode, can be built by specifying the --build-target with ark_ts2abc on Linux.

$ ./build.sh --product-name hispark_taurus_standard --build-target ark_ts2abc_build

Usage Guidelines

Install node and npm

convert JS to ARK bytecode

$ cd out/hispark_taurus/clang_x64/ark/ark/build
$ npm install
$ node --expose-gc src/index.js [options] file.js

If no parameter is specified for [options], an ARK binary file is generated by default.

Option

Abbreviation

Description

Value Range

Default Value

--commonjs

-c

Compiles the code based on the commonjs.

-

-

--modules

-m

Compiles the code based on the ecmascript standard module.

-

-

--debug-log

-l

Enables the log function.

-

-

--dump-assembly

-a

Outputs an assembly file.

-

-

--debug

-d

Provides debug information.

-

-

--show-statistics

-s

Displays statistics about bytecodes.

-

-

--output

-o

Specifies the path of the output file.

-

-

--timeout

-t

Specifies the timeout threshold.

-

-

--opt-log-level

-

Specifies the log level for compilation optimization.

['debug', 'info', 'error', 'fatal']

error

--opt-level

-

Specifies the level for compilation optimization.

-

1

--help

-h

Displays help information.

-

-

--bc-version

-v

Outputs the current bytecode version.

-

-

--bc-min-version

-

Outputs the lowest bytecode version supported.

-

-

--included-files

-i

The list of dependent files

-

-

--record-type

-p

Record type info

-

true

--dts-type-record

-q

Record type info for .d.ts files

-

false

--debug-type

-g

Print type-related log

-

false

--output-type

-

Set output type

-

false

For more information, please see: ARK-Runtime-Usage-Guide.

Repositories Involved

ark_runtime_core

ark_js_runtime

ark_ts2abc

About

License:Apache License 2.0


Languages

Language:TypeScript 83.0%Language:C++ 7.0%Language:Python 5.7%Language:HTML 1.8%Language:JavaScript 1.5%Language:CMake 0.5%Language:Shell 0.4%Language:Ruby 0.2%