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 node_modules
npm-debug.log* 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.formatOnSave": true,
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.fixAll": "explicit" "source.fixAll": true
}, },
"prettier.documentSelectors": ["**/*.astro"], "cSpell.words": ["Astro"],
"prettier.configPath": "", "prettier.documentSelectors": ["**/*.astro"]
"prettier.ignorePath": "",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
} }

View file

@ -1,6 +1,3 @@
> [!Note]
> Project moved to [SourceHut](https://git.sr.ht/~ayoayco/astro-github-stats)
# Astro GitHub Stats ✨ # Astro GitHub Stats ✨
[![npm](https://img.shields.io/npm/v/astro-github-stats)](https://www.npmjs.com/package/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 // https://astro.build/config
export default defineConfig({ export default defineConfig({});
image: {
// domains: ['github-readme-stats.vercel.app'],
},
})

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

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

View file

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

View file

@ -1,3 +1,3 @@
{ {
"extends": "astro/tsconfigs/strictest" "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' import GithubStats from './src/GithubStats.astro';
export default GithubStats export default GithubStats;
export * from './src/GithubStats.astro' 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 ✨", "description": "Embed GitHub stats in your Astro page ✨",
"repository": "https://github.com/ayoayco/astro-github-stats", "repository": "https://github.com/ayoayco/astro-github-stats",
"homepage": "https://ayco.io/showcase/astro-github-stats", "homepage": "https://ayco.io/showcase/astro-github-stats",
"version": "0.8.0", "version": "0.6.0",
"author": { "author": {
"name": "Ayo Ayco", "name": "Ayo Ayco",
"email": "ayo@ayco.io", "email": "ayo@ayco.io",
@ -25,33 +25,26 @@
"scripts": { "scripts": {
"start": "npm run dev -w demo", "start": "npm run dev -w demo",
"dev": "npm run dev -w demo", "dev": "npm run dev -w demo",
"format": "prettier . --write", "format": "prettier -w .",
"lint": "eslint . --config eslint.config.mjs", "lint": "eslint . --ext .ts,.js",
"build": "tsc", "build": "tsc",
"demo": "npm run dev -w demo", "demo": "npm run dev -w demo"
"prepare": "husky"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.17.0", "@types/eslint": "^8.4.6",
"@types/eslint": "^9.6.1", "@types/node": "^18.7.18",
"@types/node": "^22.10.2", "@types/prettier": "^2.7.0",
"@typescript-eslint/eslint-plugin": "^8.18.2", "@typescript-eslint/eslint-plugin": "^5.37.0",
"@typescript-eslint/parser": "^8.18.2", "@typescript-eslint/parser": "^5.37.0",
"astro-eslint-parser": "^1.1.0", "eslint": "^8.23.1",
"eslint": "^9.17.0", "eslint-config-prettier": "^8.5.0",
"eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-astro": "^1.3.1", "prettier": "^2.7.1",
"eslint-plugin-jsx-a11y": "^6.10.2", "prettier-plugin-astro": "^0.5.4",
"eslint-plugin-prettier": "^5.2.1", "typescript": "^4.8.3"
"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"
}, },
"peerDependencies": { "peerDependencies": {
"astro": ">=5.0.0" "astro": "^3.1.4"
}, },
"license": "ISC", "license": "ISC",
"workspaces": [ "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 { export interface Props {
username: string username: string;
topLanguages?: boolean topLanguages?: boolean;
repo?: string repo?: string;
showIcons?: boolean showIcons?: boolean;
altText?: string altText?: string;
} }
const { username, repo, topLanguages, showIcons, altText } = Astro.props const { username, repo, topLanguages, showIcons, altText } = Astro.props;
const baseUrl = 'https://github-readme-stats.vercel.app/api/' const baseUrl = 'https://github-readme-stats.vercel.app/api/';
let url = `${baseUrl}?username=${username}&show_icons=${!!showIcons}` let url = `${baseUrl}?username=${username}&show_icons=${!!showIcons}`;
let alt = `GitHub stats for account: ${username}` let alt = `GitHub stats for account: ${username}`;
if (repo) { if (repo) {
url = `${baseUrl}/pin/?username=${username}&repo=${repo}` url = `${baseUrl}/pin/?username=${username}&repo=${repo}`;
alt = `GitHub stats for repository: ${username}/${repo}` alt = `GitHub stats for repository: ${username}/${repo}`;
} }
if (topLanguages) { if (topLanguages) {
url = `${baseUrl}top-langs?username=${username}` url = `${baseUrl}top-langs?username=${username}`;
alt = `GitHub top languages for account: ${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} />