Skip to content

FAQ

This section summarizes the technical and licensing issues most frequently encountered by developers when using TechUI. If your issue is not listed here, please try using tuiCoreInfo() to view detailed error codes, or contact technical support.

Environment & Deployment

Q: Missing dependency packages after installation?

A: Theoretically, TechUI ecosystem packages are installed automatically. If that fails, they must be added manually. Usually, when installing core libraries like @techui/scifi, npm/yarn automatically installs related ecosystem packages based on dependencies. However, in cases of mirror server delays (e.g., cnpm, private corporate registries), dependencies might be missing.

Solutions:

  1. Manual Installation: Upon discovering missing dependencies, please manually execute commands like npm install @techui/utils @techui/themes based on the error message.
  2. Version Matching: Please ensure you check the dependency versions declared in the package.json of your currently installed core component library (e.g., @techui/scifi).
    • Recommendation: If you are using the latest version of the core library, simply installing the latest version of the relevant dependencies is sufficient.

Notes on Specific Environments:

  • pnpm: Issues with installing associated dependencies have indeed been observed when using pnpm.
  • npm: No such issues have been found so far when using npm.

Q: Encountering exception errors and don't know how to debug?

A: This may be caused by Vite's Dependency Optimization (Pre-bundling). It is recommended to exclude the TechUI core library and some ecosystem packages from pre-bundling.

Since TechUI contains a Wasm core, Vite's default pre-bundling mechanism does not process Wasm files.

Solution: Configure optimizeDeps.exclude in vite.config.ts:

typescript
// vite.config.ts
export default defineConfig({
  optimizeDeps: {
    exclude: [
      "@techui/prime", 
      // Configure based on your selected component library 
      // e.g.: @techui/prime, @techui/admin, @techui/base, @techui/scifi
      "@techui/utils",
      "@techui/themes"
      // Other ecosystem packages...
    ]
  }
})

Notes on Specific Environments:

  • Vite 7.3.1 + TS Environment: It has been confirmed that @techui/themes must be added to the exclude list; otherwise, exception errors will occur.
  • Vite 7.1.7 Environment: Tested to run normally without special configuration for @techui/themes.

If you encounter unexplainable runtime errors, please prioritize trying to add all relevant @techui/* packages to the exclude list.

Licensing & Keys

Q: Is it safe to write the License Key directly into the frontend code?

A: Relatively safe. TechUI adopts a "Zero Trust" verification architecture.

  1. Cannot be hidden: As a pure frontend solution, the Key is inevitably exposed in the code.
  2. Difficult to exploit: The Key itself is just an encrypted credential. Without the private key algorithms inside the Wasm, an attacker cannot generate new authorizations or decrypt core functions even with the Key.

Furthermore, if your instance is to be deployed to a public network environment, it is recommended to contact the administrator to bind a domain name to the license. In this case, leakage of the Key will not lead to abuse.

By default, domain binding or local-only deployment restrictions are not enabled for licenses.

Q: What happens when the Development License expires?

A: The system will trigger a circuit breaker (shutdown). If you have a Development License, please be sure to pay attention to the Days until expiration: [XX] prompt in the console.

Development & Integration

Q: Why is on-demand import (Tree-shaking) not supported?

A: A trade-off based on architecture and security. The core of TechUI is a complete Wasm binary module, which cannot be split like JS code. At the same time, full packaging is also intended to protect core algorithms from reverse engineering. For details, please refer to the [On-demand Import Not Supported] chapter.

Q: Can I use both the Base and Scifi libraries at the same time?

A: No. Following the "Single Core Principle", it is strictly forbidden to introduce multiple TechUI core libraries in the same project; otherwise, it will cause Wasm context conflicts. If you need the functions of both, please upgrade to Prime (Flagship Edition).

Business & Compliance

Q: I purchased a Commercial License; can I distribute it to my clients?

A: Yes, but you must follow sub-licensing rules. The Commercial License includes commercial distribution rights. You need to generate a separate Sub-License for each client project you deliver in the TechUI Developer Dashboard. It is strictly forbidden to give your Master Key directly to clients.

B: For other licenses, please purchase and generate licenses in the client's name.

C: The Free Version has no restrictions and can be distributed freely.

Q: Why is it unavailable in certain countries?

A: Geo-fencing restrictions. Based on compliance and anti-fraud strategies, we have restricted specific regions such as Myanmar and Cambodia. If your business is a locally compliant enterprise, please contact business support to apply for a whitelist exemption.

Special Issues

Q: Why is a warning message prompted when the logout event is triggered?

In the Prime or Admin component libraries, when triggering logout, the following warning message appears: TDB: Database deletion is blocked, make sure all connections are closed !

A: Because the navigation menus of Prime and Admin utilize the browser's native IndexedDB database. If two browser tabs with the same address are open, closing one of them during logout causes an error where the IndexedDB connection cannot be closed.

Released under the MIT License.