diff --git a/.dockerignore b/.dockerignore index 49df68b..913f304 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,6 @@ .cursor +.claude +.kiro .github .next .open-next @@ -10,4 +12,4 @@ node_modules **/node_modules Dockerfile -LICENSE \ No newline at end of file +LICENSE diff --git a/README.md b/README.md index a56b1c4..7fb8f22 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ If you found anything that could be improved, please let me know. - 📚 documentation: [mksaas.com/docs](https://mksaas.com/docs) - 🗓️ roadmap: [mksaas roadmap](https://mksaas.link/roadmap) - 👨‍💻 discord: [mksaas.link/discord](https://mksaas.link/discord) -- 📹 video (WIP): [mksaas.link/youtube](https://mksaas.link/youtube) +- 📹 video: [mksaas.link/youtube](https://mksaas.link/youtube) ## Repositories diff --git a/biome.json b/biome.json index fa3eef5..bcb08bb 100644 --- a/biome.json +++ b/biome.json @@ -12,6 +12,8 @@ ".open-next/**", ".wrangler/**", ".cursor/**", + ".claude/**", + ".kiro/**", ".vscode/**", ".source/**", "node_modules/**", @@ -27,8 +29,7 @@ "src/app/[[]locale]/preview/**", "src/payment/types.ts", "src/credits/types.ts", - "src/types/index.d.ts", - "public/sw.js" + "src/types/index.d.ts" ] }, "formatter": { @@ -75,6 +76,8 @@ ".open-next/**", ".wrangler/**", ".cursor/**", + ".claude/**", + ".kiro/**", ".vscode/**", ".source/**", "node_modules/**", @@ -90,8 +93,7 @@ "src/app/[[]locale]/preview/**", "src/payment/types.ts", "src/credits/types.ts", - "src/types/index.d.ts", - "public/sw.js" + "src/types/index.d.ts" ] }, "javascript": { diff --git a/src/types/object-values.ts b/src/types/object-values.ts deleted file mode 100644 index ef78ef9..0000000 --- a/src/types/object-values.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * ObjectValues is a utility type that extracts a union type of all value types in an object - * - * For example, in the AppInfo use case: - * const AppInfo = { - * APP_NAME: string, - * APP_DESCRIPTION: string, - * PRODUCTION: boolean, - * VERSION: string - * } as const - * - * type AppInfo = ObjectValues - * equals to: type AppInfo = string | boolean - * - * How it works: - * 1. keyof T gets the union of all keys in object T - * 2. T[keyof T] uses indexed access to get all value types - * - * Benefits: - * - Automatically extracts all possible value types from an object - * - Makes type definitions more precise and automated - * - Reduces manual type maintenance work - */ -export type ObjectValues = T[keyof T];