This document outlines the directory and file structure of the captcha-canvas project. Understanding the layout of the project is essential for effective development and contribution.
The root directory contains configuration files, documentation, and core project folders.
/assets: Contains static assets, such as images and fonts, used within the project./docs: Holds the auto-generated documentation from TypeDoc./examples: Includes example scripts and output images demonstrating the usage of captcha-canvas./node_modules: Stores all the npm dependencies for the project. (Note: This directory is included in .gitignore and is not version-controlled)./scripts: Contains build-related scripts, such as the postbuild.js script for copying assets./src: The main source code directory, containing all the TypeScript files./technical: Contains technical documentation files, including this one..all-contributorsrc: Configuration file for the all-contributors bot to recognize and credit contributors..eslintrc.json: Configuration file for ESLint, our static code analysis tool..gitignore: Specifies intentionally untracked files to be ignored by Git..npmignore: Specifies files to be ignored when publishing the package to npm.LICENSE: The MIT license file for the project.package.json: Lists the project dependencies and defines scripts for building, testing, and other development tasks.package-lock.json: Records the exact version of every dependency, ensuring consistent installations.README.md: The main README file for the project.tsconfig.json: The configuration file for the TypeScript compiler./src)The /src directory is where all the primary logic of captcha-canvas resides.
captcha.ts: The core class file for generating the captcha image. It handles the canvas, drawing, and other related functionalities.CaptchaGenerator.ts: A class that orchestrates the captcha generation process, combining various components.constants.ts: Defines default options, interfaces, and constant values used throughout the project.extra.ts: Contains utility functions, such as createCaptcha and createCaptchaSync, for easier captcha creation.index.ts: The main entry point of the package. It exports the necessary classes and functions for public use.util.ts: A collection of utility functions for tasks like generating random values and text.