What Programming Languages Are Used in everyone-can-use-english?

The everyone-can-use-english repository uses TypeScript as its primary language, supplemented by JavaScript, JSON, Markdown, HTML, and Shell scripts.

The everyone-can-use-english project by ZuodaoTech is a multilingual codebase designed to deliver an English learning web application. Built with modern tooling and extensive documentation, it combines statically typed application logic with flexible scripting and rich content formats. This article breaks down each programming language used, why it was chosen, and where you'll find it in the source tree.

Primary Language: TypeScript

TypeScript (.ts) drives the core application logic. It provides compile-time type safety, modern ES-module support, and seamless integration with the Vite build system.

Key TypeScript files include:

// Example usage from utils.ts
import { formatTime } from './utils';

const readable = formatTime(125); // → "02:05"
console.log(readable);

The project leverages TypeScript for both source code and configuration, ensuring consistency from application logic to build tooling.

Supporting Languages and Their Roles

JavaScript (.js, .mjs)

JavaScript handles Node-based entry points, runtime scripts, and legacy compatibility layers. The repository uses .mjs files for modern ES-module scripts.

Representative files:

  • entry/index.js — Application entry point
  • enjoy/scripts/download-dictionaries.mjs — Script for fetching language dictionary assets

Run the dictionary download script with:

node ./enjoy/scripts/download-dictionaries.mjs

JSON (.json)

JSON serves as the universal configuration and package manifest format. It defines dependencies, TypeScript compiler options, and tool settings.

Critical JSON files:

Markdown (.md)

Markdown powers the extensive documentation and tutorial content that forms the core learning material. The repository contains substantial educational content in Chinese and English.

Key documentation files:

  • README.md — Primary project documentation and usage guide
  • new-edition-drafts/英文语音简明教程.md — Core tutorial on English pronunciation

HTML (.html)

HTML appears as rendered documentation pages generated from Markdown sources, such as new-edition-drafts/英文语音简明教程.html.

Shell Script (.sh)

Shell scripts automate platform-specific setup tasks. The repository includes macOS-specific automation:


# Example: macOS certificate installation

chmod +x ./enjoy/scripts/add-macos-cert.sh
./enjoy/scripts/add-macos-cert.sh

The file enjoy/scripts/add-macos-cert.sh demonstrates typical platform-specific automation found in the codebase.

Asset Files

Beyond code, the repository contains media assets that support the learning experience:

  • .png, .jpg — Images such as book/images/cover.jpg
  • .mp4 — Video resources like new-edition-drafts/videos/closing-door-as-approaching.mp4

How the Languages Work Together

The everyone-can-use-english architecture follows a clear separation:

Layer Language Purpose
Application core TypeScript Type-safe business logic and UI components
Build & tooling TypeScript/JavaScript Vite configuration and custom scripts
Runtime scripts JavaScript (.mjs) Dictionary downloads and automation
Documentation Markdown/HTML Tutorials and project guides
Configuration JSON Package management and compiler settings
Platform setup Shell macOS certificate installation

This multilingual approach allows the maintainers to use the right tool for each task: TypeScript for maintainable application code, JavaScript for lightweight scripts, Markdown for collaborative documentation, and Shell for system integration.

Summary

  • TypeScript is the dominant language, used for application code and Vite configuration in files like enjoy/src/utils.ts and enjoy/vite.main.config.ts
  • JavaScript (including .mjs modules) handles entry points and utility scripts such as download-dictionaries.mjs
  • JSON defines dependencies in package.json and TypeScript settings in tsconfig.json
  • Markdown contains the core educational content, with tutorials stored in new-edition-drafts/
  • Shell scripts provide macOS-specific automation via add-macos-cert.sh

Frequently Asked Questions

Is everyone-can-use-english built with React?

Yes. According to the package.json file in the repository, React is listed as a dependency alongside Vite and other modern frontend tools. The TypeScript source files implement React components with type safety.

Why does the project use both TypeScript and JavaScript?

The maintainers use TypeScript for the main application to benefit from static type checking and better IDE support. JavaScript (particularly .mjs modules) is reserved for simpler scripts like download-dictionaries.mjs where the overhead of type definitions adds minimal value.

Where is the learning content stored in the repository?

The educational material resides primarily in new-edition-drafts/, with source files written in Markdown (e.g., 英文语音简明教程.md) and rendered to HTML for distribution. The directory also contains video assets referenced by the tutorials.

What build tool does everyone-can-use-english use?

The project uses Vite, configured in enjoy/vite.main.config.ts. Vite provides fast development server startup and optimized production builds, with full TypeScript support throughout the configuration layer.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →