leonardomso/33-js-concepts
📜 33 JavaScript concepts every developer should know.
How 33-js-concepts is put together
This repository is a curated educational resource: '33 Concepts Every JavaScript Developer Should Know'. It is primarily a Markdown documentation project (README.md, TRANSLATIONS.md, CONTRIBUTING.md) whose content is published at 33jsconcepts.com via a Mintlify docs site (docs/ directory referenced by npm scripts). There is no application runtime or data flow; the only executable code is a placeholder index.js and a Vitest test harness (tests/**/*.test.js, node environment with jsdom available). AI-assisted authoring workflows are codified as skill files under .claude/skills/ and .opencode/skill/.
Languages
Frameworks
Infrastructure
Major components
Concept documentation
README.md catalogs the 33 core JavaScript concepts plus extended topics, each linking to the hosted guide at 33jsconcepts.com.
Translations catalog
TRANSLATIONS.md indexes community-maintained translations of the guide.
Contribution process
CONTRIBUTING.md and CODE_OF_CONDUCT.md define how contributors propose and review concept content.
Test harness
vitest.config.js plus the vitest/jsdom devDependencies run tests matching tests/**/*.test.js in a Node environment.
Docs site build
The 'docs' and 'docs:build' npm scripts launch Mintlify dev server / static build from a docs/ directory.
Claude agent skills
.claude/CLAUDE.md and .claude/skills/* define AI-assisted workflows for writing concepts, fact-checking, curating resources, SEO review, and test writing.
OpenCode agent skills
.opencode/skill/* mirrors the same six authoring workflows for the OpenCode tool, alongside opencode.jsonc configuration.
No digest this week
1 weeksWeek of
Dependencies and code review
Dependency advisories
Security Watch
3 vulnerable packages (4 advisories) across 137 scanned dependencies.
nanoid 3.3.12
2 advisories. Fixed in 3.3.16.
How it can be abusedThe flaw makes the id generator hang forever if it is called with a bad size, like zero or a negative number, freezing whatever code called it. In this repo nanoid is not actually used by any code or test; it only appears as an installed dependency, so there is no realistic way for anyone to trigger this here.
- highGHSA-28wg-ghj8-5hjvnanoid: non-secure generators can loop indefinitely with negative size
- highGHSA-2v37-7h3g-55p8nanoid: custom generators can loop indefinitely when size is zero
postcss 8.5.15
1 advisory. Fixed in 8.5.18.
How it can be abusedIf a website built with PostCSS serves CSS files that point to source maps, an attacker can craft a sourceMappingURL reference that tricks the server into reading and leaking arbitrary .map files from the machine, potentially exposing source code. In this repo PostCSS only exists as a background dependency of the test toolchain; nothing is built, deployed, or served to users, so no real attacker target exists.
- highGHSA-r28c-9q8g-f849PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure
ws 8.18.3
1 advisory. Fixed in 5.2.5.
How it can be abusedThis flaw lets an attacker crash a server by sending it many tiny pieces of data that pile up in memory. In this repo ws is only a development test dependency and no WebSocket server is ever run or published, so there is nothing for an attacker to target.
- highGHSA-96hv-2xvq-fx4pws: Memory exhaustion DoS from tiny fragments and data chunks
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required