| 
1 |  | -You may also need to check <https://chromium.googlesource.com/chromiumos/docs/+/HEAD/glossary.md>.  | 
 | 1 | +# Glossary  | 
2 | 2 | 
 
  | 
3 |  | -* CITGM: "The Canary in the Goldmine". CITGM is a simple tool for pulling down  | 
4 |  | -  an arbitrary module from npm and testing it using a specific version of the  | 
5 |  | -  node runtime. The Node.js project uses CITGM to smoke test our releases and  | 
6 |  | -  controversial changes. See more details on the [CITGM repository](https://github.com/nodejs/citgm).  | 
7 |  | -* LGTM: "Looks good to me", commonly used to approve a code review.  | 
8 |  | -* PTAL: Please take a look.  | 
9 |  | -* RSLGTM: "Rubber-stamp looks good to me". The reviewer approving without doing  | 
10 |  | -  a full code review.  | 
11 |  | -* TSC: Technical Steering Committee. Detailed info see  | 
12 |  | -  [TSC](./GOVERNANCE.md#technical-steering-committee).  | 
13 |  | -* WIP: "Work In Progress" - e.g. a patch that's not finished, but may be worth  | 
14 |  | -  an early look.  | 
15 |  | -* WPT: [web-platform-tests](https://github.com/web-platform-tests/wpt)  | 
16 |  | -* godbolt: [Compiler Explorer](https://godbolt.org/) run compilers interactively  | 
17 |  | -  from your web browser and interact with the assembly. Was created by and is  | 
18 |  | -  primarily administrated by Matt Godbolt.  | 
19 |  | -* primordials: Pristine built-ins that are not affected by prototype pollution  | 
20 |  | -  and tampering with built-ins.  | 
21 |  | -* undici: An alternative HTTP client used in Node.js. See more details  | 
22 |  | -  on the [undici repository](https://github.com/nodejs/undici).  | 
 | 3 | +This file documents various terms and definitions used throughout the Node.js community.  | 
 | 4 | + | 
 | 5 | +* **ABI**: [Application Binary Interface][] - Defines the interface between two binary program modules.  | 
 | 6 | +* **AFAICT**: As Far As I Can Tell.  | 
 | 7 | +* **AFAIK**: As Far As I Know.  | 
 | 8 | +* **API**: [Application Programming Interface][] - A set of rules and protocols that allows different software  | 
 | 9 | +  applications to communicate with each other. APIs are used to enable integration between different systems.  | 
 | 10 | +* **ASAP**: As Soon As Possible.  | 
 | 11 | +* **BE**: Big [Endian][] - A Byte Order where the largest bit comes first. The opposite of **LE**.  | 
 | 12 | +* **Bootstrap**: Early phase in the Node.js process startup - sets up the execution environment and loads internal  | 
 | 13 | +  modules.  | 
 | 14 | +* **CI**: [Continuous Integration][] - Development practice where code changes are frequently merged into a shared  | 
 | 15 | +  repository.  | 
 | 16 | +* **CITGM**: Canary In The Gold Mine - A smoke test that tests the code change with popular npm packages.  | 
 | 17 | +* **CJS**: [CommonJS][] - Standard for JavaScript modules, and in most cases, [CommonJS Modules][].  | 
 | 18 | +* **CLDR**: [Common Locale Data Repository][] - A repository of locale data used in software engineering.  | 
 | 19 | +* **CLI**: [Command Line Interface][] - A way to interact with a computer program using text commands.  | 
 | 20 | +* **Code cache**: Chunk of bytes storing compiled JS code and its metadata.  | 
 | 21 | +* **CVE**: [Common Vulnerabilities and Exposures][] - Database maintaining reported security vulnerabilities.  | 
 | 22 | +* **Deps**: Dependencies - Upstream projects that this project depends on.  | 
 | 23 | +* **DOM**: [Document Object Model][] - A programming interface for web documents. It represents the structure of a  | 
 | 24 | +  document as a tree of objects, allowing programmers to dynamically manipulate the content and structure of a web page.  | 
 | 25 | +* **ECMA**: [Ecma International][] - A nonprofit standards organization that develops and publishes international  | 
 | 26 | +  standards, including **ECMA-262**.  | 
 | 27 | +* **ECMA-262**: **Ecma**'s [specification document for **ECMAScript**][], maintained and updated by the **TC39**.  | 
 | 28 | +* **ECMAScript**: A standard for scripting languages, including **JavaScript**.  | 
 | 29 | +* **EOF**: [End-of-File][] - Indicates the end of a file or stream.  | 
 | 30 | +* **EOL**: [End-of-Life][] (when used within project documents), [End-of-Line][] (when used within a program),  | 
 | 31 | +  End-of-Life is usually how this term is used.  | 
 | 32 | +* **ESM**: [ECMAScript Module][] - The implementation of the **ECMA-262** module system.  | 
 | 33 | +* **ETW**: [Event Tracing for Windows][] - Provides a way to trace events in Windows systems.  | 
 | 34 | +* **FFDC**: First Failure Data Capture - Logs, traces, and dumps produced by default on program error.  | 
 | 35 | +* **FIPS**: [Federal Information Processing Standards][] - Set of standards for use in computer systems by non-military  | 
 | 36 | +  government agencies and government contractors.  | 
 | 37 | +* **FS**: File System.  | 
 | 38 | +* **Godbolt**: [Compiler Explorer][] - Tool for running compilers interactively from a web browser.  | 
 | 39 | +* **HTTP**: [HyperText Transfer Protocol][] - An application protocol for distributed, collaborative, hypermedia  | 
 | 40 | +  information systems. It is the foundation of data communication on the World Wide Web.  | 
 | 41 | +* **ICU**: [International Components for Unicode][] - Library providing support for Unicode.  | 
 | 42 | +* **IDE**: [Integrated Development Environment][] - A software application that provides comprehensive facilities to  | 
 | 43 | +  computer programmers for software development.  | 
 | 44 | +* **IETF**: [Internet Engineering Task Force][] - An international community responsible for developing and promoting  | 
 | 45 | +  Internet standards.  | 
 | 46 | +* **IIRC**: If I Recall Correctly.  | 
 | 47 | +* **IIUC**: If I Understand Correctly.  | 
 | 48 | +* **IMHO**: In My Humble/Honest Opinion.  | 
 | 49 | +* **IMO**: In My Opinion.  | 
 | 50 | +* **IPC**: [Inter-Process Communication][] - Mechanism allowing processes to communicate with each other.  | 
 | 51 | +* **JIT**: [Just In Time][] - Method of executing computer code during runtime.  | 
 | 52 | +* **JS**: [JavaScript][] - A high-level, interpreted programming language that conforms to the **ECMAScript**  | 
 | 53 | +  specification.  | 
 | 54 | +* **JS/C++ boundary**: Boundary between V8's runtime and JS code execution, often crossed when calling JS functions  | 
 | 55 | +  with C++ linkage.  | 
 | 56 | +* **JSON**: [JavaScript Object Notation][] - A lightweight data-interchange format that is easy for humans to read and  | 
 | 57 | +  write and for machines to parse and generate. It is commonly used for transmitting data between a server and a  | 
 | 58 | +  web application.  | 
 | 59 | +* **LE**: Little [Endian][] - A Byte Order where the smallest bit comes first. The opposite of **BE**.  | 
 | 60 | +* **LGTM/SGTM**: Looks/Sounds good to me.  | 
 | 61 | +* **LTS**: [Long Term Support][] - Support provided for a software version for an extended period.  | 
 | 62 | +* **MDN**: [Mozilla Development Network][] - Resource for web developers.  | 
 | 63 | +* **MVC**: [Model-View-Controller][] - A software design pattern commonly used for developing user interfaces. It  | 
 | 64 | +  separates the application into three interconnected components: the model (data), the view (presentation), and the  | 
 | 65 | +  controller (logic).  | 
 | 66 | +* **Native modules/addons**: Modules compiled to native code from a non-JavaScript language,  | 
 | 67 | +  such as C or C++, that expose interfaces callable from JavaScript.  | 
 | 68 | +* **npm**: [npm][] - A package manager and registry widely used for managing dependencies in  | 
 | 69 | +  Node.js projects and for sharing code with others.  | 
 | 70 | +* **OOB**: Out Of Bounds - Used in the context of array access.  | 
 | 71 | +* **OOM**: Out Of Memory - Situation where a computer program exceeds its memory allocation.  | 
 | 72 | +* **OOP**: [Object-Oriented Programming][] - A programming paradigm based on the concept of "objects," which can  | 
 | 73 | +  contain data and code to manipulate that data. OOP languages include features such as encapsulation, inheritance,  | 
 | 74 | +  and polymorphism.  | 
 | 75 | +* **PPC**: [PowerPC][] - A type of microprocessor architecture.  | 
 | 76 | +* **Primordials**: Pristine built-ins in JavaScript that are not affected by prototype pollution.  | 
 | 77 | +* **Prototype Pollution**: Process in which a user mutating object prototypes affects other code.  | 
 | 78 | +* **RAII**: [Resource Acquisition Is Initialization][] - Programming idiom used to manage resources in C++.  | 
 | 79 | +* **REPL**: [Read Evaluate Print Loop][] - Environment for interactive programming.  | 
 | 80 | +* **RFC**: [Request For Comments][] - A Document used in standardization processes.  | 
 | 81 | +* **RSLGTM**: Rubber-Stamp Looks Good To Me - The reviewer approves without a full code review.  | 
 | 82 | +* **RSS**: [Resident Set Size][] - Amount of memory occupied by a process in RAM.  | 
 | 83 | +* **SMP**: [Symmetric Multi-Processor][] - Architecture where multiple processors share the same memory.  | 
 | 84 | +* **Snapshot**: Chunk of bytes containing data serialized from a V8 heap.  | 
 | 85 | +* **TBH**: To Be Honest.  | 
 | 86 | +* **TC39**: [Ecma Technical Committee 39][], governing body over **ECMAScript**.  | 
 | 87 | +* **TSC**: Technical Steering Committee - Governing body within a project.  | 
 | 88 | +* **UI**: [User Interface][] - The point of interaction between a user and a computer program. It includes elements  | 
 | 89 | +  such as buttons, menus, and other graphical elements that allow users to interact with the software.  | 
 | 90 | +* **URL**: [Uniform Resource Locator][] - A reference to a web resource that specifies its location on a computer  | 
 | 91 | +  network and the mechanism for retrieving it, typically using the HTTP or HTTPS protocol.  | 
 | 92 | +* **UTF-8**: [Unicode Transformation Format - 8-bit][] - A variable-width character encoding widely used for  | 
 | 93 | +  representing Unicode characters efficiently in byte-oriented systems.  | 
 | 94 | +* **V8**: [The JavaScript engine][] that powers Node.js and Chrome browser.  | 
 | 95 | +* **Vendoring**: Integrating external software into the project by copying its code source.  | 
 | 96 | +* **VM**: [The Node.js VM module][] - Provides a way of executing code within V8 Virtual Machine contexts.  | 
 | 97 | +* **W3C**: [World Wide Web Consortium][] - An international community that develops standards and guidelines for  | 
 | 98 | +  various aspects of the web ecosystem.  | 
 | 99 | +* **WASI**: [Web Assembly System Interface][] - Interface for WebAssembly.  | 
 | 100 | +* **WASM**: Web Assembly - Binary instruction format for a stack-based virtual machine.  | 
 | 101 | +* **WG**: Working Group - Autonomous teams in the project with specific focus areas.  | 
 | 102 | +* **WHATWG**: [Web Hypertext Application Technology Working Group][] - Community developing web standards.  | 
 | 103 | +* **WIP**: Work In Progress - Unfinished work that may be worth an early look.  | 
 | 104 | +* **WPT**: [web-platform-tests][] - Test suite for web platform APIs.  | 
 | 105 | + | 
 | 106 | +[Application Binary Interface]: https://en.wikipedia.org/wiki/Application_binary_interface  | 
 | 107 | +[Application Programming Interface]: https://en.wikipedia.org/wiki/Application_programming_interface  | 
 | 108 | +[Command Line Interface]: https://en.wikipedia.org/wiki/Command-line_interface  | 
 | 109 | +[Common Locale Data Repository]: https://en.wikipedia.org/wiki/Common_Locale_Data_Repository  | 
 | 110 | +[Common Vulnerabilities and Exposures]: https://cve.org  | 
 | 111 | +[CommonJS]: https://en.wikipedia.org/wiki/CommonJS  | 
 | 112 | +[CommonJS Modules]: https://nodejs.org/api/modules.html#modules-commonjs-modules  | 
 | 113 | +[Compiler Explorer]: https://godbolt.org/  | 
 | 114 | +[Continuous Integration]: https://en.wikipedia.org/wiki/Continuous_integration  | 
 | 115 | +[Document Object Model]: https://en.wikipedia.org/wiki/Document_Object_Model  | 
 | 116 | +[ECMAScript Module]: https://nodejs.org/api/esm.html#modules-ecmascript-modules  | 
 | 117 | +[Ecma International]: https://ecma.org  | 
 | 118 | +[Ecma Technical Committee 39]: https://tc39.es/  | 
 | 119 | +[End-of-File]: https://en.wikipedia.org/wiki/End-of-file  | 
 | 120 | +[End-of-Life]: https://en.wikipedia.org/wiki/End-of-life_product  | 
 | 121 | +[End-of-Line]: https://en.wikipedia.org/wiki/Newline  | 
 | 122 | +[Endian]: https://en.wikipedia.org/wiki/Endianness  | 
 | 123 | +[Event Tracing for Windows]: https://en.wikipedia.org/wiki/Event_Viewer  | 
 | 124 | +[Federal Information Processing Standards]: https://en.wikipedia.org/wiki/Federal_Information_Processing_Standards  | 
 | 125 | +[Hypertext Transfer Protocol]: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol  | 
 | 126 | +[Integrated Development Environment]: https://en.wikipedia.org/wiki/Integrated_development_environment  | 
 | 127 | +[Inter-Process Communication]: https://en.wikipedia.org/wiki/Inter-process_communication  | 
 | 128 | +[International Components for Unicode]: https://icu.unicode.org/  | 
 | 129 | +[Internet Engineering Task Force]: https://www.ietf.org/  | 
 | 130 | +[JavaScript]: https://developer.mozilla.org/en-US/docs/Web/JavaScript  | 
 | 131 | +[JavaScript Object Notation]: https://www.json.org/  | 
 | 132 | +[Just In Time]: https://en.wikipedia.org/wiki/Just-in-time_compilation  | 
 | 133 | +[Long Term Support]: https://en.wikipedia.org/wiki/Long-term_support  | 
 | 134 | +[Model-View-Controller]: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller  | 
 | 135 | +[Mozilla Development Network]: https://developer.mozilla.org/en-US  | 
 | 136 | +[NPM]: https://www.npmjs.com/  | 
 | 137 | +[Object-Oriented Programming]: https://en.wikipedia.org/wiki/Object-oriented_programming  | 
 | 138 | +[PowerPC]: https://en.wikipedia.org/wiki/PowerPC  | 
 | 139 | +[Read Evaluate Print Loop]: https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop  | 
 | 140 | +[Request For Comments]: https://en.wikipedia.org/wiki/Request_for_Comments  | 
 | 141 | +[Resident Set Size]: https://en.wikipedia.org/wiki/Resident_set_size  | 
 | 142 | +[Resource Acquisition Is Initialization]: https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization  | 
 | 143 | +[Symmetric Multi-Processor]: https://en.wikipedia.org/wiki/Symmetric_multiprocessing  | 
 | 144 | +[The JavaScript Engine]: https://en.wikipedia.org/wiki/V8_\(JavaScript_engine\)  | 
 | 145 | +[The Node.js VM Module]: https://nodejs.org/api/vm.html  | 
 | 146 | +[Unicode Transformation Format - 8-bit]: https://en.wikipedia.org/wiki/UTF-8  | 
 | 147 | +[Uniform Resource Locator]: https://en.wikipedia.org/wiki/URL  | 
 | 148 | +[User Interface]: https://en.wikipedia.org/wiki/User_interface  | 
 | 149 | +[Web Assembly System Interface]: https://github.com/WebAssembly/WASI  | 
 | 150 | +[Web Hypertext Application Technology Working Group]: https://en.wikipedia.org/wiki/WHATWG  | 
 | 151 | +[World Wide Web Consortium]: https://www.w3.org/  | 
 | 152 | +[specification document for **ECMAScript**]: https://ecma-international.org/publications-and-standards/standards/ecma-262/  | 
 | 153 | +[web-platform-tests]: https://github.com/web-platform-tests/wpt  | 
0 commit comments