Compare commits
No commits in common. "main" and "v0.6.0" have entirely different histories.
20 changed files with 13918 additions and 5913 deletions
11
.build.yml
11
.build.yml
|
@ -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
1
.eslintignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
test/**/*.js
|
17
.eslintrc.cjs
Normal file
17
.eslintrc.cjs
Normal 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
1
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
||||||
.astro
|
|
||||||
node_modules
|
node_modules
|
||||||
|
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
npm run lint
|
|
|
@ -1,7 +0,0 @@
|
||||||
# someday let's think about formatting html
|
|
||||||
**/*.html
|
|
||||||
|
|
||||||
**/*.md
|
|
||||||
**/*.css
|
|
||||||
**/*.yml
|
|
||||||
**/*.yaml
|
|
24
.prettierrc.cjs
Normal file
24
.prettierrc.cjs
Normal 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
13
.vscode/settings.json
vendored
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
> [!Note]
|
|
||||||
> Project moved to [SourceHut](https://git.sr.ht/~ayoayco/astro-github-stats)
|
|
||||||
|
|
||||||
# Astro GitHub Stats ✨
|
# Astro GitHub Stats ✨
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/astro-github-stats)
|
[](https://www.npmjs.com/package/astro-github-stats)
|
||||||
|
|
|
@ -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
1
demo/src/env.d.ts
vendored
|
@ -1,2 +1 @@
|
||||||
/// <reference path="../.astro/types.d.ts" />
|
|
||||||
/// <reference types="astro/client" />
|
/// <reference types="astro/client" />
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
import GithubStats from '../../../'
|
import GithubStats from '../../../';
|
||||||
---
|
---
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"extends": "astro/tsconfigs/strictest"
|
"extends": "astro/tsconfigs/strictest"
|
||||||
}
|
}
|
|
@ -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,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]
|
|
6
index.ts
6
index.ts
|
@ -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
13835
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
39
package.json
39
package.json
|
@ -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": [
|
||||||
|
|
5767
pnpm-lock.yaml
5767
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
@ -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
|
|
|
@ -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} />
|
||||||
|
|
Loading…
Reference in a new issue