Compare commits

..

No commits in common. "main" and "v0.6.0" have entirely different histories.
main ... v0.6.0

20 changed files with 13918 additions and 5913 deletions

View file

@ -1,11 +0,0 @@
image: alpine/edge
secrets:
- bbfcb6dc-7c4a-42ee-a11a-022f0339a133
environment:
REPO: astro-github-stats
GH_USER: ayoayco
tasks:
- push-mirror: |
cd ~/"${REPO}"
git config --global credential.helper store
git push --mirror "https://github.com/${GH_USER}/${REPO}"

1
.eslintignore Normal file
View file

@ -0,0 +1 @@
test/**/*.js

17
.eslintrc.cjs Normal file
View file

@ -0,0 +1,17 @@
/** @type {import("@types/eslint").Linter.Config} */
module.exports = {
env: {
node: true,
},
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'prettier'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
rules: {
// We don't want to leak logging into our user's console unless it's an error
'no-console': ['error', { allow: ['warn', 'error'] }],
},
};

1
.gitignore vendored
View file

@ -1,4 +1,3 @@
.astro
node_modules
npm-debug.log*

View file

@ -1 +0,0 @@
npm run lint

View file

@ -1,7 +0,0 @@
# someday let's think about formatting html
**/*.html
**/*.md
**/*.css
**/*.yml
**/*.yaml

24
.prettierrc.cjs Normal file
View file

@ -0,0 +1,24 @@
/** @type {import("@types/prettier").Options} */
module.exports = {
printWidth: 100,
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
useTabs: true,
plugins: ['./node_modules/prettier-plugin-astro'],
overrides: [
{
files: '*.astro',
options: {
parser: 'astro',
},
},
{
files: ['.*', '*.json', '*.md', '*.toml', '*.yml'],
options: {
useTabs: false,
},
},
],
};

13
.vscode/settings.json vendored
View file

@ -1,15 +1,8 @@
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
"source.fixAll": true
},
"prettier.documentSelectors": ["**/*.astro"],
"prettier.configPath": "",
"prettier.ignorePath": "",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
"cSpell.words": ["Astro"],
"prettier.documentSelectors": ["**/*.astro"]
}

View file

