{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/ejs/","markdown":"https://findsoftware.frbit.cloud/ejs.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"ejs","name":"EJS","urls":{"home":"https://ejs.co/","repository":"https://github.com/mde/ejs","docs":"https://ejs.co/docs/"},"category":["library"],"description":"Templating language that generates HTML from plain JavaScript written inside templates, for Node.js and the browser.","maintainer":"Matthew Eernisse","maintainerType":"individual","firstRelease":2011,"hosting":["node"],"language":"javascript","runtime":["node"],"runtimeMin":"node 0.12","contentStore":null,"databases":null,"adminUi":null,"headlessApi":null,"templating":null,"i18n":null,"runsAs":null,"renderingModes":null,"installMethod":"npm","licenseModel":"open-source","license":"Apache-2.0","currentMajor":"7","latestReleaseDate":"2026-10-18T00:00:00.000Z","githubStargazers":8131,"contributors":123,"packagistDownloads":null,"npmWeeklyDownloads":59644117,"dependentRepos":1532080,"dependentPackages":15041,"checkedAt":"2026-11-08T00:00:00.000Z","addedAt":"2026-11-08T00:00:00.000Z","sources":[{"field":"urls","url":"https://ejs.co/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/mde/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"urls","url":"https://ejs.co/docs/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"maintainer","url":"https://ejs.co/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"firstRelease","url":"https://registry.npmjs.org/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"category","url":"https://ejs.co/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/mde/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"runtime","url":"https://ejs.co/docs/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"runtimeMin","url":"https://github.com/mde/ejs/blob/main/README.md","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"license","url":"https://ejs.co/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"currentMajor","url":"https://api.github.com/repos/mde/ejs/releases?per_page=40","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/mde/ejs/releases/latest","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/mde/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/mde/ejs/contributors?per_page=1","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"npmWeeklyDownloads","url":"https://api.npmjs.org/downloads/range/2026-11-01:2026-11-07/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"dependentPackages","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/ejs","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"installMethod","url":"https://ejs.co/docs/","checkedAt":"2026-11-08T00:00:00.000Z"},{"field":"installMethod","url":"https://ejs.co/","checkedAt":"2026-11-08T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"EJS is a templating language that writes HTML with plain JavaScript. Templates hold JavaScript between scriptlet tags, and output tags insert values escaped or unescaped. The library compiles a template to a JavaScript function, which it caches, and runs on Node.js or in the browser. In the browser, a prebuilt script compiles and renders template strings, while loading template files needs the Node.js entry point. EJS installs from npm, ships a command-line tool, and complies with the Express view system, so an Express app can use it as its view engine.\n\n## Worth knowing\n\nThe README states that EJS is effectively a JavaScript runtime, so giving end users unrestricted access to the render method is an unsafe way to use it. Escaping covers HTML content and quoted attributes by default, and the README says other output contexts need their own escape function."}