Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
c542f12
chore: add OpenCode configuration with Context7 and GitHub MCP servers
leonardomso Dec 29, 2025
888cd5b
docs: add CLAUDE.md with project context and conventional commits gui…
leonardomso Dec 29, 2025
34d9c27
feat: add Mintlify documentation site with all 33 JavaScript concepts
leonardomso Dec 29, 2025
d2b0842
feat(call-stack): add comprehensive beginner-friendly explanation wit…
leonardomso Dec 29, 2025
f271e1d
feat(primitive-types): add comprehensive beginner-friendly explanatio…
leonardomso Dec 29, 2025
97dab8c
feat(call-stack): add Courses section with Piccalilli lesson
leonardomso Dec 29, 2025
36f4f7c
feat(type-coercion): add Object to Primitive Conversion article
leonardomso Dec 29, 2025
278385f
feat(type-coercion): add comprehensive beginner-friendly explanation …
leonardomso Dec 29, 2025
50d1a2e
feat(scope-and-closures): merge scope and closures into comprehensive…
leonardomso Dec 29, 2025
1148fbb
feat(equality-operators): add comprehensive guide with simplified lan…
leonardomso Dec 29, 2025
85ef042
feat(value-reference-types): add comprehensive guide with Object.free…
leonardomso Dec 29, 2025
826bf6f
feat: add vitest test suite for fundamentals concepts
leonardomso Dec 30, 2025
ce9fc4f
feat: expand test coverage and reorganize test structure
leonardomso Dec 30, 2025
05b46ab
fix: correct docs script to run mintlify from docs directory
leonardomso Dec 30, 2025
8434ff4
refactor: reorder fundamentals concepts for better learning progression
leonardomso Dec 30, 2025
46cb56a
feat(iife-modules): add comprehensive guide with simplified language
leonardomso Dec 30, 2025
bfc0cd0
refactor: reorganize Under the Hood concepts
leonardomso Dec 30, 2025
defc1ad
test(iife-modules): add comprehensive test suite with 61 tests
leonardomso Dec 30, 2025
5d7874d
feat(event-loop): add comprehensive guide merging timers with 56 tests
leonardomso Dec 30, 2025
079f951
refactor: reorder Functions & Execution and Web Platform groups
leonardomso Dec 30, 2025
02af60c
refactor(iife-modules): merge expression vs statement concept
leonardomso Dec 30, 2025
37bbebf
fix(iife-modules): improve clarity and add CommonJS mention
leonardomso Dec 30, 2025
6277209
feat(factories-classes): add comprehensive guide with 43 tests
leonardomso Dec 30, 2025
8d33880
feat(dom): add comprehensive guide with critical rendering path and 8…
leonardomso Dec 30, 2025
cc10cf6
refactor(dom): restructure intro to lead with simple explanation
leonardomso Dec 30, 2025
5ea2f06
fix(factories-classes): add contextual introduction before analogy
leonardomso Dec 30, 2025
25f66a9
feat(dom): add freeCodeCamp full course to resources
leonardomso Dec 30, 2025
263f4ac
feat(http-fetch): add comprehensive guide with 72 tests
leonardomso Dec 30, 2025
468eaf2
refactor(http-fetch): improve writing with better context and explana…
leonardomso Dec 30, 2025
7d13822
chore: move CLAUDE.md to .claude folder and ignore skills
leonardomso Dec 30, 2025
aa846a5
feat(this-call-apply-bind): expand concept with comprehensive guide a…
leonardomso Dec 30, 2025
fdfd102
test(object-oriented): add canSpeak composition and documentation exa…
leonardomso Dec 30, 2025
d318f33
docs(this-call-apply-bind): add opening hook, MDN links, key takeaway…
leonardomso Dec 30, 2025
3a00e76
docs(factories-classes): improve structure with opening hook, MDN lin…
leonardomso Dec 30, 2025
abac5b8
docs(dom): improve concept page with MDN links, opening hook, and com…
leonardomso Dec 30, 2025
dd9ffc3
docs(http-fetch): add Tabs comparison, SEO description, and FormData …
leonardomso Dec 30, 2025
889135c
docs: add write-concept skill documentation and update gitignore
leonardomso Dec 30, 2025
2cc7472
docs(dom): SEO optimization and add 21 new tests
leonardomso Dec 30, 2025
e616ea8
docs(event-loop): restructure opening for SEO and add 5 new tests
leonardomso Dec 30, 2025
aed1ffc
docs(http-fetch): SEO optimization with improved title, headings, and…
leonardomso Dec 30, 2025
8d31270
docs(iife-modules): SEO optimization, restructure opening, add Common…
leonardomso Dec 30, 2025
a79d834
docs(event-loop): improve title SEO and add featured snippet optimiza…
leonardomso Dec 30, 2025
0a522dc
docs(iife-modules): add sidebarTitle and fix arrow function MDN link
leonardomso Dec 30, 2025
a5992e9
docs(iife-modules): improve SEO title, add 'What is an IIFE?' section
leonardomso Dec 30, 2025
6f09502
docs(iife-modules): expand 'What is an IIFE?' section with historical…
leonardomso Dec 30, 2025
75e23d1
docs(http-fetch): improve structure with 'What is Fetch API?' section…
leonardomso Dec 30, 2025
15354e3
docs(dom): add interview questions, misconceptions, and improve struc…
leonardomso Dec 30, 2025
261579f
docs(factories-classes): add interview questions, misconceptions, and…
leonardomso Dec 30, 2025
f2e4e6c
docs(this-call-apply-bind): improve SEO, add tests, and refine content
leonardomso Dec 30, 2025
bf24aaa
docs(call-stack): improve SEO, add misconceptions section, and align …
leonardomso Dec 30, 2025
daeeca4
docs(scope-and-closures): improve SEO, structure, and add MDN links
leonardomso Dec 30, 2025
0f1f17b
docs: standardize page structure across concept pages
leonardomso Dec 30, 2025
065d690
docs(this-call-apply-bind): standardize page structure and update tit…
leonardomso Dec 30, 2025
3ba5923
docs(equality-operators): improve SEO, structure, and add comprehensi…
leonardomso Dec 30, 2025
b50a302
docs(value-reference-types): improve SEO, structure, and add MDN links
leonardomso Dec 30, 2025
e800889
docs(type-coercion): improve SEO, structure, and add MDN links
leonardomso Dec 30, 2025
7b78afc
docs(call-stack): standardize page structure and update title format
leonardomso Dec 30, 2025
c7d7c33
docs(primitive-types): improve SEO, structure, and content quality
leonardomso Dec 30, 2025
f2f1608
docs: standardize structure for type-coercion and equality-operators
leonardomso Dec 30, 2025
e27aa78
docs: reorganize Functional Programming concepts
leonardomso Dec 30, 2025
ef9bf29
docs: reorganize Async JavaScript concepts
leonardomso Dec 30, 2025
b4e4430
docs: reorganize Advanced Topics and reach 33 concepts
leonardomso Dec 30, 2025
e6f0051
docs: consolidate prototype concepts into object-creation-prototypes
leonardomso Dec 30, 2025
03560ea
test: add tests for object-creation-prototypes concept
leonardomso Dec 30, 2025
1c7c9cd
docs: add inheritance & polymorphism concept with tests
leonardomso Dec 31, 2025
1c03399
docs: add callbacks concept with synced tests
leonardomso Dec 31, 2025
b659e6d
docs: add comprehensive promises concept page with tests
leonardomso Dec 31, 2025
f0ac46b
docs: add comprehensive async/await concept page with tests
leonardomso Dec 31, 2025
e1d67d4
docs: add comprehensive generators-iterators concept page with tests
leonardomso Dec 31, 2025
d24b624
docs: improve promises page copywriting and resource descriptions
leonardomso Dec 31, 2025
1949d5c
docs: improve callbacks page copywriting and resource descriptions
leonardomso Dec 31, 2025
a6e520d
docs: improve DOM page copywriting and resource descriptions
leonardomso Dec 31, 2025
e76b8a4
docs: improve http-fetch page copywriting and resource descriptions
leonardomso Dec 31, 2025
918918d
docs: improve factories-classes page copywriting and resource descrip…
leonardomso Dec 31, 2025
d51b729
docs: improve this-call-apply-bind page copywriting and resource desc…
leonardomso Dec 31, 2025
dfcdac7
docs: improve object-creation-prototypes page copywriting and resourc…
leonardomso Dec 31, 2025
31716c7
docs: improve event-loop page copywriting
leonardomso Dec 31, 2025
73bf525
docs: improve iife-modules page copywriting and resource descriptions
leonardomso Dec 31, 2025
262f2ba
docs: improve call-stack page copywriting and resource descriptions
leonardomso Dec 31, 2025
0e8b93c
docs: improve scope-and-closures page copywriting and resource descri…
leonardomso Dec 31, 2025
2df9b4d
docs: improve equality-operators page copywriting and resource descri…
leonardomso Dec 31, 2025
a9dbddc
docs: improve generators-iterators page copywriting and em dash usage
leonardomso Dec 31, 2025
f45141c
docs: improve type-coercion page copywriting and resource descriptions
leonardomso Dec 31, 2025
e0cf7a2
docs: improve value-reference-types page copywriting and resource des…
leonardomso Dec 31, 2025
b41c92b
docs: add comprehensive Web Workers concept page
leonardomso Dec 31, 2025
2f83374
docs: improve primitive-types page copywriting and resource descriptions
leonardomso Dec 31, 2025
af36a1a
docs: add comprehensive Higher-Order Functions concept page
leonardomso Jan 1, 2026
74e8cb8
docs: add comprehensive Pure Functions concept page
leonardomso Jan 1, 2026
e458acc
docs: add comprehensive map, reduce, filter concept page
leonardomso Jan 1, 2026
520bcde
docs: add comprehensive Currying & Composition concept page
leonardomso Jan 1, 2026
b46c651
docs: add comprehensive Recursion concept page with tests
leonardomso Jan 1, 2026
8dc4509
docs: add comprehensive JavaScript Engines concept page with tests
leonardomso Jan 2, 2026
6c97c8f
docs: add comprehensive Error Handling concept page with tests
leonardomso Jan 2, 2026
a26c663
fix: correct toCamelCase example, video attribution, and compose example
leonardomso Jan 2, 2026
0d35e28
fix: improve recursion page accuracy and fix broken link
leonardomso Jan 2, 2026
cceba5e
docs: enhance map-reduce-filter with async handling, ES2023 methods, …
leonardomso Jan 2, 2026
40f45ef
fix: improve pure functions page accuracy and fix broken links
leonardomso Jan 2, 2026
4c1fea5
docs: add generator control methods and fix ASCII diagram spacing
leonardomso Jan 2, 2026
053b0dc
fix: improve higher-order functions page accuracy and add MDN links
leonardomso Jan 2, 2026
f77ee83
fix: correct return await explanation and reduce em-dash overuse in a…
leonardomso Jan 2, 2026
4f2caca
docs: add Promise.try(), thenables section, and edge case behaviors t…
leonardomso Jan 2, 2026
2d40122
fix: remove broken external links from callbacks page
leonardomso Jan 2, 2026
e4e8e4a
fix: improve technical accuracy in callbacks page
leonardomso Jan 2, 2026
09818eb
fix: improve accuracy in inheritance-polymorphism concept page
leonardomso Jan 2, 2026
81482eb
fix: improve accuracy and fix broken links in object-creation-prototypes
leonardomso Jan 2, 2026
bb34d76
fix: improve accuracy and fix broken links in this-call-apply-bind
leonardomso Jan 2, 2026
adc4097
fix: improve accuracy and fix broken links in factories-classes conce…
leonardomso Jan 2, 2026
f78c9ea
fix: remove dead links and add bytes() method to http-fetch concept page
leonardomso Jan 2, 2026
b76e257
fix: improve accuracy of reflow claims and update broken link in DOM …
leonardomso Jan 2, 2026
383e0a1
fix: correct inaccuracies and update outdated info in web-workers con…
leonardomso Jan 2, 2026
1493bac
fix: correct event loop algorithm order and improve technical accuracy
leonardomso Jan 2, 2026
2249c84
fix: update broken links and improve technical accuracy in IIFE/modul…
leonardomso Jan 2, 2026
a49ab59
fix: improve technical accuracy in call stack concept page
leonardomso Jan 2, 2026
906653b
fix: update outdated typeof null bug reference to evergreen phrasing
leonardomso Jan 2, 2026
9ed8042
fix: improve technical accuracy in scope and closures concept page
leonardomso Jan 2, 2026
8f7047e
fix: improve technical accuracy in type coercion concept page
leonardomso Jan 2, 2026
809cbf6
fix: improve technical accuracy in value vs reference types concept page
leonardomso Jan 2, 2026
f4d5246
feat: add comprehensive Modern JavaScript ES6+ syntax concept page
leonardomso Jan 2, 2026
1e7c22d
feat: add comprehensive ES Modules concept page with tests
leonardomso Jan 2, 2026
af3c2a1
feat: add comprehensive Data Structures concept page with tests
leonardomso Jan 2, 2026
8d63392
feat: add comprehensive Algorithms & Big O concept page with tests
leonardomso Jan 2, 2026
77a6c6d
feat: add comprehensive Design Patterns concept page with tests
leonardomso Jan 2, 2026
4d6adbf
feat: add comprehensive Clean Code concept page
leonardomso Jan 2, 2026
60644d4
feat: restructure Getting Started section with SEO optimization
leonardomso Jan 2, 2026
1921a8f
refactor: streamline README and move translations to separate file
leonardomso Jan 2, 2026
e647452
ci: add GitHub Actions workflow for running tests
leonardomso Jan 2, 2026
053a2e8
fix(ci): remove Node 18.x from test matrix
leonardomso Jan 2, 2026
d3566f5
ci: simplify to single workflow with latest LTS Node.js
leonardomso Jan 2, 2026
5cda73b
Merge pull request #640 from leonardomso/feat/changes
leonardomso Jan 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
411 changes: 411 additions & 0 deletions .claude/CLAUDE.md

