Skip to content

Commit c539b2f

Browse files
dzieniszclaude
andcommitted
Release v2.3: Internal code refactoring
Internal Changes: - Refactored monolithic analyzer.js into modular architecture - Created src/ folder structure with organized modules: - src/core/ (config, analyzer, scoring) - src/detectors/ (content, framework, meta, performance) - src/ui/components/ (results-renderer) - Bundled all modules into src/analyzer-bundle.js - Updated popup.js and background.js to use new bundle - Fixed script injection guard to prevent redeclaration errors Version Updates: - Bumped version to 2.3 in manifest.json - Updated popup.html footer to v2.3 - Updated README.md version badge - Added v2.3 entry to CHANGELOG.md Technical Impact: - No user-facing changes - functionality identical to v2.2 - Improved code maintainability and scalability - Foundation ready for v3.0 feature development 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 74431a2 commit c539b2f

File tree

15 files changed

+1436
-5
lines changed

15 files changed

+1436
-5
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ All notable changes to the CSR vs SSR Detector extension will be documented in t
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.3] - 2025-10-20
9+
10+
### Changed
11+
- **Internal code refactoring**: Split monolithic `analyzer.js` (350+ lines) into modular architecture
12+
- Created `src/core/` folder with config, analyzer, and scoring modules
13+
- Created `src/detectors/` folder with 4 specialized detector modules
14+
- Created `src/ui/components/` folder for results rendering
15+
- All modules bundled into `src/analyzer-bundle.js` for deployment
16+
- Improved code maintainability and scalability for future v3.0 development
17+
- Fixed script injection guard to prevent redeclaration errors
18+
19+
### Technical Notes
20+
- No user-facing changes - functionality remains identical to v2.2
21+
- Better organized codebase makes future feature development easier
22+
- Foundation for v3.0 features (settings page, dark mode, export functionality)
23+
824
## [2.2] - 2024-10-14
925

1026
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![Chrome Web Store](https://img.shields.io/chrome-web-store/v/fhiopdjeekafnhmfbcfoolhejdgjpkgg)](https://chromewebstore.google.com/detail/csr-vs-ssr-detector/fhiopdjeekafnhmfbcfoolhejdgjpkgg)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5-
[![Version](https://img.shields.io/badge/version-2.2-blue.svg)](https://github.com/dzienisz/chrome-ssr-csr/releases)
5+
[![Version](https://img.shields.io/badge/version-2.3-blue.svg)](https://github.com/dzienisz/chrome-ssr-csr/releases)
66

77
The **CSR vs SSR Detector** is a Chrome extension that helps developers and SEO specialists identify whether a webpage is rendered using Client-Side Rendering (CSR), Server-Side Rendering (SSR), or a hybrid approach. Understanding this distinction is essential for making informed decisions about SEO, page performance, and overall application architecture.
88

background.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ chrome.action.onClicked.addListener((tab) => {
44
chrome.scripting.executeScript(
55
{
66
target: { tabId: tab.id },
7-
files: ['analyzer.js']
7+
files: ['src/analyzer-bundle.js']
88
},
99
() => {
1010
// After analyzer.js is injected, run the analysis

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"manifest_version": 3,
33
"name": "CSR vs SSR Detector",
4-
"version": "2.2",
4+
"version": "2.3",
55
"description": "Detect if a webpage is using Client-Side Rendering or Server-Side Rendering",
66
"permissions": ["activeTab", "scripting", "storage", "notifications"],
77
"action": {

popup.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ <h2><img src="icon.webp" alt="Logo">CSR vs SSR Detector</h2>
7474
<div id="result"></div>
7575

7676
<div class="footer">
77-
<p>v2.2 - <a href="https://github.com/dzienisz/chrome-ssr-csr" target="_blank">GitHub</a></p>
77+
<p>v2.3 - <a href="https://github.com/dzienisz/chrome-ssr-csr" target="_blank">GitHub</a></p>
7878
</div>
7979

8080
<script src="analyzer.js"></script>

popup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ document.addEventListener('DOMContentLoaded', () => {
3030
chrome.scripting.executeScript(
3131
{
3232
target: { tabId: tabs[0].id },
33-
files: ['analyzer.js']
33+
files: ['src/analyzer-bundle.js']
3434
},
3535
() => {
3636
// After analyzer.js is injected, run the analysis

0 commit comments

Comments
 (0)