chore: Updated projects
052f20f3
8 file(s) · +13 −177
| 1 | - | root = true |
|
| 2 | - | ||
| 3 | - | [*] |
|
| 4 | - | end_of_line = lf |
|
| 5 | - | indent_style = space |
|
| 6 | - | indent_size = 2 |
|
| 7 | - | charset = utf-8 |
|
| 8 | - | trim_trailing_whitespace = true |
|
| 9 | - | insert_final_newline = true |
| 1 | - | dist |
|
| 2 | - | node_modules |
|
| 3 | - | .github |
|
| 4 | - | .changeset |
| 1 | - | /** @type {import("@types/eslint").Linter.Config} */ |
|
| 2 | - | module.exports = { |
|
| 3 | - | ignorePatterns: ["node_modules", "dist"], |
|
| 4 | - | root: true, |
|
| 5 | - | env: { |
|
| 6 | - | node: true, |
|
| 7 | - | }, |
|
| 8 | - | parser: "@typescript-eslint/parser", |
|
| 9 | - | plugins: ["@typescript-eslint", "prettier"], |
|
| 10 | - | extends: [ |
|
| 11 | - | "eslint:recommended", |
|
| 12 | - | "plugin:@typescript-eslint/recommended", |
|
| 13 | - | "plugin:prettier/recommended", |
|
| 14 | - | "plugin:astro/recommended", |
|
| 15 | - | "plugin:astro/jsx-a11y-recommended", |
|
| 16 | - | ], |
|
| 17 | - | overrides: [ |
|
| 18 | - | { |
|
| 19 | - | files: ["*.astro"], |
|
| 20 | - | parser: "astro-eslint-parser", |
|
| 21 | - | parserOptions: { |
|
| 22 | - | parser: "@typescript-eslint/parser", |
|
| 23 | - | extraFileExtensions: [".astro"], |
|
| 24 | - | }, |
|
| 25 | - | rules: { |
|
| 26 | - | "prettier/prettier": "off", |
|
| 27 | - | "import/no-named-as-default-member": "off", |
|
| 28 | - | "import/no-named-as-default": "off", |
|
| 29 | - | "@typescript-eslint/consistent-type-imports": "error", |
|
| 30 | - | "@typescript-eslint/no-unused-vars": "off", |
|
| 31 | - | }, |
|
| 32 | - | }, |
|
| 33 | - | { |
|
| 34 | - | files: ["**/*.mjs"], |
|
| 35 | - | parserOptions: { |
|
| 36 | - | sourceType: "module", |
|
| 37 | - | ecmaVersion: 2015, |
|
| 38 | - | }, |
|
| 39 | - | rules: { |
|
| 40 | - | "import/no-extraneous-dependencies": "off", |
|
| 41 | - | "import/no-unresolved": "off", |
|
| 42 | - | }, |
|
| 43 | - | }, |
|
| 44 | - | { |
|
| 45 | - | files: ["**/*.ts"], |
|
| 46 | - | parser: "@typescript-eslint/parser", |
|
| 47 | - | extends: ["plugin:@typescript-eslint/recommended"], |
|
| 48 | - | rules: { |
|
| 49 | - | "@typescript-eslint/no-unused-vars": [ |
|
| 50 | - | "error", |
|
| 51 | - | { argsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" }, |
|
| 52 | - | ], |
|
| 53 | - | "@typescript-eslint/no-non-null-assertion": "off", |
|
| 54 | - | }, |
|
| 55 | - | }, |
|
| 56 | - | ], |
|
| 57 | - | rules: { |
|
| 58 | - | "@typescript-eslint/no-var-requires": "warn", |
|
| 59 | - | }, |
|
| 60 | - | }; |
| 1 | - | *.min.js |
|
| 2 | - | **/node_modules/** |
|
| 3 | - | flow-typed |
|
| 4 | - | ||
| 5 | - | # webfont demo styles |
|
| 6 | - | **/specimen_files |
|
| 7 | - | ||
| 8 | - | # built sites |
|
| 9 | - | benchmarks/**/public |
|
| 10 | - | e2e-tests/**/public |
|
| 11 | - | examples/**/public |
|
| 12 | - | integration-tests/**/public |
|
| 13 | - | www/public |
|
| 14 | - | ||
| 15 | - | # cache-dirs |
|
| 16 | - | **/.cache |
|
| 17 | - | ||
| 18 | - | # ignore built packages |
|
| 19 | - | packages/**/*.js |
|
| 20 | - | !packages/*/src/**/*.js |
|
| 21 | - | ||
| 22 | - | # fixtures |
|
| 23 | - | **/__testfixtures__/** |
|
| 24 | - | **/__tests__/fixtures/** |
|
| 25 | - | ||
| 26 | - | infrastructure |
|
| 27 | - | ||
| 28 | - | # coverage |
|
| 29 | - | coverage |
|
| 30 | - | ||
| 31 | - | pnpm-lock.yaml |
|
| 32 | - | dist |
| 1 | - | /** @type {import("@types/prettier").Options} */ |
|
| 2 | - | module.exports = { |
|
| 3 | - | printWidth: 100, |
|
| 4 | - | semi: true, |
|
| 5 | - | singleQuote: false, |
|
| 6 | - | tabWidth: 2, |
|
| 7 | - | useTabs: true, |
|
| 8 | - | plugins: [ |
|
| 9 | - | require("prettier-plugin-astro"), |
|
| 10 | - | require("prettier-plugin-tailwindcss") /* Must come last */, |
|
| 11 | - | ], |
|
| 12 | - | pluginSearchDirs: false, |
|
| 13 | - | overrides: [ |
|
| 14 | - | { |
|
| 15 | - | files: "**/*astro", |
|
| 16 | - | options: { |
|
| 17 | - | parser: "astro", |
|
| 18 | - | }, |
|
| 19 | - | }, |
|
| 20 | - | ], |
|
| 21 | - | }; |
| 1 | - | module.exports = { |
|
| 2 | - | extends: ["stylelint-config-standard", "stylelint-config-prettier"], |
|
| 3 | - | overrides: [ |
|
| 4 | - | { |
|
| 5 | - | files: ["*.astro", "**/*.astro"], |
|
| 6 | - | customSyntax: "postcss-html", |
|
| 7 | - | }, |
|
| 8 | - | ], |
|
| 9 | - | rules: { |
|
| 10 | - | "at-rule-no-unknown": [ |
|
| 11 | - | true, |
|
| 12 | - | { |
|
| 13 | - | ignoreAtRules: ["tailwind", "apply", "variants", "responsive", "screen"], |
|
| 14 | - | }, |
|
| 15 | - | ], |
|
| 16 | - | "function-no-unknown": [true, { ignoreFunctions: ["theme"] }], |
|
| 17 | - | "declaration-block-trailing-semicolon": null, |
|
| 18 | - | "declaration-empty-line-before": "never", |
|
| 19 | - | "no-descending-specificity": null, |
|
| 20 | - | "custom-property-empty-line-before": "never", |
|
| 21 | - | "hue-degree-notation": "number", |
|
| 22 | - | "alpha-value-notation": "number", |
|
| 23 | - | "selector-pseudo-class-no-unknown": [ |
|
| 24 | - | true, |
|
| 25 | - | { |
|
| 26 | - | ignorePseudoClasses: ["global"], |
|
| 27 | - | }, |
|
| 28 | - | ], |
|
| 29 | - | }, |
|
| 30 | - | }; |
| 22 | 22 | tags: ["blockchain", "ipfs", "developer tools"] |
|
| 23 | 23 | }, |
|
| 24 | 24 | { |
|
| 25 | - | title: "HelloBase", |
|
| 26 | - | description: |
|
| 27 | - | "Blockchain is complicated, and learning everything there is to know just to start using it can be overwhelming. That's why I build HelloBase, a simple hello world for developers who are interesting in building on blockchain for the first time. It features basic knowledge as well as deploying and interacting with smart contracts on Base using Coinbase Smart Wallets.", |
|
| 28 | - | image: "https://www.hellobase.dev/og.png", |
|
| 29 | - | link: "https://hellobase.dev", |
|
| 30 | - | tags: ["blockchain", "developer tools"], |
|
| 25 | + | title: "GitCast", |
|
| 26 | + | description: "A Farcaster Mini App that merges the GitHub event feed into the Farcaster social graph. Warpcast created an API that exposed the GitHub verifications made by all users and I thought it would be fun to see a feed GitHub events for all the people I follow that have the verification. Only problem was the number was in the 40K+ range which was too many to filter through. To solve this I built a fairly complex backend that indexes for each user that wants to see their feed and stores the users who have the verifications as well as their events. This was a great exercise in optimizing data pipelines and uses a mix of Cloudflare workers, KVs, D1 database, and queues.", |
|
| 27 | + | image: "https://gitcast.dev/og.png", |
|
| 28 | + | link: "https://gitcast.dev", |
|
| 29 | + | tags: ["farcaster", "social"] |
|
| 31 | 30 | }, |
|
| 32 | 31 | { |
|
| 33 | 32 | title: "Mast", |
|
| 34 | 33 | description: |
|
| 35 | 34 | "A simple TUI used for sending casts on Farcaster written in Go. I wanted a project to try out the Bubbletea TUI framework from Charm.sh and this fit the bill perfectly. It's authorized using your own custody signers (can be created through castkeys.xyz) and allows the user to set their own Farcaster hub.", |
|
| 36 | 35 | image: |
|
| 37 | - | "https://cdn.stevedylan.dev/files/bafkreigqnynyjfax3loj5maiwnvv3qqxotpoajiq4p6r6glmt6pjmowjke", |
|
| 36 | + | "https://cdn.stevedylan.dev/files/bafkreicb5ravot4fg6cvjmasp7l4n3c5x26lpejefx5mx6byubcq4oib4y", |
|
| 38 | 37 | link: "https://github.com/stevedylandev/mast-cli", |
|
| 39 | 38 | tags: ["farcaster", "developer tools"], |
|
| 40 | 39 | }, |
|
| 77 | 76 | "The original Pinata SDK was written for Node.js years ago, and as the developer ecosystem evolved a more flexible SDK was necessary. This project was a full typescript rewrite from scratch that includes a whole new developer experience that intuitive, with far more methods and capabilities than before.", |
|
| 78 | 77 | image: |
|
| 79 | 78 | "https://docs.mypinata.cloud/ipfs/bafkreidv5iptnieh6eijei7enqc4mdhxpte3ries23heqf7s2hu3gdu6ru", |
|
| 80 | - | link: "https://docs.pinata.cloud/ipfs-sdk", |
|
| 79 | + | link: "https://docs.pinata.cloud/pinata", |
|
| 81 | 80 | tags: ["developer tools", "ipfs"], |
|
| 82 | 81 | }, |
|
| 83 | 82 | { |
|
| 102 | 101 | description: |
|
| 103 | 102 | "IPFS can unlock content for decentralized social media, and Photocaster was built to demonstrate just that. Using the Farcaster protocol the app allows users to scroll through a feed of just images from select photo centered channels, sign in with their account, and upload photos via IPFS. What makes it special is the photo’s full resolution is on IPFS, but a resized copy is put on the Farcaster network. This keeps apps light, but allows anyone on Photocaster to see the full resolution image.", |
|
| 104 | 103 | image: "https://www.photocaster.xyz/og.png", |
|
| 105 | - | link: "https://photocaster.xyz", |
|
| 104 | + | link: "https://github.com/PinataCloud/PhotoCaster", |
|
| 106 | 105 | tags: ["farcaster", "ipfs"], |
|
| 107 | 106 | }, |
|
| 108 | 107 | { |
|
| 115 | 114 | tags: ["blockchain", "ai", "ipfs"], |
|
| 116 | 115 | }, |
|
| 117 | 116 | { |
|
| 118 | - | title: "Pinata-go-cli", |
|
| 117 | + | title: "Pinata IPFS CLI", |
|
| 119 | 118 | description: |
|
| 120 | 119 | "A Go rewrite of the Node.js CLI for Pinata, allows fast and extensive uploads to Pinata. Also includes helpful features for listing files and other API functionalities. ", |
|
| 121 | 120 | image: |
|
| 122 | - | "https://dweb.mypinata.cloud/ipfs/QmasHAZJ2kb9k3AqkQP4yzYbZn8zxFGsrygNv6HBdMn1uE", |
|
| 123 | - | link: "https://github.com/PinataCloud/pinata-go-cli", |
|
| 121 | + | "https://dweb.mypinata.cloud/ipfs/QmNcdx9t48z7RQUXUZZHmuc4zBfyBxKLjDfEgmfhiop7j7?img-format=webp", |
|
| 122 | + | link: "https://github.com/PinataCloud/ipfs-cli", |
|
| 124 | 123 | tags: ["developer tools", "ipfs"], |
|
| 125 | - | }, |
|
| 126 | - | { |
|
| 127 | - | title: "Diet-cast", |
|
| 128 | - | description: |
|
| 129 | - | "A minimal channel specific lite client for Farcaster. Change a few lines in the config file and have a fully functional client with the ability to view the channel feed and cast to it. ", |
|
| 130 | - | image: "https://www.dietcast.xyz/og.png", |
|
| 131 | - | link: "https://www.dietcast.xyz", |
|
| 132 | - | tags: ["farcaster", "ipfs"], |
|
| 133 | 124 | }, |
|
| 134 | 125 | ]; |
|
| 1 | 1 | { |
|
| 2 | 2 | "extends": "astro/tsconfigs/base", |
|
| 3 | 3 | "compilerOptions": { |
|
| 4 | + | "strict": true, |
|
| 4 | 5 | "baseUrl": ".", |
|
| 5 | 6 | "paths": { |
|
| 6 | 7 | "@/components/*": [ |
|
| 36 | 37 | ".vscode", |
|
| 37 | 38 | "dist" |
|
| 38 | 39 | ] |
|
| 39 | - | } |
|
| 40 | + | } |
|