Large diffs are not rendered by default.

10 changes: 0 additions & 10 deletions .github/workflows/action.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Tests

on:
push:
branches: [master, main]
pull_request:
branches: [master, main]

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,6 @@ typings/

# webstore IDE created directory
.idea

# OpenCode configuration (local only)
.opencode/
53 changes: 53 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,59 @@
# Contribution
This project would not be possible without your help and support, and we appreciate your willingness to contribute!

## Testing

This project uses [Vitest](https://vitest.dev/) as the test runner to verify that code examples in the documentation work correctly.

### Running Tests

```bash
# Run all tests once
npm test

# Run tests in watch mode (re-runs on file changes)
npm run test:watch

# Run tests with coverage report
npm run test:coverage
```

### Test Structure

Tests are organized by concept in the `tests/` directory:

```
tests/
├── call-stack/
│ └── call-stack.test.js
├── primitive-types/
│ └── primitive-types.test.js
└── ...
```

### Writing Tests for Code Examples

When adding new code examples to concept documentation, please include corresponding tests:

1. **File naming**: Create `{concept-name}.test.js` in `tests/{concept-name}/`
2. **Use explicit imports**:
```javascript
import { describe, it, expect } from 'vitest'
```
3. **Convert console.log examples to assertions**:
```javascript
// Documentation example:
// console.log(typeof "hello") // "string"

// Test:
it('should return string type', () => {
expect(typeof "hello").toBe("string")
})
```
4. **Test error cases**: Use `expect(() => { ... }).toThrow()` for operations that should throw
5. **Skip browser-specific examples**: Tests run in Node.js, so skip DOM/window/document examples
6. **Note strict mode behavior**: Vitest runs in strict mode, so operations that "silently fail" in non-strict mode will throw `TypeError`

### Creating a New Translation

To create a new translation, please follow these steps:
Expand Down
1,308 changes: 93 additions & 1,215 deletions README.md

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions TRANSLATIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Translations

This project has been translated into 40+ languages thanks to our amazing community of contributors.

## Available Translations

- [اَلْعَرَبِيَّةُ‎ (Arabic)](https://github.com/amrsekilly/33-js-concepts) — Amr Elsekilly
- [Български (Bulgarian)](https://github.com/thewebmasterp/33-js-concepts) — thewebmasterp
- [汉语 (Chinese)](https://github.com/stephentian/33-js-concepts) — Re Tian
- [Português do Brasil (Brazilian Portuguese)](https://github.com/tiagoboeing/33-js-concepts) — Tiago Boeing
- [한국어 (Korean)](https://github.com/yjs03057/33-js-concepts.git) — Suin Lee
- [Español (Spanish)](https://github.com/adonismendozaperez/33-js-conceptos) — Adonis Mendoza
- [Türkçe (Turkish)](https://github.com/ilker0/33-js-concepts) — İlker Demir
- [русский язык (Russian)](https://github.com/gumennii/33-js-concepts) — Mihail Gumennii
- [Tiếng Việt (Vietnamese)](https://github.com/nguyentranchung/33-js-concepts) — Nguyễn Trần Chung
- [Polski (Polish)](https://github.com/lip3k/33-js-concepts) — Dawid Lipinski
- [فارسی (Persian)](https://github.com/majidalavizadeh/33-js-concepts) — Majid Alavizadeh
- [Bahasa Indonesia (Indonesian)](https://github.com/rijdz/33-js-concepts) — Rijdzuan Sampoerna
- [Français (French)](https://github.com/robinmetral/33-concepts-js) — Robin Métral
- [हिन्दी (Hindi)](https://github.com/vikaschauhan/33-js-concepts) — Vikas Chauhan
- [Ελληνικά (Greek)](https://github.com/DimitrisZx/33-js-concepts) — Dimitris Zarachanis
- [日本語 (Japanese)](https://github.com/oimo23/33-js-concepts) — oimo23
- [Deutsch (German)](https://github.com/burhannn/33-js-concepts) — burhannn
- [украї́нська мо́ва (Ukrainian)](https://github.com/AndrewSavetchuk/33-js-concepts-ukrainian-translation) — Andrew Savetchuk
- [සිංහල (Sinhala)](https://github.com/ududsha/33-js-concepts) — Udaya Shamendra
- [Italiano (Italian)](https://github.com/Donearm/33-js-concepts) — Gianluca Fiore
- [Latviešu (Latvian)](https://github.com/ANormalStick/33-js-concepts) — Jānis Īvāns
- [Afaan Oromoo (Oromo)](https://github.com/Amandagne/33-js-concepts) — Amanuel Dagnachew
- [ภาษาไทย (Thai)](https://github.com/ninearif/33-js-concepts) — Arif Waram
- [Català (Catalan)](https://github.com/marioestradaf/33-js-concepts) — Mario Estrada
- [Svenska (Swedish)](https://github.com/FenixHongell/33-js-concepts/) — Fenix Hongell
- [ខ្មែរ (Khmer)](https://github.com/Chhunneng/33-js-concepts) — Chrea Chanchhunneng
- [አማርኛ (Ethiopian)](https://github.com/hmhard/33-js-concepts) — Miniyahil Kebede (ምንያህል ከበደ)
- [Беларуская мова (Belarussian)](https://github.com/Yafimau/33-js-concepts) — Dzianis Yafimau
- [O'zbekcha (Uzbek)](https://github.com/smnv-shokh/33-js-concepts) — Shokhrukh Usmonov
- [Urdu (اردو)](https://github.com/sudoyasir/33-js-concepts) — Yasir Nawaz
- [हिन्दी (Hindi)](https://github.com/milostivyy/33-js-concepts) — Mahima Chauhan
- [বাংলা (Bengali)](https://github.com/Jisan-mia/33-js-concepts) — Jisan Mia
- [ગુજરાતી (Gujarati)](https://github.com/VatsalBhuva11/33-js-concepts) — Vatsal Bhuva
- [سنڌي (Sindhi)](https://github.com/Sunny-unik/33-js-concepts) — Sunny Gandhwani
- [भोजपुरी (Bhojpuri)](https://github.com/debnath003/33-js-concepts) — Pronay Debnath
- [ਪੰਜਾਬੀ (Punjabi)](https://github.com/Harshdev098/33-js-concepts) — Harsh Dev Pathak
- [Latin (Latin)](https://github.com/Harshdev098/33-js-concepts) — Harsh Dev Pathak
- [മലയാളം (Malayalam)](https://github.com/Stark-Akshay/33-js-concepts) — Akshay Manoj
- [Yorùbá (Yoruba)](https://github.com/ayobaj/33-js-concepts) — Ayomide Bajulaye
- [עברית‎ (Hebrew)](https://github.com/rafyzg/33-js-concepts) — Refael Yzgea
- [Nederlands (Dutch)](https://github.com/dlvisser/33-js-concepts) — Dave Visser
- [தமிழ் (Tamil)](https://github.com/UdayaKrishnanM/33-js-concepts) — Udaya Krishnan M

---

## Want to Translate?

We'd love to have more translations! See our [Contributing Guidelines](CONTRIBUTING.md) for details on how to submit a translation.
Loading