ts-ucode

0.0.1 • Public • Published

ts-ucode

TypeScript tools for OpenWRT ucode.


This is a WIP. It does work, but there is a lot to be done and a lot to improve. PR are welcome!


Usage

Install ts2ucode globally

npm install -g ts-ucode

Initialize a project dir (for completion and npm scripts)

# within the directory to initialize
ts2ucode init

Transform TypeScript sources into ucode:

If ran from a ts-ucode initialized directory:

ts2ucode

or from anywhere else:

ts2ucode <source-dir> <out-dir>

Features

  • [ ] compiler
    • [x] compile source dir to target dir
    • [ ] compile standalone source file
    • [ ] user friendly errors using TS diagnostics
  • [ ] initialize project
    • [x] create a package.json (improvements needed)
    • [x] create a tsconfig.json (improvements needed)
    • [ ] ...
  • [ ] Typings/IDE completions
    • [x] removed standard JS lib
    • [x] ucode core functions
    • [x] uloop (some fixes/improvements needed)
    • [x] ubus (some fixes/improvements needed)
    • [x] fs (incomplete?)
    • [x] uci (incomplete for packages)
    • [x] math
    • [ ] nl80211
    • [ ] resolv
    • [ ] struct
    • [ ] rtnl
  • [ ] transformers
    • [x] default parameters
    • [x] undefined => null
    • [x] methods to functions
    • [x] arrow function compatibility
    • [x] exports grouped at the end
    • [x] for (.. of ..) => for (.. in ..)
    • [x] throw
    • [x] fixes import paths
    • [ ] destructuring arrays
    • [ ] destructuring objects
    • [x] classes
      • [x] private/protected/public members (static or not)
      • [x] constructor (as well as members in parameters)
      • [x] member initializers
      • [x] inheritance
      • [x] super keyword
    • [ ] decorators
      • [ ] functions
      • [ ] class
      • [x] class members
  • [ ] test runner (WIP, not even in this repo but to be imported from private closed sources)
    • [ ] run on docker
    • [ ] run on specific device

Package Sidebar

Install

npm i ts-ucode

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

91.9 kB

Total Files

37

Last publish

Collaborators

  • huafu