---
# System prepended metadata

title: TB Source Tree
tags: [ThingsBoard]

---

# TB Source Tree

:::info
* **TB Architecture**
![image](https://hackmd.io/_uploads/ryklahYFkx.png)

:::

[toc]

## 目錄結構

* version: **tb 3.9.0**
```bash
star@may:~/workspace$ git clone --branch release-3.9 https://github.com/thingsboard/thingsboard.git
star@may:~/workspace$ tree -L 1 thingsboard/
thingsboard/
├── application
├── build_proto.sh
├── build.sh
├── common
├── dao
├── docker
├── img
├── LICENSE
├── license-header-template.txt
├── lombok.config
├── monitoring
├── msa
├── netty-mqtt
├── packaging
├── pom.xml
├── pull_request_template.md
├── README.md
├── rest-client
├── rule-engine
├── security.md
├── tools
├── transport
└── ui-ngx
```

### application

:::info
核心應用目錄，包含了大部分的業務邏輯和功能模組，
* src/main/java/org/thingsboard/server：包含 Java 原始碼，ThingsBoard 的核心邏輯。
* src/main/resources：包含資源文件, 如配置文件。
:::

```
thingsboard/application/
├── pom.xml
└── src
    ├── main
    │   ├── conf
    │   │   ├── logback.xml
    │   │   └── thingsboard.conf
    │   ├── data
    │   │   ├── certs
    │   │   ├── json
    │   │   ├── lwm2m-registry
    │   │   ├── resources
    │   │   └── upgrade
    │   ├── java
    │   │   └── org
    │   └── resources
    │       ├── banner.txt
    │       ├── i18n
    │       ├── logback.xml
    │       ├── templates
    │       └── thingsboard.yml
    └── test
        ├── java
        │   └── org
        └── resources
            ├── application-test.properties
            ├── coap
            ├── logback-test.xml
            ├── lwm2m
            ├── mockito-extensions
            ├── provision
            └── update
```

###  common

:::info
共用模組，包含一些通用的工具類別和配置。
* data：共用資料結構和工具類別。
:::

```
thingsboard/common/
├── actor
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
├── cache
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
├── cluster-api
│   ├── pom.xml
│   └── src
│       └── main
│           └── java
├── coap-server
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           └── java
├── dao-api
│   ├── pom.xml
│   └── src
│       └── main
│           └── java
├── data
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
├── edge-api
│   ├── pom.xml
│   └── src
│       └── main
│           ├── java
│           └── proto
├── message
│   ├── pom.xml
│   └── src
│       ├── main
│       │   ├── java
│       │   └── proto
│       └── test
│           ├── java
│           └── resources
├── pom.xml
├── proto
│   ├── pom.xml
│   └── src
│       ├── main
│       │   ├── java
│       │   └── proto
│       └── test
│           ├── java
│           └── resources
├── queue
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
├── script
│   ├── pom.xml
│   ├── remote-js-client
│   │   ├── pom.xml
│   │   └── src
│   │       └── main
│   └── script-api
│       ├── pom.xml
│       └── src
│           ├── main
│           └── test
├── stats
│   ├── pom.xml
│   └── src
│       └── main
│           └── java
├── transport
│   ├── coap
│   │   ├── pom.xml
│   │   └── src
│   │       ├── main
│   │       └── test
│   ├── http
│   │   ├── pom.xml
│   │   └── src
│   │       ├── main
│   │       └── test
│   ├── lwm2m
│   │   ├── pom.xml
│   │   └── src
│   │       ├── main
│   │       └── test
│   ├── mqtt
│   │   ├── pom.xml
│   │   └── src
│   │       ├── main
│   │       └── test
│   ├── pom.xml
│   ├── snmp
│   │   ├── pom.xml
│   │   └── src
│   │       ├── main
│   │       └── test
│   └── transport-api
│       ├── pom.xml
│       └── src
│           ├── main
│           └── test
├── util
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
└── version-control
    ├── pom.xml
    └── src
        └── main
            └── java
```

### dao

:::info
dao 資料夾的全名是 ``Data Access Object``。 這是一種設計模式，用於抽象和封裝對數據源的訪問和操作。
* **用途**
數據訪問抽象：dao 資料夾中的類別和方法提供了對資料庫的抽象訪問。這意味著它們負責執行資料庫操作，如查詢、插入、更新和刪除資料，而不暴露資料庫的具體實現細節。
分離關注點：通過使用 DAO 模式，ThingsBoard 將業務邏輯與數據訪問邏輯分開，讓原始碼更具可維護性和可測試性，因為資料訪問邏輯集中在一個地方。
資料庫獨立性：DAO 模式允許 ThingsBoard 更容易地切換資料庫或資料存儲技術，因為資料訪問邏輯被封裝在 DAO 類中，而不是散佈在整個應用程式中。
簡化測試：由於 DAO 類別專注於數據訪問，可以通過模擬或偽裝 DAO 類別簡化單元測試，而無需依賴實際的資料庫。
* **結構**
DAO 類：dao 資料夾中通常包含多個 DAO 類別，每個類別負責特定實體（如設備、用戶、資產等）的資料訪問操作。
方法：每個 DAO 類通常包含多個方法，這些方法對應於對數據庫的各種操作，如 save、find、update 和 delete。
這些 DAO 類別共同構成了 ThingsBoard 資料訪問層，確保資料操作的一致性和可靠性。
:::


```
thingsboard/dao/
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── org
    │   └── resources
    │       ├── cassandra
    │       ├── sql
    │       └── xss-policy.xml
    └── test
        ├── java
        │   └── org
        └── resources
            ├── application-test.properties
            ├── cassandra-test.properties
            ├── cassandra-test.yaml
            ├── logback-test.xml
            ├── nosql-test.properties
            ├── sql
            ├── sql-test.properties
            ├── TestJsonData.json
            ├── TestJsonDescriptor.json
            ├── timescale-test.properties
            └── xss-policy.xml
```

### docker

:::info
Docker 相關的配置和 script，用於構建和部署 ThingsBoard 的 Docker 映像。
:::

```
thingsboard/docker/
├── cache-redis-cluster.env
├── cache-redis.env
├── cache-redis-sentinel.env
├── compose-utils.sh
├── docker-check-log-folders.sh
├── docker-compose.aws-sqs.yml
├── docker-compose.cassandra.volumes.yml
├── docker-compose.confluent.yml
├── docker-compose.hybrid.yml
├── docker-compose.kafka.yml
├── docker-compose.postgres.volumes.yml
├── docker-compose.postgres.yml
├── docker-compose.prometheus-grafana.yml
├── docker-compose.pubsub.yml
├── docker-compose.rabbitmq.yml
├── docker-compose.redis-cluster.volumes.yml
├── docker-compose.redis-cluster.yml
├── docker-compose.redis-sentinel.volumes.yml
├── docker-compose.redis-sentinel.yml
├── docker-compose.redis.volumes.yml
├── docker-compose.redis.yml
├── docker-compose.service-bus.yml
├── docker-compose.volumes.yml
├── docker-compose.yml
├── docker-create-log-folders.sh
├── docker-install-tb.sh
├── docker-remove-services.sh
├── docker-start-services.sh
├── docker-stop-services.sh
├── docker-update-service.sh
├── docker-upgrade-tb.sh
├── haproxy
│   └── config
│       ├── blocklist.txt
│       ├── haproxy.cfg
│       └── trustlist.txt
├── kafka.env
├── monitoring
│   ├── grafana
│   │   ├── config.monitoring
│   │   └── provisioning
│   │       ├── dashboards
│   │       └── datasources
│   └── prometheus
│       └── prometheus.yml
├── queue-aws-sqs.env
├── queue-confluent.env
├── queue-kafka.env
├── queue-pubsub.env
├── queue-rabbitmq.env
├── queue-service-bus.env
├── README.md
├── tb-coap-transport.env
├── tb-http-transport.env
├── tb-js-executor.env
├── tb-lwm2m-transport.env
├── tb-mqtt-transport.env
├── tb-node
│   └── conf
│       ├── logback.xml
│       └── thingsboard.conf
├── tb-node.env
├── tb-node.hybrid.env
├── tb-node.postgres.env
├── tb-snmp-transport.env
├── tb-transports
│   ├── coap
│   │   └── conf
│   │       ├── logback.xml
│   │       └── tb-coap-transport.conf
│   ├── http
│   │   └── conf
│   │       ├── logback.xml
│   │       └── tb-http-transport.conf
│   ├── lwm2m
│   │   └── conf
│   │       ├── logback.xml
│   │       └── tb-lwm2m-transport.conf
│   ├── mqtt
│   │   └── conf
│   │       ├── logback.xml
│   │       └── tb-mqtt-transport.conf
│   └── snmp
│       └── conf
│           ├── logback.xml
│           └── tb-snmp-transport.conf
├── tb-vc-executor
│   └── conf
│       ├── logback.xml
│       └── tb-vc-executor.conf
├── tb-vc-executor.env
└── tb-web-ui.env
```

### img

```
thingsboard/img/
└── logo.png
```

### monitoring

:::info
monitoring 資料夾通常負責監控 ThingsBoard 平台的運行狀態和性能。
此模組的主要目的是提供工具和功能，幫助管理員和開發者監控系統的健康狀態、性能指標和潛在問題。
:::

```
thingsboard/monitoring/
├── pom.xml
└── src
    └── main
        ├── conf
        │   ├── logback.xml
        │   └── tb-monitoring.conf
        ├── java
        │   └── org
        └── resources
            ├── logback.xml
            ├── lwm2m
            ├── root_rule_chain.json
            └── tb-monitoring.yml
```

### msa

:::info
微服務架構 (MicroService Architecture) 模組，支援 ThingsBoard 的微服務化部署。
:::

```
thingsboard/msa/
├── black-box-tests
│   ├── pom.xml
│   ├── README.md
│   └── src
│       └── test
│           ├── java
│           └── resources
├── js-executor
│   ├── api
│   │   ├── httpServer.ts
│   │   ├── jsExecutor.models.ts
│   │   ├── jsExecutor.ts
│   │   ├── jsInvokeMessageProcessor.ts
│   │   └── utils.ts
│   ├── config
│   │   ├── custom-environment-variables.yml
│   │   ├── default.yml
│   │   ├── logger.ts
│   │   └── tb-js-executor.conf
│   ├── docker
│   │   ├── Dockerfile
│   │   └── start-js-executor.sh
│   ├── install.js
│   ├── package.json
│   ├── pom.xml
│   ├── queue
│   │   ├── kafkaTemplate.ts
│   │   └── queue.models.ts
│   ├── server.ts
│   ├── tsconfig.json
│   └── yarn.lock
├── monitoring
│   ├── docker
│   │   ├── Dockerfile
│   │   └── start-tb-monitoring.sh
│   └── pom.xml
├── pom.xml
├── tb
│   ├── docker
│   │   ├── install-tb.sh
│   │   ├── logback.xml
│   │   ├── start-tb.sh
│   │   ├── thingsboard.conf
│   │   └── upgrade-tb.sh
│   ├── docker-cassandra
│   │   ├── Dockerfile
│   │   ├── start-db.sh
│   │   └── stop-db.sh
│   ├── docker-postgres
│   │   ├── Dockerfile
│   │   ├── start-db.sh
│   │   └── stop-db.sh
│   ├── pom.xml
│   └── README.md
├── tb-node
│   ├── docker
│   │   ├── Dockerfile
│   │   └── start-tb-node.sh
│   └── pom.xml
├── transport
│   ├── coap
│   │   ├── docker
│   │   │   ├── Dockerfile
│   │   │   └── start-tb-coap-transport.sh
│   │   └── pom.xml
│   ├── http
│   │   ├── docker
│   │   │   ├── Dockerfile
│   │   │   └── start-tb-http-transport.sh
│   │   └── pom.xml
│   ├── lwm2m
│   │   ├── docker
│   │   │   ├── Dockerfile
│   │   │   └── start-tb-lwm2m-transport.sh
│   │   └── pom.xml
│   ├── mqtt
│   │   ├── docker
│   │   │   ├── Dockerfile
│   │   │   └── start-tb-mqtt-transport.sh
│   │   └── pom.xml
│   ├── pom.xml
│   └── snmp
│       ├── docker
│       │   ├── Dockerfile
│       │   └── start-tb-snmp-transport.sh
│       └── pom.xml
├── vc-executor
│   ├── pom.xml
│   └── src
│       └── main
│           ├── conf
│           ├── java
│           └── resources
├── vc-executor-docker
│   ├── docker
│   │   ├── Dockerfile
│   │   └── start-tb-vc-executor.sh
│   └── pom.xml
└── web-ui
    ├── config
    │   ├── custom-environment-variables.yml
    │   ├── default.yml
    │   ├── logger.ts
    │   └── tb-web-ui.conf
    ├── docker
    │   ├── Dockerfile
    │   └── start-web-ui.sh
    ├── install.js
    ├── package.json
    ├── pom.xml
    ├── server.ts
    ├── tsconfig.json
    └── yarn.lock
```

### netty-mqtt

:::info
Netty 框架：netty-mqtt 資料夾的名稱表明 ThingsBoard 使用了 Netty 框架來實現 MQTT 功能。Netty 是一個非阻塞的、事件驅動的網絡應用框架，廣泛用於高性能的網絡應用開發。

模組化設計：使用 netty-mqtt 這樣的命名可能是為了更好地模組化 ThingsBoard 的代碼結構，使得 MQTT 相關的功能更加獨立和可擴展。

性能優化：Netty 框架以其高性能和低延遲著稱，使用 Netty 來實現 MQTT 功能可能是為了提高 ThingsBoard 的性能和可靠性。

如何理解和使用
原始碼結構：瀏覽 netty-mqtt 資料夾，了解其中的類別和方法，特別是那些處理 MQTT 消息的核心類別。
配置和使用：查看 ThingsBoard 的配置文件和官方文檔，了解如何配置和使用 MQTT 功能。
擴展和自定義：如果需要擴展或自定義 MQTT 功能，可以在 netty-mqtt 資料夾中進行修改或添加新的實現。
:::

```
thingsboard/netty-mqtt/
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── org
    └── test
        ├── java
        │   └── org
        └── resources
            ├── junit-platform.properties
            └── logback-test.xml
```

### packaging

:::info
packaging 資料夾通常負責處理 ThingsBoard 的打包和發布過程。
此資料夾包含了將 ThingsBoard 打包成可發行形式（如 Docker 映像、Debian 套件等）所需的 script 和配置文件。
:::

```
thingsboard/packaging/
├── java
│   ├── assembly
│   │   └── windows.xml
│   ├── build.gradle
│   ├── filters
│   │   ├── unix.properties
│   │   └── windows.properties
│   └── scripts
│       ├── control
│       │   ├── deb
│       │   ├── rpm
│       │   └── template.service
│       ├── install
│       │   ├── install_dev_db.sh
│       │   ├── install.sh
│       │   ├── logback.xml
│       │   ├── upgrade_dev_db.sh
│       │   └── upgrade.sh
│       └── windows
│           ├── install.bat
│           ├── install_dev_db.bat
│           ├── service.xml
│           ├── uninstall.bat
│           └── upgrade.bat
└── js
    ├── assembly
    │   └── windows.xml
    ├── build.gradle
    ├── filters
    │   ├── unix.properties
    │   └── windows.properties
    └── scripts
        ├── control
        │   ├── deb
        │   ├── rpm
        │   └── template.service
        ├── init
        │   └── template
        └── windows
            ├── install.bat
            ├── service.xml
            └── uninstall.bat
```

### rest-client

:::info
rest-client 資料夾通常負責處理與外部 REST API 的互動。此模組允許 ThingsBoard 與其他服務或平台進行通信，從而實現資料的匯入、匯出或其他形式的整合。
:::

```
thingsboard/rest-client/
├── pom.xml
└── src
    └── main
        ├── java
        │   └── org
        └── resources
            └── logback.xml
```

### rule-engine

:::info
規則引擎模組，用於處理和轉換資料流。
* rule-engine-api：規則引擎的 API 接口。
* rule-engine-components：規則引擎的元件。
:::

```
thingsboard/rule-engine/
├── pom.xml
├── rule-engine-api
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       └── test
│           ├── java
│           └── resources
└── rule-engine-components
    ├── pom.xml
    └── src
        ├── main
        │   ├── java
        │   └── resources
        └── test
            ├── java
            └── resources
```

### tools

:::info
工具模組，包含一些輔助工具和 script。
:::

```
thingsboard/tools/
├── pom.xml
└── src
    └── main
        ├── java
        │   └── org
        ├── python
        │   ├── check_yml_file.py
        │   ├── mqtt-send-telemetry.py
        │   ├── one-way-ssl-mqtt-client.py
        │   ├── simple-mqtt-client.py
        │   └── two-way-ssl-mqtt-client.py
        └── shell
            ├── client.keygen.sh
            ├── keygen.properties
            ├── lwm2m
            └── server.keygen.sh

```

### transport

:::info
transport 資料夾是負責處理不同傳輸協議的模組。

:::

```
thingsboard/transport/
├── coap
│   ├── pom.xml
│   └── src
│       └── main
│           ├── conf
│           ├── java
│           └── resources
├── http
│   ├── pom.xml
│   └── src
│       └── main
│           ├── conf
│           ├── java
│           └── resources
├── lwm2m
│   ├── pom.xml
│   └── src
│       └── main
│           ├── conf
│           ├── java
│           └── resources
├── mqtt
│   ├── pom.xml
│   └── src
│       └── main
│           ├── conf
│           ├── java
│           └── resources
├── pom.xml
└── snmp
    ├── pom.xml
    └── src
        └── main
            ├── conf
            ├── java
            └── resources
```

### ui-ngx

:::info
用戶介面模組，包含了 ThingsBoard 的前端原始碼 (基於 Angular 的前端介面)。
src：包含前端的原始碼和資源文件。
:::

```
thingsboard/ui-ngx/
├── angular.json
├── esbuild
│   └── tb-esbuild-plugins.ts
├── generate-icon-metadata.js
├── generate-types.js
├── LICENSE
├── package.json
├── patches
│   ├── @angular+build+18.2.12.patch
│   ├── @angular+core+18.2.13.patch
│   ├── @angular+flex-layout+15.0.0-beta.42.patch
│   ├── angular-gridster2+18.0.1.patch
│   ├── canvas-gauges+2.1.7.patch
│   ├── jquery.terminal+2.44.1.patch
│   └── @mat-datetimepicker+core+14.0.0.patch
├── pom.xml
├── proxy.conf.js
├── src
│   ├── app
│   │   ├── app.component.html
│   │   ├── app.component.scss
│   │   ├── app.component.ts
│   │   ├── app.module.ts
│   │   ├── app-routing.module.ts
│   │   ├── core
│   │   │   ├── api
│   │   │   ├── auth
│   │   │   ├── core.module.ts
│   │   │   ├── core.state.ts
│   │   │   ├── css
│   │   │   ├── guards
│   │   │   ├── http
│   │   │   ├── interceptors
│   │   │   ├── local-storage
│   │   │   ├── meta-reducers
│   │   │   ├── notification
│   │   │   ├── operator
│   │   │   ├── public-api.ts
│   │   │   ├── services
│   │   │   ├── settings
│   │   │   ├── translate
│   │   │   ├── utils.ts
│   │   │   └── ws
│   │   ├── modules
│   │   │   ├── common
│   │   │   ├── dashboard
│   │   │   ├── home
│   │   │   └── login
│   │   └── shared
│   │       ├── adapter
│   │       ├── animations
│   │       ├── components
│   │       ├── decorators
│   │       ├── directives
│   │       ├── import-export
│   │       ├── legacy
│   │       ├── models
│   │       ├── pipe
│   │       ├── public-api.ts
│   │       ├── services
│   │       └── shared.module.ts
│   ├── assets
│   │   ├── android-ios-stores-badges
│   │   │   ├── android_store_en_black_badge.svg
│   │   │   └── ios_store_en_black_badge.svg
│   │   ├── copy-code-icon.svg
│   │   ├── dashboard
│   │   │   ├── api_usage.json
│   │   │   ├── customer_user_home_page.json
│   │   │   ├── sys_admin_home_page.json
│   │   │   └── tenant_admin_home_page.json
│   │   ├── docker.svg
│   │   ├── fonts
│   │   │   ├── material-icons.css
│   │   │   ├── MaterialIcons-Regular.ttf
│   │   │   └── MaterialIconsRound-Regular.otf
│   │   ├── help
│   │   │   ├── en_US
│   │   │   └── images
│   │   ├── home
│   │   │   ├── greetings_bg.svg
│   │   │   ├── no_data_bg.svg
│   │   │   └── no_data_folder_bg.svg
│   │   ├── jstree
│   │   │   ├── tb32px.png
│   │   │   └── tb40px.png
│   │   ├── linux.svg
│   │   ├── locale
│   │   │   ├── locale.constant-ar_AE.json
│   │   │   ├── locale.constant-ca_ES.json
│   │   │   ├── locale.constant-cs_CZ.json
│   │   │   ├── locale.constant-da_DK.json
│   │   │   ├── locale.constant-de_DE.json
│   │   │   ├── locale.constant-el_GR.json
│   │   │   ├── locale.constant-en_US.json
│   │   │   ├── locale.constant-es_ES.json
│   │   │   ├── locale.constant-fa_IR.json
│   │   │   ├── locale.constant-fr_FR.json
│   │   │   ├── locale.constant-it_IT.json
│   │   │   ├── locale.constant-ja_JP.json
│   │   │   ├── locale.constant-ka_GE.json
│   │   │   ├── locale.constant-ko_KR.json
│   │   │   ├── locale.constant-lt_LT.json
│   │   │   ├── locale.constant-lv_LV.json
│   │   │   ├── locale.constant-nl_BE.json
│   │   │   ├── locale.constant-pl_PL.json
│   │   │   ├── locale.constant-pt_BR.json
│   │   │   ├── locale.constant-ro_RO.json
│   │   │   ├── locale.constant-sl_SI.json
│   │   │   ├── locale.constant-tr_TR.json
│   │   │   ├── locale.constant-uk_UA.json
│   │   │   ├── locale.constant-zh_CN.json
│   │   │   └── locale.constant-zh_TW.json
│   │   ├── logo_title_white.svg
│   │   ├── logo_white.svg
│   │   ├── macos.svg
│   │   ├── metadata
│   │   │   ├── material-icons.json
│   │   │   └── units.json
│   │   ├── notification-bell.svg
│   │   ├── shadow.png
│   │   ├── split.js
│   │   │   └── grips
│   │   ├── widget
│   │   │   ├── alarm-count
│   │   │   ├── battery-level
│   │   │   ├── button
│   │   │   ├── doughnut
│   │   │   ├── entity-count
│   │   │   ├── liquid-level
│   │   │   ├── power-button
│   │   │   ├── progress-bar
│   │   │   ├── segmented-button
│   │   │   ├── signal-strength
│   │   │   ├── simple-gauge
│   │   │   ├── single-switch
│   │   │   ├── slider
│   │   │   ├── status-widget
│   │   │   ├── value-card
│   │   │   ├── value-chart-card
│   │   │   └── wind-speed-direction
│   │   ├── widget-preview-empty.svg
│   │   └── windows.svg
│   ├── environments
│   │   ├── environment.prod.ts
│   │   └── environment.ts
│   ├── form.scss
│   ├── index.html
│   ├── main.ts
│   ├── polyfills.ts
│   ├── scss
│   │   ├── animations.scss
│   │   ├── constants.scss
│   │   ├── fonts.scss
│   │   └── mixins.scss
│   ├── styles.scss
│   ├── theme
│   │   └── datepicker-theme.scss
│   ├── theme-overwrites.scss
│   ├── theme.scss
│   ├── thingsboard.ico
│   ├── tsconfig.app.json
│   ├── typings
│   │   ├── jquery.flot.typings.d.ts
│   │   ├── jquery.jstree.typings.d.ts
│   │   ├── jquery.typings.d.ts
│   │   ├── leaflet-extend-tb.d.ts
│   │   ├── leaflet-geoman-extend.d.ts
│   │   ├── rawloader.typings.d.ts
│   │   ├── split.js.typings.d.ts
│   │   └── utils.d.ts
│   └── zone-flags.ts
├── tailwind.config.js
├── tsconfig.json
└── yarn.lock
```

# References
