chore:little fixes and formating and linting and patches

This commit is contained in:
2026-03-31 15:50:54 +02:00
parent a1ce71ffb6
commit 9b197abcfa
815 changed files with 22960 additions and 8982 deletions

View File

@@ -549,4 +549,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -9,12 +9,7 @@
"hero": {
"heading": "Best Amplitude Alternatives",
"subheading": "OpenPanel is an open-source, privacy-first alternative to Amplitude. Get powerful product analytics with web analytics built in, cookie-free tracking, and the freedom to self-host or use our cloud.",
"badges": [
"Open-source",
"Cookie-free",
"EU-only hosting",
"Self-hostable"
]
"badges": ["Open-source", "Cookie-free", "EU-only hosting", "Self-hostable"]
},
"competitor": {
"name": "Amplitude",
@@ -562,4 +557,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -468,4 +468,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -520,4 +520,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -9,12 +9,7 @@
"hero": {
"heading": "Best Countly Alternative",
"subheading": "Want Countly's product analytics without the complexity? OpenPanel offers a simpler, more affordable approach to user analytics with self-hosting, mobile SDKs, and modern product analytics - all with transparent pricing.",
"badges": [
"Open-source",
"Simple Pricing",
"Lightweight",
"MIT License"
]
"badges": ["Open-source", "Simple Pricing", "Lightweight", "MIT License"]
},
"competitor": {
"name": "Countly",
@@ -560,4 +555,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -274,9 +274,7 @@
"Android",
"Flutter"
],
"competitor": [
"JavaScript (web only)"
],
"competitor": ["JavaScript (web only)"],
"notes": null
},
{
@@ -458,4 +456,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -1,4 +1,4 @@
import { readFile, readdir } from 'node:fs/promises';
import { readdir, readFile } from 'node:fs/promises';
import { join } from 'node:path';
interface FileStructure {
@@ -10,7 +10,7 @@ interface FileStructure {
}
async function analyzeJsonFiles(): Promise<void> {
const dirPath = join(import.meta.dirname || __dirname);
const dirPath = join(import.meta.dirname || import.meta.dirname);
const files = await readdir(dirPath);
const jsonFiles = files.filter((f) => f.endsWith('.json'));
@@ -88,7 +88,7 @@ async function analyzeJsonFiles(): Promise<void> {
console.log(separator);
const sortedGroups = Array.from(groups.entries()).sort(
(a, b) => b[1].length - a[1].length,
(a, b) => b[1].length - a[1].length
);
sortedGroups.forEach(([structureKey, files], index) => {
@@ -117,7 +117,7 @@ async function analyzeJsonFiles(): Promise<void> {
console.log(separator);
const validFiles = structures.filter((s) => s.hasContent && !s.error);
const emptyFiles = structures.filter((s) => !s.hasContent && !s.error);
const emptyFiles = structures.filter((s) => !(s.hasContent || s.error));
const errorFiles = structures.filter((s) => s.error);
console.log(` Total files: ${structures.length}`);
@@ -148,7 +148,9 @@ async function analyzeJsonFiles(): Promise<void> {
console.log(separator);
sortedGroups.forEach(([structureKey, files], index) => {
if (structureKey === 'empty' || structureKey === 'error') return;
if (structureKey === 'empty' || structureKey === 'error') {
return;
}
const groupNum = index + 1;
console.log(`\nGroup ${groupNum} structure:`);

View File

@@ -9,12 +9,7 @@
"hero": {
"heading": "Best Fathom Alternative",
"subheading": "Love Fathom's simplicity and privacy focus? OpenPanel adds product analytics capabilities - funnels, cohorts, retention, and user identification - plus self-hosting options and a free tier.",
"badges": [
"Open-source",
"Privacy-first",
"Self-hostable",
"Free Tier"
]
"badges": ["Open-source", "Privacy-first", "Self-hostable", "Free Tier"]
},
"competitor": {
"name": "Fathom Analytics",
@@ -513,4 +508,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -468,4 +468,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -514,4 +514,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -588,4 +588,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -587,4 +587,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -472,4 +472,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -9,12 +9,7 @@
"hero": {
"heading": "Best Matomo Alternative",
"subheading": "OpenPanel is a modern, open-source alternative to Matomo. Get powerful web and product analytics with a cleaner interface, truly cookie-free tracking by default, and no premium plugins required for essential features.",
"badges": [
"Open-source",
"Cookie-free",
"EU-only hosting",
"Self-hostable"
]
"badges": ["Open-source", "Cookie-free", "EU-only hosting", "Self-hostable"]
},
"competitor": {
"name": "Matomo",
@@ -511,4 +506,4 @@
}
]
}
}
}

View File

@@ -533,4 +533,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -525,4 +525,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -280,9 +280,7 @@
"Android",
"Flutter"
],
"competitor": [
"JavaScript (web only)"
],
"competitor": ["JavaScript (web only)"],
"notes": null
},
{
@@ -464,4 +462,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -514,4 +514,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -519,4 +519,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -518,4 +518,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -447,4 +447,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}

View File

@@ -548,4 +548,4 @@
"href": "https://github.com/Openpanel-dev/openpanel"
}
}
}
}