@ -1,6 +1,3 @@
> [!Note]
> Project moved to [SourceHut](https://git.sr.ht/~ayoayco/astro-github-stats)
# Astro GitHub Stats ✨
[![npm](https://img.shields.io/npm/v/astro-github-stats)](https://www.npmjs.com/package/astro-github-stats)

View file

@ -1,8 +1,4 @@
import { defineConfig } from 'astro/config'
import { defineConfig } from 'astro/config';
// https://astro.build/config
export default defineConfig({
image: {
// domains: ['github-readme-stats.vercel.app'],
},
})
export default defineConfig({});

1
demo/src/env.d.ts vendored
View file

@ -1,2 +1 @@
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />

View file

@ -1,5 +1,5 @@
---
import GithubStats from '../../../'
import GithubStats from '../../../';
---
<html lang="en">

View file

@ -1,3 +1,3 @@
{
"extends": "astro/tsconfigs/strictest"
}
}

View file

@ -1,41 +0,0 @@
import globals from 'globals'
import eslintPluginAstro from 'eslint-plugin-astro'
import jsPlugin from '@eslint/js'
import tseslint from 'typescript-eslint'
import astroParser from 'astro-eslint-parser'
export default [
{
languageOptions: {
globals: {
...globals.browser,
...globals.node,
},
},
},
// add more generic rule sets here, such as:
jsPlugin.configs.recommended,
...tseslint.configs.recommended,
...eslintPluginAstro.configs['recommended'],
...eslintPluginAstro.configs['jsx-a11y-recommended'],
{
ignores: [
'dist/*',
'.output/*',
'.astro/*',
'site/*',
'templates/*',
'**/node_modules/*',
'**/env.d.ts',
],
},
{
files: ['**/*.astro'],
languageOptions: {
parser: astroParser,
parserOptions: {
parser: tseslint.parser,
},
},
},
]

View file

@ -1,3 +1,3 @@
import GithubStats from './src/GithubStats.astro'
export default GithubStats
export * from './src/GithubStats.astro'
import GithubStats from './src/GithubStats.astro';
export default GithubStats;
export * from './src/GithubStats.astro';

13835
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
"description": "Embed GitHub stats in your Astro page ✨",
"repository": "https://github.com/ayoayco/astro-github-stats",
"homepage": "https://ayco.io/showcase/astro-github-stats",
"version": "0.8.0",
"version": "0.6.0",
"author": {
"name": "Ayo Ayco",
"email": "ayo@ayco.io",
@ -25,33 +25,26 @@
"scripts": {
"start": "npm run dev -w demo",
"dev": "npm run dev -w demo",
"format": "prettier . --write",
"lint": "eslint . --config eslint.config.mjs",
"format": "prettier -w .",
"lint": "eslint . --ext .ts,.js",
"build": "tsc",
"demo": "npm run dev -w demo",
"prepare": "husky"
"demo": "npm run dev -w demo"
},
"devDependencies": {
"@eslint/js": "^9.17.0",
"@types/eslint": "^9.6.1",
"@types/node": "^22.10.2",
"@typescript-eslint/eslint-plugin": "^8.18.2",
"@typescript-eslint/parser": "^8.18.2",
"astro-eslint-parser": "^1.1.0",
"eslint": "^9.17.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-astro": "^1.3.1",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^5.2.1",
"globals": "^15.14.0",
"husky": "^9.1.7",
"prettier": "^3.4.2",
"prettier-plugin-astro": "^0.14.1",
"typescript": "^5.7.2",
"typescript-eslint": "^8.18.2"
"@types/eslint": "^8.4.6",
"@types/node": "^18.7.18",
"@types/prettier": "^2.7.0",
"@typescript-eslint/eslint-plugin": "^5.37.0",
"@typescript-eslint/parser": "^5.37.0",
"eslint": "^8.23.1",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.7.1",
"prettier-plugin-astro": "^0.5.4",
"typescript": "^4.8.3"
},
"peerDependencies": {
"astro": ">=5.0.0"
"astro": "^3.1.4"
},
"license": "ISC",
"workspaces": [

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
/**
* @see https://prettier.io/docs/en/configuration.html
* @type {import("prettier").Config}
*/
const config = {
trailingComma: 'es5',
tabWidth: 2,
semi: false,
singleQuote: true,
plugins: ['prettier-plugin-astro'],
overrides: [
{
files: '*.astro',
options: {
parser: 'astro',
},
},
],
}
export default config

View file

@ -1,29 +1,28 @@
---
import {Image} from 'astro:assets'
export interface Props {
username: string
topLanguages?: boolean
repo?: string
showIcons?: boolean
altText?: string
username: string;
topLanguages?: boolean;
repo?: string;
showIcons?: boolean;
altText?: string;
}
const { username, repo, topLanguages, showIcons, altText } = Astro.props
const baseUrl = 'https://github-readme-stats.vercel.app/api/'
let url = `${baseUrl}?username=${username}&show_icons=${!!showIcons}`
const { username, repo, topLanguages, showIcons, altText } = Astro.props;
const baseUrl = 'https://github-readme-stats.vercel.app/api/';
let url = `${baseUrl}?username=${username}&show_icons=${!!showIcons}`;
let alt = `GitHub stats for account: ${username}`
let alt = `GitHub stats for account: ${username}`;
if (repo) {
url = `${baseUrl}/pin/?username=${username}&repo=${repo}`
alt = `GitHub stats for repository: ${username}/${repo}`
url = `${baseUrl}/pin/?username=${username}&repo=${repo}`;
alt = `GitHub stats for repository: ${username}/${repo}`;
}
if (topLanguages) {
url = `${baseUrl}top-langs?username=${username}`
alt = `GitHub top languages for account: ${username}`
url = `${baseUrl}top-langs?username=${username}`;
alt = `GitHub top languages for account: ${username}`;
}
alt = altText || alt
alt = altText || alt;
---
<Image inferSize={true} src={url} alt={alt} />
<img src={url} alt={alt} />